电子万年历的设计论文_第1页
电子万年历的设计论文_第2页
电子万年历的设计论文_第3页
电子万年历的设计论文_第4页
电子万年历的设计论文_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z**登云科技职业学院学生毕业设计〔毕业论文〕设计题目电子万年历**郁昊**0901311140系、专业信息技术系应用电子班级应用电子09-1指导教师*有涛2012年4月25日目录摘要1引言2第一章总体要求3§1.1作品要求3§1.2方案论证3控制局部的方案选择3显示局部的方案选择3第二章系统硬件设计4§2.1单片机系统及显示电路4§2.2驱动电路5§2.3时钟控制电路5第三章软件设计7第四章调试8§4.1硬件调试8§4.2软件调试8第五章总结9致谢10参考文献11附录A12附录B13附录C14-.z电子万年历的设计摘要电子万年历是一种应用非常广泛的日常计时工具,数字显示的日历钟已经越来越流行,特别是适合在家庭居室、办公室、大厅、会议室、车站和广场等使用,壁挂式LED数码管显示的日历钟逐渐受到人们的欢送。LED数字显示的日历钟显示清晰直观、走时准确、可以进展夜视,本设计利用数量较少的芯片制作了一个运用简单的电子万年历。以单片机作为本设计的核心,实现时钟日历的显示:用八段LED数码管分别显示年、月、日、星期、时、分、秒,用DS1302作为该设计的实时时钟芯片,用74LS164存放器来驱动数码管的各段码,用三极管来驱动数码管的各位码。关键词:单片机、DS1302时钟芯片、数码管引言年历,是指印有一年的月份、星期、日期、节气等的印刷品。人们习惯把单*年历、月历、日历都划入广义的年历*畴内。几十年来,年历的开展见证了科技的开展和时代的变迁。年历工艺的进步显示了科技的开展和人民生活水平的提高。随着科学技术的开展,以前的年历已开展成现代的电子万年历,它一开场是采用数字电路实现的,电路复杂,准确度差,每天都需要调时,由于数字集成电路的开展和石英晶体振荡器的广泛应用,使得它的电路越来越简单,精度也越来越高,现在的电子万年历一般都用集成芯片和软件结合实现,电路简单,制作方便,给人们生产生活都来了极大的便利,它已成为我们生活中不可缺少的家居用品。总体要求§1.1作品要求本作品电子万年历用LED数码管显示阳历年、月、日、星期、时、分、秒。通过按键开关实现调时的功能,能调时,断电有实时时钟。§1.2方案论证§控制局部的方案选择一、用可编程逻辑器件设计可采用PLD器件。设计起来构造清晰,各个模块从硬件上设计起来相对简单,控制与显示的模块间的连接也会比拟方便。但是考虑到本设计的特点,EDA在功能扩展上比拟受局限,而且EDA占用的资源也相对多一些。从本钱上来讲,用可编程逻辑器件来设计没有什么优势。

二、用单片机设计单片机有丰富的中断源,方便本实验的设计。它的准确度相当高,并且C语言和汇编兼容的编程环境也很方便来实现一些调用。I/O口功能也比拟强大,方便使用。方便对设计进展扩展,使设计更加完善。本钱也相对低一些,虽然在控制与显示的结合上有些复杂,但和前则相比用单片机设计还是比拟可行的。§1.2.2显示局部的方案选择一、液晶显示方式液晶显示效果出众,但是在显示时,屏幕会有明显的闪烁。而且存储空间有限,大大影响了电子万年历的性能。

二、数码管显示相比液晶显示,采用七段数码管既经济实惠,在效果上也可以参加语音报时功能,操作比拟液晶显示来说虽然略显繁琐,但总体也还可以做到比拟人性化。所以,最后选择用LED数码管做显示局部。系统硬件设计硬件电路主要分为单片机系统及显示电路、按键电路和时钟控制电路等几局部组成。设计框图如图2.1。主控芯片〔单片机〕主控芯片〔单片机〕按键控制按键控制时钟控制时钟控制显示电路显示电路图2.1电子万年历设计框图§2.1单片机系统及显示电路单片机采用89C51利用它的最小应用系统设计,如下列图,电容C8,C13起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。晶振频率的典型值为12MHz,采用6MHz的情况也比拟多。内部振荡方式所得的时钟信号需要比拟稳定时,用12MHz高精度的晶振,以获得较稳定的时钟频率,减小时差。在本设计中用12MHz比拟适当,相对的电容取为20PF。显示电路采用简单实用的共阳LED数码管,电阻选用200欧姆即可获得适宜的亮度效果,段码用74LS164芯片驱动,位码用PNP三极管9012驱动。单片机系统及显示电路如图2.2所示。图2.2单片机及显示系统电路图§2.2驱动电路驱动电路采用74LS164的芯片来驱动,在单片机系统中,如果并行口的IO资源不够,而串行口又没有其他的作用,则我们可以用74LS164来扩展并行IO口,节约单片机资源它是一个8位并行输出门控串行输入移位存放器,其显示数据以串行方式从单片机的输出口输出送往移位存放器74LS164的A、B端,然后将转换的并行数据从输出端Q0~Q7输出,几乎同时驱动与之相接的LED数码管,各个数码管便以很短时间间隔轮流显示。由于人眼的残留效应,所以各个数码管看上去几乎是同时显示的。74LS164的引脚定义及真值表如下列图2.3。输入输出工作方式输入输出工作方式MRABQ0QA-QHMRABQ0QA-QHL–Lqa-qhqa-qhqa-qhqa-qhL–Lqa-qhqa-qhqa-qhqa-qhLLLLH*LHLH*LLHHLHHHH复位〔去除〕移位移位图2.374LS164的引脚定义及真值表§2.3时钟控制电路本设计的实时时钟电路用DS1302,如图2.4,它的工作电压一般为2.5-5.5V,它的主要特点是采用串行数据传输,同时增加了主电源/后背电源双电源引脚,可以为掉电保护电源提供可编程的充电功能。采用32kHz的晶振,电容一般用10PF就可以起到稳定振荡频率和快速起振的作用了。图2.4时钟电路DS1302是一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进展计时,具有闰年补偿功能。采用三线接口与CPU进展同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302有12个存放器,其中有7个存放器与日历、时钟相关,存放的数据位为BCD码形式,其日历、时间存放器及其控制字。此外,DS1302还有年份存放器、控制存放器、充电存放器、时钟突发存放器及与RAM相关的存放器等。时钟突发存放器可一次性顺序读写除充电存放器外的所有存放器内容。软件设计电子万年历的软件程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断效劳程序中完成。从本设计的原理图上可以看出,单片机从P3口输出位选码,从P0口输出段选码,LED就会显示出数字来。但P0口的输出的数据是要BCD码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0口去驱动LED数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD码行转换后,将各个单元数据的段选代码送入P0口,给74LS164译码后去驱动数码管显示。软件总体设计如图3.1、3.2。定时开关子程序定时开关子程序取时间存放器数据数据处理取时间开关存放器数据按开关条件生成开关数据开关数据送P1口返回读取时间存放器数据读取时间存放器数据数据处理送显示缓冲区调显示子程序判断有按键按下调定时开关子程序开场图3.1主函数流程图3.2定时开关子程序调试§4.1硬件调试电子万年历硬件的制作和调试都比拟简单,焊接的时候要仔细的对照原理图或PCB板图,以免把元器件弄错,焊接时要注意,不要出现虚焊。等完全焊接好后要再检查一遍,确定无误后就开场调试。接上电源,看一下电源的指示灯有没有亮,如果亮了就说明有电源输入,在检测一下单片机的电源脚〔40号脚〕是否有电源,如果有适当的电压说明电源局部没有问题。在硬件调试时也可以先在芯片中烧一个简单的显示程序,看一下驱动局部和显示局部能不能正常工作。如数码管显示不正常,有断码时要检查一下数码管的管脚有没有虚焊。§4.2软件调试确定硬件没有了错误后,根据原理,连接图编写程序,编译无误后可以先在仿真器上仿真一下,看一下程序是否按自己编写的效果显示出来。一开场程序经自己及向同学请教编写好以后,用仿真器试用了一下,万年历不能按照正常现象从数码管上的显示出来,原以为是在编写程序中出了问题,才使得该万年历不能正常工作,又去找软件比拟懂的同学请教了一下,他们说软件可以用,没问题,于是又把程序直接烧入芯片再看一下它的显示情况,经过观察,该万年历除了小时每天差四个小时另外的都可行。换了一块时钟芯片试用看看,结果却可以正常运行了,原来是时钟芯片出了问题。经使用观察该万年历可以正常使用,显示正确。总结通过这次制作使我了解了整个万年历的工作过程和各个局部的工作过程,使我体会到利用单片机设计的电子万年历便于操作、直观。经实际使用观察证明,该万年历能到达任务书上的要求,能正确的显示年、月、日、星期、时、分、秒,能通过按键切换调时,误差为12秒/天,到达了设计的要求,总的来说制作还是成功的!在本次制作中,碰到了很多问题,但经过了教师、同学的指导和帮助,这些问题根本上得到了解决。另外软件局部还需要多多向教师或同学学习。在这个设计中还有待提高的地方,由于本次制作时间紧迫,有些元器件还没能通过软件程序得到运用,有些问题还待解决。比方一开场插上电源使用时做调时切换用的按键不灵活等。总之,通过这次的毕业设计使我对本门专业知识有了进一步的学习,提高了我收集资料的能力,动手的能力。对书本中学到的知识也有了进一步的认识。致谢本文是在*有涛教师的全面指导中完成的,教师认真负责的工作态度促使我更好的完成了本毕业设计,与教师的相处时间不多,但教师对专业知识的态度非常值得我学习,让我对本专业有了更大的学习兴趣,在论文完成之际,向教师致以最真挚的感谢和最崇高的敬意!参考文献1[1]、余永权等.单片机在控制系统中的应用:电子工业,2004。[2]、李华.MCS-51系列单片机实用接口技术:航空航天大学,2004。[3]、李光飞等.单片机课程设计实例指导:航空航天大学,2004。[4]、李光飞等.单片机C程序设计实例指导:航空航天大学,2005.9。[5]、*文涛等.MCS-51单片机培训教程:电子工业,2005.8附录A实物图附录B电路原理图附录C主要程序;;;;;;;;;;;;;;;;;;;;;;主程序;;;;;;;;;;;;;;;;;;;;;;;START:SETBEAMOVSCON,*00H;;串行输出,方式0MOVTMOD,*10H;计数器1,方式1MOVTL1,*00HMOVTH1,*00HMOVDS1302_ADDR,*8EHMOVDS1302_DATA,*00H;允许写1302LCALLWRITEMOVDS1302_ADDR,*90HMOVDS1302_DATA,*0A6H;1302充电,充电电1.1MALCALLWRITEMAIN1:MOVDS1302_ADDR,*8DH;读出年LCALLREADMOVyear,DS1302_DATAMOVDS1302_ADDR,*8BH;读出星期LCALLREADMOVweek,DS1302_DATAMOVDS1302_ADDR,*89H;读出月LCALLREADMOVmonth,DS1302_DATAMOVDS1302_ADDR,*87H;读出日LCALLREADMOVday,DS1302_DATAMOVDS1302_ADDR,*85H;读出小时LCALLREADMOVhour,DS1302_DATAMOVDS1302_ADDR,*83H;读出分钟LCALLREADMOVmintue,DS1302_DATAMOVDS1302_ADDR,*81H;读出秒LCALLREADMOVsecond,DS1302_DATAMOVR0,year;年别离,送显示缓存LCALLDIVIDEMOV7BH,R1MOV4BH,R1MOV7CH,R2MOV4CH,R2MOV78H,weekMOV48H,weekMOVR0,month;月别离,送显示缓存LCALLDIVIDEMOV79H,R1MOV49H,R1MOV7AH,R2MOV4AH,R2MOVR0,day;日别离,送显示缓存LCALLDIVIDEMOV76H,R1MOV46H,R1MOV77H,R2MOV47H,R2MOVR0,hour;小时别离,送显示缓存LCALLDIVIDEMOV74H,R1MOV44H,R1MOV75H,R2MOV45H,R2MOVR0,mintue;分钟别离,送显示缓存LCALLDIVIDEMOV72H,R1MOV42H,R1MOV73H,R2MOV43H,R2MOVR0,second;秒别离,送显示缓存LCALLDIVIDEMOV70H,R1MOV40H,R1MOV71H,R2MOV41H,R2;;;;;;;;;;;;;;;;;;;闪动调时程序;;;;;;;;;;;;;;;;;;INTT1:PUSHACCPUSHPSWGFLASH:CPL0FH0FH,GFLASH1MOV7CH,4CH;全部显示MOV7BH,4BHMOV7AH,4AHMOV79H,49HMOV78H,48HMOV77H,47HMOV76H,46HMOV75H,45HMOV74H,44HMOV73H,43HMOV72H,42HMOV71H,41HMOV70H,40HGFLASHOUT:POPPSWPOPACCRETIGFLASH1:0AH,GFLASH2;调年闪MOV7CH,*0AHMOV7BH,*0AHAJMPGFLASHOUTGFLASH2:0BH,GFLASH3;调月闪MOV7AH,*0AHMOV79H,*0AHAJMPGFLASHOUTGFLASH3:0CH,GFLASH4;调日闪MOV77H,*0AHMOV76H,*0AHAJMPGFLASHOUTGFLASH4:0DH,GFLASH5;调星期闪MOV78H,*0AHAJMPGFLASHOUTGFLASH5:0EH,GFLASH6;调小时闪MOV75H,*0AHMOV74H,*0AHAJMPGFLASHOUTGFLASH6:MOV73H,*0AH;调分钟闪MOV72H,*0AHAJMPGFLASHOUT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;写1302程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WRITE:CLRSCLKNOPSETBRSTNOPMOVA,DS1302_ADDRMOVR4,*8WRITE1:RRCA;送地址给1302NOPNOPCLRSCLKNOPNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE1CLRSCLKNOPMOVA,DS1302_DATAMOVR4,*8WRITE2:RRCANOP;送数据给1302CLRSCLKNOPNOPMOVIO,CNOPNOPNOPSETBSCLKNOPNOPDJNZR4,WRITE2CLRRSTRET;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;读1302程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;READ:CLRSCLKNOPNOP

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论