ImageVerifierCode 换一换
格式:DOCX , 页数:32 ,大小:139.71KB ,
资源ID:8944722      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8944722.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计时器.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计时器.docx

1、计时器中文摘要摘要:基于单片机的计时和控制装置在许多行业有着广泛的应用,而数显计时器是其中最基本,也是最具有代表性的一个例子。在基于单片机的数显计时器电路中,除了基本的单片机系统和外围电路外,还需要外部的控制和显示装置。本数显计时器电路采用AT89C51单片机作为主控MCU,通过单片机的定时中断方式对时间进行控制,实现秒表和时钟两种计时方式。通过使用3个按键开关分别实现计时调整、秒表/时钟计时功能转换、计时器启动/停止/清零功能。通过使用六位LED数码管显示时、分、秒,时钟计时最大计时值为23时59分59秒,秒表计时最大计时值为99分59.99秒,LED数码管采用动态扫描方式。本数显计时器具有

2、体积小、耗电省、控制灵活、精确度高、运行可靠、维护方便等特点,可满足各种场合的应用需要。 关键词:单片机;计时器;LED; AT89C51AbstractAbstract:The control setting and timer setting of micro-controller unit have the extensive application in many professions and digital timer is the most basic and representative one. Aside from the single chip microcomputer

3、 system and outside circuits, there are exterior control and display devices and digital timer circuits which base on the single chip microcomputer system. Applying a main control system MCU which is mainly composed of single microcomputer AT89C51, two timing methods including the stopwatch and cloc

4、k, can be realized through time controlling of MCU in the way of interruption. In order to realize the function transform between stopwatch and clock, as well as timer start/stop/clear functions and timer respectively adjusting, three switches are utilized. This digital timer uses microcomputer to g

5、ive power to six LED digital numerical pipes, which displays hours, minutes and seconds, and the clock of the timer counters 24 hours, and the stopwatch display is 99 minutes 59 seconds 99 milliseconds. The predominance of the product is flexible controlling, high precision and reliable operation an

6、d so on, which can meet the application demand in various occasions. Keywords:Micro Controller Unit ; Timer; LED; AT89C51目 录中文摘要 iAbstract ii1 引言 12 设计要求 13 设计方案 14 硬件系统总体设计方案 24.1 单片机的选择 34.2 LED显示电路的设计与选择 34.2.1 LED显示器的选择 44.2.2 LED显示的驱动电路 44.3 时钟与复位电路的设计 54.3.1 时钟电路的设计 54.3.2 复位电路的设计 64.4 按键电路设计与

7、器件选择 74.4.1 键盘结构的选择 74.4.2 键盘与单片机的接口电路设计 74.5 电源电路的设计 85 系统软件的总体设计 95.1 程序模块的设计 95.2 LED动态显示程序模块的设计 105.3 定时/计数器中断服务程序模块的设计 105.4 数显计时器计时程序模块的设计 115.5 时钟调整程序模块的设计 125.6 时钟/秒表功能转化程序模块的设计 12总结 13参考文献 14附录A 15附录B 161 引言计时器的电路结构简单,功能齐全,计时准确,显示直观,具有最小单片机系统的基本构成。因此,通过本课题计时器的设计,可以明白构成一个最简单,同时也具备实用性的单片机系统需要

8、外围的设备的基本电路。计时器电路中使用了单片机系统中最为常用的输入输出设备:按键开关和数码管。通过对本设计的说明,可以更加明确单片机系统的最简单的用途和控制方法。计时器程序最能反映单片机系统中定时器和中断的用法。单片机系统中的定时和中断是单片机最重要的资源,也是应用最广泛的功能。计时器程序主要就是利用定时器和中断实现计时和显示功能。所以,通过该设计可以了解单片机定时器和中断编程的基本方法。2 设计要求1.以MCS-51系列单片机为核心器件,组成一个计时器系统。2.系统显示器由6位数字型数码管组成,分别显示时间值的时、分和秒。3.能够随时对当前时间进行调整。4.能够随时实现秒表/时钟功能转换、省

9、电(关闭显示)等功能。3 设计方案单片机应用系统是以单片机为核心,配以相应的外围电路和软件,能实现某种功能的应用系统,它由硬件部分和软件部分组成。硬件是系统的基础,软件则是在硬件的基础上对其合理的调配和使用,从而完成应用系统所要求完成的任务。单片机应用系统的研制过程主要包括总体设计、硬件设计、软件设计、仿真调试误差分析等几个阶段,图1为系统总体设计框图。图1 系统总体设计框图总体方案设计对于一个待开发的单片机应用系统,应收集相关的技术资料,查看过去是否有类似项目、产品。如果有,则可分析这些项目、产品有什么优点、缺点,有什么值得借鉴。如果没有,则应首先从理论上分析、探讨实现的可能方案,根据客观条

10、件如环境、测试手段、仪器设备、资金成本等,选择一种最佳方案。4 硬件系统总体设计方案为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些。考虑时钟显示只有六位,且系统没有其它复杂的处理任务,所以,为了使硬件显示电路简单,采用单片机直接驱动LED数码管,用动态扫描法实现LED的显示。单片机采用经济的AT89C51系列,这样单片机可具有足够的空余硬件资源实现其它的扩充功能。根据设计要求与设计思路,确定出了该系统的硬件设计方案,图2所示为该系统设计方案的硬件电路设计框图。硬件电路由5个部分组成,即单片机按键控制电路、单片机时钟复位电路、LE

11、D显示电路、列驱动电路、电源电路。 图2 硬件系统总体设计框图4.1 单片机的选择根据初步设计方案的分析,设计这样一个的应用系统,可以选择带有FlashROM 的单片机,应用程序直接存储在片内,不用在外部扩展程序存储器,电路可以简化。可以选用与MCS-51系列相兼容的芯片,如ATMEL公司生产的AT89C系列单片机,见表1。AT89C系列与MCS-51系列单片机相比最大的特点就是片内程序存储器采用闪速存储器,可以十分容易地进行程序的修改。为了便于设计,对本例我们可选用AT89C51单片机。该芯片的功能与MCS-51系列单片机完全兼容,并且还具有程序加密等功能,物美价廉,经济实用。4.2 LED

12、显示电路的设计与选择单片机应用系统中,通常都需要人机对话。这包括人对应用系统的状态干预与数据输入,以及应用系统向人们显示运行状态与运行结果等。显示器、键盘电路就是用来完成人机对话活动的人机通道。本设计采用AT89C51的P0.0P0.8口作为段码选通端口,用P2.0P2.5作为列扫描端口。LED显示电路的原理图如3所示。 图3 LED显示电路原理图4.2.1 LED显示器的选择在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。LED发光器件一般常用的有两类:笔段字符式和点阵字符式。从连接方式上分有两类:共阳极和共阴极。共阳极

13、的有效输入应为低电平,共阴极的有效输入应为高电平。在我们的设计中,根据设计要求,选择了笔段字符式LED显示器,采用共阳极接法。为此选择2位一体的时钟型LED显示器,简称“2-LED”,如图4所示。分别用2位中的高位显示“时”、“分”、“秒”的十位,用低位显示“时”、“分”、“秒”的个位。 图4 2-LED显示器管脚4.2.2 LED显示的驱动电路LED驱动问题是显示器设计中一个非常重要的环节。因为如果驱动能力差,显示器亮度就低;且驱动器长期超负荷下运行很容易损坏。动态显示由于一位数据的显示是由段选信号和位选信号共同配合完成的,因此必须同时考虑段和位的驱动能力,而且段的驱动能力决定位的驱动能力。

14、1.LED的段驱动选择本设计中选用了P0端口作为段码输出端,R为上拉电阻,作用是保证LED可靠导通与截止,可以选择阻值为430的电阻。AT89C51单条引脚可以允许1020mA电流流入,所有I/O引脚总的灌入电流不得超过7180mA。对于扫描式7段LED显示器可以直接驱动。当7段都处于亮的显示状态时,P0.1到P0.7流过的电流为IOL。 2.LED的位驱动选择本设计中需使用6位LED数码管显示,采用共阳极接法,由P2口作为与LED的输出接口,用P2口的低6位作为LED的位码输出信号,为了提供共阳极LED数码的驱动电压,采用三极管9012作为电源驱动输出。4.3 时钟与复位电路的设计4.3.1

15、 时钟电路的设计单片机时钟电路通常有两种形式:1内部振荡方式AT89C51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图5所示)。2外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内(如图6所示)。 在组成一个单片机应用系统时,多数采用图6所示的内部振荡方式,这种方式的结构紧凑、成本低廉、可靠性高。电路中,电容器C1和C2对振荡频率有微调作用,通常的取值范围为(3010)pF。为了提高秒计时的精确性,石英晶体选择12MHz.

16、。图5 内部振荡方式 图 6 外部振荡方式4.3.2 复位电路的设计AT89C51单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并从初态开始工作。AT89C51单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并将系统复位。单片机的复位方式有上电自动复位和手动复位两种,如图7所示。上电复位电路是在供电的瞬间RST输入高电平进行复位,上电时,只要Vcc上升时间不超过1ms,振荡器建立时间不超过10ms,它们都能很好地工作。

17、复位以后,单片机内部各部件恢复到初始状态。按键电平复位电路是按键后自动复位。按键脉冲电路是键按下后有脉冲输入时才会复位。根据设计方案,本设计中复位电路选择了按键电平复位电路,电阻电容器的选择,即R2=200,R3=8.2K,C3=10F。按键可以选择专门的复位按键,也可以选择轻触开关。 图7 (a)上电复位电路 (b)按键电平复位电路 (c)按键脉冲复位电路4.4 按键电路设计与器件选择数显计时器应用系统工作时应具备两项基本功能:一是随时实现秒表/时钟计时功能转换;二是随时对当前时间进行调整。要实现这一功能,可以接入键盘输入电路。4.4.1 键盘结构的选择 常用的键盘接口分为独立式按键接口和矩

18、阵式按键接口。独立式按键就是各按键相互独立,每个按键接一根输入线,一根输入线上的按键工作状态不会影响其他输入线上的工作状态。因此,通过检测输入线上的电平状态可以很容易判断哪个按键被按下了。此种按键适用于按键较少或操作速度较高的场合。矩阵式键盘适用于按键数量较多的场合,它由行线和列线组成,按键位于行列的交叉点上。与独立式键盘相比,要节省很多的I/O线。本设计只需3个按键,因此选择独立式键盘。电路由按键和3个电阻组成,按键可以采用轻触开关,按键分别命名为S1、S2和S3。为了实现按键功能,使P1口的电平触发灵敏可靠,接500的上拉电阻。4.4.2 键盘与单片机的接口电路设计电路如图8所示,将键盘直

19、接与单片机的P1口连接,用P1.0、P1.1、P1.2口接三个按钮开关。当按键未被按下时,P1.0、P1.1、P1.2均保持高电平,当某一按键被按下时,对应的接口变为低电平,执行相应功能。三个按键功能如下: 图8 键盘接口电路原理图1. S1键功能:设置当前时间,即当数显计时器的时间有误差时,需要随时对它进行调整,使用S1键与S2键配合来完成计时器的时分+1、-1调整这一功能。操作说明如下:按下S1按键,若按下时间短于1s,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当按下按钮时,若按下时间短于0.5s,则时间加1分;若按下时间长于0.5s,则进入小

20、时调整状态。在小时调整状态下,当按键按下的时间长于0.5s时,退出调整状态,时钟继续走动。S2按键在调时状态下可实现减1功能。2. S2键功能:在正常计时状态下,若按下S2按键,则进行时钟/秒表计时功能转换,转换后计时从零开始。S2按键在调时状态下可实现减1功能。3. S3键功能:当按下S3按键时,可实现计时器的启动、停止、清0功能。4.5 电源电路的设计直流电源是单片机系统中重要组成部分,它不仅为系统提供电源电压,还直接影响到系统的技术和抗干扰性能。比较经济实用的方法是由电网提供的交流电经过整流、滤波和稳压以后得到的。直流电源的组成框图如图9所示。电源电路原理图如图10所示。将市电通过变压器

21、降压,桥式整流,电容滤波后用稳压器7805稳压为5V直流电,供AT89C51单片机使用。 图9 直流电源的组成 图10 电源电路原理图5 系统软件的总体设计软件设计的任务是在总体设计和硬件设计的基础上确定程序结构,分配单片机内部RAM资源,然后进行主程序和各模块程序的设计,最后连接起来成为一个完整的应用程序。本设计将程序划分成6个模块。如图11所示。图11 系统软件模块划分框图5.1 程序模块的设计主程序的内容一般包括:主程序的起始地址、中断服务程序的起始地址、有关内存单元及相关部件的初始化和一些子程序调用等。本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,

22、转入相应功能程序。主程序执行流程图如图12所示。 图12 主程序流程图5.2 LED动态显示程序模块的设计为了将一个4位二进制数(可能为一个十六进制数,也可能为是一个BCD码)在LED上显示出来,就需要将4位二进制数译为LED的7位显示代码。LED动态显示程序执行流程图如图13所示。图13 LED动态显示程序执行流程图5.3 定时/计数器中断服务程序模块的设计在单片机中,定时功能既可以由硬件(定时/计数器)实现,也可以通过软件定时程序实现。软件延时程序占用CPU的时间,降低了CPU的利用率;硬件定时是利用单片机片内定时器定时,启动以后定时器可与CPU并行工作,不占用CPU的时间,使CPU有较高

23、的工作效率。本设计中,我们采用硬件定时和软件定时并用的方式。由于MCS-51的定时/计数器是可编程的,因此,在进行定时或计数之前先要用程序进行初始化。中断服务程序执行流程如图14所示。 图14 T0中断服务程序5.4 数显计时器计时程序模块的设计电子时钟系统的主要任务是:采用单片机为核心器件产生24h时间,并用LED显示器将它显示出来。因此,还要设计一个时钟程序以实现24h的定时功能。本设计中单片机采用的时钟频率为12MHZ,则定时器最长的定时时间是65.536ms,在这种情况下24h这个值已经超过了定时器的最大定时值65.536ms。因此要产生24h的时间值,可采用硬件定时和软件计数相结合的

24、方法来实现。累计24h的时间值,需要设置以下几个寄存器:R0:时间计时单元指针寄存器。先将R0指向秒计时单元(70H71H)。R3:累计60时间寄存器。当R3大于或等于60s时,对秒计时单元清0,将R0指向分计时单元(76H77H),并将分计时单元加1;或当R3大于或等于60时,对分计时单元清0,将R0指向小时计时单元(78H79H),并将小时计时单元加1;或当R3大于或等于24h时,对小时单元清0,到此,中断退出。中断退出时将分、时计时单元数据移入对应显示单元。R4:累计1s时间寄存器。T1每中断一次R4=R4-1,计数20次向R3进位,并将R4重装初值。5.5 时钟调整程序模块的设计调时功

25、能程序的设计方法是:按下P1.0口(S0)按键,若按下时间短于1s,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当再按下按钮时,若按下时间短于0.5s,则时间加1分;若按下时间长于0.5s,则进入小时调整状态。在小时调整状态下,当按键按下的时间长于0.5s时,退出调整状态,时钟继续走动。此外,P1.1口(S1)按键在调时状态下可实现减1功能。根据按键电路设计可知,当S0 键按下时,产生INT0中断请求,CPU响应中断请求时,便进入该中断服务程序。程序中,将时钟的各位分别进行调整。采用24h时间表示,因此6位时间值要分别加以限制。即小时十位,数的允许范

26、围02;小时个位,数的范围有两种可能:当小时十位为0、1时,小时个位的允许范围是09,当小时十位为2时,小时个位的允许范围是03;分十位,数的允许范围是05;分个位,数的允许范围是09;秒十位,数的允许范围是05;秒个位,数的允许范围是09。5.6 时钟/秒表功能转化程序模块的设计 图15 时钟/秒表功能转化程序流程在正常计时状态下,若按下P1.1口按键,则进行时钟/秒表功能的转换,转换后计时从零开始。当按下P1.2口按键时,可实现清0、计时启动、暂停功能。时钟/秒表功能转化程序流程如图15所示。总结本计时器按设计要求以AT89C51单片机为核心器件,配合外围电路,通过控制和显示装置来实现计时

27、器系统。控制中通过使用3个按键开关分别实现计时调整、秒表/时钟计时功能转换、计时器启动/停止/清零功能。使用六位LED数码管显示时、分、秒,LED数码管采用动态扫描方式。本计时器,能实现秒表和时钟两种计时功能。具有体积小、耗电省、控制灵活、精确度高、运行可靠、维护方便等特点,只需单电源供电,适合使用于家庭、办公室、工业控制领域等场所。经使用,该计时器计时准确,计时精度可达到分辨10ms,显示直观,时间可任意调整,使用方便。在本此课程设计中,也遇到了一些问题,比如编程方面,对于应用单片机来完成计时器,则要求写程序的,在相关方面部分是借助资料和老师的指导。参考文献1董小红 主编,单片机原理及接口技

28、术,西安电子科技大学出版社,2004.82苏家健 主编,单片机原理及应用技术,北京高等教育出版社,2004.113肖金球 主编,单片机原理与接口技术,清华大学出版社,2004.124戴盛华 主编,单片机原理与应用,清华大学出版社,2005.45陆子明 主编,单片机设计与应用基础教程,国防工业出版社,2005.16张毅刚,彭喜元,姜守达,乔立岩 编著,新编MCS-51单片机应用设计,哈尔滨工业大学出版社,2005.17孙俊逸,盛秋林,张铮 编著,单片机原理及应用,清华大学出版社,2006.38余永权.世界流行单片机技术手册(美国系列). 北京航空航天大学出版社,20049赵建领.51系列单片机开

29、发宝典.电子工业出版社,2007附录A图16 计时器硬件电路原理图附录B;AT89C51控制源程序清单;定时器T0、T1溢出周期为50ms(10ms),T0为秒计数用,T1为调整;时闪烁用,P1.0、P1.1、P1.2为调整按钮,P0口为字符输出口,采用共;阳显示管。;中断入口程序ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回 ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTT0执行 ORG 0013H ;外中断1中断程序入口 RETI ;外中断1中断返回O

30、RG 001BH ;定时器T1中断程序入口LJMP INTT1 ;跳至INTT1执行ORG 0023H ;串行中断程序入口RETI ;串行中断程序返回;主程序START: MOV R0,#70H ;清70H7AH共11个内存单元 MOV R7,#0BHCLEAR: MOV R0,#00H INC R0 DJNZ R7,CLEAR ;若R7=0,则继续执行 MOV 7AH,#0AH ;放入“熄灭符”数据 MOV TMOD,#11H ;设T0、T1为16位定时器 MOV TL0,#0B0H ;50ms定时器初值(T0计时用) MOV TH0,#3CH ;50ms定时器初值 MOV TL1,#0B0

31、H ;50ms定时器初值(T1计时用) MOV TH1,#3CH ;50ms定时器初值11 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4,#14H ;1S定时用初值(50ms20)START1: LCALL DISPLAY ;调用显示子程序 JNB P1.0,SETMM1 ;P1.0口为0时,转到时间调整程序 JNB P1.1,FUNSS ;秒表功能,P1.1按键调时时作减1操作 JNB P1.2,FUNPT ;RUN,STOP,CLR SJMP START1 ;P1.0口为1时跳回START1SETMM1:LJMP SETMM ;转到时间调整程序SETMMFUNSS: LCALL DS20MS ;延时消抖动 JB P1.1,START1 ;干扰返回WAIT11: JNB P1.1,WAIT11 ;等待按键放开 CPL 03H ;03H标志取反 MOV 70H,#00H ;存储单元清0 MOV 71H,#00H MOV 76H,#00H MOV 77H,#00H MOV 78H,#00H MOV 79H,#00H

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1