資料介紹
本連載講解作為嵌入式系統(tǒng)開發(fā)技術(shù)人員所必需具備的基礎(chǔ)知識(shí)。這些基礎(chǔ)知識(shí)是硬件和軟件技術(shù)人員都應(yīng)該掌握的共通技術(shù)知識(shí)。
有了電子電路和數(shù)字電路的基礎(chǔ)知識(shí),就可以開始學(xué)習(xí)嵌入式系統(tǒng)的核心元件-單片機(jī)。從本期開始我們將為大家介紹單片機(jī)的基礎(chǔ)知識(shí)。
在單片機(jī)入門系列講座中,首先學(xué)習(xí)單片機(jī)的基本構(gòu)成和工作原理、以及外圍功能電路,然后,挑戰(zhàn)一個(gè)實(shí)際單片機(jī)的運(yùn)行。
單片機(jī)是控制電子產(chǎn)品的大腦
現(xiàn)如今,我們生活中的許多電器都使用了單片機(jī)。例如:手機(jī)、電視機(jī)、冰箱、洗衣機(jī)、以及按下開關(guān),LED就閃爍的兒童玩具。那么,單片機(jī)在這些電器中究竟做了些什么呢?
單片機(jī)是這些電器動(dòng)作的關(guān)鍵,是指揮硬件運(yùn)行的。例如:接收按鈕或按鍵的輸入信號(hào),按照事先編好的程序,指揮馬達(dá)和LCD的外圍功能電路動(dòng)作。
那么,單片機(jī)是如何構(gòu)成的呢?(圖1)
單片機(jī)是由CPU、內(nèi)存、外圍功能等部分組成的。如果將單片機(jī)比作人,那么CPU是負(fù)責(zé)思考的,內(nèi)存是負(fù)責(zé)記憶的,外圍功能相當(dāng)于視覺(jué)的感官系統(tǒng)及控制手腳動(dòng)作的神經(jīng)系統(tǒng)。
圖1:?jiǎn)纹瑱C(jī)的構(gòu)成要素
盡管我們說(shuō)CPU相當(dāng)于人的大腦,但是它卻不能像人的大腦一樣,能有意識(shí)的、自發(fā)的思考。CPU只能依次讀取并執(zhí)行事先存儲(chǔ)在內(nèi)存中的指令組合(程序)。當(dāng)然CPU執(zhí)行的指令并不是“走路”、“講話”等高難度命令,而是一些非常簡(jiǎn)單的指令,象從內(nèi)存的某個(gè)地方“讀取數(shù)據(jù)”或把某個(gè)數(shù)據(jù)“寫入”內(nèi)存的某個(gè)地方,或做加法、乘法和邏輯運(yùn)算等等。然而這些簡(jiǎn)單指令的組合,卻能實(shí)現(xiàn)許多復(fù)雜的功能。
會(huì)思考的CPU
讓我們從CPU的構(gòu)成來(lái)了解它的作用吧。(圖2)
程序計(jì)數(shù)器
CPU讀取指令時(shí)需要知道要執(zhí)行的指令保存在內(nèi)存的什么位置,這個(gè)位置信息稱為地址(相當(dāng)于家庭住址)。程序計(jì)數(shù)器(PC)就是存儲(chǔ)地址的寄存器。通常,PC是按1遞增設(shè)計(jì)的,也就是說(shuō),當(dāng)CPU執(zhí)行了0000地址中的指令后,PC會(huì)自動(dòng)加1,變成0001地址。每執(zhí)行一條指令PC都會(huì)自動(dòng)加1,指向下一條指令的地址??梢哉f(shuō),PC決定了程序執(zhí)行的順序。
指令解碼電路
指令解碼電路是解讀從內(nèi)存中讀取的指令的含義。運(yùn)算電路是根據(jù)解碼結(jié)果操作的。確切地講,指令解碼電路就是我們?cè)凇皵?shù)字電路入門(2)”中學(xué)過(guò)的解碼電路,只不過(guò)電路結(jié)構(gòu)稍微復(fù)雜些,所以,指令解碼電路的工作原理就是從被符號(hào)化(被加密)的指令中,還原指令。
圖2:CPU的作用
運(yùn)算電路
運(yùn)算電路也稱為ALU(Arithmetic and Logic Unit),是完成運(yùn)算的電路。能進(jìn)行加法、乘法等算術(shù)運(yùn)算、也能進(jìn)行AND、OR 、BIT-SHIFT等邏輯運(yùn)算。運(yùn)算是在指令解碼電路的控制下進(jìn)行的。通常運(yùn)算電路的構(gòu)成都比較復(fù)雜。
CPU內(nèi)部寄存器
CPU內(nèi)部寄存器是存儲(chǔ)臨時(shí)信息的場(chǎng)所。有存儲(chǔ)運(yùn)算值和運(yùn)算結(jié)果的通用寄存器,也有一些特殊寄存器,比如存儲(chǔ)運(yùn)算標(biāo)志的標(biāo)志寄存器等。也就是說(shuō),運(yùn)算電路進(jìn)行運(yùn)算時(shí),并不是在內(nèi)存中直接運(yùn)算的,而是將內(nèi)存中的數(shù)據(jù)復(fù)制到通用寄存器,在通用寄存器中進(jìn)行運(yùn)算的。
CPU的工作原理
讓我們通過(guò)一個(gè)具體運(yùn)算3 4,來(lái)說(shuō)明CPU的操作過(guò)程吧。
假設(shè)保存在內(nèi)存中的程序和數(shù)據(jù)如下。
◇步驟1:當(dāng)程序被執(zhí)行時(shí),CPU就讀取當(dāng)前PC指向的地址0000中的指令(該操作稱為指令讀?。=?jīng)過(guò)解碼電路解讀后,這條指令的意思是“讀取0100地址中的內(nèi)容,然后,保存到寄存器1”。于是CPU就執(zhí)行指令,從0100地址中讀取數(shù)據(jù),存入寄存器1。
● 寄存器1: 0→3(由0變?yōu)?)
● 由于執(zhí)行了1條指令,因此,PC的值變?yōu)?001
◇步驟2:由于PC的值為0001,因此CPU就讀取0001地址中的指令,經(jīng)解碼電路解碼后,CPU執(zhí)行該指令。然后PC再加1。
● 寄存器2:0→4(由0變?yōu)?)
● PC:0001→0002
◇步驟3:由于PC的值為0002,因此CPU從0002地址中讀取指令,送給指令解碼電路。解碼結(jié)果是:將寄存器1和寄存器2相加,然后將結(jié)果存于寄存器1。
● 寄存器1:3→7
● PC:2→3
于是3 4的結(jié)果7被存于寄存器1,加法運(yùn)算結(jié)束。CPU就是這樣,依次處理每一條簡(jiǎn)單的指令。
能記憶的內(nèi)存
內(nèi)存是單片機(jī)的記憶裝置,主要記憶程序和數(shù)據(jù),大體上分為ROM和RAM兩大類。
ROM
ROM(Read Only Memory)是只讀內(nèi)存的簡(jiǎn)稱。保存在ROM中的數(shù)據(jù)不能刪除,也不會(huì)因斷電而丟失。ROM主要用于保存用戶程序和在程序執(zhí)行中保持不變的常數(shù)。
大多數(shù)瑞薩 (Renesas)的單片機(jī)都用閃存作為ROM。這是因?yàn)殚W存不僅可以象ROM一樣,即使關(guān)機(jī)也不會(huì)丟失數(shù)據(jù),而且還允許修改數(shù)據(jù)。
RAM
RAM(Random Access Memory)是可隨機(jī)讀/寫內(nèi)存的簡(jiǎn)稱??梢噪S時(shí)讀寫數(shù)據(jù),但關(guān)機(jī)后,保存在RAM中的數(shù)據(jù)也隨之消失。主要用于存儲(chǔ)程序中的變量。
在單芯片單片機(jī)中(*1),常常用SRAM作為內(nèi)部RAM。SRAM允許高速訪問(wèn),但是,內(nèi)部結(jié)構(gòu)太復(fù)雜,很難實(shí)現(xiàn)高密度集成,不適合用作大容量?jī)?nèi)存。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單片機(jī)基礎(chǔ)及應(yīng)用:單片機(jī)并行存儲(chǔ)器擴(kuò)展資料下載
- 8位、16位、32位單片機(jī)各有啥區(qū)別?主要是CPU?資料下載
- 單片機(jī)對(duì)外圍功能電路的控制知識(shí)資料下載
- 單片機(jī)里的通信協(xié)議怎么理解?這樣看其實(shí)挺簡(jiǎn)單資料下載
- 51單片機(jī)串行通信的原理解析資料下載
- 小白學(xué)單片機(jī)(15) 單片機(jī)程序下載失敗總結(jié)資料下載
- 解析單片機(jī)與CPU的區(qū)別資料下載
- 單片機(jī)音樂(lè)程序的設(shè)計(jì)原理解析資料下載
- 單片機(jī)的外圍功能電路控制資料下載
- 單片機(jī)工作所必須的外圍功能電路有哪些?資料下載
- 51單片機(jī)一般如何進(jìn)行內(nèi)存優(yōu)化?實(shí)例+要點(diǎn)資料下載
- 單片機(jī)CPU與外部設(shè)備交換信息的幾種方式資料下載
- 單片機(jī)僅靠CPU和內(nèi)存是無(wú)法運(yùn)行的!資料下載
- 51單片機(jī)如何使用動(dòng)態(tài)內(nèi)存
- 單片機(jī)外圍電路設(shè)計(jì)中經(jīng)見(jiàn)10大疑問(wèn)匯總資料下載 63次下載
- 單片機(jī)的低功耗設(shè)計(jì)技術(shù)及注意問(wèn)題 1387次閱讀
- 單片機(jī)的內(nèi)存映射圖解析 1274次閱讀
- 單片機(jī)的內(nèi)存映射圖解析 1799次閱讀
- 單片機(jī)里的程序是如何運(yùn)行? 4548次閱讀
- 80C51單片機(jī)定時(shí)計(jì)數(shù)器的功能詳解 7685次閱讀
- 單片機(jī)中的堆棧詳細(xì)資料說(shuō)明 4838次閱讀
- 單片機(jī)應(yīng)用系統(tǒng)的結(jié)構(gòu)及工作原理 9346次閱讀
- PIC單片機(jī)抗靜電處理解決方案 2218次閱讀
- 單片機(jī)堆棧的小故事讓你更容易理解堆棧的概念 4494次閱讀
- 解讀單片機(jī)和CPU的區(qū)別及意義 3w次閱讀
- 詳談單片機(jī)的由來(lái)(組成,歷史,種類,作用) 5904次閱讀
- 單片機(jī)究竟是如何構(gòu)成的呢? 6342次閱讀
- 單片機(jī)必須了解的外設(shè)功能——GPIO/串行通信 1.8w次閱讀
- 單片機(jī)外圍功能電路控制的基礎(chǔ)知識(shí) 9916次閱讀
- 嵌入式編程之單片機(jī)的外圍功能電路 5343次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多