第3章 80C51系列單片機(jī)的硬件基礎(chǔ)知識_第1頁
第3章 80C51系列單片機(jī)的硬件基礎(chǔ)知識_第2頁
第3章 80C51系列單片機(jī)的硬件基礎(chǔ)知識_第3頁
第3章 80C51系列單片機(jī)的硬件基礎(chǔ)知識_第4頁
第3章 80C51系列單片機(jī)的硬件基礎(chǔ)知識_第5頁
已閱讀5頁,還剩89頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第3章80C51系列單片機(jī)的硬件基礎(chǔ)2024/3/191內(nèi)容

8051系列單片機(jī)概述3.180C51系列單片機(jī)引腳功能3.280C51系列單片機(jī)的編程結(jié)構(gòu)3.3

80C51系列單片機(jī)的存儲器3.480C51單片機(jī)的工作方式3.5

80C51系列單片機(jī)的時序3.6

80C51單片機(jī)最小應(yīng)用系統(tǒng)3.72024/3/192單片機(jī)是一個大規(guī)模集成電路芯片,但僅有一塊單片機(jī)不能完成特定的控制任務(wù),只有當(dāng)它與其他器件和設(shè)備有機(jī)地組合在一起并配以特定的程序時,才能構(gòu)成一個真正的單片機(jī)應(yīng)用系統(tǒng),完成特定的任務(wù)。

在單片機(jī)應(yīng)用系統(tǒng)中單片機(jī)是核心器件,要設(shè)計單片機(jī)應(yīng)用系統(tǒng),必須首先掌握單片機(jī)的硬件基礎(chǔ)知識。

2024/3/1933.1

8051系列單片機(jī)概述3.1.1MCS-51系列單片機(jī)1980年美國INTEL公司推出了高性能的8位單片機(jī):MCS-51系列單片機(jī)。系列單片機(jī)是指同一廠家生產(chǎn)的具有相同系統(tǒng)結(jié)構(gòu)的多種型號的單片機(jī)。MCS-51系列單片機(jī)又可分為51和52兩個子系列。2024/3/194各個子系列所含有的芯片型號及其硬件資源的區(qū)別如表3-1所示。MCS-51系列型號片內(nèi)ROM片內(nèi)RAM定時器/計數(shù)器中斷源數(shù)量51子序列(基本型)8031無128B2×16位580514KB掩膜ROM128B2×16位587514KBEPROM128B2×16位552子序列(增強型)8032無256B3×16位680528KB掩膜ROM256B3×16位6在不同型號的MCS-51系列單片機(jī)中,除片內(nèi)存儲器(ROM、RAM)容量與種類、定時器/計數(shù)器的個數(shù)、中斷源的數(shù)量有所不同外,指令系統(tǒng)和芯片引腳是完全兼容的。2024/3/195它們的主要硬件特性:(1)8位CPU。(2)片內(nèi)帶振蕩器,振蕩頻率fosc范圍為1.2~12MHz;可有時鐘輸出。(3)128/256B的片內(nèi)數(shù)據(jù)存儲器。(4)0/4/8KB的片內(nèi)程序存儲器。(5)程序存儲器的尋址范圍為64KB。(6)片外數(shù)據(jù)存儲器的尋址范圍為64KB。(7)21/26個字節(jié)專用寄存器。2024/3/196(8)4個8位并行I/O接口:P0、P1、P2、P3。(9)1個全雙工串行I/O接口,可多機(jī)通信。(10)2/3個16位定時器/計數(shù)器。(11)中斷系統(tǒng)有5/6個中斷源,可編程為兩級優(yōu)先級。(12)111條指令,含乘法指令和除法指令。(13)含布爾處理器,有強的位尋址、位處理能力。(14)片內(nèi)采用單總線結(jié)構(gòu)。(15)用單一+5V電源。2024/3/197早期的MCS-51系列單片機(jī)是采用HMOS工藝制造的,具有高速度、高密度的特點,但功耗較大。出于對降低功耗的要求,MCS-51系列單片機(jī)后來推出的產(chǎn)品采用了CMOS和HMOS結(jié)合的CHMOS工藝。采用CHMOS工藝制造的51子系列對應(yīng)的低功耗產(chǎn)品分別為80C31、80C51、87C51,52子系列對應(yīng)的低功耗產(chǎn)品分別為80C32、80C52。2024/3/1983.1.28051內(nèi)核單片機(jī)簡介上世紀(jì)80年代中期Intel公司將MCS-51的內(nèi)部核心技術(shù)以專利轉(zhuǎn)讓或互換的形式逐步授權(quán)給了很多其它廠商,使得8051單片機(jī)發(fā)展為數(shù)十種系列,上百種產(chǎn)品。各種具有8051內(nèi)核的單片機(jī)與MCS-51系列單片機(jī)的指令系統(tǒng)完全兼容,都采用了低功耗的CHMOS工藝,統(tǒng)稱為80C51單片機(jī),2024/3/199表3-2

不同制造廠商的51單片機(jī)芯片型號列表制造廠商單片機(jī)型號AT(Atmel)AT89C51,AT89C52,AT89C53,AT89C55,AT89LV52,AT89S51,AT89S52,AT89LS53等Philips(飛利浦)P80C54,P80C58,P87C54,P87C58,P87C524,P87C528等STCSTC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC12C5412AD等Winbond(華邦)W78C54,W78C58,W78E54,W78C58等Intel(英特爾)i87C54,i87C58,i87L54,i87C51FB,i87C51FCSiemens(西門子)C501-1R,C501-1E,C513A-H,C503-1R,C504-2R2024/3/1910單片機(jī)芯片的命名規(guī)則

2024/3/19113.1.380C51系列單片機(jī)的選擇依據(jù)不同型號的80C51單片機(jī),內(nèi)部資源或多或少有些差異,我們在選擇時,可從以下幾個方面考慮:1.程序存儲器

2.數(shù)據(jù)存儲器3.功耗

4.體積

2024/3/1912程序存儲器用于存放單片機(jī)應(yīng)用系統(tǒng)的目標(biāo)程序。通過編程器或直接在系統(tǒng)編程(ISP)將目標(biāo)程序?qū)懭雴纹瑱C(jī)。單片機(jī)的程序存儲器目前供應(yīng)的類型有EPROM、OTPROM、MaskROM和FlashEEPROM。容量有1KB、2KB、4KB、8KB、16KB、32KB和64KB。由于EPROM型單片機(jī)使用不方便,現(xiàn)在己很少使用,普遍采用FlashEEPROM型單片機(jī)代替;

OTPROM單片機(jī)在中小批量的單片機(jī)產(chǎn)品中使用較多;

MaskROM型單片機(jī)由于其程序存儲的高可靠性和低成本特點,適合于大批量的單片機(jī)應(yīng)用場合。由于片內(nèi)存儲器成本的降低,目前趨向于選擇具有大容量的片內(nèi)程序存儲器的單片機(jī),片外不用再擴(kuò)展程序存儲器。

1.程序存儲器2024/3/1913單片機(jī)片內(nèi)數(shù)據(jù)存儲器目前供應(yīng)的類型有SRAM靜態(tài)數(shù)據(jù)存儲器,少數(shù)單片機(jī)片內(nèi)有EEPROM非易失性數(shù)據(jù)存儲器。51子系列片內(nèi)RAM有128B,52子系列片內(nèi)RAM有256B,52子系列向下兼容51子系列,兩者價格目前基本持平,選擇52子系列在使用上更為方便、靈活。

2.數(shù)據(jù)存儲器3.功耗許多公司都供應(yīng)低電壓的80C51系列單片機(jī),具有低功耗的特點,例如,Atmel公司的AT89LV51和AT89LV52,它的工作電壓范圍為2.7~6V,可直接替換相應(yīng)的5V工作電壓芯片。

2024/3/19144.體積在應(yīng)用系統(tǒng)的空間有限時,可選擇相應(yīng)型號的PLCC和QFP封裝的單片機(jī),外圍芯片當(dāng)然也要選擇小型封裝。在無外圍擴(kuò)展時也可選擇非總線型的單片機(jī),如Atmel公司的AT89C4051、AT89C2051和AT89C1051,Philips公司的P87LPCXXX系列。新一代高性能的80C51單片機(jī)增加了模/數(shù)轉(zhuǎn)換器(A/D)、脈寬調(diào)制輸出(PWM)、第二串行口、串行擴(kuò)展總線(I2CBUS)、現(xiàn)場總線(CAN),程序監(jiān)視定時器(WDT)、在系統(tǒng)編程ISP等功能,使用戶在進(jìn)行單片機(jī)應(yīng)用系統(tǒng)設(shè)計時有更大的選擇范圍。

2024/3/19153.2

80C51系列單片機(jī)引腳功能在80C51系列單片機(jī)中,各種單片機(jī)的引腳是相互兼容的,只是功能略有差異。在器件引腳的封裝上,80C51系列單片機(jī)常用的封裝有三種,分別為雙列直插式PDIP40腳封裝、塑料扁平式PQFP/TQFP44腳封裝和帶引線的塑料芯片封裝PLCC44腳封裝。2024/3/1916圖3-3PDIP實物圖2024/3/1917圖3-4PQFP/TQFP封裝引腳圖圖3-5PQFP/TQFP封裝實物圖2024/3/1918圖3-6PLCC/LCC封裝引腳圖圖3-7PLCC/LCC封裝實物圖2024/3/191980C51單片機(jī)引腳主要分為主電源引腳、外接晶體引腳、輸入/輸出引腳與控制引腳四類,以PDIP封裝的單片機(jī)為例,引腳介紹如下:1.主電源引腳(2條)

2.外接晶體引腳(2條)

3.輸入/輸出(I/O)引腳(32條)

4.控制引腳(4條)2024/3/19201.主電源引腳(2條)

VCC(40腳)和GND(20腳):分別接電源的正端和地端。不同型號單片機(jī)接入對應(yīng)電壓的電源,常壓為+5V、低壓為+3.3V。

2.外接晶體引腳(2條)

XTAL1(19腳)、XTAL2(18腳):XTAL1為片內(nèi)振蕩電路的輸入端,XTAL2為片內(nèi)振蕩電路的輸出端。80C51單片機(jī)的時鐘有兩種方式,一種是片內(nèi)時鐘振蕩方式,需在這兩個腳外接石英晶體和振蕩電容;另一種是外部時鐘方式,即將XTAL1接地,外部時鐘信號從XTAL2腳輸入。

2024/3/19213.輸入/輸出(I/O)引腳(32條)

輸入/輸出(I/O)引腳共有P0口、P1口、P2口、P3口四組,每組8條引腳。(1)P0口(39腳~32腳):分別為P0.0~P0.7,其中P0.7為最高位,P0.0為最低位。這8條引腳有兩種不同的功能:1)作為通用輸入/輸出(I/O口)使用。2)作為低8位的地址/數(shù)據(jù)復(fù)用總線。2024/3/1922(2)P1口(1腳~8腳):分別為P1.0~P1.7,其中P1.7為最高位,P1.0為最低位。P1口引腳也有兩種不同的功能:1)作為準(zhǔn)雙向I/O口使用。2)對52子序列單片機(jī),P1.0引腳的第二功能為T2定時器/計數(shù)器的外部輸入,P1.1引腳的第二功能為T2EX捕捉、重裝觸發(fā),即T2的外部控制端。2024/3/1923(3)P2口(21腳~28腳):P2口的8條引腳也有兩種不同的功能:1)準(zhǔn)雙向輸入/輸出接口,每一位也可獨立控制。2)在接有片外存儲器或擴(kuò)展I/O接口時,P2口作為高8位地址總線。2024/3/1924(4)P3口(10腳~17腳):P3口的8條引腳也有兩種不同的功能:

1)準(zhǔn)雙向輸入/輸出接口,每一位同樣可獨立控制。2)P3口的每一條引腳都有第二功能,如表3-4所示。2024/3/19254.控制引腳(4條)(1)RST(Reset,9引腳):復(fù)位信號輸入端。(2)ALE/(AddressLatchEnable/Programming,30引腳):ALE為地址鎖存允許信號,配合P0口引腳的第二功能使用。

為本引腳的第二功能,表示編程脈沖輸入端。(3)/VPP(EnableAddress/VoltagePulseofPrograming,31引腳):片內(nèi)片外程序存儲器選擇控制端。(4)(ProgramStrobeEnable,29引腳):片外程序存儲器(ROM)選通線。2024/3/192680C51單片機(jī)引腳功能總結(jié):1)單片機(jī)功能多,引腳數(shù)少,致使許多引腳具有第二功能。2)單片機(jī)對外三總線的構(gòu)成:80C51單片機(jī)對外三總線構(gòu)成如圖3-8所示。由P2、P0組成16位地址總線,P2作為高8位地址總線A8~A15,P0作為低8位地址總線A0~A7。因是16位地址線,所以片外存儲器的尋址范圍達(dá)到64K字節(jié)。由P0分時復(fù)用為數(shù)據(jù)總線。由ALE、RST、、與P3口中引腳組成控制總線。2024/3/1927圖3-880C51單片機(jī)對外三總線構(gòu)成2024/3/1928四個I/O端口P0、P1、P2、P3的作用總結(jié):

P2口負(fù)責(zé)輸出高8位地址,

P0口以分時方式承擔(dān)輸出低8位地址信息和數(shù)據(jù)輸入/輸出的雙重任務(wù)。

P3口則作為和外設(shè)溝通的控制線,

P1口可隨意用作I/O口。51系列單片機(jī)的對外三總線總結(jié):

AB(地址總線):P2口負(fù)責(zé)高8位地址,

P0口輸出低8位地址。

DB(地址總線):P0口作為8位數(shù)據(jù)輸入/輸出口。

CB(地址總線):P3口作為和外設(shè)溝通的控制線。2024/3/19293.380C51系列單片機(jī)的編程結(jié)構(gòu)80C51系列單片機(jī)的編程結(jié)構(gòu)包括中央處理器(CPU)、內(nèi)部存儲器(ROM、RAM)、并行I/O接口、片內(nèi)外設(shè)(定時器/計數(shù)器、中斷系統(tǒng)、串行口)、振蕩器等部分,各部分之間通過片內(nèi)總線進(jìn)行連接。80C51系列單片機(jī)內(nèi)部采用單總線結(jié)構(gòu),地址、數(shù)據(jù)與控制信息都通過一組總線流通。

編程結(jié)構(gòu),即是從編程人員角度所看到的單片機(jī)內(nèi)部結(jié)構(gòu),該結(jié)構(gòu)便于人們從軟件編程的角度去了解單片機(jī)系統(tǒng)的操作和運行。2024/3/1930圖3-980C51系列單片機(jī)的編程結(jié)構(gòu)2024/3/19311.中央處理器(CPU)80C51系列單片機(jī)是8位CPU,它是整個單片機(jī)的核心部件,主要完成運算和控制功能,由運算器和控制器組成。(1)運算器運算器由算術(shù)邏輯單元(ALU)、累加器A(Accumulator)、暫存器TMP以及程序狀態(tài)字PSW組成,用于算術(shù)運算和邏輯運算。(2)控制器控制器由程序計數(shù)器PC(ProgramCounter)、指令寄存器IR(InstructionRegister)、指令譯碼器ID(InstructionDecoder)、定時與控制電路等部分組成使單片機(jī)各部分協(xié)調(diào)工作,從而完成指令規(guī)定的操作。2024/3/1932程序計數(shù)器PC(ProgramCounter)是一個16位的加1計數(shù)器,其中存放的是ROM中存儲單元的地址。在開始執(zhí)行程序時,給PC賦以程序中第一條指令所在的存儲單元的地址,然后每從存儲單元取一次內(nèi)容,PC中的內(nèi)容就會自動加1,以指向下一個存儲單元,保證指令順序執(zhí)行。由此可見,程序計數(shù)器PC中存放的是下一條將要執(zhí)行的指令所在的ROM存儲單元的地址。2024/3/19332.內(nèi)部存儲器80C51系列單片機(jī)的存儲器有片內(nèi)和片外之分。片內(nèi)存儲器集成在芯片內(nèi)部;片外存儲器(外部存儲器)是專用的存儲器芯片,需要通過單片機(jī)引腳提供的三總線(即AB、DB和CB)與80C51連接。無論片內(nèi)還是片外存儲器,都可分為程序存儲器和數(shù)據(jù)存儲器。由于80C51單片機(jī)采用哈佛結(jié)構(gòu),因此程序存儲器和數(shù)據(jù)存儲器相互獨立,有各自的尋址空間。2024/3/1934片內(nèi)數(shù)據(jù)存儲器為隨機(jī)存取存儲器,用于存放可讀寫的數(shù)據(jù),常稱為片內(nèi)RAM。80C51系列單片機(jī)的片內(nèi)RAM共有128/256B。片內(nèi)程序存儲器為只讀存儲器,用于存放程序指令、常數(shù)及數(shù)據(jù)表格,常稱為片內(nèi)ROM。80C51系列單片機(jī)內(nèi)部有0/4/8KB的ROM。用于存放程序,也可以存放一些原始數(shù)據(jù)和表格等。2024/3/19353.并行輸入/輸出端口(I/O口)80C51片內(nèi)有4個8位的I/O接口:P0、P1、P2和P3,每個I/O接口內(nèi)部都有一個8位鎖存器和一個8位驅(qū)動器,既可用作輸出口,也可用作輸入口。80C51單片機(jī)沒有專門的I/O口操作指令,而是把I/O口當(dāng)作寄存器使用,通過傳送指令實現(xiàn)數(shù)據(jù)的輸入和輸出操作。2024/3/19364.片內(nèi)外設(shè)(1)定時器/計數(shù)器51子序列單片機(jī)中有兩個16位的定時器/計數(shù)器,用于實現(xiàn)定時或外部計數(shù)的功能。(2)中斷系統(tǒng)中斷系統(tǒng)的主要作用是對來自單片機(jī)內(nèi)部或外部的中斷請求進(jìn)行處理,完成中斷源所要求的任務(wù)。51子系列共有5個中斷源,其中外部中斷源有2個,內(nèi)部中斷源有3個:2個定時器/計數(shù)器中斷源和1個串行口中斷源。全部中斷可分為高級和低級兩個優(yōu)先級別。(3)串行口80C51單片機(jī)有一個全雙工可編程串行口,用于實現(xiàn)單片機(jī)與外部設(shè)備之間的串行數(shù)據(jù)傳送。5.振蕩器振蕩器用于產(chǎn)生單片機(jī)工作時所需的時鐘脈沖。2024/3/19373.480C51系列單片機(jī)的存儲器

存儲器是用來存放程序或者程序中所需的數(shù)據(jù)的。不同的單片機(jī),其存儲器的類型與容量也不相同。3.4.1半導(dǎo)體存儲器1.隨機(jī)存取存儲器與只讀存儲器(1)隨機(jī)存取存儲器RAM(RandomAccessMemory)。CPU既可以將該存儲器中的信息(數(shù)據(jù))讀出又可以將需要寫入的信息寫入。(2)只讀存儲器ROM(ReadOnlyMemory)。CPU只能讀出存放在該存儲器中的信息,不能寫入。2024/3/1938表3-5隨機(jī)存取存儲器與只讀存儲器的對照表2024/3/19392.隨機(jī)存取存儲器的分類按照存儲信息的方式,隨機(jī)存取存儲器又可分為以下兩種:(1)靜態(tài)RAM(SRAM:StaticRAM)。只要有電加在存儲器上,數(shù)據(jù)就能長期保留。(2)動態(tài)RAM(DRAM:DynamicRAM)。寫入的信息只能保留幾ms的時間,因此每隔一定時間需要重新寫入一次(稱為“刷新”),所以動態(tài)RAM的電路比較復(fù)雜。2024/3/1940表3-6靜態(tài)RAM與動態(tài)RAM的對照表2024/3/19413.只讀存儲器的分類ROM存儲器按固化信息方式(向芯片內(nèi)寫入信息)的不同可分為以下4種:(1)掩膜ROM(MROM:MaskROM)。(2)可編程ROM(PROM:ProgramableROM)。(3)可擦除可編程ROM(EPROM:ErasablePROM)。(4)電可擦除可編程ROM(E2PROM:ElectricallyErasableROM)。E2PROM的最大缺點就是改寫信息的速度慢,隨著半導(dǎo)體存儲技術(shù)的發(fā)展,各種新的可現(xiàn)場改寫信息的非易失性存儲器被推出,且發(fā)展速度很快,其中應(yīng)用最廣泛最流行的就是快擦寫存儲器(FlashMemory)。

2024/3/19423.4.2存儲器的主要指標(biāo)1.存儲速度

存儲速度主要由存取時間來衡量。存取時間是指從CPU給出有效的存儲器地址,啟動一次存儲器讀/寫操作,到完成該操作所經(jīng)歷的時間。一般存取時間為幾十到幾百ns。存取時間越短,存儲速度越快。

2.存儲容量

存儲容量是指存儲器芯片最多能夠存放二進(jìn)制信息的總位數(shù)。存儲容量的大小與地址線的位數(shù)有關(guān),可以按照如下的公式計算:

存儲容量=編址數(shù)(存儲單元數(shù))×數(shù)據(jù)線位數(shù)=2N×M

其中,N為地址總線的位數(shù);M為數(shù)據(jù)總線的位數(shù)。2024/3/19433.4.380C51單片機(jī)的存儲器80C51單片機(jī)存儲器組織結(jié)構(gòu):哈佛結(jié)構(gòu)(Harvard)片內(nèi):4KB或8KB(8031、8032無)片外:60KB或56KB片內(nèi):128B或256B片外:64KB存儲器程序存儲器數(shù)據(jù)存儲器1.80C51單片機(jī)存儲器從物理結(jié)構(gòu)上可分為:2024/3/19442.從尋址空間分布可分為:3.從功能上可分為:程序存儲器內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器程序存儲器內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器特殊功能寄存器、位地址空間2024/3/19451程序存儲器(1)訪問與編址訪問方法:根據(jù)PC內(nèi)容訪問。程序計數(shù)器PC(16位):存放將要執(zhí)行的指令的地址。具有計數(shù)功能,每取出指令的一個字節(jié)后,其內(nèi)容自行加1,指向下一字節(jié)的地址,以便依次自程序存儲器取指令執(zhí)行,完成某種程序。PC復(fù)位后的值為0。

編址:從0000H-FFFFH。編址規(guī)律:先片內(nèi)、后片外,片內(nèi)、片外連續(xù),二者一般不作重疊。

2024/3/1946

51子系列的ROM編址圖

52子系列的ROM編址圖2024/3/1947:復(fù)位后先執(zhí)行片內(nèi)程序存儲器中的程序,當(dāng)PC>0FFFH時(4KB51子系列)或1FFFH(8KB52子系列)

,將自動轉(zhuǎn)去執(zhí)行片外程序存儲器。

對8051、8751(或8052):對于8031(8032):,因為它沒有內(nèi)部程序存儲器。:將強令執(zhí)行片外程序存儲器中程序。此時多在片外程序存儲器中存放調(diào)試程序,使計算機(jī)工作在調(diào)試狀態(tài)。片外程序存儲器存放調(diào)試程序的部分,其編址與片內(nèi)程序存儲器的編址是可以重疊的,借EA的換接可實現(xiàn)分別訪問。

執(zhí)行次序:2024/3/1948(2)七個特殊單元0000H單元:復(fù)位單元。0003H單元:外部中斷0中斷服務(wù)程序的入口地址000BH單元:定時器/計數(shù)器0溢出中斷服務(wù)程序的入口地址00013H單元:外部中斷1中斷服務(wù)程序的入口地址0001BH單元:定時器/計數(shù)器1溢出中斷服務(wù)程序的入口地址0023H單元:串行口中斷服務(wù)程序的入口地址0002BH單元:定時器/計數(shù)器2溢出中斷服務(wù)程序的入口地址2024/3/1949單片機(jī)復(fù)位后程序計數(shù)器PC的內(nèi)容為0000H,故必須從0000H單元開始取指令來執(zhí)行程序。0000H單元是系統(tǒng)的起始地址,一般在該單元存放一條無條件轉(zhuǎn)移指令,用戶設(shè)計的程序是從轉(zhuǎn)移后的地址開始存放執(zhí)行的。

7個單元相互離得很近,只隔開幾個單元,容納不下稍長的程序段。所以其中實際存放的往往是一條無條件轉(zhuǎn)移指令,使分別跳轉(zhuǎn)到用戶程序真正的起始地址或所對應(yīng)的中斷服務(wù)程序真正的入口地址。說明2024/3/19502.數(shù)據(jù)存儲器

MCS-51系列單片機(jī)的數(shù)據(jù)存儲器在物理上和邏輯上都分為兩個地址空間:0000H-FFFFH用數(shù)據(jù)指針DPTR尋址內(nèi)部數(shù)據(jù)存儲器外部數(shù)據(jù)存儲器00H-7FH共128個單元組成的低128BRAM區(qū)(51、52共有)80H-FFH共128個單元組成的高128BRAM區(qū)(僅52有)80H-FFH之間離散分布的特殊功能寄存器2024/3/1951RAM的編址片內(nèi)數(shù)據(jù)存儲器

51系列的RAM編址圖片外數(shù)據(jù)存儲器2024/3/1952根據(jù)使用功能不同,片內(nèi)數(shù)據(jù)存儲器可進(jìn)一步細(xì)分為工作寄存器區(qū)、位尋址區(qū)、堆棧及數(shù)據(jù)緩沖區(qū)、特殊功能寄存器SFR(SpecialFunctionRegister)區(qū)。2024/3/1953

(1)工作寄存器區(qū)內(nèi)部RAM塊的00H~1FH區(qū),共分4個組,每組有8個工作寄存器R0~R7,共32個內(nèi)部RAM單元。2024/3/1954同一時刻只有一個組工作,CPU根據(jù)程序狀態(tài)字寄存器PSW中的RS0和RS1的值(由用戶設(shè)定)來選擇當(dāng)前的工作組,如表3-8所示。表3-8工作寄存器地址表2024/3/1955(2)位尋址區(qū)(20H~2FH)位尋址區(qū)共有16字節(jié),128位,位地址為00H~7FH。CPU能直接尋址這些位,進(jìn)行置1、清0、求“反”、傳送和邏輯運算等位操作,這就是我們常說的80C51單片機(jī)所具有的布爾處理功能。在程序設(shè)計時,還常常將這些位用作軟件標(biāo)志位。2024/3/1956

內(nèi)部的可尋址位及位地址2024/3/1957注意:①位尋址區(qū)的存儲單元既有字節(jié)地址又有位地址,因此既可作為一般存儲單元進(jìn)行字節(jié)尋址,也可對它們進(jìn)行位尋址。②位尋址區(qū)的位地址范圍為00H~7FH,字節(jié)地址范圍是20H~2FH,有地址重疊現(xiàn)象,進(jìn)一步觀察還可發(fā)現(xiàn),內(nèi)部RAM低128個單元的字節(jié)地址范圍也為00H~7FH,整個存儲區(qū)的地址都是重疊的,但80C51單片機(jī)專門為位操作設(shè)置了一類指令,因此在實際應(yīng)用中可以通過指令的類型來區(qū)分字節(jié)地址和位地址。2024/3/1958(3)堆棧及數(shù)據(jù)緩沖區(qū)(30H~7FH)

51子系列的內(nèi)部RAM的堆棧及數(shù)據(jù)緩沖區(qū)共有80個單元,字節(jié)地址范圍為30H~7FH,52子系列的內(nèi)部RAM的堆棧及數(shù)據(jù)緩沖區(qū)共有208個單元,字節(jié)地址范圍為30H~FFH,用于存放用戶數(shù)據(jù)或作為堆棧區(qū)使用。堆棧區(qū)是存儲器中一個特殊的存儲區(qū),數(shù)據(jù)按照“先進(jìn)后出”或“后進(jìn)先出”的方式進(jìn)行存取操作。2024/3/1959(4)特殊功能寄存器特殊功能寄存器SFR(SpecialFunctionRegister)也稱專用寄存器(不包括PC),主要用于管理片內(nèi)和片外的功能部件,如定時器/定時器、中斷系統(tǒng)、I/O接口等。SFR的編址從80H~FFH,但是并沒有128個,只有21個(51子系列)或26個(52子系列),在80H-FFH之間離散分布。每個SFR都分配有符號名和字節(jié)地址,可對其進(jìn)行直接尋址。表3-10是特殊功能寄存器一覽表,其中字節(jié)地址能夠被8整除的SFR(字節(jié)地址的末位是0或8H)每一位都具有位名稱和位地址,能夠進(jìn)行位尋址。2024/3/1960專用寄存器名稱符號地址位地址與位名稱D7D6D5D4D3D2D1D0P0口P080H8786858483828180堆棧指針SP81H數(shù)據(jù)指針低字節(jié)DPL82H數(shù)據(jù)指針高字節(jié)DPH83H電源控制寄存器PCON87HSMOD———GF1GF0PDIDL表3-1080C51單片機(jī)的特殊功能寄存器一覽表2024/3/1961定時器/計數(shù)器控制TCON88HTF18FTR18ETF08DTR08CIE18BIT18AIE089IT088定時器/計數(shù)器方式控制TMOD89HGATEM1M0GATEM1M0定時器/計數(shù)器0低字節(jié)TL08AH定時器/計數(shù)器1低字節(jié)TL18BH定時器/計數(shù)器0高字節(jié)TH08CH定時器/計數(shù)器1高字節(jié)TH18DH2024/3/1962P1口P190H9796959493929190串行口控制寄存器SCON98HSM09FSM19ESM29DREN9CTB89BRB89ATI99RI98串行數(shù)據(jù)緩沖寄存器SBUF99HP2口P2A0HA7A6A5A4A3A2A1A0中斷允許控制寄存器IEA8HEAAF—ET2ADESACET1ABEX1AAET0A9EX0A8P3口P3B0B7B6B5B4B3B2B1B02024/3/1963中斷優(yōu)先級控制IPA8H————PT2BDPSBCPT1BBPX1BAPT0B9PX0B8定時器/計數(shù)器2控制T2CON*C8HTE2CFEXF2CERCLKCDTCLKCCEXEN2CBTR2CAC/T2C9CP/PL2C8定時器/計數(shù)器2自動重裝載低字節(jié)RLDL*CAH定時器/計數(shù)器2自動重裝載高字節(jié)RLDH*CBH定時器/計數(shù)器2低字節(jié)TL2*CCH定時器/計數(shù)器2高字節(jié)TH2CDH2024/3/1964程序狀態(tài)字PSWD0HCYD7ACD6F0D5RS1D4RS0D3OVD2—D1PD0累加器AE0HE7E6E5E4E3E2E1E0B寄存器BF0HF7F6F5F4F3F2F1F0本章先介紹其中部分寄存器,其他SFR將在相關(guān)章節(jié)陸續(xù)介紹。2024/3/19651)累加器A(Accumulator)

A是8位寄存器,是最常用的寄存器。2)寄存器B寄存器B是8位寄存器,是專門為乘除法指令設(shè)計的。3)程序狀態(tài)字PSW(ProgramStatusWord)程序狀態(tài)字PSW是8位寄存器,用于存放程序運行的狀態(tài)信息。PSW.7PSW.0CyACF0RS1RS0OV—P2024/3/1966(1)進(jìn)位標(biāo)志位Cy(PSW.7):8位加法(減法)運算時,如果運算結(jié)果的最高位D7有進(jìn)位(借位),則C=1,否則C=0C也為位累加器(2)輔助進(jìn)位標(biāo)志位Ac(PSW.6):8位加法運算時,如果低半字節(jié)的最高位D3有進(jìn)位,則AC=1,否則AC=0;8位減法運算時,如果D3有借位,則AC=1,否則AC=0。Ac在作BCD碼運算時有用CyACF0RS1RS0OV—PPSW.7PSW.0(3)軟件標(biāo)志F0(PSW.5):是用戶定義的一個狀態(tài)標(biāo)志。2024/3/1967(4)工作寄存器組選擇位RS1、RS0(PSW.4、PSW.3):作用:用軟件置位或清零,以確定四組工作寄存器中的哪一組工作。(5)溢出標(biāo)志OV(PSW.2):當(dāng)執(zhí)行算術(shù)運算時,由硬件置位或清零,以指示溢出狀態(tài)。(6)奇偶標(biāo)志P(PSW.0):每執(zhí)行一條指令,單片機(jī)都能根據(jù)A中1的個數(shù)的奇偶自動令P置位或清零:奇為1,偶為0。CACF0RS1RS0OV—PPSW.7PSW.0RS1RS0000組(地址從00-07H)011組(地址從08-0FH)102組(地址從10-17H)113組(地址從18-1FH)2024/3/1968例分析執(zhí)行指令

MOVA,#6EHADDA,#58H后,A、C、Ac、OV、P的內(nèi)容是什么?執(zhí)行第l條指令后立即數(shù)6EH進(jìn)入A,執(zhí)行第2條指令將使58H與A中的6EH相加。(A)=C6H,C=0、Ac=1;次高位有進(jìn)位、最高位無進(jìn)位,OV=1(和>128),執(zhí)行第1條指令后P=1,執(zhí)行第2條指令后P=0。2024/3/19694)數(shù)據(jù)指針DPTR(DataPointer)數(shù)據(jù)指針DPTR是16位的專用寄存器。高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。5)堆棧指針SP(StackPointer)堆棧:是微機(jī)RAM中的一個特殊區(qū)域,是一組按照“先進(jìn)后出”方式工作的,用于暫存信息的單元。堆棧指針SP

:指出堆棧頂部在內(nèi)部RAM中的位置。

(復(fù)位后為07H)設(shè)置堆棧指針:MOVSP,#data2024/3/1970例:已知(A)=30H,(B)=40H,執(zhí)行下列指令后,堆棧內(nèi)容如何變化?MOVSP,#60HPUSHAPUSHB堆棧工作示意圖60H61H62H63H64HSP60H61H62H63H64HSP30H60H61H62H63H64HSP30H40H;SP←(SP)十1,(SP)←(A);SP←(SP)十1,(SP)←(B);SP←60H(1).進(jìn)棧指令或壓入指令

PUSHdirect;SP←(SP)十1,

(SP)←(direct)2024/3/1971(2).出棧指令或彈出指令

POPdirect;(direct)←((SP));

SP←(SP)-1例:執(zhí)行下列兩條彈出指令后,堆棧內(nèi)容如何變化?MOVSP,#60HPUSHAPUSHBPOPAPOPB堆棧工作示意圖;A←((SP)),SP←(SP)-1;B←((SP)),SP←(SP)-1A40H60H61H62H63H64H30H40HSP60H61H62H63H64HSP30H40H60H61H62H63H64HSP30HB30H2024/3/19723.580C51單片機(jī)的工作方式80C51系列單片機(jī)的工作方式包括:復(fù)位方式、程序執(zhí)行方式、低功耗方式等。單片機(jī)不同的工作方式,代表單片機(jī)處于不同的工作狀態(tài)。單片機(jī)工作方式的多少,是衡量單片機(jī)性能的一項重要指標(biāo)。2024/3/1973

單片機(jī)在啟動運行時,都需要先復(fù)位。

復(fù)位是指通過某種方式,使單片機(jī)片內(nèi)各寄存器的值變?yōu)槌跏紶顟B(tài)的一種操作。

當(dāng)程序運行錯誤或由于錯誤操作而使單片機(jī)進(jìn)入死鎖狀態(tài)時,也可以通過復(fù)位進(jìn)行重新啟動。80C51單片機(jī)在時鐘電路工作以后,如果其RST端持續(xù)得到2個機(jī)器周期(24個振蕩周期)以上的高電平信號,就可以完成復(fù)位操作。3.5.1復(fù)位方式2024/3/197480C51系列單片機(jī)的復(fù)位電路分為上電復(fù)位和手動復(fù)位兩種方式。

(a)上電復(fù)位電路(b)開關(guān)復(fù)位電路圖3-15復(fù)位電路在晶振頻率為11.0592MHz時,通常取C=10μF,R1=10kΩ,R2=1kΩ。在晶振頻率為6MHz時,通常取C=22μF,R1=1kΩ,R2=200Ω。2024/3/1975表3-11單片機(jī)復(fù)位后內(nèi)部各寄存器的狀態(tài)2024/3/19763.5.2程序執(zhí)行方式程序執(zhí)行方式是單片機(jī)的基本工作方式,分為連續(xù)執(zhí)行工作方式和單步執(zhí)行工作方式。1.連續(xù)執(zhí)行工作方式單片機(jī)按照程序事先編寫的任務(wù),自動連續(xù)地執(zhí)行下去。

2.單步執(zhí)行工作方式這種方式主要用于用戶調(diào)試程序。一般的單片機(jī)開發(fā)系統(tǒng)都會支持單片機(jī)單步運行程序。在單片機(jī)開發(fā)系統(tǒng)上有一專用的單步按鍵。按一次,單片機(jī)就執(zhí)行一條指令(僅僅執(zhí)行一條),這樣就可以逐條檢查程序,查看系統(tǒng)內(nèi)部資源的當(dāng)前狀態(tài),以便發(fā)現(xiàn)問題及時修改。

2024/3/19773.5.3低功耗方式為了降低單片機(jī)的功耗,減少外界干擾,單片機(jī)通常都有可程序控制的低功耗工作方式,也稱為省電方式。80C51系列單片機(jī)有兩種低功耗方式:待機(jī)(空閑節(jié)電)方式和停機(jī)(掉電)方式。單片機(jī)的低功耗方式的選擇由其內(nèi)部的電源控制寄存器PCON中的相關(guān)位來控制。電源控制寄存器PCON的控制格式2024/3/19781.待機(jī)工作方式在待機(jī)工作方式下,單片機(jī)的晶體振蕩器繼續(xù)工作,單片機(jī)內(nèi)部只是把供給CPU的時鐘信號切斷,但時鐘信號仍然繼續(xù)提供給中斷系統(tǒng)、串行口以及定時器模塊。與CPU有關(guān)的SP、PC、PSW、A等的狀態(tài)以及全部工作寄存器的內(nèi)容被保留起來,I/O引腳狀態(tài)也保持不變,ALE和保持邏輯高電平。此時CPU工作暫停。退出待機(jī)工作方式的方法有兩種,一種是中斷退出,一種是硬件復(fù)位退出。當(dāng)用戶通過軟件將PCON的IDL位置1后,系統(tǒng)就進(jìn)入了待機(jī)工作方式。待機(jī)工作方式是在程序運行過程中,用戶在CPU不執(zhí)行程序時,進(jìn)入的一種降低功耗的工作方式,常稱為“休眠”狀態(tài)。在此工作方式下,單片機(jī)的工作電流可降到正常工作方式時電流的15%左右。

2024/3/19792.掉電工作方式

退出掉電工作方式的方法是硬件復(fù)位或中斷退出。當(dāng)CPU執(zhí)行一條置位PCON.1(PD)的指令后,系統(tǒng)即進(jìn)入掉電工作方式。在掉電工作方式下,單片機(jī)內(nèi)部振蕩器停止工作。由于沒有振蕩時鐘,因此,單片機(jī)所有的功能部件都停止工作。但片內(nèi)RAM區(qū)和特殊功能寄存器SFR的內(nèi)容被保留,I/O端口的輸出狀態(tài)值被保存在對應(yīng)的SFR中,ALE和都為低電平,此時耗電電流可降到15μA以下,最小可降到6μA,以最小耗電保存片內(nèi)RAM的信息。

2024/3/19803.6

80C51系列單片機(jī)的時序

時序是CPU在執(zhí)行指令時各控制信號之間的時間順序關(guān)系。

為了保證各部件間協(xié)調(diào)一致地同步工作,單片機(jī)內(nèi)部的電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論