国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【MCS-51】51單片機結(jié)構(gòu)原理

這篇具有很好參考價值的文章主要介紹了【MCS-51】51單片機結(jié)構(gòu)原理。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

至今為止,MCS-51系列單片機有許多種型號的產(chǎn)品:其中又分為普通型51(8031、8051、89S51)和增強型52(8032、8052、89S52等)。它們最大的區(qū)別在于存儲器配置各有差異。下面我舉例子的都是8051這一系列的單片機。

目錄

8051單片機的構(gòu)成

CPU

??計算器

??計算單元及其寄存器

??PSW寄存器

??控制器

ROM

RAM

??特殊功能寄存器SFR與寄存器

??RAM內(nèi)部存儲分布

??RAM外部存儲區(qū)

IO口

??特殊引腳

??P3.x


8051單片機的構(gòu)成

下面是51單片機的板內(nèi)基本構(gòu)成,其共分為8大模塊和連接它們的系統(tǒng)總線。8大模塊是:CPU、ROM(內(nèi)部程序存儲器)、RAM(內(nèi)部數(shù)據(jù)存儲器)、中斷系統(tǒng)、并行端口、串行端口、計數(shù)器時鐘電路。?

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

??一、首先是CPU,8051是8位CPU,CPU由運算器和控制器組成,其中運算器ALU負(fù)責(zé)邏輯和二進制運算;控制器負(fù)責(zé)翻譯指令和協(xié)同單片機各模塊有序工作。

??二、ROM,ROM是程序存儲器,我們單片機的程序、原始的數(shù)據(jù)就存在這里。8051單片機片內(nèi)有4KB空間的ROM。8051地址總線有16條,所以地址空間為0000H-FFFFH,而ROM的地址空間為0000H-0FFFH共有2^12=4096個地址。又因為8051的數(shù)據(jù)總線有8條,所以存儲空間為4096*8=32768bit=4KB。

??三、RAM,RAM為數(shù)據(jù)存儲器,其共占256個字節(jié)單元,其中高128位為21個特殊功能寄存器SFR,低128位為供給用戶使用。

??四、定時器和計數(shù)器,8051有2個16位的定時器。

??五、并行I/O口,8051片內(nèi)有4個8位的并行IO口,他們可用于輸入(input)和輸出(ouput)。這八個IO口為P0、P1、P2、P3。

  1. P0口用作8位數(shù)據(jù)總線低8位的地址總線的數(shù)據(jù)傳輸;
  2. P1口常用作一般數(shù)據(jù)IO口;
  3. P2口常用作高8位地址總線數(shù)據(jù)傳輸;
  4. P3口常用作特殊功能的輸入輸出。

??六、串行串口,單片機有2個1位的串行串口,其中包含輸出口TXD和輸入口RXD,可用作執(zhí)行串口通信的模式。

??七、中斷控制,MSC-51有5個中斷,包含2個外部中斷源、1個串行中斷源和2個定時器中斷源。中斷可以將正在執(zhí)行的程序掛起而執(zhí)行其它功能后再回來執(zhí)行該程序。

??八、擴展部分,如果片內(nèi)空間不夠,我們還可以擴展64KB的片外ROM和64KB的片外RAM。

CPU

??計算器

??計算單元及其寄存器

前面說過,CPU的組成部件大概是運算器和控制器。

首先是運算器,運算器是進行算術(shù)運算(加減乘除等運算)、邏輯運算(取反、抑或、與非等運算)和位操作等操作的。

其中我們的操作的結(jié)果狀態(tài)都會被存到狀態(tài)寄存器PSW中。

其中運算器組成由算數(shù)運算單元ALU、8位的數(shù)據(jù)累加器ACC、8位的寄存器B、8位的程序狀態(tài)寄存器PSW、8位暫存器TMP1、TMP2組成:

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

?其中ALU負(fù)責(zé)完成傳過來的數(shù)字的運算,然后將運算結(jié)果的狀態(tài)傳輸給PSW寄存器,并且將運算結(jié)果傳送給ACC(簡稱A),所以A就是我們數(shù)據(jù)進出ALU計算單元的守門員。然后還有B寄存器,B寄存器一般用于乘法、除法高字節(jié)運算時放除數(shù)或者余數(shù)。其余時刻可做通用寄存器使用。

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

??PSW寄存器

PSW寄存器是一個8位寄存器,它會存放著我們ALU計算后的結(jié)果的狀態(tài)。我們看看它里面8位分別會存儲什么信息:

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

我們可以看到其8個位中有7個已經(jīng)有存儲信息的作用了(下面1默認(rèn)為有):

D7是存儲的是運算時是否向最高位借位/進位了;

D6存儲的是計算時低4位是否有向高四位借位/進位了;

D5為用戶標(biāo)志位;

D4和D3為工作寄存器選擇標(biāo)準(zhǔn)位,通過改變這兩個位數(shù)可以挑選我們RAM中的4個工作寄存器。

D2溢出標(biāo)志位,如果結(jié)果超過8位數(shù)的表達范圍,則被置為1;

D1未定義;

D0奇偶校驗位,如果計算結(jié)果有奇數(shù)個1則為1,反之則為0。

??控制器

接下來我們來看看控制器,控制器的功能是對指令進行譯碼,然后將指令對應(yīng)的工作分發(fā)下去。其中與這些功能實現(xiàn)有關(guān)的部件有:

時鐘發(fā)生器、指令地址寄存器IR、指令譯碼器ID數(shù)據(jù)指針DPTR、程序計數(shù)器PC堆棧指針SP等。?

其中IR就是負(fù)責(zé)將指令暫存起來,交給ID翻譯出對應(yīng)的指令后就通過控制的電路將控制信號發(fā)送出去給各執(zhí)行部件。ID負(fù)責(zé)將指令翻譯成對應(yīng)的操作。而程序寄存器PC負(fù)責(zé)存儲即將執(zhí)行的下一個指令的地址,每當(dāng)我們執(zhí)行完一個指令后PC會自動加一。因為PC沒有地址,所以用戶本身無法對PC進行訪問,但可以通過某些指令修改其內(nèi)容,因為地址總線有16根,所以自然而然PC就是一個16位的寄存器。

而對于SP,SP是專門寄存堆棧存儲位置地址的寄存器。最后的DPTR由兩部分組成,包括低8位的DPL寄存器和高8位的DPH寄存器,其功能是專門用來存儲片外RAM數(shù)據(jù)的地址寄存器。


MCS-51的存儲部分共分為兩部分四塊,片內(nèi)的ROM和片外的ROM,片內(nèi)的RAM和片外的RAM。其中片內(nèi)的ROM大小為4KB,片外ROM大小為64KB,片內(nèi)RAM大小為256B,片外RAM大小為64KB。

ROM

ROM的作用是存儲用戶編好的程序,內(nèi)部ROM大小為4KB,因為PC位數(shù)是16,所以可以擴展到64KB的尋址空間。

對于ROM來說,它會有一個EA描述,當(dāng)EA=1時,單片機內(nèi)外都會用統(tǒng)一的地址,片內(nèi)0-4KB地址范圍為000H-FFFH,而新擴展的片外RAM地址為1000-FFFFH,舍棄片外0-4KB間的空間。而當(dāng)EA=0時,只能執(zhí)行片外的ROM程序,舍棄片內(nèi)0-4KB的空間,此時地址為0000H-FFFFH

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件
左邊EA=1,右邊EA=0

?而ROM本身就存儲了很多程序入口,即存在許多具有特殊功能的單元,下圖為一些特殊功能單元的位置,其中包括1個復(fù)位后的PC指向位置和6個中斷執(zhí)行的地址位置,這些位置注意不要占用。由于復(fù)位后下一條指令會在0000H處。所以我們一般匯編代碼第一句就會在此處寫一個跳轉(zhuǎn)指令跳轉(zhuǎn)到主程序的入口。

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

RAM

??特殊功能寄存器SFR與寄存器

MCS-51有32個工作寄存器(00H-01FH),它們共分為四個組,每個組有8個通用寄存器(R0-R7)。前面PSW中的狀態(tài)位RS1RS0就是用來確定由哪個組的寄存器們工作,并且每一個時刻只能由一個組的寄存器來工作。其中R0和R1除了做工作寄存器外還會做間接尋址的地址指針

而除了平常我們用到的工作寄存器外,還有一些特殊功能寄存器分布在80H-FFH中,共占據(jù)高128個字節(jié)的存儲工具,其中地址能夠被8整除的SFR都能夠進行位尋址。

??RAM內(nèi)部存儲分布

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

上圖為RAM中256字節(jié)存儲分布,其中共分為4大部分:工作寄存器區(qū)、位尋址區(qū)、通用RAM區(qū)SFR區(qū)。?

??工作寄存器區(qū)

其中工作寄存器區(qū)00H-01FH共存放32個寄存器,一旦某一組被確定是工作寄存器后,其內(nèi)部就會根據(jù)地址高低按字節(jié)為單位劃分出R0-R7,8個通用寄存器,就可以被尋址訪問。那么另外三組原先占據(jù)的位置就可以被我們用來讀寫。

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

??位尋址區(qū)

位尋址區(qū)位于20H-2FH之間,它占了16個字節(jié)的存儲單位,這個區(qū)的地址單元除了原來的字節(jié)操作以外還可以進行位操作。

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

??用戶區(qū)

在位操作區(qū)上面、專用寄存器區(qū)下面(30H-7FH)還有一個區(qū)被稱為用戶區(qū),這個區(qū)用來存放數(shù)據(jù)運算的結(jié)果的。但是我們可以選擇作為用戶區(qū)的空間不止這里,我們還可以選擇沒有用到的工作寄存器的位置作為用戶區(qū)使用。

??堆棧區(qū)

在這些區(qū)之外,我們還可以開一個堆棧區(qū),人為地去設(shè)計一個堆棧結(jié)構(gòu)。而這個堆棧結(jié)構(gòu)一般我們選取在用戶區(qū)比較靠后的位置。有了堆棧區(qū)之后,我們就可以在其內(nèi)部寫入中斷操作和子程序了。特別值得注意的一點是:一般我們會選擇先將堆棧指針加加之后再往其指向的內(nèi)部存儲空間放入數(shù)據(jù)。設(shè)置堆棧區(qū)的一個重要的功能就是保護斷點和保護現(xiàn)場。當(dāng)我們執(zhí)行中斷操作時,我們需要中斷結(jié)束后繼續(xù)返回原程序執(zhí)行,這就是保護斷點;而保護現(xiàn)場是指當(dāng)我們主程序和中斷程序用到同一個寄存器,那么我們中斷服務(wù)函數(shù)會提前將其放入堆棧區(qū)中。

??SFR

SFR又稱為特殊功能寄存器,這個位置存放的寄存器也就是我們在CPU的控制部分、運算部分、IO部分等等地方用到的寄存器,那些寄存器就來自此處。其中SFR中地址能被8整除的都被被位尋址。

我們常見的SFR特殊寄存器就包括:累加器A、寄存器B、PSW寄存器、PC、SP、DPTR、SBUF、IP、IE等等。

在我們進行復(fù)位時,單片機內(nèi)位尋址區(qū)即20H-2FH的標(biāo)志位狀態(tài)不會變,而特殊功能寄存器SFR和工作寄存器R0-R7會被清0。

??RAM外部存儲區(qū)

對于RAM的外部存儲區(qū),我們需要注意外部RAM最大可擴容到64KB,并且對于外部的數(shù)據(jù)存儲器來說。數(shù)據(jù)區(qū)和外擴IO口是統(tǒng)一進行編址的,所以我們要保證RAM和IO口的端口地址分配合理,以此保證譯碼唯一。

IO口

IO口是單片機輸入或者輸出的通道,8051有32個并行的IO口,分別為P0.x、P1.x、P2.x和P3.x。這些引腳除了可以作為通用引腳外還可自動切換為數(shù)據(jù)總線、地址總線和控制總線的外部引腳。

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

?上面除了IO引腳以外,還有幾個特殊的引腳。

??特殊引腳

特殊的引腳首先是VCCGND,它們分別是驅(qū)動電壓和接地,一般驅(qū)動電壓是5V。

XTAL2、XTAL1分別連接晶體震蕩器的信號輸出和晶體振蕩器的信號輸入,需要外接一個震蕩電路,這震蕩信號可以幫助設(shè)置單片機時鐘:

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

?ALE/PROG是地址鎖存信號端;

PSEN是外部程序存儲器讀取信號端;

EA/Vpp是程序存儲器選擇信號端和編程電源信號輸入端,就是我們之前控制訪問外部ROM時地址是在原來內(nèi)部ROM的地址基礎(chǔ)上擴展還是舍棄內(nèi)部ROM直接全部采用外部ROM;

RST/VPD是復(fù)位端,通常接復(fù)位電路;

8032單片機 寄存器,嵌入式開發(fā),51單片機,單片機,嵌入式硬件

??P3.x

對于P3.x口來說它會和其它引腳不同,自然它可以作為IO口進行輸入和輸出,但是它支持的第二功能更加豐富:

P3.0--RXD串行數(shù)據(jù)輸入口;

P3.1--TXD串行數(shù)據(jù)輸出口;

P3.2--INT0外部中斷0;

P3.3--INT1外部中斷1;

P3.4--T0定時/計數(shù)器0外部計數(shù)脈沖輸入端;

P3.5--T1定時/計數(shù)器1外部計數(shù)脈沖輸入端;

P3.6--WR片外RAM寫選信號輸出端;

P3.7--WR片外RAM讀選信號輸出端;文章來源地址http://www.zghlxwxcb.cn/news/detail-783340.html

到了這里,關(guān)于【MCS-51】51單片機結(jié)構(gòu)原理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 為什么MCS-51 單片機總線和端口要有匹配的驅(qū)動電路?

    ? ? ? ? MCS-51系列單片機是一種廣泛使用的8位微控制器,它通常用在嵌入式系統(tǒng)中。單片機的總線和端口可能需要額外的驅(qū)動電路,這取決于外部設(shè)備的電氣特性和所需的電流能力。下面將從以下幾個方面分析為什么驅(qū)動電路這么重要: ? ? ? ? ?電流驅(qū)動能力: MCS-51單片機

    2024年02月20日
    瀏覽(24)
  • 51單片機寄存器一覽表

    51單片機寄存器一覽表

    51單片機寄存器功能一覽表 21個特殊功能寄存器(52系列是26個)不連續(xù)地分布在128個字節(jié)的SFR存儲空間中,地址空間為80H-FFH,在這片SFR空間中,包含有128個位地址空間,地址也是80H-FFH,但只有83個有效位地址,可對11個特殊功能寄存器的某些位作位尋址操作(這里介紹一個技巧:

    2024年02月06日
    瀏覽(25)
  • 51單片機內(nèi)部的主要寄存器

    51單片機(8051系列)內(nèi)部包含一系列特殊功能寄存器(SFRs),這些寄存器用于控制和管理單片機的各種硬件資源,包括定時器、中斷系統(tǒng)、串行通信接口、并行輸入輸出端口等。以下是51單片機中部分重要的特殊功能寄存器及其功能: 累加器(A或ACC) 直接尋址,參與算術(shù)運

    2024年01月19日
    瀏覽(28)
  • 51單片機的特殊功能寄存器(SFR)

    51單片機的特殊功能寄存器(SFR)

    閱讀前提醒: 文中提到的8051指的是8051微控制器,即51單片機 在上一篇文章51單片機的存儲結(jié)構(gòu)中,提到8051微控制器的RAM被劃分為通用寄存器、按位尋址寄存器、寄存器組、以及特殊功能寄存器。 這里講一下特殊功能寄存器(SFR)。 8051的特殊功能寄存器用于控制各種外圍硬

    2023年04月13日
    瀏覽(22)
  • 【51單片機】利用【與或賦值法】優(yōu)化【配置TMOD寄存器】

    前言 大家好吖,歡迎來到 YY 滴單片機系列 ,熱烈歡迎! 本章主要內(nèi)容面向接觸過單片機的老鐵 本文是YY入門【【51單片機】從零開始手把手帶你【查手冊】配置定時器,并完成小項目(定時器&中斷的應(yīng)用)(代碼演示&單片機現(xiàn)象對照LCD閃爍)】配合博客的其中一部分,

    2024年02月19日
    瀏覽(19)
  • 單片機原理與應(yīng)用以及C51編程技術(shù)——硬件體系結(jié)構(gòu)梳理

    單片機原理與應(yīng)用以及C51編程技術(shù)——硬件體系結(jié)構(gòu)梳理

    內(nèi)部程序存儲器ROM :4K的flash程序存儲器; 寄存器區(qū) :4個寄存器區(qū),每個區(qū)有R0-R7八個工作寄存器; 8位并行輸入輸出端口 :P0、P1、P2和P3; 定時/計數(shù)器 :2個16位的定時/計數(shù)器 T0、T1; 串型口 :全雙工串行端口(RXD:接收端、TXD發(fā)送端); 中斷系統(tǒng) :設(shè)有5個中斷源(T

    2023年04月10日
    瀏覽(84)
  • 單片機 | 51單片機原理

    單片機 | 51單片機原理

    【金善愚】 單片機應(yīng)用原理篇 筆記整理 課程視頻 :https://space.bilibili.com/483942191/channel/collectiondetail?sid=51090 三類 電源及晶振引腳(共4只) 控制引腳(共4只) 端口引腳(共32只) Vcc(40腳):電源端,接+5V電源。 Vss(20腳):接地端。 XTAL1(19腳):接外部晶振和微調(diào)電容的一端。 XTAL2(18腳):

    2024年02月02日
    瀏覽(113)
  • 單片機原理與應(yīng)用課程設(shè)計-基于51單片機的時鐘日歷

    單片機原理與應(yīng)用課程設(shè)計-基于51單片機的時鐘日歷

    摘 要 本課程設(shè)計是基于51單片機的日歷時鐘設(shè)計。作為嵌入式系統(tǒng)中常用的控制器,單片機在各種電子設(shè)備和系統(tǒng)中廣泛應(yīng)用。日歷時鐘作為一個常見的功能模塊,在現(xiàn)代生活中具有重要意義。因此,設(shè)計一個基于51單片機的日歷時鐘,不僅有助于我們掌握單片機編程技術(shù)和

    2024年02月20日
    瀏覽(97)
  • 51單片機P0~P3口工作原理

    51單片機P0~P3口工作原理

    多路開關(guān)MUX決定P0.x是作數(shù)據(jù)/地址引腳還是作通用I/O引腳。 三態(tài)緩沖器BUF1,BUF2由C1,C2控制是讀鎖存器還是讀引腳 控制線置1,MUX連通地址/數(shù)據(jù)線,此時作P0.x數(shù)據(jù)/地址引腳 發(fā)出信號 數(shù)據(jù)/地址線置1,V1導(dǎo)通,V2截止。P0.x輸出1的數(shù)據(jù)/地址信號; 數(shù)據(jù)/地址線置0,V1截止,V2導(dǎo)通。

    2024年04月12日
    瀏覽(22)
  • 51單片機靜態(tài)數(shù)碼管原理及代碼

    51單片機靜態(tài)數(shù)碼管原理及代碼

    單個數(shù)碼管有 8個LED燈 ,通過輸入電平點 亮a~g可顯示數(shù)字 ,以下為原理圖: ? 數(shù)碼管原理圖分為共陰極與共陽極兩種 : ① 共陰極 :a~dp位于發(fā)光二極管的陽極(即高電平的一端)部分,左接GND端 ② 共陽極 :a~dp位于發(fā)光二極管的陰極(即低電平的一端)部分,右接VCC電源

    2024年02月06日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包