🌈个人主页:会编程的果子君
💫个人格言:“成为自己未来的主人~”
定时/计数器的控制
80C51单片机定时/计数器的工作由两个特殊功能寄存器控制,TMOD用于设置其工作方式:
1.工作方式寄存器TMOD
工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1,
GATE,门控位,GATE=0时,只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作,GATE=1时,要用软件使TR0或TR1为1,同时外部中断引脚或也为高电平时,才能启动定时/技术器工作,即此时定时器的启动多了一个条件
M1M0:工作方式设置位,定时/计数器有四种工作方式,由M1M0进行设置
TCON的低四位用于控制外部中断,TCON的高四位用于控制定时/计数器的启动和中断申请
TF1(TCON.7),T1溢出中断请求标志位,T1计数溢出时由硬件自动置TF1为1,CPU响应中断后TF1由硬件自动清0,T1工作时,CPU可随时查询TF1的状态,所以,TF1可用作查询测试的标志,TF1也可以用软件置1或者清0,同硬件置1或清0的效果一样。
TR1(TCON.6),T1运行控制位,TR1置1时,T1开始工作,TR1置0时,T1停止工作,TR1由软件置1或清0,所以,用软件可控制定时/计数器的启动与停止
TF0(TCON.5),T0溢出中断请求标志位,其功能和TF1类似
TR0(TCON.4),T0运行控制位,其功能与TR1类同
定时/计数器的工作方式
方式0
方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成,TL0的低五位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求
定时器模式时有:N=t/Tcy 计数初值计算的公式为:X=2^13-N,定时器的初值还可以采用计数个数直接取补发获得。计数模式时,计数脉冲是T0引脚上的外部脉冲。
门控位GATE具有特殊的作用。当GATE=0时,经反相后使或门输出为1,此时仅有TR0控制与门的开启,与门输出1时,控制开关接通,计数开始,当GATE=1时,由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制,当TR0=1时,外中断引脚信号引脚的高电平启动计数,外中断引脚信号引脚的低电平停止计数,这种方式常用来测量外中断引脚上正脉冲的宽度。
方式一
方式一的计数位数是16位,由TL0作为低八位,TH0作为高8位,组成了16位加1计数器
方式二
方式二为自动重装初值的8位计数方式
方式三
方式三只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数