单片机电子闹钟设计.doc

上传人:laozhun 文档编号:4147467 上传时间:2023-04-07 格式:DOC 页数:32 大小:223.50KB
返回 下载 相关 举报
单片机电子闹钟设计.doc_第1页
第1页 / 共32页
单片机电子闹钟设计.doc_第2页
第2页 / 共32页
单片机电子闹钟设计.doc_第3页
第3页 / 共32页
单片机电子闹钟设计.doc_第4页
第4页 / 共32页
单片机电子闹钟设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《单片机电子闹钟设计.doc》由会员分享,可在线阅读,更多相关《单片机电子闹钟设计.doc(32页珍藏版)》请在三一办公上搜索。

1、目 录1 . 绪论111概述1111 51电子闹钟发展趋势1112 本课题研究的主要内容1 12 51电子闹钟简介2121 开发的目的和意义2122 51电子闹钟的优点212. 3 51电子闹钟的特点22. 系统方案的设计321系统概述3211系统方案的确定3212系统设计思路与步骤322芯片基本工作原理及其应用5221引脚介绍5222电源6223存储器6224应用6231 LM386介绍7232 LM386特点73. 系统的设计8 311单片机系统的设计8312 按键电路的设计9313复位电路的设计10314显示电路的设计11 32 系统软件的设计12321软件设计12322整个系统软件部分

2、的总体设计164.系统的调试和性能分析16 41 系统的调试方法16411输入按键的调试16412复位电路的调试17413显示电路的调试17414整个系统的联调17参考文献19附录1 原理图20附录3 (程序)221 .绪论11概述电子闹钟在科学技术高度发展的今天,千家万户都少不了它,所以很多家庭个人都需要有一个电子闹钟,为人们提供报时方便,但普通电子闹钟不够方便实用。本文给出了一种以51芯片电子闹钟设计方法,从而给人们带来更为方便的工作与生活。111 51电子闹钟发展趋势现代的快节奏生活给人们的精神上带来了很大压力。如何排解或缓解这些压力已经成为很多人关心的问题。单片机电子闹钟是具发前闹钟创

3、新性的系统,它代表了时代的发展趋势。2007年,无论从国内外行业发展趋势,还是从闹钟市场准入的要求来看,节能、环保、创新都已成为中国家电企业无法回避的大问题。在原材料价格不断上涨、下游渠道商实力膨胀、价格战越来越激烈、行业利润日趋微薄的背景下,日前,中国的电子闹钟在节能化、环保化、创新型转变过程中,正进行新一轮闹钟赛跑。目前,国内专业51电子闹钟厂家的数量正在迅速增长。51电子闹钟市场在未来的三五年内会高速增长,新技术、新产品也会不断出现并投入应用。112本课题研究的主要内容设计一个51电子闹钟(1) 能随意设定走时起始时间。 (2) 12小时24小时两种制式可选,以适应不同的需要。(3) 能

4、指示秒节奏,即秒指示(4) 采用交直流供电电源。与石英钟不同的是,电子钟一般采用数码管等显示介质,因而必须以交流供电为主,以直流电源为后备辅助电源,并能自动切换。该设计主要包括:按键、显示程序单元部分。、AT89S51单片机芯片、74HC245驱动LED显示电路,集成电路74HC245和LM386各1个.12 51电子闹钟简介121开发的目的和意义目的: 设计一个51电子闹钟的,该闹钟可由使用者自己设定一个时间,若想设置闹铃,应先按下复位按键,然后长时间按下设置按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设置当前

5、时间,调整方法跳到第一步。这样设置好后,她就能按照主人的意思,定时的把你闹醒啦!意义:电子闹钟已经是现代生活中经常用到的工具之一,传统的电子闹钟只是机械控制,另外,体积也很大,又不美观也不实用.而现在我设计的电子闹钟是用单片机做的.只要简单的设置好后,她就能按照主人的意思,定时的把你闹醒啦!也能给人们的生活带来方便。122 51电子闹钟的优点(1)、简单好用、美观、体积小、实用。(2)、用电量少、电压低,节能、环保、创新。按键、显示程序单元部分。AT89S51单片机芯片、74HC245驱动LED显示电路。外接3个按钮组成键盘,AT89S51为51内核。另外,AT89S51本身无专门的液晶驱动接

6、口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。 51电子闹钟的用途:我设计的电子闹钟是用单片机做的.只要简单的设置好后,她就能按照主人的意思,定时的把你闹醒啦!也能给人们的生活、工作学习带来方便。123 51电子闹钟的特点1.帮助您排解或缓解那些来自现实生活的压力2.数码管作为一种主动显示器件,亮度高、价格便宜等,显示数字清晰。3.简单好用,可任意设24式时间。4.使用LED发光,省电,灯泡寿命长。2. 系统方案的设计21系统概述。211系统方案的确定根据以上各模块并结合显示屏的功能及元器件材料的情况,决定采

7、用AT89S51为51内核显示设计方案。212系统设计思路与步骤先进行系统的整体规划确定整个系统的功能,然后按照每个功能的具体要求,进行各个模块的实物设计并逐个调试,待全部通过后,进行整个系统的联调,最终实现一个完整的系统,并制成印刷线路板。整个系统的设计步骤如下:在单片机最小系统的基础上,完成按键电路和复位电路的设计。完成显示电路、数字按键、复位电路。具有3个功能按键:1. 在复位后的待机状态下,用于启动设定时间参数(对时或定闹);2. 在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于结束当前位的设定,当前设定位下移; 3.在设定最低位(分个位)的状态下,用于结束本次时间设定。

8、2)键,用于对当前设定位(编辑位)进行加1操作,根据1224小时工作模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自动进行数据的上限和下限判断。例如,对12小时制,小时的十位只能是0、1,如果当前值为0,则按1键后为1,再按1键则又回复到0。把以上各个模块联结起来,整体调试功能。整个系统的原理框图如图2-1所示按键与按钮电路复位等辅助电路位数码管显示电路闹铃声光指示电路电源系统 图2-1 整个系统的原理图22芯片基本工作原理及其应用221引脚介绍 AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM)

9、,32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。图2-2 引脚图 此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。 主要功能特性:兼容MCS-51指令系统32个双向I/O口2个16位可编程定时/计数器全双工UART串行中

10、断口线2个外部中断源中断唤醒省电模式看门狗(WDT)电路灵活的ISP字节和分页编程4k可反复擦写(1000次)ISP Flash ROM4.5-5.5V工作电压时钟频率0-33MHz128x8bit内部RAM低功耗空闲和省电模式3级加密位软件设置空闲和省电功能双数据寄存器指针222电源89S51有很宽的工作电源电压,电源范围宽达45.5V.223存储器89S51支持ISP在线可编程写入技术!串行写入、速度更快、稳定性更好,烧写电压也仅仅需要45V即可.224应用就目前中国市场的情况来看,89S51有很大的市场。其原因有下列几点:(1)AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置

11、省电模式;(2)AT89S51是一个低功耗,高性能CMOS 8位单片机;(3)芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。(4)同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。设计的功率放大器。231LM386介绍LM386适用于电脑、仪器、汽车电子、电源、通信、开关电源等电子产品.232LM386特点静态功耗低,约为4mA,可用于电池供电。 工作电压范围宽,4-12V or 5-18V。 外围元件少。 电压增益可调,20-200。 低失真度。24 74HC2

12、45简介 由于通过数码管公共及的电流较大,因此用三极管来驱动位码。为了避免过多地使用分立元件,采用了一片74HC245来驱动段码。3. 系统的设计一个完整的系统,离不开硬件和软件的设计。硬件与软件各有所长,如何合理的安排软硬件的任务是系统设计的第一步。311单片机系统的设计 单片机最小应用系统实际上就是一个内置程序存储器的单片机,可由单片机芯片,配以必要的外部器件构成,这些外部功能器件无法集成到芯片内部,主要有按键电路、显示电路等。 图3-1 单片机系统图312 按键电路的设计作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说当我们按下一个按键时,总希望某个命令只执行一次。而在按下

13、的过程中不要有干扰进来,因为在按下的过程中,一旦有干扰过来可能造成误触发过程,因此我们在设计按键电路的时候应注意不要有干扰进来以用在焊接时应注意:独立式按键。如果设置过多按键,将会占用较多I/O口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,稍为麻烦一些,但其程序简单。(1)执锡补焊时应按照从左到右,由上到下的顺序,避免检查时漏检或焊接时漏修。(2)焊接时要经常清洗烙铁头,防止烙铁头的杂物造成虚焊、针孔、加焊等不良发生。(3)不要在基板上给烙铁头加焊锡,生产过程中不能抖锡、敲锡、甩锡,防止焊

14、锡渣、焊锡、珠掉到基板上面。(4)在压件或拆件时要先在线路板的铜箔面上加焊锡,要求均匀加热,避免松香失效或铜箔翘皮造成线路破坏。考虑到电路不要复杂性,因而设计成3个按键,一个为复位,其它2个为按数字时间的按键和确定设好的时间确定.后2个按键要接89C2051端.若想设置闹铃,应先按下复位按键,然后长时间按下设置按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第一步。l 在复位后的待机状态下,用于启动设定时间参数(对时或定闹);l 在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于

15、结束当前位的设定,当前设定位下移;l 在设定最低位(分个位)的状态下,用于结束本次时间设定。2)键,用于对当前设定位(编辑位)进行加1操作,根据1224小时工作模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自动进行数据的上限和下限判断。例如,对12小时制,小时的十位只能是0、1,如果当前值为0,则按1键后为1,再按1键则又回复到0。313复位电路的设计目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。另外,Maxim等公司也推出了专用于复位的专用芯片复位电路的基本功能是:系统上电时提供复位信号,直

16、至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。单片机目前已被广泛地应用于家电、医疗、仪器仪表、工业自动化、航空航天等领域。市场上比较流行的单片机种类主要有Intel公司、Atmel公司和Philip公司的8051系列单片机,Motorola公司的M6800系列单片机,Intel公司的MCS96系列单片机以及Microchip公司的PIC系列单片机。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片

17、机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。图1是一个单片机与大功率LED八段显示器共享一个电源,并采用微分复位电路的实例。在这种情况下,系统有时会出现一些不可预料的现象,如无规律可循的“死机”、“程序走飞”等。而用仿真器调试时却无此现象发生或极少发生此现象。又如图2所示,在此图中单片机复位采用另外一种复位电路。在此电路的应用中,用户有时会发现在关闭电源后的短时间内再次开启电源,单片机可能会工作不正常。这些现象,都可认为是由于单片机复位电路的设计不当

18、引起的。图3-2 复位电路图314显示电路的设计就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵),一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。基于AT89S51单片机的控制系统包括四部分:数据采集、控制系统、时钟电路、语音录音电路和报音提示信息电路。用数码管作为显示器。

19、数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。由于数码管使用起来较为方便,在夜间看时间也很方便,因此我们选择了数码管作为显示器.发音部分: 用软件方法产生方波输出,通过三极管放大后驱动蜂鸣器发音,这样就可以省去硬件振荡电路,降低成本。32系统软件的设计系统软件的设计方法与硬件设计的方法是相同的,也是根据系统的各个功能,划分成各个子模块,分别对每个模块来进行设计,然后在通过各个模块之间的调用来实现整个系统的功能。系统软件部分的设计模块有:按键电路的软件设计、复位电路的软件设计、显示电路的软件设计共3个模块。 发音部分:用软件方

20、法产生方波输出,通过三极管放大后驱动蜂鸣器发音,这样就可以省去硬件振荡电路,降低成本。 电源:如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器,功耗较大,需要经常更换电池。况且,本系统的体积较大,即使使用电池供电也不能随身携带,因此,用电池供电不大合适,所以用外部稳压电源来供电。321软件设计软件功能:(1)检测按键。当系统检测到某个案件被按下时,转到相应子程序处理,可实现校时、设定闹铃时间的功能。(2) 显示。系统通过调用显示子程序,可将显示缓冲区里的内容通过动态扫描方式输出到数码管显示器。(3) 计时。系统通过中断和软件计数器可产生秒信号。每到1s,系统将会调整时间存储

21、单元的内容,从而实现计时功能。(4) 比较。每当秒存储单元的内容为0时,系统通过调用比较子程序可判断当前时间是否符合闹铃条件,若符合,则调用发音子程序使蜂鸣器发出闹铃声音。(5) 产生音频方波输出。系统通过软件产生音频方波输出使蜂鸣器发声,这样可以省去硬件振荡电路。(6) 拆分。为了提高存储单元的利用率,本系统将时间数据压缩成压缩BCD码后再送入显存才能显示。(7) 合并。为了提高修改时间的速度,可先对现存内容逐位修改,然后调用合并子程序把显存内容合并后送入指定存储单元。(8) 设定。系统进入设定状态后,可通过按“设定”键改变闪亮位位置和按“+”或“-”键来加1或减1闪亮位内容,从而达到报时和

22、设定闹铃时间的目的。 软件设计: 图 T0中断服务程序流程图 电路流程图系统功能及使用方法: 系统上电后,自动进入时钟状态。若在此时按下“设定”键,显示器上将出现闪亮位,再按“+”或“-”则可以加或减闪亮位内容,修改完一位后再按“设定”可改变闪亮位位置继续修改下一位。修改完成后按“确定”键即可退出设定状态进入正常显示时钟状态。 在正常显示时钟状态时按下“闹钟”键可进入闹钟状态,此时按“+”或“-”可上下翻动闹钟表;按“设定”键可修改当前显示的闹钟时间,修改方法与修改时钟相同。在查看闹钟表状态下按“闹钟”键可以开/关当前显示的闹钟时间,当显示器第5位显示“-”时表示闹铃已开。按“时钟”键返回正常

23、显示时钟状态。若想设置闹铃,应先按下复位按键,然后长时间按下设置按键,第一个数码管会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设置当前时间,调整方法跳到第一步。这样设置好后,她就能按照主人的意思,定时的把你闹醒啦! 我们先了解简易闹钟的设计方法,并自己动手设计电路和编写实现闹钟功能的程序。简易闹钟要实现以下功能:1、能正确显示闹钟的走时2、可以进行当前时间的设置3、可以设置闹钟时间,并在时间到时发出响声。 设计中,我们利用仪器中所提供的以上提到的芯片和软件编程结合的思路。本设计的软件编程由四部分构成,下面将对照程序的构成来阐述我们

24、组对简易闹钟的方案设计,具体设计方案如下:(一)在主程序中,填写中断向量表,应用8255A的IRQ7和IRQ5端。利用8253A和8259A完成计时一秒的功能,然后通过更新时间的子程序完成时间跳变的功能,待到新的时间判断是否到达设定的闹钟的时间,如果是,则启动扬声器;如果否,则继续进行显示时间。(二)闹钟的时间是变化的,在更新时间的子程序中,首先判断更改后的秒数是否小于10,如果是,则返回主程序;如果否,则秒的个位跳变成0,秒的十位加一;再次判断秒的十位,过程同判断秒的个位相同。(三)简易闹钟最重要的功能就是“Its time to do something!”在这部分,主要要考虑的也是判断当

25、前时间是不是设定的闹钟时间。如果跳变后的时间的四位完完全全的和设定的闹钟时间相同,则扬声器应该响起,提示闹钟的主人“Time is up!”从闹钟的分钟的十位开始依次判断,如果前一个闹钟位的显示与设定的闹钟时间对应位相同,则转入判断下一位;如果不相同,则返回主程序。都判断后,如果都相同,则设置启动闹钟的对应位为1,启动扬声器。(四)在显示时间的子程序中,时间从0,0,0,0开始显示。四位数字的显示各由一段程序完成。322整个系统软件部分的总体设计在各个模块的软件设计完成后,便可以对整个系统进行整体的软件设计。其根本的设计思路是通过设置一些联系信号,把原本功能独立的各个模块联结在一起,从而实现整

26、体系统的功能。4. 系统的调试和性能分析41系统的调试方法整个系统调试的主要思想是:先每个模块进行调试,然后整个系统一起调试。先软硬件分开调试,然后一起调试。遵循先部分后整体的原则。系统的在调试过程中要注意以下几点:(1)硬件电路焊完之后,在上电之前一定要先用万用表检测电源和地之间是否短路。(2)上电之后要用示波器观察信号的在电路中变化的情况,与设计当初的情况相比较,找出差别,并进行分析。(3)软件调试过程中可以使用断点、单步执行等常用的方法。(4)软硬件联调时,要注意软件部分要一个功能一个功能的调试。411输入按键的调试输入按键的调试,只要按键按下去时,按键有相应的反应就行,通过程序来判断,

27、单片机I/O是否能够识别出。412复位电路的调试当电源刚接通时,接通电源就完成了系统的初始化。413显示电路的调试在本设计中,显示电路只需完成,当输入数字时能正确显示数字.414整个系统的联调在系统各个部分都调试完毕之后,即可以进行整个系统的调试。由于前面各个部分的调试做的都比较充分,所以在实际调试过程中,能够较顺利的实现整个系统预期的功能。42系统的性能分析系统能在设定的时间内闹铃,但声音有点沙哑。这是因为控制蜂鸣器的I/O口每次取反后,必须调用一次显示子程序后才能再次取反,否则在发音期间不能显示,而调用一次显示子程序需要的时间大约为6ms(6位每位1ms),所以振荡频率f=1/T=1/(2

28、*6ms)83Hz,显然这个频率过低,这就是造成声音沙哑的原因。经测试,其时钟误差约为3秒天,这是因为从定时器向CPU发出中断申请信号到重装定时初值的过程需要一定的时间。 本系统通过测试,能够实现以下功能:(1)按键输入。(2)闹铃声音。(3)参考文献1.李捷,陈典涛等,一种应用单片机电子闹钟的设计与制作设计J,农机化研 究,2005。2.陈明荧.8051单片机课程设计实训教材 北京:清华大学出版社 20043.胡汉才.单片机原理及其接口技术 北京:清华大学出版社 19954.徐淑华 程退安 姚万生 .单片机微型机原理及应用 哈尔滨工业大学出版社19945.丁元杰.单片机原理与应用.机械工业出

29、版社出版.2003年2月.58-67 6. 朱定华.单片机原理及接口技术.电子工业出版社出版.2004年5月.32-46 7. 何立民.单片机应用系统设计系统配置与接口技术.北京航空航天大学出版社出版.2005年2月.16-45 8. 江晓安、董秀峰.模拟电子技术.西安电子科技大学出版社.2003年 9月.46-110 9. 陆坤.电子设计技术. 成都电子科技大学出版社.1996年5月.31-76附录2 原理图附录4(程序);定义变量;S1EQUP3.4;按键JIAEQUP3.5SECLEQU24H;各个显示单元SECHEQU25HHENGXIANEQU26HMINULEQU27HMINUHE

30、QU28HHENGEQU29HHOURLEQU2AHHOURHEQU2BHSECONDEQU2DH;秒变量单位COUNTEQU2EH;溢出中断计数器SETFLAGEQU20HHHEQU00H;移位时用到的单元HLEQU01HMHEQU02HMLEQU03HWARNSLEQU2FHWARNSHEQU30HWARNMLEQU32H;报警分低位WARNMHEQU33H;报警分高位WARNHLEQU35H;报警时低位WARNHHEQU36H;报警时高位WARNCNTEQU37H;已设定闹铃时间标志WARNINGBIT0CH;闹铃标志WARNSETTEDBIT0DH;已设定闹铃时间标志;误差修正;TFI

31、XBIT0EH;开始修正标志NEQU60;误差值,单位:1/10s,默认为0,即不修正;程序入口地址; ORG0000H LJMPMAIN ORG000BH;定时器T0溢出中断入口 LJMPTIMER0 ORG0030H;主程序;MAIN:MOVSP,#60H;堆栈设置CLRTFIX;误差开始修正标志初始化MOVCOUNT,#0LCALLSYS_INIT;系统初始化LCALLT0_INIT;定时器初始化LCALLSETTIME;等待设置当前时间MAIN_0:MOVIE,#80H;设置完后开始走时,启动定时器T0SETBTR0;允许T0溢出中断;LCALLDELAY10MSLCALLDISPLA

32、Y1;系统初始化子程序;SYS_INIT:MOVIE,#00H;关中断MOVR0,#20;清变量MOVR1,#10HMOVA,#00HSYS_0:MOVR0,AINCR0DJNZR1,SYS_0RET;定时器、串口初始化;T0_INIT:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HRET;闹铃时间设定;SETWARN:MOVWARNHH,#0MOVWARNHL,#0MOVWARNMH,#0MOVWARNML,#0MOVWARNSH,#0MOVWARNSL,#0MOVSETFLAG,#00SETBHHKAISHI_NAO:LCALLDISPLAYNEW1SETW_1:J

33、BS1,LOOP3LCALLDELAY10MSJBS1,LOOP3JNBS1,$JBML,LOOPW1MOVA,SETFLAG RLA ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存SJMP SET_W2LOOP3:LJMPSET_W2LOOPW1:LJMPKAISHI1SET_W2:LCALLDISPLAYNEW1JBJIA,SETW_1LCALLDELAY10MSJBJIA,SETW_1JNBJIA,$JNBHH,SHI_W2;为真,则当前位灭INCWARNHHMOVA,WARNHHXRLA,#3JZSET_W1_1LJMPKAISHI_NAOSET_W1_1

34、:MOVWARNHH,#0LJMPKAISHI_NAOSHI_W2:JNBHL,FEN_W1INCWARNHLMOVA,WARNHHCJNEA,#2,SHI_W2_1MOVA,WARNHLXRLA,#05H;小时低位只能是0-4JZSET_W21LJMPKAISHI_NAOSHI_W2_1:MOVA,WARNHLXRLA,#0AHJZSET_W21LJMPKAISHI_NAO SET_W21:MOVWARNHL,#0LJMPKAISHI_NAOFEN_W1:JNBMH,FEN_W2INCWARNMHMOVA,WARNMHXRLA,#6JZSET_W22LJMPKAISHI_NAOSET_W22

35、:MOVWARNMH,#0LJMPKAISHI_NAOFEN_W2:INCWARNMLMOVA,WARNMLXRLA,#0AHJZSET_W23LJMPKAISHI_NAOSET_W23:MOVWARNML,#0LJMPKAISHI_NAO;设置时间闹铃扫描;DISPLAYNEW1:MOVA,#0AHMOV31H,AMOV34H,AMOVR0,#2FHMOVR3,#0FEHPLAYNEW1:MOVA,R3MOVP2,AMOVA,R0MOVDPTR,#TABLEMOVCA,A+DPTRMOVP0,ALCALLDELAY1MSINCR0MOVA,R3JNBACC.7,LOOP2RLAMOVR3,A

36、SJMPPLAYNEW1LOOP2:RET;时间调整;SETTIME:MOVHOURH,#0MOVHOURL,#0MOVMINUH,#0;计时无保存,可能是闹铃没进去MOVMINUL,#0MOVSECH,#0MOVSECL,#0MOVSETFLAG,#00SETBHHPANLING:LCALLDISPLAYNEWJBS1,PANLINGLCALLDELAY100MSLCALLDELAY100MSLCALLDELAY100MSLCALLDELAY100MSLCALLDELAY100MSJBS1,KAISHI1;LCALLDELAY10MSJNBS1,SETC_1;按住时间更长为设置闹铃,第一个数

37、码管显示为CSETNAO:SETBWARNSETTEDLCALLSETWARNSETC_1:LCALLSETCKAISHI1:MOVHOURH,#0MOVHOURL,#0MOVMINUH,#0MOVMINUL,#0MOVSECH,#0MOVSECL,#0MOVSETFLAG,#00SETBHHKAISHI:LCALLDISPLAYNEWSET_1:JBS1,SET_2LCALLDELAY10MSJBS1,SET_2JNBS1,$JBML,LOOP1MOVA,SETFLAG RLA ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存SJMP SET_2LOOP1:LJM

38、PMAIN_0SET_2:LCALLDISPLAYNEWJBJIA,SET_1LCALLDELAY10MSJBJIA,SET_1JNBJIA,$JNBHH,SHI_2;为真,则当前位灭INCHOURHMOVA,HOURHXRLA,#3JZSET_1_1LJMPKAISHISET_1_1:MOVHOURH,#0LJMPKAISHISHI_2:JNBHL,FEN_1INCHOURLMOVA,HOURHCJNEA,#2,SHI_2_1MOVA,HOURLXRLA,#05H;小时低位只能是0-4JZSET_21LJMPKAISHISHI_2_1:MOVA,HOURLXRLA,#0AHJZSET_21L

39、JMPKAISHI SET_21:MOVHOURL,#0LJMPKAISHIFEN_1:JNBMH,FEN_2INCMINUHMOVA,MINUHXRLA,#6JZSET_22LJMPKAISHISET_22:MOVMINUH,#0LJMPKAISHIFEN_2:INCMINULMOVA,MINULXRLA,#0AHJZSET_23LJMPKAISHISET_23:MOVMINUL,#0LJMPKAISHI;闹铃标志;SETC:MOVP2,#7FHMOVP0,#39HJNBS1,SETCLJMPSETNAO;设置时间扫描;DISPLAYNEW:MOVA,#0AHMOV29H,AMOV26H,A

40、MOVR0,#24HMOVR3,#0FEHPLAYNEW:MOVA,R3MOVP2,AMOVA,R0MOVDPTR,#TABLEMOVCA,A+DPTRMOVP0,ALCALLDELAY1MSINCR0MOVA,R3JNBACC.7,LOOPRLAMOVR3,ASJMPPLAYNEWLOOP:RET;走时扫描;DISPLAY1:MOVA,#0AHMOV29H,AMOV26H,AMOVR0,#24HMOVR4,#0FEH;JNBP3.4,BAOHU;LCALLDELAY5PLAY:JNBWARNING,LINGJNBP3.5,QINGLING CPLP1.0LJMPLING;LCALLDELAY10MS;LCALLDELAY10MSQINGLING:CLRWARNINGLING:;LCALLDELAY10MS;LCALLDELAY5MSJNBP3.4,BAOHUMOVA,R4MOVP2,AMOVA,R0MOVDPTR,#TABLEMOVCA,A+DPTRMOVP0,ALCALLDELAY2MSINCR0MOVA,R4JNBACC.7,DISPLAY1RLAMOVR4,ASJ

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号