您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于89c51的数字钟
基于89c51的数字钟的设计和制作指导教员:设计人:张晓伟3202004022王威3202004029摘要该数字钟以89c51系列单片机为核心,控制LED液晶屏幕,通过编程实现电子钟,万年历,闹钟等基本功能,又定时器实现精确计时,通过程序算法实现时间和日期的调节和闹钟的设置。在调节过程中自动识别闰年非闰年,大月小月,星期自动调节。该数字钟通过128*64的LED液晶屏幕显示,不但可以显示数字,还可以方便的显示汉字,既可以静态显示,也可以动态显示,具有很好的人机交互性。关键词:数字钟、89C51、LED、液晶一、系统方案1、基本功能(1)基本计时和显示。(2)万年历功能,调节日期时自动判别闰年非闰年,大小月,星期自动更改。(3)闹钟功能。(4)屏幕保护功能。2、设计思路按功能要求,实际完成电子钟、万年历的基本功能。3、方案论证与比较(1)主控器件的选择51系列单片机技术成熟,资源丰富,使用灵活,足够满足需要,是最好的选择,但由于万年历功能由程序实现,程序算法较复杂,而且需控制液晶屏幕,字库占用很大存储空间,因此在单片机的选择上应采用Flash存储器较大的单片机,STC公司的STC89C58RD+型号单片机有32KFlash,可以满足要求。(2)计时方案选择用单片机的定时中断,可实现精确计时,完全可以满足数字钟的要求,如使用专用的时钟芯片,增加成本,使硬件繁琐,降低了系统的稳定性,故选择用单片机计时。(3)显示方案选择数码管显示简单易行,但是仅能显示数字和简单的字符,人机交互性差。而采用液晶屏幕显示,不但可以显示数字,还可以显示汉字甚至是图片,而且字体和大小可以根据自己的喜好改变,因此用液晶显示是最好的选择。(4)闹钟方案音乐芯片是用废旧的音乐贺卡的音乐芯片,既节省了成本,变废为宝!4、总体方案该数字钟由主控部分、显示部分、音乐模块和输入部分组成,如图所示:(1)主控部分主控部分主要是一片89c51,通过编程实现计时,液晶控制,闹钟控制,按键扫描等主要工作,通过程序控制比通过硬件电路实现稳定性更高,简单易行。计时部分通过定时中断,定时1ms,中断程序中毫秒累加,达到精确计时目的。日期部分邹全考虑,实现了对闰年和非闰年,大月和小月的判断,因此星期可根据日期自动调节。(2)显示部分用128*64的LCD液晶显示式该数字钟的最大亮点,LCD与LED相比,不但可以显示数字,还可以显示汉字甚至是图形,而且可以有多种显示效果,具有衡好的人机交互性。但是液晶控制相对复杂。液晶控制电路如图所示:XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52CS11CS22GND3VCC4V05DI6R/W7E8DB09DB110DB211DB312DB413DB514DB615DB716RST17-Vout18LCD2LGM12641BS1R234567891RP1RESPACK-8要实现液晶显示,就必须了解其控制指令,才能方便灵活的用液晶显示各种数据。操作指令如下表所示:128*64LCD液晶操作指令表:指指令码功能令RWDID7D6D5D4D3D2D1D0显示ON/OFF0000111111/0控制显示器的开关,不影响DDRAM中数据和内部状态显示起始行0011显示起始行(0…63)指定显示屏从DDRAM中哪一行开始显示数据设置X地址0010111X:0…7设置DDRAM中的页地址(X地址)设置Y地址0001Y地址(0~63)设置地址(Y地址)读状态10BUS0ON/OFRST0000读取状态RST1:复位0:正常YFON/OFF1:显示开0:显示关BUSY0:READY1:INOPERATION写显示数据01显示数据将数据线上的数据DB7~DB0写入DDRAM读显示数据11显示数据将数据线上的数据DB7~DB0写入DDRAM液晶屏幕的控制指令和数据要按照合适的时序才能被写入读出,才能使其正常显示,1.写操作时序2.读操作时序(3)闹钟部分由于单片机输出电流较小,不能直接驱动音乐芯片,因此采用一个三极管放大电流,驱动音乐芯片,电路如下图所示:(4)键盘电路XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C52234567891RP2RESPACK-85程序设计程序的编写采用中断定时方式,程序包含有主程序、显示子程序和延时子程序(程序见附录)。下图是主程序的流程图:二、系统调试该数字钟硬件较为简单,其重点和核心是承训控制,计时功能实现较为简单,但日期的计算相对复杂,不仅涉及到闰年非闰年,还有大小月的影响,判断计算较为繁琐,经过反复修改和调试,最终达到了较好的好的效果。三、感想及结束语在这次创新实践活动,注重实践能力,活动过程中不但培养了我们的创新能力,而且培养了我们的合作精神。在实践过程中使我们加深了对课本知识的理解,更重要的是使我们认识到了理论与实践的结合的重要性,参考文献马忠梅等单片机的C语言程序设计(第三版)北京航空航天大学出版社黄智伟.全国大学生电子设计竞赛训练教程.北京:电子工业出版社,2005年戴佳,戴卫恒.51单片机—C语言应用程序设计.北京:电子工业出版社,2006年
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:基于89c51的数字钟
链接地址:https://www.777doc.com/doc-2567980 .html