單片機應用在各個領域的各種設備中,并在每種設備中扮演著各種角色。但是,在所有情況下,單片機的基本操作都是通用的,可以將其大致分為以下三種類型。
單片機首先按順序讀?。?)用戶編寫的程序中編寫的指令。然后,(2)執行讀取指令。最后,(3)將執行結果輸出到單片機外部。輸出例如是顯示、發射紅外信號、捕獲按鈕信息、測量時間以及與外圍IC通信。
單片機通過重復這三個基本操作來執行各種復雜的處理。
一、單片機的內部主要由三個模塊組成
那么,單片機實現這些操作的機制是什么?粗略分類時,單片機具有三個功能塊:“內存”,“ CPU”和“外圍電路”,這三個功能塊共同工作以實現三個基本操作。
讓我們依次看一下三個基本操作。首先,(1)為了執行程序,你必須將程序放在單片機中的某個位置。內存起“程序存儲”的作用。用戶必須在使用單片機之前將程序寫入存儲器。
單片機啟動后,(2)執行從該程序讀取的指令的功能塊是CPU。CPU可以一次執行一個簡單的程序,但是在程序內容復雜的計算中,可能需要在計算過程中臨時存儲數據。在這里,存儲器用作“數據的臨時存儲”。
最后,(3)外圍電路負責將執行結果輸出到外部的操作。盡管它取決于單片機的類型,但是在CPU周圍集成了一些執行特定功能(例如紅外線、按鈕信息、時間測量以及與通信相關的處理)的單獨電路塊。
如下圖所示,總結了以上描述。我對其進行了相當多的總結,并通過三個大型功能塊來表示單片機的內部。
指令和數據在存儲器和CPU之間交換。有關程序執行結果的信息在CPU和外圍電路之間來回發送。外圍電路起著與單片機外部接口的作用?!翱偩€”用于在塊之間傳輸大量數據。
存儲器實際上分為幾種類型。閃存和EEPROM(還有許多其他類型,因此我將在系列中再次介紹它們)的目的是不寫入數據,然后經常重寫數據包含少量程序。另一方面,CPU計算數據經常被重寫。這樣的數據存儲在稱為RAM(隨機存取存儲器)的存儲器中。
詳細查看上圖時會發現,CPU也由幾個塊組成。主要分為三類:“ALU(算術和邏輯單元)”,“寄存器”和“移位器”。ALU負責算術和邏輯運算。移位器用于移位(移位)數據和旋轉(循環)數據。寄存器用于在計算之前臨時存儲從內存中獲取的數據。
如前所述,外圍電路有各種類型,并且所安裝的外圍電路根據單片機的類型而不同。在圖2中,以通信功能,模擬功能和計時器為例列出。有各種符合各種標準的通信功能,典型的是SPI,USART和I2C。除了這些,還有每個人都熟悉的純音頻I2S和USB。
作為模擬功能,可以使用將模擬信號轉換為數字數據的AD轉換器和將數字數據轉換為模擬信號的DA轉換器。另一個模擬功能是一個比較器,用于比較兩個模擬信號的幅度。
計時器的基本功能是測量時間很簡單。但是,高性能計時器可能具有輸入捕捉,觸發和PWM輸出功能。
二、單片機實際上如何運作?
接下來,讓我們按照實際使用單片機的過程來了解這些功能的工作原理。
這里,“使用單片機”是指從用戶創建程序到與單片機的外部交換諸如數據之類的信息的過程。
每個部分(內存,CPU,外圍電路)的詳細信息將在后面說明。
參考下圖。使用該圖時,將按照單片機的操作步驟(1)→(2)→(3)→(4)→(5)→(6)→(7)粗略地解釋每個部分的工作。
(1)編寫程序
用戶使用PC來創建與他或她希望單片機執行的工作相對應的程序。
(2)將程序放入單片機的ROM中
將完成的程序寫入ROM(這也可以在PC上完成)。
(3)CPU開始運行
當你打開單片機的電源時,CPU將開始運行。CPU從寫入ROM的程序中讀取指令,然后按順序執行它們。
(4)進行計算
ALU執行算術和邏輯運算以及數據傳輸。移位器處理移位數據的操作。
(5)臨時存儲數據
如果需要在算術處理過程中臨時存儲數據,請將其存儲在RAM或寄存器中。RAM可以存儲大量數據。數據量少時使用寄存器。
(6)外圍電路說明
CPU向外圍電路發出工作指令。
(7)CPU-外圍電路-外部電路
與單片機外部外圍電路交換的數據與CPU交換。
以上就是英銳恩單片機開發工程師分享的有關單片機的內部各個模塊的工作方式。英銳恩專注單片機應用方案設計與開發,提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關。