HUNAN UNIVERSITY
课程实验报告
实验名称 学生姓名 学生学号 专业班级 指导老师
数码管显示实验
2014-12-17
实验三 数码管显示实验
一、 实验目的
1. 学习按键扫描的原理及电路接法; 2. 掌握利用8255完成按键扫描及显示。
二、 实验内容
连接8255与键盘扫描单元,编写程序完成按键扫描功能,并将读到的按键值依次显示在数码管上。
图 1 键盘、数码管电路原理图
三、 实验原理
实验系统中的键盘及数码管显示单元提供了4行×4列共16个按键,6位7段数码管也接成扫描电路方式。共用段位控制信号A~Dp,各自独立的公共端
X1~X6,其中X1~X4是与列扫描信号复用,行扫描信号为Y1~Y4。电路原理如图 1所示。
四、 实验步骤
1、 数码管循环显示1-9
a. 实验接线图如图2所示,按图连接实验线路图,实物图 3如所示;
图 2 实验接线图
b. 运行Tdpit集成操作软件,根据实验内容,编写实验程序,编译、链接,
代码如下:
IOY0 EQU 3000H ;片选IOY0对应的端口始地址
DATA1 SEGMENT
NUM DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H DATA1 ENDS
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA1 START:
MOV AX,DATA1 MOV DS,AX
MOV DX,IOY0 LEA SI,NUM MOV CX,10
XOR AX,AX NEXT:
MOV AL,[SI] MOV AH,1FH
OUT DX,AX CALL DALLY INC SI
LOOP NEXT
JMP START
DALLY PROC NEAR ;软件延时子程序 PUSH CX D1: D2:
PUSH AX
MOV CX,0FFFH MOV AX,0FFFFH DEC AX
JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP
CODE ENDS
END START
c. 运行程序,观察数码管的显示,循环显示0-9,如图 3所示,达到预期
要求。
图 3 循环显示0-9
2、 数码管两位‘同时’显示不同的数字
实验步骤同上,但代码更改如下(更改部分,红色标出):
IOY0
EQU
3000H
;片选IOY0对应的端口始地址
DATA1 SEGMENT
NUM DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H DATA1 ENDS
STACK1 SEGMENT STACK DW 256 DUP(?) STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA1 START:
MOV AX,DATA1 MOV DS,AX
MOV DX,IOY0 LEA SI,NUM MOV CX,10
XOR AX,AX NEXT:
MOV AL,[SI] MOV AH,1FH
OUT DX,AX CALL DALLY
MOV AL,[SI+3] MOV AH,2FH OUT DX,AX
CALL DALLY JMP NEXT
DALLY PROC NEAR PUSH CX PUSH AX
MOV CX,00FFH D1: MOV AX,000FFH D2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RET DALLY ENDP
CODE ENDS END START
实验截图如所示。
;软件延时子程序
图 4 数码管’同时’显示两位数
五、 实验总结
‘同时’将两个数字显示在数码管上并非真正同时显示在数码管上,而是两个数码管依次显示,当然频率很高。因为视觉暂留,从而让人误认为两个数字是同时显示的。
因篇幅问题不能全部显示,请点此查看更多更全内容