电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册
搜索: 您现在的位置: 电子开发网 >> 电子开发 >> 单片机 >> 正文

汇编:单片机驱动LED数码管电路及编程

作者:佚名    文章来源:本站原创    点击数:    更新时间:2012/1/25
单片机I/O的应用最典型的是通过I/O口与7段LED数码管构成显示电路,我们从常用的LED显示原理开始,详尽讲解利用单片机驱动LED数码管的电路及编程原理,目的在于通过这一编程范例,让初学者了解I/O口的编程原理,意在起举一反三,抛砖引玉的作用。
共阳7段数码管
左图为实验电路图,我们使用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 ;延时子程序,延时时间赋值
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 ;程序结束
Tags:单片机,汇编,编程,数码管  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击,不要恶意评论、违禁词语。 昵称:
1分 2分 3分 4分 5分

还可以输入 200 个字
[ 查看全部 ] 网友评论
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询