LED显示电路

LED显示电路

图1 段数码管

LED显示电路

图2中使用80C51单片机,电容C1、C2和CRY1组成时钟振荡电路,这部分基本无需调试,只要元件可靠即会正常起振。C3和R1为单片机的复位电路,80C51的并行口P1.0-P1.7直接与LED数码管的”a-f”引脚相连,中间接上限流电阻R3-R10。值得一提的是,80C51并行口的输出驱动电流并非很大,为使LED有足够的亮度,LED数码管应选用高亮度的器件。

此外,图中的80C51还可选用C51系列的其它单片机,只要它们的指令系统兼容C51即可正常运行,程序可直接移植,例如选用低价Flash型的AT89C1051或 2051等,它们的ROM可反复擦写,非常适合作实验用途。

· 程序清单:

01 START: ORG 0100H ;程序起始地址

02 MAIN: MOV R0,#00H ;从“0”开始显示

03 MOV DPTR,#TABLE ;表格地址送数据指针

04 DISP: MOV A,R0 ;送显示

05 MOVC A,@A+ADPTR ;指向表格地址

06 MOV P1,A ;数据送LED

07 ACALL DELAY ;延时

08 INC R0 ;指向下一个字符

09 CJNE R0,#0AH,DISP ;未显示完,继续

10 AJMP MAIN ;下一个循环

11 DELAY: MOV R1,#0FFH ;延时子程序,延时时间赋值 http://www.elecfans.com 电子发烧友 http://bbs.elecfans.com 电子技术论坛

12 LOOP0: MOV R2,#0FFH

13 LOOP1: DJNZ R2,LOOP1

14 DJNZ R1,LOOP0

15 RET ;子程序返回

16 TABLE: DB 0C0H ;字型码表

17 DB 0F9H

18 DB 0A4H

19 DB 0B0H

20 DB 99H

21 DB 92H

22 DB 82H

23 DB 0F8H

24 DB 80H

25 DB 90H

26 END ;程序结束