02.17 單片機的基本構成

現如今,我們生活中的許多電器都使用了單片機。例如:手機、電視機、冰箱、洗衣機、以及按下開關,LED就閃爍的兒童玩具。那麼,單片機在這些電器中究竟做了些什麼呢?

單片機是這些電器動作的關鍵,是指揮硬件運行的。例如:接收按鈕或按鍵的輸入信號,按照事先編好的程序,指揮馬達和LCD的外圍功能電路動作。

那麼,單片機是如何構成的呢?(圖1)

單片機的基本構成

單片機的基本構成

單片機是由CPU、內存、外圍功能等部分組成的。如果將單片機比作人,那麼CPU是負責思考的,內存是負責記憶的,外圍功能相當於視覺的感官系統及控制手腳動作的神經系統。

一、會思考的CPU

單片機的基本構成

CPU的作用

程序計數器

CPU讀取指令時需要知道要執行的指令保存在內存的什麼位置,這個位置信息稱為地址(相當於家庭住址)。程序計數器(PC)就是存儲地址的寄存器。通常,PC是按1遞增設計的,也就是說,當CPU執行了0000地址中的指令後,PC會自動加1,變成0001地址。每執行一條指令PC都會自動加1,指向下一條指令的地址。可以說,PC決定了程序執行的順序。

指令解碼電路

指令解碼電路是解讀從內存中讀取的指令的含義。運算電路是根據解碼結果操作的。確切地講,指令解碼電路就是我們在“數字電路入門(2)”中學過的解碼電路,只不過電路結構稍微複雜些,所以,指令解碼電路的工作原理就是從被符號化(被加密)的指令中,還原指令。

運算電路

運算電路也稱為ALU(Arithmetic and Logic Unit),是完成運算的電路。能進行加法、乘法等算術運算、也能進行AND、OR 、BIT-SHIFT等邏輯運算。運算是在指令解碼電路的控制下進行的。通常運算電路的構成都比較複雜。

CPU內部寄存器

CPU內部寄存器是存儲臨時信息的場所。有存儲運算值和運算結果的通用寄存器,也有一些特殊寄存器,比如存儲運算標誌的標誌寄存器等。也就是說,運算電路進行運算時,並不是在內存中直接運算的,而是將內存中的數據複製到通用寄存器,在通用寄存器中進行運算的。

二、能記憶的內存

內存是單片機的記憶裝置,主要記憶程序和數據,大體上分為ROM和RAM兩大類。

ROM

ROM(Read Only Memory)是隻讀內存的簡稱。保存在ROM中的數據不能刪除,也不會因斷電而丟失。ROM主要用於保存用戶程序和在程序執行中保持不變的常數。

RAM

RAM(Random Access Memory)是可隨機讀/寫內存的簡稱。可以隨時讀寫數據,但關機後,保存在RAM中的數據也隨之消失。主要用於存儲程序中的變量。

單片機常常用SRAM作為內部RAM。SRAM允許高速訪問,但是,內部結構太複雜,很難實現高密度集成,不適合用作大容量內存。

除SRAM外,DRAM也是常見的RAM。DRAM的結構比較容易實現高密度集成,因此,比SRAM的容量大。但是,將高速邏輯電路和DRAM安裝於同一個晶片上較為困難,因此,一般在單片機中很少使用,基本上都是用作外圍電路。


分享到:


相關文章: