久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

作者: 時間:2016-11-24 來源:網絡 收藏
負號的寫法是錯誤的。定時時間并不是從-A到0。
TMOD=0x01;
TH0=-(50000/256);
TL0=-(50000%256);
下面這樣寫才是對的:有的書上用的負號寫法。誤導我了?。?/div>
負號是錯誤的,并不相當于65536-A;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
用負號出錯:
TH0=-(1000/256);
TL0=-(1000%256);
th0=TH0; //這里的結果是:253
tl0=TL0; //這里的結果是:24
sum=TH0*256+TL0;
//這里sum結果是 65021;
這個定時器0初始化就不是定時1000了。
正確寫法:
TMOD=0x01;
TH0=(65536-1000)/256;
TL0=(65536-1000)%256;
th0=TH0; //這里的結果是:252
tl0=TL0; //這里的結果是: 24
sum=TH0*256+TL0;
//這里sum結果是 64536;



評論


技術專區

關閉