实验一 8255A应用—数码管动态显示
一、实验目的
1、掌握8255A的工作方式、编程原理和微机接口方法。
2.了解LED数码管动态显示的工作原理及编程方法。
二、实验内容
编制程序,使数码管显示“DICE88”字样。 三、实验程序框图
图6-1 实验程序流程图
四、实验步骤
联机模式:
(1)在PC 机和实验系统联机状态下,运行实验系统dj8086k.exe(双击桌
面OTA 图标或通过开始-程序-dj8086k-DJ8086k 微机原理与接口技术),新建文 件并在编辑窗口输入汇编源程序,再单击工具栏中编译装载,即可完成源文件 自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运
行,即开始运行程序。
(2)数码管显示“DICE88”字样。 脱机模式:
(1)在P.态下,通过单板机小键盘,从2DF0 地址开始输入机器码(参见 (2)数码管显示“DICE88”字样。
五、实验程序清单
CODE ASSUME SEGMENT CS:CODE
; display \
START:
data1:
START0: CON1: DISP: DIS1: DIS2: ORG 2DF0H JMP START0
PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口
BUF DB ?,?,?,?,?,?
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h, db 88h,83h,0c6h,0a1h,86h,8eh,0ffh,0ch,89h,0deh, db 0c7h,8ch,0f3h,0bfh,8FH,0F0H CALL BUF1 CALL DISP JMP CON1
MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL
MOV CL,0DFH ;显示子程序,5ms MOV BX,OFFSET BUF MOV AL,[BX] MOV AH,00H PUSH BX
MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB OUT DX,AL MOV AL,CL MOV DX,PA OUT DX,AL PUSH CX
MOV CX,00A0H LOOP $ POP CX
CMP CL,0FEH ;01H JZ LX1
LX1:
BUF1:
MOV AL,0FFH MOV DX,PA OUT DX,AL INC BX
ROR CL,1 JMP DIS1 MOV AL,0FFH MOV DX,PB OUT DX,AL RET
MOV BUF,0DH MOV BUF+1,01H MOV BUF+2,0CH MOV BUF+3,0EH MOV BUF+4,08H MOV BUF+5,08H RET END START
;00H
;SHR CL,1
CODE ENDS
六、思考题:
修改程序使之可以显示其他字符,如“AHUt09”。 将最后一段代码改为: BUF1: MOV BUF,0AH
MOV BUF+1,10H MOV BUF+2,11H MOV BUF+3,012H MOV BUF+4,00H MOV BUF+5,09H RET
实验二 单级中断控制器实验
一、实验目的
⒈ 掌握8259中断控制器的接口方法。 ⒉ 掌握8259中断控制器的应用编程。
二、实验内容
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数, 并将计数结果送数码显示。
三、实验接线图
四、编程指南
⑴ 8259芯片介绍
图6-2 实验二接线图
中断控制器8259A是专为控制优先级中断而设计的芯片。它将中断源优先 级排队、辨别中断源以及提供中断矢量的电路集于一片中。因此无需附加任何 电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断 请求方式。即中断结构可以由用户编程来设定。同时,在不需要增加其它电路 的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。
⑵ 本实验中使用3号中断源IR3,
“
”插孔和IR3相连,中断方
式为边沿触发方式,每拨1次AN开关产生一次中断,满5次中断,显示“good”。 如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。
五、实验程序框图
图6-3主程序流程
IR3中断服务程序:
图6-4 IR3中断服务程序流程
IR7中断服务程序: