请描述定时器初值的计算方式_定时器初值计算3.ppt

8051单片机的定时/计数器 四、定时/计数器常数的计算 1.计数器初值的计算 设计数器的最大计数值为M(根据不同工作方式,M可以是213、216或28),则计算初值X的公式如下: X=M-要求的计数值 2.定时器初值的计算 在定时器模式下,计数器由单片机主脉冲fosc经12分频后计数。因此,定时器定时初值计算公式: X=M-(要求的定时值)/(12/fosc) 式中,M为定时器模值(根据不同工作方式,M可以是213、216或28) 五、应用举例 可编程器件在使用前需要进行初始化: 程序如下: MOV TMOD, #10H ;设置T0工作方式 MOV TH1, #0FFH ;装入定时初值 MOV TL1, #83H SETB TR0 ;启动T0 LOOP: JBC TF0, NEXT ;查询定时时间到否? SJMP LOOP NEXT: MOV TH1, #0F0H ;重新装入定时初值 MOV TL1, #0CH CPL P1.0 ;P1.0输出方波 SJMP LOOP 方式1:最大计数值为M=216,因此定时器的初值应为 X = 216-(1×10-3)/(2×10-6) = 65036D = 1111111000001100B = FE0CH 此时高8位TH1的初值为FEH,低8位TL1的初值为0CH。 * * 8051单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。 T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。 一、定时/计数器的功能 在特殊功能寄存器TMOD中,有一个控制位(C/T),分别用于控制定时/计数器工作在定时器方式还是计数器方式。 1. 定时功能----计数输入信号是内部时钟脉冲,每个机器周期使技数器的值加1。 2. 计数功能----计数脉冲来自相应的外部输入引脚,T0为P3.4,T1为P3.5。 定时/计数器的核心部件是二进制加1计数器(TH0、TL0或TH1、TL1) 。 二、定时器/计数器的特殊功能寄存器 与定时器/计数器有关的特殊功能寄存器有: 1.工作方式控制寄存器TMOD T1控制 T0控制 M0 M1 C/T GATE M0 M1 C/T GATE D0 D1 D2 D3 D4 D5 D6 D7 GATE—门控位 C/T—计数/定时选择 M1 M0—工作方式选择 2.定时器控制寄存器TCON IT0 IE0 IT1 IE1 TR0 TF0 TR1 TF1 D0 D1 D2 D3 D4 D5 D6 D7 中断请求标志 触发方式选择 启动定时/计数器 0 低电平1 下降沿 0 停止 1 启动 计数脉冲输入 三、定时器/计数器的工作方式 定时器/计数器共有四种工作方式 1. 方式0—13位方式 TF0 T0 TR0 GATE INT0 1 ≥1 & C/T=1 振荡器 1/12 C/T=0 TL0 TH0 8位 低5位 13位计数器 定时器 计数器 2. 方式1—16位方式 振荡器 1/12 TL0 TH0 TF0 1 ≥1 & T0 TR0 GATE INT0 C/T=0 C/T=1 8位 8位 16位计数器 3. 方式2—8位自动装入时间常数方式 TF0 振荡器 1/12 1 ≥1 & T0 TR0 GATE INT0 C/T=0 C/T=1 TL0 TH0 4. 方式3—双8位方式 仅T0可以工作在方式3—此时T0分成2个独立的计数器—TL0和TH0 ,前者用原来T0的控制信号(TR0、TF0),后者用原来T1的控制信号(TR1、TF1)。 ①确定TMOD控制字:编程时将控制字送TMOD; ②计算计数器的计数初值: 编程时将计数初值送TH、 TL; ③ 如果使用中断方式,则要开中断, 如果使用查询方式,则不要开中断。 ④ TRi位置位控制定时器的启动和停止。 例1:设晶振频率fOSC=6MHz,使用定时器1以方式1产生周期为500μs的方波脉冲,并由P1.0 输出。 8051

你可能感兴趣的:(请描述定时器初值的计算方式)