看板
[ ASM ]
討論串[問題] 89S51 使用 C51 計時問題
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁
內容預覽:
C_CPP 板問 51 相關問題的人好像比較少,所以就來這邊借問了.... 今天試著做一下模擬 ms 計算的(高階語言 sleep 都喜歡以 1ms * n 為單位). 試著計時 60 秒後,發現每分鐘都會誤差五秒鐘(感覺有點大). 想請大家幫忙看一下是否有問題.... 感謝<_ _). #incl
(還有616個字)
內容預覽:
你沒說明你的環境, 假設這邊是使用12MHZ時鐘,一個M週期是1uS這段有點問題:你的中斷發生到跳進ISR需要兩個M週期,ISRVECT的JMP指令也要兩個M。然後你沒使用BANK(using X)所以會PUSH A,F R0~R7. 10組資料每一個PUSH都要兩個M 然後設定TH TL 要2*2
(還有1492個字)
內容預覽:
60秒誤差一秒都嫌太大. 時脈沒寫, 那我就假設最一般的case, 輸入給timer的週期 = 1us. 這裡看起來是因為要以 ms 為單位, 需要計數超過 256 所以用 mode1,. 但是中斷要去 reload 就影響計時準確度,. 我的作法是改用 mode2, 數到 200個pulse*1u
(還有271個字)
首頁
上一頁
1
下一頁
尾頁