《基于89C51单片机的数字钟设计.doc》由会员分享,可在线阅读,更多相关《基于89C51单片机的数字钟设计.doc(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉大学电子信息学院电子系统综合设计课程论文基于89C51单片机的数字钟设计专 业: 年 级: 作 者: 指导教师: 2012 年 6 月 6 日学习文档 仅供参考目 录1 作品的背景与意义12 功能指标设计23 作品方案设计23.1总体方案的选择23.2控制方案的选择23.3显示方案的选择34 硬件设计44.1模块设计44.1.1晶体振荡器电路44.1.2分频器电路44.1.3时间计数器电路44.1.4内部时钟电路54.1.5复位电路54.1.6按键部分64.2原理电路图64.3工作环境75 软件设计75.1主程序流程图75.2显示模块流程图96 系统测试116.1测试环境116.2测试步骤
2、11 6.2.1硬件测试11 6.2.2软件测试117 实验总结118 发展前景12参考文献12附录1 系统电路图13附录2 系统软件代码14附录3 系统器件清单22学习文档 仅供参考1 作品的背景及意义20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。 时间对人们来说总是那么珍贵,工作的忙碌性和繁杂性容易使人忘记当前的时间。忘记了要做的事情,当事情不是很重要的时候,这种遗忘无伤大雅。但是,一旦重要事情,一时的耽误可能酿成大祸。目前,单片机
3、正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。下面是单片机的主要发展趋势。单片机应用的重要意义还在于,它从根本上改变了传统的控制系统设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分功能,现在已能用单片机通过软件方法来实现了。这种软件代替硬件的控制技术也称为微控制技术,是传统控制技术的一次革命。 单片机模块中最常见的是数字钟,数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更更长的使用寿命,因此得到了广泛的使用。 数字钟是采用数字电路实现对
4、.时,分,秒.数字显示的计时装置,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。因此,研究数字钟及扩大其应用,有着非常现实的意义。数字钟已成为人们日常生活中:必不可少的必需品,广泛用于个人家庭以及车站、码头、剧场、办公室等公共场
5、所,给人们的生活、学习、工作、娱乐带来极大的方便。由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时自动报时及自动控制的领域LED,对于许多的用户而言可能是一个并不算新鲜的名词了,不过这种技术存在的历史可能远远超过了我们的想像-早在19世纪末,奥地利植物学家就发现了液晶,即液态的晶体,也就是说一种物质同时具备了液体的流动性和类似晶体的某种排列特性。现在的时代其实还是模拟时代,而未来的时代从目前的发展趋势来看是数字时代。显示器智能化操作,数字控制、数码显示是未来显示器的必要条件。2 功能指标设计本设计准备实现的功能:(1)显示公历日期功
6、能年、月、日、时、分、秒以及星期。(2)可通过按键切换年、月、日及时、分、秒的显示状态。(3)可随时调校年、月、日或时、分、秒。(4)可动态完整显示年份,实现真正的万年历显示。(5)可实现闹钟功能。3 作品方案设计3.1总体方案的选择 单片机微型电脑是微型电脑的一个重要分支,也是颇具生命力的机种。单片机微型电脑简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有电脑的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机有丰富的中断源准确度相当高,并且C语言和汇编兼容
7、的编程环境也很方便来实现一些递归调用。I/O口功能也比较强大,方便使用。这些都方便对设计进行扩展,使设计更加完善。成本也相对低一些。但是,在控制与显示的结合上有些复杂,显示模组资源相对有限,而且单片机的稳定性不是很高,而且就需要完成万年历这个不太复杂的设计可以用单片机来完成,采用单片机既能够实现既定功能,成本也不高。单片机经过1、2、3,三代的发展,正朝着多功能、高性能、低电压、低功耗、低价格、大存储容量、强I/O功能及较好的结构兼容性方向发展。 综合考虑最后选择用单片机来作为中心控制器件。3.2控制方案的选择 89C51是一个8位单片机,片内ROM全部采用FLASH ROM技术,晶振时钟为1
8、2MHz。89C51是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。第31引脚需要接高电位使单片机选用内部程序存储器;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1F高频滤波电容。 89C51采用寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有标准的结构,可分成不同的函数,这种方式可使程序结构化;提供的库包含许多标准子程序,具有较强的数据处理能力;由于具有方便的模块化编程技术,使已编好程序容易移植。 通过对C51单片机性能的分析,最终认为89C51是最理想的电子时钟开
9、发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。C51单片机功能框图如下:3.3显示方案的选择 本实验中的C51单片机上采用8位8段LED数码管显示,数码管引脚如下: LED数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。
10、这些段分别用字母a,b,c,d,e,f,g,dp表示。当数码管特定的段加上电压后,这些特定的段就会发亮,以形成我们眼睛看到的2个8数码管字样了。如:显示一个“2”字,那么应当是a亮b亮g亮e亮d亮f不亮c不亮dp不亮。LED数码管有一般亮和超亮等不同之分,也有0.5寸、1寸等不同的尺寸。小尺寸数码管的显示笔画常用一个发光二极管组成,而大尺寸的数码管由二个或多个发光二极管组成,一般情况下,单个发光二极管的管压降为1.8V左右,电流不超过30mA。发光二极管的阳极连接到一起连接到电源正极的称为共阳数码管,发光二极管的阴极连接到一起连接到电源负极的称为共阴数码管。常用LED数码管显示的数字和字符是0
11、、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。4 硬件设计4.1 模块设计4.1.1 晶体振荡器电路 晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体荡器电路。4.1.2 分频器电路分频器电路将高频方波信号经分频后得到1Hz的方波信号供秒计数器进行计数,分频器实际上也就是计数器。4.1.3 时间计数器电路 时间计数电路由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器而根据设计要求,时个位
12、和时十位计数器为24进制计数器。4.1.4 内部时钟电路 内部时钟电路是单片机的心脏,它控制着单片机的工作节奏,CPU就是通过复杂的时序电路完成不同的指令功能的。内部时钟的产生方式是利用单片机内部的振荡器,然后在引脚XTAL119脚和XTAL218脚两端接晶振,就构成了稳定的自激振荡器,其发出的脉冲直接送入内部时钟电路,外接晶振时,晶振两端的电容一般选择为30PF左右;这两个电容对频率有微调的作用,晶振的频率范围可0-24MHz之间选择。为了减少寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器和电容应尽可能安装得与单片机芯片靠近。4.1.5复位电路MCS-51单片机的复位是由外部的复位电路来
13、实现的。复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。复位方式有上电复位和按键手动复位两种方式。上电复位:上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到VCC,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到RST复位引脚一个短暂的高电平信号,这个复位信号随着VCC对电容的充电过程而回落,所以RST引脚复位的高电平维持时间取决于电容的充电时间。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。下列
14、图为复位电路RC。 手动复位:通过接通按钮开关,使单片进入复位状态。 复位电路虽简单,但很重要。一个单片机系统能否正常运行,首先要检查是否能复位成功。初步检查可用示波器探头监视RST引脚,按下复位键,观察是否有足够幅度的波形输出瞬时的,还可以通过改变复位电路阻容值进行实验。 4.1.6 按键部分它是整个系统中最简单的部分,根据功能要求,本系统共需五类按键:功能移位键、功能切换键、定闹键、光标定位键、数字选择键。并采用独立式按键。整个按键功能选定在4*4矩阵键盘完成。前三行前三列为数字选择键,分别代表1,2,3,4,5,6,7,8,9。第一行第四列为功能切换键,第二行第四列为光标定位键,第三行第
15、四列为定闹键,第四行第三四列为功能移位键,分别代表左移和右移。按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的I/O端口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能到达稳定,这一过程是处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的常长短与开关的机械特性有关,一般在5-10ms之间。为了防止CPU多次处理按键的一次闭合,应采用措施消除抖动。本文采用的是独立式按键,直接用I/O口线构成单个按键电路,每个按键占用一条I/O口线,每个按键的工作状态不会产生互相影响。4.2 原理电路图功能:1) 开机时,显示00:00:00的时间开始计时;2 按功能切换键,切
16、换到年月日,按光标定位键和功能移位键,即可以修改年月日。3 按功能切换键,切换到时分秒,按光标定位键和功能移位键,即可以修改时分秒。4 有5个闹表可供选择,按定闹键,切换到指定闹表并设置具体时间。 4.3 工作环境硬件:C51单片机一片,电脑一台,通讯电缆一根,数据线一根。软件:Windows XP操作系统、Keil C51软件。5 软件设计5.1主程序流程图 5.2显示模块流程图闹铃调整模式:YNNNYY开始系统初始化是否按下设置键时间调整模式是否退出调整模式是否跟闹钟时间一致启动闹铃显示时间 秒表模式:YYYYNNNN开始是否按功能切换键系统初始化是否按秒表暂停键是否按秒表启动键是否按秒表
17、清零键切换秒表秒表计时暂停秒表显示时间分钟时钟与秒表框图相似6 系统测试6.1测试环境硬件:C51单片机一片,电脑一台,通讯电缆一根,数据线一根。软件:Windows XP操作系统、Keil C51软件。6.2测试步骤6.2.1硬件测试先检测单片机与电脑的连接问题,将单片机设置为可控制状态;由于我们拿到的是现成的C51单片机,只需检测器外部显示即可,也就是首先编先一段程序检测LED数码管是否完好。6.2.2软件测试软件程序的调式一般可将重点放在分模块调式上,统调式最后环节。本次课题,通过Keil软件来调式程序。(1)测试数字钟的基本功能:按照原理电路图,按S1键,设置现在时间功能,按一下S8,
18、进入时间设置,此时按S15,S16移动光标,按S1-S3,S5-S7,S9-S11设置时间。设置完成后按S4走时。(2)测试数字钟的闹钟功能:S12键设置闹铃1,此时按S1-S3,S5-S7,S9-S11设置闹铃。设置完成后按S12进入设置闹铃2;同前一样设置,按S12进入闹铃3,同前一样设置,再按S12进入闹铃4,同前一样设置,再按S12进入闹铃5,同前一样设置,最后按S4结束设置。(3)测试数字钟的万年历功能: S4键进入万年历设置,此时按S15,S16移动光标,按S1-S3,S5-S7,S9-S11设置年月日。7 实验总结 通过这次的电子系统综合设计课程使我们认识到自己对单片机方面的知识
19、了解得很少,而单片机又是生产生活中所必须的;这次的实验本身要求不是很难,只是要在有限的时间去学习完单片机的有关只是,还要将其灵活运用在实验中是有一定难度的。本次的设计使我们从中学到了许多东西,比方如何快速的学习一门新的知识,如何从理论到实践的转化。通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个课程设计十分有意义 ,我获得珍贵经验。我们会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,并且在查找资料的过程中学到了许多,同时在协作过程中增进同学间的友谊,这次电子综合实验让我们收获颇丰。通过这次课程设计,我们知道了理
20、论和实际的距离,也知道了理论和实际想结合的重要性,也从中得知了很多书本上无法得知的知识。自己今后将会更加的把理论知识和实际应用结合起来,提高自己的能力。8 发展前景 虽然现在市场上已有现成的电子钟集成电路芯片,价格廉价、使用也方便,但是人们对电子产品的应用要求越来越高。随着科技的发展,数字钟不但可以显示当前的时间,而且可以显示日期、星期、世界时、室温等,广泛用于个人家庭,车站, 码头办公室等公共场所,成为人们日常生活中不可少的必需品, 由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表, 钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的报
21、时功能。诸如定时自动报警、按时自动打铃、时间程序自动控制、定时广播芯片自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到了广泛的应用。另外值得一提的是,单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。因而基于单片机的多功能数字电子钟必将成为市场的新宠儿。 参考文献: 1 李朝青单片机原理及接口技术第三版 M 北京航空航天大学出版社 2005-10.
22、2 阎石数字电子技术基础 M 高等教育出版社2006-5.3 单片机课程设计 实例指导 李光才 楼然笛 北京 北京航空航天大学出版社 2004.4陈正义.单片机控制实习.北京:人民邮电出版社,2006.5杨将新等.单片机程序设计及应用.北京:电子工业出版社,2006.6汪道辉.单片机系统设计与实践.北京:电子工业出版社,2006.7楼然苗等.单片机课程设计指导.北京:北京航空航天大学出版社,2008.8祁伟,杨婷.单片机C51程序设计教程与实验.北京航空航天大学出版社.2006-1.附录1 系统电路图附录2 系统软件代码学习文档 仅供参考LED_SEL EQU 0FBFFH ;规定: 1为开,
23、0为关LED_SEG EQU 0FAFFHKEY EQU 0F8FFHAL1_SED EQU 48HAL1_MIN EQU 49HAL1_HOUR EQU 4AHAL1_DAY EQU 4BHAL1_MON EQU 4CHAL1_YR1 EQU 4DHAL1_YR2 EQU 4EH AL2_SED EQU 50HAL2_MIN EQU 51HAL2_HOUR EQU 52HAL2_DAY EQU 53HAL2_MON EQU 54HAL2_YR1 EQU 55HAL2_YR2 EQU 56HAL3_SED EQU 58HAL3_MIN EQU 59HAL3_HOUR EQU 5AHAL3_DA
24、Y EQU 5BHAL3_MON EQU 5CHAL3_YR1 EQU 5DHAL3_YR2 EQU 5EH AL4_SED EQU 60HAL4_MIN EQU 61HAL4_HOUR EQU 62HAL4_DAY EQU 63HAL4_MON EQU 64HAL4_YR1 EQU 65HAL4_YR2 EQU 66HAL5_SED EQU 68HAL5_MIN EQU 69HAL5_HOUR EQU 6AHAL5_DAY EQU 6BHAL5_MON EQU 6CHAL5_YR1 EQU 6DHAL5_YR2 EQU 6EH SED EQU 40HMIN EQU 41HHOUR EQU 4
25、2HDAY EQU 43HMON EQU 44HYR1 EQU 45HYR2 EQU 46HSHW0 EQU 38HSHW1 EQU 39HSHW2 EQU 3AHSHW3 EQU 3BHSHW4 EQU 3CHSHW5 EQU 3DHSHW6 EQU 3EH SHW7 EQU 3FH LED0 EQU 30HLED1 EQU 31HLED2 EQU 32HLED3 EQU 33HLED4 EQU 34HLED5 EQU 35HLED6 EQU 36HLED7 EQU 37HLED_FLASH EQU 25HLED_STATE EQU 28H; ;07每位对应LED每个灯,(1为亮,0为灭LE
26、D_BTON BIT 20H.0 REP_LDST EQU 79HLED_SUM EQU 7AHFLASH_PLACE EQU 7BHLED_MID EQU 7CHDT_SUM EQU 47HDT EQU 4FHROW EQU 57HLINE EQU 5FHR_L EQU 67HI EQU 70HINTER1 EQU 29HINTER2 EQU 71HDLY1 EQU 72HDLY2 EQU 73HLEAP_YR BIT 20H.1KEY_ABLE BIT 20H.2KEY_STATE BIT 20H.4K_SWITCH BIT 22H.0K_SET BIT 22H.1K_AL_MODE BI
27、T 22H.2K_AL_BTON BIT 22H.3K_RL BIT 22H.4K_RR BIT 22H.5AL1 BIT 23H.0AL2 BIT 23H.1AL3 BIT 23H.2AL4 BIT 23H.3AL5 BIT 23H.4ALARM EQU 23HKEY_VALUE EQU 6FHSW_FLASH BIT 20H.3CR1 EQU 74HCR2 EQU 75HTN EQU 76HTN_MODE BIT 20H.4AN EQU 77HSST EQU 24HAL_MODE BIT 24H.0AL_SHOW BIT 24H.1DT_MODE BIT 24H.2SET_MODE BIT
28、 24H.3DATE EQU 78HDT_ABLE BIT 20H.5 AT_POINT BIT 20H.6ORG 0000HJMP MAINORG 000BHJMP EXT0ORG 001BHJMP EXT1ORG 0030HMAIN: ACALL INIT_DATA ACALL INIT_T LOOP1: MOV A,CR1 CJNE A,#20,LOOP2 MOV CR1,#0 ACALL _1S_FLASH ACALL JUG_ALARM MOV 22H,#0 LOOP2: JNB KEY_ABLE,LOOP3 CLR KEY_ABLE ACALL ANSWER_KEY ACALL O
29、N_K_SWITCH ACALL ON_K_SET ACALL ON_K_AL_MODE ACALL ON_K_AL_BTON ACALL ON_K_RL ACALL ON_K_RR ACALL ON_KEYVALUELOOP3: JNB AL_SHOW,LOOP3_1 CLR SW_FLASH ACALL ALARM_IN JMP LOOP4LOOP3_1: ACALL TIME_IN LOOP4: ACALL RDP_POINT ACALL SHOW JMP LOOP1RDP_POINT: JNB AT_POINT,OUT_RDPMOV P1,#0RETOUT_RDP:MOV P1,#0F
30、FHRETON_K_SWITCH:JNB K_SWITCH,OUT_SWH CLR K_SWITCHCLR AT_POINTCPL DT_MODECLR SET_MODECLR SW_FLASHJNB AL_SHOW,OUT_SWHCLR AL_SHOWCLR DT_MODEJB DT_MODE,OUT_SWHMOV A,FLASH_PLACEOUT_SWH: RETON_K_SET:JNB K_SET,OUT_SHOW CLR K_SET CLR AT_POINTCPL SET_MODEJNB AL_SHOW,SET_NEXTCLR AL_SHOWSET_NEXT:JNB SET_MODE,
31、SET_NEXT1MOV LED_FLASH,#0FEHMOV FLASH_PLACE,#0SETB SW_FLASHJMP OUT_SHOWSET_NEXT1: CLR SW_FLASHOUT_SHOW: RET ON_K_AL_MODE: JNB K_AL_MODE,OUT_AL CLR K_AL_MODE CLR AT_POINT CPL AL_MODE JNB AL_MODE,ONAL1 CLR SET_MODE CLR DT_MODE JB AL_SHOW,OUT_AL SETB AL_SHOW JMP OUT_ALONAL1: CLR AL_SHOW MOV TN,#0 CLR S
32、ET_MODE CLR DT_MODE CLR SW_FLASHOUT_AL: RET ON_K_AL_BTON: JNB K_AL_BTON,OUT_BN CLR K_AL_BTON JNB AL_SHOW,OUT_BN MOV INTER1,ALARM MOV A,INTER1 CPL A MOV INTER1,A MOV A,AN MOV DPTR,#TABLE_SCAN MOVC A,A+DPTR ANL ALARM,A CPL A ANL INTER1,A MOV A,INTER1 ORL ALARM,AOUT_BN: RETON_K_RL: JNB K_RL,OUT_RL CLR
33、K_RL JNB AL_SHOW,ONRL2 MOV A,AN CJNE A,#4,ONRL1 MOV AN,#0 JMP OUT_RLONRL1: INC AN JMP OUT_RLONRL2: JNB SET_MODE,OUT_RL MOV A,FLASH_PLACE INC A CJNE A,LED_SUM,ONRL3 JMP OUT_RLONRL3: MOV A,LED_FLASH RL A MOV LED_FLASH,A INC FLASH_PLACE OUT_RL: RET ON_K_RR: JNB K_RR,OUT_RR CLR K_RR JNB AL_SHOW,ONRR2 MO
34、V A,AN CJNE A,#0,ONRR1 MOV AN,#4 JMP OUT_RRONRR1: DEC AN JMP OUT_RRONRR2: JNB SET_MODE,OUT_RR MOV A,FLASH_PLACE CJNE A,#0,ONRR3 JMP OUT_RRONRR3: DEC FLASH_PLACE MOV A,LED_FLASH RR A MOV LED_FLASH,AOUT_RR: RETON_KEYVALUE: MOV A,KEY_VALUE CJNE A,#0FFH,ONK JMP OUT_KVONK: JB AL_SHOW,OUT_KV MOV R1,#38H M
35、OV A,FLASH_PLACE ADD A,R1 MOV R1,A MOV A,FLASH_PLACE MOV B,#2 DIV AB MOV A,B CJNE A,#0,NXT4 INC R1 MOV A,R1 ANL A,#0FH MOV B,#10 MUL AB ADD A,KEY_VALUE MOV DATE,A JMP NXT5NXT4: DEC R1 MOV A,KEY_VALUE MOV B,#10 MUL AB MOV B,R1 ANL B,#0FH ADD A,B MOV DATE,ANXT5: ACALL DATE_ABLE JNB DT_ABLE,OUT_KV JNB AL_MODE,NXT1 MOV R0,#48H MOV A,AN MOV B,#8 MUL AB ADD A,R0 JMP NXT2NXT1: MOV A,#40H MOV R1,#0NXT2: JNB DT_MODE,NXT3 ADD A,#3 MOV R1,ANXT3: MOV R0,A MOV A,FLASH_PLACE MOV B,#2 DIV AB ADD A,R0 MOV R0,A MOV R0,DATE CJNE R1,#0,NXT
限制150内