欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    基于51单片机的电子时钟设计与实现毕业论文.doc

    • 资源ID:3938001       资源大小:420.50KB        全文页数:37页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机的电子时钟设计与实现毕业论文.doc

    摘要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。电子时钟是采用数字电路实现对“时”、“分”、“秒”数字显示的计时装置。电子时钟的精度、稳定度远远超过老式机械钟。在这次设计中,我们采用LED数码管显示时、分、秒,以24小时计时方式,根据数码管动态显示原理来进行显示,用12MHz的晶振产生振荡脉冲,定时器计数。在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。电子时钟是其小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广大消费的喜爱,因此得到了广泛的使用。关键词:单片机; AT89S51ABSTRACTSince the 1970 s chip since the advent, with its high cost performance and attention by people and attention, it is widely used and fast development. SCM small volume, light weight, strong anti-jamming capability, environmental demand is not high, low cost, high reliability, flexibility is good, development more easy. Because of the above features, in our country, the microcontroller is widely used in industrial automation control, automatic detection, intelligent instrument and apparatus, household appliances, power electronics, mechanical and electrical equipment, and other aspects, and 51 SCM is the most typical chip and most representative one. The graduation design through to its study, application to AT89S51 chips as the core, with the necessary circuit, design of a simple electronic clock, it by 4.5 V dc power supply, through the electronic tube can show time, adjust the time, thus to learning, the design, the development of software and hardware in the ability.Electronic Clock is a electronic circuit implementation of the "when", "sub", "seconds" The figures show the timing device. Electronic clock precision, stability, far more than the old mechanical clock. In this design, we use LED electronic display hours, minutes, seconds, to 24-hour time mode, according to electronic control theory to dynamic display to display, use the 12MHz crystal oscillation pulse, the timer count. In this design, the circuit has a display time of the this function, you can also realize the time adjustment. Electronic clock is its compact, low cost, travel time and high precision, easy to use, features and more, easy integration and loved by the general consumer, so widely used.Key words: Single-chip microcomputer ; AT89S51独 创 声 明本人郑重声明:所呈交的毕业设计(论文),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议。尽我所知,除文中已经注明引用的内容外,本设计(论文)不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本声明的法律后果由本人承担。 作者签名: 二一年九月二十日 毕业设计(论文)使用授权声明本人完全了解滨州学院关于收集、保存、使用毕业设计(论文)的规定。本人愿意按照学校要求提交学位论文的印刷本和电子版,同意学校保存学位论文的印刷本和电子版,或采用影印、数字化或其它复制手段保存设计(论文);同意学校在不以营利为目的的前提下,建立目录检索与阅览服务系统,公布设计(论文)的部分或全部内容,允许他人依法合理使用。(保密论文在解密后遵守此规定) 作者签名: 二一年九月二十日目录1 绪论11.1电子时钟的背景11.2电子时钟的意义21.3电子时钟的应用22 整体设计方案32.1单片机的选择32.1.1多功能32.1.2高效率和高性能42.1.3低电压和低功耗42.1.4低价格52.2单片机电子时钟功能确定52.3 LED显示模块72.4按键模块73 PCB原理图与仿真图93.1 PCB原理图93.2仿真图104 程序设计115 结论286 参考文献307 致谢311 绪论1.1电子时钟的背景 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是电子时钟,电子时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。1.2电子时钟的意义电子时钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得电子时钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究电子时钟及扩大其应用,有着非常现实的意义。1.3电子时钟的应用电子时钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使电子时钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。 2 整体设计方案2.1单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3、3代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。其发展趋势不外乎以下几个方面:2.1.1多功能单片机中尽可能地把所需要的存储器和I/O口都集成在一块芯片上,使得单片机可以实现更多的功能。比如A/D、PWM、PCA(可编程计数器阵列)、WDT(监视定时器-看家狗)、高速I/O口及计数器的捕获/比较逻辑等。有的单片机针对某一个应用领域,集成了相关的控制设备,以减少应用系统的芯片数量。例如,有的芯片以51内核为核心,集成了USB控制器、SMART CARD接口、MP3解码器、CAN或者I*I*C总线控制器等,LED、LCD或VFD显示驱动器也开始集成在8位单片机中。2.1.2高效率和高性能为了提高执行速度和执行效率,单片机开始使用RISC、流水线和DSP的设计技术,使单片机的性能有了明显的提高,表现为:单片机的时钟频率得到提高;同样频率的单片机运行效率也有了很大的提升;由于集成度的提高,单片机的寻址能力、片内ROM(FLASH)和RAM的容量都突破了以往的数量和限制。由于系统资源和系统复杂程度的增加,开始使用高级语言(如C语言)来开发单片机的程序。使用高级语言可以降低开发 难度,缩短开发周期,增强软件的可读性和可移植性,便于改进和扩充功能。2.1.3低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V或0.9V),功耗已经降低到uA级。这些特性使得单片机系统可以在更小电源的支持下工作更长的时间。2.1.4低价格单片机应用面广,使用数量大,带来的直接好处就是成本的降低。目前世界各大公司为了提高竞争力,在提高单片机性能的同时,十分注意降低其产品的价格。2.2单片机电子时钟功能确定单片机电子时钟计 时 功 能计 时 调 整定 时 显 示定 时 调 整定 时 闹 铃计 时 显 示图2.1时钟整体布局图所需元器件如表2.1所示。表2.1电子元件列表序号名称数量序号名称数量1AT89S511片92.7K电阻7只212M晶振1个10104瓷片电容4只3共阳数码管4只1130P瓷片电容2只4PN管85507只12200电阻1只574LS2441片13560电阻8只6蜂鸣器1个1410K电阻12只7微动按键5个15100电阻4只810UF电容1只单片机电子时钟,是利用单片机技术实现计时、时间显示、时间调整、定时调整、闹铃等功能。项目完成过程中使用了外部中断技术、定时器中断技术、键盘查询及动态显示技术。2.3 LED显示模块图2.2七段共阳极数码管七段共阳极数码管及功能如图1所示:如图1所示数码管为共阳极数码管,其3脚和8脚均接电源正极,而共阴极数码管的3脚和8脚均接电源负极。其端口所标数据与数码管显示条处所标对应,当端口接入高电平时,相应共阳极数码管的显示条即点亮。2.4按键模块矩阵式键盘(也称行列式键盘)适用于按键数目较多的场合,它由行线和列线组成。按键位于行列的交点上。一个3*3的行列结构可以构成一个有9个按键的键盘。同理,一个4*4的行列结构结构可以构成一个16键的键盘。独立式按键就是各按键相互独立,每个按键各接入一根输入线,一根输入线上的案件工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线的电平状态可以很容易判断哪个按键按下了。独立式按键电路配置灵活,软件简单。但每个按键需要占用一个输入口线,在按键数量较多时,需要较多的输入口线且电路结构复杂,故此种键盘适用于按键较少或操作速度较高的场合。由于此种系统中共有启动两条生产线的“启动1”键和“启动2”键、分选择键、秒选择键、时间设置加、时间设置减、时间设置键、确定键。只有这8个就键,比较简单。所以就采用独立式按键接口电路。3 PCB原理图与仿真图3.1 PCB原理图图3.1时钟PCB图3.2仿真图图3.2时钟仿真图4 程序设计#include "reg51.h"#define uchar unsigned char#define uint unsigned int#define smplay P2sbit sm1out=P00;sbit sm2out=P01;sbit sm3out=P02;sbit sm4out=P03;sbit speak=P04;sbit addtime=P34;sbit subtime=P35;sbit sled1=P13;sbit sled2=P14;uchar code tabsm=0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09;uchar code tabds=0x02,0x9E,0x24,0x0C,0x98,0x48,0x40,0x1E,0x00,0x08;uchar datamd,datamg,datahd,datahg;uchar ddatamd,ddatamg,ddatahd,ddatahg;uchar gethour,getmin;uchar secdata=0x00;uchar t1num=10;uchar t0num1=10;uchar t0num2=2;uchar fselect=0;bit flagplay;bit flagflash;bit flagspk=0;void dlysys() uchar i,j,k; for(i=0;i<50;i+) for(j=0;j<100;j+) for(k=0;k<100;k+);void dlyplay() uchar i,j; for(i=0;i<10;i+) for(j=0;j<100;j+);void dlyint() uchar i,j; for(i=0;i<200;i+) for(j=0;j<200;j+);void main() uchar chgi=0; uchar chkkey=10; P0=P1=P2=P3=0xff; dlysys(); datamd=9; datamg=5; datahd=3; datahg=2; ddatamd=0; ddatamg=0; ddatahd=0; ddatahg=0; flagplay=0; flagflash=0; EA=EX0=EX1=ET0=ES=IT0=IT1=1; TMOD=0x21; SCON=0x50; TH1=0xe6; TL1=0xe6; TH0=0x3c; TL0=0xb0; TR0=1; TR1=1; sled1=sled2=0;while(1) chgi=0; while(flagplay=0) sm1out=sm2out=sm3out=sm4out=1; smplay=tabsmdatamd; if(fselect=2) sm1out=flagflash; else sm1out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabsmdatamg; if(fselect=2) sm2out=flagflash; else sm2out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabsmdatahd; if(fselect=1) sm3out=flagflash; else sm3out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabsmdatahg; if(fselect=1) sm4out=flagflash; else sm4out=0; dlyplay(); if(fselect=2) TR0=0; chkkey-; if(chkkey=0) chkkey=10; if(addtime=0) datamd+; if(datamd=10) datamd=0; datamg+; if(datamg=6) datamg=0; if(subtime=0) datamd-; if(datamd=255) datamd=9; datamg-; if(datamg=255) datamg=5; if(fselect=1) TR0=0; chkkey-; if(chkkey=0) chkkey=10; if(addtime=0) datahd+; if(datahg!=2) && (datahd=10) datahd=0; datahg+;if(datahg=2) && (datahd=4) datahd=0; datahg=0; if(subtime=0) datahd-; if(datahd=255) datahd=9; datahg-; if(datahg=255) datahg=2; datahd=3; if(flagspk=1) if(addtime=0)|(subtime=0) flagspk=0; speak=speak; else speak=1; while(flagplay) sm1out=sm2out=sm3out=sm4out=1; smplay=tabdsddatamd; if(fselect=2) sm1out=flagflash; else sm1out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabdsddatamg; if(fselect=2) sm2out=flagflash; else sm2out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabdsddatahd; if(fselect=1) sm3out=flagflash; else sm3out=0; dlyplay(); sm1out=sm2out=sm3out=sm4out=1; smplay=tabdsddatahg; if(fselect=1) sm4out=flagflash; else sm4out=0; dlyplay(); if(fselect=2) chkkey-; if(chkkey=0) chkkey=10; if(addtime=0) ddatamd+; if(ddatamd=10) ddatamd=0; ddatamg+; if(ddatamg=6) ddatamg=0; if(subtime=0) ddatamd-; if(ddatamd=255) ddatamd=9; ddatamg-; if(ddatamg=255) ddatamg=5; if(fselect=1) chkkey-; if(chkkey=0) chkkey=10; if(addtime=0) ddatahd+; if(ddatahg!=2) && (ddatahd=10) ddatahd=0; ddatahg+;if(ddatahg=2) && (ddatahd=4) ddatahd=0; ddatahg=0; if(subtime=0) ddatahd-; if(ddatahd=255) ddatahd=9; ddatahg-; if(ddatahg=255) ddatahg=2; ddatahd=3; if(fselect=0) chgi+; if(chgi=255) flagplay=0; chgi=0; if(flagspk=1) if(addtime=0)|(subtime=0) flagspk=0; speak=speak; else speak=1; void int0zd() interrupt 0 if(flagspk=1) flagspk=0; else flagplay=flagplay; fselect=0; dlyint(); IE0=0; void int1zd() interrupt 2 if(flagspk=1) flagspk=0; else fselect+; fselect %= 3; if(fselect!=0) TMOD=0x11; TH1=0x3c; TL1=0xb0; ET1=1; ES=0; TR1=1; else TMOD=0x21; TH1=0xe6; TL1=0xe6; ET1=0; ES=1; TR1=1; TR0=1; dlyint(); IE1=0; void t0zd() interrupt 1 TH0=0x3c; TL0=0xb0; t0num1-; if(t0num1=0) t0num1=10; sled1=sled1; sled2=sled2; t0num2-; if(t0num2=0) t0num2=2; secdata+; if(secdata=60) secdata=0; datamd+; if(datamd=10) datamd=0; datamg+; if(datamg=6) datamg=0; datahd+; if(datahg!=2) && (datahd=10) datahd=0; datahg+; if(datahg=2) && (datahd=4) datahd=0; datahg=0; if(ddatahg!=0)|(ddatahd!=0)|(ddatamg!=0)|(ddatamd!=0) if(datahg=ddatahg) && (datahd=ddatahd)&& (datamg=ddatamg)&& (datamd=ddatamd) flagspk=1; else flagspk=0; void t1zd() interrupt 3 TH1=0x3c; TL1=0xb0; t1num-; if(t1num=0) t1num=10; flagflash=flagflash; void CKZD() interrupt 4 gethour=SBUF; RI=0; while(RI=0); getmin=SBUF; RI=0; datahg=(gethour>>4); datahd=(gethour & 0x0f); datamg=(getmin>>4); datamd=(getmin & 0x0f); 5 结论我在这一次电子时钟的设计过程中,很是受益匪浅。通过对自己在大学三年时间里所学的知识的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了。这为自己今后进一步深化学习,积累了一定宝贵的经验。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个实验十分有意义 我获得很深刻的经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,也从中得知了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。6 参考文献1 单片机技术应用实验实训指导 第三版 主编:陆剑 席东河2 单片机应用与项目实践 主编:黄维翼 主审:晆碧霞3 AT89S51单片机原理、开发与应用实例 主编:李萍4 单片机应用技术(C语言版) 主编:王静霞 副主编:刘俐5 单片机微型计算机与接口技术(第2版) 北京:电子工业出版社7 致谢通过两个月的学习和调试过程,终于完成了单片机模块数字钟的工作。并且使数字钟够顺利运行,完成了预期的目标。从单片机模块数字钟的设计过程中也找到了一些单片机开发的规律:先了解所有元件的具体内容,从而画出其电路图,使数字钟从简易变成多功能的方式,虽没有做多功能数字钟,却知晓了其方法。从而让我踏入了单片机应用领域的第一步。然而在调试过程中有也有许多的不足之处:例如编写调试程序有点不足。希望能够在以后的不断深入学习中能够弥补自己的不足之处。同时更是朝着单片机应用领域迈进。谢谢老师的指导和同学的支持。

    注意事项

    本文(基于51单片机的电子时钟设计与实现毕业论文.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开