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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

片內程序存儲器4KB(ROM0000H~0FFFH)

片內數據存儲器128B(RAM00H~7FH)★§3.2MCS-51的存儲器結構8051在物理結構上有四個存儲空間:

片內程序存儲器、片外程序存儲器、片內數據存儲器、片外數據存儲器。2/2/2023564KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00HSFRRAM64KBRAM(I/O)0000HFFFFH片內片外片外程序存儲器數據存儲器2/2/20236

8051在邏輯上,即從用戶角度上8051有三個存儲空間:

片內外統一編址的程序存儲器

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

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

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

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

(SpecialFunctionalRegister)見書P40表3-6①與ALU相關的(3個)

ARegister(Accumulator):

累加器,通常用A或ACC表示。可字節(jié)尋址(E0H),

也可位尋址(E0H~E7H)

在運算器做運算時其中一個數一定是在ACC中。

BRegister:暫存寄存器。

暫存寄存器。在做乘、除法時放乘數或除數及結果。

PSW(ProgramStatusWord

):

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

CY:進位標志。

加減運算時,保存最高位進位、借位狀態(tài)。

AC:半進位標志。

例:78H+97H01111000+10010111100001111

D7HD6HD5HD4HD3HD2HD1HD0H

CYACF0RS1RS0OVPPSW位地址有進位CY=1沒有半進位AY=02/2/202320

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

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

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

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

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

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

D0HCY

ACF0

RS1

RS0OV

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

D0HCY

AC

F0RS1RS0

OVPPSW位地址2/2/202322②與指針相關的(2個)

SP(StackPointer):

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

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

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

四個并行輸入/輸出口的寄存器(鎖存器)。它里面的內容對應著管腳的輸出。SCON(SerialControl

Register)SBUF

(SerialDateBuffer)PCON(PowerControl

Register)③與端口相關的(7個)④與定時/計數器相關的(6個)TMOD(Timer/CounterModeRegister)

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

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

Register)IE(InterruptEnableRegister)⑤與中斷相關的(2個)課堂練習補充題:下列是關于8031單片機存儲空間的描述,分析其對錯:

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

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

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

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

溫馨提示

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

評論

0/150

提交評論