基于51单片机的数码管万年历设计论文_第1页
基于51单片机的数码管万年历设计论文_第2页
基于51单片机的数码管万年历设计论文_第3页
基于51单片机的数码管万年历设计论文_第4页
基于51单片机的数码管万年历设计论文_第5页
已阅读5页,还剩24页未读, 继续免费阅读

下载本文档

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

文档简介

PAGE29PAGE17基于基于51单片机的数码管万年历电子信息工程电子信息工程系201年1月日本人郑重声明:所呈交的毕业设计文本和成果,是本人在指导老师的指导下,独立进行研究所取得的成果。成果不存在知识产权争议,本毕业设计不含任何其他个人或集体已经发表过的作品和成果。本人完全意识到本声明的法律结果由本人承担。毕业设计者签名:目录摘要 61总体方案设计 61.1设计要求 61.2单片机芯片的选择方案和论证 61.3显示模块设计与论证 61.4选择方案和论证 71.5最终方案决定 72单片机的设计结构 72.1电路设计框图 72.2软件总体部分的设计 72.3主要单元电路的设计 82.4接口的设计 82.5电路原理及说明 92.6数码管显示模块 93系统的软件设计 103.1软件流程框图(如图5) 103.1.1时间调整程序流程图(如图6) 114系统的调试与分析 124.1测试工具如表1所示 124.2硬件测试和软件测试 124.3结果分析与结论 134.4最终测试结论 13总结 13致谢 14参考文献 14附录一:原理图 14附录二:系统仿真图 15附录三:PCB图和实物图 15附录四:系统元器件清单 17附录五:源程序 18摘要单片机应用技术飞速发展,纵观我们现在生活的各个领域,从导弹的导航装置,到飞机上各种仪表的控制,从计算机的网络通讯与数据传输,到工业自动化过程的实时控制和数据处理,以及我们生活中广泛使用的各种智能IC卡、电子宠物等,这些都离不开单片机。单片机是集CPU,RAM,ROM,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。本文通过对一个基于单片机的能实现万年历功能电子时钟的设计,从而达到学习、了解单片机相关指令在各方面的应用。系统由主控制器AT89C51、显示电路、按键电路、和复位电路等部分构成,能实现时钟日历显示的功能,能进行时、分、秒的显示。关键词:单片机;动态扫描;LED数码管.1总体方案设计1.1设计要求具有年、月、日、星期、时、分、秒等功能;时间与阴、阳历能够自动关联;具备年、月、日、星期、时、分、秒校准功能;1.2单片机芯片的选择方案和论证采用89C51芯片作为硬件核心,采用FlashROM,内部具有4KBROM存储空间,能于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次拔插会对芯片造成一定的损坏。采用AT89S52,片内ROM全都采用FlashROM;能以3V的超底压工作;同时也与MCS-51系列单片机完全该芯片内部存储器为8KBROM存储空间,同样具有89C51的功能,且具有在线编程可擦除技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,不需要对芯片多次拔插,所以不会对芯片造成损坏,所以选择采用AT89S52作为主控制系统。1.3显示模块设计与论证采用LCD液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字,图形,显示多样,清晰可见,但是价格昂贵,需要的接口线多,所以在此设计中不采用LCD液晶显示屏.采用点阵式数码管显示,点阵式数码管是由八行八列的发光二极管组成,对于显示文字比较适合,如采用在显示数字显得太浪费,且价格也相对较高,所以也不用此种作为显示.采用LED数码管动态扫描,LED数码管价格适中,对于显示数字最合适,而且采用动态扫描法与单片机连接时,占用的单片机口线少。而且显示效果鲜明,所以采用了LED数码管作为显示。1.4选择方案和论证直接采用单片机定时计数器提供秒信号,使用程序实现年、月、日、星期、时、分、秒计数。采用此种方案虽然减少芯片的使用,节约成本,但是,实现的时间误差较大。所以不采用此方案。1.5最终方案决定综上各方案所述,对此次作品的方案选定:采用AT89S52作为主控制系统;LED数码管动态扫描作为显示,TX2A/2B作为遥控电路。2单片机的设计结构2.1电路设计框图如图1所示LED数码管动态扫描显示模块AT89S52LED数码管动态扫描显示模块AT89S52主控制模块键盘模块开关控制开关控制图1电路设计框图2.2软件总体部分的设计本电路是由AT89S52单片机为控制核心,具有在线编程功能,低功耗,能在3V超低压工作;采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。可产生年、月、日、周日、时、分、秒,具有使用寿命长,精度高和低功耗等特点,同时具有掉电自动保存功能;显示部份由19个数码管,74ls164译码器构成。使用动态扫描显示方式对数字的显示。2.3主要单元电路的设计AT89S52单片机为40引脚双列直插芯片,有四个I/O口P0,P1,P2,P3,MCS-51单片机共有4个8位的I/O口(P0、P1、P2、P3),每一条I/O线都能独立地作输出或输入。单片机的最小系统如下图所示,18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,XTAL2接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出.第9引脚为复位输入端,接上电容,电阻及开关后够上电复位电路,20引脚为接地端,40引脚为电源端.如图2所示图2主控制系统2.4接口的设计STC89C51RC单片机共有4个8位并行I/O端口,分别记作P0-P3,共有32根端口线,各端口的每一位都包含一个锁存器、一个输出驱动器和两个输入缓冲器所组成。实际上它们已被归入特殊功能寄存器之列。并且有字节寻址,位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统工程中,这4个口的每一位均可作为双向的I/O端口使用。4个I/O口都是8位双向口,由于它们在结构上有一些差异,故各口的性质和功能有一些差异。P0口是双向8位三态I/O口,此口可作为系统的低地址总线及数据总线使用,可驱动8个LS型TTL负载。P1口是8位准双向I/O口,其内部有上拉电阻,作为输出口使用时,已经能向外提供推拉电流负载,因而无需再外接上拉电阻,也可驱动4个LS型负载。P2口是8位准双向I/O口,与高地址总线复用,可驱动4个LS型TTL负载。P3口是8位准双向I/O口,是双功能复用口,可驱动4个LS型TTL负载。P2口、P3口各I/O口线片内也均有固定的上拉电阻,当这3个准双向I/O口做输入口使用时,要向该口先写“1”,另外准双向I/O口无高阻的“浮空”状态,故称为双向三态I/O口。2.5电路原理及说明图3电路原理图STC89C51RC单片机是MCS-51单片机系列的一种;单片机是把那些作为控制应用所必需的基本内容都集成在一个尺寸有限的集成电路芯片上。如果按功能划分,它由如下功能部件组成,即微处理器(CPU)、内部数据存储器(RAM)、内部程序存储器(ROM)、并行I/O口、串行口、定时器/计数器、中断控制系统及特殊功能寄存器(SFR)。它们都是通过片内单一总线连接而成,但对各种功能部件的控制是采用特殊功能寄存器(SFR)的集中控制方式。STC89C51RC单片机的可擦除只读存储器可以反复擦除1000次。2.6数码管显示模块如图3所示,采用动态扫描显示,由19个数码管,8位移位寄存器(串行输入,并行输出)74LS164接1K限流电阻,再用8550三极管接到共阳数码管的COM端作为选通位码,每位选择相应的列。74LS164接1k限流电阻,再接每行的LED数码管的断码。、图4显示模块3系统的软件设计3.1软件流程框图(如图5)初始化初始化开始读、写日期、时间分离日期、时间、显示日期、时间修改子程序农历自动更新子程序闰月子程序返回显示子程序图5软件程序框图3.1.1时间调整程序流程图(如图6)开始开始控制键有效,进入年调整程序等待按键程序加键有效减键有效年加1年减1控制键有效,进入日调整程序等待按键程序加键有效减键有效日加1日减1控制键有效,进入小时调整程序等待按键程序加键有效减键有效时加1时减1控制键有效,进入月调整程序等待按键程序加键有效减键有效月加1月减1控制键有效,进入星期调整程序等待按键程序加键有效减键有效星期加1星期减1控制键有效,进入分钟调整程序等待按键程序加键有效减键有效分钟加1分钟减1按键有效,跳出时间调整程序,进入主循环图6时间调整程序流程图4系统的调试与分析4.1测试工具如表1所示表1测试工具序号名称型号1PC机华硕K40in笔记本2双路直流稳压电源CA17303D3ISIS7Professional软件8.2版本4数字万用表DT92085ISP在线编程器74ls3734.2硬件测试和软件测试电子万年历的电路系统较大,对于焊接方面更是不可轻视,庞大的电路系统中只要出于一处的错误,则会对检测造成很大的不便,而且电路的交线较多,对于各种锋利的引脚要特别注意处理,否则会刺被带有包皮的导线,则会对电路造成短路,数码管显示不全等现象。在本成电子万年历的设计调试中遇到了很多的问题。回想这些问题只要认真多思考都是可以避免的,以下为主要的问题:(1)LED数码管的断码错乱,原因出于有数码管引脚虚焊,搭焊。解决:重新检查数码管引脚的焊接端排除搭焊,补焊问题管脚,即可解决出的断码或乱码。(2)对万年历修改时间或日期时,有时LED数码管被屏蔽掉,造成不亮现象。解决:根据仪器的测试,发现电路的驱动能力不足,最后在DS1302时钟芯片的/CS、SCLK、RET端接入5.1K的上拉电阻后,电路的驱动能力才能满足,即可解决不亮现象。电子成年历是多功能的数字型,可以看当前日期(阴、阳历),时间,还有温度的仪器。电子成年历功能很多,所以对于它的程序也较为复杂,所以在编写程序和调试时出现了相对较多的问题。最后经过多次的模块子程序的修改,一步一步的完成,最终解决了软件。在软件的调试过程中主要遇到的问题如下:1.烧入程序后,LED数码管显示闪动,而且亮度不均匀。解决:首先对调用的延时进行逐渐修改,可以解决显示闪动问题。其次,由于本作品使作动态扫描方式显示的数字,动态扫描很快,人的肉眼是无法看出,但是调用的显示程序时,如果不在反回时屏蔽掉最后的附值,则会出现很亮的现象,所以在显示的后面加了屏蔽子程序,最后解决了此问题。2.修改时间、日期时没有农历没有自动对应上。解决:把不相关的程序暂时屏蔽,地农历的子程序独立调试,发现在调用农历自动更新时,对十进制和十六进制处理不好,所以会造成错乱。最后把相应的十进制进行修改,使得可以与十六进制对应,最后解决了此问题.4.3结果分析与结论(1).在测试中遇到发光二极管、LED数码管为不显示时,首先使用试测仪对电路进行测试,观察是否存在漏焊,虚焊,或者元件损坏.(2).LED数码管显示不正常,还有亮度不够,首先使用试测仪对电路进行测试,观察电路是否存在短路现象。查看烧写的程序是否正确无误,对程序进行认真修改。4.4最终测试结论经过多次的反复测试与分析,可以对电路的原理及功能更加熟悉,同时提高了设计能力与及对电路的分析能力.同时在软件的编程方面得到更到的提高,对编程能力得到加强.同时对所学的知识得到很大的提高与巩固.总结在整个设计过程中,发挥团队精神,分工合作,充分发挥人的主观能动性,自主学习,学到了许多没学到的知识。较好的完成了作品。达到了预期的目的,在最初的设计中,发挥“三个臭皮匠,顶个诸葛亮”的作用。相互学习、相互讨论、研究。完了最初的设想。在电路焊接时虽然没什么大问题,但从中也知道了焊接在整个作品中的重要性,电路工程量大,不能心急,一个个慢慢来不能急于求成。反而达到事半功倍的效果。对电路的设计、布局要先有一个好的构思,才显得电路板美观、大方。程序编写中,由于思路不清晰,开始时遇到了很多的问题,经过静下心来思考,和同组员的讨论,理清了思路,反而得心应手。在此次设计中,知道了做凡事要有一颗平常的心,不要想着走捷径,一步一脚印。也练就了我们的耐心,做什么事都在有耐心。此次比赛中学到了很多很多东西,这是最重要的。总之,参加电子竞赛我们的能力得到了全方位的提高致谢我不会忘记这难忘的几个月的时间。毕业论文的制作给了我难忘的回忆。脚踏实地,认真严谨,实事求是的学习态度,不怕困难、坚持不懈、吃苦耐劳的精神是我在这次设计中最大的收益。我想这是一次意志的磨练,是对我实际能力的一次提升,也会对我未来的学习和工作有很大的帮助。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在此更要感谢我的指导老师和专业老师,是你们的细心指导和关怀,使我能够顺利的完成毕业论文。在此我要向司老师致以最衷心的感谢和敬意;参考文献【1】.楼然苗李光飞·单片机课程设计指导·北京:北京航空航天大学出版社2008【2】张立科·单片机通信技术与工程实践·北京:人民邮电出版社,2005【3】张凯等编著·MCS-51单片机综合系统及其设计开发·北京:科学出版社,1996【4】朱宇光编著·单片机应用新技术教程·北京:电子工业出版社,2000【5】余永权·89系列FLASH单片机原理与应用·北京:电子工业出版社,2000【6】楼然苗,李光飞·51系列单片机设计实例·北京:北京航空航天大学出版社,2003【7】李东生·PROTEL99SE电路设计技术入门与应用·北京:电子工业出版社,2002附录一:原理图附录二:系统仿真图注:本仿真是在ISIS7Professional软件下仿真实现,打开软件仿真时万年历自动关联到电脑系统即时时间,在软件仿真时会发现时间走得比电脑系统时间要每分钟慢大概2-3秒附录三:PCB图和实物图由下示意图图可知,本设计的食物具有年、月、日、时、分、秒、星期和农历显示的功能,总共由19个LED数码管显示,如下图-a所示。实物面板说明:正面:屏幕相对于LCD液晶显示来说,比较直观,易于查看时间,尤其是夜间更是光亮照人,比较好看,缺点是相对于LCD来说会有点耗电,从节能减排方面来说是个大的缺点!附录四:系统元器件清单名称规格数量名称规格数量STC单片机STC89C52RC1轻触开关3排阻2211插座40P1三极管85501数码管四位共阴数码管1晶振12M1两位共阴数码管5电解电容10uF1USB电源线1铜板1电源开关1电阻10K2附录五:源程序#defineucharunsignedchar#defineuintunsignedint#include<AT89X51.H>uintsec;uintmin=50;uinthour=12;uintday=28;uintmonth=4;uintyearl=14;uintyearh=20;uinttcnt;uintcursor=0;uchara=0xff;ucharcodeSeg[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};voiddelay(uintt){uinti;while(t--){for(i=0;i<80;i++);}}voidTdelay(unsignedinti){while(i--);}voidKdelay(){uchari,j;for(i=100;i>0;i--)for(j=248;j>0;j--);}voiddisplay(ucharL1,ucharL2,ucharL3,ucharL4,ucharL5,ucharL6,ucharL7,ucharL8,ucharL9,ucharL10,ucharL11,ucharL12,ucharL13,ucharL14){P2=0x7F;P0=L1;delay(1);//yearhP2=0xBF;P0=L2;delay(1);//yearhif(cursor==6){P2=0xDF|a;P0=L3;delay(1);}else{P2=0xDF;P0=L3;delay(1);}//yearlif(cursor==6){P2=0xEF|a;P0=L4;delay(1);}else{P2=0xEF;P0=L4;delay(1);}//yearlif(cursor==5){P2=0xF7|a;P0=L5;delay(1);}else{P2=0xF7;P0=L5;delay(1);}//monthif(cursor==5){P2=0xFB|a;P0=L6;delay(1);}else{P2=0xFB;P0=L6;delay(1);}//monthif(cursor==4){P2=0xFD|a;P0=L7;delay(1);}else{P2=0xFD;P0=L7;delay(1);}//dayif(cursor==4){P2=0xFE|a;P0=L8;delay(1);}else{P2=0xFE;P0=L8;delay(1);}//dayP2=0xFF;if(cursor==3){P1=0x7F|a;P0=L9;delay(1);}else{P1=0x7F;P0=L9;delay(1);}//hourif(cursor==3){P1=0xBF|a;P0=L10;delay(1);}else{P1=0xBF;P0=L10;delay(1);}//hourif(cursor==2){P1=0xDF|a;P0=L11;delay(1);}else{P1=0xDF;P0=L11;delay(1);}//minif(cursor==2){P1=0xEF|a;P0=L12;delay(1);}else{P1=0xEF;P0=L12;delay(1);}//minif(cursor==1){P1=0xF7|a;P0=L13;delay(1);}else{P1=0xF7;P0=L13;delay(1);}//secif(cursor==1){P1=0xFB|a;P0=L14;delay(1);}else{P1=0xFB;P0=L14;delay(1);}//secP1=0xFF;}main(){TMOD=0x02;//设置模式为定时器T0的模式2(8位自动重装计数初值的计数值)TH0=0x06;//设置计数器初值,靠TH0存储重装的计数值X0=256-250=6TL0=0x06;TR0=1;//启动T0ET0=1;//开启定时器T0中断允许EA=1;//开启中断总控制while(1){if(P3_0==0) delay(100); if(P3_0==0){Kdelay();if(P3_0==0){cursor++;if(cursor>=7){cursor=0;}}}if(P3_1==0) delay(100); if(P3_1==0){Kdelay();if(P3_1==0){if(cursor==1){sec++;if(sec==60)sec=0;}if(cursor==2){min++;if(min==60)min=0;}if(cursor==3){hour++;if(hour==24)hour=0;}if(cursor==4){day++;if(day==31)day=0;}if(cursor==5){month++;if(month==12)month=0;}if(cursor==6){yearl++;if(yearl==100)yearl=0;}if(cursor==7){yearh++;if(yearh==30)yearh=20;}}}if(P3_2==0) delay(100); if(P3_2==0){Kdelay();if(P3_2==0){if(cursor==1){sec--;}if(cursor==2){min--;}if(cursor==3){hour--;}if(cursor==4){day--;}if(cursor==5){month--;}if(cursor==6){yearl--;}if(cursor==7){yearh--;}}}display(Seg[yearh/10],Seg[yearh%10],Seg[yearl/10],Seg[yearl%10],Seg[month/10],Seg[month%10],Seg[day/10],Seg[day%10],Seg[hour/10],Seg[hour%10],Seg[min/10],Seg[min%10],Seg[sec/10],Seg[sec%10]);}}voidt0(void)interrupt1usi

温馨提示

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

评论

0/150

提交评论