第2章__89C51單片機硬件結(jié)構(gòu)和原理_李朝青--單片機原理及接口技術_北京航空航天大學出版社(第3版)ppt課件_第1頁
第2章__89C51單片機硬件結(jié)構(gòu)和原理_李朝青--單片機原理及接口技術_北京航空航天大學出版社(第3版)ppt課件_第2頁
第2章__89C51單片機硬件結(jié)構(gòu)和原理_李朝青--單片機原理及接口技術_北京航空航天大學出版社(第3版)ppt課件_第3頁
第2章__89C51單片機硬件結(jié)構(gòu)和原理_李朝青--單片機原理及接口技術_北京航空航天大學出版社(第3版)ppt課件_第4頁
第2章__89C51單片機硬件結(jié)構(gòu)和原理_李朝青--單片機原理及接口技術_北京航空航天大學出版社(第3版)ppt課件_第5頁
已閱讀5頁,還剩102頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、3:2742.189C51單片機芯片內(nèi)部結(jié)構(gòu)及特點單片機芯片內(nèi)部結(jié)構(gòu)及特點42.289C51單片機引腳及其功能單片機引腳及其功能42.389C51單片機存儲器配置單片機存儲器配置42.4時鐘電路及時鐘電路及89C51CPU時序時序42.5復位操作復位操作42.6 89C51單片機的低功耗工作方式單片機的低功耗工作方式返回返回第第2章章 89C51單片機的結(jié)構(gòu)和原理單片機的結(jié)構(gòu)和原理42.7輸出輸出/輸入端口結(jié)構(gòu)輸入端口結(jié)構(gòu)89C51CPU振蕩器和時序振蕩器和時序OSC64KB 總線總線擴展控制器擴展控制器數(shù)據(jù)存儲器數(shù)據(jù)存儲器256B RAM/SFR216位位定時器定時器/計數(shù)器計數(shù)器可編程可編

2、程I/O程序存儲器程序存儲器4KB FLASH ROM可編程全雙工可編程全雙工串行口串行口外中斷外中斷內(nèi)中斷內(nèi)中斷控制控制并行口并行口串行通信串行通信外部時鐘源外部時鐘源外部事件計數(shù)外部事件計數(shù)2.12.1 89C51單片機芯片內(nèi)部結(jié)構(gòu)及特點單片機芯片內(nèi)部結(jié)構(gòu)及特點3:27一、組成一、組成+1、一個、一個8位位 的微處理器的微處理器CPU。返回返回用以存放可以讀用以存放可以讀/寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等。寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等。+2、片內(nèi)數(shù)據(jù)存儲器、片內(nèi)數(shù)據(jù)存儲器(RAM128B/256B): 用以存放程序、一些原始數(shù)據(jù)和表格。用以存

3、放程序、一些原始數(shù)據(jù)和表格。+3、片內(nèi)、片內(nèi)4kB程序存儲器程序存儲器Flash ROM(4KB):+4、四個、四個8位并行位并行I/O(輸入(輸入/輸出)接口輸出)接口 P0P3:每個口可以用作輸入,也可以用作輸出。每個口可以用作輸入,也可以用作輸出。+5、兩個或三個定時、兩個或三個定時/計數(shù)器計數(shù)器: 可實現(xiàn)單片機與單片機或其它微機之間串行通信。可實現(xiàn)單片機與單片機或其它微機之間串行通信。+6、一個全雙工、一個全雙工UART的串行的串行I/O口口: 但需外接晶振和電容。但需外接晶振和電容。+7、片內(nèi)振蕩器和時鐘產(chǎn)生電路、片內(nèi)振蕩器和時鐘產(chǎn)生電路:+8、五個中斷源的中斷控制系統(tǒng)。、五個中斷源

4、的中斷控制系統(tǒng)。+9、具有節(jié)電工作方式:、具有節(jié)電工作方式: 休閑方式及掉電方式。休閑方式及掉電方式。3:27二、二、89C51系列單片機的性能系列單片機的性能 89C51單片機與單片機與8051相比,具有節(jié)電工作方式,即休閑方式及掉電方式。相比,具有節(jié)電工作方式,即休閑方式及掉電方式。以上各個部分通過片內(nèi)以上各個部分通過片內(nèi)8位數(shù)據(jù)總線(位數(shù)據(jù)總線(DBUS)相連接。)相連接。另外另外89C51是用靜態(tài)邏輯來設計的,其工作頻率可下降到是用靜態(tài)邏輯來設計的,其工作頻率可下降到0 Hz,并提供兩種可用,并提供兩種可用軟件來選擇的省電方式軟件來選擇的省電方式空閑方式(空閑方式(Idle Mode)

5、和掉電方式(和掉電方式(Power Down Mode)。在空閑方式中,)。在空閑方式中,CPU停止工作,而停止工作,而RAM、定時器、定時器/計數(shù)器、串行口和中計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的斷系統(tǒng)都繼續(xù)工作。此時的電流可降到大約為正常工作方式的15%。在掉電方式。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結(jié)凍結(jié)”,使一切功能都暫停,故只保存,使一切功能都暫停,故只保存片內(nèi)片內(nèi)RAM中的內(nèi)容,直到下一次硬件復位為止。這種方式下的電流可降到中的內(nèi)容,直到下一次硬件復位為止。這種方式下的電流可降到15 A以下,最小可

6、降到以下,最小可降到06 A。89C51單片機還有一種低電壓的型號,即單片機還有一種低電壓的型號,即89LV51,除了電壓范圍有區(qū)別之外,其,除了電壓范圍有區(qū)別之外,其余特性與余特性與89C51完全一致。完全一致。89C51/LV51是一種低功耗是一種低功耗/低電壓、高性能的低電壓、高性能的8位單片機。它采用了位單片機。它采用了CMOS工藝和工藝和高密度非易失性存儲器(高密度非易失性存儲器(NURAM)技術,而且其輸出引腳和指令系統(tǒng)都與)技術,而且其輸出引腳和指令系統(tǒng)都與MCS51兼容;片內(nèi)的兼容;片內(nèi)的Flash ROM允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的非易失性存儲允許在系統(tǒng)內(nèi)改編程序或用常規(guī)的

7、非易失性存儲器編程器來編程。因此器編程器來編程。因此89C51/LV51是一種功能強、靈活性高,且價格合理的單片是一種功能強、靈活性高,且價格合理的單片機,可方便地應用在各種控制領域。機,可方便地應用在各種控制領域。返回返回3:272.1.2 89C51單片機芯片內(nèi)部結(jié)構(gòu)單片機芯片內(nèi)部結(jié)構(gòu)返回返回3:27二、結(jié)構(gòu)組成二、結(jié)構(gòu)組成(一)、中央處理單元(一)、中央處理單元(CPU)(二)、存儲器(二)、存儲器(三)、(三)、I/O接口接口返回返回控制器運算器3:271)運算器)運算器 (1)8位的位的ALU:返回返回(2)8位累加器位累加器ACC(A):):(3)8位程序狀態(tài)寄存器位程序狀態(tài)寄存器

8、PSW:(4)8位寄存器位寄存器B:(5)布爾處理器:)布爾處理器:(6)2個個8位暫存器:位暫存器:3:272)控制器)控制器(1)程序計數(shù)器)程序計數(shù)器PC(16位)位)(2)指令寄存器)指令寄存器IR及指令譯碼器及指令譯碼器ID(3)振蕩器及定時電路)振蕩器及定時電路返回返回3:272、存儲器、存儲器1)程序存儲器()程序存儲器(ROM)2)數(shù)據(jù)存儲器()數(shù)據(jù)存儲器(RAM)返回返回3:271)程序存儲器()程序存儲器(ROM)289C5189C51片內(nèi)為片內(nèi)為4KB Flash ROM4KB Flash ROM。2地址從地址從0000H0000H開始。開始。2用于存放程序和表格常數(shù)。用

9、于存放程序和表格常數(shù)。返回返回3:272)數(shù)據(jù)存儲器()數(shù)據(jù)存儲器(RAM)289C51RAM89C51RAM均為均為256B256B,地址為,地址為00H00HFFHFFH。2用于存放運算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩用于存放運算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。沖等。2這這128B128B的的RAMRAM中有中有3232個字節(jié)單元可指定為工作寄個字節(jié)單元可指定為工作寄存器。存器。2片內(nèi)還有片內(nèi)還有2121個特殊功能寄存器(個特殊功能寄存器(SFRSFR),它們同),它們同128128字節(jié)字節(jié)RAMRAM統(tǒng)一編址,地址為統(tǒng)一編址,地址為80H80HFFHFFH。后面詳。后面詳細介紹。細介紹

10、。返回返回3:273、I/O接口接口289C5189C51有四個有四個8 8位并行位并行I/OI/O接口接口P0P0P3P3。2它們都是準雙向端口,每個端口各它們都是準雙向端口,每個端口各有有8 8條條I/OI/O線。線。2P0-P3P0-P3口四個鎖存器同口四個鎖存器同RAMRAM統(tǒng)一編址,統(tǒng)一編址,可作為可作為SFRSFR來尋址。來尋址。返回返回3:27圖圖2-3 89C51/LV51的引腳結(jié)構(gòu)的引腳結(jié)構(gòu) 2.2 89C51單片機引腳及其功能單片機引腳及其功能3:272.2.2 89C51單片機引腳功能單片機引腳功能 一、電源引腳:一、電源引腳:Vcc和和Vss 二、時鐘電路引腳:二、時鐘

11、電路引腳:XTAL1和和XTAL2 三、控制信號引腳三、控制信號引腳RST、ALE、PSEN和和EA 四、四、I/O端口端口P0、P1、P2和和P3返回返回3:27一、電源引腳:一、電源引腳:Vcc和和Vss1 1Vcc(40Vcc(40腳腳) ):電源端,為電源端,為+5V+5V。2 2Vss(20Vss(20腳腳) ):接地端。接地端。返回返回3:27二、時鐘電路引腳:二、時鐘電路引腳:XTAL1和和XTAL2 XTAL2XTAL2(1818腳):腳):接外部晶體和微調(diào)電容的一端;在接外部晶體和微調(diào)電容的一端;在89C51 89C51 片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩片內(nèi)它是振蕩電

12、路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。路時,該引腳輸入外部時鐘脈沖。89C5189C51正常工作時,正常工作時,該引腳應有脈沖信號輸出。該引腳應有脈沖信號輸出。 XTAL1XTAL1(1919腳):腳):接外部晶體和微調(diào)電容的另一端;在接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反向放大器的輸入端,在采用外部片內(nèi)它是振蕩電路反向放大器的輸入端,在采用外部時鐘時,該引腳接地。時鐘時,該引腳接地。3:27 三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EARST/VR

13、ST/VPDPD(9 9腳):腳):復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期的高復位信號輸入端,高電平有效。當此輸入端保持兩個機器周期的高電平時,就可以完成復位操作。電平時,就可以完成復位操作。ALE/PROGALE/PROG(3030腳):腳):。 ALEALE:地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的1/61/6固定輸出正脈固定輸出正脈沖。沖。CPUCPU訪問片外存儲器時,該引腳輸出信號作為鎖存低訪問片外存儲器時,該引腳輸出信號作為鎖存低8 8位地址的控制信號。它位地址的控制信號。它的負載能力為的負載能力為8 8個個

14、LSLS型型TTLTTL負載負載 PROGPROG:是對片內(nèi)帶有是對片內(nèi)帶有4KB Flash ROM4KB Flash ROM的的89C5189C51編程寫入時的編程脈沖輸入端。編程寫入時的編程脈沖輸入端。PSEN(29腳):腳): 程序存儲器允許信號輸出端。程序存儲器允許信號輸出端。 在訪問片外在訪問片外ROMROM時,定時輸出負脈沖作為讀片外時,定時輸出負脈沖作為讀片外ROMROM的選通信號,接片外的選通信號,接片外ROMROM 的的OEOE端。端。 它的負載能力為它的負載能力為8 8個個LSLS型型TTLTTL負載。負載。3:27EA/VEA/Vpppp(3131腳):腳):EAEA:

15、外部程序存儲器地址允許輸入端。外部程序存儲器地址允許輸入端。當該引腳接高電平時,當該引腳接高電平時,CPUCPU訪問片內(nèi)訪問片內(nèi)ROMROM并執(zhí)行片內(nèi)程序存儲器中的指并執(zhí)行片內(nèi)程序存儲器中的指令,但當令,但當PCPC值超過值超過0FFFH0FFFH(片內(nèi)(片內(nèi)ROMROM為為4KB4KB)時,將自動轉(zhuǎn)向執(zhí)行片外)時,將自動轉(zhuǎn)向執(zhí)行片外ROMROM中的程序。中的程序。當該引腳接低電平時,當該引腳接低電平時,CPUCPU只訪問片外只訪問片外ROMROM并執(zhí)行外部程序存儲器中的并執(zhí)行外部程序存儲器中的程序。程序。三、控制信號引腳:三、控制信號引腳:RST、ALE、PSEN和和EAEA/Vpppp(3

16、1腳):腳):V Vpppp:對對89C5189C51片內(nèi)片內(nèi) Flash ROMFlash ROM固化編程時,編程電壓輸入端(固化編程時,編程電壓輸入端(12-21V12-21V)。)。3:27四、四、I/OI/O端口端口P0P0、P1P1、P2P2和和P3P31 1、準雙、準雙向向2 2、P0P0口口 P0P0口可作為一個數(shù)據(jù)輸入口可作為一個數(shù)據(jù)輸入/ /輸出口;輸出口; 在在CPUCPU訪問片外存儲器時,訪問片外存儲器時,P0P0口為分時復用的低口為分時復用的低8 8位地址總線和位地址總線和8 8位數(shù)據(jù)總線。位數(shù)據(jù)總線。3 3、P1P1口口4 4、P2P2口口在在CPU訪問片外存儲器時,

17、它輸出高訪問片外存儲器時,它輸出高8位地址位地址。5 5、P3P3口口P3P3口除作為一般口除作為一般I/OI/O口外,每個引腳都有第二功能。口外,每個引腳都有第二功能。返回返回3:27表表2-1 P3端口引腳與復用功能表端口引腳與復用功能表3:272.3.12.3.1 89C5189C51存儲器分類存儲器分類2.3.22.3.2 程序存儲器地址空間程序存儲器地址空間2.3.32.3.3 數(shù)據(jù)存儲器地址空間數(shù)據(jù)存儲器地址空間返回返回3:272.3.12.3.1 89C51 89C51存儲器分類存儲器分類返回返回數(shù)據(jù)存儲器數(shù)據(jù)存儲器RAM程序存儲器程序存儲器ROM8051存儲器可以分成兩大類:存

18、儲器可以分成兩大類:8051存儲器按物理結(jié)構(gòu)可以分成兩大類:存儲器按物理結(jié)構(gòu)可以分成兩大類:普林斯頓結(jié)構(gòu) 一般微機通常只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應唯一的存儲單元,可以是ROM也可以是 RAM,并用同類訪問指令。這種結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)。哈佛結(jié)構(gòu)51單片機的存儲器在物理結(jié)構(gòu)上分為程序存儲空間和數(shù)據(jù)存儲空間,共有四個:片內(nèi)和片外程序存儲空間以及片內(nèi)和片外數(shù)據(jù)存儲空間,這種在物理結(jié)構(gòu)上把程序存儲器和數(shù)據(jù)存儲器分開的結(jié)構(gòu)形式稱為哈佛結(jié)構(gòu)3:273:27物理結(jié)構(gòu)(哈佛結(jié)構(gòu)物理結(jié)構(gòu)(哈佛結(jié)構(gòu))片內(nèi)程序存儲器片內(nèi)程序存儲器片外程序存儲器片外程序存儲器片內(nèi)數(shù)據(jù)存儲器

19、片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器89C51存儲器存儲器程序存儲器程序存儲器ROM數(shù)據(jù)存儲器數(shù)據(jù)存儲器RAM返回返回3:27MOVCMOVMOVX3:27返回返回 89C5189C51片內(nèi)片內(nèi)Flash ROMFlash ROM的容量為的容量為4KB4KB。地址為。地址為0000H0000H0FFFH0FFFH。 片外最多可擴至片外最多可擴至64KB ROM/EPROM64KB ROM/EPROM,地址為,地址為1000H1000HFFFFHFFFFH。 片內(nèi)外統(tǒng)一編址。片內(nèi)外統(tǒng)一編址。當當 EA=“1”EA=“1”時:時:89C5189C51的的PCPC在在000000000FFFH

20、0FFFH范圍內(nèi)執(zhí)行片內(nèi)范圍內(nèi)執(zhí)行片內(nèi)ROMROM中的程序,當中的程序,當指令地址超過指令地址超過0FFFH 0FFFH 后就自動轉(zhuǎn)向片外后就自動轉(zhuǎn)向片外ROMROM中取指令。中取指令。當當 EA=”0”EA=”0”時:時:89C5189C51片內(nèi)片內(nèi)ROMROM不起作用,不起作用,CPUCPU只能從片只能從片ROM/EPROMROM/EPROM中取指令。中取指令。可以從可以從 0000H 0000H 開始尋址。由于開始尋址。由于80318031片內(nèi)不帶片內(nèi)不帶ROM ROM ,所以使用,所以使用時必須時必須 EA=”0”EA=”0”。89C51從片內(nèi)從片內(nèi)ROM和片外和片外ROM取指的速度相

21、同。取指的速度相同。程序存儲器地址空間程序存儲器地址空間3:271 1、0000H0000H0002H0002H三個單元:三個單元:用作用作89C5189C51上電復位后引導程序的存放單元。因為復位后上電復位后引導程序的存放單元。因為復位后PCPC的內(nèi)容為的內(nèi)容為0000H0000H,CPUCPU總是從總是從0000H0000H開始執(zhí)行程序。將轉(zhuǎn)移指開始執(zhí)行程序。將轉(zhuǎn)移指令存放到這三個單元,程序就被引導到指定的程序存儲器空令存放到這三個單元,程序就被引導到指定的程序存儲器空間去執(zhí)行。間去執(zhí)行。返回返回2 2、0003H0003H002AH002AH單元:單元:均分為五段,用作五個中斷服務程序的

22、入口。均分為五段,用作五個中斷服務程序的入口。3:27返回返回0000H是程序執(zhí)行的起始單元,在這三個單元存放一條無條件轉(zhuǎn)移指令0000H0001H0002H(PC)0003H000BH000AH0013H0012H001BH001AH0023H0022H002BH002AH外部中斷0定時器0中斷外部中斷1定時器1中斷串行口中斷8位位0FFFH0FFEH中斷入口地址程序程序存儲器資源分布存儲器資源分布3:27返回返回訪問片外程序存儲器的連接方法訪問片外程序存儲器的連接方法3:272.3.3 數(shù)據(jù)存儲器地址空間數(shù)據(jù)存儲器地址空間返回返回用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標志位等。用于存放運

23、算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標志位等。一、用途:一、用途:二、片外二、片外RAM:地址:地址:0000HFFFFH 尋址:用尋址:用MOVX指令指令三、片內(nèi)三、片內(nèi)RAM: 3:27片內(nèi)片內(nèi)RAM地址空間地址空間尋址:用指令尋址:用指令MOV最大可尋址最大可尋址256個單元。個單元。返回返回低低128B(00H-7FH):):真正真正RAM區(qū)區(qū)高高128B(80H-FFH):):特殊功能寄存器(特殊功能寄存器(SFR)區(qū))區(qū)地址:地址:00H-FFH3:27低低128字節(jié)字節(jié)RAM(00H7FH)1、工作寄存器區(qū)(、工作寄存器區(qū)(00H1FH)2、位尋址區(qū)(、位尋址區(qū)(20H2FH) 3、數(shù)

24、據(jù)緩沖、數(shù)據(jù)緩沖/堆棧區(qū)(堆棧區(qū)(30H7FH)返回返回內(nèi)部數(shù)據(jù)數(shù)據(jù)存儲器存儲器00HFFH7FH80H(高128B)(低128B)RAM專用寄存器00H00H07H07H08H08H0FH0FH10H10H17H17H18H18H1FH1FH0區(qū)區(qū)R0R0R7R7R0R0R7R7R0R0R7R7R0R0R7R71區(qū)區(qū)2區(qū)區(qū)3區(qū)區(qū)工作寄存器區(qū)工作寄存器區(qū)可位尋址區(qū)可位尋址區(qū)20H2FH7F 7807 0030H7FH數(shù)據(jù)緩沖區(qū)數(shù)據(jù)緩沖區(qū)/堆棧區(qū)堆棧區(qū)內(nèi)部內(nèi)部RAMRAM存儲器存儲器3:271、工作寄存器區(qū)(、工作寄存器區(qū)(00H1FH)由四組(由四組(3232)工作寄存器組成,每組)工作寄存器

25、組成,每組8 8個寄存器(個寄存器(R0-R7R0-R7),共占),共占3232個單元。個單元。通過程序狀態(tài)寄存器通過程序狀態(tài)寄存器 PSWPSW中中RS1RS1、RS0RS0兩位設定來選擇兩位設定來選擇CPUCPU的當前工作寄存器的當前工作寄存器組。復位時,第組。復位時,第0 0組為當前的工作寄存器。組為當前的工作寄存器。返回返回ACCYPOVRS0RS1F0PSW(D0H)D7 D6 D5 D4 D3 D2 D1 D0 工作寄存器區(qū)工作寄存器區(qū)選擇位選擇位RS0RS0、RS1RS13:272、位尋址區(qū)(、位尋址區(qū)(20H2FH)位尋址區(qū)有位尋址區(qū)有16個單元,每個單元個單元,每個單元8位,

26、共位,共128位。位地址為位。位地址為00H-7FH。可用位尋址方式訪問其各位。可用位尋址方式訪問其各位。 這些可尋址位,通過執(zhí)行指令可直接對某一位操作,如置這些可尋址位,通過執(zhí)行指令可直接對某一位操作,如置1、清、清0、判斷轉(zhuǎn)、判斷轉(zhuǎn)移等。移等。位尋址是位尋址是89C51的一個重要特點。的一個重要特點。舉例:舉例:SETB 0FH(21H. 7) ;置位;置位0FH為為“1” CLR 0FH(21H. 7) ;置位;置位0FH為為“0”返回返回3、用戶、用戶RAM區(qū)(區(qū)(30H7FH)用于堆棧和數(shù)據(jù)緩沖。用于堆棧和數(shù)據(jù)緩沖。3:27表表2-5 RAM位尋址區(qū)位地址表位尋址區(qū)位地址表返回返回3

27、:27(三)高(三)高128字節(jié)字節(jié)RAM(80HFFH)返回返回l 有21個特殊功能功能寄存器。l 地址分布在80HFFH的RAM空間。l 只能用直接尋址方式。l 有11個具有位尋址能力。11個SFR的字節(jié)地址正好能被8整除。l 部分特殊功能寄存器介紹3:27離散分布有離散分布有2121個個特殊功能寄存器特殊功能寄存器SFRSFR。( (Specific Function register) 1111個可以進行個可以進行位尋址。位尋址。特別提示:對特別提示:對SFRSFR只能使用直接只能使用直接尋址方式,書寫時尋址方式,書寫時可使用寄存器符號,可使用寄存器符號,也可用寄存器單元也可用寄存器單

28、元地址。地址。3:27部分特殊功能寄存器介紹部分特殊功能寄存器介紹累加器累加器ACCACC(E0HE0H):):用A作為ACC的助記符。用于存放第一個操作數(shù)及運算結(jié)果。例如:例如: MOV A,30H(把(把30H單元的數(shù)據(jù)傳送給單元的數(shù)據(jù)傳送給A) ADD A,30H(30H的數(shù)據(jù)和的數(shù)據(jù)和A的內(nèi)容相加,并保存在的內(nèi)容相加,并保存在 A中)中)返回返回寄存器寄存器B B(F0HF0H):):在乘法指令中,B用于存放乘數(shù)和乘積的高8位在除法指令中用于存放除數(shù)和余數(shù)。在其它指令中用作一般的寄存器或RAM單元。例如:例如:MUL AMUL A,B B ;A A和和 B B相乘,結(jié)果的高低字節(jié)分別放

29、入相乘,結(jié)果的高低字節(jié)分別放入A A和和B B中中 DIV ADIV A,B B ;(;(A A)/ /(B B),商存),商存A A,余數(shù)存,余數(shù)存B B3:27部分特殊功能寄存器介紹部分特殊功能寄存器介紹 PSW PSW 程序狀態(tài)寄存器(程序狀態(tài)寄存器(D0HD0H):):PSW包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢或判斷用。PSW的格式PSW各位的含義返回返回3:27(1)CY位(位(PSW.7):進(借)位標志位。):進(借)位標志位。執(zhí)行加法(減法)運算指令時,如運算結(jié)果最高位(執(zhí)行加法(減法)運算指令時,如運算結(jié)果最高位(D7)向前有進位(借位),)向前有進位(借位),CY=1;否

30、則;否則,CY=0。在位操作指令中,在位操作指令中,CY位是布爾累加器,用位是布爾累加器,用C表示。表示。返回返回ACCYPOVRS0RS1F0PSW(D0H)D7 D6 D5 D4 D3 D2 D1 D0(2)AC位(位(PSW.6):半進位標志位(輔助進位標志)。):半進位標志位(輔助進位標志)。執(zhí)行加法(減法)運算指令時,如運算結(jié)果的低半字節(jié)(執(zhí)行加法(減法)運算指令時,如運算結(jié)果的低半字節(jié)(D3)向高半字節(jié)有進位(借位),)向高半字節(jié)有進位(借位),AC=1;否則,;否則,AC=0。(3)FO位(位(PSW.5):用戶標志。:用戶標志。由用戶自己定義、置位、復位,以作為軟件標志由用戶自

31、己定義、置位、復位,以作為軟件標志。3:27(4)RS0、RS1位(位(PSW.3和和PSW.4):工作寄存器組選擇控制位。):工作寄存器組選擇控制位。由用戶用軟件改變由用戶用軟件改變RS0和和RS1的值,以切換當前選用的工作寄存器組。的值,以切換當前選用的工作寄存器組。上電復位時,(上電復位時,(RS0)=(RS1)=0,CPU自然選擇第自然選擇第0組為當前工作寄存器組。組為當前工作寄存器組。返回返回(6)P位(位(PSW.0):奇偶檢驗位。):奇偶檢驗位。 每條指令執(zhí)行后,每條指令執(zhí)行后,A中中“1”的個數(shù)為奇數(shù),則的個數(shù)為奇數(shù),則P=1;否則,;否則,P=0。(7)PSW.1:為保留位。

32、:為保留位。(5)OV位(位(PSW.2):溢出標志位。):溢出標志位。如有溢出,即運算結(jié)果超出如有溢出,即運算結(jié)果超出-128 +127的范圍時,的范圍時,OV=1;無溢出時,;無溢出時,OV=0。3:27部分特殊功能寄存器介紹部分特殊功能寄存器介紹堆棧指針堆棧指針SPSP(81H81H):):在片內(nèi)在片內(nèi)RAM中,開辟的一個按中,開辟的一個按“先出后進先出后進”的結(jié)構(gòu)的結(jié)構(gòu)方式處理數(shù)據(jù)的區(qū)域。方式處理數(shù)據(jù)的區(qū)域。SP的內(nèi)容可指向片內(nèi)的內(nèi)容可指向片內(nèi)RAM00H7FH的任何單元。的任何單元。系統(tǒng)復位時,系統(tǒng)復位時,SP初始化為初始化為07H。返回返回3:27在圖中,假若有在圖中,假若有8個個

33、RAM單元,每個單單元,每個單元都在其右面編有地元都在其右面編有地址,棧頂由堆棧指針址,棧頂由堆棧指針SP自動管理。每次自動管理。每次進行壓入或彈出操作進行壓入或彈出操作以后,堆棧指針便自以后,堆棧指針便自動調(diào)整以保持指示堆動調(diào)整以保持指示堆棧頂部的位置。這些棧頂部的位置。這些操作可用圖說明。操作可用圖說明。3:27部分特殊功能寄存器介紹部分特殊功能寄存器介紹返回返回數(shù)據(jù)指針數(shù)據(jù)指針DPTRDPTR(83H83H,82H82H):):l DPTR是一個16位的特殊功能寄存器。存放程序存儲器的地址或外部數(shù)據(jù)存儲器的地址。l 由DPH(83H),DPL(82H)組成。l DPH,DPL可以單獨使用

34、。3:27部分特殊功能寄存器介紹部分特殊功能寄存器介紹返回返回I/OI/O端口端口P0P0、P1P1、P2P2、P3P3(80H80H、90H90H、A0HA0H、B0HB0H):):分別為四個并行端口的鎖存器,每一個口鎖存器還有位地址,所以每一條I/O線可獨立輸入或輸出。輸出時,可以鎖存;輸入時,可以緩沖。3:272.4.1 片內(nèi)時鐘信號的產(chǎn)生片內(nèi)時鐘信號的產(chǎn)生返回返回2.4.2CPU取指、執(zhí)指時序取指、執(zhí)指時序3:272.4.1 片內(nèi)時鐘信號的產(chǎn)生片內(nèi)時鐘信號的產(chǎn)生返回返回 89C51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。反相放大器的輸入端為XTAL1,輸出端為XTAL2,兩端跨

35、接石英晶體及兩個電容就可以構(gòu)成穩(wěn)定的自激振蕩器。電容器和通常取30 pF左右,可穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。振蕩脈沖頻率范圍為fOSC=024 MHz。 晶體振蕩器的頻率為fOSC,振蕩信號從XTAL2端輸入到片內(nèi)的時鐘發(fā)生器上,如圖2-12所示。3:27圖圖2-12 89C51的片內(nèi)振蕩器及時鐘發(fā)生器的片內(nèi)振蕩器及時鐘發(fā)生器 3:272.4.1 片內(nèi)時鐘信號的產(chǎn)生片內(nèi)時鐘信號的產(chǎn)生&1、節(jié)拍與狀態(tài)周期、節(jié)拍與狀態(tài)周期 &2、機器周期和指令周期、機器周期和指令周期&3、基本時序定時單位、基本時序定時單位返回返回3:271、節(jié)拍與狀態(tài)周期、節(jié)拍與狀態(tài)周期 時鐘發(fā)生器是

36、一個時鐘發(fā)生器是一個2分頻的觸發(fā)器電路,它將振蕩器的信號頻分頻的觸發(fā)器電路,它將振蕩器的信號頻率率fOSC除以除以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é)拍(相相)

37、P1和和P2,CPU就就以兩相時鐘以兩相時鐘P1和和P2為基本節(jié)拍指揮為基本節(jié)拍指揮89C51單片機各個部件協(xié)調(diào)單片機各個部件協(xié)調(diào)地工作。地工作。返回返回3:272、機器周期和指令周期、機器周期和指令周期二、指令周期:二、指令周期:一、機器周期:一、機器周期:返回返回4計算機的一計算機的一計算機的一條指令由若干個字節(jié)組計算機的一條指令由若干個字節(jié)組成。執(zhí)行一條指令需要多長時間則以機器周期成。執(zhí)行一條指令需要多長時間則以機器周期為單位。為單位。4 一個機器周期是指一個機器周期是指CPU訪問存儲器一次所需的訪問存儲器一次所需的時間。時間。例如,取指令、讀存儲器、寫存儲器等等。4 一個機器周期包括一

38、個機器周期包括12個振蕩周期,分為個振蕩周期,分為6個個S狀狀態(tài):態(tài):S1S6。4 每個狀態(tài)又分為兩拍,稱為每個狀態(tài)又分為兩拍,稱為P1和和P2。4 因此,一個機器周期中的因此,一個機器周期中的12個振蕩周期表示為個振蕩周期表示為S1P1,S1P2,S2P1,S6P1,S6P2。4若采用6MHz晶體振蕩器,則每個機器周期為多少?3:274設設: :晶體振蕩器頻率晶體振蕩器頻率 foscfosc=6MHz=6MHz, ,4則則: :振蕩周期振蕩周期=1/fosc=1/6 s=1/fosc=1/6 s(微秒)(微秒)4因為因為: :一個機器周期包括一個機器周期包括1212個振蕩周期個振蕩周期, ,

39、4所以所以: :一個機器周期一個機器周期=12=12* *(1/6) s(1/6) s(微秒)(微秒) = 2= 2ss(微秒)(微秒)問:如果fosc=12MHz,一個機器周期為多少?3:274每條指令都由一個或幾個機器周期組成。每條指令都由一個或幾個機器周期組成。4指令周期:執(zhí)行一條指令所需的時間。指令周期:執(zhí)行一條指令所需的時間。4每條指令的每條指令的都由一個或幾個都由一個或幾個組成。組成。有單周期指令、雙周期指令、和四周期指令。機器周期數(shù)少則執(zhí)行速度快。3:27設振蕩周期為設振蕩周期為6MHz,則一個機器周期為,則一個機器周期為 2 2ss(微秒)。(微秒)。單周期指令:指令周期為單周

40、期指令:指令周期為 2 2ss(微秒)(微秒)雙周期指令:指令周期為雙周期指令:指令周期為 4 4ss(微秒)(微秒)四周期指令:指令周期為四周期指令:指令周期為 8s8s(微秒)(微秒)3:27單字節(jié)指令:如,INC A;機器碼格式:0000 0100B 雙字節(jié)指令:如,MOV A,#data;機器碼格式: 0111 0100B data 3:273、基本時序定時單位、基本時序定時單位綜上所述,綜上所述,89C51基本時序定時單位有如下基本時序定時單位有如下4個。個。振蕩周期:振蕩周期: 晶振的振蕩周期,為最小的時序單位。晶振的振蕩周期,為最小的時序單位。狀態(tài)周期:狀態(tài)周期: 振蕩頻率經(jīng)單片

41、機內(nèi)的二分頻器分頻后提供給片內(nèi)振蕩頻率經(jīng)單片機內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的的 時鐘周期。因此,一個狀態(tài)周期包含時鐘周期。因此,一個狀態(tài)周期包含2個振蕩周期。個振蕩周期。機器周期(機器周期(MC):): 1個機器周期由個機器周期由6個狀態(tài)周期即個狀態(tài)周期即12個振蕩周期組成,個振蕩周期組成,是計算機執(zhí)行一種基本操作的時間單位。是計算機執(zhí)行一種基本操作的時間單位。指令周期:指令周期: 執(zhí)行一條指令所需的時間。一個指令周期由執(zhí)行一條指令所需的時間。一個指令周期由14個機器周個機器周期組成,依據(jù)指令不同而不同,見附錄期組成,依據(jù)指令不同而不同,見附錄A。返回返回3:27圖圖2-13 89C51

42、單片機各種周期的相互關系單片機各種周期的相互關系 3:272.4.2 CPU取指、執(zhí)指時序取指、執(zhí)指時序Y每條指令的執(zhí)行都可以包括取指和執(zhí)指兩個階段。每條指令的執(zhí)行都可以包括取指和執(zhí)指兩個階段。Y在取指階段,在取指階段,CPUCPU從內(nèi)部或外部從內(nèi)部或外部ROMROM中取出指令操作碼及中取出指令操作碼及操作數(shù),然后再執(zhí)行這條指令。操作數(shù),然后再執(zhí)行這條指令。Y單字節(jié)和雙字節(jié)的指令都可能是單機器周期或雙周期,單字節(jié)和雙字節(jié)的指令都可能是單機器周期或雙周期,而三字節(jié)指令都是雙周期的,只有乘、除指令占四周期。而三字節(jié)指令都是雙周期的,只有乘、除指令占四周期。返回返回圖圖2-14 89C51單單片機的

43、取片機的取指指/執(zhí)行時執(zhí)行時序序 3:272.5復位操作復位操作 2.5.1 復位操作的主要功能復位操作的主要功能 2.5.2 復位信號及其產(chǎn)生復位信號及其產(chǎn)生 2.5.3 復位電路復位電路返回返回3:27復位操作主要功能復位操作主要功能 程序地址指針程序地址指針PC初始化為初始化為0000H,使單,使單片機從片機從0000H單元開始執(zhí)行程序單元開始執(zhí)行程序 當由于程序運行出錯或操作錯誤使系統(tǒng)當由于程序運行出錯或操作錯誤使系統(tǒng)死鎖狀態(tài)時,為擺脫困境,也需要按復死鎖狀態(tài)時,為擺脫困境,也需要按復位鍵重新啟動位鍵重新啟動。返回返回3:27表表2-8 各特殊寄存器的復位值各特殊寄存器的復位值返回返回

44、3:272.5.2 復位信號及其產(chǎn)生復位信號及其產(chǎn)生一、復位信號:一、復位信號:RST引腳為復位信號輸入端。引腳為復位信號輸入端。當當RST引腳為高電平,且有效時間持續(xù)引腳為高電平,且有效時間持續(xù)24個個振蕩周期以上,才能復位。振蕩周期以上,才能復位。二、產(chǎn)生復位信號的電路邏輯圖:二、產(chǎn)生復位信號的電路邏輯圖:如如圖圖2-15所示。所示。返回返回3:27 圖圖 2-15 復位電路邏輯圖復位電路邏輯圖返回返回 復位電路復位電路施密特觸發(fā)器施密特觸發(fā)器片內(nèi)片內(nèi)RAMRST/VPDVCCVSSD1D23:272.5.3復位電路復位電路1、上電自動復位:、上電自動復位:是通過外部復位電路的電容充電實現(xiàn)

45、。是通過外部復位電路的電容充電實現(xiàn)。如如圖圖2-16(a)所示。所示。2、手動復位:、手動復位:按鍵電平復位方式:按鍵電平復位方式:如如圖圖2-16(b)所示。所示。按鍵脈沖復位方式:如按鍵脈沖復位方式:如圖圖2-12(c)所示。所示。返回返回3:27圖圖 2-16 (a) 上電復位電路上電復位電路只要只要Vcc的上升時間的上升時間不超過不超過1ms,就自動,就自動上電復位,即接通上電復位,即接通電源就完成了系統(tǒng)電源就完成了系統(tǒng)復位。復位。返回返回VCCCRVCCRST/VPDVSS1K 22F89C513:27圖圖 2-16 (b) 按鍵電平復位電路按鍵電平復位電路通過使復位端經(jīng)電阻與VCC

46、電源接通而實現(xiàn)。VCCCR2VCCRST/VPDVSS1K22F89C51R1200RESET返回返回3:272.689C51單片機的低功耗工作方式單片機的低功耗工作方式89C51屬于屬于CHMOS的單片機,運行時耗電少,而且還提供兩種的單片機,運行時耗電少,而且還提供兩種節(jié)電工作方式,即空閑(等待、待機)方式和掉電(停機)工作節(jié)電工作方式,即空閑(等待、待機)方式和掉電(停機)工作方式,以進一步降低功耗。方式,以進一步降低功耗。圖圖2-17所示為實現(xiàn)這兩種方式的內(nèi)部電路。所示為實現(xiàn)這兩種方式的內(nèi)部電路。由圖由圖2-17可見,若可見,若IDL=0,則,則89C51將進入空閑運作方式。在這種將進

47、入空閑運作方式。在這種方式下,振蕩器仍繼續(xù)運行,但方式下,振蕩器仍繼續(xù)運行,但IDL封鎖了去封鎖了去CPU的的“與與”門,門,故故CPU此時得不到時鐘信號。而中斷、串行口和定時器等環(huán)節(jié)卻此時得不到時鐘信號。而中斷、串行口和定時器等環(huán)節(jié)卻仍在時鐘控制下正常運行。掉電方式下(仍在時鐘控制下正常運行。掉電方式下(PD=0),振蕩器凍結(jié)。),振蕩器凍結(jié)。返回返回3:272.689C51單片機的低功耗工作方式單片機的低功耗工作方式返回返回圖圖2-17 空閑和掉電方式控制電路空閑和掉電方式控制電路圖2-17中,PD和IDL均為PCON中PD和IDL觸發(fā)器的Q非輸出端。3:272.6.1方式的設定方式的設定

48、返回返回圖圖2-18 電源控制寄存器電源控制寄存器PCON空閑方式和掉電方式是通過對SFR中的PCON(地址87H)相應位置1而啟動的。 SMOD: 波特率倍頻位。若此位為1,則串行口方式1、方式2和方式3的波特率加倍。 GF1和GF0: 通用標志位。 PD: 掉電方式位。此位寫1即啟動掉電方式。由圖217可見,此時時鐘凍結(jié)。 IDL: 空閑方式位。此位寫1即啟動空閑方式。這時CPU因無時鐘控制而停止運作。如果同時向PD和IDL兩位寫1,則PD優(yōu)先。89C51中PCON的復位值為00000B。3:272.6.2空閑(等待、待機)工作方式空閑(等待、待機)工作方式返回返回當CPU執(zhí)行完置IDL=

49、1(PCON.0)的指令后,系統(tǒng)進入空閑工作方式。這時,內(nèi)部時鐘不向CPU提供,而只供給中斷、串行口、定時器部分。CPU的內(nèi)部狀態(tài)維持,即包括堆棧指針SP、程序計數(shù)器PC、程序狀態(tài)字PSW、累加器ACC所有的內(nèi)容保持不變,端口狀態(tài)也保持不變。ALE和PSEN保持邏輯高電平。3:272.6.2空閑(等待、待機)工作方式空閑(等待、待機)工作方式返回返回進入空閑方式后,有兩種方法可以使系統(tǒng)退出空閑方式。一是任何的中斷請求被響應都可以由硬件將PCON.0(IDL)清0而中止空閑工作方式。當執(zhí)行完中斷服務程序返回到主程序時,在主程序中,下一條要執(zhí)行的指令將是原先使IDL置位指令后面的那條指令。PCON

50、中的通用標志位GF1和GF0可以用來指明中斷是在正常操作還是在待機方式期間發(fā)生的。在待機方式時,除用指令使IDL=1外,還可先用指令使GF1或GF0置1。當由于中斷而停止待機方式時,在中斷服務程序中可以檢查這些標志位,說明是從待機方式進入中斷的。3:272.6.2空閑(等待、待機)工作方式空閑(等待、待機)工作方式返回返回另一種退出空閑方式的方法是硬件復位,由于在空閑工作方式下振蕩器仍然工作,因此硬件復位僅需2個機器周期便可完成。而RST端的復位信號直接將PCON.0(IDL)清0,從而退出空閑狀態(tài),CPU則從進入空閑方式的下一條指令開始重新執(zhí)行程序。3:272.6.3掉電(停機)工作方式掉電

51、(停機)工作方式返回返回當CPU執(zhí)行一條置PCON.1位(PD)為1的指令后,系統(tǒng)進入掉電工作方式。在這種工作方式下,內(nèi)部振蕩器停止工作。由于沒有振蕩時鐘,因此,所有的功能部件都停止工作。但內(nèi)部RAM區(qū)和特殊功能寄存器的內(nèi)容被保留,而端口的輸出狀態(tài)值都保存在對應的SFR中,ALE和PSEN都為低電平。退出掉電方式的惟一方法是由硬件復位,復位后將所有特殊功能寄存器的內(nèi)容初始化,但不改變片內(nèi)RAM區(qū)的數(shù)據(jù)。在掉電工作方式下,VCC可以降到2 V,但在進入掉電方式之前,VCC不能降低。而在準備退出掉電方式之前,VCC必須恢復正常的工作電壓值,并維持一段時間(約10 ms),使振蕩器重新啟動并穩(wěn)定后方

52、可退出掉電方式。3:272.7輸出輸出/輸入端口結(jié)構(gòu)輸入端口結(jié)構(gòu) I/O端口概述端口概述2.7.1 P1口口2.7.2 P2口口2.7.3 P0口口2.7.4 P3口口2.7.5 端口的負載能力和接口要求端口的負載能力和接口要求返回返回3:27I/O端口概述端口概述返回返回189C51單片機有四個單片機有四個8位并行位并行I/O端口:端口:P0、P1、P2和和P3。2每個端口都是每個端口都是8位準雙向口,共占位準雙向口,共占32根引腳。根引腳。3每一條每一條I/O線都能獨立地用作輸入或輸出。線都能獨立地用作輸入或輸出。4每個端口都包括一個鎖存器(即特殊功能寄存器每個端口都包括一個鎖存器(即特殊

53、功能寄存器P0P3),),一個輸出驅(qū)動器和輸入緩沖器,作輸出是數(shù)據(jù)可以鎖存,一個輸出驅(qū)動器和輸入緩沖器,作輸出是數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖。作輸入時數(shù)據(jù)可以緩沖。3:272.7.1 P1口口一、一、P1口結(jié)構(gòu)口結(jié)構(gòu)二、二、P1口用作通用口用作通用I/O返回返回3:272.7.1 P1口口一、一、P1口結(jié)構(gòu):口結(jié)構(gòu):其電路結(jié)構(gòu)見圖2-19,輸出驅(qū)動部分與P0口不同,內(nèi)部有上拉負載電阻與電源相連。實質(zhì)上,電阻是兩個場效應管FET并在一起:一個FET為負載管,其電阻固定。另一個FET可工作在導通或截止兩種狀態(tài),使其總電阻值變化近似為0或阻值很大兩種情況。當阻值近似為0時,可將引腳快速上拉至高

54、電平;當阻值很大時,P1口為高阻輸入狀態(tài)。返回返回3:27圖圖2-19 P1口某位的結(jié)構(gòu)口某位的結(jié)構(gòu)返回返回3:272.7.1 P1口口二、二、P1口用作通用口用作通用I/OP1口也是一個準雙向口。在端口用作輸入時,也必須先向?qū)逆i存器寫入1,使FET截止。當P1口輸出高電平時,能向外提供拉電流負載,所以不必再接上拉電阻。返回返回3:272.7.2 P2口口一、一、P2口結(jié)構(gòu)口結(jié)構(gòu)二、二、P2口用作一般口用作一般I/O口口三、三、P2口用作高口用作高8位地址總線位地址總線返回返回3:27一、一、P2口結(jié)構(gòu)口結(jié)構(gòu)如圖2-20所示,P2口某位的結(jié)構(gòu)與P0口類似,有MUX開關。驅(qū)動部分與P1口類似

55、,但比P1口多了一個轉(zhuǎn)換控制部分。返回返回3:27圖圖2-20 P2口某位的結(jié)構(gòu)圖口某位的結(jié)構(gòu)圖返回返回3:27二、二、P2口用作一般口用作一般I/O口口1、當CPU對片內(nèi)存儲器和I/O口進行讀/寫(執(zhí)行MOV 指令或EA=1時,執(zhí)行MOVC指令)時,由內(nèi)部硬件自動使開關MUX倒向鎖存器的Q端,這時,P2口為一般I/O口。3:27二、二、P2口用作一般口用作一般I/O口口2、在只需擴展256B片外RAM的系統(tǒng)中,使用“MOVX A, Ri”類指令訪問片外RAM時,尋址范圍是256B,只需低8位地址線就可以實現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。3:27二、二、P2口用作一般口用作一般I

56、/O口口3、若擴展的RAM容量超過256B,使用“MOVX A,DPTR”類指令的尋址范圍是64KB,此時,高8位地址總線用P2口輸出。在片外RAM讀/寫周期內(nèi),P2口鎖存器仍保持原來端口的數(shù)據(jù);在訪問片外RAM周期結(jié)束后,多路開關MUX自動切換倒鎖存器Q端。由于CPU對RAM的訪問不是經(jīng)常的,在這種情況下,P2口在一定的限度內(nèi)仍可用作通用I/O口。返回返回3:27三、三、P2口用作高口用作高8位地址總線位地址總線當CPU對片外存儲器或I/O口進行讀/寫(執(zhí)行MOVX指令或EA=0時執(zhí)行MOVC指令)時,開關倒向地址線(右)端,這時,P2口只輸出高8位地址。因為訪問片外EPROM和RAM的操作

57、往往接連不斷,所以,P2口要不斷送出高8位地址,此時P2口無法再用作通用I/O口。返回返回3:272.7.3 P0口口一、結(jié)構(gòu)一、結(jié)構(gòu)二、二、P0口作為一般口作為一般I/O口使用口使用三、三、P0口作為地址口作為地址/數(shù)據(jù)總線使用數(shù)據(jù)總線使用返回返回3:27一、結(jié)構(gòu)一、結(jié)構(gòu)P0口某位的結(jié)構(gòu)由一個輸出鎖存器、二個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。如圖2-21所示。當C=0時,開關MUX被控為如圖示位置,P0口為通用I/O口;當C=1時,開關撥向反相器3的輸出端,P0口分時作為地址/數(shù)據(jù)總線使用。返回返回3:27圖圖2-21 P0口某位的結(jié)構(gòu)圖口某位的結(jié)構(gòu)圖當C=0時,開關MUX被控為如

58、圖示位置,P0口為通用I/O口;當C=1時,開關撥向反相器3的輸出端,P0口分時作為地址/數(shù)據(jù)總線使用。返回返回3:27二、二、P0口作為一般口作為一般I/O口使用口使用1、P0口用作輸出口口用作輸出口2、P0口作輸入口口作輸入口返回返回3:271、P0口用作輸出口口用作輸出口當CPU執(zhí)行輸出指令時,寫脈沖加在D鎖存器的CP上,這樣,與內(nèi)部總線相連的D端的數(shù)據(jù)取反后就出現(xiàn)在Q端上,又經(jīng)輸出級FET(T2)反相,在P0端口上出現(xiàn)的數(shù)據(jù)正好是內(nèi)部總線的數(shù)據(jù)。這是一般的數(shù)據(jù)輸出情況。返回返回3:272、P0口作輸入口口作輸入口當執(zhí)行一條由端口輸入的指令時,“讀引腳”脈沖把三態(tài)緩沖器2打開,這樣,端口

59、上的數(shù)據(jù)經(jīng)過緩沖器2讀入到內(nèi)部總線。在端口進行輸入操作前,應先向端口鎖存器寫入1,也就是使鎖存器Q=0。因為控制線C=0,因此T1和T2全截止,引腳處于懸浮狀態(tài),可作高阻抗輸入。返回返回3:27三、三、P0口作為地址口作為地址/數(shù)據(jù)總線使用數(shù)據(jù)總線使用1P0口用作輸出地址口用作輸出地址/數(shù)據(jù)總線數(shù)據(jù)總線以P0口引腳輸出低8位地址或數(shù)據(jù)信息,MUX開關把CPU內(nèi)部地址/數(shù)據(jù)線經(jīng)反向器3與驅(qū)動場效應管FET(T2)柵極接通。上下兩個FET處于反相,構(gòu)成推拉式的輸出電路(T1導通時上拉,T2導通時下拉),提高了負載能力。當P0口被地址/數(shù)據(jù)總線占用時,就無法再作I/O口使用了。3:272由由P0口輸

60、入數(shù)據(jù):口輸入數(shù)據(jù):在“讀引腳”信號有效時,打開輸入緩沖器2,使數(shù)據(jù)進入內(nèi)部總線。三、三、P0口作為地址口作為地址/數(shù)據(jù)總線使用數(shù)據(jù)總線使用返回返回3:272.7.4 P3口口一、結(jié)構(gòu)一、結(jié)構(gòu)二、P3口作為通用口作為通用I/O口使用口使用三、三、P3口用作第二功能使用口用作第二功能使用返回返回3:27一、結(jié)構(gòu)一、結(jié)構(gòu)1、P3口是一個多功能端口,其某一位的結(jié)構(gòu)見圖2-22。P3口與P1口的差別在于多了“與非”門3和緩沖器4。使得P3口除了具有P1口的準雙向I/O功能外,還可以使用各引腳所具有的第二功能。2、“與非”門3的作用實際上是一個開關,決定是輸出鎖存器上的數(shù)據(jù)還是輸出第二功能(W)的信號。當W=1時,輸出Q端信

溫馨提示

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

評論

0/150

提交評論