單片機(jī) 第二章MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理_第1頁
單片機(jī) 第二章MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理_第2頁
單片機(jī) 第二章MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理_第3頁
單片機(jī) 第二章MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理_第4頁
單片機(jī) 第二章MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章

MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)及工作原理MCS-51單片機(jī)的基本結(jié)構(gòu)及工作原理§2-1MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)和引腳功能§2-2MCS-51的存儲(chǔ)器結(jié)構(gòu)和配置§2-3

并行I/O口結(jié)構(gòu)及工作原理§2-4時(shí)鐘電路與時(shí)序電路§2-5

復(fù)位電路主要內(nèi)容MCS-51系列單片機(jī)的內(nèi)部結(jié)構(gòu)、存儲(chǔ)器結(jié)構(gòu)、工作原理、引腳功能、工作方式、時(shí)序和最小應(yīng)用系統(tǒng)本章要點(diǎn):掌握

MCS-51單片機(jī)的內(nèi)部結(jié)構(gòu)、存儲(chǔ)器結(jié)構(gòu)、PSW特殊功能寄存器的使用、引腳功能、最小應(yīng)用系統(tǒng)的設(shè)計(jì);了解工作時(shí)序及工作方式。第一節(jié)內(nèi)部結(jié)構(gòu)和引腳功能教學(xué)內(nèi)容:一、MCS-51單片機(jī)內(nèi)部結(jié)構(gòu)二、CPU

三、輸入/輸出端口結(jié)構(gòu)四、端口負(fù)載能力和接口要求五、MCS-5l引腳及功能MCS-51系列單片機(jī)配置一覽表系列片內(nèi)存儲(chǔ)器(字節(jié))定時(shí)器計(jì)數(shù)器并行I/O串行I/O中斷源片內(nèi)ROM片內(nèi)RAM無有ROM有EPROMIntelMCS-51子系列803180C31805180C51(4K字節(jié))875187C51(4K字節(jié))128字節(jié)2x164x8位15IntelMCS-52子系列803280C32805280C52(8K字節(jié))875287C52(8K字節(jié))256字節(jié)3x164x8位16ATEML89C系列(常用型)1051(1K)/2051(2K)/4051(4K)(20條引腳DIP封裝)1282151589C51(4K)/89C52(8K)(40條引腳DIP封裝)128/2562/33215/6一、MCS-51內(nèi)部結(jié)構(gòu)并行口串行通信ROM4KB時(shí)鐘電路RAM128計(jì)數(shù)器/定時(shí)器8051CPU控制邏輯可編程I/O口可編程全雙工串行口外部時(shí)鐘圖2-18051的功能部件圖外部中斷二、

CPU主要功能:產(chǎn)生各種控制信號(hào),去控制存儲(chǔ)器、輸入/輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算術(shù)運(yùn)算、邏輯運(yùn)算以及位操作處理等。

(一)運(yùn)算器組成:運(yùn)算器由算術(shù)邏運(yùn)算部件ALU、累加器Acc、暫存器、程序狀態(tài)字寄存器PSW、BCD碼運(yùn)算調(diào)整電路等組成。對(duì)數(shù)據(jù)完成算術(shù)運(yùn)算,邏輯運(yùn)算、循環(huán)移位、位處理。(二)控制器組成:由程序計(jì)數(shù)器PC、指令寄存器、指令譯碼器、定時(shí)控制與條件轉(zhuǎn)移邏輯電路等組成。功能:對(duì)來自存儲(chǔ)器中的指令進(jìn)行譯碼,通過定時(shí)控制電路,在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部內(nèi)部和外部控制信號(hào),協(xié)調(diào)各功能元件的工作,完成指令所規(guī)定的功能。

特點(diǎn):▼它是16位的按機(jī)器周期自動(dòng)加1計(jì)數(shù)器▼一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位

等操作的本質(zhì)就是:改變PC值▼總指向下一條指令所在首地址(當(dāng)前PC值)1.程序計(jì)數(shù)器PC(ProgramCounter)

一個(gè)16位的專用寄存器,用來存放下一條指令的地址。它具有自動(dòng)加1的功能。

2.指令寄存器

一個(gè)8位的寄存器,用于暫存待執(zhí)行的指令,等待譯碼。3.指令譯碼器

對(duì)指令寄存器中的指令進(jìn)行譯碼,分析它的功能,并根據(jù)功能產(chǎn)生相應(yīng)的電信號(hào)。4.定時(shí)控制部件與時(shí)序

功能:在規(guī)定的時(shí)刻發(fā)出各種操作所需的全部內(nèi)部和外部的控制信號(hào),協(xié)調(diào)各功能元件工作,完成指令所規(guī)定的功能。主要任務(wù):產(chǎn)生一個(gè)工作時(shí)序,其工作需要時(shí)鐘電路提供一個(gè)工作頻率。

三、MCS-51單片機(jī)的引腳及其功能AT89S52DIP40封裝MCS-51單片機(jī)40腳Vcc,GND2XTAL1,XTAL22RESET1EA/Vpp

1ALE/PROG

1PSEN

1P0.0—P0.7

8P1.0—P1.7

8

P2.0—P2.7

8

P3.0—P3.7

8(1)Vcc(40腳),GND(20腳)

正電源端與接地端不同的單片機(jī)可以允許不同的工作電壓(+5V/3.3V/2.7V),不同的單片機(jī)表現(xiàn)出的功耗也不同。(2)XTAL1(19腳),XTAL2(18腳)

片內(nèi)振蕩電路輸入/輸出端對(duì)AT89S51/S52單片機(jī),通常外接一個(gè)晶振兩個(gè)20或30pF電容,一個(gè)12M或11.0592MHz的晶振(3)RST/VPD(9腳)、ALE/PROG(30腳)

、EA/Vpp

(31腳)

、PSEN(29腳)控制信號(hào)引腳。RST/VPD:復(fù)位(正脈沖有效)/備用電源引腳復(fù)位使單片機(jī)進(jìn)入某種確定的初始狀態(tài)

退出處于節(jié)電工作方式的停頓狀態(tài)、退出一切程序進(jìn)程、退出程序的死循環(huán),從頭開始。Vcc掉電期間,此引腳可接備用電源,能保護(hù)片內(nèi)RAM中的內(nèi)容不丟失。無論是HMOS型還是CHMOS型的單片機(jī),在振蕩器正在運(yùn)行的情況下,復(fù)位是靠在RST引腳上施加持續(xù)2個(gè)機(jī)器周期的高電平來實(shí)現(xiàn)的。MCS-51單片機(jī)通常采用的簡單復(fù)位電路有:上電自動(dòng)復(fù)位、外部脈沖復(fù)位、上電+按鈕電平復(fù)位、程序運(yùn)行監(jiān)視復(fù)位等方式。簡單復(fù)位電路+5V10uF10kVccRSTGND上電復(fù)位10uF10kVccRSTGND上電+按鈕復(fù)位1k+5V程序運(yùn)行監(jiān)視復(fù)位程序運(yùn)行監(jiān)視復(fù)位通常是由各種類型的程序監(jiān)視定時(shí)器WDT(WatchdogTimer)俗稱為“看門狗”實(shí)現(xiàn)。WDT可保證程序非正常運(yùn)行(如程序“飛逸”、“死機(jī)”)時(shí),能及時(shí)進(jìn)入復(fù)位狀態(tài),恢復(fù)程序正常運(yùn)行。“看門狗”工作原理:在規(guī)定時(shí)間內(nèi)必須至少“喂狗”一次,即復(fù)位“看門狗”。否則“看門狗”電路將復(fù)位單片機(jī)。實(shí)現(xiàn):可在軟件的合適地方加一條“喂狗”指令,使看門狗的定時(shí)時(shí)間永遠(yuǎn)達(dá)不到預(yù)置。WDT通常有幾種實(shí)現(xiàn)方法供用戶選擇:1)單片機(jī)內(nèi)部帶有的WDT功能單元(如:S51)2)選擇μP(microprocessor)監(jiān)視控制器件,這些器件中大多有WDT電路,如Max705芯片等。μP監(jiān)視控制器件MAX705/706、DS1232等DS1232(看門狗)是DALLAS公司生產(chǎn)的一種微機(jī)監(jiān)控電路芯片。主要功能:產(chǎn)生上電復(fù)位和手動(dòng)復(fù)位,監(jiān)視電源電平,監(jiān)視軟件運(yùn)行狀態(tài),當(dāng)程序運(yùn)行出現(xiàn)飛車時(shí),產(chǎn)生復(fù)位信號(hào)。TD引腳連接至定時(shí)時(shí)間地(GND)150ms懸空600ms電源(Vcc)1200ms看門狗定時(shí)器定時(shí)時(shí)間設(shè)置Tol:電源檢測選擇端Tol接地,電源電壓跌至4.75V以下產(chǎn)生復(fù)位信號(hào)Tol接VCC,電源電壓跌至4.5V以下產(chǎn)生復(fù)位信號(hào)注意:保證看門狗定時(shí)器計(jì)數(shù)溢出前復(fù)位看門狗定時(shí)器定時(shí)時(shí)間89S51看門狗功能的使用方法在ATMEL的89S51系列的89S51與89C51功能相同,指令兼容。89S51比89C51增加了一個(gè)看門狗功能。要激活A(yù)T89S51/52的看門狗功能,只需依次向WDTRST寄存器(SFR地址為0A6H)單元送入#01EH和#0E1H即可,使看門狗定時(shí)計(jì)數(shù)器工作。

AJMPMAIN

;啟動(dòng)看門狗MAIN:MOV0A6H,#01EH;先送1E

MOV0A6H,#0E1H;后送E1;主程序START:

.....

ACALLWDT;調(diào)用復(fù)位看門狗子程序

....

AJMPSTART;主程序********;復(fù)位看門狗子程序WDT:MOV0A6H,#01EH;先送1E

MOV0A6H,#0E1H;后送E1

RETEND注意事項(xiàng):1.89S51的看門狗必須由程序激活后才開始工作。所以必須保證CPU有可靠的上電復(fù)位。否則看門狗也無法工作。2.看門狗使用的是CPU的晶振。在晶振停振的時(shí)候看門狗也無效。3.89S51只有14位計(jì)數(shù)器。在16383個(gè)機(jī)器周期內(nèi)必須至少喂狗一次。而且這個(gè)時(shí)間是固定的,無法更改。當(dāng)晶振為12M時(shí)每16個(gè)毫秒需喂狗一次。ALE/PROG(下降沿有效)(30腳):

地址鎖存允許/編程脈沖輸入端。

P0口尋址外部低8位地址時(shí)接外部鎖存器74ls373的G端;

ALE端平時(shí)會(huì)輸出周期正脈沖:

f

fosc/6;

對(duì)片內(nèi)ROM編程時(shí)編程脈沖由此端加入。(指并行編程模式)EA/Vpp(31腳):尋址外部ROM控制端/編程電源輸入端。低電平有效,片內(nèi)無ROM時(shí)必須接地;片內(nèi)有ROM時(shí)可以接高電平,也可以接低電平;接低電平時(shí),只訪問片外ROM,接高電平時(shí),訪問片內(nèi)ROM,超范圍時(shí),訪問片外ROM對(duì)S51/S52單片機(jī),若不擴(kuò)展ROM,/EA要接+5V

對(duì)片內(nèi)ROM編程時(shí)編程正電源加到此端。(指并行編程模式)PSEN(29腳):尋址外部程序存儲(chǔ)器時(shí)選通外部EPROM的讀控制端(OE),低電平有效。單片機(jī)鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROMI/O口引腳

P0口:雙向8位三態(tài)I/O口,此口為地址總線(低8位)及數(shù)據(jù)總線分時(shí)復(fù)用口,可帶8個(gè)LSTTL負(fù)載。

P1口:8位準(zhǔn)雙向I/O口,可帶4個(gè)

LSTTTL負(fù)載。

P2口:8位準(zhǔn)雙向I/O口,與地址總線(高8位)復(fù)用。P3口:8位準(zhǔn)雙向I/O口,雙功能復(fù)用口。

無固定上拉電阻,有兩個(gè)MOS管串接。有固定的上拉電阻。無高阻“浮空”狀態(tài)。注意:準(zhǔn)雙向口與雙向口的差別。準(zhǔn)雙向口僅有兩個(gè)狀態(tài)。而P0口作為總線使用,口線內(nèi)無上拉電阻,處于高阻“懸浮”態(tài)。故P0口為雙向三態(tài)I/O口。為什么P0口要有高阻“懸浮”態(tài)?準(zhǔn)雙向I/O口則無高阻的“懸浮”狀態(tài)。另外,準(zhǔn)雙向口作通用I/O的輸入口使用時(shí),一定要向該口先寫入“1”。·P3第二功能:

·串行口:P3.0:RXD串行輸入口。

P3.1:TXD串行輸出口?!ぶ袛啵?/p>

P3.2:INT0外部中斷0輸入。

P3.3:INT1外部中斷1輸入?!ざ〞r(shí)器/計(jì)數(shù)器:

P3.4:T0的外部輸入。

P3.5:T1的外部輸入。

·數(shù)據(jù)存儲(chǔ)器選通:

P3.6:WR,片外數(shù)據(jù)存儲(chǔ)器或I/O端口寫選通。

P3.7:RD,片外數(shù)據(jù)存儲(chǔ)器或I/O端口讀選通。小結(jié)1、單片機(jī)的引腳電源引腳:Vcc(40)、GND(20)XTAL1(19)、XTAL2(18)

控制引腳:RST/VPD(9)、ALE/PROG(30)

、EA/Vpp

(31)

、PSEN(29)輸入輸出引腳:P0、P1、P2、P32、常用的復(fù)位電路、控制引腳的功能四MCS-51存儲(chǔ)器的結(jié)構(gòu)

MCS-51單片機(jī)存儲(chǔ)器采用的是哈佛結(jié)構(gòu),即程序存儲(chǔ)器空間和數(shù)據(jù)存儲(chǔ)器空間是分開的。

8051在物理結(jié)構(gòu)上有

4個(gè)存儲(chǔ)空間:片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器

8051在邏輯結(jié)構(gòu)(用戶角度)有5個(gè)存儲(chǔ)空間:特殊功能寄存器片內(nèi)程序存儲(chǔ)器片外程序存儲(chǔ)器片內(nèi)數(shù)據(jù)存儲(chǔ)器片外數(shù)據(jù)存儲(chǔ)器

1、地址的重疊性存在3處重疊性,但是盡管有這些重疊,卻不會(huì)產(chǎn)生操作的混亂。這是因?yàn)镸CS-51采用了不同的操作指令及EA的控制選擇來自動(dòng)區(qū)分這些重疊的空間(1)程序存儲(chǔ)器片內(nèi)和片外低4KB重疊

EA接高電平,執(zhí)行片內(nèi)ROM中的程序,PC>0FFFH,CPU自動(dòng)訪問片外。

EA接低電平,只執(zhí)行片外程序存儲(chǔ)器中的程序。(2)程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器全部64k重疊。訪問程序存儲(chǔ)器使用MOVC類指令。訪問數(shù)據(jù)存儲(chǔ)器使用MOV和MOVX類指令。(3)數(shù)據(jù)存儲(chǔ)器片內(nèi)和片外低128B重疊訪問片內(nèi)數(shù)據(jù)存儲(chǔ)器使用MOV類指令。訪問片外數(shù)據(jù)存儲(chǔ)器使用MOVX類指令。2.

程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器在使用上的嚴(yán)格區(qū)分

程序存儲(chǔ)器存放指令及常數(shù)表格,其操作指令不分片內(nèi)與片外。

數(shù)據(jù)存儲(chǔ)器存放數(shù)據(jù),訪問片內(nèi)與片外的指令是不同的。3.

位地址共有2個(gè)區(qū)域。一個(gè)為20H-2FH單元中128位,另一個(gè)為SFR中被8整除的字節(jié)地址單元中的位.4.

片外數(shù)據(jù)存儲(chǔ)區(qū)中,RAM存儲(chǔ)單元與MCS-51外擴(kuò)的I/O口是統(tǒng)一編址的。因此,應(yīng)用系統(tǒng)中所有外圍I/O端口的地址均占用RAM地址單元。2.4.1程序存儲(chǔ)器

存放應(yīng)用程序和表格之類的固定常數(shù)。分為片內(nèi)和片外兩部分,由EA引腳上所接的電平確定。程序存儲(chǔ)器中的0000H地址是系統(tǒng)程序的啟動(dòng)地址

(2)程序存儲(chǔ)器的某些單元被固定用于各中斷源的中斷服務(wù)程序(ISR----InterruptServiceRoutine)的入口地址。2.4.2內(nèi)部數(shù)據(jù)存儲(chǔ)器MCS-51RAM在物理上和邏輯上分為兩個(gè)地址空間。片內(nèi)RAM:128字節(jié),用MOV指令訪問。(從廣義上來說,應(yīng)該有256B。)片外RAM:可擴(kuò)展64K字節(jié),用MOVX指令訪問。1工作寄存器區(qū)用寄存器直接尋址的區(qū)域。從00H~1FH,共32個(gè)單元,是4個(gè)通用工作寄存器組(表2–l),每個(gè)組包含8個(gè)8位寄存器,編號(hào)為R0~R7。RS1RS0組號(hào)寄存器R0~R7地址000組00H~07H011組08H~0FH102組10H~17H113組18H~1FH表2–1工作寄存器組2、位地址區(qū)211個(gè)(128個(gè)+83個(gè))尋址位。位地址范圍為:00H~FFH。內(nèi)部RAM的可尋址位128個(gè)(字節(jié)地址20H~2FH)見表2-3(P13)。表2-3內(nèi)部RAM的可尋址位及位地址MOVC,20H;位地址MOVA,20H;字節(jié)地址3通用RAM30H~7FH按字節(jié)訪問表2-4SFR中的位地址分布3特殊功能寄存器(SpecialFunctionRegisters簡稱SFR)

1.在8051單片機(jī)中設(shè)置了21個(gè)特殊功能寄存器,它們不連續(xù)地分布在地址為80H-FFH的128個(gè)字節(jié)的存儲(chǔ)空間中。

2.在這21個(gè)SFR中,凡是字節(jié)地址能被8整除(即16進(jìn)制的地址碼尾數(shù)為0或8)的11個(gè)單元均具有位尋址能力,有效的位地址共有82個(gè)。表2-2SFR的名稱及其分布對(duì)于尚未定義的字節(jié)地址單元,用戶不能作普通寄存器使用,若訪問沒有定義的單元,將得到一個(gè)不確定的隨機(jī)數(shù)。

★21個(gè)特殊功能寄存器在各功能機(jī)構(gòu)的分布:中央處理器(CPU):A、B、PSW、SP、DPTR(DPH、DPL);并行口:P0、P1、P2、P3;串行口:SCON、SBUF、PCON;中斷系統(tǒng):IE、IP;定時(shí)/計(jì)數(shù)器:TMOD、TCON、TH0、TL0、TH1、TL1。

增加不經(jīng)過累加器A的傳送指令,既可以加快數(shù)據(jù)的傳送速度,同時(shí)又可減少“瓶頸”現(xiàn)象的發(fā)生。

數(shù)據(jù)傳送大都通過通過A,易形成“瓶頸”。1)累加器A(ACC)

8位的累加器,也是CPU中使用最頻繁的寄存器。它的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)是位處理器的一位累加器。思考:如何減少“瓶頸”現(xiàn)象的發(fā)生?是為執(zhí)行乘法和除法操作設(shè)置的,在不執(zhí)行乘法、除法操作的情況下,可作普通寄存器使用。乘法:A、B存放乘數(shù)和被乘數(shù),乘積存放在BA寄存器對(duì)中。除法:

被除數(shù)取自A,除數(shù)取自B,商存放在A,余數(shù)存放于B。

2)寄存器B

3)程序狀態(tài)寄存器PSW(ProgramStatusWord)8位可讀寫的寄存器。其各位的定義如下:(1)Cy:進(jìn)位標(biāo)志位.在執(zhí)行算數(shù)和邏輯指令時(shí),可被硬、軟件置位或清除,在位處理器中,它是位累加器。(2)AC:輔助進(jìn)位標(biāo)志位當(dāng)進(jìn)行加法或減法操作而產(chǎn)生由低4位進(jìn)位或借位時(shí),AC被硬件置1,否則被清除。(3)F0:標(biāo)志位(4)RS1、RS0:寄存器區(qū)選擇控制位(5)OV(PSW.2)溢出標(biāo)志位:當(dāng)執(zhí)行算術(shù)指令時(shí),由硬件置1或清0,以指示是否溢出。(6)P(PSW.0)奇偶標(biāo)志位:每個(gè)指令周期都由硬件來置位或清除,以表示累加器A中值為1的位數(shù)的奇偶數(shù)。

P=1,則A中1的個(gè)數(shù)為奇數(shù)。

P=0,則A中1的個(gè)數(shù)為偶數(shù)。

此標(biāo)志位對(duì)串行口通訊中的數(shù)據(jù)傳輸有意義,常用奇偶檢驗(yàn)的方法來檢驗(yàn)數(shù)據(jù)傳輸?shù)目煽啃浴?/p>

(A)=10101011P=1還是0?4)

堆棧指針SPSP是一個(gè)8位的SFR,堆棧的實(shí)質(zhì)是一個(gè)特殊的RAM區(qū),主要功能是暫放數(shù)據(jù)和地址。堆棧的具體功能為:(1)保護(hù)斷點(diǎn):子程序調(diào)用以及中斷時(shí),最終都要返回主程序。為了保證程序能正確返回,應(yīng)該在堆棧中預(yù)先將主程序的斷點(diǎn)保護(hù)起來。

(2)

現(xiàn)場保護(hù):單片機(jī)執(zhí)行子程序或ISR之后,很可能要用到單片機(jī)中的一些寄存器,為了不破壞寄存器中的原有內(nèi)容,可以把有關(guān)寄存器的內(nèi)容保存起來,送入堆棧。堆棧的操作有兩種方式:(1)指令方式,使用堆棧操作指令進(jìn)行進(jìn)棧/出棧操作。(2)自動(dòng)方式,在調(diào)用子程序或產(chǎn)生中斷時(shí),返回地址(斷點(diǎn))自動(dòng)進(jìn)棧。程序返回時(shí),斷點(diǎn)地址再自動(dòng)彈回PC。這種堆棧操作不需要干預(yù),是通過硬件自動(dòng)實(shí)現(xiàn)的。

提示:系統(tǒng)復(fù)位后,SP初始化為07H,使得堆棧事實(shí)上由08H開始。因?yàn)?8H---1FH單元為工作寄存器區(qū)1---3,20H---2FH為位尋址區(qū),在程序設(shè)計(jì)很可能要用到這些區(qū),所以用戶在編程時(shí)最好把SP初值設(shè)為2FH或更大值,當(dāng)然同時(shí)還要顧及其允許的深度。要防止設(shè)置不當(dāng),引起內(nèi)部RAM單元沖突。堆棧的特點(diǎn):

先進(jìn)后出。堆棧的操作:進(jìn)棧(PUSH),出棧(POP)。第一個(gè)進(jìn)棧的數(shù)據(jù)所在的單元稱為棧底,然后逐次進(jìn)棧,最后進(jìn)棧的數(shù)據(jù)所在的存儲(chǔ)單元稱為棧頂。5)數(shù)據(jù)指針DPTR

是一個(gè)16位的地址指針寄存器。它主要用來存放16位地址,作間址寄存器使用??捎脕碓L問64K外部數(shù)據(jù)存儲(chǔ)器和I/O端口。

DPTR也可以拆成兩個(gè)獨(dú)立8位寄存器,即DPH(高8位字節(jié))和DPL(低8位字節(jié)),分別占據(jù)83H和82H兩個(gè)地址。PC與DPTR: ⑴都是與地址有關(guān)的16位的寄存器。PC與程序存儲(chǔ)器的地址有關(guān),DPTR與數(shù)據(jù)存儲(chǔ)器或I/O的地址有關(guān)。作為地址寄存器使用時(shí),PC與DPTR都是通過P0和P2口輸出的。PC的輸出與ALE及PSEN信號(hào)有關(guān);DPTR的輸出,則與ALE、WR、RD信號(hào)有關(guān)。 ⑵PC只能作為16位寄存器對(duì)待,是不可以訪問的。

DPTR可以作為16位寄存器,也可以作為兩個(gè)8位特殊功能寄存器,DPTR是可以訪問的。6)I/O端口P0---P3

特殊功能寄存器P0---P3分別為I/O端口P0---P3的鎖存器。在MCS-51中,I/O端口和RAM是統(tǒng)一編址的,所有訪問RAM單元的指令,都可用來訪問I/O端口。7)串行數(shù)據(jù)緩沖器SBUF

由兩個(gè)獨(dú)立的寄存器組成:發(fā)送緩沖器,接收緩沖器。存放欲發(fā)送或已接收的數(shù)據(jù),一個(gè)字節(jié)地址,物理上是兩個(gè)獨(dú)立寄存器。8)定時(shí)器/計(jì)數(shù)器

兩個(gè)16位定時(shí)器/計(jì)數(shù)器T1和T0,各由兩個(gè)獨(dú)立的8位寄存器組成:TH1、TL1、TH0、TL0,只能字節(jié)尋址,但不能把T1或T0當(dāng)作一個(gè)16位寄存器來尋址訪問。五

并行輸入/輸出端口

80C51共有4個(gè)8位的并行雙向口,計(jì)有32根輸入/輸出(I/O)口線。各口的每一位均由鎖存器、輸出驅(qū)動(dòng)器和輸入緩沖器所組成。由于它們?cè)诮Y(jié)構(gòu)上的一些差異,故各口的性質(zhì)和功能也就有了差異。2.5.1P0口

多功能的8位口,字節(jié)訪問地址為80H,位訪問地址為80H~87H。⒈位結(jié)構(gòu)

P0口位結(jié)構(gòu)原理圖見圖2-5。

圖2-5 P0口位結(jié)構(gòu)原理圖0

P0口中一個(gè)多路開關(guān):多路開關(guān)的輸入有兩個(gè),地址/數(shù)據(jù)輸出;輸出鎖存器的輸出/Q。多路開關(guān)的輸出用于控制輸出FETQ0的導(dǎo)通和截止。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。

P0口的輸出上拉電路導(dǎo)通和截止受內(nèi)部控制信號(hào)和地址/數(shù)據(jù)信號(hào)共同(相“與”)來控制。

當(dāng)內(nèi)部信號(hào)置1時(shí),多路開關(guān)接通地址/數(shù)據(jù)輸出端。輸出狀態(tài)隨地址/數(shù)據(jù)線而變,P0口可以作為地址/數(shù)據(jù)復(fù)用總線使用。這時(shí)上下兩個(gè)FET處于反相,構(gòu)成了推拉式的輸出電路,其負(fù)載能力大大增加。此時(shí)的P0口相當(dāng)一個(gè)雙向口。

作數(shù)據(jù)總線輸入時(shí),CPU自動(dòng)使上下FET截止,P0口處于懸浮狀態(tài)。⑷當(dāng)內(nèi)部信號(hào)置0時(shí),多路開關(guān)接通輸出鎖存器的Q端

由于內(nèi)部控制信號(hào)為0,與門關(guān)閉,上拉FET截止,形成P0口的輸出電路為漏極開路輸出。

輸出鎖存器的Q端引至下拉FET柵極,P0口的輸出狀態(tài)由下拉電路決定。

●在P0口作輸出口用時(shí),若P0.i輸出1,輸出鎖存器的Q端為0,下拉FET截止,這時(shí)P0.i為漏極開路輸出;若P0.i輸出0,輸出鎖存器的Q端為1,下拉FET導(dǎo)通,P0.i輸出低電平?!裨赑0口作輸入口用時(shí),為了使P0.i能正確讀入數(shù)據(jù),必須先使P0.i置1。這樣,下拉FET也截止,P0.i處于懸浮狀態(tài)。A點(diǎn)的電平由外設(shè)的電平而定,通過輸入緩沖器讀入CPU,P0口相當(dāng)于一個(gè)高阻抗的輸入口。⒉P0口的功能

⑴作I/O口使用此時(shí)P0口為一個(gè)準(zhǔn)雙向口。與其它口的區(qū)別是,輸出時(shí)為漏極開路輸出,與NMOS的電路接口時(shí)必須要用電阻上拉,才能有高電平輸出;輸入時(shí)需先將口置1;但是有上拉電阻,作數(shù)據(jù)輸入時(shí),口不是懸浮狀態(tài)。每根口線可以獨(dú)立定義為輸入或輸出。

⑵作地址/數(shù)據(jù)復(fù)用總線用(需外接地址鎖存器)相當(dāng)于一個(gè)真正的雙向口:輸出鎖存、輸入緩沖,作地址/數(shù)據(jù)復(fù)用總線用。作數(shù)據(jù)總線用時(shí),輸入/輸出8位數(shù)據(jù)D0~D7;作地址總線用時(shí),輸出低8位地址A0~A7。當(dāng)P0口作地址/數(shù)據(jù)復(fù)用總線用之后,就再也不能作I/O口使用了。它具有雙向口的一切特點(diǎn)。輸入時(shí)為懸浮狀態(tài),為一個(gè)高阻抗的輸入口。

8位口,字節(jié)訪問地址為90H,位訪問地址為90H~97H。

⒈位結(jié)構(gòu)和工作原理

P1口的位結(jié)構(gòu)如圖2-6所示。

2.5.2P1口圖2–6 P1口位結(jié)構(gòu)原理圖

⒉、P1口的特點(diǎn)

輸出鎖存器,輸出時(shí)沒有條件;

輸入緩沖,輸入時(shí)有條件,即需要先將該口設(shè)為輸入狀態(tài),先輸出1;

工作過程中無高阻懸浮狀態(tài),也就是該口不是輸入態(tài)就是輸出態(tài)。具有這種特性的口不屬于“真正”的雙向口,而被稱為“準(zhǔn)”雙向口。

⒊P1口的操作

⑴字節(jié)操作和位操作

CPU對(duì)于P1口可以作為一個(gè)8位口來操作,也可以按位來操作。有關(guān)字節(jié)操作的指令有:輸出:MOV P1,A ;P1←A MOV P1,#data ;P1←#data MOVP1,direct ;P1←direct

輸入:MOVA,P1 ;A←P1MOVdirect,P1 ;direct←P1

有關(guān)位操作的指令有: 置位、清除:SETBP1.i ;P1.i←1 CLR Pl.i ;P1.i←0

輸入、輸出:MOVP1.i,C ;P1.i←CY MOVC,P1.i ;CY←P1.i

判跳: JB P1.i,rel;P1.i=1,跳轉(zhuǎn)

JBC P1.i,rel;P1.i=1,跳轉(zhuǎn)且 ;清P1.i=0

邏輯運(yùn)算:ANL C,P1.i ;CY←(P1.i·CY)

ORLC,P1.i ;CY←(P1.i+CY)

P1.i中的i=0,…7。

P1口不僅可以以8位一組進(jìn)行輸入、輸出操作,還可以逐位分別定義各口線為輸入線或輸出線。例如:

ORL P1,#00000010B

使P1.1位口線輸出l,而使其余各位不變。

ANLP1,#11111101B

使P1.1位線輸出0,而使其余各位不變。⑵讀引腳操作和讀鎖存器操作從P1口的位結(jié)構(gòu)圖中可以看出,有兩種讀口的操作:一種是讀引腳操作,一種是讀鎖存器操作。

在響應(yīng)CPU輸出的讀引腳信號(hào)時(shí),端口本身引腳的電平值通過緩沖器BUF1進(jìn)入內(nèi)部總線。這種類型的指令,執(zhí)行之前必須先將端口鎖存器置1,使A點(diǎn)處于高電平,否則會(huì)損壞引腳,而且也使信號(hào)無法讀出。這種類型的指令有:

MOVA,P1 ;A←P1 MOV direct,P1 ;direct←P1

在執(zhí)行讀鎖存器的指令時(shí),CPU首先完成將鎖存器的值通過緩沖器BUF2讀入內(nèi)部,進(jìn)行修改,然后重新寫到鎖存器中去,這就是“讀—修改—寫”指令。這種類型的指令包含所有的口的邏輯操作(ANL、ORL、XRL)和位操作(JBC、CPL、MOV、SETB、CLR等)指令。

⑶P1口的多功能線在80C52中,P1.0和P1.1口線是多功能的,即除作一般雙向I/O口線之外,還具有下列功能:

P1.0:T2的外部輸入端T2;

P1.1:T2的外部控制端T2EX。

多功能的8位口,字節(jié)訪問地址為A0H,位訪問地址為A0H~A7H。

⒈P2口位結(jié)構(gòu)和工作原理

P2口位結(jié)構(gòu)原理圖示于圖2-7。多路開關(guān)的輸入有兩個(gè):一個(gè)是口輸出鎖存器的輸出端Q;一個(gè)是地址寄存器(PC或DPTR)的高位輸出端。多路開關(guān)的輸出經(jīng)反相器反相后去控制輸出FET的Q0。多路開關(guān)的切換由內(nèi)部控制信號(hào)控制。輸出鎖存器的輸出端是Q而不是Q,多路開關(guān)之后需接反相器。

2.5.3P2口圖2-7P2口位結(jié)構(gòu)原理圖

P2口的功能⑴作I/O口使用時(shí),P2口為一準(zhǔn)雙向口。⑵作地址輸出時(shí),P2口可以輸出程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器的高8位地址,與P0輸出的低地址一起構(gòu)成16位地址線,從而可分別尋址64KB的程序存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器。地址線是8位一起自動(dòng)輸出的。⒊P2口使用中注意的問題⑴由于P2口的輸出鎖存功能,在取指周期內(nèi)或外部數(shù)據(jù)存儲(chǔ)器讀、寫選通期間,輸出的高8位地址是鎖存的,故無需外加地址鎖存器。⑵在系統(tǒng)中如果外接有程序存儲(chǔ)器,由于訪問片外程序存儲(chǔ)器的連續(xù)不斷的取指操作,P2口需要不斷送出高位地址,這時(shí)P2口的全部口線均不宜再作I/O口使用。2.5.4P3口多功能的8位口,字節(jié)訪問地址為B0H,位訪問地址為B0H~B7H。⒈位結(jié)構(gòu)與工作原理

P3口的位結(jié)構(gòu)原理如圖2-8所示。

與非門有兩個(gè)輸入端:一個(gè)為口輸出鎖存器的Q端,另一個(gè)為替代功能的控制輸出。與非門的輸出端控制輸出FET管Q0。

有兩個(gè)輸入緩沖器,替代輸入功能取自第一個(gè)緩沖器的輸出端;I/O口的通用輸入信號(hào)取自第二個(gè)緩沖器的輸出端。

圖2–8P3口位結(jié)構(gòu)原理圖輸出工作過程:

當(dāng)替代輸出功能B點(diǎn)置1時(shí),輸出鎖存器的輸出可以順利通到引腳P3.i。其工作狀況與P1口相類似。這時(shí)P3口的工作狀態(tài)為I/O口,顯然此時(shí)該口具有準(zhǔn)雙向口的性質(zhì)。

當(dāng)輸出鎖存器的輸出置1時(shí),替代輸出功能可以順利通到引腳P3.i。若替代輸出為0時(shí),因與非門的C點(diǎn)已置l,現(xiàn)B點(diǎn)為0,故與非門的輸出為l,使Q0導(dǎo)通,從而使A點(diǎn)也為0。若替代輸出為1時(shí),與非門的輸出為0,Q0截止,從而使A點(diǎn)也為高電平。這時(shí)P3口的工作狀態(tài)處于替代輸出功能狀態(tài)。⒉P3口的功能⑴可作I/O口使用,為準(zhǔn)雙向口。既可以字節(jié)操作,也可以位操作;既可以8位口操作,也可以逐位定義口線為輸入線或輸出線;既可以讀引腳,也可以讀鎖存器,實(shí)現(xiàn)“讀一修改一輸出”操作。⑵可以作為替代功能的輸入、輸出。

替代輸入功能:

P3.0:RXD,串行輸入口。

P3.2:INT0,外部中斷0的請(qǐng)求。

P3.3:INT1,外部中斷1的請(qǐng)求。

P3.4:T0,T0外部計(jì)數(shù)脈沖輸入。

P3.5:T1,T1外部計(jì)數(shù)脈沖輸入。

替代輸出功能:

P3.l:TXD,串行輸出口。

P3.6:WR外部數(shù)據(jù)存儲(chǔ)器或I/O端口寫選通。P3.7:RD外部數(shù)據(jù)存儲(chǔ)器或I/O端口讀選通。

⑴地址總線(AddressBus,簡寫AB)地址線A0~A15共16位,P2口提供高8位地址A8~A15,P0口經(jīng)地址鎖存器提供低8位地址A0~A7。片外存儲(chǔ)器可尋址范圍達(dá)64KB(即=65536個(gè)字節(jié))。⑵數(shù)據(jù)總線(DataBus,簡寫DB)

地址線D0-D7共8位,由P0口提供,分時(shí)輸送低8位地址(通過地址鎖存器鎖存)和8位數(shù)據(jù)信息。⑶控制總線(ControlBus,簡寫CB)

控制總線由P3口的第二功能/WR(P3.6)、/RD(P3.7)和3根獨(dú)立的控制線/EA、ALE和/PSEN組成。MCS-51單片機(jī)的片外三總線結(jié)構(gòu)所謂總線,就是連接單片機(jī)與系統(tǒng)中各部件的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論