51單片機定時器初值的計算

2021-01-08 電子產品世界

什麼是時鐘周期?什麼是機器周期?什麼是指令周期

本文引用地址:http://www.eepw.com.cn/article/201611/318666.htm時鐘周期時鐘周期也稱為振蕩周期,定義為時鐘脈衝的倒數(可以這樣來理解,時鐘周期就是單片機外接晶振的倒數,例如12M的晶振,它的時間周期就是1/12 us),是計算機中最基本的、最小的時間單位。在一個時鐘周期內,CPU僅完成一個最基本的動作。對於某種單片機,若採用了1MHZ的時鐘頻率,則時鐘周期為1us;若採用4MHZ的時鐘頻率,則時鐘周期為250ns。由於時鐘脈衝是計算機的基本工作脈衝,它控制著計算機的工作節奏(使計算機的每一步都統一到它的步調上來)。顯然,對同一種機型的計算機,時鐘頻率越高,計算機的工作速度就越快。但是,由於不同的計算機硬體電路和器件的不完全相同,所以其所需要的時鐘周頻率範圍也不一定相同。我們學習的8051單片機的時鐘範圍是1.2MHz-12MHz。 在8051單片機中把一個時鐘周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示)。機器周期在計算機中,為了便於管理,常把一條指令的執行過程劃分為若干個階段,每一階段完成一項工作。例如,取指令、存儲器讀、存儲器寫等,這每一項工作稱為一個基本操作。完成一個基本操作所需要的時間稱為機器周期。一般情況下,一個機器周期由若干個S周期(狀態周期)組成。8051系列單片機的一個機器周期同6個S周期(狀態周期)組成。前面已說過一個時鐘周期定義為一個節拍(用P表示),二個節拍定義為一個狀態周期(用S表示),8051單片機的機器周期由6個狀態周期組成,也就是說一個機器周期=6個狀態周期=12個時鐘周期。指令周期指令周期是執行一條指令所需要的時間,一般由若干個機器周期組成。指令不同,所需的機器周期數也不同。對於一些簡單的的單字節指令,在取指令周期中,指令取出到指令寄存器後,立即解碼執行,不再需要其它的機器周期。對於一些比較複雜的指令,例如轉移指令、乘法指令,則需要兩個或者兩個以上的機器周期。
通常含一個機器周期的指令稱為單周期指令,包含兩個機器周期的指令稱為雙周期指令。
一、10MS定時器初值的計算:

1.晶振12M

12MHz除12為1MHz,也就是說一秒=1000000次機器周期。10ms=10000次 機器周期。
65536-10000=55536(d8f0)
TH0=0xd8,TL0=0xf0
2.晶振11.0592M

11.0592MHz除12為921600Hz,就是一秒921600次機器周期,10ms=9216次機器周期。
65536-9216=56320(dc00)
TH0=0xdc,TL0=0x00

二、50MS定時器初值的計算:

1.晶振12M
12MHz除12為1MHz,也就是說一秒=1000000次機器周期。50ms=50000次 機器周期。

65536-50000=15536(3cb0)

TH0=0x3c,TL0=0xb0

2.晶振11.0592M

11.0592MHz除12為921600Hz,就是一秒921600次機器周期,50ms=46080次機器周期。

65536-46080=19456(4c00)

TH0=0x4c,TL0=0x00

三、使用說明

以12M晶振為例:每秒鐘可以執行1000000次機器周期個機器周期。而T 每次溢出最多65536 個機器周期。我們儘量應該讓溢出中斷的次數最少(如50ms),這樣對主程序的幹擾也就最小。 開發的時候可能會根據需要更換不同頻率的晶振(比如c51單片機,用11.0592M的晶振,很適合產生串口時鐘,而12M晶振很方便計算定時器的時間),使用插接式比較方便。
對12MHz 1個機器周期 1us 12/fosc = 1us

方式0 13位定時器最大時間間隔 = 2^13 = 8.192ms

方式1 16位定時器最大時間間隔 = 2^16 = 65.536ms

方式2 8位定時器最大時間間隔 = 2^8 = 0.256ms =256 us 定時5ms,計算計時器初值 M = 2^K-X*Fosc/12 12MHz 方式0: K=13,X=5ms,Fosc=12MHz 則 M = 2^13 - 5*10^(-3)*12*10^6/12= 3192 = 0x0C78 THx = 0CH,TLx = 78H,
方式1: K=16,X=5ms,Fosc=12MHz 則 M = 2^16 - 5*10^(-3)*12*10^6/12= 60536 = 0xEC78 THx = ECH,TLx = 78H,

50ms 12MHz THx = 3CH,TLx = B0H, 10ms THx = D8H,TLx = F0H,

方式2: 最大時間 2^8Fosc/12 = 0.256ms

十進位數是怎麼來的? 6MHz 一個機器周期 12/6 = 2us 定時1ms 計數初值x (2^16-x)*2us = 1000usx = 2^16 - 500 ,TH,TL 可置 -500
12MHz 一個機器周期 12/12 = 1us 12MHz 一個機器周期 12/12 = 1us 定時50ms 計數初值x (2^16-x)*1us = 50000usx = 2^16 - 50000 ,TH,TL 可置 -500 定時器 計內部晶振頻率
計數器 計外部輸入CPU腳上的脈衝個數 P3.4(T0) P3.5(T1) 負跳變加一
當晶振為6MHz時,最高計數頻率500KHz

相關焦點

  • 單片機定時器計數器初值的計算
    1.計數器初值的計算把計數器計滿為零所需要的計數值設定為C,計數初值設定為TC,由此可得到公式:TC=M-C式中,M為計數器模值,該值和計數器工作方式有關。
  • 51單片機計數器與定時器的區別
    在51單片機的學習過程中,我們經常會發現中斷、計數器/定時器、串口是學習單片機的難點,對於初學者來說,這幾部分的內容很難理解。
  • 通過51單片機定時器/計數器實現精確延時
    MCS-51單片機內部共有兩個16位可編程定時器,計數器,即TO、Tl。既有定時功能,又有計數的功能。每個定時器都是由兩個8位的特殊功能寄存器THi和TLi組成(i=0、1)。TMOD是TO和Tl的工作方式控制寄存器,TCON是TO和Tl的運行狀態控制寄存器。
  • 關於51單片機定時/計數器初值的計算
    計數初值的計算  定時或計數方式下計數初值如何確定,定時器選擇不同的工作方式,不同的操作模式其計數值均不相同。    因為 MCS-51 的兩個定時器均為加 1 計數器,當初到最大值( 00H 或 0000H )時產生溢出,將 TF 位置 1 ,可發出溢出中斷,因此計數器初值 X 的計算式為: X=M- 計數值式中的 M 由操作模式確定,不同的操作模式計數器的長不相同,故M值也不相同。而式中的計數值與定時器的工作方式有關。
  • 單片機定時器周期計算公式
    打開APP 單片機定時器周期計算公式 發表於 2018-01-22 15:59:10 定時器是單片機的重要功能模塊之一,在檢測、控制領域有廣泛應用。
  • 單片機原理|定時器/計數器的工作原理及應用作業
    一.單選題(共41題,94.3分)18051單片機計數初值的計算中,若設最大計數值為M,對於方式1下的M值為( )。A、9CHB、20HC、64HD、A0H我的答案:A 得分: 2.3分 158051單片機計數初值的計算中,若設最大計數值為M,對於方式0下M值為( )。
  • 51單片機---定時器 計數器
    8051系列單片機有兩個定時器:T0和T1,分別稱為定時器和定時器T1,這兩個定時器都是16位的定時器/計數器;8052系列單片機增加了第三個定時器/計數器T2;它們都有定時或事件計數功能,常用於時間控制、延時、對外部時間計數和檢測等場合
  • 51單片機定時器/計數器的結構和原理
    定時器/計數器簡稱定時器,其作用主要包括產生各種時標間隔、記錄外部事件的數量等,是微機中最常用、最基本的部件之一。803l單片機有2個16位的定時器/計數器:定時器0(T0)和定時器1(T1)。
  • 單片機中各種周期的關係與定時器原理
    在標準的51單片機中,一般情況下,一個機器周期等於12個時鐘周期,也就是機器周期=12*時鐘周期,(上面講到的原因)如果是12MHZ,那麼機器周期=1微秒。單片機工作時,是一條一條地從RoM中取指令,然後一步一步地執行。單片機訪問一次存儲器的時間,稱之為一個機器周期,這是一個時間基準。
  • 單片機定時器/計數器基本原理
    打開APP 單片機定時器/計數器基本原理 發表於 2019-06-17 09:19:32 單片機定時器/計數器基本原理
  • 51單片機測變周期脈衝信號的簡便方法
    對等周期的脈衝信號的測量比較容易,只需測量任一脈衝寬度或周期就可以了,近年來已有許多MCS-51用戶利用測量脈衝信號的基本參數而開發新產品,如山東大學的「ZBCY—I型智能標槍速度測試儀」就是利用測量一個脈衝寬度來獲得標槍在某一飛行距離內的平均速度。
  • 利用單片機PWM信號進行舵機控制[圖]
    脈衝計數可以利用51單片機的內部計數器來實現,但是從軟體系統的穩定性和程序結構的合理性看,宜使用外部的計數器,還可以提高CPU的工作效率。實驗後從精度上考慮,對於FUTABA系列的接收機,當採用1MHz的外部晶振時,其控制電壓幅值的變化為0.6mV,而且不會出現誤差積累,可以滿足控制舵機的要求。
  • 單片機時鐘設計
    由於PS7219A器件內含IMP810單片機監控器件,復位輸出高電平有效,因此在使用51系統時,無須添加監控器件,使用PS7219A的復位輸出給51單片機復位即可,監控電壓為4.63V。硬體設計原理圖如圖1所示。
  • 如何利用MCS-51單片機對周期波頻率進行測量
    對於周期波頻率的測量方法很多,但大多是通過測量間接計算頻率。本文介紹了用目前應用比較廣泛的MCS-51系列單片機對周期波頻率進行測量,並通過LED以數字形式直觀地示出頻率,實現測量的智能化,省去間接對頻率計算的麻煩與錯誤。文章對其測量原理,設計和實現作了說明,介紹了主要程序,並進行了誤差分析。 目前單片機廣泛應用到國民經濟建設和日常生活的許多領域,成為測控技術現代化不可缺少的重要工具。
  • 51單片機軟體產生PWM驅動直流電機,頻率佔空比可調
    做了一個實例,以前都是用AVR直接硬體生成PWM,方便快捷,幾條語句的問題,驅動能力還強,從來沒仔細想過如何用51單片機軟體方法做一個,現在非要用51單片機做,那就直接開始製作,首先硬體焊接,軟體編程,只說程序部分
  • 詳解波特率發生器編程/計算/波特率選擇
    在串行通信中,收發雙方對發送或接收的數據速率要有一定的約定,我們通過軟體對MCS—51串行口編程可約定四種工作方式。其中,方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率決定。   串行口的四種工作方式對應著三種波特率。由於輸人的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不同。
  • 單片機低頻脈衝發生器的開發及應
    鑑此我們研製成功了採用單片機技術並具有4位數碼顯示、可連續調頻的方波脈衝發生器 。 2 系統設計思想 我們對本單片機低頻脈衝發生器的設計原則是:在保證系統可靠工作、頻率穩定的條件下,力圖減小尺寸、降低成本。
  • 6位LED顯示單片機控制電子鐘/計數器
    51單片機做的電子鐘在很多地方都有介紹, 對於單片機學習者來說這個程序基本上是一道門檻,掌握了電子鐘程序, 基本上可以說51單片機就掌握了80%。常見的電子鐘程序由顯示部分、計算部分、時鐘調整部分構成,本產品硬體上完全支持倒計時器,客戶只要自己修改程序就能實現倒計時功能。
  • 單片機中PWM的工作原理解析
    PWM在單片機中的應用是非常廣泛的,它的基本原理很簡單,但往往應用於不同場合上意義也不完全一樣,這裡我先把基本概念和基本原理給大家介紹一下,後邊遇到用的時候起碼知道是個什麼東西。那麼用程序驗證一下我們的理論,我們用定時器T0 定時改變 P0.0 的輸出來實現 PWM,與純定時不同的是,這裡我們每周期內都要重載兩次定時器初值,即用兩個不同的初值來控制高低電平的不同持續時間。為了使亮度的變化更加明顯,程序中使用的佔空比差距更大。
  • 浙江省2011年10月自學考試單片機原理與接口技術試題
    浙江省2011年10月高等教育自學考試單片機原理與接口技術試題課程代碼:01644一、填空題(本大題共15小題,每空2分,共30分)請在每小題的空格中填上正確答案。錯填、不填均無分。1.某單片機型號為「AT89C51」,則可知該單片機的生產廠家為______。