Presentation is loading. Please wait.

Presentation is loading. Please wait.

硬件综合实验 (第一讲) 厦门大学软件学院 曾文华 2006年6月12日.

Similar presentations


Presentation on theme: "硬件综合实验 (第一讲) 厦门大学软件学院 曾文华 2006年6月12日."— Presentation transcript:

1 硬件综合实验 (第一讲) 厦门大学软件学院 曾文华 2006年6月12日

2 第一部分 TDN86/88十六位微机教学实验系统介绍

3 TDN86/88系统概述 西安唐都科教仪器公司制造 TDN86/88十六位微机教学实验系统+PC微机(图1-1)
实验系统=8088系统单元+接口实验单元 实验系统硬件构成(表1-1、图1-2) 集成操作软件 PC示波器功能

4

5

6 TDN86/88系统概述(续) 两种实验方式:单元电路跨接方式、实验元件零连线方式 系统扩展功能:表1-2 系统实验项目
(1)、8259A中断控制器实验 (2)、8255并行接口实验 (3)、8253定时/计数器实验 (4)、8237DMA传送实验 (5)、8251串行通讯接口实验 (6)、串行通讯应用实验 (7)、A/D转换实验 (8)、D/A转换实验 (9)、存储器扩展实验 (10)、键盘与显示器实验 (11)、步进电机控制实验 (12)、计算机控制综合应用实验

7 27512 62256

8 TDN86/88系统的主要配置 表2-1

9 系统扩展选件 表2-2

10 扩展实验系统的安装 图2-3

11 系统总线 表3-1 XD0-XD7:数据总线 XA0-XA19:地址总线 OPCLK:时钟信号线(1.193MHz)
ALE:地址锁存信号线 IOY7:I/O接口待扩展信号线(片选信号) IOY0:I/O接口待扩展信号线(片选信号) XIOW:I/O写信号线 XIOR:I/O读信号线 XMER:存储器读信号线 XMEW:存储器写信号线 HOLD:总线请求信号线(DMA用) HLDA:总线请求应答信号线(DMA用) RESET:复位信号线 MY4-MY7:存储器待扩展信号线(片选信号)

12

13 集成操作软件 运行/计算机硬件基础实验/目录下的MD86.EXE文件 图4-1:集成操作软件引导界面 图4-2:集成软件操作界面

14

15

16 MD86.EXE的常用命令 F5(Load):从PC机(当前目录)中装入可执行文件,如A9-1.EXE CS:IP=0000H:2000H
U2000 U G=2000

17 DEBUG调试命令 A:进入小汇编 从CS:IP=0000H:2000H开始(表4-4) B:断点设置 可以设置10个断点(表4-5)
M:数据块搬移 R:寄存器或片内RAM区显示与修改 T:单步运行指定的程序 U:反汇编

18

19 第二部分 TDN86/88十六位微机实验内容

20 实验一 系统认识实验

21 实验目的 掌握TDN86/88教学实验系统的基本操作

22 实验设备 TDN86/88十六位微机教学实验系统 PC微机

23 实验内容 1、系统认识实验 从3500H内存单元开始建立0~15共16个数据 程序:A1-1.ASM
编辑、汇编、连接 -> A1-1.EXE 将A1-1.EXE装入TDN86/88实验系统的内存 F5命令(CS:IP=0000H:2000H) 运行程序: (1)、单步:T=0000:2000 (2)、连续:G=0000:2000 (3)、断点:设置断点(B命令)、断点方式的连续运行(GB) 检查结果:D=0000:3500

24 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV DI,3500H ; 从3500H开始 MOV CX,0010H ; 16个数据 MOV AX,0000H SAHF ; 00H -> AH A1: MOV [DI],AL INC DI INC AX DAA LOOP A1 A2: JMP A2 CODE ENDS END START

25

26

27 实验内容(续) 2、系统操作练习 将内存3500H单元开始的0~15共16个数据传递到3600H单元开始的数据区中 程序:A1-2.ASM
编辑、汇编、连接 -> A1-2.EXE 将A1-2.EXE装入TDN86/88实验系统的内存 F5(CS:IP=0000H:2000H) 送数据( 0~15 )到3500H开始的单元(E命令) 运行程序: 单步:T=0000:2000 连续:G=0000:2000 断点:设置断点(B命令)、断点方式的连续运行(GB) 检查结果:D=0000:3600

28 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV SI,3500H MOV DI,3600H MOV CX,0008H ;每次传送2个字节数据 A1: MOV AX,[SI] MOV [DI],AX INC SI INC DI DEC CX JNZ A1 A2: JMP A2 CODE ENDS END START

29

30

31 实验二~实验八(略)

32 实验九 中断特性及8259应用编程实验

33 实验目的 掌握TDN86/88教学实验系统的中断特性 掌握8259中断控制器的工作原理 掌握8259中断控制器的应用编程
掌握8259级联方式的使用方法 学习在接口实验单元上构造连接实验电路的方法

34 实验设备 TDN86/88十六位微机教学实验系统 PC微机

35 实验内容 1、实验系统中的8259A芯片 图9-4 实验系统初始化后,0号(IR0)、4号(IR4)中断源分别提供给实时时钟、与PC联机的串口通讯(中断矢量见下表)

36 主片,在实验箱左边

37 实时 时钟

38 实验内容(续) 2、接口实验单元中的级联实验用8259A芯片 图9-5 3、接口实验单元中的R-S触发器 图9-6

39 从片,在实验箱中间

40 微动开关 负脉冲输出 正脉冲输出

41 实验内容(续) 4、8259A实验之一:单片方式、单个中断源 图9-7
程序:A9-1.ASM(功能:每次响应外部中断----按下单脉冲按钮----,显示“7”,10次后程序停止) 编辑、汇编、连接 -> A9-1.EXE 将A9-1.EXE装入TDN86/88实验系统的内存 F5(CS:IP=0000H:2000H) INT10H中断调用 (1)、AH=00、AL=01:清屏 (2)、AH=01、AL=数据的ASCII:写一个数据到显示器上 相当于2号功能 (3)、AH=06、DS:BX=字符串首地址(字符串尾用00H填充):显示一字符串 相当于9号功能

42 微动开关2的正脉冲输出

43

44

45 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE START: PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,003CH MOV [SI],AX MOV SI,003EH CLI POP DS 送中断向量(0000H:IRQ7+2000H)到中断向量表中

46 IN AL,21H AND AL,7FH ; =7FH ,IR7 OUT H,AL ; 中断允许 MOV CX,000AH   ;10次结束    A1: CMP CX,0000H JNZ A2 IN AL,21H OR AL,80H ; =80H ,IR7 OUT H,AL ; 中断屏蔽 STI HLT A2: STI JMP A1

47 IRQ7: MOV AX,0137H ;中断服务子程序 INT H ;显示’7 ’ MOV AX,0120H INT H     ;显示空格    DEC CX MOV AL,20H OUT H,AL CLI IRET CODE ENDS END START

48 实验内容(续) 5、8259A实验之二:单片方式、两个中断源 图9-8
程序:A9-2.ASM(功能:主程序显示“MAIN”,按下单脉冲按钮KK1+和KK2+分别显示“6”和“7”,并且KK1+(IR6)可以终止KK2+(IR7),即高级别的中断请求可以终止低级别的中断请求) 13H= > ICW1(书上P214) 08H > ICW2 (IR0的中断号为8号) 09H > ICW4 (书上P217) 3DH= > OCW1 (奇地址21H) 3FH 编辑、汇编、连接 -> A9-1.EXE 将A9-1.EXE装入TDN86/88实验系统的内存 F5(CS:IP=0000H:2000H)

49

50

51 STACK SEGMENT STACK DW DUP(?) STACK ENDS DATA SEGMENT TABLE DB DH,41H,49H,4EH,20H,00H ;‘MAIN ’ DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX PUSH DS MOV AX,0000H MOV AX,OFFSET IRQ6 ADD AX,2000H MOV SI,0038H MOV [SI],AX MOV SI,003AH 送中断向量(0000H:IRQ6+2000H)到中断向量表中

52 MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,003CH MOV [SI],AX MOV AX,0000H
MOV SI,003EH POP DS 送中断向量(0000H:IRQ7+2000H)到中断向量表中

53 MOV AL,13H ; 13H=00010011 -> ICW1(书上P214) OUT 20H,AL
MOV AL,08H ; ICW2 (IR0的中断号为8号) OUT H,AL MOV AL,09H ;ICW4 (书上P217) MOV AL,3DH ;3DH= OCW1 (奇地址21H) STI A1: MOV CX,0007H ;7次结束 MOV AX,010DH INT H A2: MOV AH,06H MOV BX,OFFSET TABLE CALL DALLY LOOP A2 JMP A1 显示换行 显示’MAIN ‘

54 IRQ6: STI ;中断服务子程序 CALL DALLY MOV AX,0136H INT H ;显示’6 ’ MOV AL,20H OUT H,AL IRET IRQ7: STI ;中断服务子程序 MOV AX,0137H INT H ;显示’7 ’

55 DALLY: PUSH CX ;延时程序 PUSH AX MOV CX,0040H A3: MOV AX,056CH A4: DEC AX JNE A4 LOOP A3 POP AX POP CX RET CODE ENDS END START

56 改进的程序A9-2M.ASM STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS
DATA SEGMENT TABLE DB 4DH,41H,49H,4EH,20H,00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX PUSH DS MOV AX,0000H MOV AX,OFFSET IRQ6 ADD AX,2000H MOV SI,0038H MOV [SI],AX MOV SI,003AH MOV AX,OFFSET IRQ7 MOV SI,003CH MOV SI,003EH POP DS

57 MOV AL,13H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,09H MOV AL,3DH STI A1: MOV CX,0007H MOV AX,010DH INT 10H A2: MOV AH,06H MOV BX,OFFSET TABLE CALL DALLY LOOP A2 JMP A1

58 IRQ6: STI MOV AX,0136H INT 10H MOV AX,0142H MOV AX,0120H CALL DALLY MOV AX,0145H MOV AL,20H OUT 20H,AL IRET 显示’6B ‘ 显示’6E ‘

59 IRQ7: STI MOV AX,0137H INT 10H MOV AX,0142H MOV AX,0120H CALL DALLY MOV AX,0145H MOV AL,20H OUT 20H,AL IRET 显示’7B ‘ 显示’7E ‘

60 DALLY: PUSH CX PUSH AX MOV CX,0040H A3: MOV AX,056CH A4: DEC AX JNE A4 LOOP A3 POP AX POP CX RET CODE ENDS END START

61 实验内容(续) 6、8259A实验之三:级联方式 图9-9
程序:A9-3.ASM(功能:每次响应外部中断----按下单脉冲按钮----,显示“7”,10次后程序停止) 11H= > ICW1(主片级联方式) 08H > ICW2 (主片IR0的中断号为8号) 80H= > ICW3 (主片) 1DH= > ICW4 (主片) 7DH= > OCW1(奇地址21H) FH 11H= > ICW1(从片级联方式) 30H > ICW2 (从片IR0的中断号为30H号) 07H= > ICW3 (从片的INT接到主片的IR7) 09H= > ICW4 (从片) 7FH= > OCW1 (奇地址01H) 00DCH、 00DDH、 00DEH、 00DFH:从片IR7的中断向量指针(中断矢量地址) DCH=37H*4 编辑、汇编、连接 -> A9-1.EXE 将A9-1.EXE装入TDN86/88实验系统的内存 F5(CS:IP=0000H:2000H)

62

63 主片 从片

64 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: CLI MOV AL,11H ;主片ICW1 OUT H,AL MOV AL,08H ;主片ICW2 OUT H,AL MOV AL,80H ;主片ICW3=80H= MOV AL,1DH ;主片ICW4 MOV AL,7DH ;主片OCW1=7DH=

65 MOV AL,11H ;从片ICW1 OUT H,AL MOV AL,30H ;从片ICW2 OUT H,AL MOV AL,07H ;从片ICW3=07H= MOV AL,09H ;从片ICW4 MOV AL,7FH ;从片OCW1=7FH= PUSH DS

66 MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,00DCH
MOV [SI],AX MOV SI,00DEH POP DS A1: STI HLT JMP A1 送中断向量(0000H:IRQ7+2000H)到中断向量表中

67 IRQ7: MOV AX,0137H ;中断服务子程序 INT H ;显示’7 ’ MOV AX,0120H INT H ;显示空格 MOV AL,20H OUT H,AL ;从片的偶地址 OUT H,AL IRET CODE ENDS END START

68 将主片OCW1改为7FH=01111111 A9-3M.ASM MOV AL,11H OUT 20H,AL MOV AL,08H
MOV AL,1DH MOV AL,7FH 主片初始化 主片OCW1=7FH=

69 实验十 并行接口应用实验

70 实验目的 掌握8255的各种工作方式及其应用 学习在TDN86/88系统接口实验单元上构造实验电路

71 实验设备 TDN86/88十六位微机教学实验系统 PC微机

72 实验内容 1、实验系统中的8255芯片 图10-3 A口:60H B口:61H C口:62H 控制口:63H

73

74 实验内容(续) 2、接口实验单元中的开关和发光二极管电路 图10-4

75 实验内容(续) 3、8255实验之一:A口方式0输出(发光二极管);B口方式0输入(开关) 图10-5 程序:A10-1.ASM
82H= > 控制口 从B口读开关状态 IN AL,61H 向A口送读入的开关状态 OUT 60H,AL

76

77

78 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: MOV AL,82H OUT H,AL A1: IN AL,61H OUT H,AL JMP A1 CODE ENDS END START

79 实验内容(续) 4、8255实验之二:A口方式0输出(发光二极管);B口方式1输入(开关),PC2=STBB,PC0=IRQ7,PC2=INTEB 图10-6 程序:A10-2.ASM 86H= > 控制口 05H= > 控制口 PC2=1 中断服务程序: 1、从B口读开关状态 IN AL,61H 2、向A口送读入的开关状态 OUT 60H,AL

80

81

82 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: CLI MOV AL,86H OUT H,AL MOV AL,05H PC2=1 PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,003CH MOV [SI],AX MOV SI,003EH POP DS 送中断向量(0000H:IRQ7+2000H)到中断向量表中

83 IN AL,21H AND AL,7FH ;7FH= ,IRQ7 OUT H,AL A1: STI HLT JMP A1 IRQ7: IN AL,61H ;中断服务子程序 OUT H,AL ;从PB输入,然后送到PA MOV AL,20H OUT H,AL IRET CODE ENDS END START

84 实验十一 定时/计数器应用实验

85 实验目的 熟悉8253在TDN86/88系统中的典型接法 掌握8253的工作方式及应用编程

86 实验设备 TDN86/88十六位微机教学实验系统 PC微机

87 实验内容 1、实验系统中的8253芯片 图11-3 T0( 40H ):到8259A的IRQ0,实时时钟中断

88

89 实验内容(续) 2、8253实验之一:T2方式0,用于事件计数,计数值=5,发出中断请求,显示“M” 图11-4 程序:A11-1.ASM

90

91

92 STACK SEGMENT STACK DW DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: IN AL,21H AND AL,7FH ;OCW1= OUT H,AL MOV AL,90H OUT H,AL A1: MOV AL,05H OUT H,AL HLT STI JMP A1

93 MOV AX,014DH ;中断服务子程序 INT H ;显示’M’ MOV AX,0120H INT H ;显示空格 MOV AL,20H OUT H,AL IRET CODE ENDS END START

94 上面的程序没有送中断向量这段程序,因此需要:
在0000:003CH单元填入IR7中断向量,即0000:003CH= (即‘0000:2012’,中断服务子程序的第1条指令位置为0000:2012)

95 增加送中断向量的程序 A11-1M.ASM 送中断向量(0000H:IRQ7+2000H)到中断向量表中
STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE START: PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ7 ADD AX,2000H MOV SI,003CH MOV [SI],AX MOV SI,003EH POP DS 送中断向量(0000H:IRQ7+2000H)到中断向量表中

96 实验内容(续) 3、8253实验之二:T0方式2,产生IRQ0中断,显示“0”-“9” 图11-5 程序:A11-2.ASM

97 已经接好,不需要另外接线

98 STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS CODE SEGMENT
ASSUME CS:CODE START: PUSH DS MOV AX,0000H MOV DS,AX MOV AX,OFFSET IRQ0 ADD AX,2000H MOV SI,0020H MOV [SI],AX MOV SI,0022H POP DS 送中断向量(0000H:IRQ0+2000H)到中断向量表中

99 MOV AL,0FCH ;OCW1= OUT H,AL MOV AL,15H ; ;通道0、方式2、 ;低8位、BCD OUT H,AL MOV AL,0FFH ;改变AL的值将改变显示的间隔时间 OUT H,AL MOV DL,30H ;’0’的ASCII A1: STI JMP A1

100 IRQ0: MOV AH,01H MOV AL,DL CMP AL,3AH JNZ A2 MOV AL,0DH INT 10H
MOV AL,30H A2: INT H INC AX MOV DL,AL MOV AX,0120H CALL DALLY MOV AL,20H OUT H,AL IRET ;中断服务子程序

101 DALLY: PUSH AX MOV CX,0100H A3: MOV AX,0560H A4: DEC AX JNZ A4 LOOP A3
POP AX RET CODE ENDS END START ;延时子程序

102 改变显示间隔时间的程序 A11-2M.ASM MOV AL,15H OUT 43H,AL MOV AL,0FH ;从0FFH改为0FH

103 实验内容(续) 4、8253实验之三:T2方式3,产生方波 图11-6 程序:A11-3.ASM

104

105

106 STACK SEGMENT STACK DW DUP(?) STACK ENDS DATA SEGMENT TABLE DB H, 33H, 3DH, 33H, 26H, 26H, 26H, 26H, 2DH, 2DH, 26H, 2DH, 33H DB H, 33H, 33H, 33H, 33H, 4DH, 45H, 3DH, 3DH, 3DH, 45H, 4DH, 45H DB H, 45H, 45H, 45H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H DB H, 28H, 2DH, 2DH, 26H, 26H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H DB H, 39H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 2DH, 2DH DB H, 26H, 26H, 26H, 26H, 26H, 28H, 28H, 2DH, 28H, 26H, 26H, 26H DB H, 2DH, 28H, 26H, 2DH, 2DH, 33H, 3DH, 4DH, 45H, 45H, 45H, 45H DB H, 45H, 45H, 45H, 33H, 33H, 3DH, 33H, 26H, 26H, 26H, 28H, 2DH DB DH, 26H, 2DH, 33H, 33H, 33H, 33H, 33H, 33H, 45H, 3DH, 39H, 39H DB H, 52H, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 4DH, 00H DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA

107 START: MOV AX,DATA MOV DS,AX MOV BX,OFFSET TABLE MOV AL,[BX] MOV AH,00H A1: MOV DL,25H MUL DL PUSH AX MOV AL,0B7H OUT H,AL POP AX OUT H,AL MOV AL,AH INC BX TEST AL,0FFH JZ A3 MOV CX,77FFH A2: PUSH AX LOOP A2 JMP A1 A3: MOV BX,OFFSET TABLE CODE ENDS END START

108 实验注意事项 1、请遵守实验室管理制度 2、请爱护实验室的设备 3、请接好线后,再打开实验箱电源 4、运行MD86.EXE后,请选择串行口2
5、实验完成后,请关闭实验箱电源,并将接线拔下,收好,放入袋子里 6、在插上实验接线、拔下实验接线时,请注意不要将实验板上的排针弄弯、搞断 7、实验时如有异常情况,请及时与实验指导教师联系

109 实验注意事项(续) 8、实验示例程序名称如下: A1-1.EXE:实验一(一) A1-2.EXE:实验一(二)
A9-2M.EXE:实验九(二)修改后的----显示7B 7E 6B 6E A9-3.EXE:实验九(三) A10-1.EXE:实验十(一) A10-2.EXE:实验十(二) A11-1.EXE:实验十一(一) A11-1M.EXE:实验十一(二)修改后的---- 不需要通过E命令输入中断服务程序首地址 A11-2.EXE:实验十一(二) A11-3.EXE:实验十一(三)

110 实验注意事项(续) A12-1.EXE:实验十二(一) A12-2.EXE:实验十二(二) A13-1.EXE:实验十三

111 实验注意事项(续) 9、目录8688中的其他程序: MD86.EXE:TDN86/88实验系统集成操作软件 MASM.EXE:宏汇编工具
LINK.EXE:连接工具

112 实验指导书格式要求

113 实验指导书格式要求(续)

114 谢 谢!


Download ppt "硬件综合实验 (第一讲) 厦门大学软件学院 曾文华 2006年6月12日."

Similar presentations


Ads by Google