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

下载本文档

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

文档简介

基于AT89C51单片机定时闹钟设计基于AT89C51单片机定时闹钟设计全文共24页,当前为第1页。摘要:本设计是单片机定时闹钟系统,不仅能实现系统要求的功能,而且还有附加功能,即还能设定和修改当前所显示的时间。

本次设计的定时闹钟在硬件方面就采用了AT89C51芯片,用6位LED数码管来进行显示。LED用P0口进行驱动,采用的是动态扫描显示,能够比较准确显示时时—分分—秒秒。通过S1、S2、S3、和S4四个功能按键可以实现对时间的修改和定时,定时时间到喇叭可以发出报警声。在软件方面采用汇编语言编程。整个定时闹钟系统能完成时间的显示,调时和定时闹钟、复位等功能,并经过系统仿真后得到了正确的结果。基于AT89C51单片机定时闹钟设计全文共24页,当前为第1页。关键词:单片机、AT89C51、定时闹钟、仿真

Abstract:Thisdesignisasingle-chiptimingalarmsystem,cannotonlyrealizethefunctionofsystemrequirements,andthereareadditionalfunctions,whichcansetupandmodifythedisplaytime.TimingalarmclockthisdesignadoptstheAT89C51chiponthehardwareside,with6LEDdigitaltubetodisplay.LEDP0exportdriven,byusingdynamicscanningdisplay,canaccuratelydisplayalways-sub-secondsseconds.ThroughtheS1,S2,S3,andS4fourfunctionkeyscanbeachievedonthetimechangesandtiming,timingtothehorncansendoutalarmsound.Usingassemblylanguageprogramminginthesoftware.Thetimingclocksystemhasfunctionsoftimedisplay,timingandtimingalarmclock,resetandotherfunctions,andthesystemsimulationtoobtaincorrectresults.Keywords:singlechipmicrocomputer,AT89C51,alarmclock,simulatioPAGE2基于AT89C51单片机定时闹钟设计全文共24页,当前为第2页。基于AT89C51单片机定时闹钟设计全文共24页,当前为第2页。目录TOC\o"1-4"\h\z\u1绪论 21.1课题背景及研究意义 21.2国内外现状 21.3课题的设计目的 21.4课题的主要任务 21.5课题的主要功能 22系统概述 32.1方案论证 32.2系统设计原理 33系统硬件设计 43.1单片机AT89C51简介 43.2数码管显示电路 63.3时钟电路 73.4喇叭:SPEAKER 84系统软件设计 84.1系统软件设计说明 84.2程序调试 84.3程序流程图 94.3仿真步骤 104.4仿真结果 10结论 12参考文献 13附录A系统整体电路 14附录B全部程序清单 14附录C:PCB图和3D图 23基于AT89C51单片机定时闹钟设计全文共24页,当前为第3页。1绪论基于AT89C51单片机定时闹钟设计全文共24页,当前为第3页。1.1课题背景及研究意义进入信息时代,计算机的影子无处不在,带有像单片机一类嵌入式处理器的小型智能化电子产品,已经成为家用电器的主流,市场需求前景广阔,因此,掌握小型单片机应用系统设计方法,已成为当今电子应用工程师所必备的技能,定时闹钟具备小型单片机应用系统的一切要素,其结构简单、成本低廉、走时精确、设置方便,所以智能化方面有广泛的用途。1.2国内外现状单片机是指一个集成在一块芯片上的完整计算机系统。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片。在单片机(Microcontroller)出现后,计算机才真正地从科学的神圣殿堂走入寻常百姓家,成为广大工程技术人员现代化技术革新,技术革命的有利武器。目前,单片机在民用和工业测控领域得到最广泛的应用。彩电,冰箱,空调,录像机,VCD,闹钟,遥控器,游戏机,电饭煲等无处不见单片机的影子,单片机早已深深地溶入我们每个人的生活之中。单片机能大大地提高这些产品的智能性,易用性及节能性等主要性能指标,给我们的生活带来舒适和方便的同时,在工农业生产上也极大地提高了生产效率和产品质量。1.3课题的设计目的本设计是一个定时闹钟,它仅使用单片的20引脚单片机完成闹钟的全部功能。设计目的是为了学习和巩固单片机知识,使对已学过的基础知识能有更深入的理解,学会独立思考、独立思考、独立工作,以及提高对所学应用基本理论分析和解决实际问题的能力。1.4课题的主要任务本文设计的定时闹钟采用AT89C51芯片,用汇编语言进行编程,时、分、秒用6位LED数码管显示。在电路中通过四个按键S1、S2、S3和S4来进行定时时间和定时闹钟,定时时间到通过喇叭发出报警声。1.5课题的主要功能1)能显示:时时—分分—秒秒。2)能够设定定时时间、修改定时时间。基于AT89C51单片机定时闹钟设计全文共24页,当前为第4页。3)定时时间到能发出报警声。基于AT89C51单片机定时闹钟设计全文共24页,当前为第4页。设计的部分分为软件及硬件,软件部分写出闹钟的工作方式以及它是如何工作的,而硬件部分是软件的载体,画出正确的电路图然后在软件的控制下才能使设计的定时闹钟正常工作。2系统概述2.1方案论证显示器的选择方案论证:方案一:液晶显示器。如果选择此方案,将会降低系统的功耗,这样就可以用电池供电,便于携带。但液晶显示器的驱动电路复杂,使用起来有一定的难度。

方案二:用数码管作为显示器。数码管的驱动电路简单,使用方便,如果选择了此方案,那么在夜间看时间的时候就不需要有光源,非常方便。其缺点是功耗较大。由于数码管使用起来较为方便,在夜间看时间也很方便,因此我选择了方案二。2.2系统设计原理本设计使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。本系统采用单片机AT89C51作为本设计的核心元件,利用6位共阴数码管作为显示器件。接入共阴LED显示器,可显示时,分钟,秒,单片机外围接有定时报警系统,时间的定时用时钟电路,修改时间和定时用手动按键控制,报警声通过喇叭发出。提示预先设定时间电器的起停时间到,从而控制电器的起停。电路由下列部分组成:时钟电路、复位电路、控制电路、LED显示,报警电路,芯片选用AT89C51单片机。系统框图如图2-1所示:晶振及复位晶振及复位单片机AT89C51RESPACK-8 7SEG-MPX6-CC-BLUE7SEG-MPX6-CC-BLUE数码管显示键盘(按钮)键盘(按钮)SPEAKER喇叭SPEAKER喇叭图2-1系统框图基于AT89C51单片机定时闹钟设计全文共24页,当前为第5页。3系统硬件设计基于AT89C51单片机定时闹钟设计全文共24页,当前为第5页。3.1单片机AT89C51简介AT89C51是一个低电压,高性能CMOS型8位单片机,片内含4KB的可反复擦写的Flash只读程序存储器(ROM)和128B的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,内置功能强大的微型计算机的AT89C51为用户提供了许多高性价比应用场合,可灵活应用于各种控制领域。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。主要特性:·与MCS-51兼容

·4K字节可编程闪烁存储器

·寿命:1000写/擦循环

·数据保留时间:10年

·全静态工作:0Hz-24Hz

·三级程序存储器锁定

·128×8位内部RAM

·32可编程I/O线

·两个16位定时器/计数器

·5个中断源

·可编程串行通道

·低功耗的闲置和掉电模式

·片内振荡器和时钟电路引脚使用说明: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”时,其管脚被内部上拉电阻拉高,且作基于AT89C51单片机定时闹钟设计全文共24页,当前为第6页。为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。基于AT89C51单片机定时闹钟设计全文共24页,当前为第6页。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下所示:管脚……备选功能:P3.0……RXD(串行输入口)P3.1……TXD(串行输出口)P3.2……/INT0(外部中断0)P3.3……/INT1(外部中断1)P3.4……T0(记时器0外部输入)P3.5……T1(记时器1外部输入)P3.6……/WR(外部数据存储器写选通)P3.7……/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。ST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度.基于AT89C51单片机定时闹钟设计全文共24页,当前为第7页。图2是单片机AT89C51的引脚图:基于AT89C51单片机定时闹钟设计全文共24页,当前为第7页。图3-1单片机AT89C51引脚图3.2数码管显示电路单片机中通常使用7段LED,LED是发光二极管显示器的缩写。LED显示器由于结构简单,价格便宜,体积小,亮度高,电压低,可靠性高,寿命长,响应速度快,配置灵活,与单片机接口方便而得到广泛应用。LED显示器是由若干个发光二极管组成显示字段的显示部件,当发光二极管导通时,相应的一个点或一个笔划发光,控制不同组合的二极管导通,就能显示出各种字符。LED显示器有多种形式,如:“米”字型显示器,点阵显示器和七段数码显示器等,在单片机系统中使用最多的是七段数码显示器。本系统利用7SEG-MPX6-CC-BLUE数字显示器,7SEG-MPX6-CC-BLUE数字显示器的1-6引脚连接AT89C51单片机P2.0–P2.5接口,其他8个引脚分别与AT89C51单片机的P0.0-P0.7和共阳极管RESPACK-8排阻的2-9引脚分别连接。因为共阴极的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该系统中的6位LED数码管均用共阴极的数码管。6位数码管的引脚图如图3-2所示:基于AT89C51单片机定时闹钟设计全文共24页,当前为第8页。基于AT89C51单片机定时闹钟设计全文共24页,当前为第8页。图3-26位数码管的引脚3.3时钟电路单片机的时钟产生方法有两种:内部时钟方式和外部时钟方式。本系统中AT89C51单片机采用内部时钟方式。最常用的内部时钟方式是采用外接晶体和电容组成的并联谐振回路。振荡晶体可在1.2MHz~12MHz之间。电容值无严格要求,但电容取值对振荡频率输出的稳定性、大小和振荡电路起振速度有少许影响,一般可在20pF~100pF之间取值。AT98C51单片机的时钟电路。如图3-3所示:图3-3时钟电路图上拉电阻:RESPACK-8控制按键:BUTTONACTIVESPSTPushButton本系统要进行时间的调整和定时,因此用4个手动按键对其进行控制。基于AT89C51单片机定时闹钟设计全文共24页,当前为第9页。3.4喇叭:SPEAKER基于AT89C51单片机定时闹钟设计全文共24页,当前为第9页。由P3.7口控制喇叭,使其定时时间到能发出报警声。如图3-4所示:图3-4喇叭引脚图4系统软件设计4.1系统软件设计说明该系统软件程序主要有主程序模块,定时中断服务程序,中断等待服务程序,键盘服务程序,显示子程序服务程序等六大模块组成。在AT89C51外围的一个17管脚即P3.7管口上加喇叭器,通过软件与硬件的结合可实现定时报警功能。图中按键从上往下设定为S1,S2,S3,S4,S1与p1.4相连,S2与p1.3相连,S3与p1.2相连,S4与p1.1相连。当需要设定当前时间时,按一下S4键,进入时间设定状态,按一下S2,分钟加1;按一下S3,小时加1。如此反复来设定当前时间。调好时间后按S1退出当前时间设定状态;当要设定定时时间时,按下S3,进入定时时间设定状态,按一下S2,小时加1;按一下S4,分钟加1。如此反复来设定要设定的定时时间。设好后,按下S1退出定时时间设定状态。4.2程序调试1)将程序输入到伟福的环境下;2)用单步运行和断点运行方式调试程序;3)调试T0中断服务程序,首先在记数单元39H、3AH、3BH、3CH单元中预置数,调试秒单元向分单元进位及分单元向时单元的进位,最后将T0中断服务程序统调通过;4)在39H、3AH、3BH、3CH单元中预置数,调试显示程序;5)调试主程序,使闹钟走时系统工作正常。 基于AT89C51单片机定时闹钟设计全文共24页,当前为第10页。4.3程序流程图基于AT89C51单片机定时闹钟设计全文共24页,当前为第10页。本设计程序流程图如4-1所示:判断闹钟时间到否程序判断闹钟时间到否程序初始化调用显示程序开始P1.1是否按下?调用时间设定程序P1.2是否按下?Y调用闹钟时间设定程序NNY图4-1程序流程图基于AT89C51单片机定时闹钟设计全文共24页,当前为第11页。4.3仿真步骤基于AT89C51单片机定时闹钟设计全文共24页,当前为第11页。第一步:用伟褔软件对程序进行编译,编译通过后,会自动生成HEX文件。第二步:在Proteus的元件库中找到AT89C51以及相应的元件,按照硬件设计中的说明把各部件连接起来组成一个定时闹钟的硬件系统。第三步:把在伟福环境调试下生成的.HEX文件装入到AT89C51里,点击运行符号就可以使软硬件的配套设施在Proteus的环境下仿真实现。第四步:验证系统能否实现所要求的功能,并检验错误。4.4仿真结果通过S1、S2、S3和S4四个按键,对时间进行修改和闹钟的设置。定时时间到能发出报警声,使用伟福软件编辑程序然后进行proteus进行仿真,其仿真图如下:开始仿真时,显示如图4-2所示:图4-2(1)设定当前时间当需要设定当前时间时,按一下S4键,进入时间设定状态,按一下S2,分钟加1;按一下S3,小时加1。如此反复来设定当前时间。调好时间后按S1退出当前时间设定状态。先按S4,再按S2时,如图4-3所示:基于AT89C51单片机定时闹钟设计全文共24页,当前为第12页。基于AT89C51单片机定时闹钟设计全文共24页,当前为第12页。图4-3先按S4,再按S2,再按S3时,如图4-4所示:图4-4如图4-5:设定当前时间是01:02:15图4-5(2)设定定时时间基于AT89C51单片机定时闹钟设计全文共24页,当前为第13页。当要设定定时时间时,按下S3,进入定时时间设定状态,按一下S2,小时加1;按一下S4,分钟加1。如此反复来设定要设定的定时时间。设好后,按下S1退出定时时间设定状态。基于AT89C51单片机定时闹钟设计全文共24页,当前为第13页。如图4-6所示图:设定定时时间为01:06图4-6如图4-7所示当到达时间01:06时,喇叭发出报警声。图4-7结论通过这次设计让我更深入了解在设计程序之前,务必要对所学单片机课程的内容有一个系统的了解,知道单片机片内片外的内容及其功能。设计程序采用什么编程语言并不是非常重要,关键要有一个清晰的思路和一个完整的软件流程图。在设计程序时,不能妄想一次就将整个程序设计好,"反复修改,不断改进"是程序设计的必经之路。程序刚开始编好时,一般情况下会存在很多错误,要不断地修基于AT89C51单片机定时闹钟设计全文共24页,当前为第14页。改,不断的改进才能达到预期的目的,编写程序的时间并不是很长,主要是修改程序会花很多时间。总之,通过这次设计让我更深入了解单片机基本电路、如何控制和定时器和中断编程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。并且使我巩固了本课程所学的基本知识,还使我具有了撰写设计报告的初步训练能力,我相信这些能力在我以后的工作或者是再学习中一定会起到不小的作用,看到自己几周的小成果,感觉一切的辛苦和艰难都是值得的。基于AT89C51单片机定时闹钟设计全文共24页,当前为第14页。参考文献[1].余发山主编,单片机原理及应用技术,中国矿业大学出版社2003.12[2]康华光.数字电子技术.北京:高等教育出版社,2003[3]吴金戌.8051单片机实践与应用.北京:

清华大学出版社,2003[4]楼然苗.51系列单片机设计实例.北京:

北京航空航天出版社,2004[5]黄仁欣.单片机原理及应用技术.

北京:清华大学出版社,2005[6]何立民.单片机高级教程.第1版.北京:北京航空航天大学出版社,2001[7]赵晓安.MCS-51单片机原理及应用.天津:天津大学出版社,2001.3[8]夏继强.单片机实验与实践教程.北京:北京航空航天大学出版社,2001[9]凌玉华,单片机原理及应用系统设计[M],长沙:中南大学出版社,2006[10]李全利、迟荣强,单片机原理及接口技术[M],北京:高等教育出版社,2004[11]胡汉才,单片机原理及应用[M],北京:清华大学出版社,2004[12]凌阳科技。凌阳16位单片机开发实例。北京航空航天大学出版社。2006年

[13]

徐江海。单片机实用教程。机械工业出版社。2007年[14]余发山编著.单片机原理及应用技术.中国矿业大学出版社,2003[15]陈建泽编著。MCS-51单片机应用设计.哈尔滨工业大学出版社,2006基于AT89C51单片机定时闹钟设计全文共24页,当前为第15页。附录A系统整体电路基于AT89C51单片机定时闹钟设计全文共24页,当前为第15页。系统电路图附录B全部程序清单ORG0000H LJMPMAIN ORG000BH LJMPTIME;×××××主程序部分:××××× ORG0100H MAIN:MOVSP,#50HMOV20H,#00H;秒钟BIN MOV21H,#00H;分钟BIN MOV22H,#00H;小时BIN MOV23H,#01H MOV24H,#01H基于AT89C51单片机定时闹钟设计全文共24页,当前为第16页。 MOV25H,#00H基于AT89C51单片机定时闹钟设计全文共24页,当前为第16页。 MOV30H,#00H MOV31H,#00H MOV32H,#00H MOV33H,#00H MOV34H,#00H MOV35H,#00H MOV36H,#01H MOV37H,#00H MOV38H,#01H MOV39H,#00H MOVTMOD,#01H;16位计数器 MOVTH0,#03CH;赋计数初值 MOVTL0,#0B0H MOVIE,#10000111B SETBTR0;T0启动计数MOVR2,#14HMOVP2,#0FFHLOOP:LCALLTIMEPRO LCALLDISPLAY1 JBP1.1,M1 LCALLSETTIME;调用设定时间程序 LJMPLOOPM1:JBP1.2,M2 LCALLSETATIME;调用设定时间程序 LJMPLOOP M2:JBP1.4,M4 LCALLLOOKATIME;调用设定闹钟时间程序M4:LJMPLOOPDELAY:MOVR4,#030H;延时时间DL00:MOVR5,#0FFHDL11:MOVR6,#9HDL12:DJNZR6,DL12 DJNZR5,DL11 DJNZR4,DL00 RET;×××××设定时间程序:×××××SETTIME:基于AT89C51单片机定时闹钟设计全文共24页,当前为第17页。基于AT89C51单片机定时闹钟设计全文共24页,当前为第17页。L0:LCALLDISPLAY1;调用时间允许程序MM1:JBP1.2,L1 MOVC,P1.2 JCMM1 LCALLDELAY1;调用延时 JCMM1MSTOP1:MOVC,P1.2 JNCMSTOP1;判断P1.2是否释放?释放则继续 LCALLDELAY1;调用延时 MOVC,P1.2 JNCMSTOP1 INC22H;小时增加1 MOVA,22H CJNEA,#18H,GO12;判断小时是否到24时?未到继续循环 MOV22H,#00H;小时复位 MOV34H,#00H MOV35H,#00H LJMPL0 L1:JBP1.3,L2 MOVC,P1.3 JCL1 LCALLDELAY1;延时 JCL1 MSTOP2:MOVC,P1.3 JNCMSTOP2;判断P1.3是否释放?释放则继续 LCALLDELAY1;调用延时 MOVC,P1.3 JNCMSTOP2 INC21H;分钟增加一 MOVA,21H CJNEA,#3CH,GO11 MOV21H,#00H;分钟复位 MOV32H,#00H MOV33H,#00H LJMPL0 GO11:MOVB,#0AH;将A中的内容分成高低两部分 DIVAB基于AT89C51单片机定时闹钟设计全文共24页,当前为第18页。 MOV32H,B基于AT89C51单片机定时闹钟设计全文共24页,当前为第18页。 MOV33H,A LJMPL0 GO12:MOVB,#0AH DIVAB MOV34H,B MOV35H,A LJMPL0 L2:JBP1.4,L0 MOVC,P1.4 JCL2 LCALLDELAY1;调用延时 MOVC,P1.4 JCL2 STOP1:MOVC,P1.4;判断按键P1.4是否释放? JNCSTOP1 LCALLDELAY1;调用延时 MOVC,P1.4 JNCSTOP1 LJMPLOOP ;×××××设置闹钟时间××××× SETATIME:LCALLDISPLAY2;调用时间运行 N0:LCALLDISPLAY2 MM2:JBP1.3,N1;判断P1.3是否按下? MOVC,P1.3 JCMM2 LCALLDELAY1 JCMM2 MSTOP3:MOVC,P1.3;判断P1.3是否释放? JNCMSTOP3 LCALLDELAY1 MOVC,P1.3 JNCMSTOP3 INC24H;设定小时增加1基于AT89C51单片机定时闹钟设计全文共24页,当前为第19页。 MOVA,24H基于AT89C51单片机定时闹钟设计全文共24页,当前为第19页。 CJNEA,#24,GO22 MOV24H,#00H;时钟复位 MOV38H,#00H MOV39H,#00H LJMPN0 N1:JBP1.1,N2;判断P1.1是否按下? MOVC,P1.1 JCN1 LCALLDELAY1 JCN1 MSTOP4:MOVC,P1.1;判断P1.1是否释放? JNCMSTOP4 LCALLDELAY1 MOVC,P1.1 JNCMSTOP4 INC23H;设定闹钟分钟增加1 MOVA,23H CJNEA,#60,GO21;判断A是否到60分? MOV23H,#00H;分钟复位 MOV36H,#00H MOV37H,#00H LJMPN0 GO21:MOVB,#0AH;将A中的内容分成高低两部分 DIVAB MOV36H,B MOV37H,A LJMPN0 GO22:MOVB,#0AH DIVAB MOV38H,B MOV39H,A LJMPN0 N2:JBP1.4,N0;判断P1.4是否按下? MOVC,P1.4 JCN2基于AT89C51单片机定时闹钟设计全文共24页,当前为第20页。 LCALLDELAY1基于AT89C51单片机定时闹钟设计全文共24页,当前为第20页。 MOVC,P1.4 JCN2 STOP2:MOVC,P1.4;判断P1.4是否释放? JNCSTOP2 LCALLDELAY1 MOVC,P1.4 JNCSTOP2 LJMPLOOP TIMEPRO:MOVA,21H MOVB,23H CJNEA,B,BK;判断分钟是否运行到设定的闹钟的分钟? MOVA,22H MOVB,24H CJNEA,B,BK;判断时钟是否运行到设定的闹钟的时钟? SETB25H.0 MOVC,25H.0 JCXX XX:LCALLTIMEOUT;调用时间闹钟响应程序 BK:RET TIMEOUT: X1:LCALLBZ;调用喇叭响应程序 LCALLDISPLAY2 CLR25H.0 JBP1.4,X1;判断P1.4是否按下? LCALLDELAY CLR25H.0 LJMPDISPLAY1 BZ:CLRP3.7;喇叭响应程序 MOVR7,#250;响应延时时间 T2:MOVR6,#124 T3:DJNZR6,T3 DJNZR7,T2 SETBP3.7 RET基于AT89C51单片机定时闹钟设计全文共24页,当前为第21页。 LOOKATIME:LCALLDISPLAY2;调用时间运行程序基于AT89C51单片机定时闹钟设计全文共24页,当前为第21页。 MM:JBP1.4,LOOKATIME;判断按键P1.4是否按下 MOVC,P1.4 JCMM LCALLDELAY1 MOVC,P1.4 JCMM STOP3:MOVC,P1.4 JNCSTOP3 LCALLDELAY1 MOVC,P1.4 JNCSTOP3 LJMPLOOPDELAY1:MOVR4,#14H;时间延时 DL001:MOVR5,#0FFH DL111:DJNZR5,DL111 DJNZR4,DL001 RET ;×××××时间运行程序××××× TIME:PUSHACC;现场保护 PUSHPSW MOV TH0,#03CH;赋初值 MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#14H MOV A,20H CLRC INCA;秒钟自加1 CJNE A,#3CH,GO1;判断秒钟是否到60秒? MOV 20H,#0;到60秒复位 MOV30H,#0 MOV31H,#0 MOV A,21H INC A;分钟自加1 CJNE A,#3CH,GO2;判断分钟是否到60分? MOV21H,#0H;到60分复位 MOV32H,#0 MOV33H,#0基于AT89C51单片机定时闹钟设计全文共

温馨提示

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

评论

0/150

提交评论