關於timer0及timer1之使用.. |
答題得分者是:暗黑破壞神
|
chenman
一般會員 發表:5 回覆:12 積分:3 註冊:2004-10-24 發送簡訊給我 |
我是使用timer0(65536-2000)*250*2
timer0時間是2ms再乘上250*2=1s 但是問題來了!
要是我timer0設的太大~~~掃瞄的頻率太低LED會一直閃...
像現在這樣設很小~~~~~~~掃瞄是不會閃了,但...
時間變的很不準確..... 不知道有沒有什麼辦法可以改善??
我有一個想法~~~
就是同時用tmier0及tmier1兩組計時器....
一個用來掃瞄電路、另一個用來計時間
(或許石英振盪的準確度會比較高一點) 不知道怎樣用會比較好呢??
還是有更好的方法呢?
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
1.先給你一個觀念。天下沒有絕對準確的東西。即使是石英也一樣。
所以如果你認為石英準確。你也要用示波器或計數器去量測它的數值。
同一個頻點的石英,也會有不同的頻率。而且又跟你所用的電容有關。就是那兩顆 22pF的電容有關。都會有些差異。如果你有示波器。可以在你的TIMER到的時候。進行一個 CPL P0.1 這樣的動作。你就可以由P0.1去看到你的計數花多久時間。
2.如果你要去掃。當然可以用你說的方法。可是LED要點亮一段時間後再關掉,那一段時間。要在ISR中做LOOP嗎?當然是可以啦。如果你在進行的是比較重大的動作時。這樣的動作也會讓你的系統有LOSE。所以建議你把這個部份用個ONE-SHORT DELAY在外面。而你的IO只要給它一個訊號。你就可以去繼續做事了。DELAY的事。交給外面的電路去做。 3.你的問題中。為什麼說時間變得很不準確????有看沒有懂。
|
chenman
一般會員 發表:5 回覆:12 積分:3 註冊:2004-10-24 發送簡訊給我 |
關於第二點~~小弟我有點聽不大懂~~~
你建議我把這個部份用個ONE-SHORT DELAY在外面...可以說的詳細一點嗎^^ 第三點是~~~因為我timer0的設法~~~
時間上的誤差還蠻大的~~~不知怎樣做才會使時間準確點
石英振盪設的大一點(就是以石英振盪為主計時)如(65536-2000)*250*2
或
外部delay time設多層一點如(65536-100)250*40
----------------------------
ps:現在~~小弟我想新增一些功能~~~
就是同時有
時鐘功能
也有8*8鍵盤的功能~~~
約略功能約為!!鍵盤未按時,顯示時間;鍵盤動作時..顯示我的按鍵數字約10秒然後自動跳回時間 這兩者都須要掃瞄~~
不知程式結構怎寫比較恰當!
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
引言: 關於第二點~~小弟我有點聽不大懂~~~ 你建議我把這個部份用個ONE-SHORT DELAY在外面...可以說的詳細一點嗎^^全華 微算機基本原理與應用 MCS-51嵌入式微算機系統軟體與硬體第二版 林銘波編著 第 570 頁。 你可以參考它的解說。 引言: 第三點是~~~因為我timer0的設法~~~ 時間上的誤差還蠻大的~~~不知怎樣做才會使時間準確點 石英振盪設的大一點(就是以石英振盪為主計時)如(65536-2000)*250*2 或 外部delay time設多層一點如(65536-100)250*40還是看不懂你在說什麼@@ 引言: ps:現在~~小弟我想新增一些功能~~~就是同時有時鐘功能 也有8*8鍵盤的功能~~~ 約略功能約為!!鍵盤未按時,顯示時間;鍵盤動作時..顯示我的按鍵數字約10秒然後自動跳回時間 這兩者都須要掃瞄~~ 不知程式結構怎寫比較恰當!這本書的551到573頁在說鍵盤。 而全華8051微處理機實驗吳榮根編著 這本的P4-20至P4-24 在說同時用KEYBOARD掃描跟LED掃描。 我建議你用 第一本書的結構。用第二本書的寫法。 這樣應可以解決你目前想要的。^_^ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |