女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

基于51與STM32單片機(jī)架構(gòu)

科技綠洲 ? 來源:匯極星科技 ? 作者:匯極星科技 ? 2023-09-11 10:47 ? 次閱讀

單片機(jī)簡介

單片微型計(jì)算機(jī)簡稱單片機(jī),簡單來說就是集CPU(運(yùn)算、控制)、RAM(數(shù)據(jù)存儲-內(nèi)存)、ROM(程序存儲)、輸入輸出設(shè)備(串口、并口等)和中斷系統(tǒng)處于同一芯片的器件,在我們自己的個(gè)人電腦中,CPU、RAM、ROM、I/O這些都是單獨(dú)的芯片,然后這些芯片被安裝在一個(gè)主板上,這樣就構(gòu)成了我們的PC主板,進(jìn)而組裝成電腦,而單片機(jī)只是將這所有的集中在了一個(gè)芯片上而已(一個(gè)集成封裝樣式的芯片就是一臺pc,不要把那個(gè)開發(fā)板電路板也算進(jìn)去)。

圖片{這個(gè)就叫單片機(jī)}

我們先普及一個(gè)概念,單片機(jī)(即Microcontroller Unit;MCU) 里面有什么。一個(gè)人最重要的是大腦,身體的各個(gè)部分都在大腦的指揮下工作。MCU跟人體很像,簡單來說是由一個(gè)最重要的內(nèi)核加其他外設(shè)組成,內(nèi)核就相當(dāng)于人的大腦,外設(shè)就如人體的各個(gè)功能器官。下面我們來簡單介紹下51單片機(jī)STM32單片機(jī)的結(jié)構(gòu)。

一、51與STM32單片機(jī)架構(gòu)

1、51架構(gòu)

圖片圖片

51系統(tǒng)結(jié)構(gòu)框圖

我們說的51一般是指51系列的單片機(jī),型號有很多,常見的有STC89C51、AT89S51,其中國內(nèi)用的最多的是STC89C51/2,下面我們就以STC89C51來講解,并以51簡稱。

**1.內(nèi)核**

51單片機(jī)由一個(gè)IP核和片上外設(shè)組成,IP核(內(nèi)核)就是上圖中的 CPU,片上外設(shè)就是上圖中的:時(shí)鐘電路、SFR和RAM、ROM、定時(shí)/ 計(jì)數(shù)器、并行I/O口、串行I/O口、中斷系統(tǒng)。IP核跟外設(shè)之間由系統(tǒng)總 線連接,且是8bit的,速度有限。

51內(nèi)核是上個(gè)世紀(jì)70年代Intel公司設(shè)計(jì)的,速度只有12M,外設(shè)是IC廠商(STC)在內(nèi)核的基礎(chǔ)上添加的,不同的IC廠商會在內(nèi)核上添加不同的外設(shè),從而設(shè)計(jì)出各具特色的單片機(jī)。這里Intel屬于IP核廠商,STC屬于IC廠商。我們后面要講的STM32也一樣,ARM屬于IP核廠商,ARM給ST授權(quán),ST公司在Cortex-M3內(nèi)核的基礎(chǔ)上設(shè)計(jì)出STM32單片機(jī)。

  1. 外設(shè)
    我們在學(xué)習(xí)51的時(shí)候,關(guān)于內(nèi)核部分接觸的比較少,使用的最多的是片上外設(shè),我們在編程的時(shí)候操作的也就是這些外設(shè)。

編程的時(shí)候操作的寄存器位于SFR和RAM這個(gè)部分,其中SFR(特殊功能寄存器)占有 128字節(jié)(實(shí)際上只用了 26 個(gè)字節(jié),只有 26 個(gè)寄存器,其他都屬于保留區(qū)),RAM占有 128 字節(jié),我們在程序中定義的變量就是放在RAM中。其中SFR和RAM在地址上是重合的,都是在80~FF地址區(qū)間,但在物理區(qū)間上是分開的,所以51的RAM是有256個(gè)字節(jié)。

編寫好的程序是燒寫到ROM區(qū)。剩下的外設(shè)都是我們非常熟悉的IO口,串口、定時(shí)器、中斷這幾個(gè)外設(shè)。

【51單片機(jī)的CPU結(jié)構(gòu)】

51單片機(jī)內(nèi)部有一個(gè)8位的CPU,包含運(yùn)算器,控制器及若干寄存器等。

圖片

注意上圖中這個(gè)外存儲器是在cpu虛線外面

2. STM32架構(gòu)

圖片STM32系統(tǒng)結(jié)構(gòu)框圖

  1. 內(nèi)核

在系統(tǒng)結(jié)構(gòu)上,STM32和51都屬于單片機(jī),都是由內(nèi)核和片上外設(shè)組成。只是STM32使用的Cortex-M3內(nèi)核比51復(fù)雜得多,優(yōu)秀得多,支持的外設(shè)也比51多得多,同時(shí)總線寬度也上升到32bit,無論速度、功耗、外設(shè)都強(qiáng)于51。

從結(jié)構(gòu)框圖上看,對比51內(nèi)核只有一種總線,取指和取數(shù)共用。Cortex-M3內(nèi)部有若干個(gè)總線接口,以使CM3能同時(shí)取址和訪內(nèi)(訪問內(nèi)存),它們是:

指令存儲區(qū)總線(兩條)、系統(tǒng)總線、私有外設(shè)總線。有兩條代碼存儲區(qū)總線負(fù)責(zé)對代碼存儲區(qū)(即FLASH外設(shè))的訪問,分別是I-Code總線和D-Code總線。

I-Code用于取指,D-Code用于查表等操作,它們按最佳執(zhí)行速度進(jìn)行優(yōu)化。

系統(tǒng)總線(System)用于訪問內(nèi)存和外設(shè),覆蓋的區(qū)域包括SRAM,片上外設(shè),片外RAM,片外擴(kuò)展設(shè)備,以及系統(tǒng)級存儲區(qū)的部分空間。

私有外設(shè)總線負(fù)責(zé)一部分私有外設(shè)的訪問,主要就是訪問調(diào)試組件。它們也在系統(tǒng)級存儲區(qū)。

還有一個(gè)DMA總線,從字面上看,DMA是data memory access的意思,是一種連接內(nèi)核和外設(shè)的橋梁,它可以訪問外設(shè)、內(nèi)存,傳輸不受CPU的控制,并且是雙向通信。簡而言之,這個(gè)家伙就是一個(gè)速度很快的且不受老大控制的數(shù)據(jù)搬運(yùn)工,這個(gè)在51里面是沒有的。

  1. 外設(shè)

從結(jié)構(gòu)框圖上看

, STM32比51的外設(shè)多得多,51有的串口、定時(shí)器、IO口等外設(shè) STM32 都有。STM32還多了很多特色外設(shè):如FSMC、SDIO、SPI、I2C等,這些外設(shè)按照速度的不同,分別掛載到AHB、APB2、APB1這三條總線上。

(隨著深亞微米工藝技術(shù)日益成熟,集成電路芯片的規(guī)模越來越大。數(shù)字IC從基于時(shí)序驅(qū)動的設(shè)計(jì)方法,發(fā)展到基于IP核復(fù)用的設(shè)計(jì)方法,并在SOC設(shè)計(jì)中得到了廣泛應(yīng)用。在基于IP核復(fù)用的SoC(System on Chip的縮寫,稱為系統(tǒng)級芯片,也有稱片上系統(tǒng))設(shè)計(jì)中,片上總線設(shè)計(jì)是最關(guān)鍵的問題。為此,業(yè)界出現(xiàn)了很多片上總線標(biāo)準(zhǔn)。其中,由ARM公司推出的AMBA片上總線受到了廣大IP開發(fā)商和SoC系統(tǒng)集成者的青睞,已成為一種流行的工業(yè)標(biāo)準(zhǔn)片上結(jié)構(gòu)。AMBA規(guī)范主要包括了AHB(Advanced High performance Bus)系統(tǒng)總線和APB(Advanced Peripheral Bus)外圍總線。)

(中間這段內(nèi)容我也看了一個(gè)大佬的內(nèi)容然后覺得非常精煉,與其再組織語言去描述,不如直接copy過來供大家閱讀分析)

51單片機(jī)特性

1、從內(nèi)部的硬件到軟件有一套完整的按位操作系統(tǒng),稱作位處理器(CPU),處理對象不是字或字節(jié)而是位。不但能對片內(nèi)某些特殊功能寄存器的某位進(jìn)行處理,如傳送、置位、清零、測試等,還能進(jìn)行位的邏輯運(yùn)算,其功能十分完備,使用起來得心應(yīng)手。

2、同時(shí)在片內(nèi)RAM區(qū)間還特別開辟了一個(gè)雙重功能的地址區(qū)間,使用極為靈活,這一功能無疑給使用者提供了極大的方便,

3、乘法和除法指令,這給編程也帶來了便利。很多的八位單片機(jī)都不具備乘法功能,作乘法時(shí)還得編上一段子程序調(diào)用,十分不便。

STM32單片機(jī)特性

1、內(nèi)核:ARM32位Cortex-M3CPU,最高工作頻率72MHz,1.25DMIPS/MHz,單周期乘法和硬件除法

2、存儲器:片上集成32-512KB的Flash存儲器。6-64KB的SRAM存儲器

3、時(shí)鐘、復(fù)位和電源管理:2.0-3.6V的電源供電和I/O接口的驅(qū)動電壓。POR、PDR和可編程的電壓探測器(PVD)。4-16MHz的晶振。內(nèi)嵌出廠前調(diào)校的8MHz RC振蕩電路。內(nèi)部40 kHz的RC振蕩電路。用于CPU時(shí)鐘的PLL。帶校準(zhǔn)用于RTC的32kHz的晶振

4、調(diào)試模式:串行調(diào)試(SWD)和JTAG接口。最多高達(dá)112個(gè)的快速I/O端口、最多多達(dá)11個(gè)定時(shí)器、最多多達(dá)13個(gè)通信接口

二、由PC的操作系統(tǒng)、內(nèi)核聯(lián)想到MCU

操作系統(tǒng)是配置在計(jì)算機(jī)硬件上的第一層軟件,是對硬件系統(tǒng)的首次擴(kuò)充。
操作系統(tǒng)定義:一組控制和管理計(jì)算機(jī)硬件和管理軟件資源,合理對各類作業(yè)進(jìn)行調(diào)度,以及方便用戶使用的一組程序的集合(屬于軟件);
一、cpu:

cpu是central process unit的簡稱,是計(jì)算機(jī)的核心處理器。cpu的作用是運(yùn)行機(jī)器語言指令。高級語言和匯編語言程序被編譯成cpu能理解的機(jī)器語言(二級制代碼)后,存入到內(nèi)存中,cpu就會從內(nèi)存中讀取并執(zhí)行這些指令序列,完成程序功能。

包括控制器、寄存器、運(yùn)算器、時(shí)鐘四個(gè)部分組成。

運(yùn)算器是用來進(jìn)行邏輯計(jì)算的,

寄存器是臨時(shí)存放中間數(shù)據(jù)以及指令的;包括程序計(jì)數(shù)器、指令寄存器、數(shù)據(jù)寄存器、地址寄存器等。寄存器是匯編語言所研究的對象,匯編語言通過對寄存器的控制(寫入,讀出,加),實(shí)現(xiàn)功能。程序計(jì)數(shù)器和內(nèi)存的關(guān)系:程序計(jì)數(shù)器記錄了當(dāng)前執(zhí)行的指令在內(nèi)存中年存儲的位置。

控制器是用來控制何時(shí)將內(nèi)存的數(shù)據(jù)及指令讀入寄存器,何時(shí)將寄存器中的值輸出到內(nèi)存。

時(shí)鐘是同步各個(gè)部件之間的步調(diào);

二、內(nèi)存RAM

內(nèi)存又叫主存,與cpu的寄存器鏈接,用于將數(shù)據(jù)以及指令輸入到寄存器中;同時(shí)也可以接受寄存器的輸出。本質(zhì)是作為磁盤與寄存器的中間件,起到緩沖作用。斷電后會丟失所有數(shù)據(jù)。

內(nèi)存和磁盤的關(guān)系:由于磁盤的讀寫速度與cpu相差太大,如果cpu直接從磁盤中讀取數(shù)據(jù),會造成cpu計(jì)算能力極大的浪費(fèi)。為了解決這個(gè)問題,在磁盤與cpu之間加一個(gè)內(nèi)存,將磁盤存儲的程序以及數(shù)據(jù)線讀入內(nèi)存中,cpu直接與內(nèi)存打交道。此外,由于內(nèi)存的空間比磁盤小很多,會出現(xiàn)內(nèi)存不夠用的情況,此時(shí),會將一部分磁盤當(dāng)做內(nèi)存來使用,也就是虛擬內(nèi)存。

三、磁盤ROM

存放數(shù)據(jù)的,容量比內(nèi)存大,速度慢。
斷電不會丟失數(shù)據(jù)。

四、指令

指令是控制cpu按照一定功能運(yùn)算的機(jī)器碼。每一種cpu有自己的一套指令集。高級語言編寫的程序最終也要編譯成可以讓cpu理解的一條條機(jī)器指令,才能被cpu執(zhí)行。cpu除了可以計(jì)算數(shù)據(jù)以外,還可以控制硬件,方法是通過cpu寄存器與I/O端口進(jìn)行數(shù)據(jù)交換。計(jì)算機(jī)中主機(jī)與外圍硬件的鏈接方式是通過I/O端口進(jìn)行的(端口是用于主機(jī)寄存器與外圍設(shè)備交換數(shù)據(jù)時(shí)臨時(shí)存儲數(shù)據(jù)的寄存器)。所以,指令通過控制cpu的輸出和輸入位置,可以讓cpu寄存器向I/O端口寄存器發(fā)送數(shù)據(jù),外圍設(shè)備通過與I/O寄存器交換數(shù)據(jù),從而達(dá)到控制外圍設(shè)備的效果。而操作系統(tǒng)的作用是封裝一套指令序列,cpu通過執(zhí)行這套指令序列,可以讓硬件完成一系列動作。而應(yīng)用程序如果需要對硬件進(jìn)行操作,只需要將操作系統(tǒng)的這套指令序列復(fù)制到自己的程序中即可。復(fù)制這套指令的方式就是API(API就是操作系統(tǒng)留給應(yīng)用程序的一個(gè)調(diào)用接口,應(yīng)用程序通過調(diào)用操作系統(tǒng)的 API 而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令。)。從這個(gè)角度來看,操作系統(tǒng)就是封裝了控制硬件完成一系列動作的指令序列的集合,這套集合提供給應(yīng)用程序以及計(jì)算機(jī)的使用者。從而達(dá)到了將人、應(yīng)用程序與硬件隔離的效果。

五、操作系統(tǒng)的內(nèi)核

操作系統(tǒng)內(nèi)核(就是操作系統(tǒng)最核心最底層的一部分代碼(基礎(chǔ)代碼))

內(nèi)核,是一個(gè)操作系統(tǒng)的核心。它負(fù)責(zé)管理系統(tǒng)的進(jìn)程、內(nèi)存、設(shè)備驅(qū)動程序、文件和網(wǎng)絡(luò)系統(tǒng),決定著系統(tǒng)的性能和穩(wěn)定性。

“內(nèi)核”指的是一個(gè)提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個(gè)內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。

現(xiàn)在主流的操作系統(tǒng)內(nèi)核有四個(gè):Unix、Linux、Windows、OS/2

其他很多各種各樣以及各個(gè)版本的系統(tǒng)都是建立在這四種內(nèi)核的基礎(chǔ)上的。

所以不妨大膽去想MCU是集成版PC,所以操作系統(tǒng)等控制CPU的軟件程序指令就好比你燒錄到單片機(jī)里面的程序一樣(暫時(shí)這樣理解),那么指令又是如何控制CPU呢?

圖片

圖片

圖片

圖片

圖片cpu只能執(zhí)行所支持的指令集里的指令,不同公司的產(chǎn)品對應(yīng)有自己的指令集,cpu是出廠前預(yù)先設(shè)計(jì)制造好的電路,操作系統(tǒng)/軟件程序編寫肯定是要對照著相應(yīng)產(chǎn)品cpu的指令集,這樣的程序編譯后才能讓cpu執(zhí)行,也就是控制cpu;

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

    關(guān)注

    459

    文章

    52061

    瀏覽量

    435105
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    11026

    瀏覽量

    215693
  • 存儲
    +關(guān)注

    關(guān)注

    13

    文章

    4492

    瀏覽量

    86993
  • STM32單片機(jī)
    +關(guān)注

    關(guān)注

    59

    文章

    549

    瀏覽量

    59345
收藏 人收藏

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32單片機(jī)架構(gòu)詳解

    今天打算繼續(xù)總結(jié)stm32單片機(jī)的基礎(chǔ)知識,鞏固基礎(chǔ)。這里呢,聲明一下,《stm32單片機(jī)基礎(chǔ)知識總結(jié)》主要基于stm32f1及
    發(fā)表于 06-12 16:43 ?7507次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)架構(gòu)</b>詳解

    51單片機(jī)STM32單片機(jī)架構(gòu)的區(qū)別在哪

    要的內(nèi)核加其他外設(shè)組成,內(nèi)核就相當(dāng)于人的大腦,外設(shè)就如人體的各個(gè)功能器官。下面我們來簡單介紹下51單片機(jī)STM32單片機(jī)的結(jié)構(gòu)。1. 51
    發(fā)表于 07-01 08:09

    STM32單片機(jī)架構(gòu)

    STM32單片機(jī)架構(gòu)首先問一個(gè)問題,“1+1等于幾?”很明顯,你一定能知道這個(gè)答案——2那么現(xiàn)在,我們來思考這個(gè)答案作為你這個(gè)人類來說是怎么處理的?第一是看到這個(gè)問題(眼睛)第二信號傳輸?shù)酱竽X進(jìn)行
    發(fā)表于 01-05 07:56

    stm3251單片機(jī)的區(qū)別

    單片機(jī)的區(qū)別 架構(gòu) STM32單片機(jī)采用了Cortex-M系列的處理器架構(gòu),而51
    發(fā)表于 11-20 13:18

    51架構(gòu)51系列單片機(jī)概述

    2-1. 51單片機(jī)概述2-2. 51架構(gòu)2-3. 8051引腳功能表述2-4. 常見51系列單片機(jī)
    發(fā)表于 03-23 12:07 ?62次下載

    51單片機(jī)STM32單片機(jī)有哪些區(qū)別

    大部分朋友可能都知道51單片機(jī)stm32單片機(jī)也知道一般入門會先學(xué)習(xí)51單片機(jī)在學(xué)習(xí)
    發(fā)表于 08-13 17:32 ?17次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>有哪些區(qū)別

    STM3251單片機(jī)如何選擇

    STM32是性價(jià)比非常高的32位單片機(jī),片上資源豐富、性價(jià)比高、性能不錯(cuò);而C51單片機(jī)是8位的單片機(jī),應(yīng)用廣泛、資料眾多,很多人的
    的頭像 發(fā)表于 03-08 11:27 ?2w次閱讀

    stm32單片機(jī)51單片機(jī)區(qū)別是什么

    單片機(jī)也就是單片微型計(jì)算機(jī),和集CPU、RAM、ROM、輸入輸出設(shè)備、中斷系統(tǒng)在同一個(gè)芯片上的器件。 stm32單片機(jī) stm32
    的頭像 發(fā)表于 08-19 18:21 ?2.9w次閱讀

    單片機(jī)學(xué)習(xí)】STM3251 區(qū)別

    單片機(jī)學(xué)習(xí)】STM3251 區(qū)別
    發(fā)表于 11-14 15:36 ?18次下載
    【<b class='flag-5'>單片機(jī)</b>學(xué)習(xí)】<b class='flag-5'>STM32</b> 和 <b class='flag-5'>51</b> 區(qū)別

    51單片機(jī)STM32單片機(jī)區(qū)別在那里

      ?大部分朋友可能都知道51單片機(jī)stm32單片機(jī)也知道一般入門會先學(xué)習(xí)51單片機(jī)在學(xué)習(xí)
    發(fā)表于 11-15 15:51 ?76次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>區(qū)別在那里

    51單片機(jī)STM32單片機(jī)架構(gòu)的區(qū)別

    要的內(nèi)核加其他外設(shè)組成,內(nèi)核就相當(dāng)于人的大腦,外設(shè)就如人體的各個(gè)功能器官。下面我們來簡單介紹下51單片機(jī)STM32單片機(jī)的結(jié)構(gòu)。1. 51
    發(fā)表于 11-17 16:21 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>與<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)架構(gòu)</b>的區(qū)別

    詳解STM32單片機(jī)51單片機(jī)的區(qū)別

    分享本文,簡單分析STM3251單片機(jī)的區(qū)別與取舍之處。
    的頭像 發(fā)表于 04-18 10:45 ?3.9w次閱讀

    入門單片機(jī)選擇51還是STM32

    入門單片機(jī)選擇51還是STM32
    發(fā)表于 12-22 09:30 ?7101次閱讀

    全方位對比STM32單片機(jī)51單片機(jī)

    萌新初入單片機(jī)領(lǐng)域,常會遇到STM3251單片機(jī)兩大種類,無法選擇其一來提升技術(shù),也不確定哪個(gè)單片機(jī)更適合后續(xù)技術(shù)進(jìn)階提升和發(fā)展,今天這篇
    發(fā)表于 03-02 14:18 ?3.3w次閱讀
    全方位對比<b class='flag-5'>STM32</b><b class='flag-5'>單片機(jī)</b>和<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>

    stm3251單片機(jī)的區(qū)別是什么

    架構(gòu)差異: STM32是基于ARM Cortex-M系列內(nèi)核的32位微控制器,具有更高效的處理能力和更豐富的外設(shè)。 51單片機(jī)是基于8051內(nèi)核的8位微控制器,處理能力相對較低,外設(shè)也
    的頭像 發(fā)表于 09-02 09:33 ?1403次閱讀