第8-9讲定时器计数器概述_第1页
第8-9讲定时器计数器概述_第2页
第8-9讲定时器计数器概述_第3页
第8-9讲定时器计数器概述_第4页
第8-9讲定时器计数器概述_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、(1)机器周期:单片机完成一个独立操作需要的时间,由6个时钟周期组成。时钟周期:内部时钟经二分频得到,是振荡周期的2倍。振荡周期:片内或片外振荡器产生,为1/fosc。指令周期:完成指令需要的时间,为14个机器周期: 对外界发生的事件脉冲(对外界发生的事件脉冲(Tx输入端输入端)进行计数,当达到程)进行计数,当达到程序规定的计数值时,输出一脉冲信号,申请中断。序规定的计数值时,输出一脉冲信号,申请中断。例如一啤酒生产线,如下图所示例如一啤酒生产线,如下图所示:计数计数24瓶瓶光电信号检测光电信号检测24瓶装完申请中断瓶装完申请中断转入中断服务程序装箱转入中断服务程序装箱输送带输送带T0、T1输

2、入端输入端 :P3.4和和P3.5MCS-51主要由如下构成主要由如下构成:两个两个16位的可编程定时器位的可编程定时器/计数器:定时计数器:定时器器/计数器计数器0、1。每个定时器有两部分构成:每个定时器有两部分构成:THx和和TLx 特殊功能寄存器特殊功能寄存器TMOD和和TCON ,主要,主要对对T0和和T1进行控制。进行控制。 8031片内有两个片内有两个16位定时器计数器,称为位定时器计数器,称为T0,T1,与其,与其有关的特殊功能寄存器有:有关的特殊功能寄存器有: T1 T0 GATE C/T M1 M0 GATE C/T M1 M0 字节地址字节地址89H 门控位门控位 ,为,为

3、1时时 ,要求,要求INTi引脚高电平引脚高电平,且且TRx=1时,才计时,才计数;为数;为0时,只需时,只需TRx=1,即选通定时器,即选通定时器/计数器。计数器。 1 计数计数 ; 0 定时定时 00 方式方式0 ;01 方式方式1 ; 10 方式方式2 ; 11 方式方式313位计数器位计数器 ; 16位计数器;位计数器; 自动再装入的自动再装入的8位计数器;位计数器;将将T0分成分成2个个8位计数器,位计数器,T1 无效(停止计数)无效(停止计数) 字节地址字节地址88H 可位寻址可位寻址 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 对对T1控制控制 对对T0控制控

4、制 与外部中断相关与外部中断相关 TRx置置1,则,则启动启动定时器工作,定时器工作,TFx为为1,定时器,定时器x溢出溢出。 例例 TMOD=0 x06; 0 0 0 0 0 1 1 0 门控位为门控位为0 T1方式方式0 T0方式方式2 定时功能定时功能 计数功能计数功能只要用只要用 TR0=1 , TR1=1 即可启动即可启动T0 T1 开始工作。开始工作。TR1、TR0:T1、T0启停控制位启停控制位。 置置1,启动定时器;,启动定时器; 清清0,关闭定时器。,关闭定时器。IE1、IE0:外部中断:外部中断1、0请求标志位请求标志位IT1、IT0:外部中断:外部中断1、0触发方式选择位

5、触发方式选择位注意:注意: GATE=1 ,TRx与与P3.2(P3.3) 的配的配合。合。 TL0 TH0 TL1 TH1 用于存放计数初值,具有自动加用于存放计数初值,具有自动加1功能,加满后溢出功能,加满后溢出 它们的它们的字节地址是字节地址是: 控制定时器控制定时器/计数器工作方式,计数长度可分别选计数器工作方式,计数长度可分别选择择8位,位,16位,位,13位。位。 注意它是注意它是加加1计数器计数器,例如选择,例如选择8位计数器,最大位计数器,最大可存可存255,如果置入初值,如果置入初值250,则计数,则计数6次即溢出中断。次即溢出中断。3 定时器计数器的四种工作方式(以定时器计

6、数器的四种工作方式(以T0为例)为例) 13位计数器位计数器(无自动重装入功能)无自动重装入功能) 13位计数值,放在位计数值,放在 TLx 中的低中的低5位和位和THx中的中的8位,构成位,构成13位位计数器。计数器。工作过程:工作过程:TL0溢出后向溢出后向TH0进位,进位,TH0溢出后将溢出后将TF0置位,置位,并向并向CPU申请中断申请中断。 选择选择T0方式方式0定时,定时,TMOD的低的低4位为:位为: 0 0 0 0 例例1如:要求从如:要求从P1.0脚发出周期为脚发出周期为2ms的方波的方波,只要选只要选T0定时间隔定时间隔1ms,求反求反P1.0即可满足。即可满足。定时工作方

7、式中定时工作方式中, 令计数器加令计数器加1的周期是每个的周期是每个机器周期加机器周期加1,10高电平高电平1ms低电平低电平1ms设定时器时间常数为设定时器时间常数为N设设f=6MHZ,则有机器周期,则有机器周期T=2us N=8192 - 500=7692 00011110 00001100B 11110000 00001100 TH0=F0H TL0=0CH 即共加即共加500次,每次耗费次,每次耗费2s,共耗费时间,共耗费时间1ms 程序如下:程序如下:C语言程序语言程序:#include /包含特殊功能寄存器库包含特殊功能寄存器库sbitP1_0=P10; /进行位定义进行位定义void main( ) TMOD=0 x00; /T0做定时器,模式做定时器,模式0TL0=0 x0c;TH0=0 xf0;/设置定时器的初值设置定时器的初值TR0=1; /启动定时器启动定时器while(1) /无限循环无限循环 While(!TF0); /查询查询T0是否溢出是否溢出 TF0=0; /T0溢出,软

温馨提示

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

评论

0/150

提交评论