單片機技術(shù)與實踐教案-chap2課件_第1頁
單片機技術(shù)與實踐教案-chap2課件_第2頁
單片機技術(shù)與實踐教案-chap2課件_第3頁
單片機技術(shù)與實踐教案-chap2課件_第4頁
單片機技術(shù)與實踐教案-chap2課件_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.1MCS-51單片機的片內(nèi)結(jié)構(gòu)1串行通信接口全雙工1個內(nèi)部ROMTXDRXD中斷系統(tǒng)并行通信接口4×8bit定時/計數(shù)器n×16bit內(nèi)部RAM時鐘電路CPU總線控制1-2.1MCS-51單片機的片內(nèi)結(jié)構(gòu)1串行通信接口內(nèi)部RO2.2MCS-51單片機的基本組成(1)一個8位微處理器CPU。(2)數(shù)據(jù)存儲器RAM和特殊功能寄存器SFR。(3)內(nèi)部程序存儲器ROM。(4)兩個定時/計數(shù)器,用以對外部事件進行計數(shù),也可用作定時器。(5)四個8位可編程的I/O(輸入/輸出)并行端口,每個端口既可做輸入,也可做輸出。(6)一個串行端口,用于數(shù)據(jù)的串行通信。(7)中斷控制系統(tǒng)。(8)內(nèi)部時鐘電路。2-2.2MCS-51單片機的基本組成(1)一個8位微處理器C2.3MCS-51的引腳描述說明P1口P3口P0口P2口時鐘端復(fù)位端控制信號

接VCC(+5V)接地端P1口P3口P0口P2口時鐘端復(fù)位端控制信號

接VCC(+5V)接地端3-2.3MCS-51的引腳描述說明P1口P3口P0口P2口2.3.1電源及時鐘(晶振端)引腳Vcc(40引腳):正電源端(+5V)GND(20引腳):接地端XTAL1(19引腳):XTAL2(18引腳):片內(nèi)振蕩電路輸入/輸出端20~100pfx21~12MHz(MCS-51)/0~24MHz(Atmel-89C)XTAL1XTAL2也可以由XTAL2端接入外部時鐘,此時應(yīng)將XTAL1接地:XTAL1XTAL2外部時鐘通常外接一個晶振兩個電容4-2.3.1電源及時鐘(晶振端)引腳Vcc(40引腳):正電源單片機時鐘電路及CPU基本時序向CPU提供兩相時鐘信號振蕩器輸出信號5-單片機時鐘電路及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-與晶振端引腳有關(guān)的概念CPU總是按照一定的時鐘節(jié)拍與時序工作各種周期概念詳解

一個機器周期=6個狀態(tài)=12個振蕩周期1、振蕩周期(時鐘周期):振蕩器輸出的振蕩時鐘脈沖信號的周期。單片機以晶體振蕩器的振蕩周期(或外部引入的時鐘周期)為最小的時序單位,片內(nèi)的各種微操作都以此周期為時序基準(zhǔn)。2、狀態(tài)周期:狀態(tài)時間S,是振蕩周期的兩倍。分為P1、P2節(jié)拍。

P1節(jié)拍通常完成邏輯操作,P2節(jié)拍通常完成內(nèi)部寄存器間數(shù)據(jù)傳送。7-各種周期概念詳解

一個機器周期=6個狀態(tài)=12個振蕩周期1、3、機器周期若把一條指令執(zhí)行過程分為幾個基本操作,則執(zhí)行每個基本操作所需要的時間,稱為機器周期。單片機的一個機器周期包括12個振蕩周期,分為6個S狀態(tài):S1-S6。每個狀態(tài)又分為2拍,即前面介紹的P1和P2信號;個機器周期中的12個振蕩周期可表示為S1P1,S1P2,S2P1……S6P1,S6P2o4、指令周期CPU執(zhí)行一條指令所需要的時間。是以機器周期為單位的,CPU執(zhí)行一條指令通常需要1~4個機器周期。

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

8mS)Vpd(9引腳):本引腳的第二功能,即備用電源輸入端10uF10KVccRSTGND手動&上電復(fù)位1K+5V10-2.3.2單片機的控制引腳(復(fù)位端)+5V10uF10KV22μFC1

RSTR11KΩ+5V22μFC1

RST+5VR2200Ω

RSTR1

+5V

C222μF

803180518751803180518751803180518751(a)上電復(fù)位電路(c)按鍵脈沖復(fù)位電路(b)按鍵電平復(fù)位電路R11KΩ22μFC11KΩR21KΩ

圖2-14幾種復(fù)位電路11-22μFC1RSTR1+5V22μFC1RST+5V與復(fù)位端引腳有關(guān)的概念引腳RST/VPD:時鐘電路工作后,加上兩個機器周期的高電平,單片機將復(fù)位。單片機運行出錯或進入死循環(huán)時,可按復(fù)位鍵重新運行。復(fù)位后,引腳由高電平變?yōu)榈碗娖綍r,單片機從0號單元取指,開始執(zhí)行程序。復(fù)用功能:將VPD接+5V備用電源,一但Vcc電位突然下降或斷電,能保護片內(nèi)RAM中的信息不被丟失,使復(fù)電后能正常工作。12-與復(fù)位端引腳有關(guān)的概念引腳RST/VPD:時鐘電路工作后,EA/Vpp(31引腳):內(nèi)部和外部程序存貯器選擇信號

/編程電源輸入端。對8051來說,當(dāng)EA為高時,CPU訪問程序存貯器有兩種情況:①地址小于4K時訪問內(nèi)部程序存貯器。②地址大于4K時訪問外部程序存貯器。當(dāng)EA接地,則不使用內(nèi)部程序存貯器,不管地址大小,取指時總是訪問外部程序存貯器。

片內(nèi)無ROM時(8031)必須接地;片內(nèi)有ROM時應(yīng)當(dāng)接高電平;對片內(nèi)有EPROM(8751)編程時,編程正電源加到此端。2.3.2單片機的控制引腳(EA端)13-EA/Vpp(31引腳):內(nèi)部和外部程序存貯器選擇信號/編ALE/PROG(30引腳):地址鎖存允許信號/編程脈沖輸入端。當(dāng)單片機訪問外部存儲器時,P0口輸出的低八位地址由ALE輸出的控制信號鎖存到片外地址鎖存器,P0口輸出地址低8位后,又能與片外存儲器之間傳送信息。2.3.2單片機的控制引腳(ALE端)14-ALE/PROG(30引腳):地址鎖存允許信號/編程脈沖輸入由于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門。對于EPROM型單片機,在EPROM編程時,此腳用于編程脈沖PROG。30控制引腳詳解15-由于P0口作地址/數(shù)據(jù)復(fù)用口,那么P0口上的信息PSEN(29引腳):片外程序存儲器選通信號,低有效。在尋址外部程序存儲器時選通外部EPROM的讀控制端(OE)。單片機鎖存器74LS373P0.0-P0.7ALEPSENP2.0-P2.48D8QOEA8-A12A0-A7D0-D7GEAOECEEPROM2.3.2單片機的控制引腳(PSEN)16-PSEN(29引腳):片外程序存儲器選通信號,低有效。在尋址P1.0—P1.7:準(zhǔn)雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻2.3.2單片機的I/O引腳結(jié)構(gòu)(P1)17-P1.0—P1.7:準(zhǔn)雙向I/O口(內(nèi)置了上拉電阻),輸出21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=1時110截止=1P1.0—P1.7:準(zhǔn)雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2單片機的I/O引腳結(jié)構(gòu)(P1)18-21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P121DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸出數(shù)據(jù)=0時001=0導(dǎo)通P1.0—P1.7:準(zhǔn)雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2單片機的I/O引腳結(jié)構(gòu)(P1)19-21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P121DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線Vcc引腳P1.X內(nèi)部上拉電阻輸入數(shù)據(jù)時,要先對其寫“1”110截止P1.0—P1.7:準(zhǔn)雙向I/O口(內(nèi)置了上拉電阻),輸出時一切照常,僅在作輸入口用時要先對其寫“1”。2.3.2單片機的I/O引腳結(jié)構(gòu)(P1)20-21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線Vcc引P0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34Vcc2.3.2單片機的I/O引腳結(jié)構(gòu)(P0)21-P0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)21D21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸入口(事先必須對它寫“1”)00100截止截止=0VccP0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P0)22-21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(1)輸出地址/數(shù)據(jù)=0時1011=0導(dǎo)通截止=0VccP0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P0)23-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(2)輸出地址/數(shù)據(jù)=1時1100=1截止導(dǎo)通=1VccP0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P0)24-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復(fù)用口:(3)輸入數(shù)據(jù)時,輸入指令將使引腳與內(nèi)部總線直通VccP0.0—P0.7:雙向I/O(內(nèi)置場效應(yīng)管上拉)尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復(fù)用口;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P0)25-21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內(nèi)部總線地址/數(shù)P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X3內(nèi)部上拉電阻Vcc2.3.2單片機的I/O引腳結(jié)構(gòu)(P2)26-P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)21DQ21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時,此腳作通用輸出口:輸出=1時110截止3內(nèi)部上拉電阻11Vcc=1=0P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P2)27-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高821DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制引腳P2.X控制=0時,此腳作通用輸出口:輸出=0時001導(dǎo)通3內(nèi)部上拉電阻00Vcc=0=0P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P2)28-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高821DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制=1引腳P2.X控制=1時,此腳作高8位地址A8—A15輸出口:當(dāng)輸出=1時10截止3內(nèi)部上拉電阻1=1Vcc=1P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P2)29-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高821DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8位控制=1引腳P2.X01導(dǎo)通3內(nèi)部上拉電阻0=0Vcc=0控制=1時,此腳作高8位地址A8—A15輸出口:當(dāng)輸出=0時P2.0—P2.7:雙向I/O(內(nèi)置了上拉電阻)尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準(zhǔn)雙向I/O口使用。2.3.2單片機的I/O引腳結(jié)構(gòu)(P2)30-21DQCK/Q讀引腳=0讀鎖存器寫鎖存器內(nèi)部總線地址高8P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準(zhǔn)雙向I/O口。21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出引腳P3.X3內(nèi)部上拉電阻Vcc第二功能輸入42.3.2單片機的I/O引腳結(jié)構(gòu)(P3)31-P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)21DQCK21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內(nèi)部上拉電阻Vcc4第二功能輸出時,內(nèi)部自動D=1111反相器P3.0—P3.7:雙功能口(內(nèi)置了上拉電阻)它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準(zhǔn)雙向I/O口。2.3.2單片機的I/O引腳結(jié)構(gòu)(P3)32-21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線第二功能輸出引21DQCK/Q讀引腳讀鎖存器寫鎖存器內(nèi)部總線此端自動=1引腳P3.X3內(nèi)部上拉電阻Vcc

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

片內(nèi)振蕩電路輸入、輸出端RESET/Vpd:復(fù)位端、正脈沖有效(寬度

8mS)EA/Vpp:尋址外部ROM控制端。低有效片內(nèi)有ROM時應(yīng)當(dāng)接高電平。ALE/PROG:地址鎖存允許控制端。PSEN:選通外部ROM的讀(OE)控制端。低有效

小結(jié)51單片機引腳匯總35-51單片機的8個特殊引腳Vcc,GND:電源端、接地51單片機的4個8位的I/O口P0.0—P0.7:8位數(shù)據(jù)口和輸出低8位地址復(fù)用口(復(fù)用時是雙向口;不復(fù)用時也是準(zhǔn)雙向口)P1.0—P1.7:通用I/O口(準(zhǔn)雙向口)P2.0—P2.7:輸出高8位地址(用于尋址時是輸出口;不尋址時是準(zhǔn)雙向口)P3.0—P3.7:具有特定的第二功能(準(zhǔn)雙向口)注意:在不外擴ROM/RAM時,P0~P3均可作通用I/O口使用,而且都是準(zhǔn)雙向I/O口(例如:AT89C51)!小結(jié)36-51單片機的4個8位的I/O口P0.0—P0.7:8位數(shù)據(jù)口P3口第二功能表引腳第二功能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é)37-P3口第二功能表引腳第二功能P3.0RxD使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端口各位的第二功能(WR,RD信號的產(chǎn)生不用設(shè)置),則P3端口線自動處于第一功能狀態(tài),也就是靜態(tài)I/O端口的工作狀態(tài)。在更多的場合是根據(jù)應(yīng)用的需要,把幾條端口線設(shè)置為第二功能,而另外幾條端口線處于第一功能運行狀態(tài)。在這種情況下,不宜對P3端口作字節(jié)操作,需采用位操作的形式。38-使P3端口各線處于第二功能的條件是:38-程序存儲器片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器0000H000H00H0000H1000HFFFFHFFHFFFHFFFFH外部ROM內(nèi)部ROM外部RAM內(nèi)部RAMEA=1EA=0MCS-51單片機存貯器配置EA=1時,若地址大于4k,則自動訪問外部RAM39-程序存儲器片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器0000H000H00物理上4個存儲器地址空間:

片內(nèi)/片外程序存儲器空間

片內(nèi)/片外數(shù)據(jù)存儲器空間邏輯上3個存儲器地址空間:

64KB程序存儲器256B片內(nèi)數(shù)據(jù)存儲器64KB片外數(shù)據(jù)存儲器普林斯頓結(jié)構(gòu):程序和數(shù)據(jù)共用一個存儲器邏輯空間,統(tǒng)一編址。哈佛結(jié)構(gòu):程序與數(shù)據(jù)分為兩個獨立存儲器邏輯空間,分開編址。物理空間與邏輯地址40-物理上4個存儲器地址空間:物理空間與邏輯地址40-片內(nèi)RAM高128單元:SFR(80H ~FFH)低128單元(00H~7FH)堆棧和數(shù)據(jù)緩沖區(qū)(30H~7FH)位尋址區(qū)(20H~2FH)通用寄存器區(qū)(00H~1FH)片內(nèi)數(shù)據(jù)存儲器框架分析41-片內(nèi)RAM高128單元:SFR低128單元堆棧和數(shù)據(jù)緩沖區(qū)片高128BRam00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外部ROMEA=0/1均可訪問到內(nèi)部ROM(EA=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ū)特殊功能寄存器SFR42-高128B00H1FH20H2FH30H7FH80HFFH8SFR分布在80H-FFH其中83個位可位尋址52子系列才有的RAM區(qū)存儲器配置(片內(nèi)RAM)片內(nèi)RAM

128字節(jié)(00H—7FH)00H20H2FH7FH1FH30H80HFFH普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)80HFFH所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器89C51128字節(jié)43-SFR分布在80H-FFH52子系列才有存儲器配置(片內(nèi)RA00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18H片內(nèi)RAM前32個單元是工作寄存器區(qū)(00H—1FH)存儲器配置(片內(nèi)RAM)44-00H20H2FH7FH1FH30H80HFFH52子系列才00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)在片內(nèi)RAM的地址范圍為:00H—7FH中共有128個可按位尋址的位。

分布在:20H—2FH字節(jié)單元中,即16*8=128位存儲器配置(片內(nèi)RAM)45-00H20H2FH7FH1FH30H80HFFH52子系列才00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址07060504030201000F0E0D0C0B0A090817161514131211101F1E1D1C1B1A191827262524232221202F2E2D2C2B2A292837363534333231303F3E3D3C3B3A393847464544434241407F7E7D7C7B7A7978位地址總共128個可按位尋址的位分布在:20H—2FH單元存儲器配置(片內(nèi)RAM)46-00H20H2FH7FH1FH30H80HFFH52子系列才堆棧:

在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循順序存取和后進先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。功用:1)子程序調(diào)用和中斷服務(wù)時CPU自動將當(dāng)前PC值壓棧保存,返回時自動將PC值彈棧。2)保護現(xiàn)場/恢復(fù)現(xiàn)場3)數(shù)據(jù)傳輸47-堆棧:功用:47-00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通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ū)的靠后的位置。48-00H20H2FH7FH1FH30H80HFFH52子系列才從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂……00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SP棧頂當(dāng)前要出棧的數(shù)據(jù)數(shù)據(jù)出棧SP-1指向下一個將要出棧的數(shù)據(jù)初始SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理

堆棧區(qū)可以安排在RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。49-從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進去的一個數(shù)據(jù),也就是當(dāng)89C51特殊功能寄存器(SFR)▼特殊功能寄存器SFR(專用寄存器)專用于控制、選擇、管理、存放單片機內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。▼不同的SFR管理不同的硬件模塊,負責(zé)不同的功能——各司其職換言之:要讓單片機實現(xiàn)預(yù)訂的功能,必須有相應(yīng)的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(要求)。50-89C51特殊功能寄存器(SFR)▼特殊功能寄存器SFR(專(1)程序計數(shù)器PC(ProgramCounter)PC不是一個特殊功能寄存器SFR,但其作用又十分重要和特殊!!!特點:▼它是16位的按機器周期自動增1計數(shù)器▼一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位等操作的本質(zhì)就是:改變PC值▼總指向下一條指令所在首地址(當(dāng)前PC值)特殊功能寄存器(PC)51-(1)程序計數(shù)器PC(ProgramCounter)特點:89C51有21個SFR(89C52有26個)

已知的P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。(2)堆棧指針寄存器SP(StackPointer):總是指向棧頂,壓棧時先(SP)+1然后數(shù)據(jù)進棧;彈棧時數(shù)據(jù)先出棧然后(SP)-1。(3)累加器ACC:一個被眾多指令用得最頻繁的特殊功能寄存器(如:運算、數(shù)據(jù)傳輸…)。(4)副累加器B:一個經(jīng)常與ACC配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當(dāng)作普通寄存器使用。特殊功能寄存器(P0-P3,SP,A,B)52-89C51有21個SFR(89C52有26個)(2(5)程序狀態(tài)字寄存器PSW:CYACF0RS0OVPRS1PSW.7PSW.0▼CY(PSW.7)進位/借位標(biāo)志位。若ACC在運算過程中發(fā)生了進位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。▼AC(PSW.6)半進位/借位標(biāo)志位。若ACC在運算過程中,D3位向D4位發(fā)生了進位或借位,則CY=1,否則=0。機器在執(zhí)行“DAA”指令時自動要判斷這一位,我們可以暫時不關(guān)心它。▼F0(PSW.5)可由用戶定義的標(biāo)志位。PSW.6PSW.5特殊功能寄存器(PSW)53-(5)程序狀態(tài)字寄存器PSW:CYACF0RS0OVPRS程序狀態(tài)字寄存器PSW(續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0▼RS1(PSW.4)、RS0(PSW.3)工作寄存器組選擇位。RS1,RS0=01則選擇了工作寄存器組

1區(qū)R0~R7分別代表08H~0FH單元。RS1,RS0=10則選擇了工作寄存器組

2區(qū)

R0~R7分別代表10H~17H單元。RS1,RS0=11則選

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論