《单片机技术应用》项目二 定时器应用-任务六 60秒定时器_第1页
《单片机技术应用》项目二 定时器应用-任务六 60秒定时器_第2页
《单片机技术应用》项目二 定时器应用-任务六 60秒定时器_第3页
《单片机技术应用》项目二 定时器应用-任务六 60秒定时器_第4页
《单片机技术应用》项目二 定时器应用-任务六 60秒定时器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目2定时器应用任务六60秒定时器任务提出

将利用Timer0作为定时器,两个七段显示器从“00”开始显示,每一秒增加1,到达“59”后,再从“00”开始,也就是60秒的定时器。每60秒,D1切换一次。

一、定时器/计数器的及工作原理

80C51系列单片机内有两个16位定时器/计数器T0和T1,为单片机应用系统提供定时和计数功能。

定时器/计数器的实质是加1计数器(16位),其计数脉冲可以是来自内部系统时钟,也可以是外部脉冲。当对内部系统时钟的12分频信号(也就是机器周期信号)进行计数时即为定时器,对外部脉冲进行计数时则为计数器。

每个定时器/计数器分别由高8位和低8位两个特殊功能寄存器组成,T0由TH0和TL0组成,T1由TH1和TL1组成,这些寄存器用于存放定时或计数的初值。

TMOD是定时器/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。每来一个脉冲计数器加1,当加到计数器为全1(即FFFFH)时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时器/计数器中断允许时)。1.用作定时器:2.用作计数器:二、定时器/计数器的工作方式寄存器(TMOD)TMOD结构如下:

其中高4位D7~D4用于T1,低4位D3~D0用于T0,各位的意义如下:

1.GATE:门控位。2.C/-T:定时/计数模式选择位。C/-T=0为定时模式;C/-T=1为计数模式。3.M1、M0:工作方式选择位。三、定时器/计数器的控制寄存器TCON

TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时器/计数器的启动和中断申请。IE1:外部中断1请求标志。IT1:外部中断1触发方式选择位。IE0:外部中断0请求标志。IT0:外部中断0触发方式选择位。四、定时器/计数器的工作方式80C51系列单片机的两个定时器/计数器的定时和计数功能都有4种工作方式:方式0、方式1、方式2和方式3。除方式3外,T0和T1有完全相同的工作状态。下面以T0为例,分述各种工作方式的特点和用法。1.工作方式0:13位方式由TL0的低5位和TH0的8位构成13位计数器(TL0的高3位无效)。工作方式0的结构见下图:(1)为定时/计数选择:

C/T=0,T1为定时器,定时信号为振荡周期12分频后的脉冲;C/T=l,T1为计数器,计数信号来自引脚T1的外部信号。⑵TMOD寄存器初始化为把定时器/计数器0设定为方式0,则M1M0=00;为实现定时功能,应使C/-T=0;为实现定时器/计数器0的运行控制,则GATE=0。定时器/计数器1不用,有关位设定为0。因此TMOD寄存器应初始化为00H。⑶由定时器控制寄存器TCON中的TR0位控制定时的启动和停止TR0=1启动,TR0=0停止。2.工作方式1:

工作方式1是16位计数结构的工作方式,计数器由TH0全部8位和TL0全部8位构成。与工作方式0基本相同,区别仅在于工作方式1的计数器TL1和TH1组成16位计数器,从而比工作方式0有更宽的定时/计数范围。3.工作方式2

由TLl构成8位计数器,THl仅用来存放时间常数。启动T1前,TLl和THl装入相同的时间常数,当TL1计满后,除定时器回零标志TFl置位,具有向CPU请求中断的条件外,THl中的时间常数还会自动地装入TLl,并重新开始定时或计数。所以,工作方式2是一种自动装入时间常数的8位计数器方式。4.工作方式3

2个8位方式。工作方式3只适用于定时器0。如果使定时器1为工作方式3,则定时器1将处于关闭状态。五、定时器/计数器的初始化:

由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始化的步骤一般如下:1.确定工作方式(即对TMOD赋值);2.预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);3.根据需要开放定时器/计数器的中断(直接对IE位赋值);4.启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚步加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。2.1.4任务实施

通过AT89C51型号单片机,由P1和P2两组I/O引脚分别控制两个七段共阴极数码管,分十位控制和个位控制,显示时间为0-59秒,每1秒自动加1,达到显示60秒定时器时的目的。另外设计一个“启动”键、一个“停止”键和一个“清零”键。能用按钮实现秒表启动、停止、清零功能。一、电路部分(一)时钟电路常用的有内部时钟方式和外部时钟方式(二)按键输入电路(三)显示电路(四)单片机(五)参数计算(六)LED数码管显示器1.数码管的分类数码管按段数分为七段数码管和八段数码管2.LED数码管有两种连接方法:共阳极接法、共阴极接法二、硬件电路(一)STC89C52RC单片机的简单介绍(二)接口电路(三)元器件材料表三、软件设计

(一)主程序设计

主程序首先声明变量,然后设置定时器中断,再设置定时值启动定时器,再关闭LED灯,最后停滞。(二)子程序设计子程序包括T0中断程序,TI中断程序。1、TO中断子程序使用Timer0来定时,首先重设定时值,使用Mode1,计数值设置为50000(即50ms)重复次数为20次,秒数加1。秒数到达60秒后,秒数归零,切换LED。2、T1中断子程序(三)运行调试运行调工作流程如下:(1)根据图1.1所示原理图,在单片机学习板上焊接硬件电路(或在单片机控制装置实验仪器的接线)(2)运行仿真软件(如keil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论