|
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
高手請(qǐng)進(jìn),網(wǎng)上的一篇文章大家看看這個(gè)定時(shí)器這樣設(shè)置是否正確 |
作者:lwg998 欄目:單片機(jī) |
定時(shí)時(shí)間(us) TH1 TL1 50000 76 0 48077 82 236 46296 89 86 44643 95 73 … … … … … 12500 211 0 標(biāo)準(zhǔn)51芯片晶振是11.0592M。 |
2樓: | >>參與討論 |
作者: ayb_ice 于 2007/3/21 8:19:00 發(fā)布:
隨便說(shuō)說(shuō) 菜鳥(niǎo)都知道怎么計(jì)算,還用什么高手,多看看書(shū)。 65536-50000/(12/11.0592)= xxxxx |
3樓: | >>參與討論 |
作者: lwg998 于 2007/3/21 9:42:00 發(fā)布:
呵呵,你好 65536-50000/(12/11.0592)= 14318.894 那么TH1和 TL1 分別是多少?如何計(jì)算的?謝謝 |
4樓: | >>參與討論 |
作者: ayb_ice 于 2007/3/21 10:04:00 發(fā)布:
你真是菜鳥(niǎo) 你真會(huì)算65536-50000/(12/11.0592)= 14318.894 65536-50000/(12/11.0592)= 19456 = 0x4C00 TH1 = 0x4C = 76 Tl1 = 0x00 |
5樓: | >>參與討論 |
作者: lwg998 于 2007/3/21 12:33:00 發(fā)布:
呵呵 |
6樓: | >>參與討論 |
作者: lwg998 于 2007/3/21 13:22:00 發(fā)布:
剛才輸錯(cuò)了,應(yīng)該是這樣的 65536-50000/(12/11.0592)= 19456 = 0x4C00 65536-50000/(12/11.0592) =65536-50000/1.085069 =65536-46080 =19456 =0x4c00 TH1 = 0x4C = 76 Tl1 = 0x00 這是50MS的 網(wǎng)上還有另一種表示: TH0 = (65536-5000)/256; // TH0 = -5000/256; TL0 = (65536-5000)%256; // TL0 = -5000%256; 這是5mS的(標(biāo)準(zhǔn)51運(yùn)行于12MHZ), 以上的50MS的是否也可以用這種方法表示呢。 如下: TH0 = (65536-50000)/256; // TH0 = -50000/256; TL0 = (65536-50000)%256; // TL0 = -50000%256; 不知是否正確 如果是這樣的話(huà)那么: TH0 = 60; TL0 = 176; 這個(gè)結(jié)果和前面的不一致??? |
7樓: | >>參與討論 |
作者: lwg998 于 2007/3/21 13:40:00 發(fā)布:
有個(gè)地方忽略了,前面的是11.0592M 后面的是12M 計(jì)算方法上可能錯(cuò)了 以上的50MS的是否也可以用這種方法表示呢。 如下: TH0 = (65536-50000)/256; // TH0 = -50000/256; TL0 = (65536-50000)%256; // TL0 = -50000%256; 不知是否正確 如果是這樣的話(huà)那么: TH0 = 60; TL0 = 176; 這個(gè)結(jié)果和前面的不一致??? 用這個(gè)方法表示應(yīng)該是這樣的 TH0 = (65536-TIME*1000.0*OSC/12)/256; TL0 = (65536-(unsigned )(TIME*1000.0*OSC/12))%256; OSC = 晶振頻率 單位M TIME = 定時(shí)時(shí)間 單位ms 以上TH0 = (65536-TIME*1000.0*OSC/12)/256; 是否該是這樣:TH0 = (65536-TIME*1000.0*(OSC/12))/256; 才是正確的 |
8樓: | >>參與討論 |
作者: lwg998 于 2007/3/21 15:04:00 發(fā)布:
最后的結(jié)論是:TH0 = (65536-TIME*1000.0/(12/OSC))/256; |
|
|
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |