proteus闹钟课程设计
基于proteus仿真的数字钟

摘要数字钟是一个对1Hz频率进行计数的电路.振荡器产生的时钟旌旗灯号经由火频器形成秒脉冲旌旗灯号,秒脉冲旌旗灯号输入计数器进行计数,显示出时光.秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后重零开端计数.一般由振荡器.分频器.计数器.译码器.数码显示器等几部分构成.振荡电路:重要用来产生时光尺度旌旗灯号.石英晶体振荡器可以进步时光旌旗灯号的稳固度.分频器:振荡器产生的尺度旌旗灯号频率很高,要得到“秒”旌旗灯号,需必定级数的分频器进行分频.计数器:有了“秒”旌旗灯号,则可以依据60秒为1分,24小时为1天的进制,分离设定“时”.“分”.“秒”的计数器,分离为60进制,60进制,24进制计数器,并输出一分,一小时,一天的进位旌旗灯号.译码显示:将“时”“分”“秒”显示出来.将计数器输入状况,输入到译码器,产生驱动数码显示器旌旗灯号,呈现出对应的进位数字字型.症结词数字钟振荡计数校订目次2.1计划比较42.2计划选择63单元模块设计73.3.1按键一:光标的移位与闪耀123.3.2按键二:时光的上翻让时光得到修正143.3.3 按键三:肯定154 体系调试155 体系功效和指标参数155.1 体系功效166 设计总结和领会17申谢18参考文献18附录数字电子钟电路总图19数字电子钟是一个用数字电路实现的时,分,秒计时的装配,与机械式时钟比拟具有更高的精确性.本次的数字电子钟的设计道理就是一种典范的数字电路,个中还包含了一些组合逻辑电路和时序电路.本次的数字电子钟的设计重要目标是为了让我们更好的控制数字电子钟的道理,从而控制逻辑电路的一些典范应用,学会本身制造电子钟.经由过程对数字电子钟得设计进一步的懂得各类中小范围集成电路的感化和适用办法.我们此次设计的数字电子钟是以24小时为一个时光周期,显示的满刻度是23时59分59秒,在六位7段共阴极的数码管上精确显示其响应的时,分,秒.并设置了三个时光的按键,分离控制时光的移位闪耀,时光的上翻修正,时光的确认.便利认为控制和设置时光.同时为了包管计时的稳固性和计时的精确性我们采取了用32.768K 的晶体振荡器来产生时钟旌旗灯号,来供给表针时光的基准旌旗灯号.数字电子钟的整体设计道理框图如图一所示:秒,然后主动清零从00时00分00秒开端从新计时,别的还加进了按键部分的操纵,便利人们对时光的控制,设置,调剂.秒旌旗灯号产生器是全部体系的时基旌旗灯号,它直接决议了计时体系的精度,在此次设计中采取的是石英晶体振荡器加分频器来实现.将得到的尺度旌旗灯号1HZ送入秒计数器中,秒计数器采取的是60进制的计数器,每累计都60秒得时刻就会发出一个分脉冲旌旗灯号,该旌旗灯号将作为分计数器的时钟脉冲,分计数器也是采取的60进制的计数器,每累计到60分钟,发出一个时脉冲旌旗灯号,该旌旗灯号将被作为时脉冲时钟脉冲,式计数器采取的24进制的计数器,如许就可以实现一天24小时的累计.2.1 计划比较计划一:555构成的多谢振荡器如图二因为f=1.43(R1+2R2)C1,我们可以经由过程调剂R1,R2,C1的值,转变其输出的频率.计划二:晶体振荡器分频电路石英晶体振荡电路1,采取频率fs=32768HZ的石英晶体图三D1,D2是反向器,D1用于振荡,D2用于缓冲整形.Rf为反馈电电阻(10—100M),反馈电阻的感化为COMS反相器供给偏置,使其工作在放大状况.电容C1,C2与晶体配合构成pi型收集,完成对振荡器频率的控制,并供给须要的180度相移,最后输出fs=32768HZ.图三2,多级分频电路1HZ将32768HZ脉冲旌旗灯号输入到CD4060(如图四:CD4060的引脚图介绍)构成的脉冲振荡的14位二进制计数器,所以从最后一级Q14输出的脉冲旌旗灯号频率为:32768/16384=2HZ.再经由二次分频,得到最后的1HZ 的尺度旌旗灯号脉冲,即秒脉冲.如图五,就是所得到最后的脉冲旌旗灯号.图四:CD4060引脚图图五:1HZ的旌旗灯号产生的波形2.2 计划选择1,采取555多谢振荡器长处:555内部的比较器敏锐度较高,并且采取差分电路情势,它的振荡频率受电源电压和温度变更的影响很小.缺陷:要精确的输出1HZ的脉冲,对电容和电阻的数值精度请求很高,所以输出脉冲既不敷精确也不敷稳固.2,采取晶体振荡分频电路长处:因为晶体的阻抗频率响应可知,它的选频特征异常好,有一个极为稳固的串联谐振频率fs,且等效品德因数Q很高.只有频率为fs的旌旗灯号最轻易经由过程,且其他频率的旌旗灯号均会被晶体所衰减.3,比较的成果因为振荡器是数字钟的焦点,振荡器的稳固度及频率的精度决议了数字钟计时的精确程度.为了达到设计请求,获得更高的计时精度,我们在设计中选用了计划二即用晶体振荡器构成振荡电路.一般来说振荡器的频率越高,计时精度就越高.如图六图六3单元模块设计时光计数电路的设计将分频器产生的尺度基旌旗灯号即秒旌旗灯号经由秒计数器,分计数器,时计数器,分离得到“秒”个位,十位,“分”个位,十位以及“时”个位,十位的计时输出旌旗灯号,然后送至译码显示电路,以便实现用数码管显示时,分,秒的请求.在设计中“秒”和“分”的计数器应当为六十进制的计数器,而“时”计数器应当为二十四进制的计数器.在设计中采取的10进制的计数器74LS160来实现时光的计数单元的计数功效.74LS160的芯片引脚图如图七所示:图七:74LS160引脚图P0,P1,P2,P3---计数器的输入端QO,Q1,Q2,Q3—计数器的输出端CEP,CET---计数器的计数端CP---计数器的触发端TC---计数器的进位端R---计数器的清零端PE----计数器的置数端74LS160计数器是同步计数,异步清零表1是74LS160的逻辑表:计数器部分计数的道理图八:图八:计数器的道理图此图为“秒”计数器部分,用两片74LS160来构成60进制的计数器,因为160本身就是10进制的计数器,故在“秒”个位当主动的加到10时就会主动清零,同时向“秒”十位的计数器的进位,在这片160当“秒”十位和个位分离显示到“5”和“9”时向下一级的“分”计数器进位.同应当“分”的十位和个位分离显示“5”和“9”时向“时”计数器进位.当“时”计数器的十位和个位分离显示“2”和“4”时用反馈清零的办法将其清零.其“分”计数器,“时”计数器的道理图同“秒”计数器的道理图大致雷同.设计中“时”,“分”,“秒”的显示是选择共阴极的七段数码管显示的.共阴极七段数码管译码显示电路是将计数器输出的8421BCD码译成数码显示所须要的高下电平,其引脚如图九.在译码显示电路中采取的是CD4511-7段译码驱动器,其芯片的引脚如图十.译码器的A,B,C,D分离与十进制的计数器的四个输出端相连接a,b,c,d,e,f,g即为驱动七段数码管的旌旗灯号.其依据A,B,C,D所得的计数旌旗灯号,数码管就显示出相对应的字型.图九:共阴极七段数码管的引脚图图十:CD4511的引脚图个中A,B,C,D---BCD码得输入端a,b,c,d,e,f,g—译码的输出端,输出为“1”有用,用来驱动共阴极LED数码管.LT—测试输入端,LT=“0”时,译码输出全为“1”BI—消隐输入端,BI=“0”时,译码输出全为“0”LE—锁定器,LE=“1”时译码器处于锁定(保持)状况,译码器输出保持在LE=0时的数值,LE=0为正常译码其译码的显示电路如图十一所示:图十一:译码器的驱动显示电路三个按键的电路本次设计还用到了按键部分,设计顶用到了三个按键,其功效分离是移位并闪耀,时光的上翻,时光的肯定.设置这三个按键的目标其主如果为了人们能很好的控制和调剂时光.便利人们对时光的调剂.按键部分主如果采取各类逻辑门与计数芯片,译码芯片的有理联合来实现各个按键的功效的.如图十二图十二:三个按键按键一:光标的移位与闪耀认为部分:下之后计数器停滞计数即在这里给“秒”计数器输入的无效的旌旗灯号脉冲,此时数码管保持先前记下的时光不在走动.采取计数器160和译码器138的联合.给计数器160送一个初始数1即此时D3D2D1D0=0001.将计数器的Q2Q1Q0分离与138的输入端CBA相连接.且在138输出端的Y0接一个反相器包管在正常的情形下计数器能正常的计数.将输出端得Y0,Y1,Y2,Y3进行与运算,并将输出的值与产生的旌旗灯号脉冲进行与运算.在未按下按键的时刻则不会影响到脉冲的正常输入,计数器的正常计数.个中74LS138的引脚图如图十三:图十三:74LS138引脚图A2,A1,A0—译码器的3位二进制输入端Y0,Y1,Y2,Y3,Y4,Y5,Y6.,Y7—译码器的8个输出旌旗灯号,并且输出的均为低电平有用.S3,S2,S1—译码器的三个使能端,当S1=1,且S2=0,S3=0时,译码器处于正常的工作状况.闪耀部分:因为要使光标移位,须要断定认为在了那只数码管上,所以想到使数码管闪耀的办法,产生显著的视觉后果从而精确的断定须要转变那只数码管的时光值.斟酌到译码器CD4511的一个使能端BI,当BI 为高电平的时刻会产生消隐的现象.故在使数码管闪耀的这一功效,选择从译码器查找办法.数码管的闪耀与高下脉冲相连.当按键一被按下之后,译码器138的输出端Y1,Y2,Y3的值不竭的变更且有且只有一个为有用的点平0.当它们分离与旌旗灯号脉冲进行或运算后输出的的成果取决与旌旗灯号脉冲,当脉冲为高点平的时刻则数码管就熄灭,当脉冲输出的是低电平的时刻数码管就点亮.如斯的亮灭亮灭…….从而达到视觉上的数码管的闪耀功效.按键一电路如图十四,十五,十六图十四:计数器与138的联合图十五:与运算产生kk控制旌旗灯号脉冲图十六:光标的闪耀按键二:时光的上翻让时光得到修正按键二的功效主如果修正时光.在这里让时光上翻转变即当按键二被按下一次对应闪耀的数码管的值就加一次,一向到所得的值是我们本身想要的值为止.按键二必须在按键一被按下之后才有用.故当按键一被按下后译码器Y1,Y2,Y3有且有一个输出的是有用的低电平,按键二被按下后也会得到一个有用的低电平.将Y1,Y2,Y3分离与按键二得到的低电平进行或运算,并在得到的成果后面加一个反相器,如许就只有当输出的值均为0时才干得到1,如许就可以得到三个旌旗灯号clk1,clk2,clk3.同时要使计数器加数,只要给响应的计数器输入有用的正脉冲就可以了.故在设计中将得到的三个旌旗灯号对应的与计数器的脉冲输入相连接.如图十七:图十七:产生有用的信按键三:肯定按键三的功效就是肯定键即恢复正常有用的脉冲旌旗灯号,让计数器正常的计数,译码器正常的译码,数码管正常的显示时光.使按键部分的那些功效都消掉.当按键三被按下后即立时得到一个低电平的旌旗灯号.将按键三得到的旌旗灯号与计数器的清零端相连接,即可控制其的可否正常工作.从而让输出的kk为高电平,如许在kk与产生的旌旗灯号脉冲进行与运算的时刻就取决于产生的脉冲旌旗灯号.如许产生的脉冲旌旗灯号又恢复成为有用的脉冲旌旗灯号,使计数器正常的计数工作.4 体系调试单个元件的调试数码管共阴,共阳的检测:在proteus的仿真软件中将数码管的的a,b,c,d,e,f,g的随意率性一段或者几段置于高电平,数码管剩下的另一管脚置于低电平,假如数码管发亮且输出的字符是对应输入的字符的,那么此数码管为共阴数码管.假如数码管不亮,没有反响则解释数码管是共阳的数码管.时钟电路的调试将晶体振荡器电路产生的旌旗灯号脉冲经由过程proteus软件进行仿真.1,将仿真的示波器记到晶体振荡电路的波形的输出端,在示波器上显示出波形旌旗灯号的频率为32768HZ.2,再将仿真的示波器接到经由CD4060分频器后的输出端,得到的输出波形旌旗灯号的频率为2HZ.3,最后将仿真里面的示波器接到二分频器后的输出端得到的旌旗灯号波形的频率为1HZ即为全部设计须要的尺度基旌旗灯号.计数电路的调试在秒计数器上参加一个尺度的1HZ脉冲旌旗灯号,在proteus仿真软件长进行计数器的精确计数的调试.这部分重要调试的是“秒”计数器,“分”计数器的60进制得到调试,当“秒”或“分”的计数达到“59”时,“秒”或者“分”可以或许精确的清零并向前一计数器进位.其数码管的显示如图十八:图十八:时光的精确显示5 体系功效和指标参数5.1 体系功效该电路重要实现了时光的精确计数,在设计中将计数器74LS160与译码器CD4511,计数器74LS160和译码器74LS138,分频器与晶体振荡电路有用的分散在了一路,得到比较精确的时光显示.此外,加上三个按键的设置,便利了人们随时对时光的调剂,从而更好的控制时光.1.基旌旗灯号的频率1HZ2.电路供电+5v3设计总结和领会本次课程设计经由为期2周的不懈尽力,今朝根本达到了预期的请求,可以或许精确的以一秒为周期的在数码管上显示时光,并且三个按键也能精确的实现它们各自的功效,让人们能很好的调节时光.在设计中所采取的各个芯片都在运行很好的实现了它们各安闲设计中的功效感化.全部设计的道理简略,靠得住机能高,成本低,功效很轻易实现,并且实现的后果也异常的优越.因为此次设计是在放假时代自力完成的,所以在各模块之间的连接上,以及某些参数的肯定上可能还消失必定的问题.但经由过程此次设计,收成也颇多.总体上来说此次设计电路道理其实不难,但是在设计进程固然许多器械本身明确该那么做,但是在真正的应用中倒是其实是无从下手,碰到的许多小问题比本身想象中的要庞杂得许多,让本身疑惑是不是斟酌错了或者是走错了偏向.在设计中,许多芯片的功效是本身不是很熟习的,不合芯片之间的连接更是让本身觉得生疏.比方,在晶体振荡电路中产生的32768HZ的旌旗灯号与分频器CD4511的链接,分频的道理对当时设计本身来说是很隐约的,但是经由过程讯问同窗和先生后让本身对分频的道理有了懂得,并且还从许多的办法中选择了32768HZ的晶体振荡器和CD4511分频器来产生尺度的基旌旗灯号.在计数器的选择上,固然本身对这部分比较熟习,但是当真正的接触它时,才知道许多的器械不是本身想象中的那样轻易,许多的小错误就让本身觉得寸步难行.经由过程不竭的查阅材料懂得选择了十进制的74LS160实现了精确的计数功效.在按键部分,这是全部设计让我受益最多的部分,按键部分是本身在设计最后才做的部分,刚开端真的是无从下手,感到斟酌的器械许多,并且许多的器械本身又不会.在先生和同窗的帮忙下才让本身有了一个比较清楚的思绪,在设计中将计数器74LS160和译码器74LS138有机的联合来实现了三个按键的根本功效.经由过程此次的设计让本身熟习了许多器械,学会了许多器械,进修了本身已经学过的器械,也进修了本身没有接触过的器械.对计数器74LS160,译码器74LS138,CD4511,分频器CD4060都有了一个很清楚的熟习.同时不单对此次设计中应用到的芯片本身有了懂得,对其他得芯片如:74LS190,74LS161,触发器等也有懂得和熟习,对设计中的芯片的其他功效也有所懂得,如:计数器在必定的时刻也可以做为分频器应用等.此次为期两周的课程设计,让我对各类电路有所懂得,也让我懂得了关于数字时钟的道理和设计理念.经由过程本身的亲手实践,才让我熟习到本身的缺少.所以说,坐而言不如立而行,对于这些电路和连接照样须要本身亲手的现实操纵才会真正的懂得和控制,才会有深入的印象.致谢在这里我起首要感激我们这组的指导先生林竟力先生对我们的设计进程中的仔细指导.在设计和论文写作进程中,得到了先生的指导和点拨,使得我的理论和实践操纵才能都得到了进步.同时也要感激我们这和我一路合作的组员以及在我设计进程中碰到问题就教的同窗,他们的虚心帮忙和提示也是让我的设计能顺遂的完成的重要原因之一.【参考文献】[1] 康华光.[2]康华光.附录数字电子钟电路总图数字电子钟的总电路图。
C语言Lcd1602万年历闹钟Proteus仿真单片机毕业课程电子设计

C语言Lcd1602万年历闹钟Proteus仿真单片机毕业课程电子设计
C语言Lcd1602万年历闹钟Proteus仿真单片机设计
AT89C51+Lcd1602+DS1302+独立按键+蜂鸣器
Lcd1602万年历闹钟。
时间信息来自DS1302,显示采用
Lcd1602,蜂鸣器提供闹音和按键提示音。
液晶上面显示年月日时分秒星期以及闹钟时间。
有时间调节和闹钟调节,可以调节年月日时分秒星期信息以及闹钟时间。
具体介绍如下。
1.做好的仿真图,如下图所示。
2.启动仿真后,先在液晶屏显示系统信息,然后在第二屏显示需要的万年历闹钟信息。
如下图所示!
3.通过单片机右侧的三个按键,即可设置闹钟。
如下图所示。
4.通过单片机左侧的四个按键,来设置年月日时分秒星期的值。
设置时,参数闪烁,同时会有按键提示音。
5.本设计默认套餐1,具体套餐详情请看下面的发货清单。
如需要其它套餐,请联系客服询问。
详情请:点击此处。
Protues电子钟设计报告

Protues电子钟设计报告学院机电学院姓名吕志军班级电信三班1.任务目的通过电字钟的设计与制作,前所学的单片机内部定时器资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软件调试方法等,并掌握单片机应用系统的开发过程。
2. 设计要求实现功能:1.八位数码管显示电子钟的时间(时钟,分钟,秒钟)。
2.具备调节时间的功能3.每到一小时的时候,蜂鸣器响一分钟。
3.系统方案选择1)单片机选型选用2块Mcs-51系列主流芯片AT89C51,内部带有4KB的Flash ROM,无须外扩程序存储器。
由于电子钟没有大量运算和暂存数据,片内128B的RAM可以满足设计要求,无须外扩片外RAM。
本设计我是用两块单片机共同控制实现功能的,第一块控制电子钟。
第二块控制蜂鸣器播放音乐一分钟,里面有三首歌可以选择。
八位数码管。
一个蜂鸣器。
4个开关。
2)计时方案采用芯片AT89C51内部时钟计时,具备显示时、分、秒。
虽然计时不是很准确,但是容易操作,适合我们初学单片机的同学们。
蜂鸣器响一分钟也是采用芯片AT89C51控制的。
内存三首音乐,可以选择播放。
3)软件控制利用芯片AT89C51内部定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。
该方案节省硬件成本,且能够使读者对所学知识进行综合运用,因此本系统设计采用这一方案。
4)显示方案利用P1、P2口分别对八段数码管进行位显示和位选择。
这里采用动态显示方案。
5)按键选择功能第一块单片机的P0.0是对八位数码管显示的时分秒位选,P0.1是分别对时分秒进行加加的,P0.2是分别对时分秒进行减减的。
第二块单片机的P2.0是选择播放那首音乐的。
4.硬件设计硬件设计电路如图1.0所示,八位数码管分别接在第一块单片机的P1、P2口,蜂鸣器接在第二块单片机的P1.0口上。
第一块单片机的P0口接了控制时分秒的按键,并接上上拉电阻,以驱动八位数码管。
Proteus电子钟仿真实验高清版

Proteus 仿真大赛电子时钟仿真第一章电子时钟总体设计电子时钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。
很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。
这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。
通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。
电子钟设计要求设计并制作具有如下功能的数字钟:(1)自动计时,由6位LED先四起显示时、分、秒。
(2)具备校准功能,可以设置当前时间。
(3)具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。
电子钟计时方案(1)采用实时时钟芯片。
针对应用系统对实时功能的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。
这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。
单片机可通过中断或查询方式读取计时数据。
实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简单,在实时工业测控系统中多采用这一类专用芯片来实现。
(2)软件控制。
利用AT89S51内部定时/计数器进行中断定时,配合软件延时、分、秒的计时。
该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。
电子钟显示方案(1)利用串行口扩展LED,实现LED静态显示。
该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路复杂,信息刷新速度慢,比适用于单片机并行口资源较少的场合。
Proteus电子钟仿真实验高清版

Proteus 仿真大赛电子时钟仿真第一章电子时钟总体设计1.1电子时钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。
很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。
这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。
通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。
1.2电子钟设计要求设计并制作具有如下功能的数字钟:(1)自动计时,由6位LED先四起显示时、分、秒。
(2)具备校准功能,可以设置当前时间。
(3)具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。
1.3电子钟计时方案(1)采用实时时钟芯片。
针对应用系统对实时功能的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。
这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。
单片机可通过中断或查询方式读取计时数据。
实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简单,在实时工业测控系统中多采用这一类专用芯片来实现。
(2)软件控制。
利用AT89S51内部定时/计数器进行中断定时,配合软件延时、分、秒的计时。
该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。
1.4电子钟显示方案(1)利用串行口扩展LED,实现LED静态显示。
该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路复杂,信息刷新速度慢,比适用于单片机并行口资源较少的场合。
Proteus电子钟仿真实验高清版

Proteus 仿真大赛电子时钟仿真第一章电子时钟总体设计1.1电子时钟简介电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合都用到电子时钟。
很多单片机产品具有实时时钟的功能,例如智能化仪器仪表、工业过程系统及家用电器等。
这里要求实现一个具有实时时钟显示和闹钟控制功能的数字钟。
通过数字钟的设计与制作,将前面所学的单片机内部定时资源、I/O端口、键盘和显示接口等知识融会贯通,锻炼独立设计、制作和调试应用系统的能力,深入领会单片机应用系统的硬件设计、模块化程序设计及软硬件调试方法等,并掌握单片机应用系统的开发过程。
1.2电子钟设计要求设计并制作具有如下功能的数字钟:(1)自动计时,由6位LED先四起显示时、分、秒。
(2)具备校准功能,可以设置当前时间。
(3)具备定时启动功能,可以设置闹钟时间,启闹10s后自动关闭闹铃。
1.3电子钟计时方案(1)采用实时时钟芯片。
针对应用系统对实时功能的普遍需求,各大芯片生产厂家陆续推出了一系列实时时钟集成电路,如DS1287、DS12887、DS1302、PCF8563、S35190等。
这些实时时钟芯片具备年、月、日、时、分、秒、计时功能和多点定时功能,计时数据每秒自动更新一次,不需程序干预。
单片机可通过中断或查询方式读取计时数据。
实时时钟芯片的计时功能无须占用CPU时间,功能完善,精度高,软件程序设计相对简单,在实时工业测控系统中多采用这一类专用芯片来实现。
(2)软件控制。
利用AT89S51内部定时/计数器进行中断定时,配合软件延时、分、秒的计时。
该方案节省硬件成本,且能够使读者对前面所学知识进行综合运用,因此,本系统设计采用这一方案。
1.4电子钟显示方案(1)利用串行口扩展LED,实现LED静态显示。
该方案占用单片机资源少,且静态显示亮度高,但硬件开销大,电路复杂,信息刷新速度慢,比适用于单片机并行口资源较少的场合。
毕业设计(论文)-基于PROTEUS的多功能数字电子钟的设计

毕业设计(论文)-基于PROTEUS 的多功能数字电子钟的设计自动化专业综合设计报告设计题目:基于PROTEUS的多功能数字电子钟的设计所在实验室:指导教师:学生姓名班级学号撰写时间:成绩评定:一、设计目的利用单片机STC89C52,液晶显示器等实现时间的显示以及闹钟等功能的数字电子钟,数字电子钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,节省了电能。
因此得到了广泛的使用。
数字钟是一种典型的数字电路,包括了组合逻辑电路和时序电路。
通过设计加深对学习了的单片机和PROTEUS的认识。
二、设计内容(1)用PROTEUS画出原理图,并完成下列任务:(2)用6只LED数码管输出显示时、分和秒。
(3)可通过按键设置闹钟功能,且停闹无须手工操作。
(4)可通过按键设置分校时。
(5)写出详细的设计报告。
(6)给出电路的原理图、源程序,仿真实现。
三、设计步骤1 系统主要功能电子钟的主要功能有:整点报时;四只LED数码管显示当前时分;并且具有闹钟功能。
2 系统的硬件构成及功能电脑钟的原理框图如图1所示。
它由以下几个部件组成:单片机89C2051、电源、时分显示部件。
时分显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。
时分显示模块以及显示驱动都通过89C2051的I/O口控制。
电源部分:电源部分有二部分组成。
一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作。
图1 电子钟系统原理框图2.1 AT89C2051单片机及其引脚说明AT89C2051单片机是51系列单片机的一个成员,是8051单片机的简化版。
内部自带2K字节可编程FLASH存储器的低电压、高性能COMS八位微处理器,与Intel MCS-51系列单片机的指令和输出管脚相兼容。
由于将多功能八位CPU和闪速存储器结合在单个芯片中,因此,AT89C2051构成的单片机系统是具有结构最简单、造价最低廉、效率最高的微控制系统,省去了外部的RAM、ROM和接口器件,减少了硬件开销,节省了成本,提高了系统的性价比。
基于PROTEUS的多功能数字电子钟的设计

前言单片机技术是现代电子工程领域一门迅速发展的技术,它的应用已经渗透到各种嵌入式系统中。
可以毫不夸张地说:掌握单片机技术是电子信息类专业学生就业的一个重要条件。
同时单片机技术又是一门实践性很强的学科。
课程设计教学环节的设计和实施,在很大程度上决定了学生对单片机技术的掌握程度。
为了更好地完成课程设计这一重要教学环节,我们采用Proteus软件与Keil软件整合构建单片机虚拟实验平台。
学生首先在PC上利用Proteus 软件自己搭建硬件电路,并利用系统提供的功能完成电路分析、系统调试和输出显示的硬件设计部分;同时在Keil软件中编制程序,进行相应的编译和仿真,完成系统的软件设计部分。
当系统的设计工作完成后,学生可以在PC上看到最终的运行效果。
最后再通过proteus设计PCB,再完成真正硬件的调试。
采用以上方案具有以下优势:有利于促进课程和教学改革,更有利于人才的培养;从经济性、可移植性、可推广性角度讲,建立这样的课程设计平台是非常有意义的;利用仿真系统,可以节约开发时间和开发成本;利用仿真系统,具有很大的灵活性和可扩展性。
第一章概述Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:68000系列、8051系列、A VR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目:闹钟的设计学生姓名:黄书林学生学号: 1114010110 系别:电气信息工程学院专业:自动化年级: 11 级任课教师:张水锋电气信息工程学院制2013年10月目录摘要 (2)课程任务与要求 (2)方案论证 (2)闹钟流程图 (3)单元电路: (6)单片机芯片 (6)八位数码管显示电路 (7)闹钟调节按键电路 (9)晶振电路 (10)复位电路 (10)蜂鸣器体相电路 (11)总图: (12)心得体会 (13)参考文献 (13)附录 (13)闹钟的设计学生:黄书林指导教师:张水锋电气信息工程学院自动化摘要通过学习《基于Proteus的51系列单片机设计与仿真》让我知道我们不仅需要有过硬的理论知识,还应该有动手实践的能力。
并且是将理论结合实际, 提升到应用层面。
以后走上社会,还是会有很多新的知识是需要我们学习的,届时需要我们有比较强的自学能力。
此次《基于Proteus的51系列单片机设计与仿真》课程设计。
对理论结合实际的动手能力和自学能力有很强的体现。
本次设计是基于 AT89C51 单片机的数字闹钟的设计。
关键词:数字闹钟 AT89C51 Proteus。
课程任务与要求本次课程的任务就是要以51系列单片机为核心设计一个闹钟,它能通过单片机实现秒、分、小时的进位24 小时制,将当前时分秒在七段 LED 显示器上显示。
可设置闹钟的时间当前值对准一时间,设置闹铃时间,闹铃功能的关闭和开放。
要求:通过Proteus软件来实现设计的仿真,提高自己的编程水平,增加设计兴趣。
通过做自己喜欢的设计,提高自学能力。
为以后毕业走上工作岗位打下坚实的基础。
二方案论证经分析,计算器电路包括三个部分:显示部分八位数码管、闹钟时钟按键、单片机电路。
具体分析如下:1 显示部分1.1 LCD显示LCD1602作为一个成熟的产品,使用简单,模式固定,便于移植到各种类型的程序,微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,价格大概15块钱左右。
1.2数码管显示数码管是一种半导体发光器件,其基本单元是发光二极管。
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
功耗小,显示单一。
适合时钟的显示。
一毛钱一个价格低,对于本次闹钟的设计来说性价比高。
所以采用八位数码管不用LCD1602.2 微控制电路2.1 AVR单片机2.1.1 AVR单片机的I/O口是真正的I/O口,能正确反映I/O口输入/输出的真实情况。
工业级产品,具有大电流(灌电流)10~40 mA,可直接驱动可控硅SSR或继电器,节省了外围驱动器件。
2.1.2.AVR单片机内带模拟比较器,I/O口可用作A/D转换,可组成廉价的A/D转换器。
ATmega48/8/16等器件具有8路10位A/D。
2.1.3 部分AVR单片机可组成零外设元件单片机系统,使该类单片机无外加元器件即可工作,简单方便,成本又低。
2.1.4 AVR单片机可重设启动复位,以提高单片机工作的可靠性。
有看门狗定时器实行安全保护,可防止程序走乱(飞),提高了产品的抗干扰能力。
实现功能非常强大,比51单片机实现功能多。
价格5.2元一块。
2.2 AT89C51单片机AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器D的单片机,单片机可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51单片机是很多嵌入式控制系统中灵活性高且价廉的芯片。
4.5元一块。
综上所述AT89C51操作简单,价格低采用AT89C51单片机。
三闹钟设计流3.1 主程序流程图图3.13.2时钟中断程序流程图图3.2四单元电路:4.1单片机控制芯片图4.1AT89C516RD+:该电路的核心控制元件是AT89C516RD+。
工作电压在3.3-5.5v之间。
最高时钟频率0-80hz,存储器字节64k。
P0口(32-39引脚)。
既可作为输入输出端口,又可作为地址数据复用总线使用。
当P0口作为输入输出口时,他是一个八位准双向口。
上电复位后处于开漏模式,P0口内部无上拉电阻所以P0口必须接10-4.7k上拉电阻,当作为地址/数据复用总线时。
无需上拉电阻。
EA(31脚)正五伏电源外接晶振或外部振荡器引脚:XTAL1 (19脚)当采用芯片内部时钟信号时,接外部时接外部12M晶振的一个引脚。
当采用外部时钟信号时,此脚应接地。
XTAL2 (18脚)当采用芯片内部时钟信号时,接外部时接外部12M晶振的一个引脚。
当采用外部时钟信号时,此脚应接地。
控制选通或电源复用引脚:RST(9脚):复位信号输入,vcc掉电时此脚可接上备用电源,在低功耗条件下保持内部RAM中数据ALE(30脚):ALE即允许地址锁存信号输出,当单片机访问外部存储器时该引脚的输出信号用于锁存P0口的低8位地址。
其输出的频率为时钟振荡频率的1/6,。
PSEN(29脚):访问外部程序存储器选通信号,低电平有效,用于外部存储器的读操作。
4.2 八位数码管显示电路图4.2LED数码管(LED Segment Displays)是由8个发光二极管构成。
按照一定的图形及排列封转在一起的显示器件。
其中7个LED构成7笔字形,1个LED构成小数点(固有时成为八段数码管)LED数码管有两大类,一类是共阴极接法,另一类是共阳极接法,共阴极就是7段的显示字码共用一个电源的负极,是高电平点亮,共阳极就是7段的显示字码共用一个电源的正极,是低电平点亮。
只要控制其中各段LED 的亮灭即可显示相应的数字、字母或符号。
数码管位数有半位,1,2,3,4,5,6,8,10位等等(及数码管的位数),了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。
图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。
颜色有红,绿,蓝,黄等几种。
LED数码管广泛用于仪表,时钟,车站,家电等场合。
选用时要注意产品尺寸颜色,功耗,亮度,波长等。
这是一个7段1位带小数点8引脚的LED数码管图2 引脚定义每一笔划都是对应一个字母表示,DP是小数点。
要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。
这样才能显示的。
共阳极LED数码管的内部结构原理图图4:图4 共阳极LED数码管的内部结构原理图共阴极LED数码管的内部结构原理图:图5 共阴极LED数码管的内部结构原理图表1.1 显示数字对应的二进制电平信号LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数位。
静态驱动也称直流驱动。
静态驱动是指每个数码管的每一个段码都由一个单片机的I/O口进行驱动,或者使用如BCD码二-十进位转换器进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口多,如驱动5个数码管静态显示则需要5×8=40根I/O口来驱动,要知道一个89S51单片机可用的I/O口才32个呢。
故实际应用时必须增加驱动器进行驱动,增加了硬体电路的复杂性。
八位数码管是将上述以为八个并联封装而成,显示时、分、秒都分两位。
个位满十后就向前进一位。
分秒的十位满六十后也向前进一位。
显示小时两位在满二十四后重新计数。
4.3 闹钟调节按键电路图4.3程序中设置 5 个开关控制,从上到下 5 个开关KEY1——KEY5 的功能分别为KEY1,调节时间,每调一次分加1。
KEY2, 调节时间,每调一次时加1。
KEY3从其它状态切换至时钟状态。
KEY4切换至闹钟设置状态。
KEY5闹钟关闭和开放.4.4 晶振电路图4.4每个单片机系统里都有晶振,全程是叫晶体震荡器,在单片机系统里晶振的作用非常大,他结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切指令的执行都是建立在这个基础上的,晶振的提供的时钟频率越高,那单片机的运行速度也就越快。
选择合适的晶振很重要。
4.5 复位电路图4.5这个子模块是单片机的最小系统中的一部分,当程序出现乱码等情况时,按下复位程序重新开始运行,使计算继续进行。
4.6 蜂鸣器提醒电路图中RP1是一个九脚排阻为P0口增加驱动能力。
当达到定时时蜂鸣器会发声提醒。
D1为闹钟功能开关显示,当打开时二极管会法官提示。
五总图:此图为时钟电路界面此图为闹钟定时界面七实验改进与心得体会通过对数字闹钟的编程对硬件特别是单片机的原理都有了很深的了解。
更加深了对 C 语言的兴趣可以说整个文件中最麻烦的就是进位条件的判断。
编程中经常犯想当然的错误。
另外对于中断服务子程序的类型设置问题,由于以前对这个概念的理解留于表面,编程中出现了不少奇怪的错误。
再调试中尝试使用了分割法,对错误模块进行定位,再进行排查。
这次的课程设计使我认识到要将《基于Proteus的51系列单片机设计与仿真》的课学好不仅仅是要把书上的基本知识学好而且还要不断进行实践。
将所学的跟实践操作结合起来才能更好地巩固所学,才能提高自己实践能力.通过这次的设计使我认识到只停留在表面理解问题是很难使问题得到很好的解决的。
实践能力与理论知识同样重要。
所以在以后的学习中一方面我要不断的巩固自己所学的理论知识,一方面还要多参加实际操作工作以便提高自己的实际操作能力。
其实这次课程设计的最大收获应该是找到了解决问题的几个很好的途径。
1.讨论 2.通过网络,在网络上也收获了很多。
共享让我们共同进步。
此外,我学会了看硬件结构图,并学会了自己去独立的完善一个程序,对程序的效用等做思考。
并体会到问别人只能帮你开拓思路,真正解决问题还是要靠自己去摸索。
当然讨论是很好的学习途径,它会让你事半功倍.由于时间不是很充裕,程序中有很多值得改善的地方。
我尝试在其中加入更多的功能,但调试的结果没有。
参考文献【1】谭浩强著《C语言程序设计》第三版【2】康光华陈大钦张琳主编《电子技术基础模拟部分》第五版【3】康光华陈大钦张琳主编《电子技术基础数字部分》第五版【4】周荣富曾技主编《电子线路CAD》【5】《单片机原理与接口技术》清华版【6】《零基础学单片机C语言》【7】《物联网技术与应用》刘盼芝【9】《基于Protues的51系列单片机设计与仿真》陈忠平附录:#include<reg51.h>#define uchar unsigned char#define uint unsigned intuint tcount,u;data2[]={0,0,0,0,0,0,0,0};//uchar dat1[]={0,0,0,0,0,0,0,0};//时钟定时缓冲区uchar alarms[]={0,0,0,0,0,0,0,0};//闹钟定时缓冲区uchar dis_bit[]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};// unsigned char code SEG7[11]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x BF,};sbit tminute=P1^0;sbit thour=P1^1;sbit shizhong=P1^2;sbit alarm=P1^3;sbit alarmswitch=P1^4;sbit P0_4=P0^4;sbit P0_0=P0^0;uint sw=0;uchar k;uchar ms=0;uchar flag=0;//闹钟切换标志位uchar sec=0;//闹钟计时秒uchar minit=0;//闹钟计时分struct time{uchar second;uchar minute;uchar hour;}time1;//定义名为time 的结构体..变量名time1uchar n,i;void delay(n)//1ms 延时函数{while(n--){for(i=120;i>0;i--);}}void modify(void)//时间调整{EA=0;if(thour==0){if(flag==0)//时钟调整每次加1{dat1[6]++;delay(200);if(dat1[6]>3&&dat1[7]==2){dat1[6]=0;dat1[7]=0;}if(dat1[6]>9){if(alarm==0)//闹钟键按下..显示00-00-00 {flag=1;alarms[0]=0;void init(void)//初始化{TMOD = 0x11;TH0 = 0xDB;TL0 =0xFF;//工作方式3..两个8 位定时/计时器..只有T0 有......定时24ET0 = 1;TR0=1;tcount=0;u=0;P0=0x00;EA = 1;//开放中断}void test(void){for(k=0;k<8;k++){if(flag==0){ P3=dis_bit[k];P2=SEG7[dat1[k]]; delay(1);P3=0X00;}if(flag==1){ P3=dis_bit[k];P2=SEG7[alarms[k]]; delay(1);P3=0X00;}}}void main(){init();delay(10);while(1) //括号的“1”表示while()判断条件为真..只要不是“0”..这个循环就一直循环{modify();test();}}void diplay() interrupt 1 //定时/计数器T0 中断{ time1.second=dat1[0]+dat1[1]*10;time1.minute=dat1[3]+dat1[4]*10;time1.hour=dat1[6]+dat1[7]*10;ET0=0;TR0=0;TH0 = 0xDB;TL0 = 0xff;TR0=1;tcount++;if(tcount==100){time1.second++;tcount=0;dat1[0]=(time1.second)%10; dat1[1]=(time1.second)/10; }if(time1.second>59){time1.second=0;time1.minute++;dat1[0]=(time1.second)%10; dat1[1]=(time1.second)/10; dat1[3]=(time1.minute)%10; dat1[4]=(time1.minute)/10; }if(time1.minute==60){time1.minute=0;time1.hour++;dat1[3]=(time1.minute)%10;dat1[4]=(time1.minute)/10;dat1[6]=time1.hour%10;dat1[7]=time1.hour/10;}if(time1.hour>23){time1.hour=0;}dat1[5]=10;dat1[2]=10;if((alarms[7]==dat1[7])&&(alarms[6]==dat1[6])&&(alarms[4]==dat 1[4])&&(alarms[3]==dat1[3])&&(sw==1)){P0=0x11;}ET0=1;}。