1. 程式人生 > >MCS-51微控制器結構學習總結

MCS-51微控制器結構學習總結

關於[MCS-51](http://baike.baidu.com/view/6232391.htm%20%E2%80%9CMCS-51%E2%80%9D)基本介紹百度百科介紹的和大部分書上介紹的也是大同小異,我也不再贅述了,
在學習之初,有點心急,對前面微控制器的基本結構沒有理解透就開始寫程式碼,導致後面出現很多問題,不能解決,所以後面沒辦法只能再去靜下來再看看,學習這種事情,真的要沉下心來,廢話不說了,進入正題。
 對於微控制器最主要的當然還是**CPU**,CPU包括運算器和控制器,在這裡要注意CPU中同時也包含儲存器,程式控制器(PC),指令暫存器(IR),還有算術邏輯部件的兩個8位的暫存器(TMP1和TMP2)。首先說說*控制器*包含程式計數器(PC),指令暫存器(IR),指令譯碼器(ID)和資料指標(DPTR)。
  1. 控制器

    • 程式計數器(PC)
      PC是一個16位的專用暫存器,存放下一條要執行的指令地址,專用暫存器呢,聽名字就知道了,就是這個暫存器只能用來實現一種功能,與之對應的就是通用暫存器,它可以實現多種操作喲,主要取決於使用者。每次CPU取指令之後,PC會自動加一,同時也可以通過修改其值實現指令的跳轉。系統復位後,PC會自動賦值為0000H,注意這裡的地址是程式儲存器的地址。
    • 指令暫存器(IR)
      是一位8位的暫存器,用來暫存執行的指令,等待譯碼。
    • 指令譯碼器(ID)
      對指令暫存器的指令進行譯碼,轉換為控制電路的訊號。
    • 資料指標(DPTR)
      是一位16位的專用地址指標暫存器,有兩個8位的暫存器DPH(高)、OPL(低)組成,這裡在介紹儲存器還會詳細介紹。

    • 運算器

    • 累加器(ACC)
      是一位8位的二進位制暫存器,通過暫存器與ALU相連,用來存放運算元和結果,可以說ACC是最常用的暫存器。

    • 算術邏輯部件(ALU)
      由一個加法器、兩個8位暫存器和布林處理器組成。ALU是微控制器最核心的部件。使用它實現各種運算。
    • 程式狀態字暫存器(PSW)
      PSW是一個8位的專用暫存器,用於存放程式執行過程的各種狀態,PSW一般自動生成,但是也可以,通過指令改變。

PSW位定義
psw每一個位詳細定義
關於MCS-51的外部引腳功能
網上很多解釋這裡寫連結內容
在學習51微控制器我覺得最主要的還是理解儲存器,這個理解了很多問題自己才可以想通。
51微控制器儲存空間結構圖
圖中可以看出來,51微控制器可以外擴64kROM和64KRAM,其中當PC的值大於4K,自動定址到外部程式儲存器,同時也可以控制EA實現對外部程式儲存器的訪問,對於RAM,51系列微控制器只有128位元組RAM,作為資料儲存器,主要用來存放資料,者128位元組可以暫存器直接定址也可以間接定址,對於與它統一編碼的特殊功能暫存器,也就是當DPTR大於128所訪問的地址,只能暫存器間接定址,因為這裡存放的21個特殊功能暫存器,隨意的改變可能會使程式出錯。同時DPTR也可以控制外部擴充套件的64k資料儲存器。
特殊功能暫存器分佈