单片机5、MCS-51的定时器计数器.ppt_第1页
单片机5、MCS-51的定时器计数器.ppt_第2页
单片机5、MCS-51的定时器计数器.ppt_第3页
单片机5、MCS-51的定时器计数器.ppt_第4页
单片机5、MCS-51的定时器计数器.ppt_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、第5章 MCS-51的定时器/计数器,5.1 定时器/计数器的基本原理 5.2 定时器/计数器的工作方式 5.3 定时器/计数器的控制 5.4 应用举例,5.1 定时器/计数器的基本原理,控制,MCS-51有2个相同结构的定时器/计数器 控制寄存器TMOD、TCON实现有关控制,二进制加法 计数器,进位,1、计数位可变 2、可赋初值 3、高8位、低8位可分别操作,计数脉冲,1、或者来自内部时钟(定时器) 2、或者来自外部输入信号(计数器),控制该开关,从而控制加法计数器是否启动。,1、检测进位位可测定时间 2、可引发中断,5.2 定时器/计数器的工作方式,一、模式 0,振荡器,1/12,1,&

2、,TF1,TH1 (8位),TL1 (低5位),C/T=0,C/T=1,控制,T1 引脚,TR1,GATE,中断,定时器/计数器1(或0)模式0:13位计数器,二、模式 1,振荡器,1/12,1,&,TF1,TH1 (8位),TL1 (8位),C/T=0,C/T=1,控制,T1 引脚,TR1,GATE,中断,定时器/计数器1(或0)模式1:16位计数器,三、模式 2,振荡器,1/12,1,&,TF1,TL1 (8位),C/T=0,C/T=1,控制,T1 引脚,TR1,GATE,中断,TH1 (8位),重装载,定时器/计数器1(或0)模式2:8位自动重装载,四、模式 3,振荡器,1/12,1,&

3、,TF0,TL0 (8位),C/T=0,C/T=1,控制,T0 引脚,TR0,GATE,中断,定时器/计数器0模式3:2个8位计数器,TF1,TH0 (8位),控制,中断,1/12 fosc,1/12fosc,TR1,5.3 定时器/计数器的控制,一、模式控制寄存器 TMOD,TMOD寄存器:,(89H),定时器/计数器1,定时器/计数器0,M1、M0:工作方式设置位,0 0:模式0(13位定时器/计数器) 0 1:模式1(16位定时器/计数器) 1 0:模式2(可自动重装的8位定时器/计数器) 1 1:模式3(T0分为2个8位计数器;T1此时停止工作),TMOD寄存器:,(89H),定时器/

4、计数器1,定时器/计数器0,C/T :计数器/定时器选择位,0:片内时钟定时器(1/12 fosc) 1:外部时钟计数器(T0、T1 ),振荡器,1/12,C/T=0,C/T=1,T0 引脚,1/12 fosc,控制,TMOD寄存器:,(89H),定时器/计数器1,定时器/计数器0,GATE :选通门,0:启动/停止仅由软件对TRx位写“1”/“0”控制 1:启动/停止由软件对TRx位写“1”/“0” 和在外中断INTx引脚出现信号的高/低共同控制,1,&,控制,TR0,GATE,计数脉冲,二、控制寄存器 TCON,TCON寄存器:,(88H),TFx: 溢出标志位 0: 计数器未满 1: 计

5、数器溢出 溢出时自动置位;在进入中断服务程序时会自动清零。,TF1,TH1 (8位),TL1 (8位),中断,计数脉冲,TCON寄存器:,(88H),TCON寄存器:,(88H),TRx: 运行控制位 0: 停止计数 1: 启动计数;,振荡器,1/12,1,&,C/T=0,C/T=1,控制,T1 引脚,TR1,GATE,定时器/计数器应用步骤:,1、确定工作方式(对TMOD赋值) 2、计算初值(写入TH0、TL0或TH1、TL1) 3、视情开中断(对IE赋值) 4、启动定时/计数器(TR0或TR1置位),例1: 用T0的方式0产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波。采用

6、中断方式,设系统时钟频率为6 MHz。,振荡器,1/12,1,&,TF0,TH0 (8位),TL0 (5位),C/T=0,C/T=1,控制,T0 引脚,TR0,GATE,中断,TMOD:,f = 1/12*6 MHz TCy = 2 s,Nt/ Tcy 1010-3/210-6= 5000 a21350003192110001111000B,TH0(8位),TL0(5位),即应将63H送入TH0中,18H送入TL0中,ORG 0000H LJMP MAIN ORG 000BH LJMP DVT0 ORG 0100H MAIN:MOV TMOD,#00H MOV TH0, #63H MOV TL

7、0, #18H SETB ET0 SETB EA SETB TR0 SJMP $,DVT0:CPL P1.0 MOV TH0,#63H MOV TL0,#18H RETI END,ORG 0000H LJMP MAIN ORG 0100H MAIN: MOV TMOD,#00H LOOP:MOV TH0, #63H MOV TL0, #18H SETB TR0 JNB TF0,$ CLR TF0 CPL P1.0 SJMP LOOP END,采用软件查询方式:,例2: 利用定时/计数器T1,采用工作方式2,使P1.7引脚输出周期为1ms的方波。设时钟频率为6MHz。,TCy = 2 s N=1

8、/2*1000/2=250 a = 28-250 = 6,ORG 0000H AJMP MAIN ORG 001BH CPL P1.7 RETI ORG 0030H MAIN:MOV TMOD,#20H MOV TH0, #06H MOV TL0, #06H,SETB ET1 SETB EA SETB TR1 SJMP $ END,例3: 利用T0门控位测试/INT0引脚上出现的正脉冲宽度,已知晶振频率为12MHz,将所测得值高位存入片内21H单元,低位存入片内20H单元中。,?,当TR0=1,GATE=1时,F=?,ORG 0000H AJMP MAIN ORG 0200H MAIN:MOV

9、 TMOD,#09H MOV TH0, #00H MOV TL0, #00H MOV R0, #20H L1: JB P3.2,L1 SETB TR0 L2: JNB P3.2,L2,L3: JB P3.2,L3 CLR TR0 MOV R0,TL0 INC R0 MOV R0,TH0 SJMP $ END,小结:,51系列单片机具有2个16位的定时计数器,有四种不同的工作方式。,初始化编程,即写入方式控制字TMOD,置计数初值于THx和TLx,并启动工作(TRx置1),如果工作于中断方式,还需要开中断。,定时和计数实质都是对脉冲计数,只是被计的脉冲的来源不同。,无论计数还是定时,当计满规定的

10、脉冲个数,即计数初值回零时,会自动置位TFx位,可以通过查询和中断方式处理计数或定时满要完成的任务。,思考题:,1、定时/计数器工作于定时和计数方式时有何异同点? 2、定时/计数器的4种工作方式各有何特点? 3、要求定时/计数器的运行控制完全由TR1、TR0确定和完全由、高低电平控制时,其初始化编程应作何处理? 4、当定时/计数器T0用作方式3时,定时/计数器T1可以工作在何种方式下?如何控制T1的开启和关闭? 5、利用定时/计数器T0从P1.0输出周期为1s,脉宽为20ms的正脉冲信号,晶振频率为12MHz。试设计程序。 6、试用定时/计数器T1对外部事件计数。要求每计数100,就将T1改成定时方式,控制P1.7输出一个脉宽为10ms的正脉冲,然后又转为计数方式

温馨提示

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

评论

0/150

提交评论