片机定时器与计数器

片机定时器与计数器

ID:39830445

大小:469.01 KB

页数:47页

时间:2019-07-12

片机定时器与计数器_第1页
片机定时器与计数器_第2页
片机定时器与计数器_第3页
片机定时器与计数器_第4页
片机定时器与计数器_第5页
资源描述:

《片机定时器与计数器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章单片机定时器 与计数器单片机定时器与计数器定时器/计数器结构1定时器/计数器工作方式2定时器/计数器应用举例3定时器/计数器结构1CompanyLogo一、定时/计数器结构MCS-51单片机定时器/计数器的逻辑结构如图5-1所示。主要由工作方式寄存器TMOD、控制寄存器TCON和初值寄存器TLX、THX等工作部件组成。CompanyLogo等效逻辑结构图CompanyLogo1.工作方式寄存器(TMOD89H)位D7D6D5D4D3D2D1D0位符号GATEC/TM1M0GATEC/TM1M0←T1方式字段→←T0方式字段→GATE:门控位。

2、GATE=0启动不受/INT0或/INT1的控制;GATE=1启动受/INT0或/INT1的控制。C/:外部计数器/定时器方式选择位。C/=0定时方式;C/=1计数方式。M1M0:工作模式选择位。TMODCompanyLogoM1M0:工作模式选择位。M1M0工作方式方式说明00方式013位定时器/计数器01方式116位定时器/计数器10方式2具有自动重装初值的8位定时器/计数器11方式3T0为两个独立的8位计数器,T1为波特率发生器CompanyLogo2、初值寄存器TH0,TL0,TH1,TL151子系列单片机内有两个十六位增一定时/计数器TH

3、0计数值高八位TL0计数值低八位TH1计数值高八位TL1计数值低八位最大计数器值M=65535CompanyLogo3.定时/计数器控制寄存器(TCON88H)位D7D6D5D4D3D2D1D0位符号TF1TR1TF0TR0IE1IT1IE0IT0TR0:定时/计数器0运行控制位。软件置位/复位。与GATE有关    分两种情况:GATE=0时:若TR0=1,开启T0;若TR0=0,停止T0。GATE=1时:若TR0=1且/INT0=1时,开启T0;若TR0=1但/INT0=0,则不能开启T0。若TR0=0,停止T0计数。TR1:定时/计数器1运行

4、控制位。用法与TR0类似。TF0/TF1:定时/计数溢出标志。1:有溢出,0:无溢出IE0/IE1:外部中断请求标志。1:有请求,0:无请求IT0/IT1:外部中断触发方式。1:下降沿,0:低电平CompanyLogo二、定时器/计数器的工作方式1.工作方式0M1M0=00工作方式0:13位计数。TH的8位和TL的低5位CompanyLogo在工作方式0下,计数器的计数值由下式确定:N=213-X=8192-X计数值范围是:1~8192(213)定时器的定时值由下式确定:T=N*Tcy=(8192-X)*Tcy例:单片机晶振频率fosc=12MHZ

5、定时器0定时1MS,采用方式0时,TCON,TMOD,TH0,TL0的值分别是:TCON=0x10TMOD=0x00TH0=(8192-1000)/32TL0=(8192-1000)%32CompanyLogo工作方式0的应用:【例】设单片机晶振频率fosc=6MHZ,使用定时器1以方式0产生周期为600μs的等宽方波脉冲,并由P1.7输出,以查询方式完成。解:(1)计算计数初值.欲产生周期为600μs的等宽方波脉冲,只需在P1.7端以300μs为周期交替输出高低电平即可,因此定时时间应为300μs。设待求计数初值为N,则:(213-N)×2×10

6、-6=300×10-6N=8042=1F6AH=0001111101101010B用T1实现。将低5位01010B=0A写入TL1,将高8位有效值11111011B=FBH写入TH1中。CompanyLogo(2)TMOD初始化为把定时/计数器1设定为方式0,则M1M0=00。为实现定时功能应使C/T=0,为实现内部定时器启动应使GATE=0,因此设定工作方式控制寄存器TMOD=00H。(3)由TR1启动和停止定时器TR1=1为启动,TR1=0为停止CompanyLogoC语言参考程序#include//包含特殊功能寄存器库sbi

7、tP1_7=P1^7;//定义P1.7口,程序中用P1_7代替P1.7。voidmain()//主函数{IE=0x00;//关中断TMOD=0x00;//工作方式设定TR0=1;//启动定时for(;;)//无限循环体{TH1=0xFB;TL1=0x0A;//计数初值设定do{}while(!TF1)//查询是否溢出,当TF0=1时溢出来,则跳出do-while循环。{P1_7=!P1_7;TF1=0;}//溢出,P1.7取反,中断标志TF1清0。}}CompanyLogo中断方式完成#include//包含特殊功能寄存器库sbi

8、tP1_7=P1^7;//定义P1.7口,程序中用P1_7代替P1.7。voidmain()//主函数{TMOD=0x00

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。