小编还为您整理了以下内容,可能对您也有帮助:
我不小心删掉了系统里的重要文件,现在无法启动xp了,怎么办?
再次重新启动。
用c语言实现的,先要定义好定时器的初值,不管你使用多大的晶振,使用51单片机,一般都是12分频出来,也就可以得出一个机器周期,机器周期=12/n(n指晶振频率),假设你要定时的时间为m,那么定时的初值为:m/机器周期=初值;
th0=(65536-初值)%256;
tl0=(65536-初值)/256;
将(65536-初值)所得的值化成16进制,其高位就是th0的值,低位为tl0的值,例如用12m晶振做1ms定时计算如下:
机器周期=12/12*10^6=1us(微秒)
定时初值=(1*10^-3)/(1*10^-6)=1000;
所以:th0=(65536-1000)%256;
tl0=(65536-1000)/256;
将65536-1000=64536化为16进制为:0xfc18,th0=0xfc,tl0=0x18;
定好初值后要延迟一秒就定一个延时参数,这里使用1000就行了(定时为1ms)中断程序为:timer0()
interrupt
1.//
1ms延时(12.0mhz)