电子钟程序及原理图
51单片机作的电子钟程序及电路图
51单片机作的电子钟程序在很多地方已经有了介绍,对于单片机学习者而言这个程序基本上是一道门槛,掌握了电子钟程序,基本上可以说51单片机就掌握了80%。
常见的电子钟程序由显示部分,计算部分,时钟调整部分构成。
时钟的基本显示原理:时钟开始显示为0时0分0秒,也就是数码管显示000000,然后每秒秒位加1 ,到9后,10秒位加1,秒位回0。
10秒位到5后,即59秒,分钟加1,10秒位回0。
依次类推,时钟最大的显示值为23小时59分59秒。
这里只要确定了1秒的定时时间,其他位均以此为基准往上累加。
开始程序定义了秒,十秒,分,十分,小时,十小时,共6位的寄存器,分别存在30h,31h,32h,33h,34h,35h单元,便于程序以后调用和理解。
6个数码管分别显示时、分、秒,一个功能键,可以切换调整时分秒、增加数值、熄灭节电等功能全部集一键。
以下是部分汇编源程序,购买我们产品后我们用光盘将完整的单片机汇编源程序和烧写文件送给客户。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 中断入口程序 ;; (仅供参考) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口地址RETI ;串行中断程序返回;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 主程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;START: MOV R0,#70H ;清70H-7AH共11个内存单元MOV R7,#0BH;clr P3.7 ;CLEARDISP: MOV @R0,#00H ;INC R0 ;DJNZ R7,CLEARDISP ;MOV 20H,#00H ;清20H(标志用)MOV 7AH,#0AH ;放入"熄灭符"数据MOV TMOD,#11H ;设T0、T1为16位定时器MOV TL0,#0B0H ;50MS定时初值(T0计时用)MOV TH0,#3CH ;50MS定时初值MOV TL1,#0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1,#3CH ;50MS定时初值SETB EA ;总中断开放SETB ET0 ;允许T0中断SETB TR0 ;开启T0定时器MOV R4,#14H ;1秒定时用初值(50M S×20)START1: LCALL DISPLAY ;调用显示子程序JNB P3.7,SETMM1 ;P3.7口为0时转时间调整程序SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; 1秒计时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T0中断服务程序INTT0: PUSH ACC ;累加器入栈保护PUSH PSW ;状态字入栈保护CLR TR0 ;关闭定时器T0MOV A,#0B7H ;中断响应时间同步修正ADD A,TL0 ;低8位初值修正MOV TL0,A ;重装初值(低8位修正值)MOV A,#3CH ;高8位初值修正ADDC A,TH0 ;MOV TH0,A ;重装初值(高8位修正值)SETB TR0 ;开启定时器T0DJNZ R4, OUTT0 ;20次中断未到中断退出ADDSS: MOV R4,#14H ;20次中断到(1秒)重赋初值MOV R0,#71H ;指向秒计时单元(71H-72H)ACALL ADD1 ;调用加1程序(加1秒操作)MOV A,R3 ;秒数据放入A(R3为2位十进制数组合)CLR C ;清进位标志CJNE A,#60H,ADDMM ;ADDMM: JC OUTT0 ;小于60秒时中断退出ACALL CLR0 ;大于或等于60秒时对秒计时单元清0MOV R0,#77H ;指向分计时单元(76H-77H)ACALL ADD1 ;分计时单元加1分钟MOV A,R3 ;分数据放入ACLR C ;清进位标志CJNE A,#60H,ADDHH ;ADDHH: JC OUTT0 ;小于60分时中断退出ACALL CLR0 ;大于或等于60分时分计时单元清0MOV R0,#79H ;指向小时计时单(78H-79H)ACALL ADD1 ;小时计时单元加1小时MOV A,R3 ;时数据放入ACLR C ;清进位标志CJNE A,#24H,HOUR ;HOUR: JC OUTT0 ;小于24小时中断退出ACALL CLR0 ;大于或等于24小时小时计时单元清0OUTT0: MOV 72H,76H ;中断退出时将分、时计时单元数据移MOV 73H,77H ;入对应显示单元MOV 74H,78H ;MOV 75H,79H ;POP PSW ;恢复状态字(出栈)POP ACC ;恢复累加器RETI ;中断返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 闪动调时程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护PUSH PSW ;MOV TL1, #0B0H ;装定时器T1定时初值MOV TH1, #3CH ;DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次)MOV R2,#06H ;重装0.3秒定时用初值CPL 02H ;0.3秒定时到对闪烁标志取反JB 02H,FLASH1 ;02H位为1时显示单元"熄灭"MOV 72H,76H ;02H位为0时正常显示MOV 73H,77H ;MOV 74H,78H ;MOV 75H,79H ;INTT1OUT: POP PSW ;恢复现场POP ACC ;RETI ;中断退出FLASH1: JB 01H,FLASH2 ;01H位为1时,转小时熄灭控制MOV 72H,7AH ;01H位为0时,"熄灭符"数据放入分MOV 73H,7AH ;显示单元(72H-73H),将不显示分数据MOV 74H,78H ;MOV 75H,79H ;AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H,76H ;01H位为1时,"熄灭符"数据放入小时MOV 73H,77H ;显示单元(74H-75H),小时数据将不显示MOV 74H,7AH ;MOV 75H,7AH ;AJMP INTT1OUT ;转中断退出; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 加1子程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ADD1: MOV A,@R0 ;取当前计时单元数据到ADEC R0 ;指向前一地址SWAP A ;A中数据高四位与低四位交换ORL A,@R0 ;前一地址中数据放入A中低四位ADD A,#01H ;A加1操作DA A ;十进制调整MOV R3,A ;移入R3寄存器ANL A,#0FH ;高四位变0MOV @R0,A ;放回前一地址单元MOV A,R3 ;取回R3中暂存数据INC R0 ;指向当前地址单元SWAP A ;A中数据高四位与低四位交换ANL A,#0FH ;高四位变0MOV @R0,A ;数据放入当削地址单元中RET ;子程序返回; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 清零程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;............. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 时钟调整程序 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;当调时按键按下时进入此程序SETMM: cLR ET0 ;关定时器T0中断CLR TR0 ;关闭定时器T0LCALL DL1S ;调用1秒延时程序JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示(省电)MOV R2,#06H ;进入调时状态,赋闪烁定时初值SETB ET1 ;允许T1中断SETB TR1 ;开启定时器T1SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待SETB 00H ;键释放,分调整闪烁标志置1SET4: JB P3.7,SET3 ;等待键按下LCALL DL05S ;有键按下,延时0.5秒JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态MOV R0,#77H ;按下时间小于0.5秒加1分钟操作LCALL ADD1 ;调用加1子程序MOV A,R3 ;取调整单元数据CLR C ;清进位标志CJNE A,#60H,HHH ;调整单元数据与60比较HHH: JC SET4 ;调整单元数据小于60转SET4循环LCALL CLR0 ;调整单元数据大于或等于60时清0CLR C ;清进位标志AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电(LED不显示)状态。
基于单片机的电子时钟设计论文ppt课件
2.按键模块
在该模块中,采用四个按键作为对电 子时钟的控制输入,经过按键来实现时 钟的时间设置、定时功能。电路中将四 个按键的一端接地,而单片机的P2口默 以为高电平,一旦按键被按下,那么该 按键对应的管脚被拉低,经过软件扫描 按键即可知道用户所要实现的功能,调 用相应的按键子程序来完成该操作。 本设计中,四个按键K1、K2、K3、K4分 别与AT89C51单片机的引脚P1.0、P1.1、 P1.2、P1.3衔接。当按下K1时,开场进展 “时〞的校正,再次按下K1时,那么切换 到“分〞的校正,第三次按下那么切换到 “秒〞的校正,第四次按下那么前往到正 常时间显示。当按下K2时,切换到闹钟 方式,延续按下K2键时依次进展定时。 K3和K4键那么是实现加一和减一功能。
五.仿真结果
PPT终了 谢谢观看
6.时间显示模块
数码管显示方式有两种:
1. 共阴极接法。把发光二极管的阴极连在一同构成阴极公共引脚, 如以下图a所示。运用时阴极公共引脚接地,这样阴极引脚上 加高电平的发光二极管就导通点亮,而加低电平的那么不点亮。
共阳极接法。把发光二极管的阳极连在一同构成阳极公共引脚,如 以下图b所示。运用时阳极公共引脚接+5V。这样阴极引脚上加 低电平的发光二极管即可导通点亮,而加高电平的那么不点亮。
二.电子时钟总体设计
振荡电路 复位电路 蜂鸣器
AT89C51
时间显示 按键电路
本设计电路的硬件部分共由五部分组 成,分别为按键模块、复位电路模块、振 荡电路模块、发声模块、时间显示模块。 振荡电路模块担任给单片机提供时钟周期。 复位电路模块担任上电后自动复位,或按 键后强迫复位。上电后,由单片机内部定 时器计时,同时经过动态显示函数自动将 时分秒显示到数码管上。与此同时,按键 扫描函数不断扫描按键引脚形状,一旦扫 描按键被按下,即进入相应的功能函数。 假设检测到定时时间到,那么驱动蜂鸣器 发声提示。
电子钟的设计说明书及电路图
设计报告是电子技术综合训练课程的重要内容,是在设计完成后提交的技术报告,是对完成的设计系统性的总结和说明。通过设计报告的撰写,培养和锻炼学生科技文档写作的能力,培养和提高学生的计算机应用能力。
第二章
一、
按照基本要求设计的数字钟,数字形式显示时、分、秒,在分和秒之间显示“:”,并按1次/秒的速度闪烁;每日以24小时为一个记时周期;并且有校正功能,能够在任何时刻对电子钟进行方便的校正;要求在在电源方面是220V/50HZ的工频交流电供电。
5)、按照以上技术要求设计电路,绘制电路图,对设计的电路用Multisim或OrCAD/PspiceAD9.2进行仿真,用万用板焊接元器件,制作电路,完成调试、测试,撰写设计报告。
2、发挥部分:
1)、有定时闹叫功能,能够按照任意预先设置的时间闹叫,驱动小型扬声器工作,并要求在闹叫状态能够手动消除闹叫;
计时电路用以实现分、秒的分别计时,其中需要设计进制的转换,置数或者清零操作,芯片级联进位,显示信号输出,报时信号输出,校正电路的接入等。
如下图是秒、分计数器电路图和电路仿真结果图3.5分、秒计数器的设计,图3.6分、秒计数器的波形仿真
图3.6分、秒计数器的设计
图3.7分、秒计数器的波形仿真
3.4
时计数器同样和秒、分的计数器所用芯片和具备条件都是一样,只是把同样的两篇74LS160N计数器接成二十四进制的计数器,使得输出为~这二十四个数即可,在低位片的c端的输出于高位片的b端经过与非门74LS00N送给两片的清零信号端CLR,低位片的进位RCO端与高位片的使能端ENT和ENR相连构成进位信号。时计数器功能及接线图如下图3.7,时计数器的波形仿真图如下图3.8
摘要
数字电子钟实际上是一个对标准频率(1HZ)进行计数的计数电路。它将“时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时等附加功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器,校时电路、报时电路和振荡器组成。主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用振荡器加分频器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,译码显示电路将“时”、“分”、“秒”计数器的输出状态送到七段显示译码器译码,通过七位LED七段显示器显示出来。
单片机_实验名称:电子时钟
实验名称:电子时钟20世纪末,电子技术获得飞速发展,在其推动下,现代电子产品几乎渗透到了社会的各个领域,有力的推动社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,产品更新换代的节奏也越来越快。
数字钟早已成为人们日常生活中的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、娱乐带来了极大的方便。
由于数字集成电路技术的发展以及采用了先进的石英技术,使得数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已经有现成的集成电路芯片出售,价格便宜、使用方便,但是鉴于数字钟电路的基本组成包含了数字电路的主要组成部分,因此进行数字钟的研究,对我们对单片机的学习有着非常重要的意义。
单片机数字时钟具有编程灵活,便于电子钟功能的扩充,精度高等优点,同时还能用电子钟发出各种控制信号,本设计主要用8051单片机配合LED数码显示管、蜂鸣等器件,采用24小时计时方式,最小显示到分钟,通过LED灯的闪烁体现秒的计数,兼有闹钟的作用,以蜂鸣来体现闹钟时间的到达。
关键字:单片机汇编语言数字时钟实验设计一、实验目的1、学会应用8051定时器时间及时处理;2、学习按键扫描电路的应用;3、掌握LED数码管动态显示的设计方法;4、掌握汇编语言的简单编程。
二、实验任务及设计要求设计要求:利用实验平台上的4个LED数码管,设计带有闹铃功能的数字时钟。
1、在4位数码管上显示当前时间,计时格式为“时时分分”2、由LED闪烁做秒显示3、利用按键可以对时间及闹钟进行设置,并可显示闹铃时间。
当闹铃时间到蜂鸣器发出声响,按停止键可使闹铃声停止。
三、工作原理及设计思路1、综述:我们设计的该系统主要分为时钟计时、校时和闹钟三个模块。
利用单片机定时器完成计时功能,定时器1计时中断程序每隔5ms中断一次并当作一个计数,每中断一次计数加1,当计数200次时,则表示1s到了,秒变量加1,同理60秒时分钟加1,60分钟时小时加1,小时达到24时,全部清零,重新计时。
1602电子时钟电路_原理图_PCB图
1602电子时钟电路_原理图_PCB图一、引言电子时钟作为现代生活中常见的时间显示设备,广泛应用于各个领域。
本篇文章将着重介绍1602电子时钟的电路原理图和PCB设计图,旨在让读者了解该电子时钟的工作原理和实现方法。
二、电路原理图1602电子时钟的电路主要由以下几个模块组成:时钟源、微处理器、液晶显示屏和按键控制模块。
下面将对每个模块进行详细的介绍。
1. 时钟源模块时钟源模块是电子时钟的核心,用于提供准确的时间信号。
常见的时钟源模块有晶振和RTC(实时时钟)芯片。
晶振通常使用32.768kHz的石英晶体,通过振荡脉冲产生稳定的时间基准。
而RTC芯片则内部集成了时钟电路,能够提供准确的时间信号。
2. 微处理器模块微处理器模块负责控制整个电子时钟的运行。
常用的微处理器有单片机和微控制器。
单片机通常具有丰富的外设接口和可编程功能,适用于复杂的时钟控制需求。
而微控制器则在单芯片上集成了微处理器核心、存储器和外设接口,更加简易和紧凑。
3. 液晶显示屏模块液晶显示屏模块用于将时间信息以数字形式显示出来。
1602液晶显示屏是基于字符型液晶显示技术,具有两行十六个字符的显示能力。
其工作原理是通过外部电压的作用,控制液晶分子的排列来实现显示效果。
4. 按键控制模块按键控制模块允许用户通过按键来设定和调整电子时钟的功能和显示参数。
它通常包括多个按键、键盘扫描接口和按键控制电路。
三、PCB图设计PCB图是电子时钟电路的物理实现图,能够直观地显示所有元器件之间的连接和布局关系。
本节将介绍1602电子时钟的PCB图设计过程。
1. 元器件布局在PCB设计之前,需要对各个元器件进行布局。
首先,将时钟源模块与微处理器模块放置在一起,以便于时钟信号的输入和处理。
其次,根据液晶显示屏的位置要求,将其与微处理器模块相连接。
最后,将按键控制模块与微处理器模块相连,并设置按键的位置。
2. 连接导线通过导线将各个元器件进行连接。
导线的设计应考虑信号的传输距离、屏蔽和抗干扰等因素,以保证电子时钟的稳定性和可靠性。
基于STC89C52多功能电子时钟系统程序+原理图
一、设计任务设计制作一台以控制器为核心的多功能电子时钟系统二、设计要求:①.系统具有3种工作模式状态(正常时钟显示模式、系统校准模式、秒表计时模式);系统所有功能,均能够通过上位PC机对其操作修改与实时动态显示。
(PC主机端可利用高级语言进行人机界面设计)②.在正常时钟显示模式时,时钟具有显示年、月、日、时、分、秒的功能。
③.在正常时钟显示模式时,系统具有整点报时的功能,在离整点前10秒时,自动发出鸣叫声,步长1秒,每间隔1秒鸣叫一次,前4响是低音,后1响为高音,共鸣叫5次,最后1响结束时为整点。
高音频率为1KHz;④.在系统校准模式时,系统具有快速校准时间的功能。
⑤.在秒表计时模式时,可兼做比赛时间记录表。
秒表记时的精度为0.1秒,由3个键分别控制秒表的启动、清零、记录功能,可连续记录3组时间,并能够显示记录时间。
⑥.系统显示器采用LCD液晶显示器1602或其它显示器件,并采用键盘对相关数据进行设置与操作。
原理图设计制作一台以控制器为核心的多功能电子时钟系统二、设计要求:①.系统具有3种工作模式状态(正常时钟显示模式、系统校准模式、秒表计时模式);系统所有功能,均能够通过上位PC机对其操作修改与实时动态显示。
(PC主机端可利用高级语言进行人机界面设计)(注:此三种模式可以通过SET键盘来回切换,在正常时钟模式,第二排显示S:time,校准模式显示S:adjst,秒表模式,是TN~T3:四个秒表模式);②.在正常时钟显示模式时,时钟具有显示年、月、日、时、分、秒的功能。
(注:这个已经全部显示了,含星期)③.在正常时钟显示模式时,系统具有整点报时的功能,在离整点前10秒时,自动发出鸣叫声,步长1秒,每间隔1秒鸣叫一次,前4响是低音,后1响为高音,共鸣叫5次,最后1响结束时为整点。
高音频率为1KHz;(注:这个都实现了,要验证的话就是将时钟调整到59分后验证即可)④.在系统校准模式时,系统具有快速校准时间的功能。
可设置八个闹钟的智能时钟(原理图+程序)
可设置8个闹钟时间的智能时钟广东珠海曾向文普通的家用时钟一般只能设置一个闹钟时间,但很多人均需为工作日、周末、早晨、午休等不同时段设置不同的闹钟时间。
如果是使用普通的闹钟,只好每次休息前重新设置,很不方便,有时甚至会出现忘记更改闹钟设置而睡过头的情况。
针对这种情况,本人利用89C51单片机设计了一款有8种闹钟设置的时钟,通过一段时间的使用,情况良好。
1、元件清单共阴极数码管8个4511七段译码芯片1片ATMEL89C51单片机1片24C08EEPROM 1片24M晶振1个9V变压器(3V A)1个LM317输出可调稳压IC 1个整流桥堆1个470uF电容1个100uF电容1个10uF电容1个0.1uF电容1个33pF电容2个蜂鸣器1个9014(或其它NPN管)8个ksp92(或其它PNP管)1个二极管2个1K欧电阻16个470欧电阻1个10K欧可调电阻1个10K欧电阻4个按钮开关4个可装四节电池的电池盒1个万能板(约12CM*17CM)1块所有元件按以下的电路图焊接在一块万能板上。
注意LM317的输出应由低调高,以免烧IC。
电路图2、功能简介该时钟以24小时制显示时间,并可显示2000年至2049年之间的任何日期及星期,日期与时间经按键可相互切换,可输入8个闹钟时间设置,每个闹钟设置包括响铃的时间(小时与分钟)、对工作日有效还是对周末有效的标志,以及本项设置是否启用的标志等三部分。
这8个闹钟设置均保存在EEPROM中,即使掉电也不用重新输入。
当然使用者可通过按钮对任何一个设置作修改。
数码管可经按钮关闭显示,避免夜间刺眼、影响睡眠。
调节LM317输出电压,可改变数码管亮度,但电压不能低于后备电池的电压,否则后备电池供电。
用四节1.25V电池串联作后备电源,保证市电停电时时钟继续走时。
时钟的精度取决于晶振频率的精度。
3、程序清单本程序用C语言编写,经Keil C51编译成二进制码后写入89C51内的EPROM内即可。
电子技术数字时钟报告电路原理图
电子技术课程设计报告设计题目:数字电子时钟班级:学生姓名:学号:指导老师:完成时间:一.设计题目:数字电子时钟二.设计目的:1.熟悉集成电路的引脚安排和各芯片的逻辑功能及使用方法;2.了解数字电子钟的组成及工作原理 ;3.熟悉数字电子钟的设计与制作;三、设计任务及要求用常用的数字芯片设计一个数字电子钟,具体要求如下:1、以24小时为一个计时周期;2、具有“时”、“分”、“秒”数字显示;3、数码管显示电路;4、具有校时功能;5、整点前10秒,数字钟会自动报时,以示提醒;6、用PROTEUS画出电路原理图并仿真验证;四、设计步骤:电路图可分解为:1.脉冲产生电路;2.计时电路;3.显示电路;4校时电路;5整点报时电路;1.脉冲电路是由一个555定时器构成的一秒脉冲,即频率为1HZ;电路图如下:2.计时电路即是计数电路,通过计数器集成芯片如:74LS192 、74LS161、74LS163等完成对秒脉冲的计数,考虑到计数的进制,本设计采用的是74LS192;秒钟个位计到9进10时,秒钟个位回0,秒钟十位进1,秒钟计到59,进60时,秒钟回00,分钟进1;分钟个位计到9进10时,分钟个位回0,分钟十位进1,分钟计到59,进60时,分钟回00,时钟进1;时钟个位记到9进10时,时钟个位回0,时钟十位进1,当时钟计数到23进24时,时钟回00.电路图如下:3.显示电路是完成各个计数器的计数结果的显示,由显示译码器和数码管组成,译码器选用的是4511七段显示译码器,LED数码管选用的是共阴极七段数码管,数码管要加限流电阻,本设计采用的是400欧姆的电阻;电路图如下:4.校时电路通过RS触发器及与非门和与门对时和分进行校准,电路图如下:5.整点报时电路即在时间出现整点的前几秒,数值时钟会自动提醒,本设计采用连续蜂鸣声;根据要求,电路应在整点前10秒开始整点报时,也就是每个小时的59分50秒开始报时,元器件有两个三输入一输出的与门,一个两输入一输出的与门,发生器件选择蜂鸣器;具体电路图如下:六.设计用到的元器件有:与非门74LS00,与门74LS08,74LS11,7段共阴极数码管,计数器芯片74LS192,555定时器,4511译码器,电阻,电容,二极管在电路开始工作时,对计数电路进行清零时会使用到,单刀双掷开关;设计电路图如报告夹纸;七.仿真测试:1.电路计时仿真电路开始计数时:计数从1秒到10秒的进位,从59秒到一分钟的进位,从1分到10分的进位,从59分到一小时的进位,从1小时到10小时的进位,从23小时到24小时的进位,然后重新开始由此循环,便完成了24小时循环计时功能,仿真结果如下:1. 7.2.8.3. 9.4. 10.5. 11.6. 12.13.2.电路报时仿真由电路图可知,U18:A和U18:B的6个输入引脚都为高电平时,蜂鸣器才会通电并发声,当计数器计数到59分50秒是,要求开始报时,而59分59秒时,还在报时,也就是说只需要检测分钟数和秒计数的十位,5的BCD码是4和1,9的BCD码是8和1,一共需要6个测端口,也就是上述的6个输入端口,开始报时时,报时电路状态如图:3.校时电路仿真正常计时校时U15:D和u15:C是一个选通电路,12角接的是秒的进位信号,9角接的是秒的脉冲信号,当SW1接到下引脚时,U15:D接通,u15:C关闭,进位信号通过,计数器的分技术正常计时;当SW1接到上引脚时,U15:D关闭,u15:C接通,校时的秒脉冲通过,便实现了分钟校时,时钟的校时与分钟校时大致相同;八.心得体会以及故障解决设计过程中遇到了一个问题,就是在校时电路开始工作时,校时的选择电路会给分钟和时钟的个位一个进位信号,也就是仿真开始时电路的分钟和时钟个位会有一个1;为了解决这个问题,我采用的是在电路开始工作时,同时给分钟和时钟的个位一个高电平的清零信号来解决,由于时钟的个位和十位的清零端是连在一起的,再加上分钟的个位,在校时小时的时候且当小时跳完24小时时,会给分钟的个位一个清零信号,这时在电路中加一个单向导通的二极管变解决了,具体加在那儿,请参考电路图;在设计过称中,我们也许遇到的问题不止一个两个,而我们要做的是通过努力去解决它;首先我们要具备丰富的基础知识,这是要在学习和实际生活中积累而成的;其次,我们还有身边的朋友同学老师可以请教,俗话说:三人行,必有我师;最后,我们还有网络,当今是个信息时代,网络承载信息的传递,而且信息量非常大,所以我们也可以适当的利用网络资源;通过这次对数字钟的设计与制作,让我了解了设计电路的步骤,也让我了解了关于数字钟的原理与设计理念,要设计一个电路总要先用仿真,仿真成功之后才实际接线;但是仿真是在一个比较好的状态下工作,而电路在实际工作中需要考虑到一些驱动和限流电阻等等,因为,再实际接线中有着各种各样的条件制约和干扰;而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功;所以,在设计时应考虑两者的差异,从中找出最适合的设计方法;这次学习让我对各种电路都有了大概的了解,所以说,坐而言不如立而行,对于这些电路还是应该自己动手实际操作才会有深刻理解,才能在实际生活和工作中应用起来;。
电子时钟原理
目录1.前言 (1)2单片机及其发展史 (1)2.1 单片机的发展史 (2)2.1.1 . 4位单片机 (2)2.1.2 . 8位单片机 (2)2.1.3 . 16位单片机 (2)2.1.4 . 32位单片机 (2)2.1.5 . 64位单片机 (3)3.方案设定 (3)3.1 电子时钟计时方案 (3)3.2 电子时钟键盘/显示方案 (3)3.3 电子时钟原理方框图,原理图 (4)3.3.1 电子时钟原理方框图 (4)3.3.2 电子时钟电路原理图 (4)4电子时钟整机电路原理 (5)5.电子时钟单元电路工作原理介绍 (6)5.1 源电路工作原理 (6)5.2 时钟电路工作原理 (6)5.3 电子时钟复位电路工作原理 (7)5.4 键盘工作原理 (7)5.5 显示器工作原理 (7)5.6 AT89S51芯片介绍 (10)5.7 S8550PNP三极管 (13)5.8 四位一体数码管 (13)6片机硬件资源的分配 (14)7程序流程图 (16)8电子时钟程序清单 (22)9 电子时钟使用说明 (30).总结 (31)参考文献 (31)致谢 (32)1.前言我们每一个人都有非常密切的关系,每个人都受到时间的影响。
为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。
钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表. 即使现在钟表千奇百怪,但是它们都只是完成一种功能——计时功能,只是工作原理不同而已。
国内外发展:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。
单片机具有体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
电子钟是一种利用数字电路来显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
随着人们生活环境的不断改善和美化,在许多场合可以看到数字电子钟。
LED显示电子时钟
一、硬件设计及说明1、原理图设计时钟控制部分原理图如图1所示图1 时钟控制部分原理图时钟显示部分原理图如图2所示图2 时钟显示部分原理图AT89S52是一种低功耗、高性能CMOS8位微控制器,它具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
本电子时钟设计具有最简单的计时功能及调整时间的功能。
基于AT89C52芯片和LED 数码管为核心,辅以必要的电路,并以C语言程序设计为基础,构成一个简单的单片机数字电子时钟。
通过数码管能够准确显示时间,并且可以通过按键进行校时,连接P3.2口的按钮(H按钮)可以进行小时调整,连接P3.3口的按钮(M按钮)可以进行分钟调整。
它的计时周期为24小时,显示满刻度为23时59分59秒。
该电路数码管的位选由P2口控制;数码管的显示代码由P0口传送;调整时间按键接单片机的P3.2和P3.3引脚;按键的扫描原理就是首先P3高四位送高电平,判断低四位的电平,如有高电平表明有按键按下,读取哪个键按下,接着P3口低四位接低电平,高四位接高电平,读取按键。
2、PCB设计LED显示电子时钟PCB图如图3所示图3 LED显示电子时钟PCB图二、软件设计及说明用编程软件Keil uVision3编写测试程序,程序流程图如图4,系统程序的具体代码见附录2。
图4 程序流程图三、系统测试过程1、测试仪器计算机时钟2、测试方法把时钟电路与计算机时钟进行对时,计算机时钟每走三十秒就与时钟电路时间进行比较,并将两者的结果进行列表对比,结果见表1所示:表1 测试结果分析表2.5秒,本电路采用的是12MHz的石英晶体振荡器,通过以下计算:晶振周期=1s/12MHz=1Mus/12MHz=1/12us单片机机器周期=12*1/12us=1us需要实现计时1秒,需要1000000/1=1000000个机器周期如果设置定时器初值为0x9C(即156D),则每256-156=100个机器周期触发一次定时中断,如此中断10000次,正好为1000000个机器周期。
数字电子钟的设计电路图pcb图
数字电子钟的设计与制作一、设计概述1.设计任务➢时钟脉冲电路设计➢60进制计数器设计➢24进制计数器设计➢“秒”,“分”,“小时”脉冲逻辑电路设计➢“秒”,“分”,“小时”显示电路设计➢“分”,“小时”校时电路➢整点报时电路2.功能特性➢设计的数字钟能直接显示“时”,“分”,“秒”,并以24小时为一计时周期。
➢当电路发生走时误差时,要求电路具有校时功能。
➢要求电路具有整点报时功能,报时声响为四低一高,最后一响正好为整点。
3.原理框图图 1 原理框图二、设计原理数字钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、报时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现胡一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过六位LED七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分”、“秒”显示数字进行校对调整的。
三、设计步骤1.计数器电路根据计数周期分别组成两个60进制(秒、分)和一个24进制(时)的计数器。
把它们适当连接就可以构成秒、分、时的计数,实现计时功能。
CC4518的符号如图,一个芯片集成了两个完全相同的十进制计数器,其异步清零信号CR是高电平有效。
第一讲 电子钟的组成及工作原理
多功能大尺寸LED时钟显示屏的设计与制作LED数码管时钟显示屏的组成及工作原理一、时钟显示屏的组成数码管时钟显示屏的组成电路如图所示:由电源电路,单片机最小系统,时钟电路,键盘电路,数码管驱动显示电路,温湿度检测电路,红外接收电路,光亮度检测电路,语音报时电路、电器控制电路,通讯电路等组成。
图3-1 多功能时钟显示屏的组成框图二、时钟显示屏的工作原理时钟显示屏以单片机为核心完成对时钟芯片DS1302管理和数码管的驱动显示控制。
数码管采用静态显示方式,由多片串入并出芯片74HC595(功能等同74HC164)级联的方式进行驱动。
通过温湿度传感器实现温湿度的检测,红外接收电路完成无线调表和多种定时等时钟功能的设置,用按键也可实现时钟调整等以及各种时钟功能的设定。
光亮传感器可以监测环境明暗,实时调整数码管的显示亮度。
语音报时电路实现语音报时,电器控制电路可实现家用电器的定时控制或上课打铃的控制等,通讯电路可进行有线、无线通讯、控制等。
功能与特点一、功能:1、年、月、日、时、分、秒、星期;2、温度、湿度检测与显示;3、农历日期的显示;4、手动按键调表;5、红外遥控器调表;6、预留光亮度检测及显示亮度的自动调整;7、预留继电器控制(10A,可实现定时打铃、家电定时控制等);8、预留语音报时和音乐报时功能;9、预留RS232和485串行通讯接口,实现与微机通讯或远程通讯;10、预留蜂鸣器提示音功能;11、预留无线通讯接口,可实现无线通讯;12、预留I/O接口,方便今后功能扩展。
13、电源保护电路,防止电源反接烧坏线路板元件;二、特点:1、大尺寸,由1.5~2.3寸数码管显示;2、农历、星期能跟随日期变化自动调整;3、采用时钟芯片和备用电池,走时准确,断电不影响计时;4、静态显示工作模式,延长时钟显示屏使用寿命;5、采用新型单片机功能更强、速度更快;6、硬件设计功能丰富;7、可实现数码管显示亮度随环境明暗自动调节,人性化设计,使用舒适;8、可实现多种显示模式,以实现节能目的;9、软件开发可实现多种扩展功能;10、插接件接口设计,便于组装、维护。
多功能电子钟设计说明书
多功能电子钟设计说明
书
一.作品硬件原理图
三、程序流程图
Go_dianzhen();
dz_ms=0;
TR1 =1;
}
//TR1=1;
}
五.作品实物图
六.作品演示效果图
七.作品创新性描述
1我们将作品分成两大部分,即单片机基础系统与单片机应用系统,并将其制作成两块板,这样我们可以用这个单片机基础系统来做其他方面的开发。
2.我们采用的是液晶显示,这样比数码管看起来效果会更好。
3.我们通过程序将几大部分功能的器件整合在一起,可以同时运行。
4.采用串口来与计算机通信,因此我们程序可以通过串口下载在线烧写程序,另外还可以与计算机进行其他方面的通信,如将单片机中的容显示在计算机上。
微机原理课程设计(电子时钟)
电子时钟课程设计一:设计背景电子数字钟的应用十分广泛,通过计时精度很高的石英晶振(也可采用卫星传递的时钟标准信号),采用相应进制的计数器,转化为二进制数,经过译码和显示电路准确地将时间“时”“分”“秒”用数字的方式显示出来。
与传统的机械钟相比,它具有走时准确,显示直观,无机械传动,无需人的经常调整等优点。
它广泛用于电子表、车站、码头、广场等公共场所的大型远距离时间显示电子钟。
二:数字钟电路设计思路1.选用8253计数器2进行1s的定时,其输出OUT1与8259的IRQ0相连,当定时到1s时产生一个中断服务程序进行时、分、秒的计数,并送入相应的存储单元;8255的A口接七段数码管的位选信号,B口接数码管的段选信号。
时、分、秒的数值通过对8255的编程可送到七段数码管上显示。
2.此程序主要由四部分组成:第一部分为最主要的部分定义显示界面;第二部分为利用延时程序,并将调用的二进制表示的时间数转换成ASCII码,并将时间数存入内存区;第三部分将存在系统内存区的时间数用七段数码管显示出来;第四部分利用循环程序分别对秒个位、秒十位、分个位、分十位与相应的规定值进行比较,结合延时程序来实现电子钟数字的跳变,从而形成走时准确的电子钟。
该程序实现了准确显示秒和分,读数准确,走时精准。
此电子钟能准确的从0时0分0秒走时到23时59分59秒,然后能自动回复到0时0分0秒循环走时。
3.基本工作原理:系统设计的电子时钟主要由显示模块、时钟控制模块和时钟运算模块三大部分组成。
以8086微处理器作CPU,用8253做定时器产生时钟频率提供一个频率为10kHz的时钟信号,要求每隔10ms完成一次扫描键盘的工作。
在写入控制字与计数初值后,每到10ms定时器就启动工作,即当计数器减到1时,输出端OUT0输出一个CLK周期的低电平,向CPU申请中断,当达到100次时,则输出端OUT1输出1s,向CPU申请中断,由8255控制一个数码管显示,当计数到60s时,则输出端OUT2向CPU申请中断,由另一数码管显示1min,同理由数码管显示1h.CPU处理,使数码管的显示发生变化。
电子钟功能说明
功能说明
本产品是一款由MCS-51单片机制作的具有闹铃功能的电子钟,具备良好的二次开发功能。
不但能做作为工艺实习器件,还可以做各种单片机功能实验以及毕业设计,并且自带烧写程序功能,应用极其方便。
产品附带原理图。
焊接好元器件后,安装上单片机STC89C51RC,把跳线帽放到P3.0、P3.1上,连接上USB电缆线,打开开关,系统开始运行,数码管显示的初始时间是00.00,意即零点零分,闹铃的初始时间00.00,即一上电闹铃就响一分钟。
各按键功能如下:
一、时间修改
K1:修改时间,按下进入修改时间模式,小数点表示正在修改的位,初始在第一位,由K2来改变位置。
K2:移动键,修改数值时,改变修改的位,按下小数点向右移动一位,进入此位的修改。
K3:加1键。
按下时,小数点在的那位加1。
K4:确定键。
按下退出修改时间模式,进入正常运行模式。
二、闹钟时间修改
K3:闹铃修改键。
在电子钟正常运行模式按下进入修改闹铃模式。
此模式下K2,K3,K4键功能同上。
三、系统复位
K5:系统复位键(重启键)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
. ..页脚.基于51单片机电子钟设计利用如图所示电路,设计一个电子钟,要求如下:1)显示容:时-分-秒2)具有闹铃设定功能、时间调整功能3)具有按键设置功能一、显示容显示时间:用六位7段数码管闹铃提示:用8个发光二极管设置提示:用8个发光二极管二、按键功能P3.2——功能设置键;P3.3——显示区切换键;P3.4——“+”键;P3.5——“-”键。
设置提示显示要求:1)正常显示状态,8个发光二极管全灭;2)时间调整状态,P1.7亮;3)闹铃设定状态,P1.7和P1.6亮。
显示时间要求:1)显示时-分-秒,分三个显示区。
功能设置键K1是一个多功能键:按第一次,进入时间调整状态按第二次,进入闹铃设定状态按第三次,退出设置状态,时钟正常显示。
备注:其他键在K1退出设置状态时无效。
显示区切换键K2:在设置状态,用于切换不同的显示区,每按一次,将切换一次。
“+”键K3:在设置状态,用于对相应的显示区数字进行累加,每按一次,数字加1。
“-”键K4:在设置状态,用于对相应的显示区数字进行自减,每按一次,数字减1。
程序:K1 BIT P3.2K2 BIT P3.3K3 BIT P3.4K4 BIT P3.5L1 BIT P1.7L2 BIT P1.6KEZT EQU 30HHOUR EQU 31HMINU EQU 32HSECO EQU 33HNHOU EQU 34HNMIN EQU 35HK2ZT EQU 36HTIME EQU 37HTIM EQU 40HNTIM EQU 50HLED EQU P1ORG 0000HAJMP STARTORG 000BHAJMP DINGSHIORG 100HSTART: ACALL RESETLOOP: ACALL KEYSETACALL DISPLAYACALL ZHISHIAJMP LOOP;************************************** DINGSHI: MOV TH0,#3CHMOV TL0,#0B0HINC TIMEMOV A,TIMECJNE A,#20,DINGENDMOV TIME,#0INC SECOMOV A,SECOCJNE A,#60,DINGENDINC MINUMOV SECO,#0MOV A,MINUCJNE A,#60,DINGENDINC HOURMOV MINU,#0MOV A,HOURCJNE A,#24,DINGENDMOV HOUR,#0DINGEND: RETI;**************************************** RESET: MOV TMOD,#01H ;T0工作在方式1,12MHZ MOV TH0,#3CHMOV TL0,#0B0HSETB EASETB ET0MOV HOUR,#23MOV MINU,#59MOV SECO,#58MOV NHOU,#12MOV NMIN,#0MOV KEZT,#0MOV K2ZT,#0MOV TIME,#0CLR F0SETB TR0RET;********************************************* KEYSET:;判定K1SETB K1JB K1,KK1 ;K1=1 LOOPCALL DELAY20MS ;软件防抖JB K1,KK1KS1: JNB K1,$CALL DELAY20MS ;软件防抖JNB K1,KS1INC KEZTSETB F0MOV A,KEZTCJNE A,#3,KK1CLR F0MOV KEZT,#0SETB TR0KK1: JNB F0,KEENDCLR TR0ACALL KEYGNKEEND: RET;********************************* KEYGN:;判定K2SETB K2JB K2,KK2 ;K2=1 LOOPCALL DELAY20MS ;软件防抖JB K2,KK2KS2: JNB K2,$CALL DELAY20MS ;软件防抖JNB K2,KS2INC K2ZTMOV A,K2ZTCJNE A,#3,KK2MOV K2ZT,#0;判定K3KK2: SETB K3JB K3,KK3 ;K3=1 LOOPCALL DELAY20MS ;软件防抖JB K3,KK3KS3: JNB K3,$CALL DELAY20MS ;软件防抖JNB K3,KS3MOV A,KEZTCJNE A,#1,KSS1MOV R7,K2ZTCJNE R7,#0,K3S1INC HOURMOV R6,HOURCJNE R6,#24,KHOUMOV HOUR,#0 KHOU: AJMP KK3K3S1: CJNE R7,#1,K3S2INC MINUMOV R6,MINUCJNE R6,#60,KMINMOV MINU,#0KMIN: AJMP KK3K3S2: INC SECOMOV R6,SECOCJNE R6,#60,KSECMOV SECO,#0KSEC: AJMP KK3;对闹铃设定KSS1: CJNE A,#2,KK3MOV R7,K2ZTCJNE R7,#0,K3SS1INC NHOUMOV R6,NHOUCJNE R6,#24,KNUMOV NHOU,#0KNU: AJMP KK3K3SS1: CJNE R7,#1,KK3INC NMINMOV R6,NMINCJNE R6,#60,KK3MOV NMIN,#0;判定K4KK3: SETB K4JB K4,KYEND ;K4=1 LOOPCALL DELAY20MS ;软件防抖JB K4,KYENDCALL DELAY20MS ;软件防抖JNB K4,KS4MOV A,KEZTCJNE A,#1,KSS3MOV R7,K2ZTCJNE R7,#0,K4SS1DEC HOURMOV R6,HOURCJNE R6,#0FFH,K4HOMOV HOUR,#23K4HO: AJMP KYENDK4SS1: CJNE R7,#1,K4SS2DEC MINUMOV R6,MINUCJNE R6,#0FFH,K4MIMOV MINU,#59K4MI: AJMP KYENDK4SS2: DEC SECOMOV R6,SECOCJNE R6,#0FFH,K4SEMOV SECO,#59K4SE: AJMP KYEND;对闹铃设定KSS3: CJNE A,#2,KYENDMOV R7,K2ZTCJNE R7,#0,K4SSS1DEC NHOUMOV R6,NHOUCJNE R6,#0FFH,K4NHMOV NHOU,#23K4NH: AJMP KYENDK4SSS1: CJNE R7,#1,KYENDDEC NMINMOV R6,NMINCJNE R6,#0FFH,KYENDMOV NMIN,#59KYEND: RET;******************************************** ZHISHI:MOV A,KEZTCJNE A,#1,LOOP1CLR L1SETB L2AJMP LOOP3LOOP1: CJNE A,#2,LOOP2CLR L2AJMP LOOP3LOOP2: SETB L1SETB L2LOOP3: RET;******************************************** DISPLAY: ACALL SHUZHUANMOV R3,#0MOV DPTR,#LED_DMMOV R2,#07FHJB F0,DI1MOV R0,#TIMAJMP DI3DI1: MOV A,KEZTCJNE A,#1,DI2MOV R0,#TIMAJMP DI3DI2: MOV R0,#NTIMDI3: MOV P2,R2MOV A,@R0MOVC A,@A+DPTRMOV P0,AMOV A,R2RR AMOV R2,AACALL DELAYINC R0INC R3CJNE R3,#6H,DI3RET;******************************************** SHUZHUAN: MOV R0,#TIMMOV A,HOURMOV B,#10DIV ABMOV @R0,AINC R0MOV @R0,BINC R0MOV A,MINUMOV B,#10DIV ABMOV @R0,AINC R0MOV @R0,BINC R0MOV A,SECOMOV B,#10DIV ABMOV @R0,AINC R0MOV @R0,B;***********************MOV R0,#NTIMMOV A,NHOUMOV B,#10DIV ABMOV @R0,AINC R0MOV @R0,BINC R0MOV A,NMINMOV B,#10DIV ABMOV @R0,AINC R0MOV @R0,BINC R0MOV @R0,#0INC R0MOV @R0,#0RET;******************************************* DELAY: MOV R7,#20D1: MOV R6,#200DJNZ R6,$DJNZ R7,D1RET;********************************************;软件防抖程序DELAY20MS: MOV R7,#100D21: MOV R6,#100DJNZ R6,$DJNZ R7,D21RETLED_PX: DB 0feH,0fdH,0fbH,0f7H,0efH,0dfH,0bfH,7fH LED_DM: DB 0c0H,0F9H,0A4H,0B0H,99H;0-4DB 92H,82H,0F8H,80H,90H;5-9DB 88H,83H,0C6H,0A1H,86H;A,b,C,d,EDB 8EH,0FFH,0CH,89H,7FH,0BFH ;F,空格,P,H,.,- END。