标题: 单片机数码管显示实验报告 [打印本页]
作者: 狮子清影 时间: 2017-7-1 20:52
标题: 单片机数码管显示实验报告
1,实验目的:(1)了解数码管与单片机的借接口方法;
(2)了解数码管性能及动态显示编程方法;
(3)了解单片机系统中定时器控制的基本方法;
2,实验内容: 用定时器实现定时,六位数码管动态显示123456.
3,实验接线图:
4,实验程序流程:
主程序:数码管初始化->LED灯初始化->定时器初始化->第一位数码管循环显示等待。
中断服务程序:定时器重新赋初值->切换LED灯状态->改变数码管显示位->改变数码管显示值
5,实验步骤:
将试验箱和电脑连接即可。
6,参考程序:
ORG 0000H
LJMP SE13
ORG 000BH ;中断入口地址
LJMP INTERRUPT
ORG 05E0H
SE13:
MOV SP,#53H
MOV P2,#0ffh
MOV A,#81H
MOV DPTR,#0FF23H
MOVX @DPTR,A ;选中数码管
MOV 7EH,#01H
MOV 7DH,#02H
MOV 7CH,#03H
MOV 7BH,#04H
MOV 7AH,#05H
MOV 79H,#06H
T_INIT:
MOV TMOD,#01H ;定时器0工作方式1
ORL IE,#82H ;中断使能
MOV TL0,#0B0H
MOV TH0,#3CH ;定时器初始化
MOV R5,#20
SETB TR0 ;开定时
SSEE:
MOV 30H,#20H ;数码管位选
MOV 31H,#7EH ;数码管段选
MOV R7,#06H ;数码管显示个数
SSE1:
MOV DPTR,#0FF20H
MOV A,30H
CPL A
MOVX @DPTR,A ;位选送入数据
MOV R0,31H
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV DPTR,#0FF21H ;字形码
MOVX @DPTR,A ;段选送入数据
MOV A,30H
RR A ;切换数码管显示位
MOV 30H,A
DEC 31H ;改变数码管显示数值
MOV A,#0FFH
MOVX @DPTR,A
DJNZ R7,SSE1;
LJMP SSEE ;
INTERRUPT:
;PUSH A
MOV TL0,#0B0H
MOV TH0,#3CH ;重新赋初值
;MOV A,23H
DJNZ R5,RETU ;1秒到了?
MOV R5,#20 ;延时计数复位
MOV 78H,79H
MOV 79H,7AH
MOV 7AH,7BH
MOV 7BH,7CH
MOV 7CH,7DH
MOV 7DH,7EH
MOV 7EH,78H
RETU:RETI
TAB: ;数码管显示0~F对应值
DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H
DB 88H,83H,0C6H,0A1H,86H,8EH,0FFH,0CH,89H,0DEH
END
0 0 1 0 0 0 0 0 B
0 0 0 1 0 0 0 0
1 1 0 1 1 1 1 1 B
1100 0000
-
图片1.png
(18.7 KB, 下载次数: 119)
欢迎光临 (http://www.51hei.com/bbs/) |
Powered by Discuz! X3.1 |