單片機(jī)第三章 MCS-51存儲(chǔ)器與布爾處理器_第1頁
單片機(jī)第三章 MCS-51存儲(chǔ)器與布爾處理器_第2頁
單片機(jī)第三章 MCS-51存儲(chǔ)器與布爾處理器_第3頁
單片機(jī)第三章 MCS-51存儲(chǔ)器與布爾處理器_第4頁
單片機(jī)第三章 MCS-51存儲(chǔ)器與布爾處理器_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第三章MCS-51存儲(chǔ)器和布爾處理器內(nèi)存:存放當(dāng)前執(zhí)行的程序和數(shù)據(jù),主機(jī)能直接訪問,存取速度快,容量小。外存:存放暫不執(zhí)行的程序和數(shù)據(jù),主機(jī)不能直接訪問,存取速度慢,容量大。

存儲(chǔ)器的功能是存儲(chǔ)程序和數(shù)據(jù)。§3.1概述3.1.1存儲(chǔ)器的分類2/2/20231RAM存儲(chǔ)器雙極型:由雙極型晶體管構(gòu)成,速度快、功耗大、集成度低、價(jià)格貴。MOS型:由MOS管構(gòu)成,速度比雙極型RAM慢、功耗小、集成度高、價(jià)格便宜。按信息的存儲(chǔ)方式分為:靜態(tài)RAM和動(dòng)態(tài)RAM及新出現(xiàn)的iRAM。ROMEEPROM,電擦除(擦除以Byte為單位)??刹翆慐PROM,紫外線(一次全部)擦除,需專門的擦除設(shè)備。掩膜ROM,出廠時(shí)已固化??删幊蘌ROM,用戶一次固化。FLASHROM,隨機(jī)改寫,速度快(擦除以Block為單位)。2/2/20232EEPROMFLASHROM區(qū)別FLASH集成度高,容量大,寫入速度更快。FLASH擦除以Block為單位;EEPROM擦除以Byte為單位2/2/202333.1.28051的片內(nèi)存儲(chǔ)器8051單片機(jī)與一般微機(jī)的存儲(chǔ)器配置方式很不相同。一般微機(jī)通常采用馮·諾依曼結(jié)構(gòu),只有一個(gè)邏輯空間,可以隨意安排ROM或RAM。訪問存儲(chǔ)器時(shí),同一地址對(duì)應(yīng)唯一的存儲(chǔ)單元,可以是ROM也可以是RAM,并用同類訪問指令。而MCS-51則不同:2/2/202348051在物理結(jié)構(gòu)上設(shè)計(jì)成程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器獨(dú)立分開的哈佛結(jié)構(gòu):

片內(nèi)程序存儲(chǔ)器4KB(ROM0000H~0FFFH)

片內(nèi)數(shù)據(jù)存儲(chǔ)器128B(RAM00H~7FH)★§3.2MCS-51的存儲(chǔ)器結(jié)構(gòu)8051在物理結(jié)構(gòu)上有四個(gè)存儲(chǔ)空間:

片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器、片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。2/2/2023564KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00HSFRRAM64KBRAM(I/O)0000HFFFFH片內(nèi)片外片外程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器2/2/20236

8051在邏輯上,即從用戶角度上8051有三個(gè)存儲(chǔ)空間:

片內(nèi)外統(tǒng)一編址的程序存儲(chǔ)器

片內(nèi)外不統(tǒng)一編址的數(shù)據(jù)存儲(chǔ)器特殊功能寄存器(片內(nèi))★訪問這幾個(gè)不同的邏輯空間時(shí),采用的指令:片內(nèi)外程序存儲(chǔ)器空間----MOVC片內(nèi)數(shù)據(jù)存儲(chǔ)器空間和SFR----MOV片外數(shù)據(jù)存儲(chǔ)器地址空間----MOVX2/2/202373.2.1程序存儲(chǔ)器及地址空間作用--程序存儲(chǔ)器用于存放編好的程序和表格常數(shù)。①8051片內(nèi)有4K字節(jié)ROM,片外用16位地址線最多可擴(kuò)展64K字節(jié)ROM,兩者是統(tǒng)一編址的?!锶绻鸈A端保持高電平,8051執(zhí)行片內(nèi)前4KBROM地址(0000H~0FFFH)中的程序。當(dāng)尋址范圍超過4KB(1000H~FFFFH)時(shí),則從片外存儲(chǔ)器取指令?!锂?dāng)EA端保持低電平時(shí),8051的所有取指令操作均在片外程序存儲(chǔ)器中進(jìn)行,這時(shí)片外存儲(chǔ)器可以從0000H開始編址。2/2/20238②在程序存儲(chǔ)器中,有6個(gè)單元具有特殊功能0003H:外部中斷0入口。000BH:定時(shí)器0溢出中斷入口。0013H:外部中斷1入口。001BH:定時(shí)器1溢出中斷入口。0023H:串行口中斷入口。使用時(shí),通常在這些入口地址處存放一條絕對(duì)跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排程序上。0000H:

8051復(fù)位后,PC=0000H,即程序從0000H開始執(zhí)行指令。2/2/202393.2.2數(shù)據(jù)存儲(chǔ)器及地址空間數(shù)據(jù)存儲(chǔ)器片外RAM64KB,地址范圍0000H~FFFFH片內(nèi)RAM128B,地址范圍00H~7FH使用時(shí)只能用MOVX指令訪問使用MOV指令訪問,可以進(jìn)行堆棧操作2/2/202310片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)寄存器區(qū)4組(32B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器區(qū)4組(32B).........①由PSW中的2位RS1、RS0來決定選哪一組為當(dāng)前工作寄存器:

RS1、RS0=00選0組RS1、RS0=01選1組RS1、RS0=10選2組RS1、RS0=11選3組②在位地址區(qū),每一個(gè)BIT都有一個(gè)

地址,共16×8=128位00H30H2FH20H1FH...2/2/202311片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器0組寄存器區(qū)4組(32B).........RS1、RS0=00R7R6R5R4R3R2R1R000H01H02H03H04H05H06H07H00H30H2FH20H1FH...2/2/202312片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器1組R7R6R5R4R3R2R1R008H09H0AH0BH0CH0DH0EH0FH寄存器區(qū)4組(32B).........RS1、RS0=0100H30H2FH20H1FH...2/2/202313片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器2組R7R6R5R4R3R2R1R010H11H12H13H14H15H16H17H寄存器區(qū)4組(32B).........RS1、RS0=1000H30H2FH20H1FH...2/2/202314片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器3組R7R6R5R4R3R2R1R018H19H1AH1BH1CH1DH1EH1FH寄存器區(qū)4組(32B).........RS1、RS0=1100H30H2FH20H1FH...2/2/202315片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)7FH寄存器3組寄存器2組寄存器1組寄存器0組位地址區(qū)20H21H22H23H24H25H26H27H28H29H2AH2BH2CH2DH2EH2FH00H01H02H03H04H05H06H07H08H0FH10H7FH78H70H68H60H58H50H48H40H38H30H28H20H77H6FH67H1FH5FH57H4FH47H3FH37H2FH27H1FH17H........................D7D6D5D4D3D2D1D0.........00H30H2FH20H1FH...2/2/202316片內(nèi)數(shù)據(jù)存儲(chǔ)器空間分布圖通用RAM區(qū)(80B)位地址區(qū)(16B)00H30H2FH20H1FH7FH寄存器3組寄存器2組寄存器1組寄存器0組通用RAM區(qū)............共80個(gè)字節(jié),作為一般的數(shù)據(jù)緩沖區(qū)并可設(shè)置堆棧區(qū)2/2/2023173.2.3特殊功能寄存器(21個(gè)字節(jié))SFR

(SpecialFunctionalRegister)見書P40表3-6①與ALU相關(guān)的(3個(gè))

ARegister(Accumulator):

累加器,通常用A或ACC表示??勺止?jié)尋址(E0H),

也可位尋址(E0H~E7H)

在運(yùn)算器做運(yùn)算時(shí)其中一個(gè)數(shù)一定是在ACC中。

BRegister:暫存寄存器。

暫存寄存器。在做乘、除法時(shí)放乘數(shù)或除數(shù)及結(jié)果。

PSW(ProgramStatusWord

):

PSW是8位寄存器,用于作為程序運(yùn)行狀態(tài)的標(biāo)志。借此,可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)的處理。2/2/202318它的各位功能如下:當(dāng)CPU進(jìn)行各種邏輯操作或算術(shù)運(yùn)算時(shí),為反映操作或運(yùn)算結(jié)果的狀態(tài),把相應(yīng)的標(biāo)志位置1或清0。這些標(biāo)志的狀態(tài),可由專門的指令來測(cè)試,也可通過指令來讀出。它為計(jì)算機(jī)確定程序的下一步進(jìn)行方向提供依據(jù)。PSW寄存器中各位的名稱及位置如上所示,下面說明各標(biāo)志位的作用。D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVPPSW位地址2/2/202319

CY:進(jìn)位標(biāo)志。

加減運(yùn)算時(shí),保存最高位進(jìn)位、借位狀態(tài)。

AC:半進(jìn)位標(biāo)志。

例:78H+97H01111000+10010111100001111

D7HD6HD5HD4HD3HD2HD1HD0H

CYACF0RS1RS0OVPPSW位地址有進(jìn)位CY=1沒有半進(jìn)位AY=02/2/202320

RS1、RS0:工作寄存器組選擇位。

00選擇工作寄存器0組(內(nèi)部RAM地址00H~07H)

01選擇工作寄存器1組(內(nèi)部RAM地址08H~0FH)

10選擇工作寄存器2組(內(nèi)部RAM地址10H~17H)

11選擇工作寄存器3組(內(nèi)部RAM地址18H~1FH)

P:奇偶校驗(yàn)位,它用來表示累加器A內(nèi)容中二進(jìn)制數(shù)位“1”的個(gè)數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。例:某運(yùn)算結(jié)果是78H(01111000),P=0。D7HD6HD5HD4HD3HD2HD1H

D0HCY

ACF0

RS1

RS0OV

PPSW位地址2/2/202321F0:用戶標(biāo)志位。作為軟件標(biāo)志,由編程人員決定何時(shí)使用。OV:OV(PSW.2):溢出標(biāo)志位,運(yùn)算結(jié)果的D7或 D6位中只有一位產(chǎn)生進(jìn)/借位時(shí),置位OV,表 示產(chǎn)生溢出。D7HD6HD5HD4HD3HD2HD1H

D0HCY

AC

F0RS1RS0

OVPPSW位地址2/2/202322②與指針相關(guān)的(2個(gè))

SP(StackPointer):

堆棧指針,8位寄存器,用來指定堆棧的棧頂位置,初值為07H,它是加1計(jì)數(shù)。

DPTR(DataPointer)(分成DPH、DPL兩個(gè)):

數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲(chǔ)器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。2/2/202323P0、P1、P2、P3:

四個(gè)并行輸入/輸出口的寄存器(鎖存器)。它里面的內(nèi)容對(duì)應(yīng)著管腳的輸出。SCON(SerialControl

Register)SBUF

(SerialDateBuffer)PCON(PowerControl

Register)③與端口相關(guān)的(7個(gè))④與定時(shí)/計(jì)數(shù)器相關(guān)的(6個(gè))TMOD(Timer/CounterModeRegister)

定時(shí)器工作模式寄存器。TCON(Timer/CounterControlRegister)

定時(shí)器控制寄存器。TH0、TL0、TH1、TL1:分別是T0、T1的記數(shù)初值寄存器。2/2/202324IP(InterruptPriority

Register)IE(InterruptEnableRegister)⑤與中斷相關(guān)的(2個(gè))課堂練習(xí)補(bǔ)充題:下列是關(guān)于8031單片機(jī)存儲(chǔ)空間的描述,分析其對(duì)錯(cuò):

a.特殊功能寄存器容量為21B,沒有位地址。

b.外部數(shù)據(jù)存儲(chǔ)器容量可達(dá)64kB,字節(jié)地址和位地址范圍均為0000H~FFFFH

c.程序存儲(chǔ)器容量可達(dá)64kB,字節(jié)地址和位地址范圍均為0000H~FFFFH2/2/202325d.內(nèi)部數(shù)據(jù)存儲(chǔ)器容量為128B,字節(jié)地址和位地址范圍均為00H~7FHe.特殊功能寄存器容量為21B,有一部分特殊功能寄存器具有位地址。f.程序存儲(chǔ)器容量可達(dá)64kB,地址范圍為0000H~FFFFH。

2.MCS-51單片機(jī)的工作寄存器組如何選擇?若PSW的RS1、RS0位的內(nèi)容是01,那么此時(shí)工作寄存器R1的字節(jié)地址是多少?3.MCS-51內(nèi)部RAM的寄存器區(qū)一共有多少個(gè)存儲(chǔ)單元?分為多少組?每組有多少個(gè)存儲(chǔ)單元?分別以什么作為寄存器名?2/2/2023264.8051存儲(chǔ)空間的結(jié)構(gòu)與8086/8088有什么不同?它的物理結(jié)構(gòu)是怎樣的?5.MCS-51單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器容量是多少?它有什么特點(diǎn)?2/2/202327注(了解):8052/8032既有高128B的內(nèi)部RAM,又有全部的SFR,它們地址空間重疊,依靠不同的尋址方式實(shí)現(xiàn)區(qū)別訪問.比較:

溫馨提示

  • 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. 人人文庫(kù)網(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)論