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

下載本文檔

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

文檔簡介

1、MCS-51存儲器和布爾處理器存放當(dāng)前執(zhí)行的程序和數(shù)據(jù),主機能直接訪問,存取速度快,容量小。存放暫不執(zhí)行的程序和數(shù)據(jù),主機不能直接訪問,存取速度慢,容量大。 存儲器的功能是存儲程序和數(shù)據(jù)。 3.1 概述3.1.1 存儲器的分類RAM存儲器雙極型:由雙極型晶體管構(gòu)成,速度快、功耗大、集成度低、價格貴。MOS型:由MOS管構(gòu)成,速度比雙極型RAM慢、功耗小、集成度高、價格便宜。按信息的存儲方式分為:靜態(tài)RAM和動態(tài)RAM及新出現(xiàn)的iRAM。 ROMEEPROM,電擦除(擦除以Byte為單位)。 可擦寫EPROM,紫外線(一次全部)擦除,需專門的擦除設(shè)備。掩膜ROM,出廠時已固化。 可編程PROM,

2、用戶一次固化。 FLASHROM,隨機改寫,速度快(擦除以Block為單位) 。EEPROM FLASHROM區(qū)別nFLASH集成度高容量大寫入速度更快nFLASH擦除以Block為單位; EEPROM擦除以Byte為單位3.1.2 8051的片內(nèi)片內(nèi)存儲器 8051單片機與一般微機的存儲器配置方式很不相同。 一般微機通常采用馮諾依曼結(jié)構(gòu),只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應(yīng)唯一的存儲單元,可以是ROM也可以是RAM,并用同類訪問指令。 而MCS-51則不同: 8051在物理結(jié)構(gòu)上設(shè)計成程序存儲器與數(shù)據(jù)存儲器獨立分開的哈佛結(jié)構(gòu): 片內(nèi)程序存儲器4KB(ROM

3、 0000H0FFFH) 片內(nèi)數(shù)據(jù)存儲器128B(RAM 00H7FH)3.2 MCS-51的存儲器結(jié)構(gòu)8051在物理結(jié)構(gòu)上有四個存儲空間: 片內(nèi)程序存儲器、片外程序存儲器、 片內(nèi)數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器。64KBROMEA=0EA=10000H0FFFH1000HFFFFH4KBROMFFH80H7FH00H SFRRAM64KBRAM(I/O)0000HFFFFH片內(nèi)片外片外程序存儲器數(shù)據(jù)存儲器 8051在邏輯上,即從用戶角度上8051有三個存儲空間: 片內(nèi)外統(tǒng)一編址的程序存儲器 片內(nèi)外不統(tǒng)一編址的數(shù)據(jù)存儲器 特殊功能寄存器(片內(nèi))訪問這幾個不同的邏輯空間時,采用的指令: 片內(nèi)外程序存儲

4、器空間-MOVC 片內(nèi)數(shù)據(jù)存儲器空間和SFR-MOV 片外數(shù)據(jù)存儲器地址空間-MOVX3.2.1 程序存儲器及地址空間作用-程序存儲器用于存放編好的程序和表格常數(shù)。8051片內(nèi)有4K字節(jié)ROM,片外用16位地址線最多可擴展64K字節(jié)ROM,兩者是統(tǒng)一編址的。如果EA端保持高電平,8051執(zhí)行片內(nèi)前4KB ROM地址(0000H0FFFH) 中的程序。當(dāng)尋址范圍超過4KB(1000HFFFFH)時,則從片外存儲器取指令。當(dāng)EA端保持低電平時,8051的所有取指令操作均在片外程序存儲器中進行,這時片外存儲器可以從0000H開始編址。在程序存儲器中,有6個單元具有特殊功能0003H0003H:外部中

5、斷0入口。000BH000BH:定時器0溢出中斷入口。0013H0013H:外部中斷1入口。001BH001BH:定時器1溢出中斷入口。0023H0023H:串行口中斷入口。 使用時,通常在這些入口地址處存放一條絕對跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排程序上。0000H0000H: 8051復(fù)位后,PC0000H,即程序從0000H 開始執(zhí)行指令。3.2.2 數(shù)據(jù)存儲器及地址空間數(shù)據(jù)存儲器片外RAM64KB,地址范圍0000HFFFFH片內(nèi)RAM128B,地址范圍00H7FH使用時只能用MOVXMOVX指令訪問使用MOVMOV指令訪問,可以進行堆棧操作片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B)

6、 位地址區(qū) (16B)寄存器區(qū)4組(32B)7FH7FH寄存器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ū),每一個BIT都有一個 地址,共168=128位00H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B) 位地址區(qū) (16B)7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器

7、0組寄存器區(qū)4組(32B). . . . . . . . . .RS1RS1、RS0=RS0=0000R7R6R5R4R3R2R1R000H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H00H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B) 位地址區(qū) (16B)7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器1組R7R6R5R4R3R2R1R008H08H09H09H0AH0AH0BH0BH0CH0CH0DH0DH0EH0EH0FH0FH寄存器區(qū)4組(32B). . . .

8、 . . . . . .RS1RS1、RS0=RS0=010100H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B) 位地址區(qū) (16B)7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器2組R7R6R5R4R3R2R1R010H10H11H11H12H12H13H13H14H14H15H15H16H16H17H17H寄存器區(qū)4組(32B). . . . . . . . . .RS1RS1、RS0=RS0=101000H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RA

9、M區(qū) (80B) 位地址區(qū) (16B)7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組寄存器3組R7R6R5R4R3R2R1R018H18H19H19H1AH1AH1BH1BH1CH1CH1DH1DH1EH1EH1FH1FH寄存器區(qū)4組(32B). . . . . . . . . .RS1RS1、RS0=RS0=111100H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B) 位地址區(qū) (16B)7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組位地址區(qū)20H20H21H21H22H22H23H23H24H24H25H25

10、H26H26H27H27H28H28H29H29H2AH2AH2BH2BH2CH2CH2DH2DH2EH2EH2FH2FH00H00H01H01H02H02H03H03H04H04H05H05H06H06H07H07H08H08H0FH0FH10H10H7FH7FH78H78H70H70H68H68H60H60H58H58H50H50H48H48H40H40H38H38H30H30H28H28H20H20H77H77H6FH6FH67H67H1FH1FH5FH5FH57H57H4FH4FH47H47H3FH3FH37H37H2FH2FH27H27H1FH1FH17H17H.D7 D6 D5 D

11、4 D3 D2 D1 D0D7 D6 D5 D4 D3 D2 D1 D0. . . . . . . . . .00H00H30H30H2FH2FH20H20H1FH1FH. . . .片內(nèi)數(shù)據(jù)存儲器空間分布圖通用RAM區(qū) (80B) 位地址區(qū) (16B)00H00H30H30H2FH2FH20H20H1FH1FH7FH7FH寄存器3組寄存器2組寄存器1組寄存器0組通用RAM區(qū). . . . . . . . . . . . .共80個字節(jié),作為一般的數(shù)據(jù)緩沖區(qū)并可設(shè)置堆棧區(qū)3.2.3 特殊功能寄存器(21個字節(jié))SFR (Special Functional Register) 見書P40表3-

12、6與與ALUALU相關(guān)的(相關(guān)的(3 3個)個) A Register (AccA Register (Accumulatorumulator) ): 累加器,通常用A A或ACCACC表示。可字節(jié)尋址(E0H), 也可位尋址(E0HE7H) 在運算器做運算時其中一個數(shù)一定是在ACCACC中。 B RegisterB Register:暫存寄存器。 暫存寄存器。在做乘、除法時放乘數(shù)或除數(shù)及結(jié)果。 PSW (PSW (P Programrogram S Statustatus W Wordord ):): PSW是8位寄存器,用于作為程序運行狀態(tài)的標志。借此,可以了解CPU的當(dāng)前狀態(tài),并作出相應(yīng)

13、的處理。它的各位功能如下: 當(dāng)CPU進行各種邏輯操作或算術(shù)運算時,為反映操作或運算結(jié)果的狀態(tài),把相應(yīng)的標志位置1或清0。這些標志的狀態(tài),可由專門的指令來測試,也可通過指令來讀出。它為計算機確定程序的下一步進行方向提供依據(jù)。PSW寄存器中各位的名稱及位置如上所示,下面說明各標志位的作用。D7H D6H D5H D4HD3HD2HD1HD0H CY AC F0 RS1 RS0 OV PPSW位地址 CYCY:進位標志。 加減運算時,保存最高位進位、借位狀態(tài)。 AC:半進位標志。 例:78H+97H 0111 1000 +1001 0111 1 0000 1111 D7H D6H D5H D4HD3

14、HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址有進位CY=1沒有半進位AY=0 RS1、RS0:工作寄存器組選擇位。 0 0 選擇工作寄存器0組(內(nèi)部RAM地址00H07H) 0 1 選擇工作寄存器1組(內(nèi)部RAM地址08H0FH) 1 0 選擇工作寄存器2組(內(nèi)部RAM地址10H17H) 1 1 選擇工作寄存器3組(內(nèi)部RAM地址18H1FH) P:奇偶校驗位,它用來表示累加器A內(nèi)容中二進制數(shù)位“1”的個數(shù)的奇偶性。若為奇數(shù),則P=1,否則為0。 例:某運算結(jié)果是78H(01111000),P=0。D7H D6H D5H D4HD3HD2HD1H D0H CY

15、 AC F0 RS1 RS0 OV PPSW位地址F0:用戶標志位。作為軟件標志,由編程人員決定 何時使用。OV:OV(PSW.2):溢出標志位,運算結(jié)果的D7或 D6位中只有一位產(chǎn)生進/借位時,置位OV,表示產(chǎn)生溢出。D7H D6H D5H D4HD3HD2HD1H D0H CY AC F0 RS1 RS0 OV PPSW位地址與指針相關(guān)的(與指針相關(guān)的(2 2個)個) SP (SP (S Stack tack P Pointerointer) ): 堆棧指針,8位寄存器,用來指定堆棧的棧頂位置,初值為07H07H,它是加1計數(shù)。 DPTR (DDPTR (Dataata P Poinoin

16、t te er)r)(分成DPHDPH、DPLDPL兩個):): 數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。P0P0、P1P1、P2P2、P3P3: 四個并行輸入四個并行輸入/ /輸出口的寄存器(鎖存器)。它里面的內(nèi)輸出口的寄存器(鎖存器)。它里面的內(nèi)容對應(yīng)著管腳的輸出。容對應(yīng)著管腳的輸出。SCON (SSCON (Serialerial Con Controltrol RegisterRegister) )SBUFSBUF (S(Serial Date erial Date BufBuffer) fer) PCON (PCON (P

17、Powerower Con Controltrol RegisterRegister) ) 與端口相關(guān)的(與端口相關(guān)的(7 7個)個)與定時與定時/ /計數(shù)器相關(guān)的(計數(shù)器相關(guān)的(6 6個)個)TMOD (TTMOD (Timer/Counterimer/Counter Mod Mode Registere Register) ) 定時器工作模式寄存器。定時器工作模式寄存器。TCON (TTCON (Timer/Counter imer/Counter ConControl Registertrol Register) ) 定時器控制寄存器。定時器控制寄存器。TH0TH0、TL0 TL0 、T

18、H1TH1、TL1TL1:分別是分別是T0T0、T1T1的記數(shù)初值寄存器。的記數(shù)初值寄存器。IP (IIP (Interrupt nterrupt P Priorityriority RegisterRegister) ) IE (IIE (Interruptnterrupt E Enable Registernable Register) ) 與中斷相關(guān)的(與中斷相關(guān)的(2 2個)個)課堂練習(xí)補充題:1.下列是關(guān)于8031單片機存儲空間的描述,分析其對錯: a.a.特殊功能寄存器容量為21B, 沒有位地址。 b.b.外部數(shù)據(jù)存儲器容量可達64kB, 字節(jié)地址和位地址范圍均為0000HFFFFH c. c.程序存儲器容量可達64kB, 字節(jié)地址和位地址范圍均為0000HFFFFHd.d. 內(nèi)部數(shù)據(jù)存儲器容量為128B, 字節(jié)地址和位地址范圍均為00H7FHe.特殊功能寄存器容量為21B, 有一部分特殊功能寄存器具有位地址。f.f.程序存儲器容量可達64kB,地址范圍為0000HFFFFH。 2.MCS-51單片機的工作寄存器組如何選擇?若PSW 的RS1、RS0位的內(nèi)容是01,那么

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論