<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 嵌入式編程之單片機的基本構成、工作原理

嵌入式編程之單片機的基本構成、工作原理

作者: 時(shí)間:2018-08-09 來(lái)源:網(wǎng)絡(luò ) 收藏

本篇講解作為嵌入式系統開(kāi)發(fā)技術(shù)人員所必需具備的基礎知識。這些基礎知識是硬件和軟件技術(shù)人員都應該掌握的共通技術(shù)知識。有了電子電路和數字電路的基礎知識,就可以開(kāi)始學(xué)習嵌入式系統的核心元件-。本文我們將為大家介紹的基礎知識。

本文引用地址:http://dyxdggzs.com/article/201808/386068.htm

入門(mén)系列講座中,首先學(xué)習單片機的基本構成和工作原理、以及外圍功能電路,然后,挑戰一個(gè)實(shí)際單片機的運行。

單片機是控制電子產(chǎn)品的大腦

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

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

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

單片機是由CPU、內存、外圍功能等部分組成的。如果將單片機比作人,那么CPU是負責思考的,內存是負責記憶的,外圍功能相當于視覺(jué)的感官系統及控制手腳動(dòng)作的神經(jīng)系統。

圖1:?jiǎn)纹瑱C的構成要素

盡管我們說(shuō)CPU相當于人的大腦,但是它卻不能像人的大腦一樣,能有意識的、自發(fā)的思考。CPU只能依次讀取并執行事先存儲在內存中的指令組合(程序)。當然CPU執行的指令并不是“走路”、“講話(huà)”等高難度命令,而是一些非常簡(jiǎn)單的指令,象從內存的某個(gè)地方“讀取數據”或把某個(gè)數據“寫(xiě)入”內存的某個(gè)地方,或做加法、乘法和邏輯運算等等。然而這些簡(jiǎn)單指令的組合,卻能實(shí)現許多復雜的功能。

會(huì )思考的CPU

讓我們從CPU的構成來(lái)了解它的作用吧。(圖2)

圖2:CPU的作用

◇程序計數器

CPU讀取指令時(shí)需要知道要執行的指令保存在內存的什么位置,這個(gè)位置信息稱(chēng)為地址(相當于家庭住址)。程序計數器(PC)就是存儲地址的寄存器。通常,PC是按1遞增設計的,也就是說(shuō),當CPU執行了0000地址中的指令后,PC會(huì )自動(dòng)加1,變成0001地址。每執行一條指令PC都會(huì )自動(dòng)加1,指向下一條指令的地址??梢哉f(shuō),PC決定了程序執行的順序。

◇指令解碼電路

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

◇運算電路

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

◇CPU內部寄存器

CPU內部寄存器是存儲臨時(shí)信息的場(chǎng)所。有存儲運算值和運算結果的通用寄存器,也有一些特殊寄存器,比如存儲運算標志的標志寄存器等。也就是說(shuō),運算電路進(jìn)行運算時(shí),并不是在內存中直接運算的,而是將內存中的數據復制到通用寄存器,在通用寄存器中進(jìn)行運算的。

CPU的工作原理

讓我們通過(guò)一個(gè)具體運算3+4,來(lái)說(shuō)明CPU的操作過(guò)程吧。

假設保存在內存中的程序和數據如下。

地址 指令

(實(shí)際上指令是用二進(jìn)制碼表示的,為了方便理解,我們用文字說(shuō)明)

0000 讀取0100地址的內存,存入寄存器1

0001 讀取0101地址的內存,存入寄存器2

0002 將寄存器1與寄存器2的值相加,結果存入寄存器1

地址 數據

0100 3

0101 4

◇步驟1:當程序被執行時(shí),CPU就讀取當前PC指向的地址0000中的指令(該操作稱(chēng)為指令讀取)。經(jīng)過(guò)解碼電路解讀后,這條指令的意思是“讀取0100地址中的內容,然后,保存到寄存器1”。于是CPU就執行指令,從0100地址中讀取數據,存入寄存器1。

寄存器1: 0→3(由0變?yōu)?)

由于執行了1條指令,因此,PC的值變?yōu)?001

◇步驟2:由于PC的值為0001,因此CPU就讀取0001地址中的指令,經(jīng)解碼電路解碼后,CPU執行該指令。然后PC再加1。

寄存器2:0→4(由0變?yōu)?)

PC:0001→0002

◇步驟3:由于PC的值為0002,因此CPU從0002地址中讀取指令,送給指令解碼電路。解碼結果是:將寄存器1和寄存器2相加,然后將結果存于寄存器1。

寄存器1:3→7

PC:2→3

于是3+4的結果7被存于寄存器1,加法運算結束。CPU就是這樣,依次處理每一條簡(jiǎn)單的指令。

能記憶的內存

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

◇ROM

ROM(Read Only Memory)是只讀內存的簡(jiǎn)稱(chēng)。保存在ROM中的數據不能刪除,也不會(huì )因斷電而丟失。ROM主要用于保存用戶(hù)程序和在程序執行中保持不變的常數。

大多數瑞薩(Renesas)的單片機都用閃存作為ROM。這是因為閃存不僅可以象ROM一樣,即使關(guān)機也不會(huì )丟失數據,而且還允許修改數據。

◇RAM

RAM(Random Access Memory)是可隨機讀/寫(xiě)內存的簡(jiǎn)稱(chēng)??梢噪S時(shí)讀寫(xiě)數據,但關(guān)機后,保存在RAM中的數據也隨之消失。主要用于存儲程序中的變量。

在單芯片單片機中(*1),常常用SRAM作為內部RAM。SRAM允許高速訪(fǎng)問(wèn),但是,內部結構太復雜,很難實(shí)現高密度集成,不適合用作大容量?jì)却妗?/p>

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

(*1)單芯片單片機是指:將CPU,ROM,RAM,振蕩電路,定時(shí)器和串行I/F等集成于一個(gè)LSI的微處理器。單芯片單片機的基礎上再配置一些系統的主要外圍電路,而形成的大規模集成電路稱(chēng)為系統LSI。

“為何要使用單片機……”

為什么很多電器設備都要使用單片機呢?

讓我們用一個(gè)點(diǎn)亮LED的電路為例,來(lái)說(shuō)明。如圖3所示,不使用單片機的電路是一個(gè)由LED,開(kāi)關(guān)和電阻構成的簡(jiǎn)單電路。

圖3:不安裝單片機的LED電路

使用單片機的電路如圖4所示。

很顯然,使用單片機的電路要復雜得多,而且設計電路還要花費精力與財力。好象使用單片機并沒(méi)有什么優(yōu)點(diǎn)。但是,現在下結論還為時(shí)尚早。

如果我們讓這個(gè)電路做一些比較復雜的操作,會(huì )怎么樣呢。例如:如果希望LED在按下開(kāi)關(guān)后,經(jīng)過(guò)一段時(shí)間再點(diǎn)亮或熄滅,那么,對于安裝有單片機的電路來(lái)說(shuō),只需更改單片機中的程序就可以了,并不需更改原電路。另一方面,對于沒(méi)有單片機的電路來(lái)說(shuō),就必須在元電路中加入定時(shí)器IC,或者用標準邏輯IC和FPGA構成邏輯電路,才能實(shí)現這個(gè)功能。

也就是說(shuō),在更改和添加新功能時(shí),帶有單片機的電路顯然更加容易實(shí)現。這正是電器設備使用單片機的原因。單片機可真是個(gè)方便的東西哦!

圖4:安裝單片機的LED電路圖



關(guān)鍵詞: 單片機

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>