專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享
從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競爭力
提供最新的單片機資訊,行業(yè)消息以及公司新聞動態(tài)
單片機應(yīng)用在各個領(lǐng)域的各種設(shè)備中,并在每種設(shè)備中扮演著各種角色。但是,在所有情況下,單片機的基本操作都是通用的,可以將其大致分為以下三種類型。
單片機首先按順序讀?。?)用戶編寫的程序中編寫的指令。然后,(2)執(zhí)行讀取指令。最后,(3)將執(zhí)行結(jié)果輸出到單片機外部。輸出例如是顯示、發(fā)射紅外信號、捕獲按鈕信息、測量時間以及與外圍IC通信。
單片機通過重復(fù)這三個基本操作來執(zhí)行各種復(fù)雜的處理。
一、單片機的內(nèi)部主要由三個模塊組成
那么,單片機實現(xiàn)這些操作的機制是什么?粗略分類時,單片機具有三個功能塊:“內(nèi)存”,“ CPU”和“外圍電路”,這三個功能塊共同工作以實現(xiàn)三個基本操作。
讓我們依次看一下三個基本操作。首先,(1)為了執(zhí)行程序,你必須將程序放在單片機中的某個位置。內(nèi)存起“程序存儲”的作用。用戶必須在使用單片機之前將程序?qū)懭氪鎯ζ鳌?br/>
單片機啟動后,(2)執(zhí)行從該程序讀取的指令的功能塊是CPU。CPU可以一次執(zhí)行一個簡單的程序,但是在程序內(nèi)容復(fù)雜的計算中,可能需要在計算過程中臨時存儲數(shù)據(jù)。在這里,存儲器用作“數(shù)據(jù)的臨時存儲”。
最后,(3)外圍電路負(fù)責(zé)將執(zhí)行結(jié)果輸出到外部的操作。盡管它取決于單片機的類型,但是在CPU周圍集成了一些執(zhí)行特定功能(例如紅外線、按鈕信息、時間測量以及與通信相關(guān)的處理)的單獨電路塊。
如下圖所示,總結(jié)了以上描述。我對其進(jìn)行了相當(dāng)多的總結(jié),并通過三個大型功能塊來表示單片機的內(nèi)部。
指令和數(shù)據(jù)在存儲器和CPU之間交換。有關(guān)程序執(zhí)行結(jié)果的信息在CPU和外圍電路之間來回發(fā)送。外圍電路起著與單片機外部接口的作用?!翱偩€”用于在塊之間傳輸大量數(shù)據(jù)。
存儲器實際上分為幾種類型。閃存和EEPROM(還有許多其他類型,因此我將在系列中再次介紹它們)的目的是不寫入數(shù)據(jù),然后經(jīng)常重寫數(shù)據(jù)包含少量程序。另一方面,CPU計算數(shù)據(jù)經(jīng)常被重寫。這樣的數(shù)據(jù)存儲在稱為RAM(隨機存取存儲器)的存儲器中。
詳細(xì)查看上圖時會發(fā)現(xiàn),CPU也由幾個塊組成。主要分為三類:“ALU(算術(shù)和邏輯單元)”,“寄存器”和“移位器”。ALU負(fù)責(zé)算術(shù)和邏輯運算。移位器用于移位(移位)數(shù)據(jù)和旋轉(zhuǎn)(循環(huán))數(shù)據(jù)。寄存器用于在計算之前臨時存儲從內(nèi)存中獲取的數(shù)據(jù)。
如前所述,外圍電路有各種類型,并且所安裝的外圍電路根據(jù)單片機的類型而不同。在圖2中,以通信功能,模擬功能和計時器為例列出。有各種符合各種標(biāo)準(zhǔn)的通信功能,典型的是SPI,USART和I2C。除了這些,還有每個人都熟悉的純音頻I2S和USB。
作為模擬功能,可以使用將模擬信號轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)的AD轉(zhuǎn)換器和將數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為模擬信號的DA轉(zhuǎn)換器。另一個模擬功能是一個比較器,用于比較兩個模擬信號的幅度。
計時器的基本功能是測量時間很簡單。但是,高性能計時器可能具有輸入捕捉,觸發(fā)和PWM輸出功能。
二、單片機實際上如何運作?
接下來,讓我們按照實際使用單片機的過程來了解這些功能的工作原理。
這里,“使用單片機”是指從用戶創(chuàng)建程序到與單片機的外部交換諸如數(shù)據(jù)之類的信息的過程。
每個部分(內(nèi)存,CPU,外圍電路)的詳細(xì)信息將在后面說明。
參考下圖。使用該圖時,將按照單片機的操作步驟(1)→(2)→(3)→(4)→(5)→(6)→(7)粗略地解釋每個部分的工作。
(1)編寫程序
用戶使用PC來創(chuàng)建與他或她希望單片機執(zhí)行的工作相對應(yīng)的程序。
(2)將程序放入單片機的ROM中
將完成的程序?qū)懭隦OM(這也可以在PC上完成)。
(3)CPU開始運行
當(dāng)你打開單片機的電源時,CPU將開始運行。CPU從寫入ROM的程序中讀取指令,然后按順序執(zhí)行它們。
(4)進(jìn)行計算
ALU執(zhí)行算術(shù)和邏輯運算以及數(shù)據(jù)傳輸。移位器處理移位數(shù)據(jù)的操作。
(5)臨時存儲數(shù)據(jù)
如果需要在算術(shù)處理過程中臨時存儲數(shù)據(jù),請將其存儲在RAM或寄存器中。RAM可以存儲大量數(shù)據(jù)。數(shù)據(jù)量少時使用寄存器。
(6)外圍電路說明
CPU向外圍電路發(fā)出工作指令。
(7)CPU-外圍電路-外部電路
與單片機外部外圍電路交換的數(shù)據(jù)與CPU交換。
以上就是英銳恩單片機開發(fā)工程師分享的有關(guān)單片機的內(nèi)部各個模塊的工作方式。英銳恩專注單片機應(yīng)用方案設(shè)計與開發(fā),提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關(guān)。