实验十二 数码管动态显示.doc
文本预览下载声明
实验十二 数码管动态显示
一、实验目的
1、掌握数码管的显示原理。
2、掌握利用数码管显示计算数机内部信息。
3、掌握数码管动态显示的原理及使用。
二、实验设备
计算机、微机原理实验箱
三、实验内容
第一题:
使2个七段显示管分别显示0,1,2.…7,8,9,每个字符保持1秒钟。
逻辑图:(本题为静态显示,只用连接一个数码管即可)
其中的电路逻辑图如下
源程序:
DATA SEGMENT
TABLE DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV CX,10;设置循环次数
LEA SI,TABLE;取段首地址于SI
AGAIN: MOV DX,288H;输出显示段码
MOV AL, [SI]
OUT DX,AL
MOV DX,282H;输出显示位码
MOV AL, 00;选中最低位数码管(其他位用同看)
OUT DX,AL
CALL DELAY;延时1S
INC SI;SI+1,选下一个
LOOP AGAIN;判断是否结束循环
MOV AH,4CH
INT 21H
DELAY PROC NEAR;
PUSH CX
MOV BX,027AH
FOR1: MOV DX,0200H
FOR2: LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
第二题:
使2个七段显示管分别显示“二三”,每个字符保持10秒钟。
逻辑图:
其中的电路逻辑图如下
源程序:
CODE SEGMENT
ASSUME CS:CODE
START: MOV CX,200
L1: MOV DX,288H;输出显示段码
MOV AL,09H;要显示的为“二”
OUT DX,AL
MOV DX,282H;输出显示位码
MOV AL,01H;选中倒数第二位数码管显示
OUT DX,AL
CALL DELAY;延时5ms
MOV DX,288H;输出显示段码
MOV AL,49H;要显示的为“三”
OUT DX,AL
MOV DX,282H;输出显示位码
MOV AL,02H;选中最低位数码管显示
OUT DX,AL
CALL DELAY;延时5ms
MOV DX,288H
MOV AL,00H
OUT DX,AL
LOOP L1;总时间不到返回继续显示
MOV AH,4CH
INT 21H
DELAY PROC NEAR;延时5ms
PUSH CX
MOV BX,000CH
FOR1: MOV DX,0200H
FOR2: LOOP FOR2
DEC BX
JNZ FOR1
POP CX
RET
DELAY ENDP
CODE ENDS
END START
第三题:
使2个七段显示管分别显示01,23,45,67,89,每两个字符保持2秒钟。
电路逻辑图和上题相同,不再画出。
源程序:
DATA SEGMENT
TABLE DB 3FH,06H,5BH,4FH,66H
DB 6DH,7DH,07H,7FH,6FH
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV SI,0
MOV CX,80;设置循环次数为80,以便延时两秒
L1: MOV DX,288H;输出显示段码
MOV AL,TABLE[SI] ;取段首地址于SI
OUT DX,AL
MOV DX,282H;输出显示位码
MOV AL,01H;左亮右灭
OUT DX,AL
CALL DELAY;延时5ms
MOV DX,288H
MOV AL,00H
OUT DX,AL
MOV DX,288H;输出显示段码
显示全部