




已阅读5页,还剩20页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课 程 设 计 说 明 书课程名称: 单片机原理与应用 设计题目: 带定时功能的闹铃时钟设计 院 系: 电子信息与电气工程学院 学生姓名: 学 号: 专业班级: 2008级自动化二班 指导教师: 2011年 5月 20日课 程 设 计 任 务 书设计题目带定时功能的闹铃时钟设计学生姓名程文帅所在院系电子信息与电气工程学院专业、年级、班2008级自动化(2)班设计要求:1、 具有电源开关及指示灯,有复位按键;2、 接通电源后,蜂鸣器连续两次发出响声,同时工作指示灯LED闪动,表示程序执行,数码管显示“0000”;3、 接着设置当前时间。按K1键,LED停止闪动,即进入时间设置状态;按K2调整小时,每按一次数值增1;按K3调整时间。设置完成后,按K4,LED恢复闪烁,即设置完成,进入正常走时状态;4、 设置闹铃时间。进入正常走时状态后按K2键,即进入闹铃时间设定状态,K2为设置闹铃功能键。再按K2,小时调整;按K3,分钟调整;5、 闹铃开、关设置。闹铃时间设定完后,再按K4,进入闹铃开、关设置。若设置为开,启动闹铃后连续3次发出响声;若设置为关,关闭闹铃时发出1次响声;6、掌握程序模块化设计思想。程序设计时可分解为走时、闹铃设置、显示、检查闹铃时间、执行闹铃时间处理、调整等部分组成,每部分均通过子程序实现,再通过主程序的调用,使其有机联系,最终实现定时闹铃时钟功能。学生应完成的工作:根据设计要求,查找分析并制定方案,学习Proteus软件的运用,然后根据方案进行程序的编制和硬件电路图的设计,进行仿真调试,修改并完善设计,与指导老师和本组成员一起讨论发现的问题与焊接应注意的问题,此次设计中我主要负责程序的编制以及原理图的设计,最终在同学与老师的共同努力下,能够实现一定的功能。参考文献阅读:1 张毅刚. 单片机原理及应用. 北京:高等教育出版社,2010.52 朱定华. 单片机原理及接口技术试验. 北京:北方交通大学出版社2002.113 童诗白. 模拟电子技术基础. 北京:高等教育出版社,2006.54 徐晨. 微机原理及应用. 北京:高等教育出版社,2004.85 李光才. 单片机课程设计实例指导. 北京:北京航空航天大学出版社, 2004工作计划:5月9号11号完成原理图的设计; 5月12号13号完成软件部分的设计并完成仿真;5月16号18号元器件的分发、焊接、并完成程序的烧写,完成电路的调试;5月19号编写课程设计报告;5月20号交电路板和课程设计报告。我主要负责原理图的设计和程序的编写。任务下达日期: 2011年 5月 9日 任务完成日期: 2011年 5月 20日指导教师(签名): 学生(签名): 带定时功能的闹铃时钟设计摘 要:本设计是定时闹钟的设计,由单片机AT89S52芯片和数码管为核心,辅助以必要的电路构成的一个单片机定时闹钟。本设计可采用数字电路实现,也可由单片机来完成。若用数字电路来完成,所设计的电路相当复杂大概需要十几片数字集成块,其功能也主要依赖于数字电路的各功能模块的组合来实现,焊接的过程比较复杂,成本较高。若用单片机来实现,由于其功能的实现主要通过软件编程来完成,那么就降低了硬件电路的复杂性,而且其成本也有所降低,所以在设计中采用单片机利用AT89S52,AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。本次设计内容包括了时间显示电路,按键电路,供电电源,以及闹钟指示电路等几部分的设计。采用四个按键来控制定时闹钟的工作状态,分别为:K1,设置时间开关;K2,设置小时以及设置闹钟的开关;K3,设置分钟以及闹钟的分钟;K4,设置完成退出。课程设计中根据具体的要求,查了大量的资料,然后根据已经学过时钟程序编写定时闹钟的程序,依据程序利用Proteus软件进行仿真试验,对出现的问题通过修改源程序终于能实现一定的功能。关键词:AT89S52;功能;调整;数码目 录1.设计背景11.1 单片机的相关知识11.2 单片机的应用22.设计方案32.1 时钟设计方案32.2 数码管显示方案33.方案实施43.1 硬件电路的分析43.1.1系统时钟电路分析43.1.2系统复位电路的设计43.1.3闹钟指示电路设计43.1.4闹钟的显示电路设计53.2 软件设计53.2.1 概述53.2.2 主模块的设计53.2.3 基本显示模块的设计53.2.4 时间设定模块53.2.5 闹铃功能的实现74.结果与结论74.1 系统仿真74.2 仿真结果分析75.收获与致谢76.参考文献87.附件87.1 源程序87.2 实物图177.3 元器件清单181. 设计背景1.1 单片机的相关知识单片微型计算机,简称单片机。它在一块芯片上集成了中央处理器、只读存储器、输入输出接口、可编程计数器和定时器等。一块单片机芯片,就相当于一台计算机。1. 单片机的特点(1)集成度高、功能强微型计算机通常有中央处理器、存储器以及I/O接口组成,其各部分分别集成在不同的芯片上。和微型计算机进行比较,单片机不仅体积减小,而且功能大为增强。(2)结构合理目前单片机大多采用Harvard结构。这是数据存储器和程序存储器相互独立的一种结构。单片机采用此种结构可以使存储容量大,速度快。单片机由于主要用于工业控制方面,一般都需要较大的程序存储器,用以固化已调好的控制程序;而数据存储器的容量相对较小,主要用来存放少量的随机数据。小容量随机存储器直接装在单片机内部,可使数据传送速度快。(3)抗干扰性强由于单片机的各种功能部件都集中在一个芯片上,特别是存储器也集成在芯片上,数据大都在芯片内部传送,不易受到外部干扰,增强了抗干扰能力,使系统运行更可靠。(4)指令丰富单片机一般都有传送指令,逻辑运算指令,转移指令,加、减运算指令等。有些单片机还有乘法以及除法运算指令,特别是位操作指令十分丰富。2.单片机的组成及工作过程单片机是由中央处理器和适当容量的存储器、输入输出接口电路三大基本部分组成,它通过接口电路再与输入输出外部设备连接。以下简单叙述各部件的作用:(1)中央处理器CPU是整个单片机系统的核心,它是由算术逻辑运算单元和控制器组成的。它的功能是进行数据处理,并且控制数据和指令在单片机中的运行,即控制单片机根据给定的要求进行操作。(2)存储器单片机是单片机存放程序和数据的部件,它是许多存储信息的单元组成。存储单元越多,存储容量越大,可存放的信息量就越多。(3)输入输出接口电路接口电路CPU和外部设备之间不可缺少的连接纽带。人们要控制单片机的运行可通过键盘送入指令,也可用开关送入信号,键盘和开关都是输入设备。单片机要运行的结果输出,可通过显示器、打印机告诉人们,也可通过接口电路输出信号,操作各种电器设备进行动作,显示器、打印机和电气设备都是输出设备。因为外部设备与CPU之间的逻辑电平、速度、时序、驱动能力的有很大的差别,所以必须通过I/O接口电路解决它们的匹配问题。(4)单片机的工作过程单片机在工作前,首先必须在程序存储器内装入程序。单片机开始工作后,即按地址先先从存储器中取出指令,然后把指令译码,以确定该指令执行的什么操作和操作数的存放地址,再根据这三个地址取操作数,接着CPU对操作数进行操作,操作结果送入存储器或经接口电路送入显示器、打印机等外部设备。1.2单片机的应用1.工业过程控制中的应用由于单片机的I/O接口线多,位操作指令丰富,逻辑操作功能强,因此,特别适合用于工业过程控制。它既可以作为主机控制,也可作为分布式控制系统的前端机。在作为主机使用的系统中,单片机为核心控制器件,用来完成模拟量和开关量的采集、处理和控制计算(包括逻辑运算),然后输出控制信号。2.生活中的应用由于单片机价格低廉、体积小、逻辑判断及控制功能强,因此广泛地应用于人类生活的各个方面。如:洗衣机、电冰箱、电子玩具及电梯控制等。3.计算机网络及通信技术中的应用 单片机集成了通信接口,因而使其在计算机网络及通信设备中得以广泛应用,例如Intel公司的8044,它由8051单片机及SDLC通信接口组合而成,用性能高的串行接口单元SIU代替传统的UART,其传送距离可达1200m,传送速率为2.4Mbit/s。2.设计方案2.1 时钟设计方案 方案一:运用所学的数字电子技术知识,利用555秒脉冲发生器和74系列等相关芯片设计出纯硬件的电子闹钟原理图。 方案一的优点:思想简单,没有程序控制。 方案一的缺点:所需元器件太多,电路复杂,不容易焊接,而且难于实现。 方案二:使用单片机内部的可编程定时器,用AT89S52作为其核心部件,AT89S52内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时、闹铃等功能。 方案二的优点:所需元器件少,成本较低,电路简单,易于实现。 方案二的缺点:编写程序较复杂。 通过比较两方案的优点和缺点和单片机的功能,采用方案二。2.2 数码管显示方案方案一:静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通和截止,该方式每一位都需要一个8位输出口控制,。方案一的优点:静态显示时较小的电流能获得较高的亮度且字符不闪烁。方案一的缺点:当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费,不易于焊接。方案二:动态显示。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。方案二的优点:动态显示节省了I/O端口,降低了能耗。方案二的缺点:需要程序控制,稍微复杂。通过比较采用方案二。3. 方案实施3.1 硬件电路的分析3.1.1系统时钟电路分析对于时间要求不是很高的系统,只要按图进行设计就能使系统可靠起振并稳定运行。但由于原理图的C1、C2电容起着系统时钟频率微调和稳定的作用,因此,在本闹钟系统的实际应用中一定要注意正确选择参数,并保证对称性,选用正牌厂家生产的瓷片或云母电容,如果可能的话,温度系数尽可能低。实验表明,这两个电容元件对闹钟的走时误差有较大关系。电路图如图3.1.1所示:图3.1.13.1.2系统复位电路的设计智能系统一般应有手动或上电复位电路。复位电路的实现通常有两种方式:RC复位电路和专用up监控电路。前者实现简单,成本低,但复位可靠性相对较低;后者成本较高,但复位可靠性高,尤其是高可靠重复复位。对于复位要求高、并对电源电压进行监视的场合,大多采用这种方式。本次课程设计就使用了上电按钮电平复位按钮。电路如图3.1.2所示:图3.1.23.1.3闹钟指示电路设计闹钟指示可以有声和光两种形式。本系统采用声音指示。关键部件是蜂鸣器。蜂鸣器有无源和有源两种,前者需要输入声音频率信号才能发声,后者则只需外加适当直流电源电压即可,元件内部已封装了音频振荡电路,在得电状态下即起振发声。市场上的有源蜂鸣器分为3V、5V、6V等系列,以适应不同的应用需要。闹钟电路是用比较器来计时系统和定时系统的输出状态,如果计时系统和定时系统的输出状态相同,则发出一个脉冲信号,再和一个高频信号混合,送到放大电路驱动扬声器发声,从而实现定时闹钟的功能。其电路设计参见系统原理图。3.1.4闹钟的显示电路设计 本次课程设计采用了四位数码管显示电路。在四位数码管显示时,为了简化电路,降低成本,采用动态显示的方式,4个数码管共用一个八位的I/O,四位数码管的位选线分别由相应的P2.4P2.5控制,而将其相应的段选线并联在一起,由一个8位的I/O控制,即PO口。译码显示电路将“时”、“分”的输出状态通过数码管显示出来。3.2 软件设计3.2.1概述软件设计的重点在于秒脉冲信号的产生、显示的实现、以及按键的处理等方面。基于软件的秒脉冲信号通常有延时法和定时中断法。延时法一般采用查询方式,在延时子程序前后必然需要查询和处理的程序,导致误差的产生,因此其秒脉冲的精度不高;中断法的原理是,利用单片机内部的定时器溢出中断来实现。例如,设定某定时器每100ms中断一次,则10次的周期是1s。3.2.2主模块的设计主模块是系统软件的主框架。结构化程序设计一般有“自上而下”和“自下而上”两种方式,“自上而下”法的核心就是主框架的构建。它的合理与否关系到程序最终的功能的多少和性能的好坏。本系统的主模块的程序框图如下图(1)所示。3.2.3基本显示模块设计基本显示模块设计的重点是由显示代码取得相应的段码,显示段码数据的并行发送,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校。用数码管代替指针显示进而显示时间,减小了计时误差,这种表具有时,分显示时间的功能,还可以进行时和分的校对,片选的灵活性好。其设计思路主要是:将十六进制数据转化为可显示的BCD码,然后需要消除抖动使其稳定,通过串口将分秒数据传入数码管。3.2.4时间设定模块 时间设定模块的设计要点是按键的去抖处理与“一键多态”的处理。即只涉及四个键完成了六位时间参数的变化。软件法去抖动的实质是软件延时,即检测到某一键状态变化后延时一段时间,再检测该按键的状态是否还保持着,如是则作为按键处理,否则,视为抖动,不予理睬。去抖中的延时时间一般参考资料多描述为10ms左右,实际应用中,应大于20ms,否则,会导致按一次作多次处理,影响程序正常执行。“一键多态”即多功能键的实现思想是,根据按键时刻的系统状态,决定按键采取何种动作,即何种功能。主程序开始初始化变量定时0初始化中断初始化LCD亮程序执行K1 K2 K3 K4 键是否按下Y执行键的相应功能现在时间和闹钟时间比较N图(1)3.2.5 闹铃功能的实现闹铃功能的实现涉及到两个方面:闹铃时间设定和是否闹铃判别与相应处理。闹铃时间设定模块的设计可参照时间设定模块,这里着重阐述闹铃判别与处理模块的设计问题。闹铃判别与闹钟处理的关键在于判别何时要进行闹铃。当时十位、时分位、分十位、分个位中任一位发生改变时,就必须进行闹铃判别。译码显示电路将“时”、“分”显示出来。闹铃电路根据计时系统的输出状态产生一脉冲信号,然后加上一个高频或低频信号送到放大电路驱动蜂鸣器发声实现报时。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”进行校对调整。4. 结果与结论4.1 系统仿真4.2 仿真结果分析 通过仿真发现能实现一定功能,通过Keil软件对源程序进行编译生成hex文件,然后在Proteus软件中进行仿真,将hex文件导入AT89S52芯片中进行仿真,但结果不能完全满足设计要求。5. 收获与致谢单片机是一门应用性很强的学科,课程设计是培养我们综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对我们实际工作能力的具体训练和考察过程。虽然在刚拿到设计任务书时是一头雾水,不知道该从哪里下手。但是经过几天的学习,虽然过程很艰辛,但是总算实现了定时闹钟的功能,所有的努力都很值得。这一周的大部分时间都在研究程序怎么处理,在这个过程中加深了我对汇编语言命令的应用,而且也更加了解到软硬件配套的重要性。通过这次课程设计,使我对我们这门功课有了更深刻的认识和了解。首先对于硬件电路的工作原理有了进一步系统的学习,同样就有了进一步的认识,使我懂得了理论与实际相结合的重要性,只有理论知识是远远不够的,只有把所学的理论知识和实践结合起来,才能提高自己的实际动手能力和独立思考的能力。其次这次设计也有不足之处,这要求在以后的学习中,拓宽自己的知识面,解决设计的不足之处。最后,在此次课程设计中,段德功老师和范秋凤老师的指导起到了很大的作用,对此表示感谢。6. 参考文献1 张毅刚. 单片机原理及应用. 北京:高等教育出版社,2010.52 朱定华. 单片机原理及接口技术试验. 北京:北方交通大学出版社2002.113 童诗白. 模拟电子技术基础. 北京:高等教育出版社,2006.54 徐晨. 微机原理及应用. 北京:高等教育出版社,2004.85 李光才. 单片机课程设计实例指导. 北京:北京航空航天大学出版社, 20047. 附件7.1 源程序代码 K1 EQU P1.0 ;程序开始前定义变量 K2 EQU P1.1 K3 EQU P1.2 K4 EQU P1.3 ORG 0000H LJMP MAIN ORG 000BH LJMP TIME ORG 0100H MAIN: CLR 20H MOV SP,#50H MOV 21H,#00H ;时间分 MOV 22H,#00H ;时间时 MOV 23H,#01H ;闹铃分 MOV 24H,#01H ;闹铃时 MOV 25H,#00H MOV 32H,#00H ;时间BCD 分 MOV 33H,#00H MOV 34H,#00H ;BCD 时 MOV 35H,#00H MOV 36H,#01H ;闹铃BCD分 MOV 37H,#00H MOV 38H,#01H ;闹铃BCD时 MOV 39H,#00H CALL BZ1 ;发出两次响声 CALL BZ1 CLR P3.7 MOV TMOD,#01H ;16位定时器T0,方式1 MOV TH0,#3CH ;赋初值 MOV TL0,#0B0H SETB ET0 SETB EA SETB TR0 ;T0启动 MOV A,#0C0H MOV P0,A MOV R2,#14H MOV P2,#00H LOOP:LCALL TIMEPRO ;调用现在时间和闹铃时间比较程序 LCALL DISPLAY1 ;调用现在时间显示子程序 JB K1,M1 ;判断按键是否按下 SETB P3.7 LCALL SETTIME ;调用设置现在时间子程序 LJMP LOOPM1:JB K2,M2 LCALL SETATIME ;调用设置闹钟程序 LJMP LOOPM2:JB K4,M3 CPL 20H JNB 20H,M31 CALL BZ1 ;三次响声 CALL BZ1 CALL BZ1 JMP LOOPM31:CALL BZ1 ;一次响声 JMP LOOPM3:JMP LOOPSETTIME: ;设置现在时间子程序L0:LCALL DISPLAY1 JB K2,L1 INC 22H MOV A,22H CJNE A,#18H,GO12 ;比较是否与24相等 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0L1:JB K3,L2 INC 21H CJNE A,#3CH,GO11 ;比较是否与60相等 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H LJMP L0GO12:MOV B,#0AH ;生成BCD码 DIV AB MOV 34H,B MOV 35H,A LJMP L0 GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0L2:JB K4,L0 CLR P3.7 RET SETATIME: ;闹钟时间设置子程序 LCALL DISPLAY2N0:LCALL DISPLAY2 JB K2,N2 INC 24H MOV A,24H CJNE A,#18H,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0N2:JB K3,N3 INC 23H MOV A,23H CJNE A,#3CH,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00HN3:LJMP N0 GO22: MOV B,#0AH DIV AB MOV 38H,B MOV 39H,A LJMP N0GO21: MOV B,#0AH DIV AB MOV 36H,B MOV 37H,A LJMP N0 RET TIMEPRO: ;现在时间与闹钟时间比较子程序 MOV A,21H MOV B,23H CJNE A,B,BK ;比较闹钟的时和现在时间的时是否相等 MOV A,22H MOV B,24H CJNE A,B,BK ;比较分是否相等 LCALL TIMEOUTBK:RETTIMEOUT:X1:LCALL BZ LCALL DISPLAY2 JB K4,X1 CALL BZ1 RET BZ:SETB P3.4 MOV R7,#250 ;短暂延时T2:MOV R6,#124T3:DJNZ R6,T3 DJNZ R7,T2 CLR P3.4 JB K4,XY LJMP LOOPXY:RETTIME: ;中断子程序 PUSH ACC PUSH PSW MOV TH0,#3CH ;赋初值 MOV TL0,#0B0H DJNZ R2,RET0 ;中断次数是否结束 MOV A,20H INC A CJNE A,#3CH,GO1 ;秒是否到60 MOV 20H,#00H MOV 30H,#00H MOV 31H,#00H MOV A,21H INC A CJNE A,#3CH,GO2 ;分是否到60 MOV 21H,#00H MOV 32H,#00H MOV 33H,#00H MOV A,22H INC A CJNE A,#18H,GO3 ;时是否到24 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H AJMP RET0GO1:MOV 20H,A MOV B,#0AH DIV AB MOV 31H,A MOV 30H,B AJMP RET0GO2:MOV 21H,A MOV B,#0AH DIV AB MOV 33H,A MOV 32H,B AJMP RET0GO3:MOV 22H,A MOV B,#0AH DIV AB MOV 35H,A MOV 34H,BRET0: POP PSW POP ACC RETI DELAY:MOV R4,#14H ;延时函数子程序DL00:MOV R5,#0FFHDL11:DJNZ R5,DL11 DJNZ R4,DL00 RETDISPLAY1: ;数码管显示程序 MOV R0,#32H MOV R3,#0EFH MOV A,R3PLAY1:MOV P2,A ;控制数码管的位显示 MOV A,R0 MOV DPTR,#DSEG1 M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论