




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.z...课程设计(论文)题目名称电子时钟设计课程名称单片机原理与接口技术学生****系专业电气工程系电气类指导教师课程设计〔论文〕任务书年级专业学生**学号题目名称电子时钟设计时间2009-6.8~7.2课程名称单片机原理及接口技术课程编号设计地点单片机实验室课程设计〔论文〕目的通过课程设计,使学生稳固和加深对单片机根本知识的理解,学会查寻资料、方案设计、方案比拟,以及单元电路设计计算等环节,进一步提高学生综合运用所学知识的能力,提高分析解决实际问题的能力。锻炼分析、解决电子电路问题的实际本领,通过此综合训练,为以后毕业设计打下一定的根底。技术参数和条件〔1〕8031集成定时器〔2〕LED七段数码显示器〔3〕89C51多功能接口芯片〔4〕0.125W、8欧姆的扬声器(5)电阻箱,5V电源,电阻假设干,导线假设干〔6〕KEIL软件〔7〕任务和要求1.设计一个基于单片机的电子时钟,并且能够实现时分秒的现实和调节。2.设计出硬件电路;3.设计出软件编程方法,并写出源代码;4.用PROTEUS进展仿真;5.用汇编语言编实现程序设计。6.利用查表,中断等方式实现目的。7.系统的各各功能模块要清楚,有序。8.程序运行时有友好的用户界面.四、参考文献1、李朝青.单片机原理及接口技术〔简明修订版〕.**:航空航天大学,19983、数字控制与PLC实验室〞李光才.单片机课程设计实例指导[M].航空航天大学2004
五、进度安排2009年6月8日-14日:收集和课程设计有关的资料,熟悉课题任务何要求2009年6月15日-16日:总体方案设计2009年6月17日-19日:硬件电路设计2009年6月20日-23日:软件设计2009年6月24日-25日:系统调试改良2009年6月26日-28日:整理书写设计说明书2009年6月29日-7月1日:辩论六、教研室审批意见教研室主任〔签字〕:年月日七|、主管教学主任意见主管主任〔签字〕:年月日八、备注指导教师〔签字〕:学生〔签字〕:课程设计〔论文〕评阅表学生**学号系别电气工程系专业班级题目名称电子时钟课程名称单片机原理与接口技术一、学生自我总结通过这次单片机课程设计,我感觉到自己知识的严重缺乏。很多方面都没能很好的掌握,在制作过程中,经常遇到自己不理解的问题,当然,在同学的帮助下,我还是把那些疑难的问题给解决啦。在这次学习中,让我更深刻的了解啦AT89C51芯片在电气控制方面的广泛运用和重大作用,所以我们一定要认真。扎实。深入的了解。掌握好AT89C51芯片。学生签名:2009年7月2日二、指导教师评定评分工程平时成绩论文辩论综合成绩权重304030单项成绩指导教师评语:指导教师〔签名〕:年月日注:1、本表是学生课程设计〔论文〕成绩评定的依据,装订在设计说明书〔或论文〕的“任务书〞页后面;2、表中的“评分工程〞及“权重〞根据各系的考核细则和评分标准确定:摘要单片计算机即单片微型计算机。由RAM,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,本钱低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而到达学习、设计、开发软、硬的能力。本设计主要设计了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。关键字:单片机;子时钟;键盘控制。目录TOC\o"1-2"\h\u24406摘要 462671电子时钟 639681.1电子时钟简介 6142721.2电子时钟的根本特点 6309771.3电子时钟的原理 679682单片机识的相关知识 638262.1单片机简介 678512.2单片机的开展史 7139252.3单片机的特点 8115752.489C51单片机介绍 858083控制系统的硬件设计 1063203.1单片机型号的选择 107902208543.2数码管显示工作原理 10279543.3键盘电路设计 11139873.4整个电路原理图 1278934控制系统的软件设计 12200394.1程序设计 12159084.2程序流程图 15159084.3仿真图 18309674.4仿真结果分析 195完毕语 196附录 202334924966参考文献 28电子时钟1.1电子时钟简介1957年,Ventura创造了世界上第一个电子表,从而奠定了电子时钟的根底,电子时钟开场迅速开展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进展满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而到达计时的功能,是人民日常生活补课缺少的工具。1.2电子时钟的根本特点现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进展时和分的校对,片选的灵活性好。1.3电子时钟的原理该电子时钟由89C51,BUTTON,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,到达时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,到达省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。2单片机识的相关知识2.1单片机简介单片机全称为单片机微型计算机〔SingleChipMicrosoftputer)。从应用领域来看,单片机主要用来控制,所以又称为微控制器〔MicrocontrollerUnit〕或嵌入式控制器。单片机是将计算机的根本部件微型化并集成在一块芯片上的微型计算机。2.2单片机的开展史1.4位单片机1975年,美国德克萨斯仪器公司首次推出4位单片机TMS-1000;此后,各个计算机公司竞相推出四位单片机。日本松下公司的MN1400系列,美国洛克威尔公司的PPS/1系列等。四位单片机的主要应用领域有:PC机的输入装置,电池充电器,运动器材,带液晶显示的音/视频产品控制器,一般家用电器的控制及遥控器,电子玩具,钟表,计算器,多功能等。2.8位单片机1972年,美国Intel公司首先推出8位微处理器8008,并于1976年9月率先推出MCS-48系列单片机。在这以后,8位单片机纷纷面市。例如,莫斯特克和仙童公司合作生产的3870系列,摩托罗拉公司生产的6801系列等。随着集成电路工艺水平的提高,一些高性能的8位单片机相继问世。例如,1978年摩托罗拉公司的MC6801系列及齐洛格公司的Z8系列,1979年NEC公司的UPD78**系列。这类单片机的寻址能力达64KB,片内ROM容量达4--8KB,片内除带有并行I\O口外,还有串行I\O口,甚至还有A\D转化器功能。8位单片机由于功能强,被广泛用于自动化装置、智能仪器仪表、智能接口、过程控制、通信、家用电器等各个领域。3.16位单片机1983年以后,集成电路的集成度可达几十万只管/片,各系列16位单片机纷纷面市。这一阶段的代表产品有1983年Intel公司推出的MCS-96系列,1987年Intel推出了80C96,美国国家半导体公司推出的HPC16040,NEC公司推出的783**系列等。16位单片机主要用于工业控制,智能仪器仪表,便携式设备等场合。4.32位单片机随着高新技术只智能机器人,光盘驱动器,激光打印机,图像与数据实时处理,复杂实时控制,网络效劳器等领域的应用与开展,20世纪80年代末推出了32位单片机,如Motorlora公司的MC683**系列,Intel的80960系列,以及近年来流行的ARM系列单片机。32位单片机是单片机的开展趋势,随着技术的开展及开发本钱和产品价格的下降,将会与8位单片机并驾齐驱。5.64位单片机近年来,64位单片机在引擎控制,智能机器人,磁盘控制,语音图像通信,算法密集的实时控制场合已有应用,如英国Inmos公司的TransputerT800是高性能的64位单片机。2.3单片机的特点1.单片机的存储器ROM和RAM时严格区分的。ROM称为程序存储器,只存放程序,固定常数,及数据表格。RAM则为数据存储器,用作工作区及存放用户数据。2.采用面向控制的指令系统。为满足控制需要,单片机有更强的逻辑控制能力,特别是单片机具有很强的位处理能力。3.单片机的I/O口通常时多功能的。由于单片机芯片上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾,采用了引脚功能复用的方法,引脚处于何种功能,可由指令来设置或由机器状态来区分。4.单片机的外部扩展能力很强。在内部的各种功能部件不能满足应用的需求时,均可在外部进展扩展,与许多通用的微机接口芯片兼容,给应用系统设计带来了很大的方便。2.489C51单片机介绍VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进展校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进展存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进展读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。图2.189C51单片机P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0R*D〔串行输入口〕P3.1T*D〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0〔记时器0外部输入〕P3.5T1〔记时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想制止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOV*,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE制止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,则在此期间外部程序存储〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。3控制系统的硬件设计3.1单片机型号的选择通过对多种单片机性能的分析,最终认为89C51是最理想的电子时钟开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保存时间为10年等特点,是最好的选择。3.2数码管显示工作原理数码管是一种把多个LED显示段集成在一起的显示设备。有两种类型,一种是共阳型,一种是共阴型。共阳型就是把多个LED显示段的阳极接在一起,又称为公共端。共阴型就是把多个LED显示段的阴极接在一起,即为公共商。阳极即为二极管的正极,又称为正极,阴极即为二极管的负极,又称为负极。通常的数码管又分为8段,即8个LED显示段,这是为工程应用方便如设计的,分别为A、B、C、D、E、F、G、DP,其中DP是小数点位段。而多位数码管,除*一位的公共端会连接在一起,不同位的数码管的一样端也会连接在一起。即,所有的A段都会连在一起,其它的段也是如此,这是实际最常用的用法。数码管显示方法可分为静态显示和动态显示两种。静态显示就是数码管的8段输入及其公共端电平一直有效。动态显示的原理是,各个数码管的一样段连接在一起,共同占用8位段引管线;每位数码管的阳极连在一起组成公共端。利用人眼的视觉暂留性,依次给出各个数码管公共端加有效信号,在此同时给出该数码管加有效的数据信号,当全段扫描速度大于视觉暂留速度时,显示就会清晰显示出来。图3.1共阴数码管3.3键盘电路设计该设计只用了一个键盘,但实现的功能却是比拟完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,到达省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。到达时间调节的目的。图3.2多功能控制键整个电路原理图图3.3系统电路原理图4控制系统的软件设计4.1程序设计本系统的软件系统主要可分为主程序、定时计数中断程序、时间调整程序、延时程序四大模块。在程序设计过程中,加强了局部软件抗干扰措施,下面对局部模块作介绍。定时计数中断程序:MOVTMOD,*00H;写控制字MOVTH0,*0F0H;写定时常数MOVTLO,*0CHSETBTR0;启动T0SETBETO;允许T0中断SETBEA;开放CPU中断AJMP$时间调整程序:SETMM:cLRET0;关定时器T0中断CLRTR0;关闭定时器T0LCALLDL1S;调用1秒延时程序P3.7,CLOSEDIS;键按下时间小于1秒,关闭显示〔省电〕MOVR2,*06H;进入调时状态,赋闪烁定时初值SETBET1;允许T1中断SETBTR1;开启定时器T1SET2:JNBP3.7,SET1;P3.7口为0〔键未释放〕,等待SETB00H;键释放,分调整闪烁标志置1SET4:P3.7,SET3;等待键按下LCALLDL05S;有键按下,延时0.5秒JNBP3.7,SETHH;按下时间大于0.5秒转调小时状态MOVR0,*77H;按下时间小于0.5秒加1分钟操作LCALLADD1;调用加1子程序MOVA,R3;取调整单元数据CLRC;清进位标志CJNEA,*60H,HHH;调整单元数据与60比拟HHH:JCSET4;调整单元数据小于60转SET4循环LCALLCLR0;调整单元数据大于或等于60时清0CLRC;清进位标志AJMPSET4;跳转到SET4循环CLOSEDIS:SETBET0;省电〔LED不显示〕状态。开T0中断SETBTR0;开启T0定时器〔开时钟〕CLOSE:P3.7,CLOSE;无按键按下,等待。LCALLDISPLAY;有键按下,调显示子程序延时削抖P3.7,CLOSE;是干扰返回CLOSE等待WAITH:JNBP3.7,WAITH;等待键释放LJMPSTART1;返回主程序〔LED数据显示亮〕SETHH:CLR00H;分闪烁标志去除〔进入调小时状态〕SETHH1:JNBP3.7,SET5;等待键释放SETB01H;小时调整标志置1SET6:P3.7,SET7;等待按键按下LCALLDL05S;有键按下延时0.5秒JNBP3.7,SETOUT;按下时间大于0.5秒退出时间调整MOVR0,*79H;按下时间小于0.5秒加1小时操作LCALLADD1;调加1子程序MOVA,R3;CLRC;CJNEA,*24H,HOUU;计时单元数据与24比拟HOUU:JCSET6小于24转SET6循环LCALLCLR0;大于或等于24时清0操作AJMPSET6;跳转到SET6循环SETOUT:JNBP3.7,SETOUT1;调时退出程序。等待键释放LCALLDISPLAY;延时削抖JNBP3.7,SETOUT;是抖动,返回SETOUT再等待CLR01H;清调小时标志CLR00H;清调分标志CLR02H;清闪烁标志CLRTR1;关闭定时器T1CLRET1;关定时器T1中断SETBTR0;开启定时器T0SETBET0;开定时器T0中断〔计时开场〕LJMPSTART1;跳回主程序SET1:LCALLDISPLAY;键释放等待时调用显示程序〔调分〕AJMPSET2;防止键按下时无时钟显示SET3:LCALLDISPLAY;等待调分按键时时钟显示用AJMPSET4SET5:LCALLDISPLAY;键释放等待时调用显示程序〔调小时〕AJMPSETHH1;防止键按下时无时钟显示SET7:LCALLDISPLAY;等待调小时按键时时钟显示用AJMPSET6SETOUT1:LCALLDISPLAY;退出时钟调整时键释放等待AJMPSETOUT;防止键按下时无时钟显示延时程序:1MS延时程序,LED显示程序用DL1MS:MOVR6,*14HDL1:MOVR7,*19HDL2:DJNZR7,DL2DJNZR6,DL1RET20MS延时程序,采用调用显示子程序以改善LED的显示闪烁现象DS20MS:ACALLDISPLAYACALLDISPLAYACALLDISPLAYRET4.2程序流程图系统的流程图如图4.1和图4.2所示:图4.1主程序流程图图4.2中断处理流程图4.3仿真结果图4.3开场运行程序仿真图图4.4运行一段时间后仿真图4.4仿真结果分析功能太过单调,只能实现时分秒的显示,设计比拟简单。电路图的设计过于单调,用的器件太少,实现调节时间的按钮太少,不能很好的实现时间的调节。在测试过程中,六位数码显示管只显示五位数字,有一位数字不亮,通过屡次的修改程序并在PROTEUS软件环境中进展仿真,最终解决了这个问题,同时也透露出本人在单片机电路设计和程序设计方面的缺乏。不过最后的仿真效果非常好,实现了预期的效果,能过通过多功能控制键调节时间和是否进入省电模式,是一个比拟令人满意的设计。5完毕语在李凯南教师耐心的指导下,我顺利完成了这次单片机课程设计课题中的电子时钟设计,通过这次的设计使我认识到本人对单片机方面的知识知道的太少了,对于书本上的很多知识还不能灵活运用,尤其是对程序设计语句的理解和运用,不能够充分理解每个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大。损耗了过多的内存资源。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我所学到的知识运用到我以后的工作中去。在大学的课堂的学习只是在给我们灌输专业知识,而我们应把所学的用到我们现实的生活中去,此次的电子时钟设计给我奠定了一个实践根底,我会在以后的学习、生活中磨练自己,使自己适应于以后的竞争,同时在查找资料的过程中我也学到了许多新的知识,在和同学协作过程中增进同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的理解。最后,感谢李凯南教师对我的细心的指导,正是由于李教师的细心的辅导和他提供应我们的参考资料,使得我的课程设计能够顺利的完成,同时在课程设计过程中,我们稳固和学习了我们的单片机知识。相信这对我以后的课程设计和毕业设计将会有很大的帮助!6附录ORG0000H;程序执行开场地址LJMPSTART;跳到标号START执行ORG0003H;外中断0中断程序入口RETI;外中断0中断返回ORG000BH;定时器T0中断程序入口LJMPINTT0;跳至INTTO执行ORG0013H;外中断1中断程序入口RETI;外中断1中断返回ORG001BH;定时器T1中断程序入口LJMPINTT1;跳至INTT1执行ORG0023H;串行中断程序入口地址RETI;串行中断程序返回主程序开场;START:MOVR0,*70H;清70H-7AH共11个内存单元MOVR7,*0BH;CLEARDISP:MOVR0,*00H;INCR0;DJNZR7,CLEARDISP;MOV20H,*00H;清20H〔标志用〕MOV7AH,*0AH;放入"熄灭符"数据MOVTMOD,*11H;设T0、T1为16位定时器MOVTL0,*0B0H;50MS定时初值〔T0计时用〕MOVTH0,*3CH;50MS定时初值MOVTL1,*0B0H;50MS定时初值〔T1闪烁定时用〕MOVTH1,*3CH;50MS定时初值SETBEA;总中断开放SETBET0;允许T0中断SETBTR0;开启T0定时器MOVR4,*14H;1秒定时用初值〔50MS×20〕START1:LCALLDISPLAY;调用显示子程序JNBP3.7,SETMM1;P3.7口为0时转时间调整程序SJMPSTART1;P3.7口为1时跳回START1SETMM1:LJMPSETMM;转到时间调整程序SETMM;;1秒计时程序;;INTT0:PUSHACC;累加器入栈保护PUSHPSW;状态字入栈保护CLRET0;关T0中断允许CLRTR0;关闭定时器T0MOVA,*0B7H;中断响应时间同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重装初值〔低8位修正值〕MOVA,*3CH;高8位初值修正ADDCA,TH0;MOVTH0,A;重装初值〔高8位修正值〕SETBTR0;开启定时器T0DJNZR4,OUTT0;20次中断未到中断退出ADDSS:MOVR4,*14H;20次中断到〔1秒〕重赋初值MOVR0,*71H;指向秒计时单元〔71H-72H〕ACALLADD1;调用加1程序〔加1秒操作〕MOVA,R3;秒数据放入A〔R3为2位十进制数组合〕CLRC;清进位标志CJNEA,*60H,ADDMM;ADDMM:JCOUTT0;小于60秒时中断退出ACALLCLR0;大于或等于60秒时对秒计时单元清0MOVR0,*77H;指向分计时单元〔76H-77H〕ACALLADD1;分计时单元加1分钟MOVA,R3;分数据放入ACLRC;清进位标志CJNEA,*60H,ADDHH;ADDHH:JCOUTT0;小于60分时中断退出ACALLCLR0;大于或等于60分时分计时单元清0MOVR0,*79H;指向小时计时单元〔78H-79H〕ACALLADD1;小时计时单元加1小时MOVA,R3;时数据放入ACLRC;清进位标志CJNEA,*24H,HOUR;HOUR:JCOUTT0;小于24小时中断退出ACALLCLR0;大于或等于24小时小时计时单元清0OUTT0:MOV72H,76H;中断退出时将分、时计时单元数据移MOV73H,77H;入对应显示单元MOV74H,78H;MOV75H,79H;POPPSW;恢复状态字〔出栈〕POPACC;恢复累加器SETBET0;开放T0中断RETI;中断返回;;闪动调时程序;;;T1中断效劳程序,用作时间调整时调整单元闪烁指示INTT1:PUSHACC;中断现场保护PUSHPSW;MOVTL1,*0B0H;装定时器T1定时初值MOVTH1,*3CH;DJNZR2,INTT1OUT;0.3秒未到退出中断〔50MS中断6次〕MOVR2,*06H;重装0.3秒定时用初值CPL02H;0.3秒定时到对闪烁标志取反02H,FLASH1;02H位为1时显示单元"熄灭"MOV72H,76H;02H位为0时正常显示MOV73H,77H;MOV74H,78H;MOV75H,79H;INTT1OUT:POPPSW;恢复现场POPACC;RETI;中断退出FLASH1:01H,FLASH2;01H位为1时,转小时熄灭控制MOV72H,7AH;01H位为0时,"熄灭符"数据放入分MOV73H,7AH;显示单元〔72H-73H〕,将不显示分数据MOV74H,78H;MOV75H,79H;AJMPINTT1OUT;转中断退出FLASH2:MOV72H,76H;01H位为1时,"熄灭符"数据放入小时MOV73H,77H;显示单元〔74H-75H〕,小时数据将不显示MOV74H,7AH;MOV75H,7AH;AJMPINTT1OUT;转中断退出;;加1子程序;;ADD1:MOVA,R0;取当前计时单元数据到ADECR0;指向前一地址SWAPA;A中数据高四位与低四位交换ORLA,R0;前一地址中数据放入A中低四位ADDA,*01H;A加1操作DAA;十进制调整MOVR3,A;移入R3存放器ANLA,*0FH;高四位变0MOVR0,A;放回前一地址单元MOVA,R3;取回R3中暂存数据INCR0;指向当前地址单元SWAPA;A中数据高四位与低四位交换ANLA,*0FH;高四位变0MOVR0,A;数据放入当削地址单元中RET;子程序返回;;清零程序;;;对计时单元复零用CLR0:CLRA;清累加器MOVR0,A;清当前地址单元DECR0;指向前一地址MOVR0,A;前一地址单元清0RET;子程序返回;;时钟调整程序;;;当调时按键按下时进入此程序SETMM:CLRET0;关定时器T0中断CLRTR0;关闭定时器T0LCALLDL1S;调用1秒延时程序P3.7,CLOSEDIS;键按下时间小于1秒,关闭显示〔省电〕MOVR2,*06H;进入调时状态,赋闪烁定时初值SETBET1;允许T1中断SETBTR1;开启定时器T1SET2:JNBP3.7,SET1;P3.7口为0〔键未释放〕,等待SETB00H;键释放,分调整闪烁标志置1SET4:P3.7,SET3;等待键按下LCALLDL05S;有键按下,延时0.5秒JNBP3.7,SETHH;按下时间大于0.5秒转调小时状态MOVR0,*77H;按下时间小于0.5秒加1分钟操作LCALLADD1;调用加1子程序MOVA,R3;取调整单元数据CLRC;清进位标志CJNEA,*60H,HHH;调整单元数据与60比拟HHH:JCSET4;调整单元数据小于60转SET4循环LCALLCLR0;调整单元数据大于或等于60时清0CLRC;清进位标志AJMPSET4;跳转到SET4循环CLOSEDIS:SETBET0;省电〔LED不显示〕状态。开T0中断SETBTR0;开启T0定时器〔开时钟〕CLOSE:P3.7,CLOSE;无按键按下,等待。LCALLDISPLAY;有键按下,调显示子程序延时削抖P3.7,CLOSE;是干扰返回CLOSE等待WAITH:JNBP3.7,WAITH;等待键释放LJMPSTART1;返回主程序〔LED数据显示亮〕SETHH:CLR00H;分闪烁标志去除〔进入调小时状态〕SETHH1:JNBP3.7,SET5;等待键释放SETB01H;小时调整标志置1SET6:P3.7,SET7;等待按键按下LCALLDL05S;有键按下延时0.5秒JNBP3.7,SETOUT;按下时间大于0.5秒退出时间调整MOVR0,*79H;按下时间小于0.5秒加1小时操作LCALLADD1;调加1子程序MOVA,R3;CLRC;CJNEA,*24H,HOUU;计时单元数据与24比拟HOUU:JCSET6;小于24转SET6循环LCALLCLR0;大于或等于24时清0操作AJMPSET6;跳转到SET6循环SETOUT:JNBP3.7,SETOUT1;调时退出程序。等待键释放LCALLDISPLAY;延时削抖JNBP3.7,SETOUT;是抖动,返回SETOUT再等待CLR01H;清调小时标志CLR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版部编版小学语文一年级上册 我爱学语文 教学设计-教案12
- 书供货服务合同范例
- 公司出售股权合同范例
- 公司与学员服务合同范例
- 加盟家具协议合同范例
- 出售林业苗木合同范例
- 上海企业食堂外包合同范例
- 企业合同范例体系
- 产品意向合同范例
- 32层消防合同范例
- DL∕T 2541-2022 架空输电线路货运索道
- TD/T 1068-2022 国土空间生态保护修复工程实施方案编制规程(正式版)
- 2024电站锅炉管内压蠕变试验方法
- 2024年内蒙古北方职业技术学院单招职业适应性测试题库带答案
- 《研学旅行课程设计》课件-研学课程方案设计
- 《智慧教育黑板技术规范》
- 招标代理机构选取招标代理工作实施方案
- 年产1万吨连续玄武岩纤维及其制品可行性研究报告书
- CJT121-2000 再生树脂复合材料检查井盖
- 可防性案件知识讲座
- 2024全国职业院校技能大赛ZZ060母婴照护赛项规程+赛题
评论
0/150
提交评论