




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本电子闹钟的设计是以单片机技术为核心,采用了小规模集成度的单片机制作的功能相对完善的电子闹钟。硬件设计应用了成熟的数字钟电路的基本设计方法,并详细介绍了系统的工作原理。硬件电路中除了使用AT89C51外,另外还有晶振、电阻、电容、发光二极管、开关、喇叭等元件。在硬件电路的基础上,软件设计按照系统设计功能的要求,运用所学的汇编语言,实现的功能包括时时-分分-秒秒显示,设定和修改定时时间的小时和分钟、校正时钟时间的小时、分钟和秒、定时时间到能发出一分钟的报警声。一 芯片介绍AT89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS 8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,外形及引脚排列如图1-1所示。图1-1 AT89C51引脚图74LS573 的八个锁存器都是透明的D 型锁存器,当使能(G)为高时,Q 输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。外形及引脚排列如图1-2所示。图1-2 74LS573引脚图二 硬件电路设计1 时钟电路设计AT89C51系列的单片机的时钟方式分为内部方式和外部方式。内部方式就是在单片机的XTAL1和XTAL2的两引脚外接晶振,就构成了自己振荡器在单片机内部产生时钟脉冲信号。外部时钟方式是把外部已经有的时钟信号引入到单片机内部。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准震荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间。其电路图如图2-1所示。图2-1 时钟电路图2 复位电路设计复位操作完成单片机内电路的初始化,使单片机从一种确定的状态开始运行。当AT89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态复位操作通常有2种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。其电路图如图2-2所示。图2-2 复位电路图3 键盘电路设计本次电子闹钟的设计共使用了4个按键,各个按键的功能如表1所示。表1 各按键的接法和功能按键名称连线方法按键功能K1K2K3K4一端接P1.0,一端接地一端接P1.1,一端接地一端接P1.2,一端接地一端接P1.3,一端接地控制调整当前时间;同时使闹钟的分加1控制闹钟时间定时闹钟时小时加1;时间显示时分加1刷新当前显示时间4 显示电路设计数码显示有静态显示方式与动态显示方式两种。工作在静态显示方式时,数码管的位线与电源一直相联,每个数码管均处在通电状态,电路的待显示信号经译码驱动电路后分别传输给显示电路,每个数码管同时收到并显示各自接受到的信号。静态显示时每个数码管均联接有7段线,即每个数码管都需要7个联接端口,这样显示电路在输出端需要的联接端口数等于7,数字电路的待显示信号位数越多,显示电路需要的联接端口就越多。工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电路中的数码管是逐个接通电源,数码管的段线以并联的方式与译码电路联接,扫描控制电路按照设定顺序将数字电路的待显示信号逐个传输给数码管,数码管也按照扫描控制电路设定的显示顺序逐个进行字符显示。动态显示时,数码管的位线数增加,每个数码管均有一个位线控制其是否通电,但是数码管的段线却大幅减少,不论待显示信号的个有多少,数码管的段线都是根。比较两种显示方式可以看出,采用静态显示方式时显示电路需要占用比较多的联接端口,即数字电路的输出端占用了比较多的管脚资源,较多的输出联接端使得电路的布线复杂,焊点增加,电路板制作成本上升,同时,一直通电的数码管功率损耗数值也较大;而采用动态显示方式时显示电路所需要的输出端口数比较少,间断通电的数码管功率损耗也比较小。由于显示电路的上述特点,因此,此次电子闹钟的设计采用了动态数码显示。三 软件实现软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。1 主模块的设计主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如图3-1所示。系统初始化定时初始化中断初始化串口初始化显示待机指示符设定闹铃时间判设置闹铃时间否?显示刷新启动走时有关变量初始化刷新显示判时或分变化否?秒指示判秒到否?闹铃判是否到闹铃时间?延时YYYY图3-1 主程序流程图2 基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。程序流程如图3-2所示。将16进制时分秒数据转化为BCD显示代码关显示以免显示抖动通过串口将时分秒数据传入数码管打开显示图3-2 基本显示流程图3 时间设定模块设计时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及4个键完成了6位时间参数的设定。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能,其流程图如图3-3所示。设置键吗?设置模块初始化将在编参数送显示缓冲区闪烁标志为真?将当前位的显示代码置暗代码调基本显示模块刷新显示设置键吗?当前编辑位下移(下一位)当前编辑的是分各位?结束设定键吗?根据当前位的性质分别进行处理(含上下限判断)图3-3 时间设定流程图4 闹钟功能实现模块设计闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹铃处理的关键在于判别何时要进行闹铃。当时十位、时个位、分十位、分个位中任一位发生改变(进位)时,就必须进行闹铃判别。译码显示电路将“时”、“分”、“秒”计数器的输出送到七段显示译码驱动器译码驱动,通过六个七段LED显示器显示出来。闹铃电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整,其流程图如图3-4所示。时十位、个位,分十位、个位改变了设置闹铃标志是否设置了闹铃清除闹铃标志判当前时间是设定时间中断返回中断返回闹铃判别处理图3-4 闹钟功能实现流程图四 调试1 硬件调试在电路板焊接好后,经硬件调试未能实现预期的实验结果,经过仔细检查发现两个故障:有一个引脚的导线和地线短路;MAX232的R1in和T1out与串口下载器件的2,3引脚接反了,导致实验结果不正确。2 软件调试在硬件调试无误的基础上,将程序烧入到AT89C51芯片中,实现了在Proteus中仿真的结果。3 综合调试经过硬件调试和软件调试,各个程序模块的功能都能正确的运行,电子闹钟正确的实现了设计的结果。五 结论通过这次课程设计,使我对单片机这门功课有了更深刻的认识和了解。首先对于硬件电路的工作原理有了进一步系统的学习,同样就有了进一步的认识,使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。其次,也培养了我在面对问题的时候能够独立思考的能力。但是在这次课程设计中也有不足之处,比如闹钟并不能整点报时,还有在对电子闹钟设定定时时间时只能对时、分依次加1,不能对其减1操作,这是本次课程设计的不足之处。因此还需要在以后的学习中,拓宽自己的知识面,解决设计的不足。总之,通过这次课程设计不仅使我巩固了本课程所学的基本知识,还使我具有了撰写科研报告的能力,我相信这些能力在我以后的工作或者是再学习中一定会起到不小的作用,一切的辛苦和艰难都是值得的。参考文献1李群芳,肖看.单片机原理、接口及应用-嵌入式系统技术基础M,北京:清华大学出版社,2005.2杨金泉.单片机原理及应用实验指导手册M 附录源程序代码:K1 EQU P1.0 ;在程序开始前定义变量K2 EQU P1.1K3 EQU P1.2K4 EQU P1.3ORG 0000HLJMP MAINORG 000BHLJMP TIMEORG 0100HMAIN:MOV SP,#50HMOV 20H,#00H ;时间 BIN SECONDMOV 21H,#00H ; BIN MINUTE MOV 22H,#00H ; BIN HOURMOV 23H,#01H ;闹钟 BIN MINUTE MOV 24H,#01H ; BIN HOURMOV 25H,#00H ;定义一个标志位 MOV 30H,#00H ;时间 BCD SECONDMOV 31H,#00H ;MOV 32H,#00H ; BCD MINUTEMOV 33H,#00H ; MOV 34H,#00H ; BIN HOURMOV 35H,#00H ; MOV 36H,#01H ;闹铃 BCD MINUTEMOV 37H,#00H ; MOV 38H,#01H ; BCD HOURMOV 39H,#00H ;MOV TMOD,#01H ;16位计数器T0,方式1MOV TH0,#03CH ;赋初值MOV TL0, #0B0HMOV IE,#10000111B ;开中断 T0,EA=1SETB TR0 ;T0启动计数MOV R2,#14H ;计数器MOV P2,#0FFHLOOP:LCALL TIMEPRO ;调用现在时间与闹铃时间比较程序LCALL DISPLAY1 ;调用现在时间显示子程序JB K1,M1 ;判断按键是否按下LCALL XIAOZHEN1 ;调用消抖程序MOV C,25H.0JC A1A1:CLR 25H.0LCALL SETTIME ;调用设置现在时间子程序LJMP LOOPM1:JB K2,M2LCALL XIAOZHEN2MOV C,25H.0JC A2A2:CLR 25H.0 LCALL SETATIME ;调用设置闹钟的程序 LJMP LOOPM2:JB K4,M3A3:LCALL XIAOZHEN3 MOV C,25H.0 JC A4A4:CLR 25H.0M3:LJMP LOOPSETTIME:L0:LCALL DISPLAY1 JB K2,L1 LCALL XIAOZHEN4 MOV C,25H.0 JC A5A5:CLR 25H.0 INC 22H MOV A,22H CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0L1:JB K3,L2 LCALL XIAOZHEN5 MOV C,25H.0 JC A6A6:CLR 25H.0 INC 21H MOV A,21H CJNE A,#3CH,GO11 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0GO12:MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0L2: JB K4,L0 LCALL XIAOZHEN3 MOV C,25H.0 JC AXAX: CLR 25H.0 RETSETATIME:LCALL DISPLAY2 ;调用闹钟设置,闹铃响时的显示程序 N0: LCALL DISPLAY2 JB K3,N1 LCALL XIAOZHEN6 MOV C,25H.0 JC A7 A7: CLR 25H.0 INC 24H MOV A,24H CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0 N1:JB K1,N2 LCALL XIAOZHEN7 MOV C,25H.0 JC A8 A8:CLR 25H.0 INC 23H MOV A,23H CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H LJMP N0 GO21:MOV B,#0AH DIV AB MOV 36H,B MOV 37H,A LJMP N0 GO22:MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0 N2:JB K4,N0 LCALL XIAOZHEN3 MOV C,25H.0 JC A9 A9:CLR 25H.0 RETTIMEPRO:MOV A,21H MOV B,23H CJNE A,B,BK MOV A,22H MOV B,24H CJNE A,B,BK SETB 25H.0 MOV C,25H.0 JC XX XX:LCALL TIMEOUT BK:RETTIMEOUT: X1:LCALL BZ LCALL DISPLAY2 CLR 25H.0 JB K4,X1 RET BZ:CLR P3.7 MOV R7,#250 T2:MOV R6,#124 T3:DJNZ R6,T3 DJNZ R7,T2 SETB P3.7 JB K4,XY LCALL XIAOZHEN3 MOV C,25H.0 JC XY1 XY:RET XY1:LJMP LOOPXIAOZHEN1:LCALL DISPLAY1 JB K1,XIAOZHEN1 MOV C,K1 JC XIAOZHEN1 LCALL DELAY MOV C,K1 JC XIAOZHEN1 STOP1:MOV C,K1 JNC STOP1 LCALL DELAY MOV C,K1 JNC STOP1 SETB 25H.0 RET XIAOZHEN2:LCALL DISPLAY2 JB K2,XIAOZHEN2 MOV C,K2 JC XIAOZHEN2 LCALL DELAY MOV C,K2 JC XIAOZHEN2 STOP2:MOV C,K2 JNC STOP2 LCALL DELAY MOV C,K2 JNC STOP2 SETB 25H.0 RET XIAOZHEN3:LCALL DISPLAY1 JB K4,XIAOZHEN3 MOV C,K4 JC XIAOZHEN3 LCALL DELAY MOV C,K4 JC XIAOZHEN3 STOP3:MOV C,K4 JNC STOP3 LCALL DELAY MOV C,K4 JNC STOP3 SETB 25H.0 RET XIAOZHEN4:LCALL DISPLAY1 JB K2,XIAOZHEN4 MOV C,K2 JC XIAOZHEN4 LCALL DELAY MOV C,K2 JC XIAOZHEN3 STOP4:MOV C,K2 JNC STOP4 LCALL DELAY MOV C,K2 JNC STOP4 SETB 25H.0 RET XIAOZHEN5:LCALL DISPLAY1 JB K3,XIAOZHEN5 MOV C,K3 JC XIAOZHEN5 LCALL DELAY MOV C,K3 JC XIAOZHEN5 STOP5:MOV C,K3 JNC STOP5 LCALL DELAY MOV C,K3 JNC STOP5 SETB 25H.0 RET XIAOZHEN6:LCALL DISPLAY2 JB K3,XIAOZHEN6 MOV C,K3 JC XIAOZHEN6 LCALL DELAY MOV C,K3 JC XIAOZHEN6 STOP6:MOV C,K3 JNC STOP6 LCALL DELAY MOV C,K3 JNC STOP6 SETB 25H.0 RET XIAOZHEN7:LCALL DISPLAY2 JB K1,XIAOZHEN7 MOV C,K1 JC XIAOZHEN7 LCALL DELAY MOV C,K1 JC XIAOZHEN7 STOP7:MOV C,K1 JNC STOP7 LCALL DELAY MOV C,K1 JNC STOP7 SETB 25H.0 RET DELAY:MOV R4,#14H DL00:MOV R5,#0FFH DL11:DJNZ R5,DL11 DJNZ R4,DL00 RET TIME:PUSH ACC PUSH PSW MOV TH0,#03CH MOV TL0,#0B0H DJNZ R2,RET0 MOV R2,#14H MOV A,20H CLR C INC A CJNE A,#3CH,GO1 MOV 20H,#0 MOV 30H,#0 MOV 31H,#0 MOV A,21H INC A CJNE A,#3CH,GO2 MOV 2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 升降机械项目可行性研究报告(范文)
- 平板显示光刻胶项目可行性研究报告(模板)
- 灌溉自动化与智能决策支持系统考核试卷
- 营养保健品的市场定位与目标消费群考核试卷
- 药品生产现场管理培训考核试题(附答案)
- 蜂巢结构与蜜蜂生活考核试卷
- 消防国家面试题及答案
- 图书出租业务的远程借阅系统考核试卷
- 羽绒制品生产过程调度优化考核试卷
- 硅冶炼用辅助材料的选用考核试卷
- 医院“互联网+护理服务”制度
- 顶管施工危险源辨识及风险评价表
- 江苏省扬州市2025届高三第二次模拟考试生物试卷含解析
- 11SG534 带水平段钢斜梯(45°)
- 20232024辽宁大连市西岗区招聘社区工作者24人笔试历年典型考题及考点剖析附带答案详解
- 涂装工考试:中级涂装工考点(三)
- 医院重症监护室感染监控指南
- 2024年高中英语衡水体书法练字字帖
- 融资融券实务
- 人教版二年级下册口算题天天练1000道可打印带答案
- 2022北京东城六年级毕业考英语试题含答案
评论
0/150
提交评论