<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > MCS-51單片機時序

          MCS-51單片機時序

          作者: 時間:2013-01-24 來源:網絡 收藏

          一、時序:是指單片機執(zhí)行指令時應發(fā)出的的時間序列。這些在時間上的相互關系就是CPU的時序。它是一系列具有時間順序的脈沖信號。

          CPU發(fā)出的時序有兩類:一類用于片內各功能部件的控制,它們是芯片設計師關注的問題,對用戶沒有什么意義。另一類用于片外存儲器或I/O端口的控制,需要通過器件的控制引腳送到片外,這部分時序對分析硬件電路的原理至關重要,也是軟件編程遵循的原則,需要認真掌握。

          擴展閱讀:什么是單片機的時序

          二、時鐘周期、機器周期和指令周期

          1、 時鐘周期:又稱振蕩周期。指為單片機提供定時信號的振蕩源周期。是最小的時序單位。

          振蕩源的頻率越高,單片機的工作速度越快。

          時鐘周期被分成兩個節(jié)拍P1和P2。每個時鐘周期的前半周期P1信號有效,這時CPU通常完成算術邏輯操作;在每個時鐘的后半周期P2信號有效,內部寄存器與寄存器之間的數據一般在此狀態(tài)發(fā)生。

          2、 機器周期:定義為實現特定功能所需要的時間。機器周期按其功能來命名,如取指機器周期等。

          MCS-51的機器周期時間是不變的,均為12個晶振周期或6個狀態(tài)周期。分為S1P1,SIP2;S2P1,S2P2;等

          3、 指令周期:執(zhí)行一條指令的時間。

          按指令執(zhí)行的時間可分為:單周期、雙周期和四周期(只有乘法和除法兩條指令)。

          時鐘周期、機器周期和指令周期均是單位。機器周期是單片機計算其它時間值(如波特率、定時器的定時時間等)的基礎時序單位。

          如MCS-51外接晶振為12MHz,則:

          時鐘周期= = =0.167us;

          機器周期= = =1us;

          指令周期=(1~4) =(1~4) =1~4us.

          例:若單片機時鐘頻率為12MHz,計算定時2ms所需要的定時器初值。(設定時器工作在方式1,即模為2.jpg)

          分析:MCS-51有兩個8位的計數器,每過來一個機器周期,計數器加1。當計數器從0FFFFH~0000H時,定時器自動產生溢出請求。故方式1的最大定時時間為Tmax=2.jpg×T0,其中T0為是一個機器周期的時間。由于時鐘周期的頻率為12MHz,這里的1.jpg

          Tmax=2.jpg×T0=65536×1us=65.536ms。

          現在要產生2ms的定時時間,故必須在計數器中預先放置一定的初值x,使:

          (216-x)T0=2ms。

          解:1.jpg

          (2.jpg-x)T0=2ms=2×10-3s

          X=2.jpg- =216-2×103=63536=F830H。

          注:

          十進制數與二進制數、十六進制數快速轉換方法

          1、 若十進制數小于256,則用這個數除16,得到商和余數。若把這個十進制的商寫成二進制形式,則就是二進制的高4位。把這個十進制的余數寫成二進制的形式,則就是二進制的低4位。合在一起就是轉換的8位二進制數。同樣,若把這個十進制的商寫成十六進制的形式,則就是二進制的高4位的十六進制表示,把這個十進制的余數寫成十六進制的形式,則就是二進制的低4位的十六進制表示,合在一起就是轉換成的十六進制表示。

          2、 若十進制數大于256小于65536,則用這個數除256,得到商和余數,再分別用商和余數除16。商除16后,又得到商和余數,這個商和余數是十進制形式,寫成十六進制就是高8位的高4位和高8位的低4位的十六進制形式。余數除16也得到商和余數,這個商和余數也是十進制,寫成十六進制,就是低8位的高4位和低8位的低4位的十六進制形式。

          例:求出下列十進制數的二進制和十六進制。

          (1)212; (2)65365

          解:(1)

          212/16=13……4

          若把13寫成十六進制,為D,4寫成十六進制,為4,則轉換成十六進制為:

          212=D4(H)

          若把13寫成二進制,為1101,4寫成二進制,為0100,則轉換成二進制為:

          212=11010100(B)。

          (2)

          65365/256=255……85

          (這個商除16就是高8位,這個余數除16就是低8位)

          255/16=15……15

          (這個商就是高8位的高4位,余數就是高8位的低4位)

          把商15寫成十六進制為F,把余數15寫成十六進制為F,故高8位的十六進制為:FFH;

          85/16=5……5

          (這個商就是低8位的高4位,余數就是低8位的低4位)

          把商5寫成十六進制為5,把余數5寫成十六進制為5,故低8位的十六進制為:55F。

          高8位和低8位合在一起即為這個十進制數的十六進制形式:

          65365=FF55(H)。

          化為二進制為:65365=FF55(H)=11111111010101010(B)。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();