mcs-51单片机定时器应用的初始化步骤有哪些

如题所述

TMOD、TH0或TH1、TL0或TL1、EA=1;TR0或TR1=1;
TMOD选择方式。TH0=(65536-x)%256;x为定时时间,x<65536
EA=1;开中断;TR1=1;启动定时器。
例如:
TMOD=0X10;
TH1=0X4b;
TL1=0Xfe
TR=1;
“TMOD=0X10;”设置定时器1模式为模式一(16位定时器/计数器)
“TH1=0X4b;TL1=0Xfe;”设置定时器初值
"TR1=1"启动定时器1
t=(2^16-初值)*机器周期=(2^16-初值)*时钟周期*12
此例中:初值=0x4bfe=19454
t=(65536-19454)*1/11095200*12=0.04983993078087821760....约为0.05s即50ms
公式解释:
每个机器周期产生一个计数脉冲,计时器寄存器最大允许2^16,大于2^16就溢出触发中断。初值为T,则还有65536-T次计数,每次计数用时一个机器周期,所以总用时:t=(2^16-初值)*机器周期=(2^16-初值)*时钟周期*12
初值设置:把所需时间T代入上式解出初值0xAABB,把0xAA作为TH,0xBB作为TL
也可以用上式推导出初值计算公式
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-05
TMOD=0x01; //设置T0为模式1

TH0= (65536-1000)/256;
TL0= (65536-1000)%256; // 设置1000初值
EA=1 ;//开总中断
ET0=1;//开定时器中断
TR0=1; //开始计数本回答被提问者和网友采纳