《基于AT89C51单片机的LED点阵显示电子钟设计.doc》由会员分享,可在线阅读,更多相关《基于AT89C51单片机的LED点阵显示电子钟设计.doc(21页珍藏版)》请在三一办公上搜索。
1、重庆三峡学院单片机原理及应用课程设计报告书学院(系): 年级专业: 学 号: 学生姓名: 指导教师: 教师职称: 成 绩: 制作日期 :2012年11月30日目录摘要 3第一章 设计流程 41.1 设计任务 41.2 设计目的 41.3 设计思路 41.3.1 方案论证 41.3.2 芯片的选择 41.3.3 显示模块选择方案和论证 41.3.4 时钟信号的选择方案和论证41.3.5 最终方案 4第二章 硬件系统的设计 52.1 原理图设计 52.2 晶振电路部分 52.3 复位电路部分 62.4 驱动部分 72.5 显示电路部分 72.6 AT89C51的原理及说明 82.6.1 主要性能参
2、数 92.6.2 引脚功能 9第三章 软件系统的设计. 9第四章 系统调试 164.1 软件调试 164.2 硬件调试 16第五章 设计心得 16第六章 致谢18参考文献 18附录 19基于AT89C51单片机的LED点阵显示电子钟设计 摘要:本次实训是基于AT89C51单片机的LED点阵电子钟的设计,我们采用的并行方式的显示方案来实现。该电子时钟由AT89C51,74LS373数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时。用keil软件生成.hex文件,用Proteus的ISIS软件实现了单片机LED点阵电子时钟系统的设计与仿真。单片机具有体积
3、小,成本低,抗干扰能力强,面向控制,可以实现分机各分布式控制等优点。本电子钟设计就是利用单片机的上述优点,采用目前市场上性能价格比较高的AT89C51单片机设计而成的最小系统。它在实际生活中具有广泛的应用。 电子钟由显示电路,行驱动电路,列驱动电路,中央控制器,按键电路和复位电路组成。关键词:单片机、LED点阵、电子钟、行驱动、列驱动第一章 引言自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到了广泛的应用。在我国改革开放之后,提别是进入90年代国民经济的高速增长,对公众场合发布信息的需求日益强烈。而LED显示屏作为信息传播的一种重要手段,已经成为城市信息现代化建设的标志,L
4、ED显示屏随着社会经济的不断进步,以及LED制造技术的完善,人们对LED显示屏的认识将会越来越深入,其应用领域将会越来越广;LED显示屏经多年的开发、研制、生产,其技术目前已经成熟。 现在各种广告牌不再是白底黑字了,也不再是单一的非电产品,而是用上了丰富多彩的LED电子产品,为城市的增添了一道靓丽的风景。而且它采用低电压扫描驱动,具有耗电少、使用寿命长、成本低、发光效率高、故障少、视角大、可视距离远、可靠耐用、组态灵活、安全、响应时间短、绿色环保、控制灵活、色彩丰富以及对室内外环境适应能力强等特点。近年来LED显示屏市场得到了迅猛的发展,已经广泛应用到银行、邮电、税务、机场、车站、证券市场及其
5、它交易市场、医院、电力、海关、体育场等需要进行多种公告、宣传的场合。 1.1 设计任务(1) 时钟的显示由LED点阵构成。(2) 能正确显示时间,上电显示为12点。(3) 时间能够由按键调整。(4) 误差小于1s。1.2 设计目的(1) 通过课程设计,使我们能够深入理解单片机系统的工作原理,接口电路的设计及调试方法,培养综合运用所学理论知识分析和解决实际问题的能力。(2) 使用AT89C51芯片的串口功能,利用5片锁存器74LS373,实现时,分,秒的显示。(3) 用keil软件进行编程与调试,利用Proteus 7 Professional软件进行绘制硬件电路图且进行仿真。1.3 设计思路1
6、.3.1 芯片的选择根据设计要求,采用并行方式显示,通过锁存器芯片来扩展I/O口,达到控制LED点阵的40个列线的目的,方案中运用5片锁存器74LS373来组成双缓冲寄存器,驱动LED点阵8组列线,用3/8译码器74LS138对LED点阵的8行进行扫描。在送每一行的数据到LED点阵时,先把数据分别送到5个74LS373,然后再把数据一起输出到LED点阵列中,送出去的时间数据由AT89C52来控制。电子钟由显示电路、行驱动电路、列驱动电路、中央控制器AT89C52、按键电路和复位电路组成,系统框图如图1所示。1.3.2 显示模块选择方案和论证采用LED数码管显示,显示较为清楚直观,便于观察和调试
7、 1.3.3 时钟信号的选择方案和论证直接采用单片机定时计数器提供的秒信号,使用程序实现时、分、秒计数。采用此种方案可减少芯片的使用,节约成本,实现的时间误差较小。1.3.4 最终方案综上方案所述,对此次数字时钟的方案选定为: 采用AT89C51通过串行输出动态扫描显示作为主控制系统,来实现时、分、秒的显示。如图1所示。图1第二章 硬件系统的设计2.1原理图设计此次单片机数字时钟的设计采用AT89C51为主控制芯片,并由其定时器提供时钟,利用LED进行时间按显示。下图为用Proteus软件画的原理图(图2):图22.2晶振电路部分图3晶振电路如图3所示,由2个30pF电容C1、C2和一个6MH
8、z的晶振X1组成。它能产生一个高精度且稳定的振荡信号,即频率为6MHz的方波信号,此信号为单片机提供一个时钟信号,以供定时器定时用。2.3 1复位电路部分图42.3 2时分调节电路部分 图5复位电路如图4所示,该电路中的复位电路为上电与按键均有效的复位,上电瞬间RST引脚获得高电平,随电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚上的高电平只能保持两个机器周期的时间,单片机就可以进行复位操作。单片机在运行期间,我们可以利用按键开关来完成复位。当按键开关按下瞬间,RST上的电平立即变为高电平,即可进行复位。时分调节电路具有相同的原理,控制时分的显示时间。2.4驱动部分图674LS373
9、是常用的带有三态门的8D锁存器。当门控端G输入正脉冲,且输出控制OE高电平有效时,D端的数据被锁存到锁存器的输出端:当G为低电平,输出Q保持不变,当OE为低电平时,输出Q是高阻态。2.5显示电路部分图788点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如图3所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:一根竖柱:对应的列置1,而行则采用扫描的方法来实现。一根横柱:对应的行置0,而列则采用扫描的方法来实现。图82.6 AT89C51的原理及说
10、明AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和蔼可亲128 bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多较为复杂控制应用场合。 AT89C51引脚图2.6.1 主要性能参数:与MCS-51产品指令和引脚完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操作:0Hz24MHz三级加密程序存储器1288字节内部RAM32个可编程I/O口线2
11、个16位定时/计数器5个中断源可编程串行UART通道低功耗空闲和掉电模式2.6.2引脚功能Vcc(40):电源电压 GND(20):接地P0口(32-39):P0口是一个8位双向I/O接口,也即地址/数据总线复用口。作为输出口用时,每位吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器时,这组口线分时转换地址(低8位)和数据总线复用。P1口(1-8):P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”通过内部的上拉电阻把端口拉到高电平时,此时可作输入口。作为输入品使用时,
12、因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。RST(9):复位信号输入端。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG(30):地址锁存有效信号输出端。当访问片外程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节,一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的,要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。XTAL1(19):振荡器反相放大器的及内部时钟发生器的输入端。XTAL1(18):振荡器反相放大器的输出端。通过XTAL1、XTAL2外接晶
13、振后,即可构成自激振荡器,驱动内部时钟发生器向主机提供时钟信号。第三章:系统软件设计主程序:本次实训的软件部分由主程序,静态显示子程序,中断服务程序,时、分加1子程序,时、分单元清零子程序组成。3.1 LED点阵电子钟的程序本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。其程序执行流程见下图9。图9程序代码如下:ORG 0000HLJMP MAINORG 0003HLJMP PINT0ORG 000BHLJMP INTT0ORG 0013HLJMP PINT1ORG 0030HMAIN:MOV SP,#60H MOV TMOD,#01H M
14、OV TL0,#0e0H MOV TH0,#0b1H MOV IE,#87H MOV 30H,#01H MOV 31H,#02H MOV 32H,#0AH MOV 33H,#00H MOV 34H,#00H MOV 35H,#00H MOV 36H,#00H SETB IT0 SETB IT1 SETB PT0 SETB TR0LOOP0:LCALL DISP LJMP LOOP0INTT0:MOV TL0,#0e0H MOV TH0,#0b1H PUSH ACC PUSH PSW INC 36H MOV A,36H CJNE A,#25,PLL MOV 32H,#0BHPLL: CJNE A
15、,#50,ENDD MOV 32H,#0AH MOV 36H,#00H INC 35H MOV A,35H CJNE A,#60,ENDd MOV 35H,#00H INC 34H MOV A,34H CJNE A,#0AH,ENDd MOV 34H,#00H INC 33H MOV A,33H CJNE A,#06H,ENDd MOV 33H,#00H INC 31H MOV A,30H CJNE A,#02H,END1 MOV A,31H CJNE A,#04H,END1 MOV 31H,#00H MOV 30H,#00HEND1 :MOV A,31H CJNE A,#0AH,ENDd M
16、OV 31H,#00H INC 30HENDd: POP PSW POP ACC RETIDISP: PUSH ACC PUSH PSW MOV A,30H MOV B,#08H MUL AB MOV 3BH,A MOV R4,#00H MOV R5,#08HLOOP00:MOV A,3BH MOV DPTR,#TABE MOVC A,A+DPTR MOV P2,R4 MOV P0,A MOV P1,#0FEH INC 3BH INC R4 LCALL DELAY DJNZ R5,LOOP00 MOV A,31H MOV B,#08H MUL AB MOV 3BH,A MOV R4,#00H
17、MOV R5,#08HLOOP11:MOV A,3BH MOV DPTR,#TABE MOVC A,A+DPTR MOV P2,R4 MOV P0,A MOV P1,#0FDH INC 3BH INC R4 LCALL DELAY DJNZ R5,LOOP11 MOV A,32H MOV B,#08H MUL AB MOV 3BH,A MOV R4,#00H MOV R5,#08HLOOP22:MOV A,3BH MOV DPTR,#TABE MOVC A,A+DPTR MOV P2,R4 MOV P0,A MOV P1,#0FBH INC 3BH INC R4 LCALL DELAY DJN
18、Z R5,LOOP22 MOV A,33H MOV B,#08H MUL AB MOV 3BH,A MOV R4,#00H MOV R5,#08HLOOP33:MOV A,3BH MOV DPTR,#TABE MOVC A,A+DPTR MOV P2,R4 MOV P0,A MOV P1,#0F7H INC 3BH INC R4 LCALL DELAY DJNZ R5,LOOP33 MOV A,34H MOV B,#08H MUL AB MOV 3BH,A MOV R4,#00H MOV R5,#08HLOOP44:MOV A,3BH MOV DPTR,#TABE MOVC A,A+DPTR
19、MOV P2,R4 MOV P0,A MOV P1,#0EFH INC 3BH INC R4 LCALL DELAY DJNZ R5,LOOP44 POP PSW POP ACC RETDELAY:MOV 37H,#50DEL: MOV 38H,#4 DJNZ 38H,$ DJNZ 37H,DEL RETTABE: ;0 DB 00H,18H,24H,24H,24H,24H,18H,00H ;1 DB 00H,10H,30H,10H,10H,10H,38H,00H ;2 DB 00H,18H,24H,04H,18H,20H,3CH,00H ;3 DB 00H,18H,24H,18H,04H,2
20、4H,18H,00H ;4 DB 00H,08H,18H,28H,7CH,08H,08H,00H ;5 DB 00H,1CH,10H,18H,04H,24H,18H,00H ;6 DB 00H,18H,24H,38H,24H,24H,18H,00H ;7 DB 00H,3CH,28H,08H,10H,10H,10H,00H ;8 DB 00H,18H,24H,18H,24H,24H,18H,00H ;9 DB 00H,18H,24H,24H,1CH,24H,18H,00H ;: DB 00H,00H,18H,18H,00H,18H,18H,00H ; DB 00H,00H,00H,00H,00
21、H,00H,00H,00H RETPINT0:MOV 4AH,#20 DJNZ 4AH,$ JB P3.2,END_DD MOV 36H,#00H INC 34H MOV A,34H CJNE A,#0AH,END_DD MOV 34H,#00H INC 33H MOV A,33H CJNE A,#06,END_DD MOV 33H,#00HEND_DD:RETIPINT1:MOV 4AH,#20 DJNZ 4AH,$ JB P3.3,END_D INC 31H MOV A,30H CJNE A,#02H,END_1 MOV A,31H CJNE A,#04,END_1 MOV 31H,#00
22、H MOV 30H,#00HEND_1:MOV A,31H CJNE A,#0AH,END_d MOV 31H,#00H INC 30HEND_D:RETIEND打开keil软件,进行编译如下图 生成.hex生成.hex文件 第四章 系统调试硬件调试打开Proteus 7 Professional软件,按照方案所选的电路元件来设计整体电路,线把个芯片按一定的位置放好,然后对相应的对象进行连接,连接时需仔细,以免调试时发生错误。做好之后点击源文件添加源文件新建将源文件加入,再把用keil软件所生成的.HEX文件加载到AT89C51中,运行仿真软件,查看运行效果。如果运行出错那么就根据他相应的提示
23、来修改错误,直到仿真成功为止。第五章 思考题思考题:秒电路的添加:要分别显示时分秒,则应在电路原理图中增加3块LED显示管与3块74LS373集成块用来驱动LED的列线,且行线与总线相连,1块LED显像管用来显示分钟与秒钟之间的点另外2块用来显示数学。在相应的代码中加入一定的代码。秒电路频率的显示原理:此电路点的亮、灭均为500ms来完成1s,第六章 设计心得 经过本小组成员的共同努力,我们根据项目要求与各种数据成功的做出了初始值为12::00的LED点阵显示电子钟。由于实验条件有限,我们只做了软件仿真并未做出硬件实物。 仿真效果图如下:调试后的电路:第七章:致谢 【参考文献】1 李全利 编著
24、 :单片机原理及接口技术(第2版) 北京:高等教育出版社,2004 2 张志良 主编 :单片机原理及控制技术(第2版) 北京:机械工业出版社,2005 3 李 华 主编 :MCS-51单片机实用接口技术 北京:北京航空航天出版社,1997 4J. A. van Ralte: Proc. IEEE,56, 12, pp. 2146-2149 (1968).5 诸昌钤 编著 :LED显示屏系统原理及工程技术 成都:电子科技大学出版社,2000 6 7 8 谢辉,单片机原理及应用.化学工业出版社,2010附件: 元件清单元件名称型号数量用途单片机AT89C521控制核心晶振12MHz1晶振电路电容30pF2晶振电路电解电容10F/10V1复位电路电阻10k1复位电路驱动器74LS071LED驱动LED点阵885显示电路集成块74LS3735驱动锁存集成块74LS1381行扫描排阻10 k81上拉电阻按键1分调节按键1时调节电源+5V/0.5A1提供+5V按键1复位电路