基于单片机的数字钟设计_第1页
基于单片机的数字钟设计_第2页
基于单片机的数字钟设计_第3页
基于单片机的数字钟设计_第4页
基于单片机的数字钟设计_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、泰山职业技术学院 毕业设计(论文)题 目:基于单片机的数字时钟系 部:专 业:学 号:学生姓名: 指导教师:职 称:二O一四 年 六月 二十五 日第 1 页 共 30 页泰山职业技术学院毕业论文(设计)任务书课题名称:基于单片机的数字时钟系 部:汽 车 电 子 工 程 系专 业:应 用 电 子 技 术姓 名:于 学 成学 号:指导老师:宋 丽 玲二一四 年 六 月二十五日第 2 页 共 30 页第 3 页 共 30 页第 4 页 共 30 页第 5 页 共 30 页目录摘 要 . 错误!未定义书签。第一章 论文背景及设计任务 . 81.1论文背景 . 81.2课程设计题目描述和任务 . 8第二

2、章 系统方案设计 . 92.1整体设计 . 92.2方案设计与论证 . 9第三章 硬件电路设计 . 103.1 AT89C51的单片机简介 . 103.2 LED显示电路 . 123.3 键盘控制电路 . 12第四章 软件系统设计 . 134.1程序编写设计流程图 . 134.2绘制数字时钟电路Protues仿真原理图 . 144.2.1启动ISIS 7 Professional软件 . 144.2.2仿真电路绘制 . 144.2.3电路检测 . 144.3软件设计 . 144.3.1运行keil软件编写程序并编译、连接 . 错误!未定义书签。4.3.2将程序烧入单片机并运行 . 错误!未定义

3、书签。4.3.3运行程序 . 错误!未定义书签。第五章 电路调试 . 155.1软件与硬件调试 . 155.2仿真结果分析 . 15第六章 总结 . 17附录: . 18数字时钟原理图 . 18数字时钟源程序 . 19参考文献: . 29第 6 页 共 30 页摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构

4、,以及针对具体应用对象特点的软件结合,以作完善本次做的数字钟是以单片机(AT89C51)为核心,结合相关的元器件(3个2位共阳数码管,一个发光二极管和一个蜂鸣器)和应用程序(proteus软件和KEIL编译软件),构成相应的应用系统。关键词:单片机 AT89C51 共阳数码管 发光二极管 蜂鸣器 proteus软件 KEIL编译软件摘要翻译:In recent years along with the computer in the social field of permeability and large scale integrated circuit of development, t

5、he application of single chip microcomputer, is continuously to further, because it has a strong function, small volume, low power consumption, the price is cheap, reliable work, use convenient wait for a characteristic, therefore particularly suitable for related control and system, more and more w

6、idely used in automatic control, intelligent instrument, instrument, data collection, military products and household electrical appliances, and other fields, microcontroller is often as a core component to use, in according to the specific hardware structure, and the view of the specific applicatio

7、n of the characteristics of the object software combines to make perfectThis do digital clock is a single chip microcomputer (AT89C51) as the core, combined with related components (3 two common Yang digital tube, a light emitting diode and a buzzer) and applications (proteus software and KEIL compi

8、ler software), constitutes corresponding application system.Keyword: A single-chip microcomputer, AT89C51, total Yang digital tube, light emitting diode, buzzer, proteus software, KEIL compiler software第 7 页 共 30 页基于单片机的数字时钟第一章 论文背景及设计任务1.1论文背景数字电子钟具有走时准确,一钟多用等特点,在生活中已经得到广泛的应用。另外数字钟还具备秒表和闹钟的功能,且闹钟铃声

9、可自选,使一款电子钟具备了多媒体的色彩。单片机STC89C51在Proteus软件中实现数字时钟的定时、时间调整、闹正设置等功能。具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。本文主要介

10、绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89C51芯片和3个两位一体的共阳极的数码管为核心,辅以必要的电路,构成了一个单片机数字时钟。单片机AT89S51可调数字钟系统设计的核心是目前应用极为广泛的51系列单片机,可调数字钟配置了外围设备,构成了一个可编程的计时定时系统,具有体积小,可靠性高,功能强等特点。不仅能满足所需要求而且还有很多功能可供开发,有着广泛的应用领域。1.2课程设计题目描述和任务单片机控制的数字钟的硬件结构与软件设计,给出了汇编语言源程序。此数字钟是一个将“时”、“分”、“秒”显示于人的视觉器官的计时装置。显示器件选用LED七段数码管。在译码显示电

11、路输出的驱动下,显示出清晰、直观的数字符号。针对数字钟会产生走时误差的现象,在电路中就设计有有校准时间功能的电路。使用动态数码显示的方法,运用独立式按键识别过程,按“时”,“分”,“秒”数据送出显示处理方法。(1)具有时、分、秒计数显示功能,以24小时循环(2)LED数码管显示时、分、秒的个位和十位(3)可以在任意时刻校准时间(4)能够完成时间的显示、定时闹钟、复位等功能第 8 页 共 30 页第二章 系统方案设计2.1整体设计此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路用8个共阴数码管分别显示,星期(年份),小时、分钟(月份)和秒(日),通过动态扫描进行显示,

12、从而避免了译码器的使用,同时节约了I/0端口,使电路更加简单。单片机采用AT89S51系列,这种单片机应用简单,适合电子钟设计整体设计框图如图2-1所示:图2-1 数字时钟整体电路2.2方案设计与论证方案一:采用各种纯数字芯片实现数字时钟的设计。优点:各个模块功能清晰,电路易于理解实现。缺点:各个模块功能已定不能进行智能化调整,整体电路太庞大。 方案二:采用 FPGA模块用硬件语言实现功能。优点:运算速度快,走时精度高,算法简单。缺点:成本高,大材小用。方案三:采用单片机最小系统实现功能。优点:电路简单,能通过程序进行随机调整并扩展功能,成本低,易于实现。缺点:走时有一定的误差。第 9 页 共

13、 30 页经过综合考虑成本问题以及电路实现问题,选择第三种方案实现设计要求。第三章 硬件电路设计3.1 AT89C51的单片机简介(一)AT89C51的介绍AT89C51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O接口电路等一台计算机所需要的基本功能部件,AT89C51单片机内包含下列几个部件:(1) 一个8位CPU;(2)一个片内振荡器及时钟电路;(3)4K字节ROM程序存储器;(4)128字节RAM数据存储器;(5)两个16位定时器/计数器;(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;(7)32条可编程的I/O线(四个8位并行

14、I/O端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构。(二) AT89C51单片机的部分管脚说明:AT89C51单片机采用40条引脚双列直插式器件,引脚除5V( 40脚)和电源地( 20脚)外,其功能分为时钟电路、控制信号、输入/输出三大部分,引脚图如下图:图3-1 AT89C51引脚图第 10 页 共 30 页 Vcc 40 电源端;GND 20 接地端。工作电压为5V 。 外接晶振引脚图3-2 外接晶振引脚图XTAL1 19 、XTAL2 18 :XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XT

15、AL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。复位 RST9图3-3 常用复位电路图在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。/EA=1 31脚当/EA=1时,访问内部程序存储器,当PC值超过内ROM范围时,自动转执行外部程序存储器的程序

16、;当/EA=0时,只访问外部程序存储器。第 11 页 共 30 页(三)另外介绍一下输入输出引脚(本系统只用到P0、P1、P2口):(1) P0端口P0.0-P0.7 是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端

17、口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。3.2 LED显示电路本课程设计用到共阳极数码管通过其引脚图,便可顺利完成其连接。图3-4 共阳数码管内部结构图3.3 键盘控制电路通过S1、S2、S3和S4四个按键,对时间进行修改

18、和闹钟的设置,S0控制闹钟的启动和停止。按下S1键显示闹钟,松开后显示时间;按下S4键进入时间修改模式,再按S4键时间的时加1,按S2分加1,调整结束后按下S1恢复正常显示;按下S3键进入闹钟修改模式,再按S3键闹钟的时加1,按S2分加1,调整结束后按下S1恢复正常显示。当用手按下一个键时,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也会出现类似的情况,这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,

19、再读入键盘码。第 12 页 共 30 页第四章 软件系统设计4.1程序编写设计流程图图4-1 程序编写流程图第 13 页 共 30 页4.2绘制数字时钟电路Protues仿真原理图4.2.1启动ISIS 7 Professional软件元件的加载:找到原件后双击原件即可完成加载原件。如图4-2所示:图 4-2 Protues加载原件图4.2.2仿真电路绘制放置元件调整原布局连线最后得到的原理图如下:图4-3 Protues仿真图通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置,S0控制闹钟的启动和停止。按下S1键显示闹钟,松开后显示时间;按下S4键进入时间修改模式,再按S4键时间

20、的时加1,按S2分加1,调整结束后按下S1恢复正常显示;按下S3键进入闹钟修改模式,再按S3键闹钟的时加1,按S2分加1,调整结束后按下S1恢复正常显示。4.2.3电路检测电路连接完毕后,单击运行按钮(如下图)检测电路是否有误,如果电路如果无误进行软件检测。4.3软件设计第 14 页 共 30 页图4-6 仿真结果图第五章 电路调试5.1软件与硬件调试单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。软件调试是指用仿真软件进行仿真调试,验证系统的各项功能;硬件调试即软件调试成功后,将程序下载至AT89C51

21、芯片中,用焊接好的电路来进行各项功能的验证与检测。需要特别注意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是最真实的5.2仿真结果分析按键问题我的设计中,很多功能选择是通过按键开关实现的。在仿真中发现,调整数值时,有时按键反应太快,按一次,跳了几下,使设置时间,日期很不方便。但是仿真多了之后,找到了按键(实际上是按鼠标)的节奏,对按键的掌控力提高了不少,不怎么会出现跳变的情况了。有些开关我采用了长按键的方式来防抖,效果不错,但是每次都要长按键,调整效率太低,我没有普及。本来想把所有的按键都加延时防抖电路,但仿真中感觉对键盘的控制力没提高多少,有时还是会出问题。 P0口开关

22、问题P0口比较特殊,它存在高阻态,要使其输入不是高电平就是低电平,就要接上拉电阻,给其高电平输入。第 15 页 共 30 页中断冲突问题为了实现秒表,我在T0中断嵌套了秒表相关进位程序,由于秒表要求精度0.01秒,故我的T0中断定时为就刚好0.01秒,中断100次,刚好1秒。秒表确实实现了,但是我的闹铃音质变差了。一开始以为是闹铃程序存太多冗余环节,影响了T1的音乐输出中断,但是检查程序后,发现没什么多余的,裁剪无从下手。在仿真中,添加T0中断服务程序,但是将中断进入的间隔变大,即0.05秒进入一次中断,发现音质有所下降,有滋滋声,但比原来的好。最后认定应该是T0中断过于频繁,T1音乐频率发生

23、中断被打破,当单位时间内被打破的次数达到一定程度时,音符和节拍的对应发生紊乱,最终音质变差。定时功能的实现过程定时功能运用了一个内存地址3CH为标志位,只有3CH中所存值非0时,在主程序中才判断定时是否已到。3CH值初始化为0,程序开始运行时并不判断定时是否已到。当通过按键进入定时初值设置,并开始倒计时,3CH的值被赋为1,当倒计时显示到0时,进入闪烁提示,提示结束后3CH又被赋值为0,程序回到主程序后,不必判断定时是否已到。但当倒计时未完,按返回键回到主程序时,3CH的值为1,故在主程序判断未完成的定时任务,倒计时到0时调用同一个提示程序,最后仍可保证在主程序不再定时开启时去判断定时,从而节

24、约资源。软件消抖消抖可以采用硬件(施密特触发器)的方式,也可以采用软件的方式。在此只讨论软件方式。软件消抖有定时器定时,和利用延时子程序两种方式。一,定时器定时消抖可以不影响显示模块扫描速度,其实现方法是:设置标志位,在定时器中断中将其置位,然后在程序中查询。将其中断优先级设置为低于时钟定时中断,那么它就可以完全不影响时钟定时。二,在采用延时子程序时,如果显示模块的扫描速度本来就不是很快,此时可能会影响到显示的效果,一般情况下,每秒的扫描次数不应小于50次,否则,数码的显示会出现闪烁的情况。因此,延时子程序的延时时间应该小于20毫秒,如果采用定时器定时的方式,延时时间不影响时钟。如果,设计时采

25、用的是中断的方式来完成有关操作,同样可以采用软件的方式来消抖,其处理思想是:中断不能连续执行,两次之间有一定的时间间隔。第 16 页 共 30 页第六章 总结首先,我要感谢宋丽玲老师在此次设计中给于我的帮助。我深刻地感受单片机不单是一门文化课程,更是一门科学技术。单片机课程设计则是人生课程,我们学到了很多课堂上无法学到的东西。从新奇好玩到失败后的痛苦无助,从失败中爬起,哪怕再失败,也永不放弃。这就是单片机课程设计教会我们的最宝贵的知识。一分耕耘,一分收获。经过这次课程设计,让我获得了很多知识,进一步加深了我对AT89C51单片机的掌握,另外也巩固了我的编程思想和焊接技术。本次的数字时钟设计,让

26、我对自己在大学三年的知识的到了回顾,例如模电和数电以及做PCB的软件。它也让我充分发挥了对所学知识的理解和设计的书面表达能力。这为今后自己进一步深化学习,积累了一定的宝贵经验。撰写报告的过程是对专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。本次的课程设计,让我发现理论必须用于实践,否则只是一张白纸。此外只有理论水平提高了,才能更好的运用于实践。另外,本次课程设计也考验了我的认真的态度。只有做事拥有认真的态度与科学的方法,才能成功。我认为课程设计非常有必要,它能让我们主动去寻找遇到问题的解决方法,同时也是对我们严谨认

27、真工作态度的考验与锻炼,为以后我们进入社会参加工作是一个很好的培训与历练。第 17 页 共 30 页附录:图7-1 数字时钟原理图第 18 页 共 30 页数字时钟源程序使用keil软件编写源程序ORG 0000HLJMP STARTORG 000BHLJMP TIME;*初始化*START: MOV SP, #50HMOV 20H,#00H ;MOV 21H,#00H ;MOV 22H,#00H ;MOV 23H,#01H ;MOV 24H,#01HMOV 25H,#00HMOV 26H,#01HMOV 30H,#00H ;BCD SECOND MOV 31H,#00HMOV 32H,#00

28、H ;BCD MINUTE MOV 33H,#00HMOV 34H,#00H ;BCD HOUR MOV 35H,#00HMOV 36H,#01HMOV 37H,#00HMOV 38H,#01HMOV 39H,#00HMOV 50H,#00H ;MOV TMOD,#01H ;16MOV TH0, #03CH ;MOV TL0, #0B0HMOV IE, #87H ;SETB TR0 ;MOV R2,#14HMOV P2,#0FFH;*主程序* 定义秒 定义分 定义时 定义闹钟分钟 ;定义闹钟小时 按键次数 位计数器 赋初值 中断允许 启动T0第 19 页 共 30 页MAIN: JB P1.4

29、,GBLCALL TIMEPROGB: ;调用闹钟判断 ;调用时间显示 LCALL DISPLAY1JB P1.3,M1 ;P1.3=1时转移 S4没有按下 LCALL SETTIME ;调用SETTIME调时子程序 LJMP MAINM1: JB P1.2,M2 ;P1 g.2=1时转移 S3 LCALL SETATIME ;调用SETATIME子程序 LJMP MAINM2: JB P1.0,M4 ;P1.01时转移 S1LCALL LOOKATIME ;调用LOOKATIME显示闹钟子程序 M4: LJMP MAIN;*延时子程序*DELAY: MOV R4,#030HDL00: MOV

30、 R5,#0FFHDL11: MOV R6,#9HDL12: DJNZ R6,DL12DJNZ R5,DL11DJNZ R4,DL00RET;*时间调整*SETTIME: ;设置时间L0: LCALL DISPLAY1MM1: JB P1.3,L1 ;P1.3=1时转移MOV C,P1.3JC MM1LCALL DELAY1 ;延时JC MM1MSTOP1: MOV C,P1.3LCALL DELAY1MOV A,50H INC 50H CJNE A,#00H,HJ1 ;P1.3为0时转移 ;延时 JNC MSTOP1LJMP L0HJ1: MOV C,P1.3第 20 页 共 30 页JNC

31、 MSTOP1INC 22H ;小时自加一 MOV A,22HCJNE A,#18H,GO12 ;小时计数循环 MOV 22H,#00H ;复位 MOV 34H,#00HMOV 35H,#00HLJMP L0L1: JB P1.1,L2 ;P1.1=1MOV C,P1.1JC L1LCALL DELAY1 ;JC L1MSTOP2: MOV C,P1.1JNC MSTOP2LCALL DELAY1 ;MOV C,P1.1JNC MSTOP2INC 21H ;MOV A,21HCJNE A,#3CH,GO11 ;MOV 21H,#00H ;MOV 32H,#00HMOV 33H,#00HLJMP

32、 L0GO11: MOV B,#0AHDIV ABMOV 32H,B ;MOV 33H,A ;LJMP L0GO12: MOV B,#0AHDIV ABMOV 34H,B ;MOV 35H,A ;LJMP L0L2: JB P1.0,L0 ; P1.0时转移 延时 ;P1.10时转移 延时 分钟加一 分钟计数循环 复位 将A的低4位存入32单元 将A的高4位存入33单元 将A的低4位存入34单元 将A的高4位存入35单元1时转移第 21 页 共 30 页MOV C,P1.0JC L2LCALL DELAY1 ;延时 MOV C,P1.0JC L2STOP1: MOV C,P1.0 ; P1.0

33、0时转移 JNC STOP1LCALL DELAY1 ;延时 MOV C,P1.0JNC STOP1MOV 50H,#00HLJMP MAIN;*设置闹钟*SETATIME:LCALL DISPLAY2 ;N0: LCALL DISPLAY2MM2: JB P1.2,N1 ;P1.2=1 MOV C,P1.2JC MM2LCALL DELAY1 ;JC MM2MSTOP3: MOV C,P1.2JNC MSTOP3 LCALL DELAY1 ;MOV A,50HINC 50HCJNE A,#00H,HJ2LJMP N0HJ2: MOV C,P1.2JNC MSTOP3INC 24H ;MOV

34、A,24HCJNE A,#24,GO22 ;MOV 24H,#00H ;MOV 38H,#00HMOV 39H,#00HLJMP N0 调用DISPLAY2显示闹钟时转移 延时 0时转移 延时 小时加一 小时计数循环 复位第 22 页 共 30 页 ; P1.2N1: JB P1.1,N2 ;P1.11时转移 MOV C,P1.1JC N1LCALL DELAY1 ;延时JC N1MSTOP4: MOV C,P1.1 ;P1.10时转移 JNC MSTOP4 LCALL DELAY1 ;延时MOV C,P1.1JNC MSTOP4INC 23H ;MOV A,23HCJNE A,#60,GO2

35、1 ;MOV 23H,#00H ;MOV 36H,#00HMOV 37H,#00HLJMP N0GO21: MOV B,#0AHDIV ABMOV 36H,B ;MOV 37H,A ;LJMP N0GO22: MOV B,#0AHDIV ABMOV 38H,B ;MOV 39H,A ;LJMP N0N2: JB P1.0 ,N0 ;P1.0MOV C,P1.0JC N2LCALL DELAY1 ;MOV C,P1.0JC N2STOP2: MOV C,P1.0JNC STOP2LCALL DELAY1 分钟加一 分钟计数循环 复位 将A的低4位存入36单元将A的高4位存入37单元将A的低4位存

36、入38单元 将A的高4位存入39单元 1时转移 延时第 23 页 共 30 页MOV C,P1.0JNC STOP2MOV 50H,#00HLJMP MAIN;*闹钟判断*TIMEPRO: MOV A,21HMOV B,23HCJNE A,B,BK ;判断定时闹钟的分钟 MOV A,22HMOV B,24HCJNE A,B,BK ;判断定时闹钟的小时 SETB 25H.0MOV C,25H.0LCALL TIMEOUT ;调用TIMEOUTBK:RET;*喇叭报警*TIMEOUT:X1: LCALL BZ ;调用喇叭响应程序 CLR 25H.0 ;调用喇叭响应程序结束 LCALL DELAYC

37、LR 25H.0LJMP DISPLAY1BZ:MOV C,25H.1MOV P1.6,CCLR P1.7MOV R7,#0FFH ;喇叭响应时间 T2: MOV R6,#0FFHT3: DJNZ R6,T3DJNZ R7,T2SETB P1.7RET;*显示闹钟时间*LOOKATIME:LCALL DISPLAY2MM: JNB P1.0,LOOKATIMELCALL DELAY1LJMP MAIN第 24 页 共 30 页 ;延时DELAY1: MOV R4,#14H ;时间延时 DL001: MOV R5,#0FFHDL111: DJNZ R5,DL111DJNZ R4,DL001RET

38、;*定时*TIME: PUSH ACC ;保护现场 PUSH PSWMOV TH0,#03CH ; MOV TL0,#0B0HDJNZ R2,RET0MOV R2,#14HMOV A,20HCPL 25H.1CLR CINC A ; CJNE A,#3CH,GO1 ; MOV 20H,#0 ; MOV 30H,#0MOV 31H,#0MOV A,21HINC A ; CJNE A,#3CH,GO2 ; MOV 21H,#0H ; MOV 32H,#0MOV 33H,#0MOV A,22HINC A ; CJNE A,#18H,GO3 ; MOV 22H,#00H ; MOV 34H,#0MOV 35H,#0AJMP RET0GO1: MOV 20H,AMOV B,#0AHDIV AB 初值 秒自加一 秒计数循环 复位 分钟自加一 分钟计数循环 复位 小时自加一小时计数循环 复位第 25 页 共 30 页MOV 31H,A ;将A的低4位存入31单元 MOV 30H,B ;将A的高4位存入30单元 AJMP RET0GO2: MOV 21H,AMOV B,#0AHDIV ABMOV 33H,A ;将A的低4位存入33单元 MOV 32H,B ;将A的高4位存入32单元 AJMP RET0GO3: MOV 22

温馨提示

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

评论

0/150

提交评论