用負(fù)號(hào)的寫(xiě)法是錯(cuò)誤的。定時(shí)時(shí)間并不是從-A到0。TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
下面這樣寫(xiě)才是對(duì)的:有的書(shū)上用的負(fù)號(hào)寫(xiě)法。誤導(dǎo)我了!!
負(fù)號(hào)是錯(cuò)誤的,并不相當(dāng)于65536-A;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
用負(fù)號(hào)出錯(cuò):
TH0=-(1000/256);
TL0=-(1000%256);
th0=TH0; //這里的結(jié)果是:253
tl0=TL0; //這里的結(jié)果是:24
sum=TH0*256+TL0;
//這里sum結(jié)果是 65021;
這個(gè)定時(shí)器0初始化就不是定時(shí)1000了。
正確寫(xiě)法:
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
th0=TH0; //這里的結(jié)果是:252
tl0=TL0; //這里的結(jié)果是: 24
sum=TH0*256+TL0;
//這里sum結(jié)果是 64536;
評(píng)論