您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于AT89C51单片机的多功能电子万年历的设计
单片机应用系统设计课题:基于AT89C51单片机的多功能电子万年历的设计姓名:班级:学号:指导老师:日期:单片机课程设计2目录一.绪言……………………………………………………………3二.系统总体方案设计……………….………………………………3三.硬件系统设计:…………………….……………………….4四.系统软件设计………………….……………………………5五.设计总结……………………………………………………8六.参考文献……………………………………………………8七.附录………………………………………………………….9单片机课程设计3一.绪论随着电子技术的迅速发展,特别是随大规模集成电路出现,给人类生活带来了根本性的改变。由其是单片机技术的应用产品已经走进了千家万户。电子万年历的出现给人们的生活带来的诸多方便。本文首先描述系统硬件工作原理,并附以系统结构框图加以说明,着重介绍了本系统所应用的各硬件接口技术和各个接口模块的功能及工作过程,其次,详细阐述了程序的各个模块和实现过程。万年历是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站,码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,但是所有这些,都是以钟表数字化为基础的。因此,研究万年历及扩大其应用,有着非常现实的意义。本系统采用了以广泛使用的单片机技术为核心,软硬件结合,使硬件部分大为简化,提高了系统稳定性,并采用LED显示电路、键盘电路,使人机交互简便易行。二.系统总体方案设计1.系统设计硬件框图2.实现的基本原理在本实验中,我引用了DS1302的时,分,秒功能,当时计数字24时通过74LS164给模块年月日进位,当日模块对应其相应月份进行向月进位时,就给月进位,当月满12时,给年进位。振荡电路按键调节DS1302AT89C51LED显示频单片机课程设计4三.硬件系统设计1.元器件介绍名称图形功能DS1302RST5SCLK7I/O6X12X23VCC18VCC21U1DS1302可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿等多种功能74LS164SRG8RC1/-&1D1324561081112913U474LS16474LS164是一个串行输入并行输出的移位寄存器,并带有清除端。其中;Q0—Q7并行输出端。A,B串行输入端。MR清除端,为0时,输出清零。CP时钟输入端。AT89C512720212223242526XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.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/A1427U2AT89C51at89c51单片机是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的Flash只读程序存储器和128bytes的随机数据存储器(RAM),器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准MCS-51指令系统。功能强大的at89c51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。单片机课程设计52.硬件原理图ABCDEFGHJKABCDEFGHJKFILENAME:BY:DATE:PAGE:万年厉.DSN2009-6-16C:\DocumentsandSettings\wufeng\桌面\万年历\万年厉\万年厉.DSNPATH:1of1REV:TIME:0:21:00DESIGNTITLE:C:\DocumentsandSettings\wufeng\桌面\万年历\万年厉\万年厉.DSN0123456789012345678914562176543654321232720212223242526202122232425262712345678RST5SCLK7I/O6X12X23VCC18VCC21U1DS1302XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.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/A1427U2AT89C51SRG8RC1/-&1D1324561081112913U374LS164SRG8RC1/-&1D1324561081112913U474LS164SRG8RC1/-&1D1324561081112913U574LS164234567891RP1RESPACK-8年月日月日小时分秒星期X132678HZBAT11.5VR1580R2580R358032U01:A400954U01:B4009910U01:D400976U01:C40091112U01:E40091415U01:F400932U02:A400954U02:B4009D?LED-BLUE四.系统软件设计仿真过程1、打开PROTEUS软件,并出画单片机电子万年历具体运行电路图。3、检查所画电路运行图,确保没有错误以后,加载源程序。4、加载完成后,单击电路图框下的开始按钮,进行仿真,观察LED数码管现实情况,此时LED数码管开始显示数字。调节开关进行时间的调节。当秒的显示间隔快与或慢与实际间隔时,调节石英晶体震荡器的频率参数,从而使秒的间隔达到标准。然后检查电路其它问题,并对其的各参数进行调整,使之正确。仿真结果通过对源程序的编译,改正了其中的很多错误,然后运行,保证源程序的正确性。然后按原理图选择正确合理的电器元件,画出正确的电路图,加载源程序运行,顺利实现了单片机数字电子钟的“小时”、“分钟”、“秒”的显示。1主程序流程图设计单片机课程设计62显示模块流程图基本显示模块设计的重点是由显示代码取得相应的段码、显示段码数据的串行发送,程序流程如图1-11所示。其中时个位的段码必须加上小数点,即带小数点显示时个位,目的是以小数点符代替时间分割符“-”。软件秒脉冲发生器其实质是利用了定时器0的定时溢出中断,将它设定为100ms溢出中断,则10次中断的时间正好为1s。将时间参数设计为100ms的原因有两个:开始设置串行口工作方式设置计数器工作方式给计数器1,0赋初值调用1302写操作启动定时计数器0定时时间到?读年月日时分秒把要显示的数据送到缓冲区调用显示子程序结束N调用定时中断Y单片机课程设计71)根据系统时钟主频为6M的特点,16位定时器最大定时时间为65536×2M(M为机器周期,这里是2μS),即131ms,取整数100便于计次数;2)如取的太短,如10ms,则定时器频繁中断,干扰系统正常运行效果。有了秒脉冲发生器,10次中断为1s,秒指示灯闪亮1次,秒变量单元加1,60后分变量单元加1,如果为60分则时变量单元加1。任何一个变量的变化,则显示刷新一次(更新)。上述思想的实现均集成在定时器0的中断子程序中。该设计显示模块流程图如图运行结果14562176543654321232720212223242526202122232425262712345678RST5SCLK7I/O6X12X23VCC18VCC21U1DS1302XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.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/A1427U2AT89C51SRG8RC1/-&1D1324561081112913U374LS164SRG8RC1/-&1D1324561081112913U474LS164SRG8RC1/-&1D1324561081112913U574LS164234567891RP1RESPACK-8年月日月日小时分秒星期X132678HZBAT11.5VR1580R2580R358032U01:A400954U01:B4009910U01:D400976U01:C40091112U01:E40091415U01:F400932U02:A400954U02:B4009D?LED-BLUE将16进制时分数据转化为BCD显示代码关显示以免显示抖动通过串口将时十位段码送入对应的LS164将时个位段码送入对应的LS164将分十位和个位段码送入各自对应LS164打开显示单片机课程设计8五.设计总结通过这一周的课程设计,我学到了不少的知识。把以前没有学好的模拟电路的知识进行了补充和加强。这使我受益很大。加深了我对于单片机和数字电路的认识,相信在以后的学习和工作中碰到这些基础的元器件我会更加得心应手。通过查阅大量的资料,我获得了以前在课堂上学不到的东西,我想这对于以后的毕业设计,或者工作也好,都是很有帮助的。我很认真地对待这个过程中的每一个细节,希望自己能做得更好。希望今后还有这样的机会,能够让我学到更多的知识。在此次的数字钟设计过程中,更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在连接六进制,十进制,六十进制的进位及十二进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。学无止境,我们现在所做的一切都还只是一个开始。主要参考资料:[1]林志琦.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006.9[2]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:北京航空航天大学出版社,2006.5[3]张靖武,周灵彬.单片机系统的PROTEUS设计与仿真[M].北京:电子工业出版社,2007.4[4]周润景,张丽娜.PROTEUS入门实用教程[M].北京:机械工业出版社,2007.9[5]戴俊峰.嵌入式系统大屏幕LED点阵显示器[J].现代电子技术,2004,27(19):68-89,72.[6]冯寿鹏.基于嵌入式系统的LED信息显示技术研究[J].现代电子技术,2005(1):15-47.[7]楼然苗,李光飞.51系列单片机设计实例[M].北京:北京航空航天大学出版社,2003.3[8]楼然苗,李光飞.单片机课程设计指导[M].北京:北京航空航天大学出版社,2007.7[
本文标题:基于AT89C51单片机的多功能电子万年历的设计
链接地址:https://www.777doc.com/doc-5159333 .html