上面的程序TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
表示50ms产生一次中断,
count++;表示每产生一次中断count加1
if(count==18)
{
count=0;
sec++;
表示每产生18次中断,count清零,也就是每18*50ms清一次零,也就是900ms,
sec加1,这个我猜是秒加一。
为什么是900ms?我猜是晶振频率不太准确,这个需要自己校准。
80c51单片机的晶振频率是最常用的是11.0592M的,也有用12M的。
1.时钟周期即晶振的单位时间发出的脉冲数,12mhz=12×10的6次方,即每秒发出12000000个脉冲信号,那么发出一个脉冲的时间就是时钟周期,即1/12微秒。
2.一个机器周期等于12个时钟周期,所以是1微秒。