MCS-51存儲(chǔ)器配置_第1頁(yè)
MCS-51存儲(chǔ)器配置_第2頁(yè)
MCS-51存儲(chǔ)器配置_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、MCS-51 存儲(chǔ)器配置 一般的微型計(jì)算機(jī)都采用程序與數(shù)據(jù)共用一組存儲(chǔ)器形式,而 MCS-51 單片機(jī)將程序與數(shù)據(jù)分別放在兩組存儲(chǔ)器內(nèi), 一組稱(chēng)為程序存儲(chǔ)器, 另一組稱(chēng)為 數(shù)據(jù)存儲(chǔ)器。 單片機(jī)的應(yīng)用特點(diǎn)是為某個(gè)特定對(duì)象服務(wù), 它的程序設(shè)計(jì)調(diào)試成功后, 一般是固 定不變的,因而程序(包括常數(shù)表 )可以一次性地永久放到單片機(jī)內(nèi)。 這樣不僅省 去了每次開(kāi)機(jī)后的程序重新裝入步驟, 還可以有效地防止因掉電和其它干擾而引 起的程序丟失的錯(cuò)誤。 MCS-51片內(nèi)集成有一定容量的程序存儲(chǔ)器(8031 /80C31/8032除外)和 數(shù)據(jù)存儲(chǔ)器,并能夠擴(kuò)展較大外部存儲(chǔ)器的能力。 物理上,MCS-51有4個(gè)存儲(chǔ)器

2、空間:片內(nèi)程序存儲(chǔ)器、片外程序存儲(chǔ)器, 片內(nèi)數(shù)據(jù)存儲(chǔ)器、片外數(shù)據(jù)存儲(chǔ)器。其結(jié)構(gòu)如圖 2-5 所示。 程序存儲(chǔ)器 程序存儲(chǔ)器用來(lái)存放編制好的始終保留的固定程序和表格常數(shù)。程序存 儲(chǔ)器以程序計(jì)數(shù)器PC作地址指針,用16位的地址總線,地址空間為64KB 8051單片機(jī)內(nèi)部設(shè)置有4KB的RO(8031無(wú)內(nèi)部ROM,片外可以擴(kuò)展 到64KB的程序存儲(chǔ)區(qū),而整個(gè)程序存儲(chǔ)器的地址空間是統(tǒng)一的。 當(dāng)引腳(引腳高電平)時(shí),單片機(jī)正常運(yùn)行,片內(nèi)外統(tǒng)一編址。片內(nèi) ROM地址 范圍由0000FH0FFFH共4KB 片外ROMfi址從1000FH FFFFH內(nèi)外共64KB當(dāng) 程序計(jì)數(shù)器PCX 0FFFH時(shí)執(zhí)行片內(nèi)程序,

3、當(dāng)PO0FFFH時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序。 當(dāng)引腳(引腳低電平)時(shí),只能執(zhí)行片外 ROM勺程序。因此,片外ROM 地址從0000H- FFFFH共 64KB8031單片機(jī)無(wú)內(nèi)部程序存儲(chǔ)器,故地址從0000HH FFFFH都是外部程序存儲(chǔ)器空間,其 腳始終接低電平,使系統(tǒng)只從外部程序存 儲(chǔ)器中取指。 在使用ROM寸,下面六個(gè)地址單元具有特殊專(zhuān)用功能: 0000H單元是程序起始單元。系統(tǒng)復(fù)位后,PO 0000H,程序從0000H單元開(kāi)始 執(zhí)行; 0003H單元是外部中斷0入口地址; 000BH單元是定時(shí)器T0溢出中斷入口地址; 0013 H單元是外部中斷1入口地址; 001BH單元是定時(shí)器T1溢出中

4、斷入口地址; 0023H單元是串行口中斷入口地址。 這里只是簡(jiǎn)單指出這些地址的特殊性,具體使用方法將在中斷部分詳細(xì)介紹。 內(nèi)部數(shù)據(jù)存儲(chǔ)器 數(shù)據(jù)存儲(chǔ)器用以存放數(shù)據(jù)或中間運(yùn)行結(jié)果。 其在物理上和邏輯上都分為二個(gè)地址 空間: 一個(gè)內(nèi)部和一個(gè)外部數(shù)據(jù)存儲(chǔ)器空間。 訪問(wèn)內(nèi)部數(shù)據(jù)存儲(chǔ)器,用MOV旨令,訪問(wèn) 外部數(shù)據(jù)存儲(chǔ)器用MOV指令。 8051單片機(jī)內(nèi)部設(shè)置有256字節(jié)的RAM其中有128字節(jié)的內(nèi)部RAh數(shù)據(jù)存儲(chǔ)器 和128字節(jié)的專(zhuān)用(特殊功能)寄存器。128字節(jié)的內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器可分為 三部分:通用工作寄存器區(qū)、位尋址區(qū)、用戶(hù)數(shù)據(jù)緩沖區(qū)。而在 128字節(jié)專(zhuān)用寄 存器尋址空間上又離散地分布著19個(gè)特殊

5、功能寄存器。片內(nèi)RAM的地址分配如 圖 2-6 所示。 1 內(nèi)部RAM數(shù)據(jù)存儲(chǔ)器 內(nèi)部RAM共有128字節(jié)單元,地址由00H到7FH (1)通用工作寄存器區(qū)(00仆H單元) 工作寄存器一共四組(0、1、2、3組),每組8個(gè)寄存器(R0R7),所以共 32個(gè)寄存器。由于每組寄存器區(qū)8個(gè)寄存器都記為Ro-R7,因此每次只能選擇 一個(gè)寄存器區(qū)工作。寄存器工作區(qū)的選擇是通過(guò)狀態(tài)標(biāo)志寄存器 PSW的第3、4 位也即RS1 RS0進(jìn)行,如表2-2。 對(duì)寄存器操作最靈活且響應(yīng)速度最快, 一般情況下總是首先選擇應(yīng)用寄存器, 因 此有效地設(shè)置4個(gè)寄存器工作區(qū)可以提高現(xiàn)場(chǎng)保護(hù)能力和 CPU實(shí)時(shí)響應(yīng)的速度。 (2)

6、位尋址區(qū)( 20H2FH) 內(nèi)部數(shù)據(jù)存儲(chǔ)器20H-2FH(16個(gè)單元)既可單獨(dú)按位尋址,進(jìn)行位操作,也可以 按字節(jié)尋址。這 16 個(gè)字節(jié)每字節(jié) 8 位,共有 128 個(gè)位地址。位尋址區(qū)的每一位 都可以視作軟件觸發(fā)器, 由程序直接進(jìn)行位處理。 通常把各種程序狀態(tài)標(biāo)志、 位 控制變量設(shè)在位尋址區(qū)內(nèi)。同樣,位尋址區(qū)的RAM單元也可以作為一般的數(shù)據(jù)緩 沖器使用。字節(jié)及字位地址對(duì)應(yīng)關(guān)系如表 2-3。 注意:位尋址和字節(jié)尋址通過(guò)指令中使用的累加器類(lèi)型來(lái)識(shí)別。如: MOV A 21H表示把字節(jié)地址21H單元的內(nèi)容送A累加器,故此指令為字節(jié)操作 指令。 MOC, 21H表示位地址21H中的狀態(tài)送入位累加器 C

7、中(C實(shí)際上是進(jìn)位標(biāo)志位, 這里也用作位累加器)。由表可以查出,位地址21H是字節(jié)地址24H單元中的第 1 位( D1)。 (3)用戶(hù)數(shù)據(jù)緩沖區(qū)(一般緩沖存儲(chǔ)區(qū)) 內(nèi)部RAM塊中的30H-7FH構(gòu)成一般緩沖存儲(chǔ)區(qū)。 2專(zhuān)用寄存器 8051 內(nèi)部的鎖存器、定時(shí)器、串行口數(shù)據(jù)緩沖器以及各種控制寄存器和狀態(tài)寄 存器都是以專(zhuān)用功能寄存器(SFR的形式出現(xiàn)的,并分布在內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi), 地址空間范圍為80H-FFH如表2-4所示。 主要專(zhuān)用寄存器功能如下: ACC- 累加器,是進(jìn)行算術(shù)和邏輯運(yùn)算、存放數(shù)據(jù)和結(jié)果,工作最頻繁的寄 存器。大部分單操作數(shù)指令的操作數(shù)取自累加器, 很多雙操作數(shù)指令的一個(gè)操作 數(shù)

8、取自累加器。指令系統(tǒng)中用 A作為累加器的助記符。 B - 8 位寄存器,主要用于乘除法指令。乘法指令的兩個(gè)操作數(shù)分別取自 A 和B,其結(jié)果存放在AB寄存器對(duì)中;除法指令中,被除數(shù)取自 A,除數(shù)取自B, 商存放于A,余數(shù)存放于B。其他指令中,B可作為RAM勺一個(gè)單元來(lái)使用。 PC - 程序計(jì)數(shù)器,是一個(gè) 16 位寄存器,用于存放將要執(zhí)行的指令地址。 PSW- 程序狀態(tài)字寄存器,存放程序運(yùn)行狀態(tài)的信息,以便查詢(xún)和判斷。此 寄存器各位的含義參見(jiàn)下圖,其中 PSW.1未用: PSW位 地 D2H D1H 址 D7H D6H D5H D4H D3H D0H 字節(jié)地址 DOH CY AC F0 RS1 R

9、SO OV P DPT數(shù)據(jù)指針寄存器,是16位地址指針,可以拆成高8位(DPH和低八 位(DPL兩個(gè)寄存器。DPTR常作間址寄存器,既做外部數(shù)據(jù)存儲(chǔ)器的地址指針, 也兼做程序存儲(chǔ)器的地址指針。 表2-4專(zhuān)用寄存器在RAM勺地址分布 直接字節(jié)地址 (MSB) (LSB) 寄存器符號(hào) F0H F7 F6 F5 F4 F3 F2 F1 F0 B E0H E7 E6 E5 E4 E3 E2 E1 E0 ACC CY AC F0 RS1 RS0 0V P D0H D7 D6 D5 D4 D3 D2 D1 D0 PSW TF2 EXF2 RCLK TCLK EX EN2 TR2C/T2 CP/RL2 C8

10、H CF CE CD CC CB CA C9 C8 T2CON PT2 PS PT1 PX1 PT0 PX0 B8H BD BC BB BA B9 B8 IP B0H B7 B6 B5 B4 B3 B2 B1 B0 P3 EA ET2 ES ET1 EX1 ETO EXO A8H AF AD AC AB AA A9 A8 IE A0H A7 A6 A5 A4 A3 A2 A1 A0 P2 SM0 SM1 SM2 REN TB8 RB8 TI RI 98H 9F 9E 9D 9C 9B 9A 99 98 SCON 90H 97 96 95 94 93 92 91 90 P1 TF1 TR1 TF

11、0 TR0 IE1 IT1 IE0 IT0 88H 8F 8E 8D 8C 8B 8A 89 88 TCON 80H 87 86 85 84 83 82 81 80 P0 SP 堆棧地址指針,SP用于存放堆棧頂?shù)刂贰T谝粋€(gè)實(shí)際的程序中,往往 需要一個(gè)后進(jìn)先出的RAM,用于存放需保存的程序斷點(diǎn)和數(shù)據(jù),以保存CPU 的現(xiàn)場(chǎng),這種 后進(jìn)先出的緩沖區(qū)稱(chēng)為堆棧。系統(tǒng)復(fù)位時(shí),SP=07H 存入數(shù)據(jù)時(shí),SP先加1, 再壓入數(shù)據(jù),所以堆棧的最小地址為 08Ho MCS-51的堆棧原則上可以設(shè)在內(nèi)部 RAM( 08H-7FH的任意區(qū)域內(nèi),但考慮到工作寄存器和位尋址區(qū)使用頻繁,一 般設(shè)在30-7FH的范圍內(nèi)。 P0P3 - I/O 口寄存器。 TMOD-定時(shí)計(jì)數(shù)器方式寄存器。 TCON 定時(shí)計(jì)數(shù)器控制和中斷標(biāo)志寄存器。 TH0 TL0 - 定時(shí)器T0初始值寄存器,TH0為高8位,TL0為低八位。 TH1、TL1 -定時(shí)器T1初始值寄存器,TH1為高8位,TL1為低八

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論