新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機定時器初始化不能用負號“-(1000/256)“寫法

單片機定時器初始化不能用負號“-(1000/256)“寫法

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
負號的寫法是錯誤的。定時時間并不是從-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;



關(guān)鍵詞: 單片機定時器初始化負

評論


技術(shù)專區(qū)

關(guān)閉