您的位置 首页 新品

51单片机的简介——定时器、计数器

8051有两个16位的定时器计数器T0、T1,8052还有第三个定时器计数器T2,通过内部编程都可以设定为内部定时器和外部计数器。1、方式寄

8051有两个16位的守时器/计数器T0、T1,8052还有第三个守时器/计数器T2,经过内部编程都能够设定为内部守时器和外部计数器。
1、方法寄存器TMOD
特别功用寄存器TMOD是TO、T1的作业方法寄存器,其格局如下:

TMOD低四位为T0方法字段,高四位为T1方法字段。复位时TMOD的一切方位0。
(1)作业方法挑选位M1、M0
守时器/计数器有四种作业方法,它们由M1、M0的取值决议,对应联系如下图:

(2) 方法挑选位C/T
C/T=0为守时器方法,以fosc(晶振频率)的12分频作为计数信号,即每个机器周期守时器加1。
C/T=1为计数器方法,以外部引脚(T0为P3.4,T1为P3.5)上输入的脉冲为输入信号,当外部信号产生负跳变时加1,外部事情计数的最高频率为fosc的1/24。
(3) 门控位GATE
当GATE=1时,由外部中止引脚INT0、INT1和内部TR0、TR1位来发动守时器。当INT0为高电平且TR0置位时,发动守时器T0。守时器T1的发动同T0。
当GATE=0时,仅由TR0和TR1置位来发动守时器T0和T1。
2、操控寄存器TCON
特别功用寄存器TCON的高4位寄存着守时器的运转操控和溢出标志,低4位寄存外部中止的触发方法操控位和锁存外部中止恳求源。TCON的格局如下:

(1)守时器T0的运转操控位TR0
TR0由软件置位或许清0。当门控位GATE=0时,TO计数器仅由TR0操控,TR0=1发动计数,TR0=0时中止。当门控位GATE=1时,T0计数器由INT0和TR0一起操控,当INT0=1且TR0=1时发动T0计数器。
(2)守时器T0溢出标志位TF0
当T0溢出时TF0=1,并向CPU恳求中止,CPU呼应中止后由硬件将TF0清0,也能够由软件查询方法将TF0清0。
(3)守时器T1的运转操控位TR1
功用同TR0。
(4)守时器T1溢出标志为TF1
功用同TF1。
(5)外部中止源1(INT1、P3.3)中止恳求标志IE1
IE1=1时外部中止源1正在向CPU恳求中止,当CPU呼应该中止时由硬件将IE1清0(下降沿触发方法)。
(6)外部中止源1触发方法挑选位IT1
IT1=0时外部中止源1挑选电平触发方法,当输入低电平常置位IE1;IT1=1时外部中止源1挑选下降沿触发方法,当中止源由高电平变低电平常置位IE1,向CPU恳求中止。
(7)外部中止源0(INT0、P3.2)中止恳求标志IE0
功用类同IE1。
(8)外部中止源0触发方法挑选位IT0
功用类同IT1。
3、守时器作业方法
如上所述,守时器有4种作业方法,它们由TMOD寄存器中的M1、M0两位决议。留意:只要T0才有作业方法3。
(1)作业方法0
当TMOD寄存器中的M1、M0为00时,守时器作业在方法0。下图以守时器T1来示例阐明:

计数时,TL1的低5位溢出后向TH1进位,TH1溢出后将TF1置位,并向CPU宣布中止恳求。留意:在方法0时,TL1只用到了低5位,高3位内容不定不能运用,操控逻辑计数的答应/制止并不改动计数值。
(2)作业方法1
当TMOD寄存器中M1、M0的值为01时,守时器作业于方法1。作业方法1和作业方法0的仅有差异在于,作业方法1能够完成16位计数,其它都和作业方法0相同。假如以守时器T1为例来图示解说,可如下:

(3)作业方法2
当TMOD寄存器的M1、M0位值为10时,守时器作业于作业方法2。方法2为主动康复初值的8位计数器,TL1作为8位计数寄存器,TH1作为8位计数常数寄存器,当TL1溢出时,一方面将TF1置位,并向CPU宣布中止恳求,另一方面将预设在TH1中的常数从头装入TL1,持续计数。从头装入不会影响TH1的内容。其结构简图如下:

在方法2中经过改动TH1的值能够改动计数次数。
(4)作业方法3
方法3只适用于T0,此刻T1中止计数。

4、守时器/计数器溢出率的核算
守时器/计数器在作业之前必须先设定计数初始值Ta。初值计数公式如下:

在给守时刻t后,求初值的公式如下:

5、总结
对守时器/计数器编程的过程如下:
a、写TMOD,设定作业方法、守时/计数方法、发动哪个守时器(敞开相应的门控位GATE);
b、将初值写入关于寄存器;
c、守时器中止开或关;
d、发动守时器,即向TCON写入数据。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/260002.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部