第2章89C51單片機硬件結構和原理_第1頁
第2章89C51單片機硬件結構和原理_第2頁
第2章89C51單片機硬件結構和原理_第3頁
第2章89C51單片機硬件結構和原理_第4頁
第2章89C51單片機硬件結構和原理_第5頁
已閱讀5頁,還剩157頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2021-7-942.189C51單片機芯片內部結構及特點單片機芯片內部結構及特點42.289C51單片機引腳及其功能單片機引腳及其功能42.389C51單片機存儲器配置單片機存儲器配置42.4時鐘電路及時鐘電路及89C51CPU時序時序42.5復位操作復位操作42.6 89C51單片機的低功耗工作方式單片機的低功耗工作方式第第2章章 89C51單片機的結構和原理單片機的結構和原理42.7輸出輸出/輸入端口結構輸入端口結構2021-7-92.12.1 89C51單片機芯片內部結構及特點單片機芯片內部結構及特點:2.1.1 89C512.1.1 89C51單片機的基本組成單片機的基本組成:2.1

2、.2 89C512.1.2 89C51單片機芯片內部結構單片機芯片內部結構2021-7-92.1.1 89C512.1.1 89C51單片機的基本組成單片機的基本組成一、組成一、組成二、二、89C51系列單片機的性能系列單片機的性能2021-7-9一、組成一、組成 89C51單片機結構框圖單片機結構框圖 如如 圖圖2-1所示所示2021-7-989C51CPU振蕩器和時序振蕩器和時序OSC64KB 總線總線擴展控制器擴展控制器數據存儲器數據存儲器256B RAM/SFR216位位定時器定時器/計數器計數器可編程可編程I/O程序存儲器程序存儲器4KB FLASH ROM可編程全雙工可編程全雙工串

3、行口串行口外中斷外中斷內中斷內中斷控制控制并行口并行口串行通信串行通信外部時鐘源外部時鐘源外部事件計數外部事件計數2021-7-9一、組成一、組成+1、一個、一個8位位 的微處理器的微處理器CPU。用以存放可以讀用以存放可以讀/寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等。寫的數據,如運算的中間結果、最終結果以及欲顯示的數據等。+2、片內數據存儲器、片內數據存儲器(RAM128B/256B): 用以存放程序、一些原始數據和表格。用以存放程序、一些原始數據和表格。+3、片內、片內4kB程序存儲器程序存儲器Flash ROM(4KB):+4、四個、四個8位并行位并行I/O(輸入(輸入/輸

4、出)接口輸出)接口 P0P3:每個口可以用作輸入,也可以用作輸出。每個口可以用作輸入,也可以用作輸出。2021-7-9一、組成一、組成 每個定時每個定時/計數器都可以設置成計數方式,用以計數器都可以設置成計數方式,用以 對對 外部事件進行計數,外部事件進行計數,也可以設置成定時方式,并可以根據計數或定時的結果也可以設置成定時方式,并可以根據計數或定時的結果 實現計算機控制。實現計算機控制。+5、兩個或三個定時、兩個或三個定時/計數器計數器: 可實現單片機與單片機或其它微機之間串行通信??蓪崿F單片機與單片機或其它微機之間串行通信。+6、一個全雙工、一個全雙工UART的串行的串行I/O口口: 但需

5、外接晶振和電容。但需外接晶振和電容。+7、片內振蕩器和時鐘產生電路、片內振蕩器和時鐘產生電路:+8、五個中斷源的中斷控制系統(tǒng)。、五個中斷源的中斷控制系統(tǒng)。+9、具有節(jié)電工作方式:、具有節(jié)電工作方式: 休閑方式及掉電方式。休閑方式及掉電方式。2021-7-9二、二、89C51系列單片機的性能系列單片機的性能 89C51單片機與單片機與8051相比,具有節(jié)電工作方式,即休閑方式及掉電方式。相比,具有節(jié)電工作方式,即休閑方式及掉電方式。以上各個部分通過片內以上各個部分通過片內8位數據總線(位數據總線(DBUS)相連接。)相連接。另外另外89C51是用靜態(tài)邏輯來設計的,其工作頻率可下降到是用靜態(tài)邏輯來

6、設計的,其工作頻率可下降到0 Hz,并提供兩種可用,并提供兩種可用軟件來選擇的省電方式軟件來選擇的省電方式空閑方式(空閑方式(Idle Mode)和掉電方式(和掉電方式(Power Down Mode)。在空閑方式中,)。在空閑方式中,CPU停止工作,而停止工作,而RAM、定時器、定時器/計數器、串行口和中計數器、串行口和中斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式。在掉電方式中,片內振蕩器停止工作,由于時鐘被中,片內振蕩器停止工作,由于時鐘被“凍結凍結”,使一切功能都暫停,故只保存,使一切功能都暫停,故只保存

7、片內片內RAM中的內容,直到下一次硬件復位為止。這種方式下的電流可降到中的內容,直到下一次硬件復位為止。這種方式下的電流可降到15 A以下,最小可降到以下,最小可降到06 A。89C51單片機還有一種低電壓的型號,即單片機還有一種低電壓的型號,即89LV51,除了電壓范圍有區(qū)別之外,其,除了電壓范圍有區(qū)別之外,其余特性與余特性與89C51完全一致。完全一致。89C51/LV51是一種低功耗是一種低功耗/低電壓、高性能的低電壓、高性能的8位單片機。它采用了位單片機。它采用了CMOS工藝和工藝和高密度非易失性存儲器(高密度非易失性存儲器(NURAM)技術,而且其輸出引腳和指令系統(tǒng)都與)技術,而且其

8、輸出引腳和指令系統(tǒng)都與MCS51兼容;片內的兼容;片內的Flash ROM允許在系統(tǒng)內改編程序或用常規(guī)的非易失性存儲允許在系統(tǒng)內改編程序或用常規(guī)的非易失性存儲器編程器來編程。因此器編程器來編程。因此89C51/LV51是一種功能強、靈活性高,且價格合理的單片是一種功能強、靈活性高,且價格合理的單片機,可方便地應用在各種控制領域。機,可方便地應用在各種控制領域。2021-7-92.1.2 89C51單片機芯片內部結構單片機芯片內部結構一、結構圖一、結構圖二、結構組成二、結構組成2021-7-9一、結構圖一、結構圖 由由 中央處理單元(中央處理單元(CPU)、)、存儲器存儲器(ROM及及RAM)和

9、和I/O接口接口組成。組成。 89C51單片機內部結構如單片機內部結構如 圖圖2-2所示所示。2021-7-9P0驅動器驅動器P2驅動器驅動器P0鎖存器鎖存器P2鎖存器鎖存器RAM地址地址寄存器寄存器128BRAM4KBROMB寄存器寄存器暫存器暫存器1暫存器暫存器2ACCSP程序地址程序地址寄存器寄存器 緩沖器緩沖器PC增增1PCDPTR中斷、串行口和定時器中斷、串行口和定時器PSWP1鎖存器鎖存器P1驅動器驅動器P3鎖存器鎖存器P3驅動器驅動器定定時時控控制制指指令令寄寄存存器器指指令令譯譯碼碼器器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL

10、1 XTAL2PSENALEEARESET運算器運算器控制器控制器存儲器存儲器I/O接口接口2021-7-9P0驅動器驅動器P2驅動器驅動器P0鎖存器鎖存器P2鎖存器鎖存器RAM地址地址寄存器寄存器128BRAM4KBROMB寄存器寄存器暫存器暫存器1暫存器暫存器2ACCSP程序地址程序地址寄存器寄存器 緩沖器緩沖器PC增增1PCDPTR中斷、串行口和定時器中斷、串行口和定時器PSWP1鎖存器鎖存器P1驅動器驅動器P3鎖存器鎖存器P3驅動器驅動器定定時時控控制制指指令令寄寄存存器器指指令令譯譯碼碼器器OSCALUP0.0-P0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1

11、 XTAL2PSENALEEARESET運算器運算器控制器控制器存儲器存儲器I/O接口接口2021-7-9二、結構組成二、結構組成(一)、中央處理單元(一)、中央處理單元(CPU)(二)、存儲器(二)、存儲器(三)、(三)、I/O接口接口2021-7-91、中央處理單元(、中央處理單元(89C51CPU) 1)運算器)運算器2)控制器)控制器2021-7-91)運算器)運算器 (1)8位的位的ALU:(2)8位累加器位累加器ACC(A):):(3)8位程序狀態(tài)寄存器位程序狀態(tài)寄存器PSW:(4)8位寄存器位寄存器B:(5)布爾處理器:)布爾處理器:(6)2個個8位暫存器:位暫存器:2021-7

12、-91)運算器)運算器可對可對4 4位、位、8 8位、位、1616位數據進行操作。位數據進行操作。(1)8位的位的ALU:2021-7-91)運算器)運算器(2)8位累加器位累加器ACC(A):): 它經常作為一個運算數經暫存器它經常作為一個運算數經暫存器2 2進入進入ALUALU的輸入端,與另一個來自暫存器的輸入端,與另一個來自暫存器1 1的運算數進行運算,運算結果又送回的運算數進行運算,運算結果又送回ACCACC。2021-7-91)運算器)運算器指示指令執(zhí)行后的狀態(tài)信息供程序查詢指示指令執(zhí)行后的狀態(tài)信息供程序查詢和判別用。和判別用。(3)8位程序狀態(tài)寄存器位程序狀態(tài)寄存器PSW:2021

13、-7-91)運算器)運算器(4)8位寄存器位寄存器B: 在乘除運算時,用來存放一個操作數也在乘除運算時,用來存放一個操作數也用來存放運算后的一部分結果;如不用來存放運算后的一部分結果;如不能做乘除運算時,作為通用寄存器。能做乘除運算時,作為通用寄存器。2021-7-91)運算器)運算器(5)布爾處理器:)布爾處理器:專門用于處理位操作的,以專門用于處理位操作的,以PSWPSW中的中的C C為為其累加器。其累加器。2021-7-91)運算器)運算器(6)2個個8位暫存器位暫存器:ALUALU的兩個入口處。的兩個入口處。2021-7-92)控制器)控制器(1)程序計數器)程序計數器PC(16位)位

14、)(2)指令寄存器)指令寄存器IR及指令譯碼器及指令譯碼器ID(3)振蕩器和定時電路)振蕩器和定時電路2021-7-9(1)程序計數器)程序計數器PC(16位)位) 由兩個由兩個8 8位計數器位計數器PCHPCH、PCLPCL組成。組成。 PCPC是程序的字節(jié)地址計數器,是程序的字節(jié)地址計數器,PCPC內內容為將要執(zhí)行的指令地址。容為將要執(zhí)行的指令地址。 改變改變PCPC內容,改變執(zhí)行的流向內容,改變執(zhí)行的流向。 PCPC可對可對64KB64KB的的ROMROM直接尋址,也可對直接尋址,也可對89C5189C51片內片內RAMRAM尋址。尋址。2021-7-9(2)指令寄存器)指令寄存器IR及

15、指令譯碼器及指令譯碼器ID 由由PCPC中的內容指定中的內容指定ROMROM地址地址 取出來的指令經取出來的指令經IRIR送至送至IDID 由由IDID對指令譯碼產生一定序列的控對指令譯碼產生一定序列的控制信號,以執(zhí)行指令所規(guī)定的操作。制信號,以執(zhí)行指令所規(guī)定的操作。2021-7-9(3)振蕩器和定時電路)振蕩器和定時電路 89C5189C51單片機片內有振蕩電路,只需外接石單片機片內有振蕩電路,只需外接石英晶體和頻率微調電容(英晶體和頻率微調電容(2 2個個30pF30pF左右),左右),其頻率范圍為其頻率范圍為1.2MHz1.2MHz12MHz12MHz。該信號作為。該信號作為89C518

16、9C51工作的基本節(jié)拍即時間的最小單位。工作的基本節(jié)拍即時間的最小單位。2021-7-92、存儲器、存儲器1)程序存儲器()程序存儲器(ROM)2)數據存儲器()數據存儲器(RAM)2021-7-91)程序存儲器()程序存儲器(ROM)289C5189C51片內為片內為4KB Flash ROM4KB Flash ROM。2地址從地址從0000H0000H開始。開始。2用于存放程序和表格常數。用于存放程序和表格常數。2021-7-92)數據存儲器()數據存儲器(RAM)289C51RAM89C51RAM均為均為128B128B,地址為,地址為00H00H7FH7FH。2用于存放運算的中間結果、

17、數據暫存以及數據緩用于存放運算的中間結果、數據暫存以及數據緩沖等。沖等。2這這128B128B的的RAMRAM中有中有3232個字節(jié)單元可指定為工作寄個字節(jié)單元可指定為工作寄存器。存器。2片內還有片內還有2121個特殊功能寄存器(個特殊功能寄存器(SFRSFR),它們同),它們同128128字節(jié)字節(jié)RAMRAM統(tǒng)一編址,地址為統(tǒng)一編址,地址為80H80HFFHFFH。后面詳。后面詳細介紹。細介紹。2021-7-93、I/O接口接口289C5189C51有四個有四個8 8位并行位并行I/OI/O接口接口P0P0P3P3。2它們都是雙向端口,每個端口各有它們都是雙向端口,每個端口各有8 8條條I/

18、OI/O線。線。2P0-P3P0-P3口四個鎖存器同口四個鎖存器同RAMRAM統(tǒng)一編址,統(tǒng)一編址,可作為可作為SFRSFR來尋址。來尋址。2021-7-92.2 89C51單片機引腳及其功能單片機引腳及其功能2.2.1 89C51單片機引腳單片機引腳2.2.2 89C51單片機引腳功能單片機引腳功能2021-7-92.2.1 89C51單片機引腳單片機引腳 圖圖2-3是是 89C51/LV51的引腳結構圖,有雙列直插封裝的引腳結構圖,有雙列直插封裝(DIP)方式和方形封裝方式。方式和方形封裝方式。2021-7-9圖圖2-3 89C51/LV51的引腳結構的引腳結構 2021-7-92.2.2

19、89C51單片機引腳功能單片機引腳功能 一、電源引腳:一、電源引腳:Vcc和和Vss 二、時鐘電路引腳:二、時鐘電路引腳:XTAL1和和XTAL2 三、控制信號引腳三、控制信號引腳RST、ALE、PSEN和和EA 四、四、I/O端口端口P0、P1、P2和和P32021-7-9一、電源引腳:一、電源引腳:Vcc和和Vss1 1Vcc(40Vcc(40腳腳) ):電源端,為電源端,為+5V+5V。2 2Vss(20Vss(20腳腳) ):接地端。接地端。2021-7-9二、時鐘電路引腳:二、時鐘電路引腳:XTAL1和和XTAL2 XTAL2XTAL2(1818腳):腳):接外部晶體和微調電容接外部

20、晶體和微調電容的一端;在的一端;在89C51 89C51 片內它是振蕩電路反向片內它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。該引腳輸入外部時鐘脈沖。89C5189C51正常工作正常工作時,該引腳應有脈沖信號輸出。時,該引腳應有脈沖信號輸出。2021-7-9 XTAL1XTAL1(1919腳):腳):接外部晶體和微調接外部晶體和微調電容的另一端;在片內它是振蕩電電容的另一端;在片內它是振蕩電路反向放大器的輸入端,在采用外路反向放大器的輸入端,在采用外部時鐘

21、時,該引腳接地。部時鐘時,該引腳接地。二、時鐘電路引腳:二、時鐘電路引腳:XTAL1和和XTAL22021-7-9 三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA RST/VRST/VPDPD(9 9腳):腳):RSTRST:復位信號輸入端,高電平有效。復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期的高電當此輸入端保持兩個機器周期的高電平時,就可以完成復位操作。平時,就可以完成復位操作。2021-7-9 RST/VRST/VPDPD(9 9腳):腳):V VPDPD :RSTRST引腳的第二功能,備用電源引腳的第二功能,備用電源輸入端。當主電源輸入端。當主電源Vc

22、c Vcc 發(fā)生故障,降發(fā)生故障,降低到低電平規(guī)定值時,將低到低電平規(guī)定值時,將+5V+5V電源自動電源自動接入該引腳,為接入該引腳,為RAMRAM提供備用電源,以提供備用電源,以保證保證RAMRAM中的信息不丟失,使得復位后中的信息不丟失,使得復位后能繼續(xù)正常運行。能繼續(xù)正常運行。 三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9 ALE/PROGALE/PROG(3030腳):腳):ALEALE:地址鎖存允許信號端。正常工作時,地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的該引腳以振蕩頻率的1/61/6固定輸出正脈沖。固定輸出正脈沖。CPUCPU訪問

23、片外存儲器時,該引腳輸出信號作訪問片外存儲器時,該引腳輸出信號作為鎖存低為鎖存低8 8位地址的控制信號。它的負載能位地址的控制信號。它的負載能力為力為8 8個個LSLS型型TTLTTL負載。負載。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9 ALE/PROGALE/PROG(3030腳):腳):PROGPROG:是對片內帶有是對片內帶有4KB Flash ROM4KB Flash ROM的的89C5189C51編程寫入時的編程脈沖輸入端。編程寫入時的編程脈沖輸入端。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9 PS

24、EN(29腳):腳):程序存儲器允許信號輸出端。程序存儲器允許信號輸出端。在訪問片外在訪問片外ROMROM時,定時輸出負脈沖時,定時輸出負脈沖作為讀片外作為讀片外ROMROM的選通信號,接片外的選通信號,接片外ROMROM 的的OEOE端。端。它的負載能力為它的負載能力為8 8個個LSLS型型TTLTTL負載。負載。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9 EA/VEA/Vpppp(3131腳):腳):EAEA: 外部程序存儲器地址允許輸入端。外部程序存儲器地址允許輸入端。當該引腳接高電平時,當該引腳接高電平時,CPUCPU訪問片內訪問片內ROMRO

25、M并并執(zhí)行片內程序存儲器中的指令,但當執(zhí)行片內程序存儲器中的指令,但當PCPC值超值超過過0FFFH0FFFH(片內(片內ROMROM為為4KB4KB)時,將自動轉向)時,將自動轉向執(zhí)行片外執(zhí)行片外ROMROM中的程序。中的程序。當該引腳接低電平時,當該引腳接低電平時,CPUCPU只訪問片外只訪問片外ROMROM并執(zhí)行外部程序存儲器中的程序。并執(zhí)行外部程序存儲器中的程序。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9 EA/Vpppp(31腳):腳):V Vpppp:對對89C5189C51片內片內 Flash ROMFlash ROM固化編固化編程時,編

26、程電壓輸入端(程時,編程電壓輸入端(12-21V12-21V)。)。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EA2021-7-9四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P3 1 1、準雙向、準雙向 2 2、P0P0口口 3 3、P1P1口口 4 4、P2P2口口 5 5、P3P3口口2021-7-91、準雙向、準雙向當當I/OI/O口作為輸入時,應先向此口鎖口作為輸入時,應先向此口鎖存器寫入全存器寫入全1 1, 此時該口引腳浮空,此時該口引腳浮空,可作高阻抗輸入??勺鞲咦杩馆斎?。2021-7-92、P0口:口:漏極開路的漏極開路的8 8位準雙向位

27、準雙向I/OI/O口,每位能驅口,每位能驅動動8 8個個LSLS型型TTLTTL負載。負載。P0P0口可作為一個數據輸入口可作為一個數據輸入/ /輸出口;輸出口;在在CPUCPU訪問片外存儲器時,訪問片外存儲器時,P0P0口為分時口為分時復用的低復用的低8 8位地址總線和位地址總線和8 8位數據總線。位數據總線。2021-7-93、P1口:口:帶內部上拉電阻的帶內部上拉電阻的8位準雙向位準雙向I/O端端口,每位能驅動口,每位能驅動4個個LS型型TTL負載。負載。2021-7-94、P2口:口:P2口:口:帶內部上拉電阻的帶內部上拉電阻的8位準雙位準雙向向I/O端口,每位能驅動端口,每位能驅動4

28、個個LS型型TTL負載。在負載。在CPU訪問片外存儲器訪問片外存儲器時,它輸出高時,它輸出高8位地址位地址。2021-7-95、P3口:口:帶內部上拉電阻的帶內部上拉電阻的8 8位準雙向位準雙向I/OI/O端端口,每位能驅動口,每位能驅動4 4個個LSLS型型TTLTTL負載。負載。P3P3口除作為一般口除作為一般I/OI/O口外,每個引腳口外,每個引腳都有第二功能。都有第二功能。2021-7-9表表2-1 P3端口引腳與復用功能表端口引腳與復用功能表2021-7-92.3.12.3.1 89C5189C51存儲器分類存儲器分類2.3.22.3.2 程序存儲器地址空間程序存儲器地址空間2.3.

29、32.3.3 數據存儲器地址空間數據存儲器地址空間2021-7-92.3.12.3.1 89C51 89C51存儲器分類存儲器分類一、物理結構(哈佛結構)一、物理結構(哈佛結構)二、用戶角度二、用戶角度2021-7-9片內程序存儲器片內程序存儲器片外程序存儲器片外程序存儲器片內數據存儲器片內數據存儲器片外數據存儲器片外數據存儲器一、物理結構(哈佛結構)一、物理結構(哈佛結構)89C51存儲器存儲器程序存儲器程序存儲器ROM數據存儲器數據存儲器RAM2021-7-9二、用戶角度二、用戶角度如圖如圖2-4所示所示2021-7-9二、用戶角度二、用戶角度1、片內、外統(tǒng)一編址的、片內、外統(tǒng)一編址的64

30、K程序存儲器地程序存儲器地址空間。址空間。CPU訪問片內、片外訪問片內、片外ROM指令指令用用MOVC。2021-7-9二、用戶角度二、用戶角度2、64K的片外數據存儲器地址空間。訪問的片外數據存儲器地址空間。訪問片外片外RAM指令用指令用MOVX。2021-7-9二、用戶角度二、用戶角度3、256字節(jié)的片內數據存儲器地址空間。字節(jié)的片內數據存儲器地址空間。訪問片內訪問片內RAM指令用指令用MOV。 上述三個存儲空間地址是重疊的,上述三個存儲空間地址是重疊的,89C51的的指令系統(tǒng)采用不同的數據傳送指令符號。指令系統(tǒng)采用不同的數據傳送指令符號。2021-7-92.3.2 2.3.2 程序存儲器

31、地址空間程序存儲器地址空間 一、用途:一、用途: 二、編址:二、編址: 三、尋址方式:三、尋址方式:2021-7-9一、用途:一、用途: 用于存放編好的程序和表格常數。用于存放編好的程序和表格常數。2021-7-9二、編址:二、編址: 89C51片內片內Flash ROM的容量為的容量為4KB。地。地址為址為0000H0FFFH。 片外最多可擴至片外最多可擴至64KB ROM/EPROM,地,地址為址為1000HFFFFH。 片內外統(tǒng)一編址。片內外統(tǒng)一編址。2021-7-9三、尋址方式:三、尋址方式:1、當、當 EA=“1”時:時:89C5189C51的的PCPC在在000000000FFFH

32、0FFFH范圍內執(zhí)行范圍內執(zhí)行片內片內ROMROM中的程序,當指令地址超過中的程序,當指令地址超過0FFFH 0FFFH 后就自動轉向片外后就自動轉向片外ROMROM中取指令。中取指令。2021-7-9三、尋址方式:三、尋址方式:2、當、當 EA=”0”時:時:89C5189C51片內片內ROMROM不起作用,不起作用,CPUCPU只能從片只能從片ROM/EPROMROM/EPROM中取指令。可以從中取指令。可以從 0000H0000H 開開始尋址。由于始尋址。由于80318031片內不帶片內不帶ROMROM ,所以,所以使用時必須使用時必須 EAEA=”0”=”0”。2021-7-9三、尋址

33、方式:三、尋址方式:3、89C51從片內從片內ROM和片外和片外ROM取取指的速度相同。指的速度相同。2021-7-9三、尋址方式:三、尋址方式:4、程序存儲器的保留存儲單元。、程序存儲器的保留存儲單元。如表如表2-22-2所示。所示。 2021-7-9表表2-2 保留的存儲單元保留的存儲單元存儲單元存儲單元保留目的保留目的0000H0002H復位后初始化引導程序復位后初始化引導程序0003H000AH外部中斷外部中斷 0000BH0012H定時器定時器 0 溢出中斷溢出中斷0013H001AH外部中斷外部中斷 1001BH0022H定時器定時器 1 溢出中斷溢出中斷0023H002AH串行口

34、中斷串行口中斷002BH定時器定時器 2 中斷中斷(8052 才有)才有)2021-7-9三、尋址方式:三、尋址方式:1 1、0000H0000H0002H0002H三個單元:三個單元:用作用作89C5189C51上電復位后引導程序的存放單元。上電復位后引導程序的存放單元。因為復位后因為復位后PCPC的內容為的內容為0000H0000H,CPUCPU總是從總是從0000H0000H開始執(zhí)行程序。將轉移指令存放到這開始執(zhí)行程序。將轉移指令存放到這三個單元,程序就被引導到指定的程序存三個單元,程序就被引導到指定的程序存儲器空間去執(zhí)行。儲器空間去執(zhí)行。2021-7-9三、尋址方式:三、尋址方式:(2

35、 2)0003H0003H002AH002AH單元:單元:均分為五段,用作五個中斷服務程序的入均分為五段,用作五個中斷服務程序的入口。中斷矢量地址表如表口。中斷矢量地址表如表2-32-3所示。所示。2021-7-9表表2-3 中斷矢量表中斷矢量表中中斷斷源源中中斷斷服服務務程程序序入入口口地地址址外外部部中中斷斷 00003H定定時時器器/計計數數器器 0 溢溢出出000BH外外部部中中斷斷 10013H定定時時器器計計數數器器溢溢出出001BH串串行行口口0023H2021-7-92.3.3 數據存儲器地址空間數據存儲器地址空間 一、用途:一、用途: 二、片外二、片外RAM: 三、片內三、片

36、內RAM: 2021-7-9一、用途:一、用途: 用于存放運算的中間結果、數據暫存和用于存放運算的中間結果、數據暫存和緩沖、標志位等。緩沖、標志位等。2021-7-9二、片外二、片外RAM: 地址:地址:0000HFFFFH 尋址:用尋址:用MOVX指令指令2021-7-9三、片內三、片內RAM: (一)片內一)片內RAMRAM地址空間地址空間(二)低(二)低128128字節(jié)字節(jié)RAMRAM(00H00H7FH7FH)(三)高(三)高128128字節(jié)字節(jié)RAMRAM(80H80HFFHFFH):): 特殊功能寄存器特殊功能寄存器SFRSFR區(qū)區(qū)2021-7-9(一)片內(一)片內RAM地址空間

37、地址空間尋址:用指令尋址:用指令MOV最大可尋址最大可尋址256個單元。個單元。低低128B(00H-7FH):):真正真正RAM區(qū)區(qū)高高128B(80H-FFH):):特殊功能寄存器(特殊功能寄存器(SFR)區(qū))區(qū)地址:地址:00H-FFH如圖如圖2-5所示。所示。2021-7-9(二)低(二)低128字節(jié)字節(jié)RAM(00H7FH)1、工作寄存器區(qū)(、工作寄存器區(qū)(00H1FH)2、位尋址區(qū)(、位尋址區(qū)(20H2FH) 3、用戶、用戶RAM區(qū)(區(qū)(30H7FH)2021-7-91、工作寄存器區(qū)(、工作寄存器區(qū)(00H1FH)由四組(由四組(32個)工作寄存器組成,每組個)工作寄存器組成,每組

38、8個寄存?zhèn)€寄存器(器(R0-R7),共占),共占32個單元。見個單元。見 表表2-4。通過程序狀態(tài)寄存器通過程序狀態(tài)寄存器 PSW中中RS1、RS0兩位設定兩位設定來選擇來選擇CPU的當前工作寄存器組。復位時,第的當前工作寄存器組。復位時,第0組為當前的工作寄存器。組為當前的工作寄存器。若不需要四組,則其余可作為一般若不需要四組,則其余可作為一般RAM單元。單元。2021-7-9表表2-4 工作寄存器地址表工作寄存器地址表組組 RS1 RS0R0R1R2R3R4R5R6R70 0 000H 01H 02H 03H 04H 05H 06H 07H1 0 108H 09H 0AH 0BH 0CH

39、0DH 0EH 0FH2 1 010H 11H12H 13H 14H 15H 16H 17H3 1 118H 19H 1AH 1BH 1CH 1DH 1EH 1FH2021-7-92、位尋址區(qū)(、位尋址區(qū)(20H2FH)位尋址區(qū)有位尋址區(qū)有16個單元,每個單元個單元,每個單元8位,共位,共128位位。位地址為。位地址為00H-7FH??捎梦粚ぶ贩绞皆L問其各位??捎梦粚ぶ贩绞皆L問其各位。RAM位尋址區(qū)位地址表如位尋址區(qū)位地址表如 表表2-5所示。所示。 這些可尋址位,通過執(zhí)行指令可直接對某一位這些可尋址位,通過執(zhí)行指令可直接對某一位操作,如置操作,如置1、清、清0、判斷轉移等。、判斷轉移等。位尋

40、址是位尋址是89C51的一個重要特點。的一個重要特點。2021-7-9表表2-5 RAM位尋址區(qū)位地址表位尋址區(qū)位地址表字節(jié)地址 MSB 位地址 LSB 2FH 7F 7E 7D 7C 7B 7A 79 78 2EH 77 76 75 74 73 72 71 70 2DH 6F 6E 6D 6C 6B 6A 69 68 2CH 67 66 65 64 63 62 61 60 2BH 5F 5E 5D 5C 5B 5A 59 58 2AH 57 56 55 54 53 52 51 50 29H 4F 4E 4D 4C 4B 4A 49 48 28H 47 46 45 44 43 42 41 40

41、 27H 3F 3E 3D 3C 3B 3A 39 38 26H 37 36 35 34 33 32 31 30 25H 2F 2E 2D 2C 2B 2A 29 28 24H 27 26 25 24 23 22 21 20 23H 1F 1E 1D 1C 1B 1A 19 18 22H 17 16 15 14 13 12 11 10 21H 1F 1E 0D 0C 0B 0A 09 08 20H 07 06 05 04 03 02 01 00 2021-7-93、用戶、用戶RAM區(qū)(區(qū)(30H7FH)用于堆棧和數據緩沖。用于堆棧和數據緩沖。2021-7-9(三)高(三)高128字節(jié)字節(jié)RAM

42、(80HFFH)l 有有21個特殊功能功能寄存器。個特殊功能功能寄存器。見表見表 2-6l 地址分布在地址分布在80HFFH的的RAM空間??臻g。l 只能用直接尋址方式。只能用直接尋址方式。l 有11個具有位尋址能力。11個SFR的字節(jié)地址正好能被8整除。特殊功能寄存器的地址見表2-7。l 部分特殊功能寄存器介紹2021-7-9表表2-7 特殊功能寄存器地址表特殊功能寄存器地址表SFR MSB 位地址/位定義 LSB 字節(jié)地址 B F7 F6 F5 F4 F3 F2 F1 F0 F0 ACC E7 E6 E5 E4 E3 E2 E1 E0 E0 D7 D6 D5 D4 D3 D2 D1 D0

43、D0 PSW CY AC F0 RS1 RS0 OV F1 P IP BF BE BD BC BB BA B9 B8 B8 P3 B7 B6 B5 B4 B3 B2 B1 B0 B0 AF AE AD AC AB AA A9 A8 IE EA ES ET1 EX1 ET0 EX0 A8 P2 A7 A6 A5 A4 A3 A2 A1 A0 A0 SBUF 99 9F 9E 9D 9C 9B 9A 99 98 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI 98 P1 97 96 95 94 93 92 91 90 90 TH1 8D TH0 8C TL1 8B TL0 8

44、A TMOD GATE C/T M1 M0 GATE C/T M1 M0 89 8F 8E 8D 8C 8B 8A 89 88 TCON TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 88 PCON SMOD / / / GF1 GF0 PD IDL 87 DPH 83 DPL 82 SP 81 P0 87 86 85 84 83 82 81 80 80 2021-7-9表表2-6 89C51系列單片機的特殊功能寄存器表系列單片機的特殊功能寄存器表符號名稱地址符號名稱地址*ACC累加器E0H*BB 寄存器F0H*PSW程序狀態(tài)字D0HSP棧指針81H*P0P0 鎖存器80H*

45、P2P2 鎖存器A0H*P1P1 鎖存器90H*P3P3 鎖存器B0HDPTR數據指針(高 8位DPH低 8 位 DPL)83H82HTL0定 時 器 / 計 數 器0(低字節(jié))8AH*IE中斷允許控制寄存器A8H*TCON定時器/計數器控制寄存器88HTMOD定時器/計數器工作方式寄存器89HTH0定 時 器 / 計 數 器0(高字節(jié))8CHTH1定時器/計數器 1(高字節(jié))8DHTL1定 時 器 / 計 數 器1(低字節(jié))8BH*SCON串行口控制寄存器98HSBUF串行數據緩沖器99H*IP中斷優(yōu)先級控制寄存器B8HPCON電源控制及波特率選擇寄存器87H2021-7-9部分特殊功能寄存

46、器介紹部分特殊功能寄存器介紹累加器累加器ACCACC(E0HE0H):):用A作為ACC的助記符。用于存放第一個操作數及運算結果。2021-7-9部分特殊功能寄存器介紹部分特殊功能寄存器介紹寄存器寄存器B B(F0HF0H):):l在乘法指令中,B用于存放乘數和乘積的高8位。l在除法指令中用于存放除數和余數。l在其它指令中用作一般的寄存器或RAM單元。2021-7-9部分特殊功能寄存器介紹部分特殊功能寄存器介紹 PSW PSW 程序狀態(tài)寄存器(程序狀態(tài)寄存器(D0HD0H):):PSW包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢或判斷用。PSW的格式PSW各位的含義2021-7-9PSWPSW的格式

47、如下:的格式如下:ACCYPOVRS0RS1F0PSW(D0H)D7 D6 D5 D4 D3 D2 D1 D02021-7-9PSWPSW各位的含義各位的含義(1)CY位(位(PSW.7):進(借)位標志位。):進(借)位標志位。執(zhí)行加法(減法)運算指令時,如運算結果最執(zhí)行加法(減法)運算指令時,如運算結果最高位(高位(D7)向前有進位(借位),)向前有進位(借位),CY=1;否;否則,則,CY=0。在位操作指令中,在位操作指令中,CY位是布爾累加器,用位是布爾累加器,用C表表示。示。2021-7-9PSWPSW各位的含義各位的含義(2)AC位(位(PSW.6):半進位標志位(輔助進位標志)。

48、):半進位標志位(輔助進位標志)。執(zhí)行加法(減法)運算指令時,如運算結果的低半字節(jié)執(zhí)行加法(減法)運算指令時,如運算結果的低半字節(jié)(D3)向高半字節(jié)有進位(借位),)向高半字節(jié)有進位(借位),AC=1;否則,;否則,AC=0。2021-7-9PSWPSW各位的含義各位的含義(3)FO位(位(PSW.5):用戶標志。:用戶標志。由用戶自己定義、置位、復位,以作為軟件標由用戶自己定義、置位、復位,以作為軟件標志志。2021-7-9PSWPSW各位的含義各位的含義(4)RS0、RS1位(位(PSW.3和和PSW.4):工作寄存器組選擇):工作寄存器組選擇控制位??刂莆弧S捎脩粲密浖淖冇捎脩粲密浖?/p>

49、變RS0和和RS1的值,以切換當前選用的的值,以切換當前選用的工作寄存器組。工作寄存器組。RS0,RS1的組合關系如的組合關系如 表表2-8 所示。所示。上電復位時,(上電復位時,(RS0)=(RS1)=0,CPU自然選擇第自然選擇第0組為當前工作寄存器組。組為當前工作寄存器組。2021-7-9RS1RS0寄存器組寄存器組片內片內RAM地址地址00第第0組組 00H07H01第第1組組 08H0FH10第第2組組 10H17H11第第3組組 18H1FH表表2-8 RS0,RS1的組合關系的組合關系2021-7-9PSWPSW各位的含義各位的含義(5)OV位(位(PSW.2):溢出標志位。):

50、溢出標志位。如有溢出,即運算結果超出如有溢出,即運算結果超出-128 +127的范圍時,的范圍時,OV=1;無溢出時,無溢出時,OV=0。2021-7-9PSWPSW各位的含義各位的含義(6)P位(位(PSW.0):奇偶檢驗位。):奇偶檢驗位。 每條指令執(zhí)行后,每條指令執(zhí)行后,A中中“1”的個數為奇數,則的個數為奇數,則P=1;否則,否則,P=0。2021-7-9PSWPSW各位的含義各位的含義(7)PSW.1:為保留位。:為保留位。2021-7-9部分特殊功能寄存器介紹部分特殊功能寄存器介紹堆棧指針堆棧指針SPSP(81H81H):):在片內在片內RAM中,開辟的一個按中,開辟的一個按“先進

51、后出先進后出”的結構的結構方式處理數據的區(qū)域。方式處理數據的區(qū)域。SP的內容可指向片內的內容可指向片內RAM00H7FH的任何單元。的任何單元。系統(tǒng)復位時,系統(tǒng)復位時,SP初始化為初始化為07H。堆棧的操作:如堆棧的操作:如 圖圖2-6 所示。所示。2021-7-9部分特殊功能寄存器介紹部分特殊功能寄存器介紹數據指針數據指針DPTRDPTR(83H83H,82H82H):):l DPTR是一個16位的特殊功能寄存器。l 由DPH(83H),DPL(82H)組成。l DPH,DPL可以單獨使用。2021-7-9部分特殊功能寄存器介紹部分特殊功能寄存器介紹I/OI/O端口端口P0P0、P1P1、P

52、2P2、P3P3(80H80H、90H90H、A0HA0H、B0HB0H):):分別為四個并行端口的鎖存器,每一個口鎖存器還有位地址,所以每一條I/O線可獨立輸入或輸出。輸出時,可以鎖存;輸入時,可以緩沖。2021-7-92.4.1 片內時鐘信號的產生片內時鐘信號的產生2.4.2CPU取指、執(zhí)指時序取指、執(zhí)指時序2021-7-92.4.1 片內時鐘信號的產生片內時鐘信號的產生 89C51芯片內部有一個高增益反相放大器,用于構成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨接石英晶體及兩個電容就可以構成穩(wěn)定的自激振蕩器。電容器和通常取30 pF左右,可穩(wěn)定頻率并對振蕩頻率有微

53、調作用。振蕩脈沖頻率范圍為fOSC=024 MHz。 晶體振蕩器的頻率為fOSC,振蕩信號從XTAL2端輸入到片內的時鐘發(fā)生器上,如圖2-12所示。2021-7-9圖圖2-12 89C51的片內振蕩器及時鐘發(fā)生器的片內振蕩器及時鐘發(fā)生器 2021-7-92.4.1 片內時鐘信號的產生片內時鐘信號的產生&1、節(jié)拍與狀態(tài)周期、節(jié)拍與狀態(tài)周期 &2、機器周期和指令周期、機器周期和指令周期&3、基本時序定時單位、基本時序定時單位2021-7-91、節(jié)拍與狀態(tài)周期、節(jié)拍與狀態(tài)周期 時鐘發(fā)生器是一個時鐘發(fā)生器是一個2分頻的觸發(fā)器電路,它將振蕩器的信分頻的觸發(fā)器電路,它將振蕩器的信號頻率號頻率fOSC除以除

54、以2,向,向CPU提供兩相時鐘信號提供兩相時鐘信號P1和和P2。時鐘信號的周期稱為機器狀態(tài)周期時鐘信號的周期稱為機器狀態(tài)周期S(STATE),是振蕩周,是振蕩周期的期的2倍。倍。在每個時鐘周期在每個時鐘周期(即機器狀態(tài)周期即機器狀態(tài)周期S)的前半周期,相位的前半周期,相位1(P1)信號有效,在每個時鐘周期的后半周期,相位信號有效,在每個時鐘周期的后半周期,相位2(P2,節(jié)拍,節(jié)拍2)信號有效。信號有效。每個時鐘周期每個時鐘周期(以后常稱狀態(tài)以后常稱狀態(tài)S)有兩個節(jié)拍有兩個節(jié)拍(相相)P1和和P2,CPU就以兩相時鐘就以兩相時鐘P1和和P2為基本節(jié)拍指揮為基本節(jié)拍指揮89C51單片機各單片機各個

55、部件協(xié)調地工作。個部件協(xié)調地工作。2021-7-92、機器周期和指令周期、機器周期和指令周期二、指令周期:二、指令周期:一、機器周期:一、機器周期:2021-7-94 計算機的一計算機的一計算機的一條指令由若干個字節(jié)組計算機的一條指令由若干個字節(jié)組成。執(zhí)行一條指令需要多長時間則以機器周期為成。執(zhí)行一條指令需要多長時間則以機器周期為單位。單位。4 一個機器周期是指一個機器周期是指CPU訪問存儲器一次所需的訪問存儲器一次所需的時間。時間。例如,取指令、讀存儲器、寫存儲器等等。4 一個機器周期包括一個機器周期包括12個振蕩周期,分為個振蕩周期,分為6個個S狀狀態(tài):態(tài):S1S6。4 每個狀態(tài)又分為兩拍

56、,稱為每個狀態(tài)又分為兩拍,稱為P1和和P2。4 因此,一個機器周期中的因此,一個機器周期中的12個振蕩周期表示為個振蕩周期表示為S1P1,S1P2,S2P1,S6P1,S6P2。4若采用6MHz晶體振蕩器,則每個機器周期為多少?返返回回2021-7-9返返回回4設設: :晶體振蕩器頻率晶體振蕩器頻率 fosc=6MHzfosc=6MHz, ,4則則: :振蕩周期振蕩周期=1/fosc=1/6 s=1/fosc=1/6 s(微秒)(微秒)4因為因為: :一個機器周期包括一個機器周期包括1212個振蕩周期個振蕩周期, ,4所以所以: :一個機器周期一個機器周期=12=12* *(1/6) s(1/

57、6) s(微秒)(微秒) = = 2s2s(微秒)(微秒)問:如果fosc=12MHz, 一個機器周期為多少?答案1s(微秒)2021-7-94 每條指令都由一個或幾個機器周期組每條指令都由一個或幾個機器周期組成。成。4 指令周期:執(zhí)行一條指令所需的時間。指令周期:執(zhí)行一條指令所需的時間。4 每條指令由一個或若干個字節(jié)組成每條指令由一個或若干個字節(jié)組成。有單字節(jié)指令,雙字節(jié)指令,多字節(jié)指令等。字節(jié)數少則占存儲器空間少。4 每條指令的每條指令的都由一個或幾個都由一個或幾個 組成。組成。有單周期指令、雙周期指令、和四周期指令。機器周期數少則執(zhí)行速度快。返返回回2021-7-9設振蕩周期為設振蕩周期

58、為6MHz,則一個機器周期為,則一個機器周期為 2s2s(微秒)。(微秒)。單周期指令:指令周期為單周期指令:指令周期為 2s2s(微秒)(微秒)雙周期指令:指令周期為雙周期指令:指令周期為 4s4s(微秒)(微秒)四周期指令:指令周期為四周期指令:指令周期為 8s8s(微秒)(微秒)返返回回2021-7-9單字節(jié)指令:如,INC A;機器碼格式:0000 0100B 雙字節(jié)指令:如,MOV A,#data;機器碼格式: 0111 0100B data 返返回回2021-7-93、基本時序定時單位、基本時序定時單位 綜上所述,綜上所述,89C51或其他或其他80C51單片機的基本時序定時單位有

59、單片機的基本時序定時單位有如下如下4個。個。 振蕩周期:振蕩周期: 晶振的振蕩周期,為最小的時序單位。晶振的振蕩周期,為最小的時序單位。 狀態(tài)周期:狀態(tài)周期: 振蕩頻率經單片機內的二分頻器分頻后提振蕩頻率經單片機內的二分頻器分頻后提供給片內供給片內CPU的時鐘周期。因此,一個狀態(tài)周期包含的時鐘周期。因此,一個狀態(tài)周期包含2個個振蕩周期。振蕩周期。 機器周期(機器周期(MC):): 1個機器周期由個機器周期由6個狀態(tài)周期即個狀態(tài)周期即12個振蕩周期組成,是計算機執(zhí)行一種基本操作的時間單位個振蕩周期組成,是計算機執(zhí)行一種基本操作的時間單位。 指令周期:指令周期: 執(zhí)行一條指令所需的時間。一個指令周

60、期執(zhí)行一條指令所需的時間。一個指令周期由由14個機器周期組成,依據指令不同而不同,見附錄個機器周期組成,依據指令不同而不同,見附錄A。2021-7-9 4種時序單位中,振蕩周期和機器周期是單片機內計算其他時種時序單位中,振蕩周期和機器周期是單片機內計算其他時間值(例如,波特率、定時器的定時時間等)的基本時序間值(例如,波特率、定時器的定時時間等)的基本時序單位。單位。下面是單片機外接晶振頻率下面是單片機外接晶振頻率12 MHz時的各種時序單位的大小。時的各種時序單位的大小。振蕩周期振蕩周期=1/fOSC=1/12 MHz=0.083 3 s狀態(tài)周期狀態(tài)周期=2/fOSC=2/12 MHz=0.

溫馨提示

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

評論

0/150

提交評論