《时钟系统设计论》word版.doc_第1页
《时钟系统设计论》word版.doc_第2页
《时钟系统设计论》word版.doc_第3页
《时钟系统设计论》word版.doc_第4页
《时钟系统设计论》word版.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

时钟系统设计王俊仕(信息工程学院)摘要:本设计是定时闹钟的设计,由单片机AT89C51芯片和LED数码管为核心,辅以必要的电路,构成的一个单片机电子定时闹钟。AT89C51的指令系统和引脚与8051完全兼容,片内有128B的RAM、32条I/O口线、2个16位定时计数器、5个中断源、一个全双工串行口等。AT89C51单片机结合七段显示器设计的简易定时闹铃时钟,可以设置现在的时间及显示闹铃时间,若时间到则发出一阵声响,进步扩充控制电器的启停。关键词:1; AT89C512;蜂鸣器3; 数码管1设计目标1.1设计目标:时钟设计应用知识:I/O口应用、数码显示、定时/计数器、中断基本要求:设计一时钟系统,。系统具有时钟功能,能准确显示时、分、秒。 系统还应具有校正功能:能够修改当前的时间。扩展部分:具备设定闹钟和定时闹钟响功能2设计方案和论证本次设计时钟电路是以AT89C51单片机芯片控制电路,在LED显示器上显示当前的时间,使用字符型LCD显示器显示当前时间。这种单片机芯片比较简单,并且省去了很多复杂的线路,更容易表达和理解,通过按钮来调节电微型控制器时钟电路数据显示按键调时子钟的时、分、秒。并且这次电路我采用了两个按钮控制一个显示的方案,在调节小时/分钟/秒数时,只需要按下对其控制的按钮进行调节就行了,不要普遍所见的需要进入调节界面。同时这次我采用了c语言控制整个时钟的显示,这样通过三个模块:单片机芯片、LED显示屏、按钮控制电路即可达到设计要求。 2.1方案选择(1)计时方案方案1:使用内部的可编定定时器利用单片机内部的定时计数器进行中端定时,配合软件延时实现时、分、秒的计时。该方案节省硬件成本,但程序设计较为复杂。方案2:采用实时时钟芯片实时时钟芯片具备日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需要程序干预。因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。(2)显示方案LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用8位LED数码管来分别显示时、分、秒,因数码管个数较多,故本系统选择动态显示方式。3硬件设计3.1ATC89C51单片机介绍 AT89C51是一种带4K字节FLASH存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图1所示图1 AT89C51单片机的外形及引脚3.2晶振电路图2 晶振电路图本设计晶振电路采用12M的晶振。晶振的作用是给单片机正常工作提供稳定的时钟信号。单片机的晶振并不是只能用12M,只要不超过20M就行,在准许的范围内,晶振越大,单片机运行越快,还有用12M的就是好算时间,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us,那么定时器计一次数就是1us了,电容范围在20-40pF之间,这里连接的是30pF的电容。3.3开关图3 开关电路图本次设计共两个个弹簧开关和两个单刀单掷开关,上为时钟和设置闹钟的开关,下为加减校准开关。开关均为高电平有效。图4 开关电路图上图分别为分的校准开关和小时的校准开关,本设计利用按键开关来校正时钟显示的数字。当按钮按下时,通过相应的程序来改变时钟显示。3.4显示电路采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。对于实时时钟而言,显示显然是另一个重要的环节。通常LED显示有两种方式:动态显示和静态显示。静态显示的优点是程序简单、显示亮度有保证、单片机CPU的开销小,节约CPU的工作时间。但占有I/O口线多,每一个LED都要占有一个I/O口,硬件开销大,电路复杂。需要几个LED就必须占有几个并行口,比较适用于LED数量较少的场合。当然当LED数量较多的时候,可以使用单片机的串行口通过移位寄存器的方式加以解决,但程序编写比较麻烦。LED动态显示硬件连接简单,但动态扫描的显示方式需要占有CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。本系统需要采用8位LED来分别显示时、分、秒。图5 显示器电路图3.5蜂鸣器电路闹铃指示可以有声或光两种形式。本系统采用声音指示。关键元件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能正常发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣器分为3、5、6等系列,以适应不同的应用需要。闹钟电路是用比较器来比较计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹响的功能。图6 蜂鸣器电路图3.6软件计时LED数码管显示的时钟的具体硬件电路如图1-10所示。图7 软件计时LED显示时钟硬件电路图4.系统软件设计流程4.1设计一个时钟系统 TMOD=0x01; A=50000*11.0592/12;/求初值, 定时为50ms TH0=(65536-A)/256; TL0=(65536-A)%256; EA=1; /中断总开关 ET0=1; /开定时器0的中断关 TR0=1; /启动定时器0 EX0=1; IT0=1; EX1=1; IT1=1;while(1)void int0() interrupt 1void int1() interrupt 0void int2() interrupt 24.2利用定时中断设计使系统具有时钟功能,能准确显示时、分、秒:void int0() interrupt 1TH0=(65536-A)/256;TL0=(65536-A)%256;/重装初值num+;if(num=20) /中断20次,总共的时间为1秒 num=0;i+;4.3设计时钟校准功能: 实现时钟的校准步骤如下:(1)利用外部中断对时钟进行校准,因为秒的时间太短,所以对秒的校准意义不大。分别放置两个弹簧开关与P32和P3上,分别对应interrupt 0 interrupt 如下图所示,interrupt 0时是对分进行校准,interrupt 0 ,置于interrupt 2时则是对小时进行校准。图8 校准按键(2)在P16口放置一个单刀单置开关,如果开关是高电平,则是加的校准,如果是地平,则是减的校准。既在外部中断的interrupt中嵌套if语句对开关P16电平加以判断程序如下所示:void int1() interrupt 0 if(P16=1)分的加校准;else分的减校准;void int2() interrupt 2 if(P16=1)小时的加校准else 小时的减校准 4.4设计闹钟程序:(1)设定闹钟的变量b1,g1.(2)在P11口设一个单刀单置开关,如果P11是高电平则是时钟功能,低电平就是设定闹钟。就是在外部中断程序里多嵌套一个if程序对是否是设定闹钟加以判断。同时也要在while(1)程序里b1g1进行判断个十位及相对应的数码管void int1() interrupt 0 if(P11=1)时钟分校准else闹钟分校准void int2() interrupt 2 if(P11=1)时钟小时校准else闹钟小时校准同时相应主程序的位选和段选也要换成变量b1,g1(3)在P37口接一个装有闹钟响的发声器电路进行闹钟报时,既在闹钟时刻发声,并在P37口放置一个单刀单置开关,初始时开关是拨下,关掉闹钟声音是拨上去。这样就可以在闹钟响了以后时时关了闹钟。图9 响铃时静音键(4)在定时中断程序里面加一个判断程序,判断闹钟变量b1g1和时钟 变量bg是否相等,相等时就启动P37闹钟声响。而且在定时中断里面放这个程序,这样就可以时时地判断程序。程序如下:void int0() interrupt 1时钟变量设定; if(b=b1&g=g1)p37=!p37; delay(200);4.5数码管时分秒显示中间各加一横 在时分秒显示的中间空格数码管显示中间一横,程序如下:unsigned char code ta=0x40;while(1)P2=0xdf;P0=taj;delay(10);P2=0xfb;P0=taj;delay(10);5.过程论述5.1测试时钟功能通过测试本设计能完成24个小时的周期循环如下图所示。图10 功能测试5.2时钟校准功能如图3-2为初始时间2点3分39秒。关K1,K2校准过后时间如图3-3所示2点10分39秒。功能正常。图11 初始时间 图12校准过后的时间5.3验证闹钟功能初始时间如图3-4所示四点四分钟时间如图3-5所示四点六分,经过验证到达四点六分时候听蜂鸣器滴答滴答的声音,说明闹钟功能正常。图13初始时间

温馨提示

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

评论

0/150

提交评论