数字时钟计时器的设计_第1页
数字时钟计时器的设计_第2页
数字时钟计时器的设计_第3页
数字时钟计时器的设计_第4页
数字时钟计时器的设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

1、摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本次做的数字钟是以单片机(AT89C52)为核心,结合相关的元器件(共阴极LED数码显示器、BCD-锁存/7段译码/驱动器等),再配以相应的软件,达到制作简易数字钟的目的,其硬件部分难点在于元器件的选择、布局及焊接

2、。数字电子时钟计时器的优点很多:可靠性高,控制精确度高,优良的焊接性能,权威的焊接专家数据库,远程诊断功能,远程控制功能,人性化设计,节能降耗体积小,本机采用改进的IGBT逆变技术,减小了主变压器及电抗器体积,从而减小了电源整机的体积和重量,大大降低了铜铁损,提高了电源的效率及功率因数,使节能效果非常显著。关键词:单片机应用 电子钟 AT89C52 共阴极LED数码显示器 Abstract In recent years along with the computer in the social domain seepage and the large scale integrated cir

3、cuit development, the monolithic integrated circuit application was moving towards unceasingly thoroughly, because it had function, the volume was small, the power loss was low, the price was cheap, the work was reliable, characteristics and so on easy to operate, therefore suited specially in with

4、the control related system, more and more widely applied in the automatic control, the intellectualized instrument, the measuring appliance, the data acquisition, the military product as well as the domestic electric appliances and so on each domain, the monolithic integrated circuit often is took a

5、 core part used, in the basis concrete hardware architecture, as well as in view of the concrete application object characteristic software union, made the consummation.This time does the digital clock is take the monolithic integrated circuit (AT89C52) as a core, unifies the related primary device

6、(common cathode LED numerical code monitor, the BCD- lock saves /7 section of decoding/driver and so on), again matches by the corresponding software, achieved the manufacture simple numeral clock the goal, its hardware partial difficulties lie in the primary device the choice, the layout and the we

7、lding.Digital electronic clock calculagraph merit many: Reliability height , the height controlling precision , good welding function, authoritys welding expert data base , long-range diagnose function , long-range under the control of function , personalization design that, saving energy and reduci

8、ng consumption volume has been small , this machine has adopt the IGBT contra variant technology improving , has diminished the host transformer and reactance implement volume, volume and weight having diminished the power source complete machine thereby, having reduced copper iron greatly mean , ha

9、s raised power source efficiency and power factor , has made energy conservation effect very notable. Keywords: The monolithic machine applies Electronic clock AT89C51 Together negative electrode LED digital display目 录 TOC o 1-2 h z u HYPERLINK l _Toc229456120 摘 要 PAGEREF _Toc229456120 h i HYPERLINK

10、 l _Toc229456121 Abstract PAGEREF _Toc229456121 h ii HYPERLINK l _Toc229456123 绪 论 PAGEREF _Toc229456123 h 1 HYPERLINK l _Toc229456124 第一章 功能要求 PAGEREF _Toc229456124 h 2 HYPERLINK l _Toc229456125 第二章 方法论证 PAGEREF _Toc229456125 h 2 HYPERLINK l _Toc229456126 第三章 系统硬件电路的设计 PAGEREF _Toc229456126 h 3 HYP

11、ERLINK l _Toc229456127 第四章 系统程序的设计 PAGEREF _Toc229456127 h 4 HYPERLINK l _Toc229456128 第一节 主程序 PAGEREF _Toc229456128 h 4 HYPERLINK l _Toc229456129 第二节 显示子程序 PAGEREF _Toc229456129 h 4 HYPERLINK l _Toc229456130 第三节 定时器T0中断服务程序 PAGEREF _Toc229456130 h 5 HYPERLINK l _Toc229456131 第四节 定时器T1中断服务程序 PAGEREF

12、 _Toc229456131 h 5 HYPERLINK l _Toc229456132 第五节 调时功能程序 PAGEREF _Toc229456132 h 6 HYPERLINK l _Toc229456133 第六节 秒表功能程序 PAGEREF _Toc229456133 h 6 HYPERLINK l _Toc229456134 第七节 闹钟时间社顶功能程序 PAGEREF _Toc229456134 h 6 HYPERLINK l _Toc229456135 第五章 调试及性能分析 PAGEREF _Toc229456135 h 7 HYPERLINK l _Toc22945613

13、6 第一节 硬件调试 PAGEREF _Toc229456136 h 7 HYPERLINK l _Toc229456137 第二节 软件调试 PAGEREF _Toc229456137 h 8 HYPERLINK l _Toc229456138 第三节 性能分析 PAGEREF _Toc229456138 h 8 HYPERLINK l _Toc229456139 第六章 电子钟的硬件系统设计 PAGEREF _Toc229456139 h 8 HYPERLINK l _Toc229456140 第一节 电子钟的硬件电路的设计 PAGEREF _Toc229456140 h 9 HYPERL

14、INK l _Toc229456141 第二节 电子钟电路 PAGEREF _Toc229456141 h 9 HYPERLINK l _Toc229456142 第三节 复位电路 PAGEREF _Toc229456142 h 10 HYPERLINK l _Toc229456143 第四节 闹钟电路 PAGEREF _Toc229456143 h 12 HYPERLINK l _Toc229456144 第五节 显示部分 PAGEREF _Toc229456144 h 12 HYPERLINK l _Toc229456145 第六节 LED显示结构与原理 PAGEREF _Toc22945

15、6145 h 12 HYPERLINK l _Toc229456146 第七节 LED显示器接口及显示方式 PAGEREF _Toc229456146 h 14 HYPERLINK l _Toc229456147 第八节 电源电路部分 PAGEREF _Toc229456147 h 16 HYPERLINK l _Toc229456148 第九节 集成直流稳压电源的设计 PAGEREF _Toc229456148 h 17 HYPERLINK l _Toc229456149 附录 PAGEREF _Toc229456149 h 19 HYPERLINK l _Toc229456150 结 论

16、PAGEREF _Toc229456150 h 45 HYPERLINK l _Toc229456151 参考文献 PAGEREF _Toc229456151 h 46 HYPERLINK l _Toc229456152 致 谢 PAGEREF _Toc229456152 h 47绪 论 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很

17、重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且

18、无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。功能要求 时钟计

19、时器要求用单片机及6位LED数码管显示时、分、秒,以24小时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)等功能第二章 方法论证 为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED显示。按键开关 蜂鸣器AT89C52 P0单片机控制器 P2 列驱动6位LED显示器 图2.1 硬件系统的整体设计图 单片机采用易购的AT89C52系列,这种单片机具有足

20、够的空余硬件资源,可以实现其他的扩充功能。如果考虑使用电池供电,则可采用LV系列单片机。时钟计时器电路系统的总体设计框图2.1所示。第三章 系统硬件电路的设计 时钟计时器的硬件电路如图2.2所示。该电路采用AT89C52单片机最小化应用设计;采用共阳7段LED显示器;P0口输出段码数据;P2.0P2.5口作列扫描输出;P1.0、P1.1、P1.2和P1.3口接4个按钮开关,用于调时及功能设置;P1.7端口接5V的小蜂鸣器,用于按钮发音及定时提醒等;为了提供共阳LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出;采用12MHz晶振,可提高秒计时的精确性。 图2.2 秒表/时钟计时器电路

21、原理图第四章 系统程序的设计主程序 本设计中计时采用定时器T0中断完成秒表使用定时器T1中断完成。主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。其主程序执行流程如图2.3所示。开始 初始化调用显示子程序键按下?整点到?按时间鸣叫次数进入功能程序NYNY 图2.3 主程序流程图第二节 显示子程序 时间显示子程序每次显示6个连续内存单元的十进制BCD码数据,首地址在调用显示程序时先指定。 内存中50H55H为闹钟定时单元,60H65H为秒表计时单元,70H75H为时钟显示单元。由于采用7段共阳LED数码管动态扫描实现数据显示,所以显示用十进制BCD码数据的对应段码存放

22、在ROM表中。 显示时,先取出内寸地址单元的数据值。为了显示小数点及“”、“A”等特殊字符,在显示班级和计时时应采用不同的显示子程序。第三节 定时器T0中断服务程序 定时器T0用于时间计时。定时益出中断周期设为50ms,中断进入后先进行定时中断初值校正,当中断累计20次(即50ms*20=1s)时,对秒计数单元进行加1操作。时钟计数单元地址分别在70H71H(秒)、76H77H(分)、78H79H(时)中。最大计时值为23时59分59秒。7AH单元内存放“熄灭符”数据(#0AH),用于时间调整时的闪烁功能。在计数单元中,采用十进制,满10进位。 T0中断计时程序流程图如图2.4所示。保护现场定

23、时初值校正1s到加1s处理恢复现场,中断返回T0中断 图2.4 T0中断计时程序流程图第四节 定时器T1中断服务程序T1中断程序用于指示时间调整单元数字的闪亮或秒表计数,在时间调整状态下,每过0.3s左右,将对应调整单元的显示数据换成“熄灭符”数据(#0AH)。这样,在调整时间时,对应调整单元的显示数据会间隔闪亮。在作秒表计时时,每10ms中断1次,计数单元加1,每100次为1s。秒表计数单元地址在60H61H(10毫秒)、62H63H(秒)、64H65H(分)中,最大计数值为99分59.99秒。T1中断服务程序流程图如图2.5所示。T1中断保护现场秒表闪烁闪烁处理恢复现场,中断返回加10s处

24、理时钟调时闪烁秒表 图2.5 T1中断服务程序流程图第五节 调时功能程序调时功能程序的设计方法是:按下P1.0口按键,若按下时间小于1s,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当再按下P1.0口按键时,若按下时间小于0.5s,则时间加1分钟;若按下时间大雨0.5s,则进入小时调整状态。按下P1.1按键时,可进行减1调整。在小时调整状态下,当按键按下的时间大雨0.5s时,退出时间调整状态,时钟从0s开始计时。第六节 秒表功能程序在正常时钟状态下,若按下P1.1口按键,则进行时钟/秒表显示功能的转换,秒表中断计十程序启动,显示首址改为60H,LED

25、将显示秒表计时单元60H65H中的数据。按下P1.2口的按键开关,可实现秒表清0、秒表启动、秒表暂停功能;当按下P1.1口按键时,关闭T1秒表中断计时,显示首址又改为70H,恢复正常时间的显示功能。第七节 闹钟时间社顶功能程序 在正常时钟状态下,若按下P1.3口的按键开关,则进入设定闹时调分状态,显示首址改为50H。LED将显示50H55H中的闹钟设定时间,显示式样为00:00:,其中高2位代表时,低2位代表分,在定时闹铃时精确到分。按P1.2键,分加1;按P1.0键,分减1。若再按P1.3按键,则进入时调整状态,显示式样为00:00:,按P1.2键,时加1;按P1.0键,时减1。呆板P1.1

26、键,闹铃有效,显示式样变为00:00:0;再按P1.1键,闹铃无效,显示式样又变为00:00:。再按P1.3键,调整闹钟时间结束,恢复正常时间的显示。在闹铃时,可按一下P1.3口的按键开关使蜂鸣停止,不按则蜂鸣器将鸣叫停止,不按则蜂鸣器将鸣叫1min后自行中止。在设定闹钟后,若要取消闹时功能,则可按一下P1.3键,当同到“滴”的一声时表明已取消了闹铃功能。第五章 调试及性能分析第一节 硬件调试硬件调试时可先检查印制板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮状况。若亮度不理想,可以调整P0口的电阻大小,一般情况下取200电阻即可获得满意的亮度效果。实验室制作时,可结合示波器测试

27、晶振及P0、P2端口的波形情况进行综合硬件测试分析。第二节 软件调试软件调试在Wave或Keil C51编译器下进行,源程序编译及仿真调试应分段或子程序为单位逐个进行,最后可结合硬件实时调试。第三节 性能分析 按照设计程序分析,LED显示器动态扫描的频率约为167Hz,实现使用观察时完全没有闪烁。由于计时中断程序中加了延时误差处理,所以实际计时精度非常高,可满足多种场合的应用需要。另外,上电时具有一个滚动显示子程序,可以方便地显示制作日期等信息。第六章 电子钟的硬件系统设计硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现电子钟的基本功能以外,主要还要考虑如下几个因素:系统稳定度。器件的

28、通用性或易选购性。 软件编程的易实现性。系统其它功能及性能指标,因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。第一节 电子钟的硬件电路的设计我们电子时钟电路用AT89C51单片机来实现。采用共阳7段LED显示器;P0 口输出数码数据;P2.0-P2.5口作列扫描输出;P1.0、P1.1、P1.2和P1.3口接4个按扭开关,用于调时及功能设置;P1.6端口接5V的小蜂鸣器,用于按键发音及定时提醒、整点到时提醒等;为了提供共阳LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出。系统总体设计原理图。第二节 电子钟电路作用:它是用于产生单片机工作所需要的时钟信号。原理:在AT8

29、9C51内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。如图2.2、2.3所示。时钟电路产生的振荡脉冲之间经过触发器的二分频之后,才成为单片机的时钟脉冲信号。一般的电容取30pF左右,晶体振荡器取1.2至12MHZ。晶体振荡器频率越高,则系统的时钟频率也高,单片机运行速度也快。我们这次取6MHZ。机器周期:MCS-51采用定时控制方式,因此它有固定的机器周期,规定一个机器周期的宽度为6个状态,一个状态又包括两个节拍,因此,一个机器周期总共为12个振荡脉冲周期,因

30、此机器周期就是振荡脉冲的十二分频。由于我们采用6MHZ的频率,所以机器周期为2S。T1T0EA/VPX1X2RESETRDWR151431191891716 vccY6MHZC330pFC230pF 图 时钟振荡电路 第三节 复位电路单片机的复位电路都是靠外部的电路实现的,在时钟电路工作后,只要在RESET引脚上出现10ms以上的高电平,单片机就实现状态复位。寄存器的复位状态单片机在RESET引脚有效电平控制下,程序计数器和特殊功能寄存器的复位状态如表1.1所示,单片机的复位状态不影响片内RAM状态,只要RESET引脚端保持高电平,单片机将不断复位。在复位期间,ALE,/PSEN输出高电平.表

31、1.1 程序计数器和特殊功能寄存器的复位状态PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTH100HP0P3*00000BTL100HIP0*00000BSCON00HIE0*00000BPCON0*0000B原理:单片机通常采用上电自动复位和按钮复位两种方式.最简单的复位电路如图2.7所示,上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET端保持10ms以上高电平,就能使单片机有效复位.在实际的应用系统中,有些外围芯片也需要复位.如果这些芯片的复位要求与单片机复位要求一样,则可以与之

32、相连.在图2.7的上电复位电路中,干扰易串入复位端,在大多数情况下不会造成单片机的错误复位,但会引起内部某些寄存器错误复位,这时,可以在RESET引脚上接一去耦电容.在应用系统中,为了保证复位电路可靠地工作,常将RC电路在接史密特电路后再接入单片机复位端和外围电路复位端.这样,系统有多个复位端时,能保证可靠地同步复位.我们选C为22F,R取1K欧姆,Rs取200左右.按键复位电路的原理:没有按键时,在接电瞬间,RESET端的电位和VCC相同,随着充电电流的减少,RESET的电位逐渐下降。若要复位,我们只需按下键即可,此时电源VCC经电阻R1,R2分压,在RESET端产生一个复位。图 上电复位电

33、路 第四节 闹钟电路 当时间与设置闹钟时间相等时,通过I/O口控制继电器接通闹钟实现。第五节 显示部分单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器LCD(Liquid Crystal Display);近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。第六节 LED显示结构与原理单片机中通常用七段LED构成字型“8”。这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连

34、在一起的称为共阴极显示器(如下图所示)。一位显示器由7个发光二极管组成,这7个发光二极管构成字型“8”的各个笔划(段) 。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。 (b)为共阳极连接 (c)为共阴极连接由于共阴极连接需加驱动,故在这里我采用的是共阳阳极连接。以共阳极LED为例,如图(b)所示,各LED公共阳极K0接高电平,若向各控制端a,b,,g,dp顺次送入11100000信号,则该显示器显示“”字型。图2.7 译码器逻辑图表1.2 译码器的真值表数值输入输出ABCDabcdefg0000011111101000101

35、10000200101101101300111111001401000110011501011011011601101011111701111110000810001111111910011111011A10101110111B10111001111C11001001110D11010111101E11101001111F11111000111第七节 LED显示器接口及显示方式 LED显示器有静态显示方式和动态显示方式两种。静态显示就当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。每位的段选

36、线分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存的输出将维持不变。正因为如此,静态显示器的亮度较高。这种显示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。由于所有6位段皆由一个I/O口控制,因此,在每一瞬间,6位LED会显示相 同的字符。要想每位显示不同的字符,就必须采用扫描方法流点亮各位LED,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示位送入选通电平(因为LED为共阳,故应送高电平),以保证该位显示相应字符。如

37、此轮流,使每位分时显示该位应显示字符。例如,要求显示“LL0-20”时,I/O1和I/O2轮流送入段选码、位选码。在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。而共阴(共阳)极公共端分别由相应的I/O口线控制,实现各位的分时选通。段选码,位选码每送入一次后延时1MS,因人的视觉暂留时间为0.1S(100MS),所以每位显示的时间不能超过20MS,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。这种方式称为软件扫描方式。图 LED显示器电路第八节 电源电路部分 要想电子钟正常工作得到+5V的输出电压,就需将交流220V的电压经

38、过变压器、整流电路、滤波电路和稳压电路四个部分来实现。交流电源变压器整流电路滤波电路稳压电路 图直流稳压电源基本电路框图 = 1 * GB3 电源变压器电源变压器的作是将电网220V的交流电压V1变换成整流滤波电路所需要的交流电压V2。变压器副边与原边的功率比:P2/P1= 式中,为变压器的效率。 = 2 * GB3 整流滤波电路整流二极管D1D4组成单相桥式整流电路,将交流电压V2变成脉动的直流电压,再经滤波电容C滤除纹波,输出直流电压Vi。Vi与交流电压V2的有效值V2的关系为 Vi=(1.11.2)V2每只整流二极管承受的最大反向电压 = 3 * GB3 稳压电路成采样比较放大电路,当稳

39、压器的输出负载变化时,输出电压V0应保持不变,稳压如下:设输出负载电阻RL变化,使V0,则VB2 VC2 IB1 VCE1 VO第九节 集成直流稳压电源的设计集成稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。 = 1 * GB3 集成稳压器常见集成稳压器有固定式三端稳压器与可调式三端稳压器。可调式三端稳压器能输出连续可调的直流电压。其中CW317系列稳压器输出连续可调的正电压,这是我这次选用的,其图见附录(2).CW337系列稳压器输出连续可调的负电压。稳压器内部含有过流、过热保护电路。R1与RP1组成电压输出调节电路,输出电压V01.25(1+

40、RP1/R1) R1的值为120240,流经R1的泄放电流为5mA10mA。RP1为精密可调电位器。电容C2与RP1并联组成滤波电路,以减小输出的纹波电压。二极管D的作用是防止输出端与地短路时,损坏稳压器。集成稳压器的输出电压VO与稳压电源的输出电压相同。稳压器的最大允许电流IcmIomax = 4 * GB3 整流二极管及滤波电路整流二极管D2的反向击穿电压VRM应满足VRM 1.414V2,其额定工作电流应满足IFIomax。 附录; AT89C52时钟程序 ;*;以下程序能用于24小时计时,能作为秒表使用,能定时闹铃1分钟(也可关).;使用方法:开机后在00:00:00起开始计时,(1)

41、长按P1.0进入调分状态:分单元闪烁;按P1.0加1,按P1.1减1.再长按P1.0进入时调整状态,时单元闪烁,加减调整同调分.;按长按退出调整状态. (2)按下P1.1进入秒表状态:按P1.2暂停,再按P1.2秒表清零,再按;P1.2秒表又启动,按P1.1退出秒表回到时钟状态. (3)按P1.3进入设定闹时状态: 00:00: -,可进;行分设定,按P1.2分加1,再按P1.3为时调整,00:00:- ,按P1.2时加1,按P1.1闹铃有效,显示为00:00:-0,再按;P1.1闹铃无效(显示00:00:- ,),按P1.3调闹钟结束.在闹铃时可按P1.3停闹,不按闹铃1分钟.;定时器T0、

42、T1溢出周期为50MS,T0为秒计数用, T1为调整时闪烁及秒表定时用,;P1.0、P1.1、P1.2、P1.3为调整按钮,P0口为字符输出口,P2为扫描口,P1.7为蜂呜器口,采用共阳显示管。;50H-55H为闹钟定时单元,60H-65H为秒表计时单元,70H-75H为显示时间单元,76H-79H为分时计时单元。;03H标志=0时钟闪烁,=1秒表, 05H=0,不闹铃,=1要闹铃. 07H每秒改变一次,用作间隔呜叫;*; DISPFIRST EQU 30H ;显示首址存放单元 BELL EQU P1.7 ;小喇叭 CONBS EQU 2FH ;存放报时次数;*; 中断入口程序 ;*; ORG

43、 0000H ;程序执行开始地址 LJMP START ;跳到标号START执行 ORG 0003H ;外中断0中断程序入口 RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口 LJMP INTT0 ;跳至INTTO执行 ORG 0013H ;外中断1中断程序入口 RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口 LJMP INTT1 ;跳至INTT1执行 ORG 0023H ;串行中断程序入口地址 RETI ;串行中断程序返回;*; 以下程序开始 ;*;整点报时用QQQQ: MOV A,#10H MOV B,79H MUL AB ADD A,7

44、8H MOV CONBS,ABSLOOP: LCALL DS20MS LCALL DL1S LCALL DL1S LCALL DL1S DJNZ CONBS,BSLOOP CLR 08H ;清整点报时标志 AJMP START1;*; 主程序开始 ;*;START: LCALL ST ;上电显示年月日及班级学号 MOV R0,#00H ;清00H-7FH内存单元 MOV R7,#80H ;CLEARDISP: MOV R0,#00H INC R0 ; DJNZ R7,CLEARDISP ; MOV 20H,#00H ;清20H(标志用) MOV 7AH,#0AH ;放入熄灭符数据 MOV TM

45、OD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50MS定时初值(T0计时用) MOV TH0,#3CH ;50MS定时初值 MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用) MOV TH1,#3CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1秒定时用计数值(50MS20) MOV DISPFIRST,#70H ;显示单元为70-75H;以下主程序循环START1: LCALL DISPLAY ;调用显示子程序 JNB P1.2,FUNPT ;秒

46、表STOP,PUSE,CLR JNB P1.3,TSFUN ;定时闹铃设定 JB 08H, QQQQ; FUNPT: LJMP FUNPTT TSFUN: LCALL DS20MS JB P1.3,START1 ; WAIT113: JNB P1.3,WAIT113 ;等待键释放 JB 05H,CLOSESP ;闹铃已开的话,关闹铃 MOV DISPFIRST,#50H ;进入闹铃设定程序,显示50-55H闹钟定时单元 MOV 50H,#0CH ;- 闹铃设定时显示格式00:00: - MOV 51H,#0AH ;黑; DSWAIT: SETB EA LCALL DISPLAY JNB P1.

47、2,DSFINC ;分加1 JNB P1.0,DSDEC ;分减1 JNB P1.3,DSSFU ;进入时调整 AJMP DSWAIT; CLOSESP: CLR 05H ;关闹铃标志 CLR BELL AJMP START1 DSSFU: LCALL DS20MS ;消抖 JB P1.3, DSWAIT LJMP DSSFUNN ;进入时调整;SETMM1: LJMP SETMM ;转到时间调整程序SETMM; DSFINC : LCALL DS20MS ;消抖 JB P1.2, DSWAITDSWAIT12: LCALL DISPLAY ;等键 释放 JNB P1.2, DSWAIT12

48、CLR EA MOV R0,#53H ; LCALL ADD1 ;闹铃设定分加1 MOV A;R3 ;分数据放入A CLR C ;清进位标志 CJNE A#60H,ADDHH22 ADHH22: JC DSWAIT ;小于60分时返回 ACALL CLR0 ;大于或等于60分时分计时单元清0 AJMP DWAIT DSDEC : LCALL DS20MS ;消抖 JB P1.0, DSWAIT DSWAITEE: LCALL DISPLAY ;等键 释放 JNB P1.0, DSWAITEE CLR EA MOV R0,#53H ; LCALL sub1 ;闹铃设定分减1 LJMP DSWAI

49、T;以下秒表功能/时钟转换程序;按下P1.1 可进行功能转换FUNSS: LCALL DS20MS JB P1.1,START11 WAIT11: JNB P1.1,WAIT11 CPL 03H JNB 03H,TIMFUN MOV DISPFIRST,#60H ;显示秒表数据单元 MOV 65H,#00H MOV TL1,#0F0H ;10MS定时初值() MOV TH1,#0D8H ;10MS定时初值 SETB TR1 SETB ET1 START11: LJMP START1 TIMFUN: MOV DISPFIRST,#70H ;显示时钟数据单元 CLR ET1 CLR TR1 STA

50、RT12: LJMP START1 ;以下秒表暂停清零功能程序FUNPTT: LCALL DS20MS JB P1.2,START12 WAIT22: JNB P1.2,WAIT21 CLR ET1 CLR TR1WAIT33: JNB P1.1,FUNSS JB P1.2,WAIT31 LCALL DS20MS JB P1.2,WAIT33WAIT66: JNB P1.2,WAIT61 MOV 60H,#00H MOV 61H,#00H MOV 62H,#00H MOV 63H,#00H MOV 64H,#00H MOV 65H,#00H WAIT44: JNB P1.1,FUNSS JB

51、P1.2,WAIT41 LCALL DS20MS JB P1.2,WAIT44 WAIT55: JNB P1.2,WAIT51 SETB ET1 SETB TR1 AJMP START1;以下键等待释放时显示不会熄灭用WAIT21: LCALL DISPLAY AJMP WAIT22WAIT31: LCALL DISPLAY AJMP WAIT33 WAIT41: LCALL DISPLAY AJMP WAIT44WAIT51: LCALL DISPLAY AJMP WAIT55WAIT61: LCALL DISPLAY AJMP WAIT66; 1秒计时程序 ;T0中断服务程序INTT0:

52、PUSH ACC ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A,#0B7H ;中断响应时间同步修正 ADD A,TL0 ;低8位初值修正 MOV TL0,A ;重装初值(低8位修正值) MOV A,#3CH ;高8位初值修正 ADDC A,TH0 ; MOV TH0,A ;重装初值(高8位修正值) SETB TR0 ;开启定时器T0 DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值 CPL 07H ;闹铃时间隔呜叫用 MOV R0,#

53、71H ;指向秒计时单元(71H-72H) ACALL ADD1 ;调用加1程序(加1秒操作) MOV A,R3 ;秒数据放入A(R3为2位十进制数组合) CLR C ;清进位标志 CJNE A,#60H,ADDMM ; ADDMM: JC OUTT0 ;小于60秒时中断退出 ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0,#77H ;指向分计时单元(76H-77H) ACALL ADD1 ;分计时单元加1分钟 MOV A,R3 ;分数据放入A CLR C ;清进位标志 CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出 AC

54、ALL CLR0 ;大于或等于60分时分计时单元清0 LCALL DS20MS ;正点报时 SETB 08H MOV R0,#79H ;指向小时计时单元(78H-79H) ACALL ADD1 ;小时计时单元加1小时 MOV A,R3 ;时数据放入A CLR C ;清进位标志 CJNE A,#24H,HOUR ; HOUR: JC OUTT0 ;小于24小时中断退出 ACALL CLR0 ;大于或等于24小时小时计时单元清0 OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移 MOV 73H,77H ;入对应显示单元 MOV 74H,78H ; MOV 75H,79H ;

55、 LCALL BAOJ POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放T0中断 RETI ;中断返回;*; 闪动调时程序秒表功能程序 ;*;T1中断服务程序,用作时间调整时调整单元闪烁指示或秒表计时INTT1: PUSH ACC ;中断现场保护 PUSH PSW ; JB 03H, MMFUN ;=1时秒表 MOV TL1, #0B0H ;装定时器T1定时初值 MOV TH1, #3CH ; DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次) JB 02H,FLASH1 ;02H位为1时显示单元熄灭 MOV 72H,76H

56、 ;02H位为0时正常显示 MOV 73H,77H ; MOV 74H,78H ; MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场 POP ACC ; RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制 MOV 72H,7AH ;01H位为0时,熄灭符数据放入分 MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据 MOV 74H,78H ; MOV 75H,79H ; AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,熄灭符数据放入小时 MOV 73H,77

57、H ;显示单元(74H-75H),小时数据将不显示 MOV 74H,7AH ; MOV 75H,7AH ; AJMP INTT1OUT ;转中断退出;MMFUN : CLR TR1 MOV A,#0F7H ;中断响应时间同步修正,重装初值(10ms) ADD A,TL1 ;低8位初值修正 MOV TL1,A ;重装初值(低8位修正值) MOV A,#0D8H ;高8位初值修正 ADDC A,TH1 ; MOV TH1,A ;重装初值(高8位修正值) SETB TR1 ;开启定时器T0 MOV R0,#61H ;指向秒计时单元(71H-72H) ACALL ADD1 ;调用加1程序(加1秒操作)

58、 CLR C ; MOV A,R3 ; JZ FSS1 ;加1后为00,C=0 AJMP OUTT01 ;加1后不为00,C=1 FSS1: ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0,#63H ;指向分计时单元(76H-77H) ACALL ADD1 ;分计时单元加1分钟 MOV A,R3 ;分数据放入A CLR C ;清进位标志 CJNE A,#60H,ADDHH1 ; ADDHH1: JC OUTT01 ;小于60分时中断退出 LCALL CLR0 ;大于或等于60分时分计时单元清0 MOV R0,#65H ;指向小时计时单元(78H-79H) ACALL

59、ADD1 ;小时计时单元加1小时OUTT01: POP PSW ;恢复状态字(出栈) POP ACC ;恢复累加器 RETI ;中断返回;*; 加1子 程 序 ;*;ADD1: MOV A,R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ;A中数据高四位与低四位交换 ORL A,R0 ;前一地址中数据放入A中低四位 ADD A,#01H ;A加1操作 DA A ;十进制调整 MOV R3,A ;移入R3寄存器 ANL A,#0FH ;高四位变0 MOV R0,A ;放回前一地址单元 MOV A,R3 ;取回R3中暂存数据 INC R0 ;指向当前地址单元 SWAP

60、A ;A中数据高四位与低四位交换 ANL A,#0FH ;高四位变0 MOV R0,A ;数据放入当削地址单元中 RET ;子程序返回;*; 分减1子 程 序 ;*;SUB1: MOV A,R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ;A中数据高四位与低四位交换 ORL A,R0 ;前一地址中数据放入A中低四位 JZ SUB11 DEC A ;A减1操作 SUB111: MOV R3,A ;移入R3寄存器 ANL A,#0FH ;高四位变0 CLR C ;清进位标志 SUBB A,#0AH SUB1111: JC SUB1110 MOV R0,#09H ;大于等

温馨提示

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

评论

0/150

提交评论