描述
数码管由于价格便宜,使用简单,在电器特别是家电领域(比如空调、热水器和冰箱等)得到了极为广泛的应用。在高校电子信息类专业单片机的教学过程中,数码管动态显示及实现方法是学生普遍反映较难掌握的内容。鉴于此,本文为大家带来三个数码管动态扫描显示01234567程序介绍。
数码管动态扫描显示01234567程序一
原理图
8个数码管它的数据线并联接到JP5, 位控制由8个PNP型三级管驱动后由JP8引出。
程序流程图
汇编语言参考程序
ORG 0000H
AJMP MAIN
ORG 0080H
MAIN:
CLR P2.0 选中第一个数码管
MOV P0,#28H 显示0
LCALL DELAY 调用延时ORG
MOV P0,#0FFH 关显示
SETB P2.0
CLR P2.1 选中第二个数码管
MOV P0,#7EH 显示1
LCALL DELAY
MOV P0,#0FFH
SETB P2.1
CLR P2.2 选中第三个数码管
MOV P0,#0A2H 显示2
LCALL DELAY
MOV P0,#0FFH
SETB P2.2
CLR P2.3 选中第四个数码管
MOV P0,#62H 显示3
LCALL DELAY
MOV P0,#0FFH
SETB P2.3
CLR P2.4 选中第五个数码管
MOV P0,#74H 显示4
LCALL DELAY
MOV P0,#0FFH
SETB P2.4
CLR P2.5 选中第六个数码管
MOV P0,#61H 显示5
LCALL DELAY
MOV P0,#0FFH
SETB P2.5
CLR P2.6 选中第七个数码管
MOV P0,#21H 显示6
LCALL DELAY
MOV P0,#0FFH
SETB P2.6
CLR P2.7 选中第八个数码管
MOV P0,#7AH 显示7
LCALL DELAY
SETB P2.7
MOV P0,#0FFH
AJMP MAIN 重新开始
DELAY: 延时子程序
MOV R7,#2
D1: MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
END
c语言参考程序
#includep="">>
#define uchar unsigned char //宏定义,为方便编程
#define uint unsigned int
#define DIGI P0 //宏定义,将P1口定义为数码管
#define SELECT