用負號的寫法是錯誤的。定時時間并不是從-A到0。TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
下面這樣寫才是對的:有的書上用的負號寫法。誤導我了??!
負號是錯誤的,并不相當于65536-A;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
用負號出錯:
TH0=-(1000/256);
TL0=-(1000%256);
th0=TH0; //這里的結(jié)果是:253
tl0=TL0; //這里的結(jié)果是:24
sum=TH0*256+TL0;
//這里sum結(jié)果是 65021;
這個定時器0初始化就不是定時1000了。
正確寫法:
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;
評論