多功能数字钟毕业设计1.doc_第1页
多功能数字钟毕业设计1.doc_第2页
多功能数字钟毕业设计1.doc_第3页
多功能数字钟毕业设计1.doc_第4页
多功能数字钟毕业设计1.doc_第5页
免费预览已结束,剩余23页可下载查看

下载本文档

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

文档简介

多功能数字钟毕业设计长沙航空职业技术学院2011届毕业设计论文课题名称: 多功能数字钟电路设计 学生姓名: 胡 军 学生班级: 声像0801班 学 号: 200800161026 学生院系: 航空电子电气工程系 指导教师: 陈玉仙 2011年 6月摘 要随着计算机在社会领域的渗透和大规模集成电路的发展和进步,单片机的应用正在不断地深入,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,极大的提高了这些领域的技术水平和继承华程度,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,以及针对具体应用对象特点的软件结合,以作完善。单片机的技术和推广正方兴未艾。 本设计采用共阳7段LED显示器显示系统,以AT89C52单片机为核心,结合相关的元器件,再配以相应的软件,以达到制作数字钟的目的。本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。本系统成功的实现了要求的基本功能,而且多数发挥部分也得到了实现,而且还具有一定的创新功能。关键词: AT89C52单片机;数码显示器AbstractWith the computer penetration in the social sphere and the development and progress of large scale integrated circuit, microcontroller applications are constantly in-depth, often microcontroller as a core component to use, in accordance with specific hardware architecture, because it has the function of small volume , low power consumption, cheap, reliable, easy to use features, greatly improve the level of technology in these areas and the degree of inheritance of China, it is particularly suitable for control of the system and, more widely used in automatic control , intelligent instruments, meters, data acquisition, military products and household appliances and other fields, as well as application-specific software features object combine to make perfect. Microcontroller technology and extension is in the ascendant.This design uses a total of 7-segment LED display shows positive system to AT89C52 microcontroller as the core, combined with the components, which together with the corresponding software, in order to achieve the purpose of making digital clock. Most of the functionality of the system implemented by software, hardware and software of absorbing the idea, most of the functions realized by software, so that the circuit is simple, system stability greatly improved. This system requires the successful realization of the basic functions, and most have been realized to play a part, but also has some innovative features.Keywords:AT89C52 microcontroller, Digital display目录摘 要 2Abstract 3目录 4引 言 51.1 课题的意义 5第2章 系统设计 62.1 设计要求 62.2 工作原理 62.3系统硬件电路的设计 72.3.1共阳极7段数码显示模块 82.3.2系统电源模块 82.3.3时钟校正和整点报时模块 82.4系统程序的设计 92.4.1主函数 92.4.2 LED主函数显示函数 92.4.3LED子函数显示函数 102.4.4定时器T0中断函数 102.4.5调时功能函数 102.4.6整点报时函数 10第3章 硬件调整及性能分析 113.1 七段显示器的原理 113.2 单片机89C51 123.3 振荡器特性 15第4章 软件及程序调试 164.1 软件调试 164.2 性能分析 164.3 Protues截图 16毕业设计致谢 19参考文献 20附录 21参考程序: 21电路图: 28引 言1.1 课题的意义时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。目前20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此,研究数字钟及扩大其应用,有着非常现实的意义。第2章 系统设计2.1 设计要求要求其显示时间范围是00:00:0023:59:59,准确计时,以数字形式显示时、分、秒;具有整点报时功能,时钟校正功能同时还有双电源供电。2.2 工作原理数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路.由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定.通常使用石英晶体振荡器电路构成数字钟.图 2.2所示为数字钟的一般构成框图.图2.1晶体振荡器电路晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定.不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路.如图2.1分频器电路分频器电路将32768Hz的高频方波信号经32768()次分频后得到1Hz的方波信号供秒计数器进行计数.分频器实际上也就是计数器.时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器.译码驱动电路 译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流.2.3系统硬件电路的设计时钟计时器的硬件电路如图2.1所示,采用AT89C51单片机最小化应用设计,显示采用共阳7段LED显示器,P0口输出段选数据,P2口输出位选数据,P3.0、P3.1和P3.2、P3.7分别接3个按钮开关及接地,用以实现调时、调分、调秒功能。电源部分采用直流稳压电源作为系统主电源,干电池作为辅助电源。不仅不需要经常更换电源,并且当市电停止时能够采用干电池做为系统电源,使用更加安全可靠,P17是蜂鸣器的接口。图2.22.3.1共阳极7段数码显示模块图2.3显示采用共阳7段LED显示器,P0口输出段选数据,P2口输出位选数据,其特点:控制方式相对简单,价格比较便宜,且占用I/O口较少,硬件连接简单,但显示效果一般。2.3.2系统电源模块图2.4双电源设计是本设计的重点。220V交流转5V直流稳压电源会更加安全、实用。当没有交流电时,系统采用干电池供电;当接通交流电时,则电路自动切换到交流电供电,并且对干电池进行慢性充电。2.3.3时钟校正和整点报时模块图2.52.4系统程序的设计2.4.1主函数本设计中计时采用计时器T0中断完成,其余状态循环调用显示子程序及键扫描子函数,当端口开关按下时,转入相应调时功能。其余函数执行流程如图2.5所示。开始进入主程序T1设置为16位计数器,并允许中断调用初始化程序 一直保持扫描显示及按键程序调用显示子程序调用整点报时程序判断键是否按下进入调时功能结束图2.62.4.2 LED主函数显示函数数码管显示的数据存放在内存单元table0table7中,其中table0table1存放秒数据,table3table4存放分数据,table6table7存放时数据,每一单元内均为十进制BCD码。由于采用软件的动态扫描实现数据显示功能,显示用的BCD码数据的对应断码存放在ROM表中,显示时,先取出table0tabe7中的某一数据,然后查得对应的显示断码从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。2.4.3LED子函数显示函数 本函数用于当进入调时功能的时候显示相应的秒、时、分数据,采用动态扫描实现显示功能,该函数有四个参数分别为个位数据的段选数据和位选数据,十位数据的段选数据和位选数据。2.4.4定时器T0中断函数定时器T0用于时间计时。定时溢出中断周期可设为50ms,中断进入后先判断,中断计时累计20次(即1s)时对秒计数单元进行加1操作。时钟计数单元在定义的6个单元(timedata6)中,timedata0 timedata1存放秒数据, timedata2 timedata3存放分数据,timedata4 timedata5存放时数据。最大计时值为23小时59分59秒。在计数单元中采用十进制BCD码计数,秒、分、时之间满60进位。2.4.5调时功能函数调时功能函数的设计方法是:按下S1键,进入秒状态,时钟停止走动,按下S2或S3键可进行加1或减1操作,相应的两位数据显示状态为0到59,继续按下S1键可分别进行分、时调整,最后按S1键将退出调整状态,时钟开始计时运行。2.4.6整点报时函数整点报时函数的设计方法是:当分和秒位显示的都是00时,P17口输出一个高电平,使蜂鸣器处于工作状态,经过1秒2秒,P17口停止输出,蜂鸣器停住工作。第3章 硬件调整及性能分析3.1 七段显示器的原理LED显示器由若干个发光二极管组成,当发光二极管导通时,相应一个笔画或一个点就发光。控制相应的二极管导通,就能显示出对应字符。七段LED通常构成字形“”,还有一个发光二极管用来显示小数点。在七段LED显示器中,通常将各段发光二极管的阴极和阳极连在一起作为公共端,这样可以是驱动电路简单。将各段发光二极管连在一起的叫共阳极显示器,用低电平驱动,将阴极连在一起的叫共阴极显示器,用高电平驱动。显示方式及接口, 动态显示某一时刻,只有一位LED被选通显示,其余位则是熄灭的;人眼看到的是8位稳定的同时显示的字符。图3.1共阴极显示器3.2 单片机89C51图3.280C52的引脚封装VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。3.3 振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。第4章 软件及程序调试4.1 软件调试软件调试用Keil C51编辑器,源程序编译及仿真调试应分段或以子函数为单位一个个的进行,最后可结合硬件实时运行调试。4.2 性能分析按照设计程序分析,LED显示器动态扫描频率约为167Hz,实际使用观察时完全没有闪烁,实际计时时精度较高,可满足一般场合的应用需要。4.3 Protues截图图4.1总电路 图4.2调秒图4.3调分图4.4调时毕业设计致谢本次设计能够顺利完成,首先我要感谢我的母校长沙航空职业技术学院,是她为我们提供了学习知识的土壤,使我们在这里茁壮成长;其次我要感谢电子系的老师们,他们不仅教会我们专业方面的知识,而且教会我们做人做事的道理;尤其要感谢在本次设计中给与我大力支持和帮助的陈玉仙老师,每有问题,老师总是耐心的解答,使我能够充满热情的投入到毕业设计中去;还要感谢我的同学们,他们热心的帮助,使我感到了来自兄弟姐妹的情谊;,感谢您们为我们提供一个良好的环境,使本次设计圆满完成。参考文献1 李全利.单片机原理及接口技术.北京:高等教育出版社,20082 康华光.电子技术基础.北京:高等教育出版社,20063 李玉峰,霓虹霞.CS-51系列单片机原理与接口技术M.人民邮电出版社,2004.4 薛栋梁MCS-51单片机原理与运用(二)M.中国水利出版社,2001.5 王晓君,安国臣等.CS-51及兼容单片机原理与选型M.电子工业出版社,2002.6 张立科.片机典型模块设计实例导航M.人民邮电出版社,2006.7 张毅刚,彭信源,谭晓明等.CS-51单片机应用设计M.哈尔滨上业大学出版社,1997.8 刘玉丰.项电能仪表专用芯片AD7755J.现代电子技术,2001.9 Ateml公司.T89C51单片及引脚及其使用说明M.Ateml公司,2004.10 李少军,王厚军.适用接口技术M.成都电子科技大学出版社,1998.11 邻宽明.片机器件外围适用手册M.北京航空航天人学出版社,2002.附录参考程序:#include #define uint unsigned int#define uchar unsigned charsbit rd=P34;/接三个按键另一端,提供0状态sbit s1=P35;/定义按键1sbit s2=P36;/定义按键2sbit s3=P37;/定义按键3sbit bs=P17;/蜂鸣器uint miaoge,miaoshi,fenge,fenshi,shige,shishi;char miao,fen,shi;uchar count,s1num;uchar code table=/数组定义相应数字的段选0xc0,0xf9,0xa4,0xb0,0x99,/显示数据0x92,0x82,0xf8,0x80,0x90;void delay(uint n)/延时子程序uint x,y;for(x=n;x0;x-)for(y=0;y59) /显示秒的两位数码管从0到59miao=0;/循环显示if(s1num=2)/分数据增1fen+;if(fen59)/显示分的两位数码管从0到59fen=0;/循环显示if(s1num=3)/时数据增1shi+;if(shi23)/显示时的两位数码管从0到23shi=0;/循环显示if(s1num=4)/如果按四下S1键,则时钟开始计/时,并显示八位数码管s1num=0;TR0=1;if(s3=0)/减1按键扫描程序delay(5);/消抖if(s3=0)while(!s3);/等待按键释放if(s1num=1)/秒数据减1miao-;if(miao0)/秒数据从0到59循环显示 miao=59;if(s1num=2)/分数据减1fen-;if(fen0)/秒数据从0到59循环显示fen=59;if(s1num=3)/时数据减1shi-;if(shi0)/时数据从0到23循环显示shi=23;if(s1num=4)s1num=0;TR0=1;void keyscan()/主程序按键扫描程序if(s1=0)delay(5);/消抖动if(s1=0)s1num+;while(!s1);/等待按键释放if(s1num=1)/如果按一下S1键,则进入秒调整,/此时数码管只显示秒两位while(s1!=0)TR0=0;xs(miaoshi,0x40,miaoge,0x80);keyscan1();/扫描

温馨提示

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

评论

0/150

提交评论