欢迎来到天天文库
浏览记录
ID:52494116
大小:2.74 MB
页数:107页
时间:2020-04-08
《定时器计数器与串口.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6定时器/计数器与串行通信口6.1MCS-51的定时器/计数器在单片微机应用系统中,常常会需要定时或计数。80C51包含有两个16位的定时器/计数器:T0和T1;80C52包含有三个16位的定时器/计数器:T0、T1和T2。2种工作模式:(1)计数器工作模式(2)定时器工作模式4种工作方式(方式0~方式3)6.1.1MCS-51定时器/计数器的基本原理定时器/计数器的核心是一个加1计数器.其基本功能是计数加1。计数功能(计数器工作模式)对片外从T0(P3.4)、T1(P3.5)引脚输入的外部脉冲信号进行计数,下降沿计数加1。最大计数速率为晶振频
2、率的1/24。定时功能(定时器工作模式)对片内机器周期进行计数,即每个机器周期产生一个计数脉冲,计数加1。计数速率为晶振频率的1/12。振荡器÷12加1计数器TFx申请中断TX端C/T=0C/T=1控制信号TRx结构组成部分两个16位的二进制定时/计数器T0、T1T0/T1分别由两个8位的计数器组成,均属SFR寄存器T0由TH0、TL0构成T1由TH1、TL1构成相关的控制寄存器方式寄存器TMOD控制寄存器TCON定时/计数器的结构框图微处理器TH1TL1TH0TL0TCONTMOD工作方式工作方式T1T0P3.5(T1)P3.4(T0)6.1
3、.2定时器/计数器控制与状态寄存器1)工作方式控制寄存器TMODTMOD:选择定时器/计数器T0、T1的工作模式和工作方式。TCON:控制T0、T1的启动和停止计数,同时包含了T0、T1的状态。8位分为两组,高4位控制T1,低4位控制T0。定时器工作方式选择M1和M0工作方式选择位M1M0方式说明00013位计数器(TH的高8位和TL的低5位)01116位计数器102自动重装入初值的8位计数器113定时器0:分成两个独立的8位计数器定时器1:停止计数模式选择及门控位C/:计数器模式和定时器模式选择位0:定时器模式1:计数器模式GATE:门控位,
4、定义T1/T0的启动方式GATE=0,非门控方式(内部启动):TR0/TR1=1,启动定时器工作;TR0/TR1=0,停止定时器工作。GATE=1,门控方式(外部启动):TR0/TR1=1且引脚INT0/INT1=1才启动。2)启/停与中断控制寄存器TCON低4位与外部中断有关。高4位的功能如下:(1)TF1、TF0——计数溢出标志位当T1/T0的计数器计数溢出时,该位置“1”(2)TR1、TR0——计数启/停控制位软件置1:启动定时器/计数器工作软件置0:停止定时器/计数器工作1)方式0M1M0=0013位定时器/计数器(TLx:低5位,高3
5、位不用;THx:8位)计数时,TLx溢出后向THx进位,THx溢出后将TFx置位,如果中断允许,CPU响应中断并转入中断服务程序,由内部硬件清TFx。TFx也可以由程序查询和清零。6.1.3定时器/计数器的工作方式根据对TMOD寄存器中M1和M0的设定,T0、T1可选择四种不同的工作方式2)方式1TMOD中的M1M0=0116位计数器(THx高8位和TLx的低8位)计数溢出时,将TFx置位。3)方式2M1M0=108位计数器计数满后自动装入计数初值在方式2中,TLx作为8位计数寄存器,THx作为8位计数常数寄存器。当TLx计数溢出时,一方面将T
6、Fx置位,并向CPU申请中断;另一方面将THx的内容重新装入TLx中,继续计数。M1M0=11T0两个8位的计数器TL0:使用T0原有控制资源,功能与方式0、1相同。TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数,作8位定时器。4)方式3定时器初始化编程1.向TMOD寄存器中写入工作方式控制字2.向定时/计数器TH0、TL0(或TH1、TL1)装入初值3.启动定时/计数器(置位TR0/TR1)4.如采用中断方式,置位ET0(ET1)、EA、IP等中断寄存器计数初值设实际计数值为X,计数器字长为n(方式0:n=13;方式1:n=16
7、;方式2:n=8)计数初值=(X)补=2n-X对于定时模式:定时时间TC=X·TP计数初值=(X)补=2n-X例如:方式0:最大计数值为213=8192,计数初值=213-X方式1:最大计数值为216=65536,计数初值=216-X方式2:最大计数值为28=256,计数初值=28-X4种工作方式中,方式0与方式1基本相同,由于方式0是为兼容MCS-48而设,初值计算复杂,在实际应用中,一般不用方式0,而采用方式1。例假设系统时钟频率采用6MHz,要在P1.0上输出一个周期为2ms的方波,如图所示。方波的周期用T0来确定,让T0每隔1ms计数溢
8、出1次,然后对P1.0取反。(1)TMOD初始化01H(T0方式1,定时模式)(2)计算计数初值振荡器的频率fosc=6MHz,机器周期为2μs,则有
此文档下载收益归作者所有