如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第6章定时器计数器本讲课程主要内容(1)定时/计数器的基本概念(2)定时/计数器的编程方法(3)定时/计数器编程举例2定时器/计数器两个16位定时/计数器存放初值的SFRT0:TH0、TL0T1:TH1、TL1其它相关的SFR:TMOD(工作方式控制寄存器)TCON(控制寄存器)定时功能时,每个机器周期定时器加1计数功能时,在外部相应输入脚(T0和T1)产生下降沿,计数器加1。36.1定时计数器的结构框图46.2定时器的控制字工作方式控制寄存器TMOD(89H)GATEC/TM1M0|GATEC/TM1M0注意:TMOD不能位寻址控制寄存器TCON(88H)–TF1TR1TF0TR0IE1IT1IE0IT0复位后两个寄存器的状态均为00H。56.2.1TMOD:工作方式控制寄存器GATE:门控位GATE=1,T0、T1是否工作受外部引脚输入电平的控制,INT0引脚控制T0运行,INT1引脚控制T1运行。可用于测量在INT0或INT1引脚出现的正脉冲的宽度。GATE=0,定时/计数器的运行不受外部引脚INT0或INT1的控制。C/T位:计数器模式和定时器模式的选择位C/T=0,为定时器模式。内部计数器对晶振频率12分频后的脉冲计数(该脉冲的周期等于机器周期),每个周期计数值加1。若选择12MHz晶振,则计数频率为1MHz。从计数值便可求得计数的时间,所以称为定时器模式;C/T=1,设置为计数器模式,计数器对由引脚T0(P3.4脚)或T1(P3.5脚)输入的外部脉冲(负跳变)计数,允许最高计数频率为晶振频率的1/24。6工作方式控制寄存器TMODM1、M0工作方式选择位76.2.2定时/计数器控制寄存器TCONTF1位:T1计数溢出标志位。当T1计数溢出时,由硬件置1,申请中断。进入中断服务程序后被硬件自动清0。TR1位:T1计数运行控制位。由软件置1或清0。当GATE位(TMOD.7)=0时,若TR1=1,允许T1计数;TR1=0时,禁止T1计数。当GATE位=1时,TR1=1且INT1=1时,允许T1计数。TF0位:T0计数溢出标志位,功能同TF1。TR0位:T0计数运行控制位,由软件置1或清0。当GATE位(TMOD.3)=0时,若TR0=1,允许T0计数;TR0=0时,禁止T0计数。当GATE位=1时,TR0=1且INT0=1时,允许T0计数。86.3定时/计数器的4种工作方式方式0、方式1(13位、16位定时计数方式)T1工作于方式0的等效框图(M1M0=00、01)GATE=0、A=1、TR1=1GATE=1、INT1=1、TR1=1。注意定时器初值与定时时间的不同96.3.1方式0、方式1的说明定时/计数器T1工作在方式0时,为13位的计数器,由TL1的低5位和TH1的8位所构成。TL1低5位溢出向TH1进位,TH1计数溢出置位TCON中的溢出标志位TF1。GATE位的状态决定定时/计数器运行控制取决于TR1一个条件还是TR1和INT1引脚这两个条件。当GATE=0时,A点电位恒为1,则只要TR1被置为1,B点电位即为1,定时/计数器被控制为允许计数(定时/计数器的计数控制仅由TR1的状态确定,TR1=1计数,TR1=0停止计数)。当GATE=1时,B点电位由INT1输入的电平和TR1的状态确定,当TR1=1,且INT1=1时,B点电平才为1,才允许定时器/计数器计数(计数控制由TR1和INT1二个条件控制)。方式1时,TL1的8位都参与计数,因而属于16位定时/计数器。其控制方式,等效电路与方式0完全相同。106.3.2方式2(常数自动重装入)T1工作于方式2的等效图11方式2的说明TL1作为计数器,当TL1计数溢出时,在置1溢出标志TF1的同时,还自动的将TH1中的常数送至TL1,使TL1从初值开始重新计数。12这种工作方式可以省去用户软件中重装常数的程序,简化定时常数的计算方法(确定计数初值),可以相当精确的确定定时时间。例如:波特率发生器136.3.3方式3(T0具有)T0工作于方式3时,分为2个独立的8位计数器:TL0、TH0。TL0使用T0的状态控制位C/T,GATE,TR0,INT0,而TH0被固定为一个8位定时器(不能作外部计数方式),并使用定时器T1的状态控制位TR1和TF1,同时占用定时器T1的中断源。此时,定时/计数器T1可为方式0、方式1和方式2,作为串行口的波特率发生器。14工