0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)究竟是如何構(gòu)成的呢?

5RJg_mcuworld ? 來(lái)源:未知 ? 作者:伍文輝 ? 2018-04-30 16:27 ? 次閱讀

今天,首先學(xué)習(xí)單片機(jī)的基本構(gòu)成和工作原理,以及外圍功能電路,然后,挑戰(zhàn)一個(gè)實(shí)際單片機(jī)的運(yùn)行。

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

現(xiàn)如今,我們生活中的許多電器都使用了單片機(jī)。例如:手機(jī)、電視機(jī)、冰箱、洗衣機(jī)、以及按下開(kāi)關(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ù)“寫(xiě)入”內(nèi)存的某個(gè)地方,或做加法、乘法和邏輯運(yùn)算等等。然而這些簡(jiǎn)單指令的組合,卻能實(shí)現(xiàn)許多復(fù)雜的功能。

會(huì)思考的CPU

讓我們從CPU的構(gòu)成來(lái)了解它的作用吧,如圖2所示。

圖2:CPU的作用

◇程序計(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è)凇?a href="http://ttokpm.com/v/tag/8791/" target="_blank">數(shù)字電路入門(mén)(2)”中學(xué)過(guò)的解碼電路,只不過(guò)電路結(jié)構(gòu)稍微復(fù)雜些,所以,指令解碼電路的工作原理就是從被符號(hào)化(被加密)的指令中,還原指令?!筮\(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ù)雜?!驝PU內(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→0000

◇步驟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ù),大體上分為ROMRAM兩大類(lèi)。

◇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ù)?!驲AM

RAM(Random Access Memory)是可隨機(jī)讀/寫(xiě)內(nèi)存的簡(jiǎn)稱??梢噪S時(shí)讀寫(xiě)數(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)存。

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

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

“為何要使用單片機(jī)……”

為什么很多電器設(shè)備都要使用單片機(jī)呢?

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

圖3:不安裝單片機(jī)的LED電路

使用單片機(jī)的電路如圖4所示。

圖4:安裝單片機(jī)的LED電路圖

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631985
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    562

    瀏覽量

    85623
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1354

    瀏覽量

    114444

原文標(biāo)題:為什么很多電器設(shè)備都要使用單片機(jī)?

文章出處:【微信號(hào):mcuworld,微信公眾號(hào):嵌入式資訊精選】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)IO口懸空,高阻態(tài)究竟是什么意思?

    問(wèn)一個(gè)菜鳥(niǎo)問(wèn)題,單片機(jī)IO口懸空和高阻態(tài)究竟是什么?IO口具體設(shè)置成什么?(輸出不接外部器件?輸入不上拉?)我查了下百度都沒(méi)說(shuō)清楚,復(fù)制粘貼的就算了?。×硗庀雴?wèn)一下,LCD驅(qū)動(dòng)時(shí)IO口是怎么輸出3種
    發(fā)表于 06-28 08:47

    圖解:IGBT究竟是什么?

    圖解:IGBT究竟是什么? IGBT究竟是什么?
    發(fā)表于 08-10 08:01

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?起決定性作用的S參數(shù)將S參數(shù)擴(kuò)展到多端口器件和差分器件
    發(fā)表于 03-01 11:46

    我們仿真DDR究竟是仿真什么

    我們仿真DDR究竟是仿真什么?
    發(fā)表于 03-04 07:32

    電感飽和究竟是什么

    電感飽和究竟是什么
    發(fā)表于 03-11 08:13

    分貝究竟是什么?如何去理解它?

    分貝究竟是什么?如何去理解它?
    發(fā)表于 05-31 07:05

    一文讀懂eMMC究竟是啥?

    eMMC究竟是啥?eMMC長(zhǎng)什么樣?eMMC用在哪?主要是干嘛用的?eMMC究竟是如何工作的?
    發(fā)表于 06-18 06:04

    SSD用久了速度會(huì)下降,這究竟是為什么?

    SSD用久了速度會(huì)下降,這究竟是為什么?造成SSD越用越慢的原因有哪些
    發(fā)表于 06-18 08:49

    retain,copy與assign究竟是有什么區(qū)別

    retain,copy與assign究竟是有什么區(qū)別?
    發(fā)表于 09-30 09:25

    同步電機(jī)的轉(zhuǎn)數(shù)同步究竟是與什么同步啊?

    同步電機(jī)的轉(zhuǎn)數(shù)同步究竟是與什么同步啊? 所有的同步電機(jī)的轉(zhuǎn)數(shù)都一樣嗎?還是與電機(jī)的極對(duì)數(shù)有關(guān)系?
    發(fā)表于 12-19 06:44

    究竟是什么讓很多單片機(jī)的工作電壓是5V?資料下載

    電子發(fā)燒友網(wǎng)為你提供究竟是什么讓很多單片機(jī)的工作電壓是5V?資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-23 08:45 ?2次下載
    <b class='flag-5'>究竟是</b>什么讓很多<b class='flag-5'>單片機(jī)</b>的工作電壓是5V?資料下載

    單片機(jī)究竟是如何構(gòu)成

    單片機(jī)是控制電子產(chǎn)品的大腦現(xiàn)如今,我們生活中的許多電器都使用了單片機(jī)。例如:手機(jī)、電視機(jī)、冰箱、洗衣機(jī)、以及按下開(kāi)關(guān),LED就閃爍的兒童玩具。那么,
    發(fā)表于 11-26 17:36 ?21次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>究竟是</b>如何<b class='flag-5'>構(gòu)成</b>的<b class='flag-5'>呢</b>

    單片機(jī)雙字節(jié)數(shù)乘法運(yùn)算實(shí)驗(yàn)_單片機(jī)究竟是如何構(gòu)成

    單片機(jī)是控制電子產(chǎn)品的大腦現(xiàn)如今,我們生活中的許多電器都使用了單片機(jī)。例如:手機(jī)、電視機(jī)、冰箱、洗衣機(jī)、以及按下開(kāi)關(guān),LED就閃爍的兒童玩具。那么,
    發(fā)表于 11-26 18:06 ?22次下載
    <b class='flag-5'>單片機(jī)</b>雙字節(jié)數(shù)乘法運(yùn)算實(shí)驗(yàn)_<b class='flag-5'>單片機(jī)</b><b class='flag-5'>究竟是</b>如何<b class='flag-5'>構(gòu)成</b>的<b class='flag-5'>呢</b>

    S參數(shù)究竟是什么?

    S參數(shù)究竟是什么?
    發(fā)表于 11-01 08:24 ?2次下載
    S參數(shù)<b class='flag-5'>究竟是</b>什么?

    串口究竟是什么

    串口通訊是我們?cè)陔娏﹄娮釉O(shè)計(jì)中使用頻率比較高的一種通訊協(xié)議,那串口究竟是什么?
    的頭像 發(fā)表于 04-12 09:40 ?1.9w次閱讀