




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
论文分类号:密 级:无扬州职业大学 课程设计论文数字钟 系 别:汽车与电气工程系 专 业: 电气自动化 班 级: 09电气(1)班姓 名: 学 号: 0902030148 指导教师: 完成时间:2011年12月 15日 2011年 12月15日 目录目录I摘要II第一章 绪论11.1关于单片机的基础知识11.2开发背景及电子钟原理2121 开发背景2122 电子钟原理21.3方案比较21.4 定时与中断系统3第二章 系统硬件设计32.1 电源电路图32.2硬件电路设计框图42.3数字钟原理图42.4单片机模块52.5 AT89S52芯片简介52.6 AT89S52功能描述62.7键盘控制电路82.8复位电路82.9显示电路82.9.1 LED共阳数码管简介9第三章 系统软件设计103.1编程思路113.2系统资源分配113.3编程流程图初始化程序框图:113.4数字钟程序12第四章 单片机应用系统的调试1741硬件调试1742软件调试1743系统调试18谢辞18参考文献19摘要该数字钟电路采用单片机AT89S52实现,晶振频率采用6MHZ,显示部分采用了3个两位一体共阳极的LED数码管组成的动态显示电路,通过6个驱动器(即共阳极PNP型的三极管)来驱动放大LED,用4个LED闪动的点来指示秒的节拍,其中字段由P0口控制。按键K0进行选位,K1、k2进行时间调整,可适用显示时,分,秒的信息。利用我们现所学的知识,本着经济,可靠、体积小、功能扩展方便并 具有先进性的基本原则,我们选用当今世界流行的已被广泛应用的器件AT89S52单片微型计算机为核心并根据其功能要求的特性来构成本方案的基本设计思想,利用单片机实现的电子钟具有编程灵活,便于电子钟功能的扩充,体积小、精度高、功能扩展极其方便,成本低。关键词:单片机、数码显示、动态显示、AT89S5219第一章 绪论1.1关于单片机的基础知识单片机又称微控制器,其最基本的机构是将CPU和计算机外围功能单元,如存储器、I/O口、定时器/计数器、中断系统等集成在一个芯片上构成的。虽然单片机只是一个芯片,但无论从组成还是从功能上来看,它都具有了危机系统的特征。目前,单片机正朝着高性能和多品种方向发展,但以MCS-51为主的8位单片机仍然占据着单片机的主导地位。单片机的应用日益广泛,如应用在仪器仪表、家用电器和专用装备的智能化以及过程控制等方面,单片机在人们的日常生活和工作中正扮演着越来越重要的角色。单片机的应用从根本上改变了传统的控制系统的设计思想和设计方法。从前必须由模拟电路或数字电路实现的大部分控制功能,现在已能使用单片机通过软件方法实现了。这种以软件取代硬件的并能提高系统性能的控制技术,称之为微控制技术。微控制技术标志着一种全新概念的出现,是对传统控制技术的一次革命。随着单片机应用的推广普及,微控制技术必将不断发展,日益完善,更加充实。AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52在众多嵌入式控制应用系统中得到广泛应用。单片机具有体积小、可靠性高、功能强、灵活方便等优点,故可以广泛应用于国民经济的各个领域,对各行业的技术改造和产品更新换代起到了推动作用。利用单片机的智能性,可以方便的实现具有智能的电子钟设计。由于微处理器具有时钟振荡系统,利用系统借助微处理器的定时器/计数器可实现电子钟的功能。本系统主要由AT89S52单片机以及数码管、按键等组成,实现有时钟显示及校准功能。用户可以通过按键校准时钟。由于本系统采用了数码管作为显示器,所以在夜间看时间更加方便。1.2开发背景及电子钟原理121 开发背景电子定时技术在这十年来得到了迅猛发展,尤其在家电生活领域如太阳能、微波炉等,也在其它电子领域得到广泛应用,随着人们生活水平的提高,对产品的追求是使用更方便、更具时间化,电子定时技术正是一个重点的发展方向。为了提高对电子定时产品的开发效率以及生产厂家的检测手段等,重点推出该套定时电子钟,它犹如一台示波器,并且利用最先进的单片机技术,对定时信号进行全面的分析,显示详尽的数据,编码、解码信息,使开发人员对编、解码情况一目了然,以便设计人员提高工作效率,增加产品的稳定性、可靠性。122 电子钟原理电子钟的设计主要有硬件设计和软件设计两大部分:硬件部分主要有AT89S52的最小系统,显示部分、键盘部分,以及电源部分;软件设计则结合硬件,实现指标提出的各项要求,时、分、秒的显示则是利用AT89S52内部的定时器,在软件支持下,完成其精度主要取决于单片机本身的晶振频率精度,为了提高计时的准确性,采用6MHZ晶振。LED显示采用动态扫描方式实现,P0口输出段码数据,P2.1P2.6口作扫描输出,P3.0、P3.1和P3.2接按钮开关。为了提供LED数码管的驱动电流,用三极管9012作电源驱动输出。1.3方案比较为了达到本次设计的要求,有众多方法可以选择,如:运用电子电路设计就是其中一种。采用大量门元件组成数字钟电路,但因条件有限,再加上其十分烦琐、焊接复杂、精度不高,达不到本次设计的目的,故不采用。为了达到实现LED显示器的数字显示,可采用动态显示法和静态显示法。由于静态显示法需要数据锁存器等硬件,接口又稍微复杂一些,而本身此次设计时钟显示只有六位,并且系统本身又没有其它什么繁重的处理任务,所以决定采用动态扫描法实现LED的显示。设计中单片机采用容易购买的AT89S52系列,单片机就具有足够的空余硬件资源实现其它的扩展功能,如果考虑到要采用电池供电的话,则可采用其它适合型号的单片机。在软件方面,通过程序的编制,可以很快的通过运用伟福软件进行修改,大大的提高了工作效率,程序灌输也很迅速。从上面几种方案可以看出,利用单片机所设计的数字钟要比采用电子电路所设计的数字钟有明显的优越性。利用AT89S52单片机控制的硬件电路比较简单,软件方面程序也不复杂。因此制作原理简单,可在功能作用上要比电子电路设计的数字钟精确广泛,方便小巧又通俗易懂。在本次设计采用单片机设计中,动态扫描显示法又有静态扫描法无法比拟的优点,故本次设计采用了以AT89S52为核心,利用其外部电路和数码管的动态扫描的设计思想。1.4 定时与中断系统 定时器一般指硬件定时器,其实质就是计数器,一般都具有定时兼计数的功能。本设计采用T0定时器工作方式1,它的最大计数量是65536,最大定时时间是131.072ms,本设计定时100ms。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。第二章 系统硬件设计2.1 电源电路图图2.1电源电路图电源电路是由整流桥,7805稳压块和前后滤波电容组成,整流桥接收变压器送来的低压交流信号,经整流后变成直流电,在经过100uf的电解电容滤波后,送到7805稳压块后,输出稳定的正5V电压,再次滤波后送到单片机内.有关计算如下:(为变压器二次侧电压)UO=(1+R1/R2)Uoc+IqR2 (U0为输出电压)2.2硬件电路设计框图3个按键电路时钟电路复位电路单片机LED显示器数码驱动电路6位LED显示器电路2.3数字钟原理图 数字钟原理图2.4单片机模块(1)主控模块电路主控模块电路如下图所示;单片机采用6M的晶振,EA引脚置高电平,复位电路中的开关采用按钮控制。 图2.3主控模块电路2.5 AT89S52芯片简介AT89S52是一种低功耗、高性能CMOS 8位微控制器,具有8K 在系统可编程Flash 存储器,使用Atmel 公司高密度非易失性存储器技术制造。AT89S52具有以下几个特点:AT89S52与MCS-51系列的单片机在指令系统和引脚上完全兼容;8K字节在系统可编程Flash存储器 ;1000次擦写周期;全静态操作:0Hz-33MHz;三级加密程序存储器;32个可编程I/O口线;三个16位定时器/计数器;六个中断源;全双工UART串行通道;低功耗空闲和掉电模式;掉电后中断可唤醒;看门狗定时器;双数据指针;掉电标识符 。2.6 AT89S52功能描述 AT89S52引脚图 DIP封装AT89S52 是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非 易失性存储器技术制造,与工业80C51 产品指令和引脚完 全兼容。片上Flash允许程序存储器在系统可编程,亦适于 常规编器。在单芯片上,拥有灵巧的8 位CPU 和在系统 可编程Flash,使得AT89S52为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52具有以下标准功能: 8k字节Flash,256字节RAM, 32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位 定时器/计数器,一个6向量2级中断结构,全双工串行口, 片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻 辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工 作。掉电保护方式下,RAM内容被保存,振荡器被冻结, 单片机一切工作停止,直到下一个中断或硬件复位为止。P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻 辑电平。对P0端口写“1”时,引脚用作高阻抗输入。 当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下, P0不具有内部上拉电阻。 在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验 时,需要外部上拉电阻。P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4 个 TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 此外,P1.0和P1.1分别作定时器/计数器2的外部计数输入(P1.0/T2)和定时器/计数器2 的触发输入(P1.1/T2EX)。 在flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能:P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5 MOSI(在系统编程用)P1.6 MISO(在系统编程用)P1.7 SCK(在系统编程用)P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX DPTR) 时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用 8位地址(如MOVX RI)访问外部数据存储器时,P2口输出P2锁存器的内容。 在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p3 输出缓冲器能驱动4 个 TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入 口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。 P3口亦作为AT89S52特殊功能(第二功能)使用,如下表所示。 在flash编程和校验时,P3口也接收一些控制信号。端口引脚 第二功能:P3.0 RXD(串行输入口);P3.1 TXD(串行输出口);P3.2 INTO(外中断0);P3.3 INT1(外中断1);P3.4 TO(定时/计数器0);P3.5 T1(定时/计数器1);P3.6 WR(外部数据存储器写选通);P3.7 RD(外部数据存储器读选通);此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89S52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP:外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器的指令。FLASH存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。XTAL2:振荡器反相放大器的输出端。 2.7键盘控制电路(1)单片机系统中为了实现对系统的控制和数据的输入,应用系统设置了键盘等输入设备,包括单片机复位用的复位键,功能转换及数字输入键等。 键盘4的最根本的功能就是当该按键按下后,单片机应用系统能够完成该按键所设定的功能。当按一下K0时,数字钟选位;当按一下1,数字钟的对应位将加1;当按一下K2时,数字钟的对应位将减1。图2.5键盘控制电路2.8复位电路 复位电路5在到单片机系统中是必不可少的。所谓的复位就是将单片机重新启动,这时单片机内部的所有寄存器都回到初始状态。本例电路中对应的复位电路。 图2.6复位电路 对于AT89S526单片机来说,它是高电平复位,也就是说只要将单片机的RESET脚接高电平并保持一定的时间就可以实现单片机的复位。从上面的电路可以看出实现的是按键复位两个复位功能。在单片机工作的时候按下复位按钮,单片机的SERET脚接到高电平,电容C3马上放电完毕;松开该按钮后电容C3开始充电,经过一定的时间后电容充电饱和,8.2K的下拉电阻把RESET脚拉回到低电平状态,实现了单片机的复位。29显示电路 (1)数码管显示电路LED的驱动是有52单片机来完成的,单片机的P1口接数码管的七个段选端,位选端由P2.0 、P2.1、P2.2、P2.3、P2.4、P2.5来驱动。原理图所示电路中六位数码管都是共阳的,当单片机的P2.0 、P2.1、P2.2、P2.3、P2.4、P2.5引脚电平为“0”时,三极管导通,数码管为高电平驱动,通过程序控制可以使数码管显示。2.9.1 LED共阳数码管简介共阳极数码管中8个发光二极管的阳极(二极管正端)连接一起,即为共阳极接法,简称共阳数码管10。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输入端为低电平时,该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。公式为:R值=(U-Uled)/Iled (R值为限流电阻)图2.8 共阳极7段数码管第三章 系统软件设计3.1编程思路本设计中的计时采用定时器T0中断完成,其中状态循环调用显示子程序。显示子程序数码管显示的数据存放在内存单元2A-2CH中,其中2AH存放秒数据,2BH存放分数据,2CH存放时数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示时用十进制BCD码数据对应段码存放在ROM表中。显示时先取出2AH-2CH每一地址中的数据,然后查处对应的显示用段码从P1口输出。P3口将对应的数码管选中,就能该地址单元的数据值。定时器T0中断服务程序定时器T0用于时间计时。定时溢出中断周期设为50ms,中断累计20次(即1s)时对秒进行加1操作。时间计数单元地址分别在2AH(s)、2BH(min)、2CH(h),28H单元存放“熄灭符”数据(#0AH)。在单元中采用十进制BCD码计数,满60进位。中断程序T1中断服务程序用于指示调整单元数字的亮闪,对应单元的显示数据换成“熄灭符”数据(#0AH)。这样在调整时间时,对应调整单元的显示数据就会间隔闪亮。调用功能程序调时功能程序的设计方法是:如果K1只按下1次,进入调秒状态;连续按下2次,进入调分状态;连续按下3次,进入调时状态。当进入调秒状态是,秒小于30,就清零;秒大于或等于30,就向分进1。进入调整时间状态,按K2进行+1。最后按K3确定。定时/计数器的工作方式设系统使用6MHz的晶振,定时器0工作在方式1,则10ms定时对应的定时器初值可由下式计算得到:定时时间=(216定时器0初值)机器周期定时器T0的计数初值 定时时间 10ms计数值= = =5000 机器周期时间 2us计数初值= 65537- 5000 = 60537 = EC78H3.2系统资源分配1、数码管显示数据存放在2AH-2CH中,2AH显示秒,2BH显示分,2CH显示时。2、将十进制码数据对应的段码存放在ROM中,显示时,取出2A-2CH的每一地址数据,然后查处相应的段码从P0口输出,P3口将选中的对应的数码管,就可以实现该地址单元数据。3、T0中断 时间计数单元为2DH(秒)、2EH(分)、2FH(时),79H单元放“熄灭符”(#0AH),计数单元采用十进制BCD码计数,满60位,T0中断服务程序。 定时器T0设为50ms溢出中断,为秒计数用,定时器T1为调整时闪烁用,P1.0为调整按钮,P0为字符输出口,采用共阳显示器。4、T1中断 用于指示调整单元数字的闪亮,在时间的调整状态下,按K2键+1,按K3键确定。3.3编程流程图初始化程序框图:清各种标志初始化程序对其他需要初始化的RAM进行预置设置堆栈指针设置中断状态进入主程序设置定时器0的工作方式,并赋予初值设置时间初值3.4数字钟程序 ;RAM分配表 ;单元地址 ;30H ;10毫秒计时 ;31H ;0.5秒计时 ;32H;秒计数器 ;33H;分计数器 ;34H ;f时计数器 ;35H;f选位计数器 ;位地址;f用途 ;00H ;f键已按下标志 ;01H;f秒节拍显示标志(兼被修改位闪动标志) ORG 0000H S0 BIT P3.0 S1 BIT P3.1 S2 BIT P3.2 LJMP STA ORG 000BH LJMP T0_SUVSTA: MOV SP,#6FH ;设置堆栈 MOV IE,#82H ;允许T0中断 MOV TMOD,#02H ;定时器方式2 MOV TH0,#06H ;定时时间500us MOV TL0,#06H MOV 30H,#14H ;10ms计时初值 MOV 31H,#32H ;0.5s计时初值 MOV 32H,#00H ;清秒计数器 MOV 33H,#00H ;清分计数器 MOV 34H,#12H ;清时计数器 MOV 35H,#03H ;置选位计数器为非修改状态 SETB TR0 ;启动定时器MAIN: MOV A,P3 ;取键盘 ORL A,#11111000B ;屏蔽非键盘输入位 CJNE A,#0FFH,LOOP1 ;有键按下转LOOP1 SJMP LOOP2 ;无键按下,则跳过LOOP1: JB 00H,LOOP3 ;有键已按下标志,则跳过 SETB 00H ;无键已按下标志置标志后查键 JB S0,LOOP4 ;不是选位键转加1键 LJMP KEY0 ;是选位键按下转该键程序LOOP4: JB S1,LOOP5 ;不是选位键转减1键 LJMP KEY1 ;是加1键按下转该键程序LOOP5: JB S2,LOOP2 LJMP KEY2 ;是减1键按下转该键程序LOOP2: CLR 00H ;无键按下清键已按下标志LOOP3: MOV DPTR,#TABLE ;置7段码表格首址 MOV A,34H ;取时的高位显示 SWAP A ANL A,#0FH CJNE A,#00H,AA MOV A,#0A0H AA: MOVC A,A+DPTR MOV C,01H ;秒节拍显示处理 MOV ACC.7,C MOV P1,A MOV A,35H ;如修改时单位,作闪动处理 CJNE A,#02H,LOOP12 ;选位计数器未选中时单位跳过 JNB 01H,LOOP12 ;无闪动标志跳过 ORL P1,#7FH ;清显示LOOP12: CLR P2.0 ;显示时十位 LCALL DELY ;延时5ms ORL P2,#0FFH ;关显示 MOV A,34H ;取时的低位显示 ANL A,#0FH MOVC A,A+DPTR MOV C,01H MOV ACC.7,C MOV P1,A MOV A,35H CJNE A,#02H,LOOP13 JNB 01H,LOOP13 ORL P1,#7FHLOOP13: CLR P2.1 ; 显示时个位 LCALL DELY ORL P2,#0FFH ;关显示 MOV A,33H ;取分的高位显示 SWAp A ANL A,#0FH MOVC A,A+DPTR ;取分高位段码 MOV C,01H ;加闪信号 MOV ACC.7,C MOV P1,A MOV A,35H ;判断分位上否被选位 CJNE A,#01H,LOOP14 ;分位未被选转 JNB 01H,LOOP14 ;无闪动标志转 ORL P1,#7FH ;有闪动标志关显示LOOP14: CLR P2.2 ;显示分十位 LCALL DELY ORL P2,#0FFH ;关显示 MOV A,33H ;取分个位显示 ANL A,#0FH MOVC A,A+DPTR MOV C,01H ;加闪信号 MOV ACC.7,C MOV P1,A ;送分个位段码 MOV A,35H CJNE A,#01H,LOOP15 ;分位未被选转 JNB 01H,LOOP15 ;无闪动标志转 ORL P1,#7FH ;有闪动标志关显示LOOP15: CLR P2.3 ;显示分个位 LCALL DELY ORL P2,#0FFH MOV A,32H ;取秒十位显示 SWAP A ANL A,#0FH MOVC A,A+DPTR MOV C,01H ;加闪信号 MOV ACC.7,C MOV P1,A ;送秒十位段码 MOV A,35H CJNE A,#00H,LOOP16 ;秒位未被选转 JNB 01H,LOOP16 ;无闪动标志转 ORL P1,#7FH ;有闪动标志关显示LOOP16: CLR P2.4 ;显示秒十位 LCALL DELY ORL P3,#0FH ;关显示 ORL P2,#0FFH ;关显示位码 MOV A,32H ;取秒个位显示 ANL A,#0FH MOVC A,A+DPTR MOV C,01H ;加闪信号 MOV ACC.7,C MOV P1,A ;送秒个位段码 MOV A,35H CJNE A,#00H,LOOP17 ;秒位未被选转 JNB 01H,LOOP17 ;无闪动标志转 ORL P1,#7FH ;有闪动标志关显示 LOOP17: CLR P2.5 ;显示秒个位 ORL P3,#0FH ;关显示 LCALL DELY ORL P2,#0FFH ;关显示位码 LJMP MAIN KEY0 : INC 35H ;选位键程序 MOV A,35H CJNE A,#04H,LOOP6 ;将选位计数器值限制在03之内 MOV 35H,#00H LOOP6: LJMP LOOP3 ;返回显示程序 KEY1: MOV A,35H ;加1键程序 ADD A,#32H ;得到被修改单元地址 MOV R0,A CJNE A,#32H,FXG1 ;不是修改秒转分修改 MOV A,R0 MOV 32H,#00H ;秒单元清零 SUBB A,#30 ;当前秒数大于30秒吗? JNC FXG ;大于30秒清零转分加1 LJMP LOOP3 ;小于30秒清零转显示 FXG: MOV R0,#33h FXG1: MOV A,R0 ADD A,#01H ;将该单元加1 DA A MOV R0,A MOV R1,35H CJNE R1,#01H,LOOP7 CJNE A,#60H,LOOP8 ;是修改分,满六十则清零 MOV R0,#00H SJMP LOOP8 LOOP7: CJNE R1,#02H,LOOP8 ;非修改状态不作处理 CJNE A,#24H,LOOP8 ;是修改时,满24则清零 MOV R0,#00H LOOP8: LJMP LOOP3 NOP KEY2: MOV A,35H ;减1键程序 ADD A,#32H ;得到被修改单元地址 MOV R0,A CJNE A,#32H,FXG2 ;不是修改秒转分修改 MOV A,R0 MOV 32H,#00H ;秒单元清零 SUBB A,#30 ;当前秒数大于30秒吗? JNC FXG ;大于30秒清零转分加1 LJMP LOOP3 ;小于30秒清零转显示 FXG2: MOV A,R0 ADD A,#99H ;将该单元减1 DA A MOV R0,A CJNE A,#99H,LOOP9 ;结果不为负,则不作处理 MOV R1,35H CJNE R1,#01H,LOOP10 MOV R0,#59H ;结果为负,是修改分则置成59分 SJMP LOOP9 LOOP10: CJNE R1,#02H,LOOP9 ;非修改状态不作处理 MOV R0,#23H ;结果为负,是修改时则置成23时 LOOP9 : LJMP LOOP3 ;只要有修改就将秒清零T0_SUV: PUSH ACC ;T0中断服务程序(500us) PUSH PSW DJNZ 30H,LOOP11 ;10ms计时 MOV 30H,#14H DJNZ 31H,LOOP11 ;0.5s计时 MOV 31H,#32H CPL 01H ;秒节拍显示取反 JNB 01H,LOOP11 ;未到1秒跳过 MOV A,32H ;秒加1 ADD A,#01H DA A MOV 32H,A CJNE A,#60H,LOOP11 MOV 32H,#00H MOV A,33H ;分加1 ADD A,#01H DA A MOV 33H,A CJNE A,#60H,LOOP11 MOV 33H,#00H MOV A,34H ;时加1 ADD A,#01H DA A MOV 34H,A CJNE A,#24H,LOOP11 MOV 34H,#00HLOOP11: POP PSW POP ACC RETIDELY: MOV R2,#02H ;延时5msDELY1: MOV R3,#0F9H DJNZ R3,$ DJNZ R2,DELY1 RETTABLE: DB 0C0H,0F9H,0A4H,0B0H,99H ;7段码字形表 DB 92H,82H,0F8H,80H,90H,0FFH END 第四章 单片机应用系统的调试41硬件调试硬件调试是利用开发系统、基本测试仪器(万用表、示波器)等,检查用户系统硬件中存在的故障。(1)逻辑错误 样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误所造成的,包括错线、开路和短路等几种,其中短路是最常见的故障。(2)元器件失效 元器件失效的原因有两方面,一是器件本身已经损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容二极管的极性错误或集成块安装方向错误等。(3)可靠性差 引起系统不可靠的因素很多,如接插件接触不良会造成系统时好时坏,内部和外部的干扰电源纹波系数过大或器件负载过大等造成逻辑电平不稳定,另外走线和布局不合理等也会引起系统的可靠性差。(4)电源故障 若样机中存在电源故障,则加电后将造成器件损坏。电源故障包括电压值不符合设计要求电源引出线和插座不对应电源功率不足和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 阜阳幼儿师范高等专科学校《数学分析Ⅰ》2024-2025学年第一学期期末试卷
- 消防车故障应急预案方案(3篇)
- 四川传媒学院《大数据处理与云计算》2024-2025学年第一学期期末试卷
- 拍卖师资格考试(拍卖实务)综合试题及答案(2025年四川省)
- 太原师范学院《沥青与沥青混合材料1》2024-2025学年第一学期期末试卷
- 天津开发区职业技术学院《酿酒工业分析》2024-2025学年第一学期期末试卷
- 清收不良贷款应急预案范文(3篇)
- 公司应急救援预案编制说明(3篇)
- 国际贸易学进出口课件
- 鹤壁职业技术学院《函数信号发生器设计与实现》2024-2025学年第一学期期末试卷
- 限价商品房购房定金合同书
- 检测类安全管理制度
- 品管圈在提高住院患者口服药规范服用率中的运用
- 喉炎病人护理课件
- 通信质量员试题及答案
- 银行还款证明协议书
- 《初中英语教师教学经验分享课件》
- TSG Z7002-2022特种设备检测机构核准规则
- 基于数据的员工能力预测模型-全面剖析
- 中国茶文化双语故事课件
- GB/T 45411.2-2025光学和光子学瞄准望远镜规范第2部分:高性能仪器
评论
0/150
提交评论