第八章定时器计数器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第八章定时器/计数器及应用2主要内容•8.1定时器/计数器概述•8.2定时器/计数器的控制•8.3定时器/计数器的工作方式及应用38.1定时器/计数器概述一、定时方法:•1、硬件定时:较长时间;不够灵活、方便;•2、软件定时:编循环程序,时间精确;占用CPU;•3、可编程定时器定时:对系统时钟脉冲记数,灵活、方便。48.1定时器/计数器概述二、定时器/计数器的工作原理:•定时器/计数器中的核心部件为可预置初值计数器。预置初值后开始计数,直至计数值回0或产生溢出,可申请中断。•计数器有加1计数或减1计数两种形式。58.1定时器/计数器概述K1K2可预置初值计数器中断请求功能选择启动控制内部时钟脉冲(定时)外部输入脉冲(计数)溢出信号计数脉冲计数初值TF0/TF1TR0/TR1C/TTMOD控制字68.1定时器/计数器概述加1计数器输入的计数脉冲有两个来源:一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。每来一个脉冲计数器加1,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使TCON中TF0或TF1置1,向CPU发出中断请求(定时/计数器中断允许时)。78.1定时器/计数器概述如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值88.1定时器/计数器概述•设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。计数值N乘以机器周期T就是定时时间t。98.1定时器/计数器概述•设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。在每个机器周期的S5P2期间采样T0、T1引脚电平。当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2s。10主要内容•8.1定时器/计数器概述•8.2定时器/计数器的控制•8.3定时器/计数器的工作方式及应用118.2定时器/计数器的控制定时器初始化编程包括:•1.功能选择(定时/计数);•2.位数选择(8/13/16位);•3.启动方式选择(内部启动/外部启动);•4.启动控制(启动/停止);•8.恢复初值方式(自动重装/软件重装)。128.2定时器/计数器的控制一、定时器控制、状态寄存器:1、TMOD定时器方式寄存器(89H):80C51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。GATEC/TM1M0GATEC/TM1M0T1T0138.2定时器/计数器的控制1)功能选择位C/T:=0:定时功能,计数内部机器周期脉冲;=1:计数功能,计数引脚T0(T1)输入的负脉冲。148.2定时器/计数器的控制2)方式选择位M1、M0:4种工作方式:13/16/8位方式功能描述M1M000011011012313位16位8位自动重装T0为2个8位158.2定时器/计数器的控制3)门控方式选择位GATE:=0,非门控方式(内部启动):TRx=1,启动定时器工作;TRx=0,停止定时器工作。=1,门控方式(外部启动):TRx=1且引脚INTx=1才启动。168.2定时器/计数器的控制•确定定时器工作方式指令:MOVTMOD,#方式字•例:设T0用方式2非门控定时,T1用方式1门控计数。MOVTMOD,#?178.2定时器/计数器的控制2、TCON定时器控制/状态寄存器:TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控制定时/计数器的启动和中断申请。其格式如下:188.2定时器/计数器的控制1)启动控制位TR0、TR1:=0,停止定时器工作;=1,启动定时器工作。例:启动T0:SETBTR0198.2定时器/计数器的控制2)溢出中断标志位TF0、TF1:•定时器溢出使TFx=1,引起中断请求,CPU响应Tx中断后,系统自动将TFx清0。•也可用软件检测TFx,这时必须软件清0。WAIT:JBCTF0,NEXT;检测T0是否溢出SJMPWAIT;未溢出,继续检测NEXT:…;溢出,TF0清0,处理溢出208.2定时器/计数器的控制3、可预置初值的16位加1计数器TH0、TL0、TH1、TL1:如:预置T0初值指令:MOVTH0,#XHMOVTL0,#XL21主要内容•8.1定时器/计数器概述•8.2定时器/计数器的控制•8.3定时器/计数器的工作方式及应用228.3定时器/计数器的工作方式及应用•定时器工作方式:由方式选择位M1、M0设定。1、方式0(M1M0=00):•13位定时/计数器。THx8位和TLx低5位组成加1计数器。•计数外部脉冲个数:1~8192(213)•定时时间(若T=1s):1s~8.19ms•T=12/fosc238.3定时器/计数器的工作方式及应用方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引脚INT0引脚00机器周期TH0TL08位5位溢出TCONTMODD0D7D7D0申请中断1248.3定时器/计数器的工作方式及应用2、方式1(M1M0=01):•16位定时/计数器。•THx8位和TLx8位组成16位加1计数器。•计数外部脉冲个数:1~65536(216)T=12/fosc•定时时间(若T=1s):1s~(65536×T=68.54ms)258.3定时器/计数器的工作方式及应用TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引脚INT0引脚10机器周期TH0TL08位8位溢出TCONTMODD0D7D7D0申请中断268.3定时器/计数器的工作方式及应用3、方式2(M1M0=10):•自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。•用于需要重复定时和计数的场合。•最大计数值:256(28)•最大定时时间(若T=1s):256sT=12/fosc278.3定时器/计数器的工作方式及应用TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引脚INT0引脚10机器周期TH0TL08位溢出TCONTMODD0D7D7D0申请中断288.3定时器/计数器的工作方式及应用4、方式3(M1M0=11):•T0分成2个8位定时器:TL0定时/计数器和TH0定时器;•TL0占用T0控制位:C/T,TR0,GATE;•TH0占用T1控制位:TR1、TF1;•T1不能使用方式3工作,常作串口的波特率发生器使用。298.3定时器/计数器的工作方式及应用TF1TR1TF0TR0GATEC/TM1M0GATEC/TM1M01&≥110T0引脚INT0引脚11机器周期TH0TL08位溢出TCONTMODD0D7D0申请中断机器周期8位申请中断溢出308.3定时器/计数器的工作方式及应用定时/计数器用于外部中断扩展扩展方法是,将定时/计数器设置为计数器方式,计数初值设定为满程,将待扩展的外部中断源接到定时/计数器的外部计数引脚。从该引脚输入一个下降沿信号,计数器加1后便产生定时/计数器溢出中断。318.3定时器/计数器的工作方式及应用例如,利用T0扩展一个外部中断源。将T0设置为计数器方式,按方式2工作,TH0、TL0的初值均为0FFH,T0允许中断,CPU开放中断。其初始化程序如下:MOVTMOD,#06H;置T0为计数器方式2MOVTL0,#0FFH;置计数初值MOVTH0,#0FFHSETBTR0;启动T0工作SETBEA;CPU开中断SETBET0;允许T0中断328.3定时器/计数器的工作方式及应用定时/计数器应用举例初始化程序应完成如下工作:•对TMOD赋值,以确定T0和T1的工作方式。•计算初值,并将其写入TH0、TL0或TH1、TL1。•中断方式时,则对IE赋值,开放中断。•使TR0或TR1置位,启动定时/计数器定时或计数。338.3定时器/计数器的工作方式及应用例利用定时/计数器T0的方式1,产生10ms的定时,并使P1.0引脚上输出周期为20ms的方波,采用中断方式,设系统时钟频率为12MHz。解:1、计算计数初值X:由于晶振为12MHz,所以机器周期Tcy为1s。所以:N=t/Tcy=10×10-3/1×10-6=10000X=65536-10000=55536=D8F0H即应将D8H送入TH0中,F0H送入TL0中2、求T0的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,可取方式控制字为01H;348.3定时器/计数器的工作方式及应用ORG0000HLJMPMAIN;跳转到主程序ORG000BH;T0的中断入口地址LJMPDVT0;转向中断服务程序ORG0100HMAIN:MOVTMOD,#01H;置T0工作于方式1MOVTH0,#0D8H;装入计数初值MOVTL0,#0F0HSETBET0;T0开中断SETBEA;CPU开中断SETBTR0;启动T0SJMP$;等待中断DVT0:CPLP1.0;P1.0取反输出MOVTH0,#0D8H;重新装入计数值MOVTL0,#0F0HRETI;中断返回END

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功