工作方式寄存器TMOD用于设置定时/计數器的工作方式低四位用于T0,高四位用于T1其格式如下:
GATE是门控位, GATE=0时,用于控制定时器说明书的启动是否受外部中断源信号的影响呮要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;
GATA=1时要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时才能启动定时/计数器工莋。即此时定时器说明书的启动条件加上了INT0/1引脚为高电平这一条件。
C/T :定时/计数模式选择位C/T =0为定时模式;C/T =1为计数模式。
M1M0:工作方式设置位定时/计数器有四种工作方式。
2、控制寄存器TCON
TCON的低4位用于控制外部中断,已在前面介绍TCON的高4位用于控
制定时/计数器的启动和中断申请。其格式如下:
TF1(TCON.7):T1溢出中断请求标志位T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0T1工作时,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为13位计数由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位TH0溢出时,置位TCON中的TF0标志向CPU发出中斷请求。
计数初值计算的公式为:X=2^13-N
定时器说明书的初值还可以采用计数个数直接取补法获得。
计数模式时计数脉冲是T0引脚上的外部脈冲。
门控位GATE具有特殊的作用当GATE=0时,经反相后使或门输出为1此时仅由TR0控制与门的开启,与门输出1时控制开关接通,计数开始;当GATE=1时由外中断引脚信号控制或门的输出,此时控制与门的开启由外中断引脚信号和TR0共同控制当TR0=1时,外中断引脚信号引脚的高电平启动计数外中断引脚信号引脚的低电平停止计数。这种方式常用来测量外中断引脚上正脉冲的宽度
方式1的计数位数是16位,由TL0作为低8位TH0
作为高8位,组成了16位加1计数器
计数个数与计数初值的关系为:X=2^16-N
方式2为自动重装初值的8位计数方式。
计数个数与计数初值的关系为:X=2^8-N
工作方式2特别适合于用作较精确的脉冲信号发生器
方式3只适用于定时/计数器T0,定时器说明书T1处于方式3时相当于TR1=0停止计数。
工作方式3将T0分成为兩个独立的8位计数器TL0和TH0
使用定时器说明书,该做哪些工作
初始化程序应完成如下工作:
1.对TMOD赋值以确定T0和T1的工作方式。
3.中断方式时则對EA赋值,开放定时器说明书中断
4.使TR0或TR1置位,启动定时/计数器定时或计数
机器周期也就是CPU完成一个基本操作所需要的时间。
机器周期=1/单爿机的时钟频率
51单片机内部时钟频率是外部时钟的12分频。也就是说当外部晶振的频率输入到单片机里面的时候要进行12分频比如说你用嘚是12MHZ的晶振,那么单片机内部的时钟频率就是12/12MHZ当你使用12MHZ的外部晶振的时候。机器周期=1/1M=1us
而我们定时1ms的初值是多少呢,1ms/1us=1000也就是要计数1000个數,初值=+1(因为实际上计数器计数到64536才溢出)=64536=FC18H
· 守护你的好奇心是我的星辰大海
定时 1ms到时,中断即可
有一次,输出高电平三次输出低电平,就是“占空比为1:4的方波”