单片机简易时钟课程设计_第1页
单片机简易时钟课程设计_第2页
单片机简易时钟课程设计_第3页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

1、目录1. 概论12. 整体设计思路 32.1硬件各部分所能完成的功能 52.2系统工作原理52.3时钟各功能分析及图解 7电路各功能图解分析 7电路功能使用说明1.0.3. 软件设计思路 1.1.3.1主程序模块12.3.2数码管动态扫描模块 13.3.3当前时间计时模块 14.3.4闹钟输入输出模块 16.3.5当前时间调整模块 18.3.6复位模块 1.9.4. 系统的调试和性能分析 20.4.1系统的调试方法 20.输入按键的调试 21.复位电路的调试 21.显示电路的调试 21.整个系统的联调21.4.2心得体会22.参考文献23.附录23.附录A系统原理图 23.附录B程序源代码 2

2、4.电气信息学院课程设计评分表 46.1.概论单片机系统作为一种典型的嵌入式系统,其系统设计包括硬件电路设计和软 件编程设计两个方面,其调试过程一般分为软件调试、硬件测试、系统调试 3个过程。如果采用单片机系统的虚拟仿真软件 一一Proteus,则不用制作具体的 电路板也能够完成以上工作。数字钟是采用数字电路实现对时,分,秒,数字显 示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方 便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品, 广泛应用于家庭、车站、码头、剧院、办公室等场所,

3、给人们的生活、学习、工 作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功 能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、 时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、 甚至各种定时电气的自动启用等, 所有这些,都是以钟表数字化为基础的。而且 是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。电子钟在工业控制和日常生活中是很重要的,它不仅可以用于计时、提醒又可用于对机器的控制,在自动化的过程中必然有电子钟的参与, 因此电子钟的应 用会越来越广泛。而且向着精确、低功耗、多功能发展。基于单片机设计的数字 钟精确度

4、较高,因为在程序的执行过程中, 任何指令都不影响定时器的正常计 数,即便程序很长也不会影响中断的时间。 从而,使数字钟的精度仅仅取决于单 片机的产生机器周期电路和定时器硬件电路的精确度。另外,程序较为简洁,具有可靠性和较好的可读性。如果我们想将它应用于实时控制之中,只要对上述程 序和硬件电路稍加修改,便可以得到实时控制的实用系统,从而应用到实际工作 与生产中去。数字电子钟的设计方法有多种,例如,可用中小规模集成电路组成电子钟, 也可以利用专用的电子钟芯片配以显示电路及其所需要的外围电路组成电子钟 还可以利用单片机来实现电子钟等等。这些方法都各有特点,其中,利用单片机实现的电子钟具有编程灵活,便

5、于功能扩充, 精确度高等特点。2.整体设计思路这部分主要介绍工作安排和整体设计的思想。工作过程规划如下:软硬件结合,完成任务书要求4验证硬件电路成功对设计进行总结和分析图2.1整体设计思路针对要实现的功能,拟采用AT89C51单片机进行设计,AT89C51单片机是 一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复 擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造, 兼容标准MCS- 51指令系统及80C51引脚结构I7】。这样,既能做到经济合理又能 实现预期的功能。在程序方面,采用分块设计的方法,这样既减小了编程难度、使程序易于理 解

6、,又能便于添加各项功能。程序可分为显示程序、调时显示运用这种方法,关 键在于各模块的兼容和配合,若各模块不匹配会出现意想不到的错误。本电子钟设计主要是依照图2.1中的流程做出来的,时间分配比较均匀。首 先,在编程之前必须了解硬件结构尤其是各引脚的用法,以及内部寄存器、存储单元的用法,否则,编程无从下手,电路也无法设计。这是前期准备工作。第二 部分是硬件部分:依据想要的功能分块设计设计,比如输入需要开关电路,输出 需要显示驱动电路和液晶电路等。第三部分是软件部分:先学习理解C语言的编程方法再根据设计的硬件电路进行分块的编程调试,最终完成程序设计。第四部 分是软件画图部分:设计好电路后进行画图,包

7、括电路图和仿真图的绘制。第五 部分是软件仿真部分:软硬件设计好后将软件载入芯片中进行仿真, 仿真无法完 成时检查软件程序和硬件电路并进行修改直到仿真成功。 第六部分是硬件实现部 分:连接电路并导入程序检查电路,若与设计的完全一样一般能实现想要的功能。2.1硬件各部分所能完成的功能(1)单片机发送的信号通过程序控制最终在数码管上显示出来。(2)单片机通过输出各种电脉冲信号来驱动控制各部分正常工作。(3 )为使时钟走时与标准时间一致,校时电路是必不可少的,键盘用来校正数码管上显示的时间。(4 )单片机通过控制闹铃电路来完成定时闹钟的功能。(5)单片机通过程序对闹铃信号灯进行控制,可方便我们对闹铃的

8、开关以 及是否在闹铃进行观察。(6)由于要设置定时功能,所以配置了对闹钟设置的键盘。2.2系统工作原理设计的电路主要由四模块构成:时间显示电路、信号显示电路、键盘控制电路、外设闹铃电路以及核心控制电路详细电路功能图如图2-2 :I l E r I ct*!RPf '-dEUImGIB-盘EBM斗册沢noH.1FIEF13II*r isMiF17pnwun |90LW publicn r;r c =PM/iDfiFLIf/i *IX1A1PJ.M9 RS.lO FZ砂F7专13FZm.R. PZTrtfl.-=7& p-J J -0附“ _QL.PJffHKI PXTDO ra

9、FimFivnP33TTImwr图2-2详细电路功能图本设计采用汇编语言程序设计,使单片机控制数码管显示时、分、秒,当秒 计数计满60时就向分进位,分计数器计满 60后向时计数器进位,小时计数器 按“ 23翻0 ”规律计数。时、分、秒的计数结果经过数据处理可直接送显示器 显示。设计采用的是时、分、秒显示,单片机对数据进行处理同时在数码管上显 示O2.3时钟各功能分析及图解241电路各功能图解分析(1) 时钟运行图仿真开始运行时,或按下 K7键时,时钟从00 : 00 : 00开始运行,其中按下K1键可进入当前时间调节,K2和K3分别负责加一和减一,K5键为确认键。 时钟运行图如图2-3所示:图

10、2-3时钟运行图(2) 闹钟开关指示图当按下K4键后,可进入闹钟设时控制,设置完后按确认,按下K6,即开闹钟,信号显示区得开/关闹钟信号灯点亮,表示当时间到达闹钟的时间时,闹 铃响;再次按下闹铃,为关闹铃,此时的信号显示区得开/关闹钟信号灯熄灭。如下图2-4 :0D-00-55-/4 nSL半如cr f 4 13IRZATA Id»r V» Liren»? E tnrnrimuTi.-r-r*3.n*nliar jk.1严1qpg1U -II =1Z =iari图2-4闹钟开关指示图(3) 闹铃运行图当时间到达闹钟设置的时间时,蜂鸣器会按每秒两次的频率响,闹钟指示

11、灯也会闪烁。如下图2-5 :r000卜XT牡iPOWaCQIPD.-/AC1BHK1ALIFD-ITACJaonrDJfACS1STPEEftiUR3 lilALERPZ.-1-iPZ«W* REiFIXraiTnoF13f 士im*-3.rTOFl#r 口F2-T.!F&33-1LZ + hTB|<图2-5闹铃运行图该数字钟是用一片AT89C51单片机通过编程去驱动8个数码管实现的。通 过7个开关控制,从上到下7个开关K1-K7的功能分别为:K1:设置当前时间时/分/秒K2:加一按键K3:减一按键K4:设置闹钟时间时/分/秒K5:确认/关闭闹铃K6:开/关闹钟K7:复

12、位控制键分别与P1.0P1.6 口连接,通过P2 口和P3 口去控制数码管的显示 如图所示P2 口接数码管的a g端,是控制输出编码,P3 口接数码管的1 8端,是控制动态扫描输出.从P3.6输出一个信号使二极管发光,二极管在设置的闹钟时间到了时候发 光,P3.7接一个蜂鸣器,若有乐曲可以去驱动扬声器实现。242电路功能使用说明(1) 各个控制键的功能:可对时间进行校准调节(只能加1);按下设置键 数字时钟进入闹钟设置状态,设置闹钟的时间;时加1、分加1键是在校准时间 时或设 置闹钟时间对小时数或分钟数调节而设置的;按下秒切换键就可以进入 秒表模式,同时秒表也开始计时,按下秒表暂停、复位键就暂

13、停、归零,如果要 重新对秒计时则可以按秒表开始、复位;清零键可以对闹钟清零。(2) AT89C51单片机,通过编写程序对数码显示进行控制。(3) 八个7段数码管显示时钟信号。3.软件设计思路根据设计的要求与内容,我们将该软件设计成七个模块,他们包括:主程序、 数码管动态扫描模块、当前时间计时模块、闹钟输入输出模块、当前时间调整模 块、数制转换模块以及复位模块。3.1主程序模块主程序模块是单片机最先编译运行的模块, 所以在这个模块里,我们要设置 主程序和各个中断服务程序的入口地址、各种初始化以及开关扫描等。MCS-51系列单片机复位后,(PC) =0000H,而0003H002BH 分别为各 中

14、断的入口地址。所以,编程时应在 0000H处写一条跳转指令。当 CPU接受 到中断请求信号并予以相应后,CPU把当前的PC内容压入栈中进行保护,然后 转入相应的只能中断服务程序入口处执行。 一般应在相应的中断服务程序入口处 写一条跳转指令,并以跳转指令的目标地址作为中断服务程序的起始地址进行编 程。初始化,是对将要用到的 MCS-51系列单片机内部部件或扩展芯片进行初 始工作状态设定。下图3-1是我们设计该主程序模块的程序框图。衩 zr斤山溯眼 »f?叶 的入e i押,hl.lit W Mr ft mi II制钟以及时汕初殆化st皿仆rti'fY陶钟开关 «'

15、;迫(1寸卄*交 一竟闷jf負Hz二二一刀二T礙I:炖于程庁宜位幵芙1Z_ 关图3-1主程序设计框图3.2数码管动态扫描模块在数码管动态扫描模块里,包含了两个子程序,一个是显示子程序,另一个 是显示延时1MS子程序。其中显示延时1MS子程序是用软件延时的方法进行 的,过程较简单,这里就不画出它的程序框图,下图3-2为显示子程序的程序框 图。图3-2显示子程序3.3当前时间计时模块本软件中的当前时间计时模块实际上是 TO定时器的中断服务程序,我们将TO定时器工作在方式一中,并让它每 50MS产生一次中断。每产生一次中断,进入中断服务程序后,TO定时器重新转载初始值。MS50(它是对50MS中断次

16、数统计的存储单元地址标号) 就会自加一,接着对MS50 进行判断,如果MS50没有到达20次(即一秒的时间),就返回到主程序。如 果到达20次,MS50将清零,并将MIAO (MIAO是对秒进行计数的存储单元 地址标号)将自加一。接着判断 MIAO是否到达60次,没到就返回,到了 60秒,MIAO将被清零,FEN( FEN是对分进行计数的存储单元地址标号)自加一。再判断FEN,过程与判断MIAO相识,也是到达60分就进1时并对分清零, 时的寄存器地址标号是SHI,因为一天只有24小时,所以,如果SHI计数到了 24时,它将对 SHI、FEN、MIAO 同时清零。下图3-3为该中断服务的程序框图

17、保护规场MSSDJbllFENlniSH1 力口各位活图3-3T0中断服务程序3.4闹钟输入输出模块由于闹钟输入输出模块要实现的功能较多, 所以它是我们该软件中设计耗时 最长的一个模块,也是最复杂的一个模块。而我们对其采取再分子模块策略, 我 们对该模块划分了 6个子模块:设置闹钟时间子模块、闹钟开关子模块、检查闹 钟子模块、闹钟指示灯亮子模块、闹钟转换子模块、蜂鸣器子模块。下面将逐个 说明各个子模块的功能。设置闹钟时间子模块:该模块实现的功能是,当设置闹钟时间的键盘被按下时,则进入该子模块,通过对各个指定按键的操作来实现闹钟时间的设置。闹钟开关子模块:该模块实现的功能是,对闹钟的工作状态进行

18、开关,当为 开时,闹钟时间到后,闹钟指示灯会亮以及蜂鸣器会响;当为关时,即便闹钟时 间到了,闹钟指示灯不会亮以及蜂鸣器不会响。检查闹钟子模块:该模块实现的功能是,它是在主程序中被循环调用的,每 调用一次,它会把当前时间与闹钟时间进行比较,如果当前时间与闹钟时间相同 且闹钟开关为开,则调用闹钟指示灯亮子模块和蜂鸣器子模块; 否则继续运行主 程序。闹钟指示灯亮子模块:该模块的功能是,当时间到时,它将使闹钟指示灯以 每秒两次的频率闪烁,闪烁三十秒后熄灭。蜂鸣器子模块:该模块的功能是,当时间到时,它将使闹钟指示灯以每秒两 次的频率响,响三十秒后停止响声。闹钟转换子模块:由于在寄存器中存储的是十六进制的

19、数,不能存储十进制 的数,且我们用的LED灯是共阳极的,所以在要输出显示闹钟的时间前,要进 行闹钟数制转换。故该模块的功能是实现对闹钟时间寄存器中的内容进行数制转换。对闹钟设计成六个子模块,使我们更容易得设计出闹钟所要实现的功能, 这 也就是模块化的好处,将一个大型的问题划分为若干个小问题, 对这若干小问题 进行设计,最好通过参数把这些小模块连成一个大的模块, 从而解决问题。下图 3-4是对这六个模块之间的联系的描述。闹绅开关检査闹钟闹钟指泾灯亮蜂鸣器图3-4闹钟输入输出模块3.5当前时间调整模块当前时间调整模块是用来按用户的需要对当前所显示的时间进行设置,本软件的设计思路是通过对相关的时间设

20、置按键的扫描进行时间设置。具体思路如下图 3-5 :嚣时g里二減1擁二九-勰3.6复位模块复位模块是对当前时间和闹钟时间进行复位,复位后的结果是当前时间变为00-00-00,闹钟时间变为00-00-00。由于该模块较为简单,就不展示其设计思 路了。就将其结果仿真图展示如下图3-6。00*0000IE-.-7'« "SSI口 <FZ-£K11 fz 屮 iz P 2*4.13 F7W1* Z1LI 佔图3-6复位结果图4系统的调试和性能分析4.1系统的调试方法整个系统调试的主要思想是:先每个模块进行调试,然后整个系统一起调试。 先软硬件分开调试,然后一

21、起调试。遵循先部分后整体的原则。系统的在调试过程中要注意以下几点:(1)硬件电路焊完之后,在上电之前一定要先用万用表检测电源和地之间 是否短路。(2)上电之后要用示波器观察信号的在电路中变化的情况,与设计当初的 情况相比较,找出差别,并进行分析。(3 )软件调试过程中可以使用断点、单步执行等常用的方法。(4)软硬件联调时,要注意软件部分要一个功能一个功能的调试。输入按键的调试输入按键的调试,只要按键按下去时,按键有相应的反应就行,通过程序来 判断,单片机I/O是否能够识别出。复位电路的调试当电源刚接通时,接通电源就完成了系统的初始化。显示电路的调试在本设计中,显示电路只需完成,当输入数字时能正

22、确显示数字。整个系统的联调在系统各个部分都调试完毕之后,即可以进行整个系统的调试。由于前面各 个部分的调试做的都比较充分,所以在实际调试过程中,能够较顺利的实现整个 系统预期的功能。4.2心得体会课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻 炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程随着科学 技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为二十一世纪的大学来说掌握单片机的开发 技术是十分重要的。回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论 到实践,在这两个星期的日子里,可以

23、说得是苦多于甜,但是可以学到很多的东 西,同时不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有学 到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得 出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。 在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇 到过各种各样的问题,同时在设计的过程中发现了自己的不足之处, 对以前所学 过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法, 对单片机汇编语言掌握得不好通过这次课程设计之后,一定

24、把以前所学过的 知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在老师 的辛勤指导下,终于游逆而解。同时,在老师那里我学得到很多实用的知识,在 次我表示感谢!参考文献1、单片机原理及应用李建忠编2、单片微型计算机原理与接口技术西安电子科技大学出版社 高峰编电子工业出版社 编高等教育出版社3、单片机应用新技术教程邹逢兴4、16位微型计算机原理接口及其应用朱宇光 编 电子工业出版社5、微型计算机原理与接口技术 吴秀清 编 中国科学技术出版社6、微型计算机接口技术邓亚平 编清华大学出版社7、单片机原理及及应用王迎旭 编 机械工业出版社附录附录A 系统原理图PECffiFG

25、DFfiPf 'N虫也诵 sfEK'1 "''.MrM JiUi i§r' -h15WADPSTan3LSI32.15 fZjLr.EFZ.ttlZ Fzma F23U鬥MQ PJ.1/M1 粧樞 叭3W3 FJ.MD4 rajs 科冒賣闻 P1TMT町”5 FS.imB P2Tnn 阳油TT7F3*TB pjsm n.sfJRHF I , cTBCb-淀;卞附录B程序源代码MS50 EQU 30HSHI EQU 31HFEN EQU 32HMIAO EQU 33HBUF EQU 34HHH EQU 40HFF EQU 41HMM E

26、QU 42HDENG BIT P3.5BIAOZ BIT P3.6SPK BIT P3.7ALB EQU 20H.0K1 BIT P1.0K2 BIT P1.1K3 BIT P1.2K4 BIT P1.3K5 BIT P1.4K6 BIT P1.5K7 BIT P1.6MOV SP#60HORG 00HAJMP MAINORG 0BHAJMP TIMEOMAIN:SETB DENGCLR ALBACALL CHUSHIACALL INTOLOOP:ACALL NAOPROACALLCONVACALL DISPLAYJB K6,L OOP1ACALL BIAOSJMP LOOPLOOP1: JB

27、 K1,LOOP2ACALL SETTIMESJMP LOOPLOOP2: JB K4, LOOP3ACALLSETNAOSJMP LOOPLOOP3:JB K7,LOOPACALL RSTSJMP LOOPCONV:;转换子程序MOV A,SHI;转换小时 存到34 35HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV BUF,AMOV A,BMOVC A,A+DPTRMOV BUF+1,AMOV A,FEN转换分 存到37 38HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV BUF+3,AMOV A,BM

28、OVC A,A+DPTRMOV BUF+4,AMOV A,MIAO转换秒 存到40 41HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV BUF+6,AMOV A,BMOVC A,A+DPTRMOV BUF+7,A;第三个位置显示一杠;第五个位置显示一杠MOV BUF+2,#0BFHMOV BUF+5,#0BFHRET;阳码表TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90HDISPLAY:;显示子程序MOV R1,#BUFMOV A,#01HMOV R2,#8Dp1:MOV P2,APUSH AC

29、CMOV A,R1MOV P0,AACALL DELAYPOP ACCRL AINC R1CJNE R1,#BUF+8,DYMOV R1,#BUFDY:DJNZ R2,Dp1RETBIAO: CPL ALB;闹钟开关CPL BIAOZBIAO1: ACALL CONVACALL DISPLAYJNB K6,BIAO1RETSETTIME:;设置时间CLR TR0TT:ACALL DISPLAY;设置小时TS:JNB K1,TTTSS:ACALL DISPLAYSJNB K1,TFJNB K2,JIASJNB K3,JIANSJNB K5,QUESJMP TSSJIAS:INC SHI;加时子程

30、序MOV A,SHICJNE A,#24,K2SMOV SHI,#0K2S:ACALLCONVACALL DISPLAYJNB K2,K2SSJMP TSSJIANS:DEC SHI;减时子程序MOV A,SHICJNE A,#255,K3SMOV SHI,#23K3S:ACALLCONVACALL DISPLAYJNB K3,K3SSJMP TSSQUE:ACALL BZSETB TR0QQ:ACALLCONVACALL DISPLAYJNB K5,QQLJMP LOOP设置秒TM:ACALL DISPLAYJNB K1,TMTMM: ACALL DISPLAYMJNB K1,TSJNB K

31、2,JIAMJNB K3,JIANMJNB K5,QUEJMPTMMJIAM: INC MIAO;加秒MOV A,MIAOCJNE A,#60,K2MMOV MIAO,#0K2M: ACALL CONVACALL DISPLAYJNB K2,K2MJMPTMM减秒JIANM: DEC MIAOMOV A,MIAOCJNE A,#255,K3MMOV MIAO,#59K3M: ACALL CONVACALL DISPLAYJNB K3,K3MJMPTMMTF:ACALL DISPLAYJNB K1,TFTFF:ACALL DISPLAYFJNB K1,TMJNB K2,JIAFJNB K3,JI

32、ANFJNB K5,QUEJMP TFFJIAF:INC FENMOV A,FENCJNE A,#60,K2FMOV FEN,#0K2F:ACALL CONVACALL DISPLAYJNB K2,K2FJMP TFFJIANF:DEC FENMOV A,FEN;设置分钟;加分钟;减分钟K3F:CJNE A,#255,K3FMOV FEN,#59ACALLCONVACALL DISPLAYJNB K3,K3FJMP TFFDISPLAYS:DISS:DIS2:DISPLAYF:;时闪子程序MOV R3,#20MOV R1,#BUF+2MOV A,#04HMOV R2,#6ACALL DP1DJ

33、NZ R3,DISSMOV R3,#20MOV R1,#BUFMOV A,#01HMOV R2,#8ACALL DP1DJNZ R3,DIS2RET;分闪子程序MOV R3,#20DISF:MOV R1,#BUF+5MOV A,#20HMOV R2,#6ACALL DPIDJNZ R3,DISFMOV R3,#20ACALL DIS2RETDISPLAYM:;秒闪子程序MOV R3,#20DISM:MOV R1,#BUFMOV A,#01HMOV R2,#6ACALL DP1DJNZ R3,DISMMOV R3,#20ACALL DIS2RETSETNAO:设置闹钟时间TTN:ACALLCON

34、VNAOACALL DISPLAY闹设置小时TSN:JNB K4,TTNTSSN:ACALL DISPLAYSJNB K4,TFNJNB K2,JIASNJNB K3,JIANSNJNB K5,QUENSJMP TSSNJIASN:INC HH;闹加时子程序MOV A,HHCJNE A,#24,K2SNMOV HH,#0K2SN:ACALL CONVNAOACALL DISPLAYJNB K2,K2SN;闹减时子程序SJMP TSSNJIANSN:DEC HHMOV A,HHCJNE A,#255,K3SNMOV HH,#23K3SN:ACALLCONVNAOACALL DISPLAYJNB

35、K3,K3SNSJMP TSSNQUEN:ACALL BZSETB TROLJMP LOOPTMN:ACALL CONVNAOACALL DISPLAY;闹设置秒JNB K4,TMNTMMN:ACALL DISPLAYMJNB K4,TSNJNB K2,JIAMNJNB K3,JIANMNJNB K5,QUENJMPTMMNJIAMN:INC MM闹加秒MOV A,MMCJNE A,#60,K2MNMOV MM,#0K2MN:ACALL CONVNAOACALL DISPLAYJNB K2,K2MNJMPTMMNJIANMN:DEC MM闹减秒MOV A,MMCJNE A,#255,K3MNM

36、OV MM,#59K3MN:ACALLCONVNAOACALL DISPLAYJNB K3,K3MNJMPTMMNTFN:ACALLCONVNAOACALL DISPLAY;闹设置分钟JNB K4,TFNTFFN:ACALL DISPLAYFJNB K4,TMNJNB K2,JIAFNJNB K3,JIANFNJNB K5,QUENJMP TFFNJIAFN:INC FF;闹加分钟MOV A,FFCJNE A,#60,K2FN;减分钟;复位MOV FF,#OK2FN:ACALL CONVNAOACALL DISPLAYJNB K2,K2FNJMP TFFNJIANFN:DEC FFMOV A,

37、FFCJNE A,#255,K3FNMOV FF,#59K3FN:ACALL CONVNAOACALL DISPLAYJNB K3,K3FNJMP TFFNRST:MOV SHI,#0MOV FEN,#0MOV MIAO,#0MOV MS50,#0RETNAOPRO:;检查闹钟JB ALB,TI3RETTI3:MOV A,SHIMOV B,HHCJNE A,B,BKMOV A,FENMOV B,FFCJNE A,B,BKMOV A,MIAOMOV B,MMCJNE A,B,BKACALL TIMEOUTBK: RETCONVNAO:MOV A,HHMOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV BUF,A;转换子程序转换小时存到34 35HMOV A,BMOVC A,A+DPTRMOV BUF+1,AMOV A,FF;转换分 存到37 38HMOV B,#10DIV ABMOV DPTR,#TABMOVC A,A+DPTRMOV

温馨提示

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

评论

0/150

提交评论