单片机数字电子钟课程设计毕业设计

上传人:仙*** 文档编号:31739992 上传时间:2021-10-12 格式:DOC 页数:35 大小:7.23MB
返回 下载 相关 举报
单片机数字电子钟课程设计毕业设计_第1页
第1页 / 共35页
单片机数字电子钟课程设计毕业设计_第2页
第2页 / 共35页
单片机数字电子钟课程设计毕业设计_第3页
第3页 / 共35页
点击查看更多>>
资源描述
单片机技术课程设计说明书 数字电子钟 学 院: 电气与信息工程学院 学生姓名: 指导教师: 职称 专 业: 电气工程及其自动化 班 级: 学 号: 完成时间: 2016 年 月 湖南工学院单片机技术课程设计课题任务书学院:电气与信息工程学院 专业:电气工程及其自动化指导教师学生姓名课题名称数字电子钟内容及任务一、设计任务设计一个具有特定功能的电子钟。二、设计内容1、电子钟的硬件系统(1)、单片机最小系统模块(2)、供电模块(3)、显示模块(4)、键盘模块(5)、报警模块2、电子钟的软件系统(1)、系统监控程序模块(2)、显示程序模块(3)、键盘程序模块(4)、报警程序模块三、设计要求该电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。主要参考资料1李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社,2003.6.2李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12.3马忠梅.单片机的C语言应用程序设计M.第4版.北京:北京航空航天大学出版社,2003.6. 4李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社,2003.01.5李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社,2004.9.教研室意见 教研室主任:(签字)年 月 日摘 要 电子钟是利用数字电路来显示秒、分、时的计时装置,与传统的机械中相比具有走时准确、显示直观、无机械传动装置等优点,因而的到广泛使用。随着人们生活环境的不断改善和美化,在许多场合都能看到数字电子钟,在城市的主要营业场所、车站、码头等公共场合使用LED数字电子钟已成为一种时尚,因此研究数字电子钟具有十分重要的意义。课程设计电子钟以ATMEL公司的AT89S52单片机为核心,用12MHz 晶振与单片机AT89S52相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求。电子钟设有四个按键S1、S2、S3和S4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、校正等功能。通过硬、软件系统的联调、测试,数字电子钟的功能和性能指标能达到任务书的要求。数字电子钟有制作成本低廉、方便携带、美观小巧等优点,具有良好的应用前景。关键词:电子钟;AT89S52单片机;软件编程;LED数码管目 录1 电子钟课题任务、功能要求说明及方案介绍11.1 设计课题任务11.2 功能要求说明11.3 设计课题总体方案介绍及电子钟工作原理1 1.3.1 设计课题方案介绍1 1.3.2 电子钟工作原理12 电子钟硬件系统设计22.1 主要元器件介绍2 2.1.1 AT89S52单片机2 2.1.2 74HC573芯片2 2.1.3 LM7805稳压芯片32.2 硬件电路单元介绍3 2.2.1 单片机模块3 2.2.2 复位模块4 2.2.3 晶振模块4 2.2.4 电源模块5 2.2.5 键盘模块5 2.2.6 显示及驱动模块6 2.2.7 报警模块7 2.2.8 下载电路模块83 电子钟软件系统设计93.1 电子钟软件设计的描述93.2 电子钟的软件流程框图9 3.2.1 主程序模块及加1程序模块流程框图9 3.2.2 显示程序模块流程框图11 3.2.3 键盘程序模块流程框图12 3.2.4 中断程序模块流程框图124 电子钟调试运行及结果分析144.1 电子钟使用说明144.2 电子钟运行结果144.3 电子钟的误差分析154.4 电子钟结果分析154.5 设计体会15结束语16参考文献17致谢18附录19附录A 数字电子钟原理图及电源原理图19附录B 数字电子钟实物图20附录C 数字电子钟主板元件清单21附录D 数字电子钟程序清单22II1 电子钟课题任务、功能要求说明及方案介绍1.1 设计课题任务设计一个具有特定功能的电子钟。1.2 功能要求说明设计一个具有特定功能的电子钟。电子钟上电或按键复位后能自动显示系统提示符“P.”, 进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。1.3 设计课题总体方案介绍及电子钟工作原理1.3.1 设计课题方案介绍 电子钟主要由单片机、4*1独立键盘、电源电路、报警电路、晶振电路、显示接口电路和复位电路构成,设计课题的系统框图如图1所示: 图1 系统框图1.3.2 电子钟工作原理 上电后数码管显示字符“P.”,按下启动键后定时器T0工作,定时溢出中断周期为50ms,中断进入后,时钟计时累计20次(即1s)时,对秒计数单元进行加1操作。在计数单元中采用十进制BCD码计数,秒、分、时之间满60进位。最大计时值为23小时59分59秒。驱动及显示电路将“时”、“分”、“秒”的输出状态用数码管显示出来,再通过外部的按键以及编写的数据处理程序、软件延时程序和键扫程序实现校时,定时、复位等电子钟的功能。2 电子钟硬件系统设计2.1 主要元器件介绍2.1.1 AT89S52单片机 AT89S52是一种低功耗、高性能的CMOS8位微控制器,具有8K在系统可编程Flash存储器,使用atmel公司高密度非易失性存储器技术制造。与工业80C51产品指令和引脚完全兼容,片上Flash允许程序存储器在系统可编程,易适用于常规编程器,在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多的嵌入式控制应用系统提供高灵活、超有效的解决方案。单片机AT89S52的引脚图如图2所示。图2 AT89S52引脚图2.1.2 74HC573芯片74HC573是拥有8路输出的透明锁存器,输出为3态门。是一种高性能的硅栅CMOS器件,用来驱动数码管。74HC573芯片引脚图如图3所示。图3 74HC573引脚图2.1.3 LM7805稳压芯片 L7805,采用TO-220封装方式。压降:2V,输出数:1,针脚数:3,封装类型:TO-220,工作温度范围:0C to +150C,器件标号:7805,器件标记:L7805CV,容差, 工作电压 +:4%电压整流器类型:正固定,电源电压 最大:20V,电源电压 最小:8V,芯片标号:7805,表面安装器件:通孔安装,输入电压 最大:35V,输入电压 最小:7V,输出电压 最大:5V,输出电流 最大:1.5A。引脚图如图4所示。图4 LM7805引脚图2.2 硬件电路单元介绍2.2.1 单片机模块单片机执行擦写程序操作,用于控制整个系统。单片机芯片自身不能单独运用于工程或者产品上,它必须要依靠外围数字器件或者模拟器件的协调才能发挥自身的强大功能。AT89S52芯片 与MCS-51系列单片机兼容;8K字节的在系统编程(ISP)的Flash ROM,无需编程器;可反复擦写1000次;4.05.5V的宽电压工作范围;频率范围:033MHz;三级写保护;256字节的内部RAM;32条可编程I/O;3个16位定时器;8个中断源;功能完善的UART接口;低功耗和掉电模式;从掉电模式中中断唤醒;看门狗定时器;双数据指针;掉电标志位。AT89S52可降至0 HZ静态逻辑操作,支持2种软件可选择节点模式。在空闲模式下,CPU停止工作,允许RAM、定时器/计算器、串口、中断继续工作。掉电保护方式下RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。单片机电路图如图5所示。图5 单片机电路图2.2.2 复位模块 复位是单片机的初始化操作,单片机在可靠的复位之后, PC初始化为0000H,使程序从0000H单元开始执行。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,需要按复位键以重新启动。复位电路采用了上电复位和按键电平复位方式。RST复位信号是高电平有效,复位脉冲的高电平宽度必须大于2个振荡周期,使用频率为12MHz的晶振,则复位信号持续时间应超过2us才能完成复位操作。上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚高电平逐渐下降。因此,为使产生有效的复位信号,电容选择C1=22F,R9=1K。当复位键按下之后,使复位端经电阻与电源接通,为使复位信号有效,电阻R10选择为200,由于电阻R9和R10分压,使得RST为高电平,从而实现复位功能复位电路图如图6所示。图6 复位电路图2.2.3 晶振模块 单片机晶振的作用是为系统提供基本的时钟信号,晶振通常和锁相环电路配合作用,以提供系统所需的时钟频率。设计中采用大小为33pF的瓷片电容和12MHz的晶振,在设计印刷电路板时,晶振和电容尽可能接近单片机,保证振荡器稳定可靠的工作。对于AT89S52来说,片内设有一个由反向放大器所构成的振荡电路,XTAL1和 XTAL2分别为振荡电路的输入和输出端,电容器C3、C4起稳定振荡频率、快速起振的作用,电容值一般为533pF。但在时钟电路的实际应用中一定要注意正确选择其大小,并保证电路的对称性,尽可能匹配。晶振电路如图7所示。图7 晶振电路图2.2.4 电源模块 单片机的输入电压为直流+5V,必须接通+5V 的直流电源才能正常工作。为了获得+5V电源电压,采用12V变压器将220V电压降压成所需要的12V交流电压,通过整流、滤波、稳压、给系统提供稳定的直流电压+5V。整流桥选择2W10型号,承受电流的能力为2A,最大耐压能力为1000V。通过计算,滤波电容C5、C6取标称值470F,减少纹波系数电容C2取0.1F,稳压芯片选取LM7805,为了保护发光二极管不被烧坏,加上1K的保护电阻R12,才能输出稳定的+5V电压。电源电路图见图8所示。图8 电源电路图2.2.5 键盘模块键盘是指经过系统安排操作一台机器或设备的一组键,作为外部信号,主要的功能是输入外部信号,实现特定计时开始、暂停、继续、停止、清零功能。共用到了4个按键,1个电源开关,一个复位键,单片机运行期间,利用按键完成复位操作。4个按键独立式键盘,S0键控制电子钟的启动调整状态,S1键为时针加1键,S2为分针加1键,S3键为秒针加1键。且S0、S1、S2、S3任一键都独自连一个I/O(P1.0、P1.1、P1.2、P1.3)口线,对于P1口来说,是准双向I/O口。如要改变口线的状态,只需要通过按键就能达到口线状态改变。当按键未按下,P1口和其连接的接口都为高电平时,结果是高电平;如果一个为高电平一个为低电平,则结果为电平;如果两个都是低电平,则结果为低电平。另外一端口全部接地。当按键按下后,因为其两端一端为低电平,一端为高电平,则结果为低电平,所以此时结果为低电平。由此部分P1口的变化来判断按键有没有被按下,键盘电路如图9所示。图9 键盘电路图2.2.6 显示及驱动模块数码管实际上是由二极管构成,发光二极管正常工作时,其两端正向压降约为1.6V,正向电流约为10mA。为了使数码管达到一定的亮度,就使用芯片74HC573放大电流,来作为数码管的驱动控制数码管的段控。设计中采用的是共阳极数码管。将共阳极数码管一端接地,一端接在单片机上,通过操纵单片机的高低电平,去控制数码管。共阳极数码管是指将所有发光二极管的阳极接到一起,形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。为使显示电路动态显示,同时又不使电流过大而损坏数码管,因此在P0串上470的电阻,来达到限流的作用,起到保护数码管的作用,74HC573的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。数码管电路图如10所示。图10 数码管电路图2.2.7 报警模块报警模块由蜂鸣器报警提示。三极管的型号选取为9012,一种PNP型的三极管,作用是用来增加驱动电流,提供给蜂鸣器工作的额定电流,在基级端加上1K电阻R13,其作用限流,保护电路。蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声。由于单片机上输出的TTL电平太小驱动不了蜂鸣器因此通过一个三极管来放大驱动蜂鸣器。蜂鸣器电路图如图11所示。图11 蜂鸣器电路图2.2.8 下载电路模块 采用下载口,利用下载线将程序下载到单片机AT89S52中,下载口可以重复下载和擦除。下载口的1脚接P1.5口,2脚悬空,3脚接单片机的复位口,4脚接P1.7口,5脚接P1.6口,6脚VCC,7、8、9、10脚接地。下载电路如图12所示。图12 下载电路图3 电子钟软件系统设计3.1 电子钟软件设计的描述 设计的软件系统主要采用以下基本模块来实现,主程序、调整程序、整点报时程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。 调整程序:主要用于对时间的校准。整点报时程序:主要用于整点报时。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.2 电子钟的软件流程框图3.2.1 主程序模块及加1程序模块流程框图 主程序流程框图如图13所示。加1子程序流程框图如14所示。图13 主程序流程框图图14 加1程序框图3.2.2 显示程序模块流程框图 显示程序流程图如15所示。图15 显示程序流程框图3.2.3 键盘程序模块流程框图 键盘程序流程框图如图16所示。图16 键盘程序流程框图3.2.4 中断程序模块流程框图 中断程序流程框图如图17所示。图17 中断程序流程框图4 电子钟调试运行及结果分析4.1 电子钟使用说明 电子钟具有三种工作状态:“P.”状态、运行状态、调整状态。 (1)在“P.”状态下,依靠上电或按复位键进入,按S1、S2、S3键均无效。按下S0键有效,进入运行状态。 (2)在运行状态下,按下S1、S2、S3键均无效,只有按S0键有效,按下S0键后,退出运行状态,进入调整状态。 (3)在调整状态下,增加键S1:按一次使时针位加1;增加键S2:按一次使分针位加1;增加键S3:按一次使秒针加1。调整结束后按下S0键,可退出调整状态转而进入运行状态。在调整状态时长按S1、S2、S3时可以连加。 时间显示格式为:时-分-秒 4.2 电子钟运行结果(1)电子钟上电后显示“P.”状态如图18所示。图18 “P”状态运行结果图 (2)按下S0键后,电子钟进入运行状态,运行到14秒时显示状态如图19所示。图19 14秒状态运行结果图 (3)电子钟运行状态时按下S0键,进入调整状态,按下S3键进入“分”状态调整,调整至1分18秒,显示状态如图20所示。图20 1分18秒状态运行结果图 (4)电子钟运行状态时按下S0键,进入调整状态,按下S3键进入“时”状态调整,调整至3时1分36秒,显示状态如图21所示。图21 3时1分36秒状态运行结果图4.3 电子钟的误差分析电子钟在运行中存在一定的误差,误差产生有三种可能原因,第一种是由于计时方案是软件计时的,计时需要利用中断功能来实现。当电子钟运行时间为1秒时,需要去执行中断程序,整个过程是需要时间的,所以可能会产生了一定的误差,第二种是硬件系统的影响。第三种是设计用到12.00MHz的晶振,计算是满20次为一秒钟,但实际上由于元器件的性能可能会产生误差。4.4 电子钟结果分析 通过硬、软件系统的联调、测试,数字电子钟的功能和性能指标能达到任务书的要求。4.5 设计体会课程设计,受益良多,深刻的认识到了许多缺点和不足,深深的感觉到了理论联系实际的重要性。在以往的学习过程中,重视理论的基础,对于一个程序们只要求它在运行时没有错误,便以为程序编写成功了,却不知它能否在硬件结构中得以实现,这就要求增强动手能力,如果无法使软件与硬件实现有机的结合,再好的程序也无法应用于实际中。结束语转眼间,课程设计就结束了,通过课程设计,拓宽了知识面,锻炼了能力,大大的提高了综合素质。安排课程设计的目的在于通过理论和实际的结合,改进思维方式,尤其是提高观察、分析、和解决问题的能力,培养适应社会所需要的技术型人才,课程设计开始之初,由于对理论知识学习掌握程度,遇到了许多问题,通过重拾教材,对所学知识进行全面的梳理,遇到难处先思考,后向同学请教,终于熟练的掌握了基础的理论知识,学会了如何去思考问题,找到了设计灵感。课程设计过程中,不断发现错误、不断改正、不断领悟,最终通过在实验板上的调试,成功的完成了课程设计。通过课程设计,明白了一个真理“实践是检验真理的唯一标准”,课程设计让学习程度更加深,进一步激发了对专业知识的兴趣。 参考文献1 李广弟.单片机基础M.第3版.北京:北京航空航天大学出版社, 2003.6. 090 2 李全利.单片机原理及应用(C51编程)M.北京:高等教育出版社,2012.12 0803 马忠梅.单片机的C语言应用程序设计M:北京航空航天大学出版社2003.6 .2089 4 李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社, 2003. 01.321025 李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版社, 2004.9.078 6 杨居义.单片机课程设计指导书M.北京:清华大学出版社,2009.40617 张永枫.单片机应用实训教程M.北京:清华大学出版社,2008.20818 张荫等.单片机应用系统开发综合实例M.北京:清华大学出版社,2008. 54819 胡汉才.单片机原理及其接口技术M.北京:清华大学出版社,1996.12016010 康华光.电子技术基础M.北京:高等教育出版社, 2006.43550411 何立民.单片机应用技术选编M.北京:北京航空航天大学出版社,1997. 2028 致 谢通过不断努力,成功的完成了数字电子钟课程设计,非常感谢老师给予了非常多的帮助,认真的指导课程设计,耐心的指导如何去撰写好一份报告,从老师身上学到许多了书本上所没有的经验。还有感谢同学们的帮助,帮我解决困惑,同时也感谢学院给创造了这么一个好机会,让我们锻炼自己,培养自己工程实践能力和综合分析问题的能力。在此表示衷心的感谢!附 录附录A 数字电子钟原理图及电源原理图附录B 数字电子钟实物图附录C 数字电子钟主板元件清单表1 元件清单名称数量参数电阻3个1K共阳数码管2个4位一体电阻1个4.7kISP下载口插座1个普通插座1个40PIN电阻8个470电阻1个200按键10个单排插4个40PIN三极管1个S9012驱动一套74HC573晶振及其插座一套12MHz电容2个33pF极性电容1个22F排阻2个10K芯片1块AT89S52开关2个短路帽1个蜂鸣器1个变压器1个12V电源变压器整流桥1个2W10稳压芯片1块LM7805电容2个470F电容2个0.1F附录D 数字电子钟程序清单课题名称:数字电子钟 编程人:指导老师:完成时间: 本电子钟实现24小时制,8位数码管显示时分秒,可整点报时显示格式:00-00-00(设置小时十位为0时,不显示)通过4只按键来调整时间调整选择键S0:P1.0增加键S1:P1.1;按一次使时针位加1;增加键S2:P1.2;按一次使分针位加1增加键S3:P1.3;按一次使秒针位加1.P0口输出数码管段选信号,P2口输出数码管位选信号;晶振12.00MP3.1为蜂鸣器发声报时程序入口 ORG 0000HLJMPMAINORG 000BHLJMPWBORG 001BHLJMP BEGIN1 MAIN:MOV SP,#30H;主程序开始MOV R0,#10HMOV R1,#70H LBO:MOV R1,#00H;初始化单元INCR1DJNZ R0,LBOMOV 79H,#10;显示“-.”MOV 7CH,#10 MOV 73H,#01H CLR F0;清零标志位MOV R4,#14H;循环赋初值DELAY1:MOV TMOD,#01H;定时50毫秒程序段MOV TCON,#00HMOV IE,#8AHMOV IP,#04HMOV TH0,#3CH;定时赋初值MOV TL0,#0A0HMOV TH1,#242;整点报时定时赋初值MOV TL1,#23 KEY:ACALL KS;键盘扫描程序段 JNZ LK1;有键闭合ACALL DIRAJMP KEY ;没有键闭合 LK1:ACALL DIR;驱动显示程序防抖 ACALL DIR ACALL KS;确认有键闭合?JNZ LK2;真有键闭合ACALL DIR;没有键闭合是误按 回去!AJMP KEY LK2:MOV 74H, A JB ACC.0, FW1;复位键按下转向复位程序CLR AADD A, 75H JB ACC.0, TZ1 AJMP KEY;不是!不与理睬 KS:MOV A, P1;键盘扫描子程序CPL A ANL A, #0FFH RET FW:MOV R6, #60 SSS:ACALL DIR DJNZ R6, SSS;复位/调整/启动程序 MOV A, 73H JB ACC.1, XM2;第一次复位转显示P JB ACC.2, XM1;第二次复位转向调整并清零P字 JNB ACC.3, FW3;第三次及以后转向调整和启动程序 XM1:MOV R0, #08H MOV R1, #77H LO1:MOV R1, #00H;清零单元去P字INC R1DJNZ R0, LO1MOV 79H, #20;显示“_.” MOV 7CH, #20CLR A ;清除73单元使其不再参与判断第几次复位 MOV 73H, AJNB ACC.3, FW3 XM2:MOV 77H, #11;显示P程序 MOV R0, #07H MOV R1, #7EH LO2:MOV R1, #44;显P字 DEC R1 DJNZ R0, LO2 MOV R6, #60 SSS1:ACALL DIR DJNZ R6, SSS1;延迟防抖 JMP KEY FW1:JB F0, FW2 SETB F0MOV A, 73HRL A ;73单元左移用于判断是第几次复位MOV 73H, AJMP FW FW2:MOV A, 73HRL A ;左移MOV 73H, A CLR F0JMP FW FW3:JB F0, LOOPX MOV A, 75H ;调整/启动次数加1ADD A, #01H;用于判断是调整还是启动MOV 75H, A JMP TZ LOOPX:MOV A, 75H;调整/启动次数加1 ADD A, #01HMOV 75H, A MOV R6, #60 SSS2:ACALL DIR DJNZ R6, SSS2;延迟防抖 CLR TR0 SETB TR0;启动定时 JMP KEY TZ:CLR TR0 MOV R6, #60 SSS3:ACALL DIR DJNZ R6, SSS3;延迟防抖 JMP KEY TZ1:CLR TR0;调整程序段MOV A, 74H JB ACC.1, AD1;时针加1JB ACC.2, AD2;分针加1JB ACC.3, AD3;秒针加1JB ACC.4, EG1 MOV R6, #60 SSS4:ACALL DIR DJNZ R6, SSS4;延迟防抖 JMP KEY AD1:MOV R0, #7EH;时针加1程序 MOV R6, #60 SSS5:ACALL DIR DJNZ R6, SSS5;延迟防抖ACALL J1;加一CJNE R3, #24H,FH2;进位清零 MOV 7EH, #00H MOV 7DH, #00HJMP KEY AD2:MOV R0, #7BH;分针加1程序MOV R6, #60 SSS6:ACALL DIRDJNZ R6, SSS6;延迟防抖ACALL J1;加一CJNE R3, #60H,FH2;进位清零MOV 7BH, #00H MOV 7AH, #00HJMP KEY AD3:MOV R0, #78H;秒针加1程序MOV R6, #60 SSS7:ACALL DIR DJNZ R6, SSS7;延迟防抖ACALL J1;加一CJNE R3, #60H,FH2;进位清零 MOV 78H, #00H MOV 77H, #00HJMP KEY FH2:JMP KEY EG1:MOV R2, #08H;恶搞小程序显示shen_.hua MOV A, #12 MOV R1, #7EH AI1:MOV R1, ADEC R1INC ADJNZ R2, AI1JMP KEY WB:PUSH ACC;现场保护PUSH PSW CLR TR0 MOV TH0, #3CHMOV TL0, #0A0HSETB TR0DJNZ R4, ZDFH;16次中断未到中断退出 JS:MOV R4, #014H ;16次中断到重赋R4初值MOV R0, #78H;指向秒计时单元(77H-78H)ACALL J1;加1MOV A, R3;数据放入ACLR CCJNE A, #60H,JM JM:JC ZDFH;小于60秒时中断退出 ACALL QC;清0 MOV R0, #7BH;指向分计时单元(7AH-7BH) ACALL J1;加1 MOV A, R3 CLR C CJNE A, #60H,JH JH:JC ZDFH;小于60分时中断退出SETB TR1;启动报时 ACALL QC;清0 MOV R0,#7EH;指向小时计时单元(7DH-7EH) ACALL J1;加1 MOV A, R3 CLR C CJNE A, #24H, FC FC:JC ZDFH;小于24小时中断退出ACALL QC;清0 ZDFH:POP PSW;中断返回程序段 POP ACC;恢复现场 RETIQC:CLR A;清0程序段 MOV R0, A DEC R0 MOV R0, A RET;所有加一程序段 J1:MOV A, R0;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ORL A, R0;合并单元 ADD A, #01HDA A;十进制调整 MOV R3, A ANL A, #0FH ;取低位 MOV R0, A MOV A, R3 INC R0 SWAP A ANL A, #0FH;取高位 MOV R0, A RET DIR:MOV R1, #77H;数码管显示程序 MOV R3, #0FEH LD0:MOV P2, R3 MOV A, R1 MOV DPTR, #DSEG1;查表寻段码 MOVC A, A+DPTRMOV P0, AACALL DELAY INC R1 ;加一显示MOV A, R3JNB ACC.7, FH;循环8次后返回RL AMOV R3, A AJMP LD0 FH:RET DELAY:MOV R5, #80 ;40微秒延迟程序段 LOOP8:NOP ;显示时用 NOP NOP DJNZ R5, LOOP8 RETBEGIN1:PUSH ACC;整点报时程序段 PUSH PSW CPL P3.4CLR TR1 MOV TH1, #242 MOV TL1, #23 SETB TR1 MOV A, 66H INC A MOV 66H, A CJNE A, 0FFH,JHDH;产生255个周期的波形用于报时 CLR TR1 JHDH:POP PSW POP ACC RETI ;10;11;12;20;28;36 ;学号DSEG1:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,03FH,08CH,92H,89H,86H,0C8H,77H,89H,0C1H,88H,77H,0C6H,0C6H,77H,83H,0A3H,92H,92H,0C7H,0C0H,0C1H,86H,0F7H,91H,0C0H,0C1H,0C0H,80H,77H,0C0H,0B0H,77H,0F9H,92H,0FFH,7FH ;段码表;-. ;P ;S;H ;E ;N ;_. ;H;U ;A;_. ;C ;C ;_.;b ;O ;S ; S ;L ;O ;V ;E ;_ ;Y ;O U;灭END;程序结束 29
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!