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

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

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

小智科普:單片機詳解

唐先生 ? 來源: NGI123 ? 作者: NGI123 ? 2022-10-21 09:10 ? 次閱讀

導(dǎo)語:單片機也被稱為單片微控器,屬于一種集成式電路芯片。在單片機中主要包含CPU、只讀存儲器ROM和隨機存儲器RAM等,相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。多樣化數(shù)據(jù)采集與控制系統(tǒng)能夠讓單片機完成各項復(fù)雜的運算,無論是對運算符號進行控制,還是對系統(tǒng)下達運算指令都能通過單片機完成。單片機的使用領(lǐng)域已十分廣泛,如智能儀表、實時工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。下文會詳細(xì)介紹什么是單片機,包括其特點、組成部分、工作原理、基本結(jié)構(gòu)、分類等。

丨什么是單片機

單片機(Single-Chip Microcomputer)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計數(shù)器等功能(可能還包括顯示驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個小而完善的微型計算機系統(tǒng)。

概括地講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。

poYBAGNR7_uACy8tAACHGmbfqK0120.png

丨單片機的特點

1.具有優(yōu)異的性價比

單片機的這種高性能、低價格是它最顯著的一個特點。單片機可以盡可能的應(yīng)用所需要的存儲器,各種功能的I/O口都集成在一個芯片內(nèi),使之成為名副其實的單片機。有的單片機為了提高速度和執(zhí)行效率,開始采用了RISC流水線和DSP的技術(shù)。使單片機的性能明顯的優(yōu)于同性能的微處理器,有的單片機ROM可達64KB,片內(nèi)可達2KB,單片機的尋址已突破64KB的限制,八位和十六位單片機尋址可達1MB和16MB。

單片機的另一個顯著的特點是量大面廣,因為世界上各大公司在提高單片機性能的同時,進一步降低價格,性能/價格之比是各個公司競爭的主要策略。

2.集成度高、體積小、可靠性高?

單片機把各個功能部件都集成在一塊芯片上,內(nèi)部采用總線結(jié)構(gòu),減少了各芯片之間的連接,大大提高了單片機的可靠性與抗干擾能力。另外,其體積小,對于強磁場環(huán)境易于采取屏蔽措施,適合在惡劣的環(huán)境下工作。

3.控制功能強

單片機是電子計算機這個龐大家庭的一個特殊產(chǎn)品,體積雖小,但“五臟俱全”,它非常適合用于專門的控制用途。為了滿足工業(yè)控制的要求,一般單片機的指令系統(tǒng)中有極其豐富的轉(zhuǎn)移指令,I/O口的邏輯操作以及為處理器功能。單片機的邏輯控制功能及運行速度均高于同一檔次的微型計算機。

4.低電壓、低功耗

單片機大量應(yīng)用于便攜式產(chǎn)品和家用消費產(chǎn)品,低電壓和低功耗的特點尤為重要。許多單片機已可以在2.3.V的電壓下運行,有的已突破1.2V或0.9V下工作;功耗至微安級,一個紐扣電池就可以使其長期使用。?

丨單片機的分類

單片機(Microcontrollers)作為計算機發(fā)展的一個重要分支領(lǐng)域,根據(jù)發(fā)展情況,從不同角度,單片機大致可以分為通用型/專用型、總線型/非總線型及工控型/家電型。

(1)通用型

這是按單片機(Microcontrollers)適用范圍來區(qū)分的。例如,80C51式通用型單片機,它不是為某種專門用途設(shè)計的;專用型單片機是針對一類產(chǎn)品甚至某一個產(chǎn)品設(shè)計生產(chǎn)的,例如為了滿足電子體溫計的要求,在片內(nèi)集成ADC接口等功能的溫度測量控制電路

(2)總線型

這是按單片機(Microcontrollers)是否提供并行總線來區(qū)分的??偩€型單片機普遍設(shè)置有并行地址總線、 數(shù)據(jù)總線、控制總線,這些引腳用以擴展并行外圍器件都可通過串行口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設(shè)接口集成一片內(nèi),因此在許多情況下可以不要并行擴展總線,大大減少封裝成本和芯片體積,這類單片機稱為非總線型單片機。

(3)控制型

這是按照單片機(Microcontrollers)大致應(yīng)用的領(lǐng)域進行區(qū)分的。一般而言,工控型尋址范圍大,運算能力強;用于家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設(shè)接口集成度高。顯然,上述分類并不是唯一的和嚴(yán)格的。例如,80C51類單片機既是通用型又是總線型,還可以作工控用。

丨單片機的組成

單片機的組成部分包括:中央處理器(CPU)、程序存儲器(ROM)、隨機存儲器(RAM)、I/O設(shè)備。

pYYBAGNR8NGAQwVXAAGtPaGjeks160.png

中央處理器是單片機的核心單元,通常由算術(shù)邏輯運算部件(ALU)和控制部件構(gòu)成。CPU就像人的大腦一樣,決定了單片機的運算才能和處理速度。

ROM拿來寄存用戶程序,分為EPROM、Mask ROM、OTP ROM和Flash ROM等。我們的ROM一般情況來說能夠反復(fù)運用,而且掉電內(nèi)容也還在。

RAM拿來寄存程序運行時的工作變量和數(shù)據(jù),由于RAM的制作工藝復(fù)雜,價格比ROM高得多,所以單片機的內(nèi)部RAM非常寶貴,通常僅有幾十到幾百字節(jié)。RAM的內(nèi)容具有易失性(也稱為易揮發(fā)性),掉電后數(shù)據(jù)會丟失。

I/O口就是與外圍設(shè)備連接,進行數(shù)據(jù)傳輸或者控制。

丨單片機的基本結(jié)構(gòu)介紹


1.運算器

運算器由運算部件—算術(shù)邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。ALU的作用是把傳來的數(shù)據(jù)進行算術(shù)或邏輯運算,輸入來源為兩個8位數(shù)據(jù),分別來自累加器和數(shù)據(jù)寄存器。ALU能完成對這兩個數(shù)據(jù)進行加、減、與、或、比較大小等操作,最后將結(jié)果存入累加器。例如,兩個數(shù)6和7相加,在相加之前,操作數(shù)6放在累加器中,7放在數(shù)據(jù)寄存器中,當(dāng)執(zhí)行加法指令時,ALU即把兩個數(shù)相加并把結(jié)果13存入累加器,取代累加器原來的內(nèi)容6。

運算器有兩個功能:

(1) 執(zhí)行各種算術(shù)運算。

(2) 執(zhí)行各種邏輯運算,并進行邏輯測試,如零值測試或兩個值的比較。

運算器所執(zhí)行全部操作都是由控制器發(fā)出的控制信號來指揮的,并且,一個算術(shù)操作產(chǎn)生一個運算結(jié)果,一個邏輯操作產(chǎn)生一個判決。

2.控制器

控制器由程序計數(shù)器、指令寄存器、指令譯碼器、時序發(fā)生器和操作控制器等組成,是發(fā)布命令的“決策機構(gòu)”,即協(xié)調(diào)和指揮整個微機系統(tǒng)的操作。其主要功能有:

(1) 從內(nèi)存中取出一條指令,并指出下一條指令在內(nèi)存中的位置;

(2) 對指令進行譯碼和測試,并產(chǎn)生相應(yīng)的操作控制信號,以便執(zhí)行規(guī)定的動作;

(3) 指揮并控制CPU、內(nèi)存和輸入輸出設(shè)備之間數(shù)據(jù)流動的方向。

微處理器內(nèi)通過內(nèi)部總線把ALU、計數(shù)器、寄存器和控制部分互聯(lián),并通過外部總線與外部的存儲器、輸入輸出接口電路聯(lián)接。外部總線又稱為系統(tǒng)總線,分為數(shù)據(jù)總線DB、地址總線AB和控制總線CB。通過輸入輸出接口電路,實現(xiàn)與各種外圍設(shè)備連接。

3.主要寄存器

(1)累加器A

累加器A是微處理器中使用最頻繁的寄存器。在算術(shù)和邏輯運算時它有雙功能:運算前,用于保存一個操作數(shù);運算后,用于保存所得的和、差或邏輯運算結(jié)果。

(2)數(shù)據(jù)寄存器DR

數(shù)據(jù)寄存器通過數(shù)據(jù)總線向存儲器和輸入/輸出設(shè)備送(寫)或?。ㄗx)數(shù)據(jù)的暫存單元。它可以保存一條正在譯碼的指令,也可以保存正在送往存儲器中存儲的一個數(shù)據(jù)字節(jié)等等。

(3)指令寄存器IR和指令譯碼器ID

指令包括操作碼和操作數(shù)。指令寄存器是用來保存當(dāng)前正在執(zhí)行的一條指令。當(dāng)執(zhí)行一條指令時,先把它從內(nèi)存中取到數(shù)據(jù)寄存器中,然后再傳送到指令寄存器。當(dāng)系統(tǒng)執(zhí)行給定的指令時,必須對操作碼進行譯碼,以確定所要求的操作,指令譯碼器就是負(fù)責(zé)這項工作的。其中,指令寄存器中操作碼字段的輸出就是指令譯碼器的輸入。

(4)程序計數(shù)器PC

PC用于確定下一條指令的地址,以保證程序能夠連續(xù)地執(zhí)行下去,因此通常又被稱為指令地址計數(shù)器。在程序開始執(zhí)行前必須將程序的第一條指令的內(nèi)存單元地址(即程序的首地址)送入PC,使它總是指向下一條要執(zhí)行指令的地址。

(5)地址寄存器AR

地址寄存器用于保存當(dāng)前CPU所要訪問的內(nèi)存單元或I/O設(shè)備的地址。由于內(nèi)存與CPU之間存在著速度上的差異,所以必須使用地址寄存器來保持地址信息,直到內(nèi)存讀/寫操作完成為止。

顯然,當(dāng)CPU向存儲器存數(shù)據(jù)、CPU從內(nèi)存取數(shù)據(jù)和CPU從內(nèi)存讀出指令時,都要用到地址寄存器和數(shù)據(jù)寄存器。同樣,如果把外圍設(shè)備的地址作為內(nèi)存地址單元來看的話,那么當(dāng)CPU和外圍設(shè)備交換信息時,也需要用到地址寄存器和數(shù)據(jù)寄存器。

丨單片機的工作原理

統(tǒng)一的時鐘節(jié)拍

(1)這里有一個概念叫:同步。同步就是好多個獨立的部分按照同一個節(jié)奏步調(diào)來動,以此來實現(xiàn)一個配合;

(2)和同步相對的一個概念叫異步,異步就是各自干各自的;

(3)單片機的各個模塊之間是同步工作的,CPU和存儲器和IO和單片機中其他東西這些模塊之間通過一個統(tǒng)一的節(jié)拍來同步工作,這個統(tǒng)一節(jié)拍就是單片機的時鐘;

(4)這個時鐘節(jié)拍對單片機很重要,單片機內(nèi)部在一個時鐘節(jié)拍中只能做一件事情。所以單片機要發(fā)生一些變化或者做一些事情,最小的時間單位就是1個時鐘節(jié)拍。單片機的時間單位都是時鐘節(jié)拍的整數(shù)倍;

(5)單片機中的CPU、存儲器、IO等都是以時鐘節(jié)拍為動作節(jié)拍的,所以單片機是一個同步系統(tǒng);

(6)時鐘周期的長度(時鐘節(jié)拍的快慢)影響了單片機的速度,所以這個時鐘就叫做單片機的主頻。主頻越高性能越高,一般PC的主頻都是2G多3G多,51單片機的主頻MHz級別。一般手機CPU的主頻也在1G-2G左右。一般高級單片機如STM32的主頻在百MHz級別。

pYYBAGNR8W6AXDkqAAF6UiJIdxI216.png

*本文章部分資料、圖片來源于網(wǎng)絡(luò),版權(quán)歸原作者所有,如有侵權(quán),請與我聯(lián)系刪除,謝謝!

審核編輯 黃昊宇

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

    關(guān)注

    6030

    文章

    44491

    瀏覽量

    632017
收藏 人收藏

    評論

    相關(guān)推薦

    單片機C程序應(yīng)用實例詳解

    單片機C程序應(yīng)用實例詳解
    發(fā)表于 08-18 19:23

    單片機按鍵詳解

    單片機按鍵詳解
    發(fā)表于 07-28 14:51

    51單片機中斷詳解

    單片機_中斷理解51單片機中斷詳解(上)51單片機中斷詳解(中)51單片機中斷
    發(fā)表于 11-22 06:08

    51單片機C語言開發(fā)與應(yīng)用技術(shù)案例詳解

    51單片機C語言開發(fā)與應(yīng)用技術(shù)案例詳解,希望對對單片機感興趣的朋友有用
    發(fā)表于 11-18 16:36 ?23次下載

    MSP430單片機原理與應(yīng)用實例詳解

    MSP430單片機原理與應(yīng)用實例詳解.pdf
    發(fā)表于 12-16 15:43 ?15次下載

    51單片機中斷編程實例詳解

    51單片機中斷編程實例詳解.pdf
    發(fā)表于 12-16 15:42 ?17次下載

    基于51單片機的UART串口通信

    基于51單片機的UART串口通信詳解。
    發(fā)表于 11-21 10:14 ?6.3w次閱讀
    基于51<b class='flag-5'>單片機</b>的UART串口通信

    單片機程序的設(shè)計基礎(chǔ)

    本文詳細(xì)介紹了單片機程序的設(shè)計基礎(chǔ),內(nèi)容包括單片機中常用的線性數(shù)據(jù)結(jié)構(gòu)和線性表的排序算法等知識的詳解。
    發(fā)表于 11-23 16:56 ?29次下載
    <b class='flag-5'>單片機</b>程序的設(shè)計基礎(chǔ)

    單片機數(shù)據(jù)通信及測控應(yīng)用技術(shù)詳解》pdf

    單片機數(shù)據(jù)通信及測控應(yīng)用技術(shù)詳解
    發(fā)表于 03-06 11:20 ?0次下載

    基于單片機實現(xiàn)的邏輯運算程序詳解

    本文主要介紹的是基于單片機實現(xiàn)的邏輯運算程序詳解,具體的跟隨小編一起來了解一下。
    的頭像 發(fā)表于 05-12 01:47 ?1w次閱讀

    單片機教程之給初學(xué)單片機的40個實驗詳解包括原理圖和程序

    本文檔的主要內(nèi)容詳細(xì)介紹的是單片機教程之給初學(xué)單片機的40個實驗詳解。
    發(fā)表于 10-10 08:00 ?34次下載
    <b class='flag-5'>單片機</b>教程之給初學(xué)<b class='flag-5'>單片機</b>的40個實驗<b class='flag-5'>詳解</b>包括原理圖和程序

    C51單片機實例溫控程序(各模塊詳解附圖)

    C51單片機實例溫控程序(各模塊詳解附圖)免費下載。
    發(fā)表于 06-22 17:24 ?66次下載

    史上最強單片機科普,看完給跪了!

    史上最強單片機科普,看完給跪了!
    發(fā)表于 11-14 10:06 ?4次下載
    史上最強<b class='flag-5'>單片機</b><b class='flag-5'>科普</b>,看完給跪了!

    史上最強單片機科普,看完給跪了!

    史上最強單片機科普,看完給跪了!
    發(fā)表于 11-16 20:36 ?44次下載
    史上最強<b class='flag-5'>單片機</b><b class='flag-5'>科普</b>,看完給跪了!

    單片機執(zhí)行指令過程詳解

    單片機執(zhí)行指令過程詳解單片機執(zhí)行程序的過程,實際上就是執(zhí)行我們所編制程序的過程。即逐條指令的過程。計算機每執(zhí)行一條指令都可分為三個階段進行。即取指令-----分析指令-----執(zhí)行指令。...
    發(fā)表于 11-17 09:36 ?19次下載
    <b class='flag-5'>單片機</b>執(zhí)行指令過程<b class='flag-5'>詳解</b>