第02章 MCS-51硬件結(jié)構(gòu).ppt_第1頁
第02章 MCS-51硬件結(jié)構(gòu).ppt_第2頁
第02章 MCS-51硬件結(jié)構(gòu).ppt_第3頁
第02章 MCS-51硬件結(jié)構(gòu).ppt_第4頁
第02章 MCS-51硬件結(jié)構(gòu).ppt_第5頁
已閱讀5頁,還剩95頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第二章 MCS-51微處理器,2-1 微處理器概述: 2-2 微處理器結(jié)構(gòu): 2-3 MCS-51硬件結(jié)構(gòu): 2-4 時(shí)鐘、復(fù)位和時(shí)序:,2-1 微處理器概述,一、微處理器和微控制器: 二、CISC和RISC體系結(jié)構(gòu): 三、4位、8位、16位32位單片機(jī):,一、微處理器和微控制器,微處理器: 不同于普通數(shù)字邏輯電路,其功能由設(shè)計(jì)人員編制的程序來實(shí)現(xiàn)。特點(diǎn):可編程 是構(gòu)成巨型機(jī)、微型機(jī)、嵌入式系統(tǒng)等計(jì)算機(jī)系統(tǒng)的核心 微控制器: 特別適合嵌入式應(yīng)用的計(jì)算機(jī)系統(tǒng)。 除了微處理器本身性能的提升,更體現(xiàn)在其外圍部件的發(fā)展。 微處理器是微控制器的核心; 微控制器是微處理器的擴(kuò)展 。,二、CISC和RISC

2、體系結(jié)構(gòu),1、指令系統(tǒng): 指令系統(tǒng)設(shè)計(jì)體現(xiàn)了微處理器性能。 是指微處理器能夠執(zhí)行的所有機(jī)器指令的集合。是軟件實(shí)現(xiàn)硬件功能的基礎(chǔ)。 指令系統(tǒng)的發(fā)展分為“復(fù)雜化”和“簡單化”兩個(gè)方向。 2、CISC結(jié)構(gòu):(Complex Instruction Set Computer) 背景:設(shè)計(jì)初衷是提高程序效率 特點(diǎn):指令機(jī)器碼長短不一、指令執(zhí)行時(shí)間多周期且長短不一。 3、RISC結(jié)構(gòu):(Reduced Instruction Set Computer) 背景:并行處理和流水線工作方式逐漸成熟 特點(diǎn):指令機(jī)器碼長度一致、指令執(zhí)行時(shí)間大多數(shù)在單周期內(nèi)完成。,三、4位、8位、16位32位單片機(jī),1、微處理器的字

3、長: 一次運(yùn)算能夠并行處理的二進(jìn)制數(shù)據(jù)的位數(shù)。 2、通用微處理器的字長: 4位、8位、16位、32位、64位 3、微控制器的字長: 4位、8位、16位、32位 單片機(jī)的工作頻率和字長是兩個(gè)比較重要的性能指標(biāo)。 發(fā)展方向:1、高性能的16、32位機(jī) 2、高性價(jià)比的8位機(jī),2-2 微處理器結(jié)構(gòu),一、微處理器的基本組成: 二、運(yùn)算器與運(yùn)算結(jié)果: 三、控制器和指令執(zhí)行: 四、寄存器組: 五、總線和存儲(chǔ)組織: 六、堆棧,一、微處理器的基本組成,CPU:中央處理單元 計(jì)算機(jī)中執(zhí)行運(yùn)算和控制的部件,由算術(shù)邏輯部件和控制部件組成。 CPU和寄存器集成,構(gòu)成微處理機(jī)。 微處理機(jī)必須具有指令控制、操作控制、時(shí)間控

4、制、數(shù)據(jù)處理等功能 指令控制:按程序規(guī)定的指令順序執(zhí)行程序; 操作控制:根據(jù)指令進(jìn)行相應(yīng)的硬件操作; 時(shí)間控制:具有嚴(yán)格的時(shí)間約束; 數(shù)據(jù)處理:算術(shù)運(yùn)算,邏輯運(yùn)算等。,一、微處理器的基本組成,1、微處理器內(nèi)部結(jié)構(gòu) 運(yùn)算器ALU:實(shí)現(xiàn)數(shù)據(jù)處理功能 控制器CU:實(shí)現(xiàn)指令、操作和時(shí)間控制 寄存器REG:配合ALU和CU工作 2、模型機(jī)的指令執(zhí)行過程; 送出地址:程序計(jì)數(shù)器送出指令地址到片外地址總線;(地址總線) 獲取指令:控制器發(fā)出取指令信號,從程序存儲(chǔ)器取得指令并送到指令寄存器;(數(shù)據(jù)總線) 譯碼取數(shù):指令譯碼器對指令譯碼,取相應(yīng)的操作數(shù)(地址總線與數(shù)據(jù)總線) 操作輸出: ALU 結(jié)合累加器、緩沖

5、器、程序狀態(tài)字等進(jìn)行數(shù)據(jù)處理。(地址總線與數(shù)據(jù)總線),輸入輸出接口,二、運(yùn)算器與運(yùn)算結(jié)果,1、運(yùn)算器功能及相關(guān)部件: ALU:由補(bǔ)碼加法運(yùn)算、邏輯運(yùn)算、移位/取反、BCD碼加法的電路組成。 能夠完成加、減、乘、除等算術(shù)運(yùn)算及與、或、非、異或等邏輯操作; 還具有較強(qiáng)的位處理能力:位置1、位清零、位“與”、位“或”等操作; 通過對運(yùn)算結(jié)果的判斷,影響程序狀態(tài)寄存器相關(guān)位的內(nèi)容。 相關(guān)部件:ALU、累加器、緩沖器、程序狀態(tài)字 2、運(yùn)算結(jié)果及處理: 直接結(jié)果:通常在累加器中 間接結(jié)果:硬件修改程序狀態(tài)字,ALU相關(guān)寄存器,累加器A 存放第一操作數(shù)及操作結(jié)果的專用寄存器,也稱ACC;(E0H) 累加器B

6、 也稱B寄存器,乘、除法運(yùn)算時(shí)用作累加器功能;(F0H) 程序狀態(tài)字PSW 存放程序運(yùn)行時(shí)指令操作的輔助結(jié)果,三、控制器和指令執(zhí)行(1),1、控制器:完成指揮控制工作,協(xié)調(diào)單片機(jī)各部分正常工作,是整個(gè)單片機(jī)的指揮中心。 控制器主要作用: 指令的讀出、譯碼和執(zhí)行 指揮并控制運(yùn)算器、存儲(chǔ)器和輸入輸出設(shè)備之間的數(shù)據(jù)流。 控制器(CU)主要包括: 程序計(jì)數(shù)器(PC) 指令寄存器(IR) 指令譯碼器(ID) 時(shí)序部件:定時(shí)和控制電路 數(shù)據(jù)指針(DPTR)和堆棧指針(SP),三、控制器和指令執(zhí)行(2),2、指令譯碼和執(zhí)行: 馮諾依曼計(jì)算機(jī)的特點(diǎn):程序存儲(chǔ) 程序運(yùn)行過程:取指令、譯碼、執(zhí)行 CPU執(zhí)行指令的

7、過程: 1 由程序存儲(chǔ)器PC中讀取的指令代碼送入指令存儲(chǔ)器 2 經(jīng)譯碼器譯碼后分析指令內(nèi)容,由定時(shí)與控制電路發(fā)出相應(yīng)的控制信號; 3 取操作數(shù),完成指令所指定的操作。,指令執(zhí)行過程,單片機(jī)工作過程實(shí)質(zhì)就是執(zhí)行程序的過程。 馮諾依曼結(jié)構(gòu)的CISC計(jì)算機(jī)要求指令嚴(yán)格按照三個(gè)階段逐條依次執(zhí)行 RISC計(jì)算機(jī)采用流水線方式,允許指令并行執(zhí)行,三重流水線,程序計(jì)數(shù)器PC,PC(Program Counter)用于存放CPU下一條要執(zhí)行的指令地址, 是一個(gè) 16 位的專用寄存器, 可尋址范圍是0000H0FFFFH共 64 KB。 程序中的每條指令存放在ROM區(qū)的某一單元, 并都有自己的存放地址。 CPU

8、 要執(zhí)行哪條指令時(shí), 就把該條指令所在的單元的地址送上地址總線。 在順序執(zhí)行程序中, 當(dāng)PC的內(nèi)容被送到地址總線后, 會(huì)自動(dòng)加 1, 即(PC) (PC)+1, 又指向CPU 下一條要執(zhí)行的指令地址。,指令寄存器和指令譯碼器,指令寄存器 保存當(dāng)前執(zhí)行的指令 指令譯碼器 完成按指令產(chǎn)生控制信號的譯碼問題,四、寄存器組(1),1、通用寄存器 用于存放數(shù)據(jù)或地址,能被ALU直接使用而用于提高數(shù)據(jù)處理速度。 MCS-51有四組8個(gè)8位的通用寄存器,即32個(gè)8位通用寄存器。 通用寄存器的二進(jìn)制位數(shù)通常與微處理器的字長相一致。,四、寄存器組(2),2、專用寄存器 一個(gè)專用寄存器的二進(jìn)制位數(shù)可以是單字節(jié)、多

9、字節(jié)甚至是一個(gè)二進(jìn)制位。 累加器、指針寄存器; 標(biāo)志寄存器、中斷寄存器; I/O數(shù)據(jù)、控制、狀態(tài)寄存器; 指令、緩沖等各種透明型寄存器。,四、寄存器組(3),累加器:專門用于存放第一操作數(shù)和操作結(jié)果的專用寄存器。 指針寄存器:包括堆棧指針寄存器、數(shù)據(jù)指針寄存器、變址指針寄存器等。 數(shù)據(jù)指針DPTR是一個(gè) 16 位的專用寄存器, 其高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。 DPTR 主要用來存放 16 位地址,當(dāng)對 64 KB外部數(shù)據(jù)存儲(chǔ)器空間尋址時(shí),作為間址寄存器用。在訪問程序存儲(chǔ)器時(shí),用作基址寄存器。,DPTR,五、總線和存儲(chǔ)組織(1),1、總線的類型: 片內(nèi)總線:微處理機(jī)內(nèi)

10、部各功能部件之間連接起來的公用信息通道稱為片內(nèi)總線(或者稱CPU總線); 片外總線:微處理機(jī)系統(tǒng)中把微處理機(jī)、存儲(chǔ)器、輸入輸出接口電路連接起來的公用信息通道稱為片外總線(或者稱板級總線); 系統(tǒng)總線:微處理機(jī)系統(tǒng)之間進(jìn)行信號傳輸?shù)墓眯畔⑼ǖ婪Q為系統(tǒng)總線(或者稱通訊總線); 2、總線的工作模式:任意時(shí)刻只允許一個(gè)設(shè)備占用總線,以防止數(shù)據(jù)沖突。,五、總線和存儲(chǔ)組織(2),3、片外三總線: 數(shù)據(jù)總線:雙向總線,必須進(jìn)行雙方向的連接或隔離(即雙向緩沖); 地址總線:單向總線,只須進(jìn)行單方向的連接或隔離(由CPU指向片外); 控制總線:定向總線,即有的由CPU指向片外,有的由片外指向CPU。,六、堆棧

11、(1),1、什么叫堆棧: 微處理機(jī)中一組按照數(shù)據(jù)后進(jìn)先出規(guī)律管理的特殊的二進(jìn)制數(shù)據(jù)存儲(chǔ)器件。 2、堆棧的作用: 數(shù)據(jù)暫存、參數(shù)傳遞等, 特別是子程序調(diào)用和中斷過程中的地址保護(hù)。,六、堆棧(2),3、堆棧的種類: 硬件堆棧 是CPU內(nèi)部一組硬件自主管理的專用寄存器堆,堆棧操作只能針對棧頂進(jìn)行,無法訪問堆棧內(nèi)部其它單元。特點(diǎn):快、淺 軟件堆棧 軟件堆棧利用CPU內(nèi)部通用寄存器或者系統(tǒng)的數(shù)據(jù)存儲(chǔ)器進(jìn)行,堆棧的棧頂通過堆棧指針SP由軟件管理,通過重新設(shè)置SP,可以訪問堆棧內(nèi)部任何一個(gè)單元。特點(diǎn):深、慢,六、堆棧(3),堆棧指針SP(Stack Pointer) 軟件堆棧操作是在內(nèi)存RAM區(qū)開辟的按照“

12、先進(jìn)后出”原則進(jìn)行數(shù)據(jù)存取的一種工作方式; 主要用于子程序調(diào)用及返回和中斷處理斷點(diǎn)的保護(hù)及返回; SP用來指示堆棧所處的位置,在進(jìn)行操作之前, 先用指令給SP賦值,以規(guī)定棧區(qū)在RAM區(qū)的起始地址(棧底層)。當(dāng)數(shù)據(jù)推入棧區(qū)后,SP的值也自動(dòng)隨之變化。 MCS - 51 系統(tǒng)復(fù)位后,SP初始化為07H。,六、堆棧(4),六、堆棧(5),4、軟件堆棧的種類: 按堆棧操作時(shí)SP中地址的增大或減小劃分: 向上生成型(入棧時(shí)SP中地址增大)51 向下生成型(入棧時(shí)SP中地址減?。?按堆棧操作時(shí)棧頂數(shù)據(jù)處理方式劃分: 空頂法(入棧時(shí)先操作后修改地址) 滿頂法(入棧時(shí)先修改地址后操作)51,2-3 MCS-5

13、1硬件結(jié)構(gòu),一、硬件資源 二、結(jié)構(gòu)框圖 三、引腳功能 四、CPU結(jié)構(gòu) 五、存儲(chǔ)空間,51單片機(jī)兼容產(chǎn)品,ATMEL 89c52 ADAdC812 WINBORDW78E51B PHILIPS P87LPC764 CYGNALC8051 ,51單片機(jī)開發(fā)板,一、硬件資源(1),1、CPU: 8位運(yùn)算器、帶累加器結(jié)構(gòu) 2、存儲(chǔ)器: 片內(nèi)程序存儲(chǔ)器51子系列為4K、52子系列為8K 片內(nèi)數(shù)據(jù)存儲(chǔ)器51子系列為128B、 52子系列為256B 3、并行I/O口:4個(gè)8位雙向端口 4、串行I/O口:1個(gè)全雙工的異步串行通訊接口 5、定時(shí)器/計(jì)數(shù)器: 51子系列為2個(gè)、 52子系列為3個(gè) 6、中斷配置:

14、51子系列為3類5個(gè)中斷源、52子系列為3類6個(gè)中斷源 MCS-51系列芯片硬件資源配置見表所示。,MCS-51系列芯片硬件資源配置表,二、結(jié)構(gòu)框圖 (1),1、運(yùn)算器: 運(yùn)算器: 8位的ALU; 暫存器: 暫存器1的數(shù)據(jù)來自于B寄存器等; 暫存器2的數(shù)據(jù)來自于A累加器等; 累加器: 累加器A(8位); 輔助累加器B(8位),也稱乘法寄存器; 程序狀態(tài)字寄存器: PSW(8位),也可稱之為標(biāo)志寄存器; 堆棧指針寄存器: SP(8位); 數(shù)據(jù)指針寄存器: DPTR(16位); 程序計(jì)數(shù)器: PC(16位);,結(jié)構(gòu)框圖,相關(guān)概念,由PC發(fā)起的取指令過程,二、結(jié)構(gòu)框圖 (2),2、控制器: 指令寄存

15、器: 定時(shí)及控制: 振蕩器: 中斷系統(tǒng): 16位地址寄存器; 3、寄存器: 片內(nèi)RAM; RAM地址寄存器; 4、存儲(chǔ)器: 片內(nèi)ROM或EPROM (51子系列4K、52子系列8K);,結(jié)構(gòu)框圖,二、結(jié)構(gòu)框圖 (3),5、I/O接口: 定時(shí)器/計(jì)數(shù)器; 串行口; 并口鎖存器: P0P3四個(gè); 并口驅(qū)動(dòng)器: P0P3四個(gè);,結(jié)構(gòu)框圖,三、引腳功能(1)1、I/O引腳: 共32根,:和引腳數(shù)量相適應(yīng) P0.0P0.7: 共8根,作AD0AD7,不擴(kuò)展時(shí)可作準(zhǔn)雙向I/O口; P1.0P1.7: 共8根,作準(zhǔn)雙向I/O口, 52子系列中P1.0作T2脈沖輸入、P1.1作T2外部控制; P2.0P2.7

16、: 共8根,作A8A15,不擴(kuò)展時(shí)可作準(zhǔn)雙向I/O口; P3.0P3.7: 共8根,除可作為準(zhǔn)雙向I/O口外還具第二功能。,P3口功能表,芯片封裝,51芯片引腳圖,三、引腳功能(2) 2、控制引腳: 共4根+2根復(fù)用,ALE/PROG: 作輸出時(shí):ALE稱地址鎖存允許,用于分離AD0AD7; 作輸入時(shí):PROG,片內(nèi)EPROM編程時(shí)編程脈沖輸入端; RST/VPD:輸入復(fù)位引腳RESET,維持2個(gè)機(jī)器周期以上高電平時(shí)實(shí)現(xiàn)復(fù)位,也可用于備用電源輸入引腳VPD; EA/VDD:輸入引腳EA低電平有效時(shí)選擇片外程序存儲(chǔ)器;高電平無效時(shí)選擇片內(nèi)程序存儲(chǔ)器,也用作編程電源引腳VDD; PSEN:輸出引腳

17、,稱片外取指信號輸出端,在向片外存儲(chǔ)器進(jìn)行讀操作時(shí),每個(gè)機(jī)器周期兩次低電平有效; RD:輸出引腳,片外數(shù)據(jù)存儲(chǔ)器讀選通信號輸出,與并行口引腳P3.7復(fù)用; WR:輸出引腳,片外數(shù)據(jù)存儲(chǔ)器寫選通信號輸出,與并行口引腳P3.6復(fù)用;,51芯片引腳圖,三、引腳功能(3)3、其他引腳: 共4根+2根復(fù)用,XTAL1:片內(nèi)反相放大器輸入端,外接晶振; XTAL2:片內(nèi)反相放大器輸出端,外接晶振; VCC:主電源輸入,即+5V電源正端; VSS:主電源公共端,即GND,接電源負(fù)端; VPD:備用電源+5V0.5V的輸入端,當(dāng)主電源下降到規(guī)定數(shù)值以下時(shí)便向片內(nèi)RAM供電以保持RAM中的數(shù)據(jù); 該引腳與控制引

18、腳RST復(fù)用; VDD:片內(nèi)EPROM編程電源+21V的輸入引腳,與EA復(fù)用;,51芯片引腳圖,51外接晶振電路,四、CPU結(jié)構(gòu)(1),MCS-51的CPU由運(yùn)算器、寄存器組合、控制器組成。 1、運(yùn)算器: 8位ALU:(核心) 能夠完成加、減、乘、除等算術(shù)運(yùn)算及與、或、非、異或等邏輯操作; 算術(shù)運(yùn)算和邏輯操作都必須在寄存器的配合下才能完成。,四、CPU結(jié)構(gòu)(2),ALU操作過程中必須配合的寄存器: 累加器A: 存放第一操作數(shù)及操作結(jié)果的專用寄存器,也稱ACC;(E0H) 累加器B: 也稱B寄存器,乘、除法運(yùn)算時(shí)用作累加器功能;(F0H) 程序狀態(tài)字PSW: 存放程序運(yùn)行時(shí)指令操作的輔助結(jié)果,(

19、D0H)其各位為:,程序狀態(tài)字結(jié)構(gòu)(1),進(jìn)位標(biāo)志C(D7): 加、減法運(yùn)算有進(jìn)、借位時(shí)C=1,否則C=0; 位處理時(shí),作位累加器用,即存放第一操作數(shù)與結(jié)果; 輔助進(jìn)位標(biāo)志AC(D6): 加、減法運(yùn)算時(shí)低半字節(jié)的D3位有進(jìn)、借位時(shí) AC=1,否則AC=0; 軟件標(biāo)志F0(D5): 由軟件置位或復(fù)位,歸用戶定義使用;,D7 D6 D5 D4 D3 D2 D1 D0,程序狀態(tài)字結(jié)構(gòu)(2),工作寄存器組選擇位:RS1(D4)、RS0(D3): 由軟件置位或復(fù)位,用以選擇4組工作寄存器中的一組; 溢出標(biāo)志OV(D2): OV=1反映放回累加器A中的運(yùn)算結(jié)果已經(jīng)超出補(bǔ)碼形式表示的有符號數(shù)表達(dá)范圍(-12

20、8+127),具體操作為: 做加、減法運(yùn)算時(shí),若最高位、次高位二位中有一位產(chǎn)生進(jìn)、借位,則OV位被硬件置1; OV=C7C6 即異或 關(guān)系相同時(shí)為0,不相同時(shí)為1,程序狀態(tài)字結(jié)構(gòu)(3),做乘法運(yùn)算時(shí),當(dāng)積大于255時(shí)OV=1,否則OV=0,由于積的高8位在B中,低8位在A中,因此當(dāng)OV=0時(shí)只要從A中取積即可; 做除法運(yùn)算時(shí),若寄存器B中的除數(shù)為0則OV=1,否則OV=0; 奇偶標(biāo)志P(D0): 表達(dá)每次指令操作之后累加器A中的“1”的個(gè)數(shù),若A中“1”的個(gè)數(shù)為奇數(shù)個(gè)則P=1,偶數(shù)個(gè)則P=0;,四、CPU結(jié)構(gòu)(3),2、寄存器組合: MCS-51CPU中寄存器組合包括如下: 工作寄存器組:(0

21、0H1FH) R0R7每組8個(gè),共4組,由RS1、RS0的值來選擇: 當(dāng)值為0、0時(shí)第0組,R0R7的地址是:00H07H; 當(dāng)值為0、1時(shí)第1組,R0R7的地址是:08H0FH; 當(dāng)值為1、0時(shí)第2組,R0R7的地址是:10H17H; 當(dāng)值為1、1時(shí)第3組,R0R7的地址是:18H1FH;,四、CPU結(jié)構(gòu)(4),位尋址區(qū):(20H2FH)16字節(jié), 168=128位, 其位地址分別為00H7FH; 通用寄存器區(qū):通常堆棧設(shè)在該區(qū); (30H7FH) 共80字節(jié)(51子系列) (30HFFH) 共208字節(jié)(52子系列) 特殊功能寄存器區(qū):(80HFFH) 也稱SFR,只使用128字節(jié)中的一部

22、分: 51子系列用了21個(gè)、52子系列用了26個(gè);,片內(nèi)寄存器分布圖,數(shù)據(jù)指針DPTR,端口P0-P3,未定義的尋址區(qū),位尋址表,四、CPU結(jié)構(gòu)(5),3、控制器: 程序計(jì)數(shù)器PC: (PROGRAM COUNTER)用于存放下一條取指指令的地址,由于為16位,可尋址范圍為64K;(注意:PC無地址指令不能對PC直接尋址) 指令寄存器IR: 存放當(dāng)前正在執(zhí)行的指令; 指令譯碼器ID: 對IR中的指令操作碼進(jìn)行分析、解釋,產(chǎn)生相應(yīng)的控制信號控制計(jì)算機(jī)的運(yùn)行; 定時(shí)及控制電路: 按ID產(chǎn)生的控制信號以一定的時(shí)序控制計(jì)算機(jī)運(yùn)行。,取指令過程,指令執(zhí)行過程,指令執(zhí)行簡例,四、CPU結(jié)構(gòu)(6),附一:M

23、CS-51的布爾處理器 片內(nèi)數(shù)據(jù)存儲(chǔ)器中128位和專用功能寄存器中的85位(51子系列)或93位(52子系列)構(gòu)成了MCS-51的布爾處理器的操作區(qū)。 具有自己的指令系統(tǒng)、自己的累加器C 。 可執(zhí)行置位、清零、取反、等于1轉(zhuǎn)移、等于0轉(zhuǎn)移、等于1轉(zhuǎn)移并清零等操作。也可進(jìn)行一些簡單的邏輯操作。 位處理的好處是: 可以不使用過多的數(shù)據(jù)傳送,字節(jié)屏蔽和測試分支樹,就可以實(shí)現(xiàn)復(fù)雜的組合邏輯功能。,四、CPU結(jié)構(gòu)(7),附二:MCS-51的堆棧: MCS-51采用滿頂法向上生成的軟件堆棧; 堆棧指針SP:(地址為81H)只是低7位有效的 8位寄存器,堆棧深度最大可達(dá)128單元,注意只可設(shè)置在片內(nèi)RAM區(qū)

24、(或稱通用寄存器區(qū)),不能設(shè)置在片外RAM區(qū)。,軟件堆棧結(jié)構(gòu)圖,堆棧指針和壓棧操作實(shí)例,五、存儲(chǔ)空間(1),1、存儲(chǔ)空間概念: 微處理機(jī)指令系統(tǒng)能夠訪問的存儲(chǔ)器的地址范圍稱作存儲(chǔ)器的可尋址地址空間,簡稱存儲(chǔ)空間。 2、存儲(chǔ)器組織方式: 普林斯頓結(jié)構(gòu):程序存儲(chǔ)器、數(shù)據(jù)存儲(chǔ)器及I/O接口統(tǒng)一編址的方式; 哈佛結(jié)構(gòu):程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器(含I/O接口)分開編址的方式。,基本概述,半導(dǎo)體存儲(chǔ)器的分類: 一、只讀:相當(dāng)于印刷好了的書。 ROM(READ ONLY MEMORY) PROM、OTP(ONE TIME PROGRAM) EPROM、EEPROM、FLASH ROM等均需要特殊的“印刷”工具

25、編程器才能將內(nèi)容固化進(jìn)去。 二、隨機(jī):相當(dāng)于可隨時(shí)修改的顯示屏幕。 RAM(RANDOM ACCESS MEMORY),五、存儲(chǔ)空間(2),3、MCS-51系列存儲(chǔ)器組織: 三個(gè)概念空間4個(gè)物理空間存儲(chǔ)器: 64KB的片內(nèi)、片外統(tǒng)一編址的程序存儲(chǔ)器空間; 128B或256B的片內(nèi)單獨(dú)數(shù)據(jù)存儲(chǔ)器空間;(寄存器、存儲(chǔ)器雙重性質(zhì)) 64KB片外單獨(dú)數(shù)據(jù)存儲(chǔ)器空間 。,五、存儲(chǔ)空間(3),4、片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū): 數(shù)據(jù)存儲(chǔ)器的實(shí)際物理空間: A、51子系列有2個(gè)數(shù)據(jù)存儲(chǔ)器物理空間: 片內(nèi)RAM:00HFFH,(含SFR) 片外RAM:0000HFFFFH B、52子系列有3個(gè)數(shù)據(jù)存儲(chǔ)器物理空間: 片內(nèi)R

26、AM:00HFFH 片內(nèi)SFR:80HFFH 片外RAM:0000HFFFFH 注意:通過使用不同指令尋址來解決物理空間的編址重疊問題。,片內(nèi)寄存器分布圖,五、存儲(chǔ)空間(4),片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū)可分為四個(gè)區(qū)域 工作寄存器區(qū): 00H1FH,共32字節(jié) 每組8個(gè)字節(jié),分別記作R0R7,共4組,由PSW中RS1、RS0( D4、D3)指定當(dāng)前組: 當(dāng)RS1=0、RS0=0時(shí)選擇0組地址為00H07H 當(dāng)RS1=0、RS0=1時(shí)選擇1組地址為08H0FH 當(dāng)RS1=1、RS0=0時(shí)選擇2組地址為10H17H 當(dāng)RS1=1、RS0=1時(shí)選擇3組地址為18H1FH,工作寄存器操作實(shí)例,五、存儲(chǔ)空間(5),

27、位尋址區(qū): 20H2FH,共16字節(jié) 每字節(jié)8位,可尋址位為816=128位,位地址分別為00H7FH 注意: 該16字節(jié)既可以進(jìn)行字節(jié)尋址,又可以進(jìn)行位尋址(即布爾處理器可對此部分進(jìn)行操作)。,位尋址寄存器位地址表,位尋址舉例,位尋址區(qū)操作,五、存儲(chǔ)空間(6),數(shù)據(jù)緩沖區(qū): 51子系列為30H7FH,共80字節(jié) 52子系列為30HFFH,共208字節(jié) 可作片內(nèi)RAM或通用寄存器使用,低地址區(qū)常作堆棧區(qū)。 例如執(zhí)行指令: MOV SP,#2FH 即:從30H單元開始用作堆棧。,五、存儲(chǔ)空間(7),特殊寄存器區(qū):地址:80HFFH 也稱SFR(SPECIAL FUNCTION REGISTER)

28、區(qū) 共128字節(jié),但僅用了一小部分: 51子系列只用了21個(gè)單元,即18個(gè)SFR,其中含有3個(gè)雙字節(jié)的SFR; 52子系列只用了26個(gè)單元,即21個(gè)SFR,其中含有5個(gè)雙字節(jié)的SFR。 SFR用于片內(nèi)硬件的管理,通常只能以字節(jié)為單位借助于MOV指令直接尋址,但其地址為能夠被8所整除的單元(即以0、8結(jié)尾的單元)可實(shí)現(xiàn)位尋址。 51子系列有11個(gè)SFR單元的85個(gè)有效位可進(jìn)行位尋址; 52子系列有12個(gè)SFR單元的93個(gè)有效位可進(jìn)行位尋址;,五、存儲(chǔ)空間(8),片內(nèi)數(shù)據(jù)存儲(chǔ)器區(qū)也是前面CPU結(jié)構(gòu)中提到的寄存器組合。因此: 該部分物理單元具有寄存器和存儲(chǔ)器的雙重特性。,五、存儲(chǔ)空間(9),5、片外

29、數(shù)據(jù)存儲(chǔ)器區(qū): 0000HFFFFH,共64K字節(jié),使用MOVX指令尋址 當(dāng)尋址范圍256字節(jié)時(shí),可借助于工作寄存器R0或R1間接尋址: 從片外RAM區(qū)取數(shù)據(jù): MOVX A,Rj 向片外RAM區(qū)存數(shù)據(jù): MOVX Rj,A 當(dāng)尋址范圍256字節(jié)時(shí),可借助16位的數(shù)據(jù)指針DPTR間接尋址: 從片外RAM區(qū)取數(shù)據(jù): MOVX A,DPTR 向片外RAM區(qū)存數(shù)據(jù): MOVX DPTR,A,五、存儲(chǔ)空間(10),6、程序存儲(chǔ)器的物理空間: A、對于8051、8751、8951可以有2個(gè)物理空間: 片內(nèi)的4K空間: 0000H0FFFH 片外的64K空間: 0000HFFFFH B、對于8052可以有

30、2個(gè)物理空間: 片內(nèi)的8K空間: 0000H1FFFH 片外的64K空間: 0000HFFFFH C、對于8031、8032只有1個(gè)物理空間: 片外的64K空間: 0000HFFFFH 靠EA引腳上的電平來解決空間編址的重疊問題。,五、存儲(chǔ)空間(11),、片內(nèi)ROM區(qū): A、對于8051、8751、8951為4K: 0000H0FFFH; 對于8052為8K: 0000H1FFFH; B、該區(qū)的尋址由EA引腳上的電平保證,即EA=1時(shí)尋址片內(nèi)空間; C、取指令: 當(dāng)EA=1時(shí),控制器按PC中地址從片內(nèi)ROM中取指令; D、取數(shù)據(jù): 當(dāng)EA=1時(shí),使用指令 MOVC A,A+DPTR 或使用指令

31、 MOVC A,A+PC 從片內(nèi)ROM的表格中取數(shù)據(jù);,五、存儲(chǔ)空間(12),片外ROM區(qū): A、片外程序存儲(chǔ)器的使用范圍可以是52子系列的56K(2000HFFFFH)、51子系列的60K(1000HFFFFH)或者51、52子系列的64K(0000HFFFFH); B、對于51子系列的片外0000H0FFFH這4K區(qū)域或52子系列的片外0000H1FFFH這8K區(qū)域均必須使EA=0才能尋址。,五、存儲(chǔ)空間(13),ROM區(qū)的特殊地址: 51子系列有6個(gè): 一個(gè)復(fù)位入口和5個(gè)中斷入口; 52子系列有7個(gè): 一個(gè)復(fù)位入口和6個(gè)中斷入口; 其特殊地址和用途分別為:,五、存儲(chǔ)空間(14),0000

32、H0002H 3個(gè)單元 復(fù)位入口復(fù)位時(shí)PC=0000H 0003H000AH 8個(gè)單元 外部中斷0的中斷入口 000BH0012H 8個(gè)單元 T0溢出中斷的中斷入口 0013H001AH 8個(gè)單元 外部中斷1的中斷入口 001BH0022H 8個(gè)單元 T1溢出中斷的中斷入口 0023H002AH 8個(gè)單元 串行口中斷的中斷入口 002BH 無限止 T2溢出或T2EX端跳變 中斷的中斷入口(52) 51子系列除串行中斷、52子系列除T2溢出中斷之外,由于入口地址所含單元較少,故特殊地址中往往用來存放無條件轉(zhuǎn)移指令。,MCS-51存儲(chǔ)器的訪問 A、計(jì)算機(jī)運(yùn)行時(shí),控制器按照PC中的地址直接從ROM中

33、 獲取指令; B、MCS-51系列CPU從ROM中獲取數(shù)據(jù)的方法: 借助16位的數(shù)據(jù)指針DPTR: MOVC A,A+DPTR 借助16位的程序計(jì)數(shù)器PC: MOVC A,A+PC C、MCS-51系列CPU從RAM中獲取數(shù)據(jù)的方法: 借助16位的數(shù)據(jù)指針DPTR: MOVX A,DPTR 借助8位的工作寄存器R0或R1: MOVX A,Rj D、MCS-51系列CPU向RAM中存放數(shù)據(jù)的方法: 借助16位的數(shù)據(jù)指針DPTR: MOVX DPTR,A 借助8位的工作寄存器R0或R1: MOVX Rj,A,2-4 時(shí)鐘、復(fù)位和時(shí)序,一、時(shí)鐘和時(shí)鐘電路 二、復(fù)位和復(fù)位電路 三、總線與操作時(shí)序,一、

34、時(shí)鐘和時(shí)鐘電路,1、時(shí)鐘的作用: 為CPU內(nèi)部以及CPU與其他部件的協(xié)調(diào)工作提供基本節(jié)拍。 2、時(shí)鐘的來源: 芯片內(nèi)部自己產(chǎn)生; 芯片外部輸入脈沖。 外部輸入時(shí)注意不同工藝芯片從不同引腳輸入的處理方法。,晶體振蕩電路,MCS-51復(fù)位電路,二、復(fù)位和復(fù)位電路(1),1、復(fù)位的作用: 復(fù)位使所有硬件處于初始化狀態(tài)。 復(fù)位能夠使系統(tǒng)從頭開始工作或者使系統(tǒng)退出死機(jī)、無效狀態(tài),重新初始化后開始工作。 2、復(fù)位的方式: 硬件冷復(fù)位(上電自動(dòng)復(fù)位) 硬件熱復(fù)位(手動(dòng)按鍵復(fù)位) 軟件復(fù)位(MCS-51無相應(yīng)指令),二、復(fù)位和復(fù)位電路(2),3、復(fù)位條件: RST引腳上出現(xiàn)10ms以上的高電平; 4、復(fù)位電路

35、: 由反相器A、電阻R、電容C構(gòu)成上電自動(dòng)復(fù)位電路;按鍵K為手動(dòng)復(fù)位而設(shè),二極管D用以增加斷電后短時(shí)間上電的電路可靠性; 5、復(fù)位結(jié)果:復(fù)位后硬件所處初始化狀態(tài)為: (PC)=0000H; (SP)=07H; (PSW)=00H; P0P3口鎖存器全為1,可用作輸入; 除串行數(shù)據(jù)緩沖器SBUF不變之外,其余SFR均清0;,MCS-51復(fù)位電路,三、總線與操作時(shí)序(1),1、振蕩周期t0: 利用片內(nèi)放大器和外接的反饋器件(晶體)形成自激振蕩,若振蕩產(chǎn)生的信號頻率為f0,則振蕩周期為:t0=1/f0; 振蕩周期是MCS-51的基本節(jié)拍,稱P。 2、時(shí)鐘周期S: 也稱狀態(tài)周期,是自激振蕩信號經(jīng)2分頻

36、后得到,則:S=2t0=2/f0; 時(shí)鐘周期是MCS-51的工作節(jié)拍,稱S。,三、總線與操作時(shí)序(2),3、機(jī)器周期T: 每6個(gè)時(shí)鐘周期構(gòu)成一個(gè)機(jī)器周期,因此:T=6S=12t0=12/f0; 4、指令周期: CPU執(zhí)行一條指令所需的時(shí)間稱指令周期。MCS-51的乘、除法指令的指令周期為4T,其余指令為單或雙周期指令;,讀片外存儲(chǔ)器時(shí)序圖,指令周期概念及實(shí)例,三、總線與操作時(shí)序(3),5、片外三總線: 數(shù)據(jù)總線DB: 8位、雙向,P0口(分時(shí)復(fù)用)引出; 地址總線AB: 16位、單向,P0(低)P2(高)引出; 控制總線CB: 6根、定向,專用或P3口第二功能。,片外三總線圖,三、總線與操作時(shí)

37、序(4),6、取指與指令執(zhí)行: 單字節(jié)指令 單字節(jié)單周期指令 取指令操作碼2個(gè)字節(jié),丟棄1個(gè)字節(jié) 單字節(jié)雙周期指令 取指令操作碼4個(gè)字節(jié),丟棄3個(gè)字節(jié) (涉及片外存儲(chǔ)器時(shí)除外) 單字節(jié)四周期指令 取指令操作碼8個(gè)字節(jié),丟棄7個(gè)字節(jié),三、總線與操作時(shí)序(5),雙字節(jié)指令: 雙字節(jié)單周期指令 取指令操作碼、地址碼各1個(gè)字節(jié) 雙字節(jié)雙周期指令 取指令操作碼、地址碼各1個(gè)字節(jié)后再取指令操作碼2個(gè)字節(jié)并丟棄,三、總線與操作時(shí)序(6),叁字節(jié)指令: 叁字節(jié)雙周期指令 取出操作碼1個(gè)字節(jié)、地址碼2個(gè)字節(jié)后,再取出1個(gè)字節(jié)的操作碼并丟棄,本章小結(jié),1、微處理器的結(jié)構(gòu); 2、MCS-51系列的片內(nèi)資源; 3、M

38、CS-51系列的存儲(chǔ)空間; 4、MCS-51系列的時(shí)鐘和復(fù)位; 5、MCS-51系列的總線和時(shí)序。,本章作業(yè),P0口驅(qū)動(dòng)器,P0口鎖存器,P2口驅(qū)動(dòng)器,P3口驅(qū)動(dòng)器,P1口驅(qū)動(dòng)器,P2口鎖存器,P3口鎖存器,P1口鎖存器,RAM 地址鎖存器,RAM,EPROM/ROM,ACC,B寄存器,TMP2,TMP1,程序地址 寄存器,PSW,緩沖器,PC遞增器,PC,DPTR,OSC,定時(shí) 和 控制,指 令 寄 存 器,PSEN ALE EA RST,ALU,中斷、串行口 和定時(shí)器等部件,SP,P0.0P0.7 P2.0P2.7,P1.0P1.7 P3.0P3.7,MCS-51硬件內(nèi)部結(jié)構(gòu)方框圖,返回,

39、4,5,5,1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 8031 32 10 8051 31 11 8751 30 12 8032 29 13 8052 28 14 8752 27 15 26 16 25 17 24 18 23 19 22 20 21,VCC P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 EA/VDD ALE/PROG PSEN P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,T2/P1.0 T2EX/P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7

40、RST/VPD RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 XTAL2 XTAL1 VSS,MCS-51 芯 片 引 腳 圖,返回,DIP封裝,集成電路芯片封裝,集成電路芯片常見的封裝有: DIP:雙列直插式封裝技術(shù); PLCC:貼片封裝的一種,引腳在芯片底部向內(nèi)彎曲,焊接采用回流焊工藝; QFP:方型扁平式封裝技術(shù),該技術(shù)實(shí)現(xiàn)的CPU芯片引腳之間距離很小,管腳很細(xì),在大規(guī)模或超大規(guī)模集成電路采用; TQFP:薄四方扁平封裝; SOIC:小外形集成電路封裝 ,一般引線數(shù)不超過28條。 封裝僅僅是芯片

41、的外部表現(xiàn)形式。,返回,MCS-51 RST,A,R D,C,K,+5V,MCS-51 的 復(fù) 位 電 路,返回,: :,堆棧的底部,堆棧的頂部,SP,軟件堆棧結(jié)構(gòu)圖,堆棧特點(diǎn): 先進(jìn)后出 后進(jìn)先出,壓 入,彈 出,返回,地 址 增 大,堆棧指針與壓棧操作,當(dāng)堆棧指針SP=07H時(shí), 實(shí)際的堆??臻g是從08H開始,也就是說若有地址自動(dòng)壓棧 操作時(shí),將會(huì)填寫08H和09H單元的內(nèi)容。可見會(huì)與工作寄存器 1組產(chǎn)生沖突; 當(dāng)堆棧指針SP=1FH時(shí), 實(shí)際的堆??臻g是從20H開始,也就是說若有地址自動(dòng)壓棧 操作時(shí),將會(huì)填寫20H和21H單元的內(nèi)容。可見會(huì)與位尋址區(qū)產(chǎn) 生沖突; 當(dāng)堆棧指針SP=2FH時(shí)

42、, 實(shí)際的堆??臻g是從30H開始,也就是說若有地址自動(dòng)壓棧操作時(shí), 將會(huì)填寫30H和31H單元的內(nèi)容??梢姇?huì)與數(shù)據(jù)緩沖區(qū)產(chǎn)生沖突。 因此,通常可使堆棧指針SP5FH 或6FH.也就是說,編程時(shí)最好要對 工作寄存器、位尋址區(qū)、數(shù)據(jù)緩沖區(qū)、堆棧等的使用有一個(gè)基本的規(guī)劃。 思考:當(dāng)堆棧指針SP=7FH時(shí),實(shí)際的堆棧會(huì)從什么地址開始?,返回,FFH FFH 80H 80H 7FH 30H 2FH 20H 1FH 00H,僅52子系列有,SFR 特殊 寄存器,通用寄存器區(qū),位尋址區(qū),工作寄存器3組,工作寄存器2組,工作寄存器1組,工作寄存器0組,片 內(nèi) 寄 存 器 分 布 圖,返回,D7 D6 D5 D

43、4 D3 D2 D1 D0,字節(jié) 2FH 2EH 2DH 2CH 2BH 2AH 29H 28H 27H 26H 25H 24H 23H 22H 21H 20H,位尋址寄存器每一位的位地址表,返回,數(shù)據(jù)指針寄存器DPTR,數(shù)據(jù)指針寄存器DPTR 16位 主要有兩個(gè)用途: 一是用基址加變址的尋址方法,訪問程序存儲(chǔ)器讀表格常數(shù) MOVC A,A+DPTR 二是用來保持16位地址,對64K片外數(shù)據(jù)存儲(chǔ)器空間尋址. MOVX A,DPTR MOVX DPTR,A 除上述兩種用途外,亦可分成兩個(gè)獨(dú)立的8位寄存器來使用. MOV DPH,A MOV A,DPL DPH 地址 83H DPL 地址 82H,

44、返回,端口地址P0-P3,MCS51的口線鎖存器作為專用寄存器處理,因此 都有相應(yīng)的SFR地址。(寄存器化) P0 80H P1 90H P2 A0H P3 B0H 注意:在使用8031芯片或外擴(kuò)程序存儲(chǔ)器數(shù)據(jù)存儲(chǔ)器時(shí),P0 、P2口要用作地址線和數(shù)據(jù)線,因此不能簡單地使用指令 MOV P0,A MOV A,P2 (指令無效) 使用P3口時(shí)也要注意同樣問題。,返回,未定義的SFR,剩余未定義的一百多個(gè)尋址地址,無法用作用戶數(shù)據(jù)存儲(chǔ)器. 比如: MOV A,0FFH 將FFH單元的內(nèi)容送到A MOV 85H,A 將A的內(nèi)容送到85H單元 這些指令沒有任何意義.讀取的可能是 不確定的隨機(jī)數(shù).,返回

45、,MCS-51CPU讀片外存儲(chǔ)器的時(shí)序圖,P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 P1 P2 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6, 第 一 機(jī) 器 周 期 第 二 機(jī) 器 周 期 ,F0 ALE PSEN P2口 P0口 373出 RD,PCH出 PCH輸出 PCH或P2輸出 PCH出,指令 PCL 指令 PCL 數(shù)據(jù) PCL 指令,PCL出 PCL輸出 PCL輸出 PCL輸出,MOVX的讀指令時(shí)序,返回,指令周期概念,CPU執(zhí)行一條指令所需的時(shí)間稱指令周期。 在MCS-51系列單片機(jī)指令系統(tǒng)中: 單字節(jié)和雙字節(jié)指令都可能是單周期或雙周期的, 三字節(jié)指令都是雙周期的, 乘、除法指令是4周期指令。 例如: RET 22 單字節(jié) 雙周期 INC 08H 05 08 雙字節(jié) 單周期 PUSH 30H CO 30 雙字節(jié) 雙周期 LJMP 0500H 02 05 00 三字節(jié) 雙周期 MUL AB A4 單字節(jié) 4周期,返回,P3口引腳的

溫馨提示

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

最新文檔

評論

0/150

提交評論