版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGEIII摘要设计用AT89C51芯片的单片机作为控制部件的核心,显示方式使用动态扫描的方式,通过AT89C51单片机的控制,并结合7407驱动电路来作为显示电路的驱动部分,利用发光二极管来作为显示器件。从而实现显示日期、定时、显示时间、闹铃等功能的显示通过6个发光二极管显示出来,同时,倒计时、进行调时、设置日期、设定闹铃等功能利用6个按键来实现。各功能的实现都通过数码管相应的显示出来,定时时间或闹铃时间到时,蜂鸣器会自动响起,当按下定时键或闹铃键时,蜂鸣器声音会停止。利用汇编语言来编写软件部分的程序,分为闹铃、延迟、调时、显示等部分。通过软硬件结合来实现整体功能,从而,达到设计目的。关键词:电子钟;单片机;动态扫描;汇编语言
AbstractDesignusingAT89C51chipmicrocontrollerasthecoreofthecontrolunit,displaymodeusingdynamicscanningway,byAT89C51singlechipmicrocomputercontrol,andcombinedwith7407drivenpartofthedrivingcircuitforuseasadisplaycircuit,usinglight-emittingdiodesasadisplaydevice.Soastorealizedisplaydatetime,time,alarmdisplaythrough6leddisplay,atthesametime,thecountdown,adjusting,setdate,setthealarmfunctionssuchasusingsixkeystoimplementation.Therealizationofeachfunctionisthroughdigitaltubedisplaythecorresponding,timeroralarmtimearrives,buzzerrang,automaticallywhenpressthetimerbuttonoralarmbutton,buzzersoundwillstop.Usingassemblylanguagetowritethesoftwarepartoftheprogram,isdividedintoalarm,suchasdelay,adjustment,displaypart.Combiningsoftwareandhardwaretoachievetheoverallfunction,thereby,tomeetthedesignpurpose.Keywords:Electricclock;MCU;Dynamicstatescanning;assemblerlanguage
目录1绪论 11.1电子时钟的研究背景 11.2电子时钟的国内外研究现状 12器件概述 12.1MCS-51单片机简介 12.2电子钟 32.3LED数码管的原理 32.4LED数码管驱动方式 52.4.1静态显示驱动 52.4.2动态显示驱动 53设计方案 54硬件电路设计 64.1复位电路 64.2按键电路 64.3时钟电路 74.4显示控制电路 84.5数码管显示电路 84.6电源电路设计 84.7时钟芯片模块 84.8综合电路的实现 94.9本章小结 95软件程序设计 95.1设计方案 95.2程序流程图 95.3源程序 126总结 206.1工作总结 206.2未来展望 20参考文献 21致谢 22PAGEPAGE221绪论1.1电子时钟的研究背景20世纪后期是电子技术发展的高速时期,毫无疑问,在此基础推动下,各种高科技电子产品大量应用到了社会的各个领域,这大大地促进了生产力的发展、综合科技水平的提高[1],但电子元器件被研发和淘汰的频率也日趋加快。由于科学技术大力发展,人们生活节奏比较紧和全球化竞争的日益激烈,人们需要功能更加强大的数字钟来满足他们的生活,并且能更好的服务他们的生活。应社会的需求,各种大的改变不得不发生在电子钟身上,这主要包括用途、性能、样式等方面。闹钟、秒表等功能已经加在了电子钟身上。同时人们经常用单片机来实现多功能数字钟[2]。利用数字电路来对秒、时、分显示数字的电子产品,被叫做数字电子时钟。其应用场所及其广泛,人们的生活已经和它密不可分,伴随石英晶体振荡器大量使用和数字集成电路大力研发,在精度方面,老式钟表已经无法与电子时钟相比,自从有了数字化钟表以后,人们的时间概念得到了进一步的强化,其中报时功能的进一步发展,让人们生活变的更加方便。例如定时自动报警、准时开关路灯、定时通断电源、通断火力装置等,所有这些,源于钟表数字化。因此,研究数字时钟及扩大其应用,有着重大意义[3]。1.2电子时钟的国内外研究现状自从数字电子时钟问世以来,它就给我们提供准确的时间,闹钟功能能够准确无误地提醒我们按时做事,就像是我们的家人朋友一样。工业上的一些自动通断动力装置,能够根据需要及时通断动力,避免因工人的疏忽,而带来经济损失,因此方便了工人的工作。大街上的自动开关路灯装置,方便了人们的生活。学校里的电铃,能够根据学生上课时间与休息的需要而设定,这样方便了人为的打铃,也方便了学生的学习生活[4]。许多种方案可以来设计电子时钟,其中,电子钟可以被中小规模的集成电路构成,还可以利用电子钟芯片,加显示电路和一些外围电路来构成,甚至对单片机编程来构成电子钟[5]。其中,通过单片机构成的电子时钟外部结构更加简单、内部程序更加多样化、具有的功能也更多。数字钟主要控制部件是单片机,所以通过单片机的时钟信号实现计时功能,经单片机传输出来的数据,在发光二极管或液晶显示器构成的显示器显示出来。液晶显示技术或者数码管显示技术都是目前比较成熟的外部显示技术。2器件概述2.1MCS-51单片机简介二十世纪九十年代,作为高科技云集的美国INTE公司开发出了MCS-51单片机,与MCS-48单片机相比,其结构先进,功能强大,更多的电路单元和指令加在MCS-51上,有111条指令,迄今为止,MCS-51系列或其兼容的单片机仍是相当成功的主流产品[6]。8751、8031和8051等都是MCS-51系列单片机的主要通用产品,其功能主要如下:程序存储器(ROM)、8位CPU、的数据存储器(RAM)32条I/O口线、111条指令(大部分为单字节指令)专用寄存器、可编程定时/计数器全双工串行通信口外部数据存储器寻址、外部程序存储器寻址、逻辑操作位寻址功能单一+5V电源供电AT89C51单片机:该单片机具有非常强大的功能,在达到基本设计标准的前提下,还能为满足进一步的标准而扩展。单片机的结构如下:图2.1单片机引脚图在使用时上端VCC接+5V的电源,同时GND接地。P0,P1,P2,P3可作为输入或输出端口,RST是复位输入,因此,接复位电路。XTAL1和XTAL2接复位电路。在硬件设计方面这都可以得到显现。就是由于MCS-51以其典型的结构和完善的总线专用寄存器的集中管理,众多的逻辑位操作功能及面向控制的丰富的指令系统,被堪称为一代“名机”[7],奠定了以后其他单片机的发展基础。许多厂商考虑到它结构的完善、性能的优越,因此,它的结构体系多被参考、沿用,MCS-51单片机也得到了丰富发展。近年来C51被大力发展,INTEL公司是C51的鼻祖,在性能方面,PHILIPS公司为其性能的提高,做出了很大的贡献,使高速I/O口在原有基础上得到了发展,A/D转换器,PWM(脉宽调制)、WDT等功能也在很大程度上得到了增强,并在低电压、微功耗的情况下,扩展串行总线(I2C)和控制网络总线(CAN)等功能加以完善。ATMEL公司推出的AT89Cxx系列兼容C51的单片机,完美地将Flash(非易失闪存技术)EEPROM与80C51内核结合起来,其仍采用C51的总体结构和指令系统,Flash的可反擦写程序存储器能有效地降低开发费用,并能使单片机作多次重复使用[8]。正是由于51系列单片机的不断改进,使得其有了更为广泛的应用与发展;也正是由于其广泛的应用范围和广泛的发展,促使了51系列单片机的功能的不断完善。单片机之所以在生活的各个领域都有很大的应用,是因为它所占体积空间不大,质量不笨重,况且非常便宜;同时不易被外界信号干扰;指令还特别多,扩展的功能也很多等优点,因此它在我们的日常生活中占据了重要地位,和我们的生活息息相关,这也成为很多商家和科研机构不断研发出新的单片机的原因,使单片机这个大家族也不断地壮大和发展。根据目前电子产品的发展趋势,未来的单片机的功能会更多,速度会更快,各方面性能也会更高,而所需工作电压会更低,功率也会有很大的提高,这和未来世界低碳,环保,绿色,低污染,甚至零污染的发展趋势相一致,相信到那个时候,单片机更是我们生活的助手。2.2电子钟电子钟即数显钟(数字显示钟),它的时、分、秒的计时是利用数字电路完成的,它更直观,寿命更长,更准确。电子钟能够用来显示时间这是人们所熟知的、闹钟功能能够提醒人们准确的时间,这也得到了应用,随着工业自动化的加速发展,电子钟也用在了工业设备的控制。2.3LED数码管的原理把多数载流子和少数载流子注入到半导体PN结中中合的时候,就会以光能的形式将剩余的能量释放到外部,这样等于说把电能转换成了光能。当给PN结通上相反的电压时,载流子相互之间进行排斥,不发生能量的中和,不会有剩余的能量释放出来,所以不会亮。根据加同相电压亮的原理制成的二极管被称作发光二极管,英文简称为LED,全称为LightEmittingDiode。8字形构成的LED数码管,如图2.2所示,分别由字母A,B,C,D,E,F,G,DP来表示,DP表示小数点,数码管特定的段加上电压后,特定的段就会亮[9]。发光二极管的阴极连接到一起连接到低电平的称为共阴极数码管,如图2.3所示,发光二极管的阳极连接到一起连接到电源正极的称为共阳极数码管,如图2.4所示。图2.2数码管图2.3共阴极数码管图2.4共阳极数码管各段码位的对应关系,如表2.1所示:表2.1码位对应关系段码位D7D6D5D4D3D2D1D0显示段DpgfedcbaLED显示断码如表2.2所示:根据我们所采用的8051单片机的特点,我们选用共阴极数码管。将8051的P0.0~P0.7通过74LS245芯片与共阴极数码管的a~p相连,高电平的位对应的LED数码管的段亮,低电平的位对应的LED数码管的段暗,这样,当P0口输出不同的段码,就可以控制数码管显示不同的字符[10]。表2.2LED显示段码字型共阳极段码共阴极段码字型共阳极断码共阴极段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF84H71H7F8H07H—FFH00H880H7FHP8CH73H2.4LED数码管驱动方式LED数码管要正常显示出所需要的数字,就应该使得所对应的段码用驱动电路来驱动。所以按照驱动方式分为静态式和动态式。2.4.1静态显示驱动静态驱动也称直流驱动。若数码管显示为某一个字符时相应的发光二极管恒定导通或截止。静态显示方式时所有数码管同时点亮[11],字符显示的时候加在数码管上的七段码不会改变,也就是说每一个数码管对应一个8位I/O接口,所以占用的硬件资源较多。2.4.2动态显示驱动动态显示是轮流点亮各数码段,不断扫描显示器。任何时刻只给一个数码管通电,通电一定时间后再给下一个数码管通电[12]。只要刷新率足够高,动态显示方式同样可以实现稳定显示。动态显示优点是节约I/O口。3设计方案这个电子钟的设计工作分以下几步骤,第一,需要清楚知道单片机等硬件的结构,包括引脚的具体作用,甚至明确各寄存器、存储单元的详细用法,要不然,我们根本无法编程,也不能做硬件电路的相关设计。第二,根据想要实现的功能逐个设计所对应的硬件电路,例如输入的开关电路,输出的显示驱动电路和数码管电路等。第三,学习并掌握汇编语言编程,之后要编写对应硬件电路所实现功能的程序,再用编好的程序来调试对应的硬件电路,验证能否得到预先想要的结果。第四,根据软件执行过程画出流程图,并画出设计好的电路图。第五,进行软件的仿真:将写好的程序加载到单片机以及一些芯片中,结合外部硬件电路来验证程序部分的对错,以及硬件电路设计的是否合理,不断进行验证修改,直到达到设计目的为止。第六,功能的扩展:本设计加进了日期显示功能与调整功能。4硬件电路设计根据对电子钟系统的全面把握,和具体各个部分所要完成的任务,对所需要的各个部分的电路做详细的设计。4.1复位电路利用外部的复位电路来完成51单片机的复位。一个斯密特触发器连接了外部的复位电路与RST复位引脚,抑制噪声,是斯密特触发器在此的特殊作用。上电复位:上电复位电路是相对比较简单的复位电路,将RST复位引脚和一个电容连接在一起,并连接到VCC端,RST另一端和一个电阻连接起来,并一起接地即可。上电复位是指在给系统上电时,复位电路就是将一个短暂的高电平信号经过电容加到RST复位引脚的电路。复位信号会依据VCC给电容的充电而降低,所以RST引脚复位的高电平维持时间的长短决定于电容的充电时间长短[13]。电路图如下:图4.1复位电路上电自动复位是利用电容器的充电完成的。自动上电复位的条件是VCC的上升时间不超过1ms即可。4.2按键电路按键电路是指利用特定的电路将高、低电平状态与按键开关状态建立起一定的联系。按键闭合就会有一个负脉冲在相应的I/O口出现。闭合和释放都需要经过一段时间趋于稳定,此现象的原因在于高低电平的抖动造成的。抖动时间的长短取决于开关的机械特性,维持在5-10ms间。只有消除抖动,才能防止CPU连续解决按键一次闭合。为此我们特意采用的是独立式按键,一个按键只占用一条I/O口线只构成一个按键电路,这样工作的时候各个按键不会导致相互干扰。电路图如图4.2所示:图4.2按键电路当P1.0低电平时,说明有健按下,并且是对秒进行调节;当升成高电平时,表示停止调秒。当P1.1低电平时,同样说明有健按下,并且是对分进行调节;当升成高电平时,表示停止调分。P1.2变低电平,有健按下进行调时,当升高电平,停止调节。4.3时钟电路时钟是单片机的心脏,时钟频率是单片机各结构工作的最小单位,单片机各结构都按照时钟频率的步骤有序地进行各自的工作。所以,单片机运行速度地快慢在很大程度上受时钟频率影响,干扰单片机系统稳定的另一个因素则是时钟电路的质量。常用的两种时钟电路方式内部时钟方式和外部时钟方式。本文用的是内部时钟方式。电路图如图4.3所示:图4.3时钟电路4.4显示控制电路我们使用发光二极管构成的共阴极结构作为显示结构。所以,当我们将高电平加到相应的数码管上时,对应的数码管发出光来。将数码管的数字输入端和总线连接起来,数位控制由单片机来进行,数位数码管同时显示是利用循环扫描技术,再结合人眼视觉暂留来共同实现的效果。其原理示意图如图4.4所示:图4.4显示控制电路4.5数码管显示电路数码管显示器之所以被普遍采用,是因为其配置灵活多洋,结构简单,造价低廉。作为单片机的显示部件使用已成为不错的选择。数码管的工作原理:数码管的每一个数码段是一个发光二极管,当给发光二极管加正相电压,且足以使其导通时,此发光二极管发光,控制发光二极管发光组合,可以显示所需字符。由八个发光二极管构成的显示器件。在数码管中,若将二极管的阳极连在一起,通过阴极控制其显示,则构成共阳极结构;若将各发光二极管的阴极连在一起,通过阳极控制其显示,则构成共阴极结构。我们用到的八个数码管构成共阴极结构。若发光二极管导通时发光。一个发光二极管构成一个笔划,若干个发光的二极管构成一字符。把控制相应芯片的单片机的输入、输出接口与数码管的a-g相接,此时,输出高电平的端口所接的发光二极管变亮,那么,通过控制I/O口输出代码的不同,就能够让数码管显示出不一样的字符。本文显示当前时间的数码管均采用的是动态显示方式。4.6电源电路设计电源电路通过利用变压器可以将220V的交流电压变为5V的交流电压,再利用桥式整流电路将交流电变成脉动的直流电,然后经过电容的滤波作用,滤去脉动直流中的交流成分,有些电路对电源要求比较高,就要用稳压器的稳压作用,最后输出5V的稳定电压。我们在设计中可以借助实验室的数字工作箱来设计。4.7时钟芯片模块本设计用DS12887时钟芯片,能够提高电子钟的精确度,单片机采取并联总线的方式与时钟芯片实现通信,从而进行显示时间。4.8综合电路的实现根据以上各部分电路的分析与设计,再考虑到所设计的电子钟具有实现时,分,秒24小时制的功能,另外还有调时调分调秒的扩展功能。我们设计出如下的综合电路,如图4.5所示:图4.5电子钟基本部分参考电路原理图4.9本章小结本章介绍的是本设计的硬件结构,单片机的相关I/O口输入输出就可以实现相应的控制功能。还介绍了单片机的复位电路和时钟电路。5软件程序设计5.1设计方案在硬件设计结束以后,紧接着将是本设计中最重要的软件部分设计。把对软件的具体需求转换成对软件的具体设计方案,这一过程被叫作软件设计。本设计是从总体上把握所要实现的功能,然后将大的功能依据要求和硬件设计的结构,分割成各个小的功能模块,根据各个功能模块编写实现其功能的对应程序,这种设计方案被称作模块化结构设计,这样得设计方案能够让系统的整体功能和各部分的功能更加趋于明朗化。一旦系统有问题,我们就能够从功能设置来发现问题的根源,从而迅速解决问题。5.2程序流程图图5.1主程序流程图上图为主程序流程图,其清晰的反应了整个程序的执行过程。主程序开始以后,就会进入到设定定时器常数,并且开中断阶段,紧接着会进行一个是否到一秒的判断,如果到了一秒,就会进入显示时间阶段,如果不到一秒则会返回,等到一秒时,再进行显示时间。由于程序图能够给我们清晰的思路,所以绘制了中断服务程序流程图如下:图5.2中断服务程序流程图图5.3时钟调整子程序流程图5.3源程序中断入口程序: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,#0; CLRR3.0 ;CLEARDISP:MOV@R0,#00H;INCR0;DJNZR7,CLEARDISP;MOV20H,#00H;清20H(标志用)MOV7AH,#0AH;放入"熄灭符"数据MOV TMOD,#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:LCALDISPLAY;调用显示子程序JNB P3.7,SETMM1;P3.7口为0时转时间调整程序SJMPSTART1;P3.7口为1时跳回START1SETMM1:LJMPSETMMT0中断程序:INTT0:PUSHACC;累加器入栈保护PUSHPSW;状态字入栈保护CLRET0;关T0中断允许CLRTR0;关闭定时器T0MOVA,#0B7H;中断响应时间同步修正ADDA,TL0;低8位初值修正MOVTL0,A;重装初值(低8位修正值)MOVA,#3CH;高8位初值修正ADDCA,TH0MOVTH0,A;重装初值(高8位修正值)SETBTR0;开启定时器T0DJNZR4,OUTT0;20次中断未到中断退出ADDSS:MOV R4,#14H;20次中断到(1秒)重赋初值MOV R0,#71H;指向秒计时单元(71H-72H)ACALLADD1;调用加1程序(加1秒操作)MOVA,R3CLR C;清进位标志CJNEA,#60H,ADDMMADDMM:JC OUTT0;小于60秒时中断退出ACALLCLR0MOV R0,#77H;指向分计时单元(76H-77H)ACALLADD1;分计时单元加1分钟MOV A,R3;分数据放入ACLRC;清进位标志CJNEA,#60H,ADDHHADDHH:JC OUTT0;小于60分时中断退出ACALLCLR0MOV R0,#79H;指向小时计时单(78H-79H)ACALLADD1;小时计时单元加1小时MOVA,R3;时数据放入ACLRC;清进位标志CJNEA,#24H,HOURHOUR:JCOUTT0;小于24小时中断退出ACALLCLR0OUTT0:MOV72H,76HMOV73H,77H;入对应显示单元MOV74H,78H;MOV75H,79H;POP PSW;恢复状态字(出栈)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秒定时到对闪烁标志取反JB02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV72H,76H;02H位为0时正常显示MOV73H,77H;MOV74H,78H;MOV75H,79H;INTT1OUT:POPPSW ;恢复现场POPACC;RETI;中断退出FLASH1:JB01H,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:MOV A,@R0;取当前计时单元数据到ADEC R0;指向前一地址SWAPA;A中数据高四位与低四位交换ORL A,@R0;前一地址中数据放入A中低四位ADD A,#01H;A加1操作DA A;十进制调整MOVR3,A;移入R3寄存器ANL A,#0FH;高四位变0MOV @R0,A;放回前一地址单元MOV A,R3;取回R3中暂存数据INC R0;指向当前地址单元SWAP A;A中数据高四位与低四位交换ANL A,#0FH;高四位变0MOV @R0,A;数据放入当削地址单元中RET;子程序返清零程序对计时单元复零用,对计时单元复零用CLR0:CLRA;清累加器MOV@R0,A;清当前地址单元DECR0;指向前一地址MOV@R0,A;前一地址单元清0RET;子程序返回时钟调整程序当调时按键按下时进入此程序SETMM:CLR ET0;关定时器T0中断CLR TR0;关闭定时器T0LCALLDL1S;调用1秒延时程序JBP3.7,CLOSEDISMOVR2,#06HSETB ET1;允许T1中断SETB TR1;开启定时器T1SET2:JNBP3.7,SET1;P3.7口为0(键未释放),等待SETB 00H;键释放,分调整闪烁标志置1SET4:JBP3.7,SET3;等待键按下LCALL DL05S;有键按下,延时0.5秒JNBP3.7,SETHHMOVR0,#77H;按下时间小于0.5秒1分钟操作LCALL ADD1;调用加1子程序MOVA,R3;取调整单元数据CLRC;清进位标志CJNE A,#60H,HHH;调整单元数据与60比较HHH:JCSET4;调整单元数据小于60SET4循环LCALL CLR0;调整单元数据大于等于60时清0CLRC清进位标志AJMP SET4跳转到SET4循环CLOSEDIS:SETB ET0;省电(LED不显示)状态。T0中SETB TR0;开启T0定时器(开时钟)CLOSE:JB P3.7,CLOSE;无按键按下,等待。LCALLDISPLAYJB P3.7,CLOSE;是干扰返回CLOSE等待WAITH:JNB P3.7,WAITH;等待键释放LJMP START1;返回主程序(LED数据显示亮)SETHH:CLR 00H;分闪烁标志清除SETHH1:JNBP3.7,SET5;等待键释放SETB01HSET6:JBP3.7,SET7;等待按键按下LCALL DL05S;有键按下延时0.5秒JNB P3.7,SETOUT;按下时间大于0.5秒退出时间调整MOVR0,#79H;按下时间小于0.5秒加1小时操作LCALL ADD1;调加1子程序MOVA,R3CLRCCJNE A,#24H,HOUU;计时单元数据与24比较HOUU:JCSET6;小于24转SET6循环LCALL CLR0;大于或等于24时清0操作AJMP SET6;跳转到SET6循环SETOUT:JNB P3.7,SETOUT1;调时退出程序。等待键释放LCALL DISPLAY;延时削抖JNB P3.7,SETOUT;是抖动,返回SETOUT再等待CLR 01H;清调小时标志CLR 00H;清调分标志CLR 02H;清闪烁标志CLR TR1;关闭定时器T1CLR ET1;关定时器T1中断SETB TR0;开启定时器T0SETBET0LJMP START1;跳回主程序SET1:LCALLDISPLAYAJMPSET2;防止键按下时无时钟显示SET3:LCALLDISPLAY;等待调分按键时时钟显示用AJMPSET4SET5:LCALLDISPLAY;键释放等待时调用显示程序AJMPSETHH1;防止键按下时无时钟显示SET7:LCALLDISPLAY;等待调小时按键时时钟显示用AJMPSET6SETOUT1:LCALLDISPLAY;退出时钟调整时键释放等待AJMPSETOUT;防止键按下时无时钟显示显示数据在70H-75H单元内,用六位LED共阳数码管显示,P0口输出段码数据,P3口作扫描控制,每个LED数码管亮1MS时间再逐位循环。DISPLAY:MOVR1,#70H;指向显示数据首址MOVR5,#0FEH;扫描控制字初值PLAY:MOVA,R5;扫描字放入AMOVP2,A;从P2口输出MOVA,@R1;取显示数据到AMOVDPTR,#TAB;取段码表地址MOVCA,@A+DPTR;查显示数据对应段码MOVP1,A;段码放入P0口LCALL DL1MS;显示1MSINCR1;指向下一地址MOVA,R5;扫描控制字放入AJNBACC.5,ENDOUT;ACC.5=0时一次显示结束RLA;A中数据循环左移MOVR5,A;放回R5内AJMP PLAY;跳回PLAY循环ENDOU:SETB P2.5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024广告征集代理合同范本
- 2024货物运输托运合同范文
- 短期流动资金借款合同
- 2024汽车公司运输合同范本
- 2024年度工程分包合同条款详细描述
- 出租车经营权转让协议
- 技术合同在企业竞争力提升中的作用
- 2024公司房产土地转让合同
- 2024新版大学场地租赁合同(商业活动)
- 房地产项目转让协议书
- 小记者第一课我是一名小记者
- 团结友爱和睦相处主题班会
- 2024年采购部年度工作总结
- 2024年总经理聘任书
- 2024年江苏省中等职业学校学生学业水平考试机械CAD绘图评分表
- 期中 (试题) -2024-2025学年外研版(三起)英语六年级上册
- 中小学教师职业道德规范(2023年修订)全文1500字
- 2024年福建省托育服务职业技能竞赛理论考试题库(含答案)
- 2024下半年江苏苏州城市学院招聘管理岗位工作人员27人历年(高频重点提升专题训练)共500题附带答案详解
- 二年级乘除法口算题大全500题(可直接打印)
- 七大浪费实战案例(消除企业中的浪费)
评论
0/150
提交评论