第八章定时器计数器_第1页
第八章定时器计数器_第2页
第八章定时器计数器_第3页
第八章定时器计数器_第4页
第八章定时器计数器_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

1,第八章定时器/计数器及应用,2,主要内容,8.1定时器/计数器概述8.2定时器/计数器的控制8.3定时器/计数器的工作方式及应用,3,8.1定时器/计数器概述,一、定时方法:1、硬件定时:较长时间;不够灵活、方便;2、软件定时:编循环程序,时间精确;占用CPU;3、可编程定时器定时:对系统时钟脉冲记数,灵活、方便。,4,8.1定时器/计数器概述,二、定时器/计数器的工作原理:定时器/计数器中的核心部件为可预置初值计数器。预置初值后开始计数,直至计数值回0或产生溢出,可申请中断。计数器有加1计数或减1计数两种形式。,5,8.1定时器/计数器概述,6,8.1定时器/计数器概述,加1计数器输入的计数脉冲有两个来源:一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。,7,8.1定时器/计数器概述,如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值,8,8.1定时器/计数器概述,设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期T就是定时时间t。,9,8.1定时器/计数器概述,设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2s。,10,主要内容,8.1定时器/计数器概述8.2定时器/计数器的控制8.3定时器/计数器的工作方式及应用,11,8.2定时器/计数器的控制,定时器初始化编程包括:1.功能选择(定时/计数);2.位数选择(8/13/16位);3.启动方式选择(内部启动/外部启动);4.启动控制(启动/停止);8.恢复初值方式(自动重装/软件重装)。,12,8.2定时器/计数器的控制,一、定时器控制、状态寄存器:1、TMOD定时器方式寄存器(89H):80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。,13,8.2定时器/计数器的控制,1)功能选择位C/T:=0:定时功能,计数内部机器周期脉冲;=1:计数功能,计数引脚T0(T1)输入的负脉冲。,14,8.2定时器/计数器的控制,2)方式选择位M1、M0:4种工作方式:13/16/8位,15,8.2定时器/计数器的控制,3)门控方式选择位GATE:=0,非门控方式(内部启动):TRx=1,启动定时器工作;TRx=0,停止定时器工作。=1,门控方式(外部启动):TRx=1且引脚INTx=1才启动。,16,8.2定时器/计数器的控制,确定定时器工作方式指令:MOVTMOD,#方式字例:设T0用方式2非门控定时,T1用方式1门控计数。MOVTMOD,#?,17,8.2定时器/计数器的控制,2、TCON定时器控制/状态寄存器:TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:,18,8.2定时器/计数器的控制,1)启动控制位TR0、TR1:=0,停止定时器工作;=1,启动定时器工作。例:启动T0:SETBTR0,19,8.2定时器/计数器的控制,2)溢出中断标志位TF0、TF1:定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后,系统自动将TFx清0。也可用软件检测TFx,这时必须软件清0。WAIT:JBCTF0,NEXT;检测T0是否溢出SJMPWAIT;未溢出,继续检测NEXT:;溢出,TF0清0,处理溢出,20,8.2定时器/计数器的控制,3、可预置初值的16位加1计数器TH0、TL0、TH1、TL1:如:预置T0初值指令:MOVTH0,#XHMOVTL0,#XL,21,主要内容,8.1定时器/计数器概述8.2定时器/计数器的控制8.3定时器/计数器的工作方式及应用,22,8.3定时器/计数器的工作方式及应用,定时器工作方式:由方式选择位M1、M0设定。1、方式0(M1M0=00):13位定时/计数器。THx8位和TLx低5位组成加1计数器。计数外部脉冲个数:18192(213)定时时间(若T=1s):1s8.19msT=12/fosc,23,8.3定时器/计数器的工作方式及应用,方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。,24,8.3定时器/计数器的工作方式及应用,2、方式1(M1M0=01):16位定时/计数器。THx8位和TLx8位组成16位加1计数器。计数外部脉冲个数:165536(216)T=12/fosc定时时间(若T=1s):1s(65536T=68.54ms),25,8.3定时器/计数器的工作方式及应用,26,8.3定时器/计数器的工作方式及应用,3、方式2(M1M0=10):自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。用于需要重复定时和计数的场合。最大计数值:256(28)最大定时时间(若T=1s):256sT=12/fosc,27,8.3定时器/计数器的工作方式及应用,28,8.3定时器/计数器的工作方式及应用,4、方式3(M1M0=11):T0分成2个8位定时器:TL0定时/计数器和TH0定时器;TL0占用T0控制位:C/T,TR0,GATE;TH0占用T1控制位:TR1、TF1;T1不能使用方式3工作,常作串口的波特率发生器使用。,29,8.3定时器/计数器的工作方式及应用,30,8.3定时器/计数器的工作方式及应用,定时/计数器用于外部中断扩展扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产生定时/计数器溢出中断。,31,8.3定时器/计数器的工作方式及应用,例如,利用T0扩展一个外部中断源。将T0设置为计数器方式,按方式2工作,TH0、TL0的初值均为0FFH,T0允许中断,CPU开放中断。其初始化程序如下:MOVTMOD,#06H;置T0为计数器方式2MOVTL0,#0FFH;置计数初值MOVTH0,#0FFHSETBTR0;启动T0工作SETBEA;CPU开中断SETBET0;允许T0中断,32,8.3定时器/计数器的工作方式及应用,定时/计数器应用举例初始化程序应完成如下工作:对TMOD赋值,以确定T0和T1的工作方式。计算初值,并将其写入TH0、TL0或TH1、TL1。中断方式时,则对IE赋值,开放中断。使TR0或TR1置位,启动定时/计数器定时或计数。,33,8.3定时器/计数器的工作方式及应用,例利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12MHz。解:1、计算计数初值X:由于晶振为12MHz,所以机器周期Tcy为1s。所以:Nt/Tcy10103/110610000X655361000055536D8F0H即应将D8H送入TH0中,F0H送入TL0中2、求T0的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;,34,8.3定时器/计数器的工作方式及应用,ORG0000HLJMPMAIN;跳转到主程序ORG000BH;T0的中断入口地址LJMPDVT0;转向中断服务程序ORG

温馨提示

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

最新文档

评论

0/150

提交评论