MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求_第1頁
MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求_第2頁
MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求_第3頁
MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求_第4頁
MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求1MCS-51單片機的片內(nèi)結(jié)構(gòu)、技術(shù)和實踐要求2.1 MCS-51單片機的片內(nèi)結(jié)構(gòu)1串行通信接口全雙工 1個內(nèi)部 ROMTXD RXD中斷系統(tǒng)并行通信接口48bit定時/計數(shù)器 n16bit內(nèi)部RAM電 路CPU總線控制2.2 MCS-51單片機的基本組成(1)一個8位微處理器CPU。(2)數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR。(3)內(nèi)部程序存儲器ROM。(4)兩個定時/計數(shù)器,用以對外部事件進行計數(shù),也可用作定時器。(5)四個8位可編程的I/O(輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數(shù)據(jù)的串行通信。(7)中

2、斷控制系統(tǒng)。(8)內(nèi)部時鐘電路。2.3 MCS-51的引腳描述說明P1口P3口P0口P2口 時鐘端 復(fù)位端控制信號 接VCC(+5V) 接地端P1口P3口P0口P2口 時鐘端 復(fù)位端控制信號 接VCC(+5V) 接地端電源及時鐘(晶振端)引腳Vcc(40引腳):正電源端 (+5V)GND(20引腳):接地端 XTAL1(19引腳):XTAL2(18引腳):片內(nèi)振蕩電路輸入/輸出端20100pfx2112MHz(MCS-51)/024MHz(Atmel-89C)XTAL1XTAL2也可以由 XTAL2端接入外部時鐘,此時應(yīng)將 XTAL1接地:XTAL1XTAL2外部時鐘通常外接一個晶振兩個電容單

3、片機時鐘電路及CPU基本時序向CPU提供兩相時鐘信號振蕩器輸出信號與晶振端引腳有關(guān)的概念CPU總是按照一定的時鐘節(jié)拍與時序工作:振蕩周期/時鐘周期: Tc=晶振頻率fosc(或外加頻率)的倒數(shù);狀態(tài)周期:Ts=2個時鐘周期(Tc)(很少用到此概念);機器周期:Tm=6個狀態(tài)周期(Ts)=12個振蕩周期(Tc);指令周期: Ti:執(zhí)行一條指令所需的機器周期(Tm)數(shù); 振蕩周期 = 晶振頻率fosc的倒數(shù);1個機器周期 = 12個振蕩周期;1個指令周期 = 1、2、4個機器周期牢牢記住:各種周期概念詳解一個機器周期=6個狀態(tài)=12個振蕩周期1、振蕩周期(時鐘周期):振蕩器輸出的振蕩時鐘脈沖信號的

4、周期。單片機以晶體振蕩器的振蕩周期(或外部引入的時鐘周期)為最小的時序單位,片內(nèi)的各種微操作都以此周期為時序基準。2、狀態(tài)周期:狀態(tài)時間S,是振蕩周期的兩倍。分為P1、P2節(jié)拍。P1節(jié)拍通常完成邏輯操作, P2節(jié)拍通常完成內(nèi)部寄存器間數(shù)據(jù)傳送。3、機器周期 若把一條指令執(zhí)行過程分為幾個基本操作,則執(zhí)行每個基本操作所需要的時間,稱為機器周期。單片機的一個機器周期包括12個振蕩周期,分為6個S狀態(tài):S1 -S6。每個狀態(tài)又分為2拍,即前面介紹的P1和P2信號;個機器周期中的12個振蕩周期可表示為S1P1,S1P2,S2P1S6P1,S6P2o 4、指令周期 CPU執(zhí)行一條指令所需要的時間。是以 機

5、器周期為單位的 ,CPU執(zhí)行一條指令通常需要14個機器周期 。 MCS-51單片機各種周期的相互關(guān)系 振蕩周期 = 晶振頻率fosc的倒數(shù);1個狀態(tài)周期 = 個振蕩周期;1個機器周期 = 個狀態(tài)周期;1個指令周期 = 1、2、4個機器周期P1P2S1振蕩周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2狀態(tài)周期2.3.2 單片機的控制引腳(復(fù)位端)+5V10uF10KVccRSTGND上電復(fù)位RESET(9引腳):復(fù)位端(正脈沖有效,寬度8 mS) Vpd(9引腳)

6、:本引腳的第二功能,即備用電源輸入端10uF10KVccRSTGND手動&上電復(fù)位1K+5V22F C1RST R11K+5V22F C1RST+5VR2200RSTR1+5VC222F 803180518751803180518751803180518751(a)上電復(fù)位電路(c)按鍵脈沖復(fù)位電路(b)按鍵電平復(fù)位電路 R11K22FC11K R21K圖2-14 幾種復(fù)位電路與復(fù)位端引腳有關(guān)的概念引腳RST/VPD :時鐘電路工作后,加上兩個機器周期的高電平,單片機將復(fù)位。單片機運行出錯或進入死循環(huán)時,可按復(fù)位鍵重新運行。 復(fù)位后,引腳由高電平變?yōu)榈碗娖綍r,單片機從0號單元取指,開始執(zhí)行程序

7、。復(fù)用功能:將VPD接+5V備用電源,一但Vcc電位突然下降或斷電,能保護片內(nèi)RAM中的信息不被丟失,使復(fù)電后能正常工作。EA/Vpp(31引腳):內(nèi)部和外部程序存貯器選擇信號 /編程電源輸入端。對8051來說,當EA為高時,CPU訪問程序存貯器有兩種情況: 地址小于4K時訪問內(nèi)部程序存貯器。 地址大于4K時訪問外部程序存貯器。當EA接地,則不使用內(nèi)部程序存貯器,不管地址大小,取指時總是訪問外部程序存貯器。 片內(nèi)無ROM時(8031)必須接地; 片內(nèi)有ROM時應(yīng)當接高電平;對片內(nèi)有EPROM(8751)編程時,編程正電源加到此端。2.3.2 單片機的控制引腳( EA端)ALE/PROG(30引

8、腳):地址鎖存允許信號/編程脈沖輸入端。 當單片機訪問外部存儲器時,P0口輸出的低八位地址由ALE輸出的控制信號鎖存到片外地址鎖存器,P0口輸出地址低8位后,又能與片外存儲器之間傳送信息。2.3.2 單片機的控制引腳( ALE端) 由于P0口作地址/數(shù)據(jù)復(fù)用口,那么P0口上的信息究竟是地址還是數(shù)據(jù)完全由ALE來定義,ALE高電平期間,P0口上一般出現(xiàn)地址信息,在ALE下降沿時,將P0口上地址信息鎖存到片外地址鎖存器,在ALE低電平期間P0口上一般出現(xiàn)指令和數(shù)據(jù)信息。平時不訪問片外存貯器時,該端也以六分之一的時鐘頻率固定輸出正脈沖。因而亦可作系統(tǒng)中其它芯片的時鐘源。ALE可驅(qū)動8個TTL門。 對

9、于EPROM型單片機,在EPROM編程時,此腳用于編程脈沖PROG。30控制引腳詳解PSEN(29引腳):片外程序存儲器選通信號,低有效。在尋址外部程序存儲器時選通外部EPROM的讀控制端(OE)。2.3.2 單片機的控制引腳( PSEN)單片機鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROMP1.0P1.7: 準雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳內(nèi)部上拉電阻2.3.2 單片機的I/O引腳結(jié)構(gòu)(P1)2

10、1DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳內(nèi)部上拉電阻輸出數(shù)據(jù) = 1 時110截止=1P1.0P1.7: 準雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P1)21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳內(nèi)部上拉電阻輸出數(shù)據(jù) = 0 時001=0導(dǎo)通P1.0P1.7: 準雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P1)21DQCK/Q讀引腳 =1讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳內(nèi)部上拉電阻輸入數(shù)據(jù)時,要先對其寫“1”11

11、0截止P1.0P1.7: 準雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P1)P0.0P0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳34Vcc2.3.2 單片機的I/O引腳結(jié)構(gòu)(P0)21DQCK/Q讀引腳 =1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳34控制=0 時,此腳作輸入口(事先必須對它寫“1”)00100截止截止=0VccP0.0P

12、0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P0)21DQCK/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(1)輸出地址/數(shù)據(jù) =0 時1011=0導(dǎo)通截止=0VccP0.0P0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P0)21DQCK

13、/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(2)輸出地址/數(shù)據(jù) =1 時1100=1截止導(dǎo)通=1VccP0.0P0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P0)21DQCK/Q讀引腳 =1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口: (3)輸入數(shù)據(jù)時,輸入指令將使引腳與內(nèi)部總線直通VccP0.0P0.7: 雙向I/O (內(nèi)置場效應(yīng)管上拉) 尋

14、址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P0)P2.0P2.7: 雙向I/O (內(nèi)置了上拉電阻) 尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳 3內(nèi)部上拉電阻Vcc2.3.2 單片機的I/O引腳結(jié)構(gòu)(P2)21DQCK/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制 引腳控制=0時,此腳作通用輸出口: 輸出=1時110截止3內(nèi)部上拉電阻11Vcc=1=0P2.0P2.7: 雙

15、向I/O (內(nèi)置了上拉電阻) 尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P2)21DQCK/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制 引腳控制=0時,此腳作通用輸出口:輸出=0時001導(dǎo)通3內(nèi)部上拉電阻00Vcc=0=0P2.0P2.7: 雙向I/O (內(nèi)置了上拉電阻) 尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P2)21DQCK/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制=1 引腳控制=1 時,此腳作高8位地址A

16、8A15輸出口:當輸出 =1 時10截止3內(nèi)部上拉電阻1=1Vcc=1P2.0P2.7: 雙向I/O (內(nèi)置了上拉電阻) 尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P2)21DQCK/Q讀引腳 =0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制=1 引腳01導(dǎo)通3內(nèi)部上拉電阻0=0Vcc=0控制=1 時,此腳作高8位地址A8A15輸出口:當輸出 =0 時P2.0P2.7: 雙向I/O (內(nèi)置了上拉電阻) 尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。2.3.2 單片機的I/O引腳結(jié)構(gòu)

17、(P2)P3.0P3.7: 雙功能口(內(nèi)置了上拉電阻) 它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出引腳 3內(nèi)部上拉電阻Vcc第二功能輸入42.3.2 單片機的I/O引腳結(jié)構(gòu)(P3)21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳 3內(nèi)部上拉電阻Vcc4第二功能輸出時,內(nèi)部自動 D=1111反相器P3.0P3.7: 雙功能口(內(nèi)置了上拉電阻) 它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P3)21DQC

18、K/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線此端自動1引腳 3內(nèi)部上拉電阻Vcc 第二功能輸入RxD,T0,T1,INT0,INT1)4第二功能輸入時,信號經(jīng)緩沖器4 直接進入內(nèi)總線1110截止P3.0P3.7: 雙功能口(內(nèi)置了上拉電阻) 它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。2.3.2 單片機的I/O引腳結(jié)構(gòu)(P3)仿真教學(xué)練習(xí)5_4x4目錄下:實例體會I/O引腳內(nèi)部結(jié)構(gòu)深刻印象實例51單片機的8個特殊引腳Vcc, GND: 電源端、接地端XTAL1, XTAL2: 片內(nèi)振蕩電路輸入、輸出端RESET/Vpd: 復(fù)位端、正脈沖有效(寬度8 mS)EA/Vpp:

19、 尋址外部ROM控制端。低有效 片內(nèi)有ROM時應(yīng)當接高電平。ALE/PROG: 地址鎖存允許控制端。PSEN:選通外部ROM的讀(OE)控制端。低有效 小結(jié)51單片機引腳匯總51單片機的4個8位的I/O口P0.0P0.7:8位數(shù)據(jù)口和輸出低8位地址復(fù)用口 (復(fù)用時是雙向口;不復(fù)用時也是準雙向口)P1.0P1.7: 通用I/O口(準雙向口)P2.0P2.7: 輸出高8位地址(用于尋址時是輸出口;不尋址時是準雙向口)P3.0P3.7: 具有特定的第二功能(準雙向口)注意:在不外擴ROM/RAM時,P0P3均可作通用I/O口使用,而且都是準雙向I/O口(例如:AT89C51)! 小結(jié)P3口第二功能表

20、引 腳第 二 功 能 P3.0RxD: 串行口接收數(shù)據(jù)輸入端P3.1TxD: 串行口發(fā)送數(shù)據(jù)輸出端P3.2INT0: 外部中斷申請輸入端 0P3.3INT1: 外部中斷申請輸入端 1P3.4T0: 外部計數(shù)脈沖輸入端 0P3.5T1: 外部計數(shù)脈沖輸入端 1P3.6WR: 寫外設(shè)RAM控制信號輸出端P3.7RD: 讀外設(shè)RAM控制信號輸出端 小結(jié)使P3端口各線處于第二功能的條件是:1、串行I/O處于運行狀態(tài)(RXD,TXD);2、打開了外部中斷(INT0,INT1);3、定時器/計數(shù)器處于外部計數(shù)狀態(tài)(T0,T1)4、執(zhí)行讀寫外部RAM的指令(RD,WR) 在應(yīng)用中,如不設(shè)定P3端口各位的第二

21、功能(WR,RD信號的產(chǎn)生不用設(shè)置),則P3端口線自動處于第一功能狀態(tài),也就是靜態(tài)IO端口的工作狀態(tài)。在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對P3端口作字節(jié)操作,需采用位操作的形式。程序存儲器片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器0000H000H00H0000H1000HFFFFHFFHFFFHFFFFH外部ROM內(nèi)部ROM外部RAM內(nèi)部RAMEA=1EA=0MCS-51單片機存貯器配置EA=1時,若地址大于4k,則自動訪問外部RAM物理空間與邏輯地址物理上4個存儲器地址空間: 片內(nèi)/片外程序存儲器空間 片內(nèi)/片外數(shù)據(jù)存儲器空

22、間邏輯上3個存儲器地址空間: 64KB 程序存儲器 256B 片內(nèi)數(shù)據(jù)存儲器 64KB 片外數(shù)據(jù)存儲器普林斯頓結(jié)構(gòu):程序和數(shù)據(jù)共用一個存儲器邏輯空間,統(tǒng)一編址。哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個獨立存儲器邏輯空間,分開編址。片內(nèi)RAM高128單元:SFR(80HFFH)低128單元(00H7FH)堆棧和數(shù)據(jù)緩沖區(qū)(30H7FH)位尋址區(qū)(20H2FH)通用寄存器區(qū)(00H1FH)片內(nèi)數(shù)據(jù)存儲器框架分析高128BRam00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外部ROMEA=0/1均可訪問到內(nèi)部ROM(EA=

23、1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲器(a)外部數(shù)據(jù)存儲器(b)程序存儲器(c)工作寄存器區(qū)MCS-51單片機存儲器結(jié)構(gòu)地址細分位尋址區(qū)128BRAM若有外部ROM:EA=0只訪問外部0000H-FFFFH;EA=1可訪問內(nèi)部0000H-0FFFH與外部1000H-FFFFH通用RAM區(qū)特殊功能寄存器SFRSFR分布在80H-FFH其中83個位可位尋址52子系列才有的RAM區(qū)存儲器配置(片內(nèi)RAM)片內(nèi)RAM 128字節(jié)(00H7FH)00H20H2FH7FH1FH30H80HFFH普

24、通RAM區(qū)位尋址區(qū)工作寄存器區(qū)80HFFH所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器89C51 128字節(jié)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18H片內(nèi)RAM前32個單元是工作寄存器區(qū) (00H1FH)存儲器配置(片內(nèi)RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作

25、寄存器區(qū)在片內(nèi)RAM的地址范圍為:00H7FH中共有128個可按位尋址的位。 分布在:20H2FH字節(jié)單元中,即168128位存儲器配置(片內(nèi)RAM)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B 1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 283

26、7 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址總共128個可按位尋址的位分布在:20H2FH單元存儲器配置(片內(nèi)RAM)堆棧: 在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循順序存取和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。功用:1)子程序調(diào)用和中斷服務(wù)時CPU自動將當前PC值壓棧保存,返回時自動將PC值彈棧。2)保護現(xiàn)場/恢復(fù)現(xiàn)場3)數(shù)據(jù)傳輸00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)

27、普通RAM區(qū)位尋址區(qū)工作寄存器區(qū) SP棧頂下一個進棧的數(shù)據(jù)將存在此數(shù)據(jù)進棧已經(jīng)進棧的數(shù)據(jù)存放在此初始 SP復(fù)位后 SP=07H,數(shù)據(jù)進棧時:首先SP+1指向08H單元,第一個放進堆棧的數(shù)據(jù)將放進08H單元,然后SP再自動增 1,仍指著棧頂堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)

28、 SP棧頂當前要出棧的數(shù)據(jù)數(shù)據(jù)出棧SP-1指向下一個將要出棧的數(shù)據(jù)初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。89C51特殊功能寄存器(SFR)特殊功能寄存器SFR(專用寄存器)專用于控制、選擇、管理、存放單片機內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。不同的SFR管理不同的硬件模塊,負責不同的功能各司其職換言之:要讓單片機實現(xiàn)預(yù)訂的功能,必須有相應(yīng)的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(要求)。(1)程序計數(shù)器PC(Program Counter)P

29、C 不是一個特殊功能寄存器SFR,但其作用又十分重要和特殊!特點:它是16位的按機器周期自動增1計數(shù)器一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位 等操作的本質(zhì)就是:改變 PC 值總指向下一條指令所在首地址(當前PC值)特殊功能寄存器(PC)89C51有21個SFR(89C52有26個) 已知的P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。(2)堆棧指針寄存器 SP(Stack Pointer): 總是指向棧頂,壓棧時先 (SP)+1 然后數(shù)據(jù)進棧;彈棧時數(shù)據(jù)先出棧 然后(SP)-1。(3)累加器 ACC:一個被眾多指令用得最頻繁的特殊功能寄存器(如:運算、數(shù)據(jù)傳輸)。(4)副累加器 B:一個經(jīng)常與 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當作普通寄存器使用。特殊功能寄存器(P0-P3,SP,A,B)(5)程序狀態(tài)字寄存器 PSW:CYACF0RS0OVPRS1CY(PSW.7)進位/借位標志位。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。AC(PSW.6)半進位/借位標志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則CY=1,否則=0。機器

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論