制作一个简单的51单片机7段LED数码管显示,数字由0~9循环显示(Proteus仿真和汇编代码在附件中 )
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 0000H
- LJMP START
- ORG 0030H
- START: MOV DPTR,#TABLE ;DPTR指向段码表首地址
- S1: MOV A,#00H
- MOVC A,@A+DPTR ;查表取得段码
- CJNE A,#01H,S2 ;判断段码是否为结束符
- SJMP START
- S2: MOV P0,A ;段码送数码管显示
- LCALL DELAY ;延时
- INC DPTR
- SJMP S1
- DELAY: MOV R5,#20 ;延时子程序
- D2: MOV R6,#20
- D1: MOV R7,#248
- DJNZ R7,$
- DJNZ R6,D1
- DJNZ R5,D2
- RET
- TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;段码表
- DB 01H ;结束符
- END
复制代码
所有资料51hei提供下载:
LED数码管显示之7段LED数码管.zip
(34.86 KB, 下载次数: 21)
|