收藏 分享(赏)

电子音乐闹钟.doc

上传人:yjrm16270 文档编号:6080539 上传时间:2019-03-26 格式:DOC 页数:35 大小:409.50KB
下载 相关 举报
电子音乐闹钟.doc_第1页
第1页 / 共35页
电子音乐闹钟.doc_第2页
第2页 / 共35页
电子音乐闹钟.doc_第3页
第3页 / 共35页
电子音乐闹钟.doc_第4页
第4页 / 共35页
电子音乐闹钟.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、无 锡 职 业 技 术 学 院毕业设计说明书(论文)16电子音乐闹钟摘 要本文设计一个 51电子闹钟,能随意设定走时起始时间,12 小时24 小时两种制式可选,以适应不同的需要,能指示秒节奏,即秒指示,采用交直流供电电源。与石英钟不同的是,电子钟一般采用数码管等显示介质,因而必须以交流供电为主,以直流电源为后备辅助电源,并能自动切换。该设计主要包括:按 键 、 显示程序单元部分。、 AT89S51 单 片 机 芯 片 、 74HC245驱动 LED显示电路,集成电路 74HC245和 LM386各 1个。关键词:A T89S51 单 片 机 ,自动切换,交流供电,电子闹钟1引言现代的快节奏生活

2、给人们的精神上带来了很大压力。如何排解或缓解这些压力已经成为很多人关心的问题。单片机电子闹钟是具发前闹钟创新性的系统,它代表了时代的发展趋势。2007 年,无论从国内外行业发展趋势,还是从闹钟市场准入的要求来看,节能、环保、创新都已成为中国家电企业无法回避的大问题。在原材料价格不断上涨、下游渠道商实力膨胀、价格战越来越激烈、行业利润日趋微薄的背景下,日前,中国的电子闹钟在节能化、环保化、创新型转变过程中,正进行新一轮闹钟赛跑。2 方案论证21 方案一:软件设计软件功能:(1)检测按键。当系统检测到某个案件被按下时,转到相应子程序处理,可实现校时、设定闹铃时间的功能。(2) 显示。系统通过调用显

3、示子程序,可将显示缓冲区里的内容通过动态扫描方式输出到数码管显示器。(3) 计时。系统通过中断和软件计数器可产生秒信号。每到1s,系统将会调整时间存储单元的内容,从而实现计时功能。(4) 比较。每当秒存储单元的内容为0时,系统通过调用比较子程序可判断当前时间是否符合闹铃条件,若符合,则调用发音子程序使蜂鸣器发出闹铃声音。(5) 产生音频方波输出。系统通过软件产生音频方波输出使蜂鸣器发声,这样可以省去硬件振荡电路。(6) 拆分。为了提高存储单元的利用率,本系统将时间数据压缩成压缩BCD码后再送入显存才能显示。(7) 合并。为了提高修改时间的速度,可先对现存内容逐位修改,然后调用合并子程序把显存内

4、容合并后送入指定存储单元。(8) 设定。系统进入设定状态后,可通过按“设定”键改变闪亮位位置和按“+”或“-”键来加1或减1闪亮位内容,从而达到报时和设定闹铃时间的目的。22 方案二:采用交直流供电电源。与石英钟不同的是,电子钟一般采用数码管等显示介质,因而必须以交流供电为主,以直流电源为后备辅助电源,并能自动切换。该设计主要包括:按 键 、 显示程序单元部分。 、 AT89S51 单 片 机 芯 片 、 74HC245驱动 LED显示电路,集无 锡 职 业 技 术 学 院毕业设计说明书(论文)17成电路 74HC245和 LM386各 1个。2.3 系统方案原理框图及方案描述图 2-1 整个

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

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

7、中,填写中断向量表,应用 8255A的IRQ7和 IRQ5端。利用 8253A和 8259A完成计时一秒的功能,然后通过更新时间的子程序完成时间跳变的功能,待到新的时间判断是否到达设定的闹钟的时间,如果是,则启动扬声器;如果否,则继续进行显示时间。 (二)闹钟的时间是变化的,在更新时间的子程序中,首先判断更改后的秒数是否小于 10,如果是,则返回主程序;如果否,按键与按钮电路复位等辅助电路位数码管显示电路闹铃声光指示电路电源系统无 锡 职 业 技 术 学 院毕业设计说明书(论文)18则秒的个位跳变成 0,秒的十位加一;再次判断秒的十位,过程同判断秒的个位相同。(三)简易闹钟最重要的功能就是“I

8、ts time to do something!”在这部分,主要要考虑的也是判断当前时间是不是设定的闹钟时间。如果跳变后的时间的四位完完全全的和设定的闹钟时间相同,则扬声器应该响起,提示闹钟的主人“Time is up!”从闹钟的分钟的十位开始依次判断,如果前一个闹钟位的显示与设定的闹钟时间对应位相同,则转入判断下一位;如果不相同,则返回主程序。都判断后,如果都相同,则设置启动闹钟的对应位为 1,启动扬声器。 (四)在显示时间的子程序中,时间从0,0,0,0 开始显示。四位数字的显示各由一段程序完成。3 各电路设计和论证单片机最小应用系统实际上就是一个内置程序存储器的单片机,可由单片机芯片,配

9、以必要的外部器件构成,这些外部功能器件无法集成到芯片内部,主要有按键电路、复位电路、显示电路,单片机系统的设计等。31 按键电路的设计作为一个按键从没有按下到按下以及释放是一个完整的过程,也就是说当我们按下一个按键时,总希望某个命令只执行一次。而在按下的过程中不要有干扰进来,因为在按下的过程中,一旦有干扰过来可能造成误触发过程,因此我们在设计按键电路的时候应注意不要有干扰进来以用在焊接时应注意:独立式按键。如果设置过多按键,将会占用较多 I/O口,而且会给布线带来不便,因此,此方案适用于按键较少的情况。如果选择此方案,由于按键较少,在修改时间或设置闹铃时间时就不能直接输入,只能通过加或减完成,

10、稍为麻烦一些,但其程序简单。(1)执锡补焊时应按照从左到右,由上到下的顺序,避免检查时漏检或焊接时漏修。(2)焊接时要经常清洗烙铁头,防止烙铁头的杂物造成虚焊、针孔、加焊等不良发生。(3) 不要在基板上给烙铁头加焊锡,生产过程中不能抖锡、敲锡、甩锡,防止焊锡渣、焊锡 、珠掉到基板上面。(4)在压件或拆件时要先在线路板的铜箔面上加焊锡,要求均匀加热,避免松香失效或铜箔翘皮造成线路破坏。考虑到电路不要复杂性,因而设计成 3个按键,一个为复位,其它 2个为按数字时间的按键和确定设好的时间确定.后 2个按键要接 89C2051端.若想设置闹铃,应先按下复位按键,然后长时间按下“设置“按键,第一个数码管

11、会显示”C”,然后变为”00-00-00”,此时进入闹铃设置状态,设置方法跟上面一样,闹铃设置完后,下一步要设无 锡 职 业 技 术 学 院毕业设计说明书(论文)19置当前时间,调整方法跳到第一步。 在复位后的待机状态下,用于启动设定时间参数(对时或定闹) ; 在设定时间参数状态而且不是设定最低位(即分个位)的状态下,用于结束当前位的设定,当前设定位下移; 在设定最低位(分个位)的状态下,用于结束本次时间设定。2)键,用于对当前设定位(编辑位)进行加 1操作,根据 1224 小时工作模式和正在编辑的当前位的含义(时十位、时个位、分十位、分个位)自动进行数据的上限和下限判断。例如,对 12小时制

12、,小时的十位只能是 0、1,如果当前值为 0,则按1 键后为 1,再按1 键则又回复到 0。32 复位电路的设计目前为止,单片机复位电路主要有四种类型:(1)微分型复位电路;(2)积分型复位电路;(3)比较器型复位电路;(4)看门狗型复位电路。另外,Maxim 等公司也推出了专用于复位的专用芯片复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用完成单片机的复位初始化操作。单片机目前已被广泛地应用于家

13、电、医疗、仪器仪表、工业自动化、航空航天等领域。市场上比较流行的单片机种类主要有 Intel 公司、Atmel 公司和 Philip 公司的 8051 系列单片机,Motorola 公司的 M6800 系列单片机,Intel 公司的 MCS96 系列单片机以及Microchip 公司的 PIC 系列单片机。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机” 、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。图 1 是一个单片机与大功率 L

14、ED 八段显示器共享一个电源,并采用微分复位电路的实例。在这种情况下,系统有时会出现一些不可预料的现象,如无规律可循的“死机” 、 “程序走飞”等。而用仿真器调试时却无此现象发生或极少发生此现象。又如图 2 所示,在此图中单片机复位采用另外一种复位电路。在此电路的应用中,用户有时会发现在关闭电源后的短时间内再次开启电源,单片机可能会工作不正常。这些现象,都可认为是由于单片机无 锡 职 业 技 术 学 院毕业设计说明书(论文)20复位电路的设计不当引起的。图 3-2 复位电路图33 显示电路的设计就时钟而言,通常可采用液晶显示或数码管显示。由于一般的段式液晶屏,需要专门的驱动电路,而且液晶显示作

15、为一种被动显示,可视性相对较差;对于具有驱动电路和微处理器接口的液晶显示模块(字符或点阵) ,一般多采用并行接口,对微处理器的接口要求较高,占用资源多。另外,89C2051 本身无专门的液晶驱动接口,因此,本时钟采用数码管显示方式。数码管作为一种主动显示器件,具有亮度高、价格便宜等优点,而且市场上也有专门的时钟显示组合数码管。基于 AT89S51单片机的控制系统包括四部分:数据采集、控制系统、时钟电路、语音录音电路和报音提示信息电路。用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。由于数码管使用起来较为方便

16、,在夜间看时间也很方便,因此我们选择了数码管作为显示器.发音部分:用软件方法产生方波输出,通过三极管放大后驱动蜂鸣器发音,这样就可以省去硬件振荡电路,降低成本。4.器件介绍电源:如果是用电池供电,就比较方便携带,但是本系统,采用了数码管作为显示器,功耗较大,需要经常更换电池。况且,本系统的体积较大,即使使用电池供电也不能无 锡 职 业 技 术 学 院毕业设计说明书(论文)21随身携带,因此,用电池供电不大合适,所以用外部稳压电源来供电。振荡器:石英晶体振荡器的特点是振荡频率准确、电路结构简单、频率易调整。它被广泛应用于彩电、计算机、遥控器等各类振荡电路中。它还具有压电效应:在晶体某一方向加一电

17、场,晶体就会产生机械变形;反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。在这里,我们在晶体某一方向加一电场,从而在与此垂直的方向产生机械振动,有了机械振动,就会在相应的垂直面上产生电场,从而使机械振动和电场互为因果,这种循环过程一直持续到晶体的机械强度限制时,才达到最后稳定,这种压电谐振的频率即为晶体振荡器的固有频率。控制器:控制器是电子闹钟设计的核心部分,按设计要求产生相应的控制逻辑,以控制其他各部分的工作。由程序计数器、指令寄存器、指令译码器、时序产生器和操作控制器组成,它是发布命令的“决策机构” ,即完成协调和指挥整个计算机系统的操作。控制器

18、主要功能如下:从内存中取出一条指令,并指出下一条指令在内存中位置对指令进行译码或测试,并产生相应的操作控制信号,以便启动规定的动作;指挥并控制 CPU、内存和输入/输出设备之间数据流动的方向。计数器计数器 ALARM-COUNTER 实际上是一个异步复位、异步置位的累加器。在中央处理器 CPU 中,累加器 (accumulator) 是一种暂存器,用来储存计算所产生的中间结果。没有像累加器这样的暂存器,那么在每次计算 (加法,乘法,移位等等) 后就必须要把结果写回到内存,也许然后再读回来。然而存取主内存的速度是比从数学逻辑单元(ALU) 到有直接路径的累加器存取更慢。计数器的作用是:通常情况下

19、进行时钟累加计数,必要时可以置入新的时钟值,然后从该值开始新的计数。寄存器寄存器 ALARM-REG 用于保存用户设置的闹钟时间,是一个异步复位寄存器。寄存器是中央处理器内的组成部份,是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和位址。在中央处理器的控制部件中,包含的寄存器有指令寄存器(IR)和程序计数器(PC)。在中央处理器的算术及逻辑部件中,包含的寄存器有累加器 (ACC)。分频器分频器 DIVIDER 将高速的外部时钟频率分频成每一分钟一次的时钟频率,以便进行时钟计数。由于石英晶体振荡器产生的频率很高,要得到秒脉冲,需要用分频电路。例如,振荡器输出 4MHz 信号,通过 D 触

20、发器(74LS74)进行 4 分频变成 1MHz,然后送到 10 分频计数器(74LS90,该计数器可以用 8421 码制,也可以用 5421 码制) ,经过 6 次 10 分频而获得 1Hz 方波信号作为秒脉冲信号。显示电路显示器 DRIVER 根据需要显示当前时间、用户设置的闹钟时间或用户通过键盘输无 锡 职 业 技 术 学 院毕业设计说明书(论文)22入的新时间,同时判断当前时间是否已到了闹钟时间,实际上是一个多路选择比较器。多路选择器是数据选择器的别称。在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路,叫做数据选择器,也称多路选择器或多路开关。输入电路键盘缓冲器KEY-BU

21、FFER 是一个移位寄存器,暂存用户键入的数字,并且实现用户键入数字在显示器上从右到左是依次显示。寄存器的用途:(1)可将寄存器内的数据执行算术及逻辑运算。(2) 存于寄存器内的地址可用来指向内存的某个位置,即寻址。(3)可以用来读写数据到电脑的周边设备。AT89S51 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH;定义变量;S1 EQU P3.4 ;按键JIA EQU P3.5SECL EQU 24H ;各个显示单元SECH EQU 25HHENGXIAN EQU 26HMINUL EQU 27HMINUH EQU 28HHENG EQU 29HHOURL EQU 2AH

22、HOURH EQU 2BHSECOND EQU 2DH ;秒变量单位COUNT EQU 2EH ;溢出中断计数器SETFLAG EQU 20HHH EQU 00H ;移位时用到的单元HL EQU 01HMH EQU 02HML EQU 03H无 锡 职 业 技 术 学 院毕业设计说明书(论文)33WARNSL EQU 2FHWARNSH EQU 30HWARNML EQU 32H ;报警分低位WARNMH EQU 33H ;报警分高位WARNHL EQU 35H ;报警时低位WARNHH EQU 36H ;报警时高位WARNCNT EQU 37H ;已设定闹铃时间标志WARNING BIT 0

23、CH ;闹铃标志WARNSETTED BIT 0DH ;已设定闹铃时间标志;误差修正 ;TFIX BIT 0EH ;开始修正标志N EQU 60 ;误差值,单位:1/10s, 默认为 0,即不修正;程序入口地址;ORG 0000HLJMP MAINORG 000BH ;定时器 T0 溢出中断入口LJMP TIMER0ORG 0030H;主程序;MAIN:MOV SP,#60H ;堆栈设置CLRTFIX ;误差开始修正标志初始化MOV COUNT,#0LCALL SYS_INIT ;系统初始化LCALL T0_INIT ;定时器初始化LCALL SETTIME ;等待设置当前时间MAIN_0:M

24、OV IE,#80H ;设置完后开始走时,启动定时器 T0SETB TR0 ;允许 T0 溢出中断; LCALL DELAY10MSLCALL DISPLAY1;系统初始化子程序;SYS_INIT:MOV IE,#00H ;关中断MOV R0,#20 ;清变量MOV R1,#10HMOV A,#00HSYS_0:无 锡 职 业 技 术 学 院毕业设计说明书(论文)34MOV R0,AINC R0DJNZ R1,SYS_0RET;定时器、串口初始化;T0_INIT:MOV TMOD,#01HMOV TH0,#3CHMOV TL0,#0B0HRET;闹铃时间设定 ;SETWARN:MOV WARN

25、HH,#0MOV WARNHL,#0MOV WARNMH,#0MOV WARNML,#0MOV WARNSH,#0MOV WARNSL,#0MOV SETFLAG,#00SETB HHKAISHI_NAO:LCALL DISPLAYNEW1SETW_1:JB S1,LOOP3LCALL DELAY10MSJB S1,LOOP3JNB S1,$JB ML,LOOPW1MOV A,SETFLAG RL A ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存SJMP SET_W2LOOP3:LJMP SET_W2LOOPW1:LJMP KAISHI1SET_W2:LCALL

26、 DISPLAYNEW1JB JIA,SETW_1LCALL DELAY10MSJB JIA,SETW_1JNB JIA,$JNB HH,SHI_W2 ;为真,则当前位灭无 锡 职 业 技 术 学 院毕业设计说明书(论文)35INC WARNHHMOV A,WARNHHXRL A,#3JZ SET_W1_1LJMP KAISHI_NAOSET_W1_1:MOV WARNHH,#0LJMP KAISHI_NAOSHI_W2:JNB HL,FEN_W1INC WARNHLMOV A,WARNHHCJNE A,#2,SHI_W2_1MOV A,WARNHLXRL A,#05H ;小时低位只能是 0-

27、4JZ SET_W21LJMP KAISHI_NAOSHI_W2_1:MOV A,WARNHLXRL A,#0AHJZ SET_W21LJMP KAISHI_NAO SET_W21:MOV WARNHL,#0LJMP KAISHI_NAOFEN_W1:JNB MH,FEN_W2INC WARNMHMOV A,WARNMHXRL A,#6JZ SET_W22LJMP KAISHI_NAOSET_W22:MOV WARNMH,#0LJMP KAISHI_NAOFEN_W2:INC WARNMLMOV A,WARNMLXRL A,#0AHJZ SET_W23LJMP KAISHI_NAOSET_W2

28、3:MOV WARNML,#0LJMP KAISHI_NAO无 锡 职 业 技 术 学 院毕业设计说明书(论文)36;设置时间闹铃扫描;DISPLAYNEW1:MOV A,#0AHMOV 31H,AMOV 34H,AMOV R0,#2FHMOV R3,#0FEHPLAYNEW1:MOV A,R3MOV P2,AMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ALCALL DELAY1MSINC R0 RL AMOV R3,ASJMP PLAYNEW1LOOP2: RET;时间调整 ;SETTIME:MOV HOURH,#0MOV HOURL,#0MOV M

29、INUH,#0 ;计时无保存,可能是闹铃没进去MOV MINUL,#0MOV SECH,#0MOV SECL,#0MOV SETFLAG,#00SETB HHPANLING:LCALL DISPLAYNEWJB S1,PANLINGLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSJB S1,KAISHI1; LCALL DELAY10MSJNB S1,SETC_1;按住时间更长为设置闹铃,第一个数码管显示为“C“SETNAO:SETB WARNSETTEDLCALL SETWARN无

30、 锡 职 业 技 术 学 院毕业设计说明书(论文)37SETC_1:LCALL SETCKAISHI1:MOV HOURH,#0MOV HOURL,#0MOV MINUH,#0MOV MINUL,#0MOV SECH,#0MOV SECL,#0MOV SETFLAG,#00SETB HHKAISHI:LCALL DISPLAYNEWSET_1:MOV A,R3JNB ACC.7,LOOP2RL AMOV R3,ASJMP PLAYNEW1LOOP2: RET;时间调整;SETTIME:MOV HOURH,#0MOV HOURL,#0MOV MINUH,#0 ;计时无保存,可能是闹铃没进去MOV

31、 MINUL,#0MOV SECH,#0MOV SECL,#0MOV SETFLAG,#00SETB HHPANLING:LCALL DISPLAYNEWJB S1,PANLINGLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSLCALL DELAY100MSJB S1,KAISHI1; LCALL DELAY10MSJNB S1,SETC_1;按住时间更长为设置闹铃,第一个数码管显示为“C“SETNAO:无 锡 职 业 技 术 学 院毕业设计说明书(论文)38SETB WARNSETTEDLCALL SETWAR

32、NSETC_1:LCALL SETCKAISHI1:MOV HOURH,#0MOV HOURL,#0MOV MINUH,#0MOV MINUL,#0MOV SECH,#0MOV SECL,#0MOV SETFLAG,#00SETB HHKAISHI:LCALL DISPLAYNEWSET_1:JB S1,SET_2LCALL DELAY10MSJB S1,SET_2JNB S1,$JB ML,LOOP1MOV A,SETFLAG RL A ;当前位右移 l 位(标志左移 1 位) MOV SETFLAG,A ;回存SJMP SET_2LOOP1:LJMP MAIN_0SET_2:LCALL D

33、ISPLAYNEWJB JIA,SET_1LCALL DELAY10MSJB JIA,SET_1JNB JIA,$JNB HH,SHI_2 ;为真,则当前位灭INC HOURHMOV A,HOURHXRL A,#3JZ SET_1_1LJMP KAISHISET_1_1:MOV HOURH,#0LJMP KAISHISHI_2:无 锡 职 业 技 术 学 院毕业设计说明书(论文)39JNB HL,FEN_1INC HOURLMOV A,HOURHCJNE A,#2,SHI_2_1MOV A,HOURLXRL A,#05H ;小时低位只能是 0-4JZ SET_21LJMP KAISHISHI_

34、2_1:MOV A,HOURLXRL A,#0AHJZ SET_21LJMP KAISHI SET_21:MOV HOURL,#0LJMP KAISHIFEN_1: JNB MH,FEN_2INC MINUHMOV A,MINUHXRL A,#6JZ SET_22LJMP KAISHISET_22:MOV MINUH,#0LJMP KAISHIFEN_2:INC MINULMOV A,MINULXRL A,#0AHJZ SET_23LJMP KAISHISET_23:MOV MINUL,#0LJMP KAISHI;闹铃标志 ;SETC:MOV P2,#7FHMOV P0,#39HJNB S1,

35、SETCLJMP SETNAO;设置时间扫描 ;DISPLAYNEW:MOV A,#0AH无 锡 职 业 技 术 学 院毕业设计说明书(论文)40MOV 29H,AMOV 26H,AMOV R0,#24HMOV R3,#0FEHPLAYNEW:MOV A,R3MOV P2,AMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,ALCALL DELAY1MS MOVR3,ASJMP PLAYNEWLOOP: RET;走时扫描;DISPLAY1:MOV A,#0AHMOV 29H,AMOV 26H,AMOV R0,#24HMOV R4,#0FEH; JNB P3.

36、4,BAOHU; LCALL DELAY5PLAY:JNB WARNING,LINGJNB P3.5,QINGLING CPL P1.0LJMP LING; LCALL DELAY10MS; LCALL DELAY10MSQINGLING:CLRWARNINGLING:; LCALL DELAY10MS; LCALL DELAY5MSJNB P3.4,BAOHUMOV A,R4MOV P2,AMOV A,R0MOV DPTR,#TABLEMOVC A,A+DPTRMOV P0,A无 锡 职 业 技 术 学 院毕业设计说明书(论文)41LCALL DELAY2MSINC R0MOV A,R4JN

37、B ACC.7,DISPLAY1RL AMOV R4,ASJMP PLAYBAOHU:MOV P2,#0FFHLCALL DELAY100MSLCALL DELAY100MSINC R0MOV A,R3JNB ACC.7,LOOPRL ALCALL DELAY100MSBAOHU1:JNB WARNING,BAOHU2LJMP LINGBAOHU2:JNB P3.4,PLAY1;BAOHU:; JNB P3.4,PLAY; LCALL DELAY10MS; JB P3.4,$; LCALL DELAY10MS; JB P3.4,PLAYLJMP BAOHU1PLAY1:LCALL DELAY1

38、0MSLCALL DELAY10MSLCALL DELAY10MSLCALL DELAY10MSJB P3.4,PLAYLJMP BAOHU1;计时;TIMER0:PUSH ACC ;A 压栈保护MOV TH0,#3CH ;100MS 定时常数MOV TL0,#0B0HINC COUNTMOV A,COUNTJB TFIX,T0_00无 锡 职 业 技 术 学 院毕业设计说明书(论文)42XRL A,#10SJMP T0_01T0_00:XRL A,#NT0_01:JZ T0_1POP ACCRETIT0_1:CLRTFIXMOV COUNT,#00HINC SECONDMOV A,SECON

39、DCPL P1.1CPL P1.2XRL A,#2JZ T0_2_1POP ACCRETIT0_2_1:MOV SECOND,#00H; CPL P1.1INC SECLMOV A,SECLXRL A,#0AHJZ T0_2_2POP ACCRETIT0_2_2:MOV SECL,#00HINC SECHMOV A,SECHXRL A,#06HJZ T0_2POP ACCRETIT0_2:MOV SECH,#00HINC MINULMOV A,MINULXRL A,#0AHJZ T0_3LJMP ADJUSTT0_3:MOV MINUL,#00H无 锡 职 业 技 术 学 院毕业设计说明书(论

40、文)43INC MINUHMOV A,MINUHXRL A,#06JZ T0_30LJMP ADJUSTT0_30:MOV MINUH,#00HINC HOURL ;小时低位+1(即变化了),则还要判断高位是否进位判断小;时高位 ,如为 0,1,则小时低位可以到 9,否则,只能 03MOV A,HOURHCJNE A,#2,T0_300MOV A,HOURLXRL A,#04JZ T0_4 ;如为 3 则转LJMP ADJUST ;时或分改变均要进行闹铃判断T0_300:MOV A,HOURLXRL A,#0AHJZ T0_4 ;如为 3 则转LJMP ADJUST ;时或分改变均要进行闹铃判

41、断T0_4:MOV HOURL,#00 ;高位进行处理INC HOURHMOV A,HOURHXRL A,#03 ;判断高位是否到 3JZ T0_40LJMP ADJUSTT0_40:MOV HOURH,#00H ;到 3,则做回 0 处理(24 小时制中时高位只能是 2);时分发生改变时 ,必须进行闹铃判断ADJUST:JB WARNSETTED,ADJUST_1 ;如果没设定闹铃,则不判断POP ACCRETIADJUST_1:MOV A,HOURH ;否则,与设定闹铃时间比较XRL A,WARNHHJNZ ADJUST_2MOV A,HOURLXRL A,WARNHLJNZ ADJUST

42、_2MOV A,MINUH无 锡 职 业 技 术 学 院毕业设计说明书(论文)44XRL A,WARNMHJNZ ADJUST_2MOV A,MINULXRL A,WARNMLJNZ ADJUST_2 ;一致,则设置闹铃标志SETB WARNING ;设置开始闹铃标志POP ACCRETIADJUST_2:CLRWARNING ;清闹铃标志POP ACC ;否则,不设置闹铃标志RETI;按键判断子程序;TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40HTABLE1:DB 0BFH,86H,0DBH,0CFH,0E6H,0EDH,0FDH,8

43、7H,0FFH,0EFH;延时子程序 ;DELAY10MS:MOV R6,#20D2: MOV R7,#248DJNZ R7,$DJNZ R6,D2RETDELAY5MS:MOV R6,#10D4: MOV R7,#248DJNZ R7,$DJNZ R6,D4RETDELAY2MS:MOV R6,#4D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDELAY1MS:MOV R6,#2D3: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETDELAY100MS:无 锡 职 业 技 术 学 院毕业设计说明书(论文)45MOV R6,#200D5: MOV

44、 R7,#248DJNZ R7,$DJNZ R6,D2RETEND8 附 录 外文文献及翻译Progress in computersThe first stored program computers began to work around 1950. The one we built in Cambridge, the EDSAC was first used in the summer of 1949.These early experimental computers were built by people like myself with varying backgrounds.

45、 We all had extensive experience in electronic engineering and were confident that that experience would stand us in good stead. This proved true, although we had some new things to learn. The most important of these was that transients must be treated correctly; what would cause a harmless flash on

46、 the screen of a television set could lead to a serious error in a computer.As far as computing circuits were concerned, we found ourselves with an embarrass de riches. For example, we could use vacuum tube diodes for gates as we did in the EDSAC or pentodes with control signals on both grids, a sys

47、tem widely used elsewhere. This sort of choice persisted and the term famil logic came into use. Those who have worked in the computer field will remember TTL, ECL and CMOS. Of these, CMOS has now become dominant.In those early years, the IEE was still dominated by power engineering and we had to fi

48、ght a number of major battles in order to get radio engineering along with the rapidly developing subject of electronics. dubbed in the IEE light current electrical engineering. properly recognized as an activity in its own right. I remember that we had some difficulty in organizing a conference because the power engineers ways of doing things were not our ways. A minor source of irritation was that all IEE published papers were expected to start with a lengthy statement of earlier practice, something di

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

当前位置:首页 > 通信信息 > 电子电气自动化

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报