1. 關於單片機分頻問題
假如CPU的時鍾為1MHz,那麼就是頻率為1MHz,使用公式算得周期(產生一個脈沖)為1us
如果我們要利用這個時鍾信號通過計數器(8位)計數得到1ms的信號,通過計算 1000us / 1us = 1000次,也就是說要算1000次才能得到1ms的信號,但是計數器最大隻能到255(256次),所以我們需要分頻。
把1us產生一個脈沖變成多個us產生一個脈沖(注意,這里說的是一個脈沖的周期),這個過程叫做分頻。
如果設置2分頻,那麼就是2us一個脈沖,算得的結果是1000us / 2us = 500次,次數超過計數器的最大值,那麼我們選擇8分頻,那麼就是1000us / 8us = 125次,在計數器的范圍以內
那如果是64分頻呢,理論上,8分頻可以,那麼周期更大的64分頻肯定也行,通過計算 1000us / 64us = 15.625次,雖然在計數器的范圍以內,但是結果不是整數,會產生誤差,因此選擇8分頻。
周期公式: T = 1 / f
計算次數公式: Target(目標值) / T = n(次數)
2. 晶振頻率為6MHz,,51單片機的4個時間周期的具體值為多少
晶振頻率為6MHz,即主頻為6MHz,則振盪周期為12/6=2uS,
51單片機的4個機器周期的具體值應為4*2uS=8uS。
3. 設80C51單片機晶振頻率為12MHZ,定時器作計數器使用時,其最高的輸入計數頻率應為
最高的輸入技術頻率應為500khz。
計算方法:
確認一次記數,即一次負跳變,需要2個機器周期,即24個時鍾周期或震盪周期,則最高記數頻率為12M/24=500khz。
或者按照時間計算,晶振頻率12M的2個機器周期即2us,那麼頻率就是1/2*10^6=500khz,結果相同。
(3)單片機2us擴展閱讀:
80C51單片機的嵌入式原理:
梯形圖語言可以「一句頂一萬句」,也可以「一句頂一句」。比如把一個位元組或字從一個地址移動到另一個地址,這實際和匯編語言的一條指令等同。因此梯形圖也可以作為普通的程序開發語言使用。
嵌入式軟體的開發平台使用梯形圖語言的其他功能和PLC類似, 便於「計算機外行」來編程,梯形圖語言在處理計算、字元等方面顯然落後於其他的軟體開發系統。沒有必要迴避梯形圖編程語言的這些缺點。這也是有一利必有一弊。
誠然,用開發平台提供指令(元件)也能完成嵌入式系統的編程,但一般不提倡這么做。用梯形圖語言編程,應盡量使用系統提供的代碼,盡量少的自己編程,讓絕大多數代碼由系統提供。這樣即提高了效率,降低了成本,也保證了程序運行的可靠性。
使用「一句頂一句」編程時,是沒有辦法的辦法。當然,必要時,也必須使用。這也增加的編程的靈活性和擴大了平台的使用范圍。
其實我們把各種處理方式使用C語言、匯編語言或其他語言事先編好,放在平台中供給客戶使用。客戶使用梯形圖語言編程,實際都是調用這些用其他語言編好的模塊而已。
參考資料來源:網路-80C51