文档介绍:/微\
机 \
原
理
与
接
口
实验报告
实验一 8255A应用一数码管动态显示 一、实验目的
1、掌握8255A的工作方式、编程原理和微机接口方法。
2、了解LED数码管动态显示的工作原理及编程方法。\、
二、实验内容 / \
编制程序,使数码管显示“ DICE88'字样。
三、实验程序框图 \
♦
|f' srt l- n ?f- ^14^7
・刊年J*冲叵IM J
图6-1实验程序流程图
四、实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行实验系统 (双击桌面OTA图标或通过开始-程序
-dj8086k-DJ8086k微机原理与接口技术),新建文件并在编辑窗口输入汇编源程序,再单击工具栏中编译 装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行, 即开始运行程序。
(2)数码管显示“ DICE88"字样。
脱机模式:
(1),通过单板机小键盘,从 2DF0地址开始输入机器码(参见附录三),完成后返回监控, 输入起始地址2DF0,再按EX键执行。
\ (2)数码管显示“ DICE88”字样。
五、实验程序清单
CODE SEGMENT ; display "DICE88"
ASSUME CS:CODE
ORG 2DF0H
START: JMP START0
PA
EQU 0FF20H ;
字位口
PB
EQU 0FF21H ;
字形口
PC
EQU 0FF22H ;
键入口
BUF
DB ?,?,?,?,?,?
data1: ,、、 /
db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H,89h,0c1h,87h
;修改89h、0c1h、87h各自对应: H U、t
START0: CALL BUF1
CON1: CALL DISP \X
JMP CON1
DISP: MOV AL,0FFH
MOV DX,PA
OUT DX,AL
MOV CL,0DFH
MOV BX,OFFSET BUF
DIS1: 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
DIS2: MOV CX,00A0H
LOOP $ POP CX
CMP CL,0FEH JZ LX1
MOV AL,0FFH MOV DX,PA OUT DX,AL INC BX ROR CL,1 JMP DIS1
LX1: MOV AL,0FFH
MOV DX,PB OUT DX,AL RET
BUF1: MOV BUF,0DH
MOV BUF+1,01H MOV BUF+2,0CH MOV BUF+3,0EH MOV BUF+4,08H MOV BUF+5,08H RET
CODE ENDS END START 六、思考题:
修改程序使之可以显示其他字符,如
;00H
;显示子程序,5ms
;01H
;00H
;SHR CL,1
;实验修改 mov BUF,0Ah
;实验修改 mov BUF+1,16h
;实验修改 mov BUF+2,17h
;实验修改 mov BUF+3,18h
;实验修改 mov BUF+4,00h
;实验修改 mov BUF+5,09h
AHUt09”
见上面程序修改部分
七、实验遇到的难点:
刚开始对发光二极管的控制不到位, 总是与想要显示的不相符,后来理解了编码方式后,能够对二极
管有一个很好的控制,之后我还自己编写并显示了 “ I LOVE U ”,觉得挺有趣的
实验二8259单级中断控制器实验
一、实验目的 / \
.掌握8259中断控制器的接口方法。 、
.掌握8259中断控制器的应用编程。 \
)实验内容 \
利用8259实现对外部中断的响应和处理,要求程序对每次中断进行计数,并将计数结果送数码显示。
4.