资源描述
摘 要
近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。
本次做的数字钟是以单片机(AT89C52)为核心,结合相关的元器件(共阴极LED数码显示器、BCD-锁存/7段译码/驱动器等),再配以相应的软件,达到制作简易数字钟的目的,其硬件部分难点在于元器件的选择、布局及焊接。
数字电子时钟计时器的优点很多:可靠性高,控制精确度高,优良的焊接性能,权威的焊接专家数据库,远程诊断功能,远程控制功能,人性化设计,节能降耗体积小,本机采用改进的IGBT逆变技术,减小了主变压器及电抗器体积,从而减小了电源整机的体积和重量,大大降低了铜铁损,提高了电源的效率及功率因数,使节能效果非常显著。
关键词:单片机应用 电子钟 AT89C52 共阴极LED数码显示器
Abstract
In recent years along with the computer in the social domain seepage and the large scale integrated circuit 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 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 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 (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 welding.
Digital electronic clock calculagraph merit many: Reliability height , the height controlling precision , good welding function, authority's welding expert data base , long-range diagnose function , long-range under the control of function , personalization design that, saving energy and reducing 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 , has 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
目 录
摘 要 I
ABSTRACT II
绪 论 1
第一章 功能要求 2
第二章 方法论证 2
第三章 系统硬件电路的设计 3
第四章 系统程序的设计 4
第一节 主程序 4
第二节 显示子程序 4
第三节 定时器T0中断服务程序 5
第四节 定时器T1中断服务程序 5
第五节 调时功能程序 6
第六节 秒表功能程序 6
第七节 闹钟时间社顶功能程序 6
第五章 调试及性能分析 7
第一节 硬件调试 7
第二节 软件调试 8
第三节 性能分析 8
第六章 电子钟的硬件系统设计 8
第一节 电子钟的硬件电路的设计 9
第二节 电子钟电路 9
第三节 复位电路 10
第四节 闹钟电路 12
第五节 显示部分 12
第六节 LED显示结构与原理 12
第七节 LED显示器接口及显示方式 14
第八节 电源电路部分 16
第九节 集成直流稳压电源的设计 17
附录 19
结 论 45
参考文献 46
致 谢 47
iv
阳泉职业技术学院----毕业设计说明书
绪 论
20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
时间对人们来说总是那么宝贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。
目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。
单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。
单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。
数字钟是采用数字电路实现对.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。
第一章 功能要求
时钟计时器要求用单片机及6位LED数码管显示时、分、秒,以24〈小〉时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)等功能
第二章 方法论证
为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED显示。
按键开关
蜂鸣器
AT89C52 P0
单片机控制器
P2
列驱动
6位LED显示器
图2.1 硬件系统的整体设计图
单片机采用易购的AT89C52系列,这种单片机具有足够的空余硬件资源,可以实现其他的扩充功能。如果考虑使用电池供电,则可采用LV系列单片机。时钟计时器电路系统的总体设计框图2.1所示。
第三章 系统硬件电路的设计
时钟计时器的硬件电路如图2.2所示。该电路采用AT89C52单片机最小化应用设计;采用共阳7段LED显示器;P0口输出段码数据;P2.0~P2.5口作列扫描输出;P1.0、P1.1、P1.2和P1.3口接4个按钮开关,用于调时及功能设置;P1.7端口接5V的小蜂鸣器,用于按钮发音及定时提醒等;为了提供共阳LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出;采用12MHz晶振,可提高秒计时的精确性。
图2.2 秒表/时钟计时器电路原理图
第四章 系统程序的设计
第一节 主程序
本设计中计时采用定时器T0中断完成秒表使用定时器T1中断完成。主程序循环调用显示子程序和查键子程序,当端口有开关按下时,转入相应功能程序。其主程序执行流程如图2.3所示。
开始
初始化
调用显示子程序
键按下?
整点到?
按时间鸣叫次数
进入功能程序
N
Y
N
Y
图2.3 主程序流程图
第二节 显示子程序
时间显示子程序每次显示6个连续内存单元的十进制BCD码数据,首地址在调用显示程序时先指定。
内存中50H~55H为闹钟定时单元,60H~65H为秒表计时单元,70H~75H为时钟显示单元。由于采用7段共阳LED数码管动态扫描实现数据显示,所以显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出内寸地址单元的数据值。为了显示小数点及“—”、“A”等特殊字符,在显示班级和计时时应采用不同的显示子程序。
第三节 定时器T0中断服务程序
定时器T0用于时间计时。定时益出中断周期设为50ms,中断进入后先进行定时中断初值校正,当中断累计20次(即50ms*20=1s)时,对秒计数单元进行加1操作。时钟计数单元地址分别在70H~71H(秒)、76H~77H(分)、78H~79H(时)中。最大计时值为23时59分59秒。7AH单元内存放“熄灭符”数据(#0AH),用于时间调整时的闪烁功能。在计数单元中,采用十进制,满10进位。
T0中断计时程序流程图如图2.4所示。
保护现场
定时初值校正
1s到
加1s处理
恢复现场,中断返回
T0中断
图2.4 T0中断计时程序流程图
第四节 定时器T1中断服务程序
T1中断程序用于指示时间调整单元数字的闪亮或秒表计数,在时间调整状态下,每过0.3s左右,将对应调整单元的显示数据换成“熄灭符”数据(#0AH)。这样,在调整时间时,对应调整单元的显示数据会间隔闪亮。在作秒表计时时,每10ms中断1次,计数单元加1,每100次为1s。秒表计数单元地址在60H~61H(10毫秒)、62H~63H(秒)、64H~65H(分)中,最大计数值为99分59.99秒。T1中断服务程序流程图如图2.5所示。
T1中断
保护现场
秒表闪烁
闪烁处理
恢复现场,中断返回
加10s处理
时钟调时闪烁
秒表
图2.5 T1中断服务程序流程图
第五节 调时功能程序
调时功能程序的设计方法是:按下P1.0口按键,若按下时间小于1s,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当再按下P1.0口按键时,若按下时间小于0.5s,则时间加1分〈钟〉;若按下时间大雨0.5s,则进入〈小〉时调整状态。按下P1.1按键时,可进行减1调整。在〈小〉时调整状态下,当按键按下的时间大雨0.5s时,退出时间调整状态,时钟从0s开始计时。
第六节 秒表功能程序
在正常时钟状态下,若按下P1.1口按键,则进行时钟/秒表显示功能的转换,秒表中断计十程序启动,显示首址改为60H,LED将显示秒表计时单元60H~65H中的数据。按下P1.2口的按键开关,可实现秒表清0、秒表启动、秒表暂停功能;当按下P1.1口按键时,关闭T1秒表中断计时,显示首址又改为70H,恢复正常时间的显示功能。
第七节 闹钟时间社顶功能程序
在正常时钟状态下,若按下P1.3口的按键开关,则进入设定闹时调分状态,显示首址改为50H。LED将显示50H~55H中的闹钟设定时间,显示式样
为00:00:—,其中高2位代表时,低2位代表分,在定时闹铃时精确到分。按P1.2键,分加1;按P1.0键,分减1。若再按P1.3按键,则进入时调整状态,显示式样为00:00:—,按P1.2键,时加1;按P1.0键,时减1。呆板P1.1键,闹铃有效,显示式样变为00:00:—0;再按P1.1键,闹铃无效,显示式样又变为00:00:—。再按P1.3键,调整闹钟时间结束,恢复正常时间的显示。在闹铃时,可按一下P1.3口的按键开关使蜂鸣停止,不按则蜂鸣器将鸣叫停止,不按则蜂鸣器将鸣叫1min后自行中止。在设定闹钟后,若要取消闹时功能,则可按一下P1.3键,当同到“滴”的一声时表明已取消了闹铃功能。
第五章 调试及性能分析
第一节 硬件调试
硬件调试时可先检查印制板及焊接的质量情况,在检查无误后可通电检查LED显示器的点亮状况。若亮度不理想,可以调整P0口的电阻大小,一般情况下取200Ω电阻即可获得满意的亮度效果。实验室制作时,可结合示波器测试晶振及P0、P2端口的波形情况进行综合硬件测试分析。
第二节 软件调试
软件调试在Wave或Keil C51编译器下进行,源程序编译及仿真调试应分段或子程序为单位逐个进行,最后可结合硬件实时调试。
第三节 性能分析
按照设计程序分析,LED显示器动态扫描的频率约为167Hz,实现使用观察时完全没有闪烁。由于计时中断程序中加了延时误差处理,所以实际计时精度非常高,可满足多种场合的应用需要。另外,上电时具有一个滚动显示子程序,可以方便地显示制作日期等信息。
第六章 电子钟的硬件系统设计
硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现电子钟的基本功能以外,主要还要考虑如下几个因素:①系统稳定度。②器件的通用性或易选购性。③ 软件编程的易实现性。④系统其它功能及性能指标,因此硬件设计至关重要。现从各功能模块的实现逐个进行分析探讨。
第一节 电子钟的硬件电路的设计
我们电子时钟电路用AT89C51单片机来实现。采用共阳7段LED显示器;P0 口输出数码数据;P2.0-P2.5口作列扫描输出;P1.0、P1.1、P1.2和P1.3口接4个按扭开关,用于调时及功能设置;P1.6端口接5V的小蜂鸣器,用于按键发音及定时提醒、整点到时提醒等;为了提供共阳LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出。系统总体设计原理图。
第二节 电子钟电路
作用:它是用于产生单片机工作所需要的时钟信号。
原理:在AT89C51内部有一个高增益反向放大器,其输入端为芯片引脚XTAL1,其输出端为引脚XTAL2。而在芯片的内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。如图2.2、2.3所示。
时钟电路产生的振荡脉冲之间经过触发器的二分频之后,才成为单片机的时钟脉冲信号。
一般的电容取30pF左右,晶体振荡器取1.2至12MHZ。晶体振荡器频率越高,则系统的时钟频率也高,单片机运行速度也快。我们这次取6MHZ。
机器周期:MCS-51采用定时控制方式,因此它有固定的机器周期,规定一个机器周期的宽度为6个状态,一个状态又包括两个节拍,因此,一个机器周期总共为12个振荡脉冲周期,因此机器周期就是振荡脉冲的十二分频。由于我们采用6MHZ的频率,所以机器周期为2μS。
T1
T0
EA/VP
X1
X2
RESET
RD
WR
15
14
31
19
18
9
17
16
vcc
Y
6MHZ
C3
30pF
C2
30pF
图2.6 时钟振荡电路
第三节 复位电路
单片机的复位电路都是靠外部的电路实现的,在时钟电路工作后,只要在RESET引脚上出现10ms以上的高电平,单片机就实现状态复位。
寄存器的复位状态
单片机在RESET引脚有效电平控制下,程序计数器和特殊功能寄存器的复位状态如表1.1所示,单片机的复位状态不影响片内RAM状态,只要RESET引脚端保持高电平,单片机将不断复位。在复位期间,ALE,/PSEN输出高电平.
表1.1 程序计数器和特殊功能寄存器的复位状态
PC
0000H
TMOD
00H
ACC
00H
TCON
00H
B
00H
TH0
00H
PSW
00H
TL0
00H
SP
07H
TH1
00H
DPTR
0000H
TH1
00H
P0~P3
***00000B
TL1
00H
IP
0**00000B
SCON
00H
IE
0**00000B
PCON
0***0000B
原理:单片机通常采用上电自动复位和按钮复位两种方式.最简单的复位电路如图2.7所示,上电瞬间,RC电路充电,RESET引脚端出现正脉冲,只要RESET端保持10ms以上高电平,就能使单片机有效复位.在实际的应用系统中,有些外围芯片也需要复位.如果这些芯片的复位要求与单片机复位要求一样,则可以与之相连.
在图2.7的上电复位电路中,干扰易串入复位端,在大多数情况下不会造成单片机的错误复位,但会引起内部某些寄存器错误复位,这时,可以在RESET引脚上接一去耦电容.
在应用系统中,为了保证复位电路可靠地工作,常将RC电路在接史密特电路后再接入单片机复位端和外围电路复位端.这样,系统有多个复位端时,能保证可靠地同步复位.
我们选C为22μF,R取1K欧姆,Rs取200左右.
按键复位电路的原理:没有按键时,在接电瞬间,RESET端的电位和VCC相同,随着充电电流的减少,RESET的电位逐渐下降。
若要复位,我们只需按下键即可,此时电源VCC经电阻R1,R2分压,在
RESET端产生一个复位。
图2.7 上电复位电路
第四节 闹钟电路
当时间与设置闹钟时间相等时,通过I/O口控制继电器接通闹钟实现。
第五节 显示部分
单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器LCD(Liquid Crystal Display);近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。
第六节 LED显示结构与原理
单片机中通常用七段LED构成字型“8”。这种显示器有共阴和共阳两种!发光二极管的阳极连在一起的(公共端)称为共阳极显示器,阴极连在一起的称为共阴极显示器(如下图所示)。一位显示器由7个发光二极管组成,这7个发光二极管构成字型“8”的各个笔划(段) 。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。
(b)为共阳极连接 (c)为共阴极连接
由于共阴极连接需加驱动,故在这里我采用的是共阳阳极连接。以共阳极LED为例,如图(b)所示,各LED公共阳极K0接高电平,若向各控制端a,b, ┄,g,dp顺次送入11100000信号,则该显示器显示“⒎”字型。
图2.7 译码器逻辑图
表1.2 译码器的真值表
数
值
输入
输出
A
B
C
D
a
b
c
d
e
f
g
0
0
0
0
0
1
1
1
1
1
1
0
1
0
0
0
1
0
1
1
0
0
0
0
2
0
0
1
0
1
1
0
1
1
0
1
3
0
0
1
1
1
1
1
1
0
0
1
4
0
1
0
0
0
1
1
0
0
1
1
5
0
1
0
1
1
0
1
1
0
1
1
6
0
1
1
0
1
0
1
1
1
1
1
7
0
1
1
1
1
1
1
0
0
0
0
8
1
0
0
0
1
1
1
1
1
1
1
9
1
0
0
1
1
1
1
1
0
1
1
A
1
0
1
0
1
1
1
0
1
1
1
B
1
0
1
1
1
0
0
1
1
1
1
C
1
1
0
0
1
0
0
1
1
1
0
D
1
1
0
1
0
1
1
1
1
0
1
E
1
1
1
0
1
0
0
1
1
1
1
F
1
1
1
1
1
0
0
0
1
1
1
第七节 LED显示器接口及显示方式
LED显示器有静态显示方式和动态显示方式两种。静态显示就当显示器显示某个字符时,相应的段恒定的导通或截止,直到显示另一个字符为止。LED显示器工作于静态显示方式时,各位的共阴极接地;若为共阳极则接+5V电源。每位的段选线分别与一个8位锁存器的输出口相连,显示器中的各位相互独立,而且各位的显示字符一经确定,相应锁存的输出将维持不变。正因为如此,静态显示器的亮度较高。这种显
示方式编程容易,管理也较简单,但占用I/O口线资源较多。因此,在显示位数较多的情况下,一般都采用动态显示方式。由于所有6位段皆由一个I/O口控制,因此,在每一瞬间,6位LED会显示相 同的字符。要想每位显示不同的字符,就必须采用扫描方法流点亮各位LED,即在每一瞬间只使某一位显示字符。在此瞬间,段选控制I/O口输出相应字符段选码(字型码),而位选则控制I/O口在该显示位送入选通电平(因为LED为共阳,故应送高电平),以保证该位显示相应字符。如此轮流,使每位分时显示该位应显示字符。例如,要求显示“LL0-20”时,I/O1和I/O2轮流送入段选码、位选码。在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位I/O口控制。而共阴(共阳)极公共端分别由相应的I/O口线控制,实现各位的分时选通。段选码,位选码每送入一次后延时1MS,因人的视觉暂留时间为0.1S(100MS),所以每位显示的时间不能超过20MS,并保持延时一段时间,以造成视觉暂留效果,给人看上去每个数码管总在亮。这种方式称为软件扫描方式。
图2.8 LED显示器电路
第八节 电源电路部分
要想电子钟正常工作得到+5V的输出电压,就需将交流220V的电压经过变压器、整流电路、滤波电路和稳压电路四个部分来实现。
电路框图如图2.9所示
交流电源
变压器
整流电路
滤波电路
稳压电路
图2.9直流稳压电源基本电路框图
①电源变压器
电源变压器的作是将电网220V的交流电压V1变换成整流滤波电路所需要的交流电压V2。变压器副边与原边的功率比:
P2/P1=η
式中,η为变压器的效率。
②整流滤波电路
整流二极管D1~D4组成单相桥式整流电路,将交流电压V2变成脉动的直流电压,再经滤波电容C滤除纹波,输出直流电压Vi。Vi与交流电压V2的有效值V2的关系为
Vi=(1.1~1.2)V2
每只整流二极管承受的最大反向电压
③稳压电路
调整管T1与负载电阻RL相串联,组成串联式稳压电路.T2与稳压管DZ组
成采样比较放大电路,当稳压器的输出负载变化时,输出电压V0应保持不变,稳压如下:设输出负载电阻RL变化,使V0,则
VB2 —VC2 —IB1 —VCE1 —VO
第九节 集成直流稳压电源的设计
集成稳压电源设计的主要内容是根据性能指标,选择合适的电源变压器、集成稳压器、整流二极管及滤波电容。
①集成稳压器
常见集成稳压器有固定式三端稳压器与可调式三端稳压器。
可调式三端稳压器能输出连续可调的直流电压。其中CW317系列稳压器输出连续可调的正电压,这是我这次选用的,其图见附录(2).CW337系列稳压器输出连续可调的负电压。稳压器内部含有过流、过热保护电路。R1与RP1组成电压输出调节电路,输出电压
V0≈1.25(1+RP1/R1)
R1的值为120Ω~240Ω,流经R1的泄放电流为5mA~10mA。RP1为精密可调电位器。电容C2与RP1并联组成滤波电路,以减小输出的纹波电压。二极管D的作用是防止输出端与地短路时,损坏稳压器。
集成稳压器的输出电压VO与稳压电源的输出电压相同。
稳压器的最大允许电流Icm<Iomax,输入电压VI的范围为
Vomax+(Vi-Vo)min≤Vi≤Vomin+(Vi-Vo)max
式中,Vomax为最大输出电压;Vomin为最小输出电压;(Vi-Vo)min为稳压器的最小输入、输出压差;(Vi-Vo)max为稳压器的最大输、输出差。
②三端固定输出集成稳压器通用产品有CW7800T系列和CW7900系列
正压系列:CW7800系列,该系列稳压块有过流、过热和调整管工作保护,以防过载而损坏。一般不需要接元件即可工作,有时为改善性能也加少量元件。
负压系列:CW7800系列与CW7900系列相比,除了输出电压极性、引脚定义不同外,其他特点都相同。
③电源变压器
通常根据变压器幅边输出的功率P2来选购(或自绕)变压器。由变压器副边的输出电压V2与稳压器输入电压Vi的关系式可知,V2的值不能取大,V2越大,稳压器的压差越大,功耗越大。一般取V2≥Vimain/1.1mI2>Iomax
④整流二极管及滤波电路
整流二极管D2的反向击穿电压VRM应满足VRM> 1.414V2,其额定工作电流应满足IF>Iomax。
附录
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; AT89C52时钟程序 ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
*******************************************************************************************************************************
;以下程序能用于24小时计时,能作为秒表使用,能定时闹铃1分钟(也可关).
;使用方法:开机后在00:00:00起开始计时,(1)长按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、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 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,78H
MOV CONBS,A
BSLOOP: LCALL DS20MS
LCALL DL1S
LCALL DL1S
LCALL DL1S
DJNZ CONBS,BSLOOP
CLR 08H ;清整点报时标志
AJMP START1
;
;****************************************
;; 主程序开始 ;;
;************************************
展开阅读全文