第七MCS单片机内部定时器计数器摘要.ppt

第七MCS单片机内部定时器计数器摘要

选择计数器工作方式时,计数脉冲来自相应的外部引脚T0和T1。当输入信号产生由1至0的跳变时,计数寄存器(TH0、TL0或TH1、TL1)的值增1。每个机器周期的S5P2期间,对外部输入进行采样。如果在第一个周期中采得的值为1,而在下一个周期中采得的值为0,则在紧跟着的再下一个周期的S3P1期间,计数值就增1。由于确认一次下跳变要花2个机器周期,即24个振荡器周期,因此外部输入的计数脉冲的最高频率为振荡器频率的1/24。对外部输入信号的占空比并没有什么限制,但是为了确保某一给定的电平在变化之前至少被采样一次,则这一电平至少要保持一个机器周期。 当TMOD寄存器中的M1M0为00时,定时器/计数器0或1被置为方式0。方式0为13位的计数器,由TL0的低5位(TL0的高3位弃之不用)和TH0的高8位构成。 当TMOD寄存器中的M1M0为10时,定时器/计数器0或1被置为方式2。方式2把TL0配置成一个可自动重装载的8位计数器。TL0加1计数器溢出时,不仅将溢出标志位TF0置位,同时还自动把TH0中的内容重装载到TL0中,重装载后TH0的内容不变。因为是靠溢出来装载的,故计数初值要同时预置TH0和TL0。 这种重装载工作方式非常适用于循环定时或循环计数,可以省去程序中的计数初值重新预置指令,此外还可以作串行数据通信的波特率发生器使用。 用中断法编制的程序如下: AJMP MAIN ORG 000BH CPL P1.0 MOV TH0,#0E0H MOV TL0,#18H RETI MAIN: MOV TMOD, #0 MOV TH0,#0E0H MOV TL0,#18H SETB EA SETB ET0 SETB TR0 SJMP $ END * * 第七章 MCS - 51单片机内部定时器/计数器 一、定时器/计数器的结构及工作原理 定时器/计数器0和1在专用寄存器TMOD中,各有一个控制位(C/~T),分别用于控制定时器/计数器0和1是工作在定时器方式还是计数器方式。 选择定时器工作方式时,计数输入信号是内部时钟脉冲,每个机器周期使寄存器的值增1。每个机器周期等于12个振荡器周期,故计数速率为振荡器频率的1/12。当采用12MHz晶振时,计数速率为1MHz。 定时器/计数器结构框图 定时器/计数器在本质上都是加法计数器。 每接收到一个计数脉冲,加法计数器的值就加一,当计满时发生溢出,并从0开始继续计数。 加法计数器的计满溢出信号就是定时/计数器的输出,该信号使TCON的某位(TF0或TF1位)置一,作为定时器/计数器的溢出中断标志。 二、 定时方式和控制寄存器 定时器/计数器的方式寄存器TMOD TMOD各位定义 8位分为两组,高4位、低4位分别控制定时器/计数器1和0 对TMOD的各个位的说明: GATE位:门控位。 GATE=1时,定时器/计数器是否计数要受到外部引脚输入电平的控制,~INT0引脚控制定时器/计数器0,~INT1引脚控制定时器/计数器1。只有在~INT0或~INT1引脚为高电平且TR0或TR1置1时,相应的定时器/计数器才被选通工作,这时可用于测量在~INT0或~INT1引脚出现的正脉冲的宽度。 若GATE=0,定时计数器的运行不受外部输入引脚~INT0、~INT1的控制,只要TR0或TR1置1,定时器/计数器就被选通工作。 C/~T位:计数器模式和定时器模式的选择位。 C/~T=0,为定时器模式,内部计数器对晶振脉冲12分频后的脉冲计数,该脉冲周期等于机器周期,所以可以理解为对机器周期进行计数。从计数值可以求得计数的时间,所以称为定时器模式。 C/~T=1,为计数器模式,计数器对外部输入引脚T0(P3.4)或T1(P3.5)的外部脉冲(负跳变)计数,允许的最高计数频率为晶振频率的1/24。 M1 M0:四种工作方式的选择位 工作方式选择表 M1 M0 方式 说 明 0 0 0 13 位定时器(TH的 8 位和TL的低 5 位) 0 1 1 16 位定时器/计数器 1 0 2 自动重装入初值的 8 位计数器 1

文档评论(0)

1亿VIP精品文档

相关文档