51单片机采用12Mhz晶振,采用定时工作方式1,定时时间为:40毫秒,计算出初始值。

麻烦写清楚过程

T0方式1为16位定时计数器。计满TL0和TH0需要 2^16 =65536个数,设时钟频率为 12MHz , 此时 1 个机器周期 = 12个时钟周期 = 1µs, 即计数一次为1µs,
现要计时40毫秒=40000us, 即计数40000次, 显然在TH0T和TL0中要预先装入一个数值N, 使
N + 40000 = 65536 , 计算得 N = 25536 , 换算成十六进制数为 63C0H , 这就是初始值.
用C 语言操作时,只须将高8位(就是前2位)TH0, 将后2位写入TL0 即可.

T0的初始化过程为
TMOD=0x01;
TH0=0x63;
TL0=0xc0;
EA=1;
ET0=1;
TR0=1;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-13
按 普通 12T模式计算,12MHz 晶振 机械周期为 t=12/12MHz=1us,40ms=40000us,工作模式1(16位) 的定时器 ,高8位初值 th=(2^16-40000)/256=99=0x63;低8位初值 tl=(2^16-40000)%256=192=0xC0;本回答被提问者采纳