第二章51單片機硬件系統(tǒng)課件_第1頁
第二章51單片機硬件系統(tǒng)課件_第2頁
第二章51單片機硬件系統(tǒng)課件_第3頁
第二章51單片機硬件系統(tǒng)課件_第4頁
第二章51單片機硬件系統(tǒng)課件_第5頁
已閱讀5頁,還剩148頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章89C51單片機的結(jié)構(gòu)和原理2.189C51單片機的結(jié)構(gòu)2.289C51單片機引腳及其功能2.389C51存儲器配置2.4CPU時序2.5復(fù)位及復(fù)位電路2.6輸出/輸入端口結(jié)構(gòu)學(xué)習(xí)要點:本章主要講述單片機的硬件結(jié)構(gòu)。通過學(xué)習(xí)本章內(nèi)容要求掌握89C51單片機內(nèi)部硬件組成,管腳的定義、功能、作用;熟練掌握單片機各種存儲器物理空間配置及內(nèi)部特殊功能寄存器的定義、作用;掌握單片機的最小系統(tǒng)組成部分。*重點與難點: 51單片機內(nèi)部結(jié)構(gòu)、存儲空間、I/O端口、時鐘電路、復(fù)位電路。*2.189C51單片機的結(jié)構(gòu)2.1.1 89C51單片機的基本組成*2.1.2 89C51單片機內(nèi)部結(jié)構(gòu)返回2.1.1

2、89CS51單片機的基本組成一、組成*二、89C51系列單片機的性能返回一、組成89C51單片機結(jié)構(gòu)框圖 如圖2-1所示*返回8051單片機結(jié)構(gòu)框圖89C51CPU振蕩器和時序OSC64KB 總線擴展控制器數(shù)據(jù)存儲器256B RAM/SFR216位定時器/計數(shù)器可編程I/O程序存儲器4KBROM可編程全雙工串行口外中斷內(nèi)中斷控制并行口串行通信外部時鐘源外部事件計數(shù)返回*一、組成一個8位 的微處理器CPU。返回一、組成* 用以存放可以讀/寫的數(shù)據(jù),如運算的中間結(jié)果、最終結(jié)果以及欲顯示的數(shù)據(jù)等。片內(nèi)數(shù)據(jù)存儲器(RAM128B/256B):返回一、組成* 用以存放程序、一些原始數(shù)據(jù)和表格。但有一些單

3、片機內(nèi)部不帶ROM/EPROM,如8031、8032、80C31等。片內(nèi)程序存儲器ROM/EPROM (4KB/8KB):返回一、組成*每個口可以用作輸入,也可以用作輸出。四個8位并行I/O(輸入/輸出)接口P0P3:返回一、組成* 每個定時/計數(shù)器都可以設(shè)置成計數(shù)方式,用以 對 外部事件進行計數(shù),也可以設(shè)置成定時方式,并可以根據(jù)計數(shù)或定時的結(jié)果 實現(xiàn)計算機控制。兩個或三個定時/計數(shù)器:返回一、組成* 可實現(xiàn)單片機與單片機或其它微機之間串行通信。一個全雙工UART的串行I/O口:返回一、組成* 但需外接晶振和電容。片內(nèi)振蕩器和時鐘產(chǎn)生電路:返回一、組成*五個中斷源的中斷控制系統(tǒng)。返回二、89C

4、51系列單片機的性能如表2-1所示。表中型號帶“C”表示所用的是CMOS工藝,具有功耗低的優(yōu)點。*返回MCS-51系列單片機的性能表返回2.1.2 89C51單片機內(nèi)部結(jié)構(gòu)一、結(jié)構(gòu)圖*二、結(jié)構(gòu)組成返回一、結(jié)構(gòu)圖由 中央處理單元(CPU)、存儲器(ROM及RAM)和I/O接口組成。89C51單片機內(nèi)部結(jié)構(gòu)如 圖2-2所示。*P0驅(qū)動器P2驅(qū)動器P0鎖存器P2鎖存器RAM地址寄存器128BRAM4KBROMB寄存器暫存器1暫存器2ACCSP程序地址寄存器 緩沖器PC增1PCDPTR中斷、串行口和定時器PSWP1鎖存器P1驅(qū)動器P3鎖存器P3驅(qū)動器定時控制指令寄存器指令譯碼器OSCALUP0.0-P

5、0.7P2.0-P2.7P3.0-P3.7P1.0-P1.7XTAL1 XTAL2PSENALEEARET8051單片機內(nèi)部結(jié)構(gòu)圖返回二、結(jié)構(gòu)組成*(一)、中央處理單元(CPU)(二)、存儲器 (三)、I/O接口 返回(一)、中央處理單元(CPU)1運算器*返回2控制器1運算器(1)8位的ALU:*返回(2)8位累加器ACC(A):(3)8位程序狀態(tài)寄存器PSW:(4)8位寄存器B:(5)布爾處理器:(6)2個8位暫存器:1運算器可對4位、8位、16位數(shù)據(jù)進行操作。*返回(1)8位的ALU:1運算器(2)8位累加器ACC(A):*它經(jīng)常作為一個運算數(shù)經(jīng)暫存器2進入ALU的輸入端,與另一個來自暫

6、存器1的運算數(shù)進行運算,運算結(jié)果又送回ACC。返回1運算器* 指示指令執(zhí)行后的狀態(tài)信息供程序查詢和判別用。(3)8位程序狀態(tài)寄存器PSW:返回1運算器(4)8位寄存器B:* 在乘除運算時,用來存放一個操作數(shù)也用來存放運算后的一部分結(jié)果;如不能做乘除運算時,作為通用寄存器。返回1運算器(5)布爾處理器:*專門用于處理位操作的,以PSW中的C為其累加器。返回1運算器(6)2個8位暫存器:*ALU的兩個入口處。返回2控制器(1)程序計數(shù)器PC(16位)*(2)指令寄存器IR及指令譯碼器ID(3)振蕩器和定時電路返回(1)程序計數(shù)器PC(16位)由兩個8位計數(shù)器PCH、PCL組成。PC是程序的字節(jié)地址

7、計數(shù)器,PC內(nèi)容為將要執(zhí)行的指令地址。改變PC內(nèi)容,改變執(zhí)行的流向。PC可對64KB的ROM直接尋址,也可對80C51片內(nèi)RAM尋址。*返回(2)指令寄存器IR及指令譯碼器ID由PC中的內(nèi)容指定ROM地址,取出來的指令經(jīng)IR送至ID,由ID對指令譯碼產(chǎn)生一定序列的控制信號,以執(zhí)行指令所規(guī)定的操作。*返回(3)振蕩器和定時電路89C51單片機片內(nèi)有振蕩電路,只需外接石英晶體和頻率微調(diào)電容(2個30pF左右),其頻率范圍為1.2MHz12MHz。該信號作為89C51工作的基本節(jié)拍即時間的最小單位。*返回(二)、存儲器1、程序存儲器(ROM)*2、數(shù)據(jù)存儲器(RAM)返回1、程序存儲器(ROM)89

8、C51、8051及8751的片內(nèi)ROM容量為4KB。地址從0000H開始。用于存放程序和表格常數(shù)。*返回2、數(shù)據(jù)存儲器(RAM)8051/8751/89C51RAM均為128B,地址為00H7FH。用于存放運算的中間結(jié)果、數(shù)據(jù)暫存以及數(shù)據(jù)緩沖等。這128B的RAM中有32個字節(jié)單元可指定為工作寄存器。片內(nèi)還有21個特殊功能寄存器(SFR),它們同128字節(jié)RAM統(tǒng)一編址,地址為80HFFH。后面詳細介紹。*返回(三)、I/O接口89C51有四個8位并行I/O接口P0P3。它們都是雙向端口,每個端口各有8條I/O線。P0-P3口四個鎖存器同RAM統(tǒng)一編址,可作為SFR來尋址。*返回2.289C5

9、1單片機引腳及其功能2.2.189C51單片機引腳*2.2.2 89C51單片機引腳功能返回2.2.189C51單片機引腳MCS-51系列如8051、8751和8031均采用40引腳雙列直插封裝(DIP)方式。因受到引腳數(shù)目的限制,有不少引腳具有第二功能。89C51單片機引腳與其相同,如圖2-3所示。*返回89C51單片機引腳圖返回2.2.2 89C51單片機引腳功能一、電源引腳:Vcc和Vss二、時鐘電路引腳:XTAL1和XTAL2三、控制信號引腳RST、ALE、PSEN和 EA四、I/O端口P0、P1、P2和P3*返回一、電源引腳:Vcc和Vss1Vcc(40腳):電源端,為+5V。2Vs

10、s(20腳):接地端。*返回二、時鐘電路引腳:XTAL1和XTAL2XTAL2(18腳):接外部晶體和微調(diào)電容的一端;在8051 片內(nèi)它是振蕩電路反向放大器的輸出端,振蕩電路的頻率就是晶體固有頻率。若需采用外部時鐘電路時,該引腳輸入外部時鐘脈沖。8051/8031正常工作時,該引腳應(yīng)有脈沖信號輸出。*返回二、時鐘電路引腳:XTAL1和XTAL2XTAL1(19腳):接外部晶體和微調(diào)電容的另一端;在片內(nèi)它是振蕩電路反向放大器的輸入端,在采用外部時鐘時,該引腳接地。*返回 三、控制信號引腳: RST、ALE、PSEN和EARST/VPD(9腳):RST:復(fù)位信號輸入端,高電平有效。當此輸入端保持兩

11、個機器周期的高電平時,就可以完成復(fù)位操作。*返回 三、控制信號引腳:RST、ALE、PSEN和EARST/VPD(9腳):VPD :RST引腳的第二功能,備用電源輸入端。當主電源Vcc 發(fā)生故障,降低到低電平規(guī)定值時,將+5V電源自動接入該引腳,為RAM提供備用電源,以保證RAM中的信息不丟失,使得復(fù)位后能繼續(xù)正常運行。*返回三、控制信號引腳: RST、ALE、PSEN和EAALE/PROG(30腳):ALE:地址鎖存允許信號端。正常工作時,該引腳以振蕩頻率的1/6固定輸出正脈沖。CPU訪問片外存儲器時,該引腳輸出信號作為鎖存低8位地址的控制信號。它的負載能力為8個LS型TTL負載。*返回三、

12、控制信號引腳:ALE/PROG(30腳):PROG:是對片內(nèi)帶有4KB EPROM的8751編程寫入時的編程脈沖輸入端。*返回三、控制信號引腳:RST、ALE、PSEN和EAPSEN(29腳):程序存儲器允許信號輸出端。在訪問片外ROM時,定時輸出負脈沖作為讀片外ROM的選通信號,接片外ROM 的OE端。它的負載能力為8個LS型TTL負載。*返回三、控制信號引腳:EA/Vpp(31腳):EA: 外部程序存儲器地址允許輸入端。當該引腳接高電平時,CPU訪問片內(nèi)EPROM/ROM并執(zhí)行片內(nèi)程序存儲器中的指令,但當PC值超過0FFFH(片內(nèi)ROM為4KB)時,將自動轉(zhuǎn)向執(zhí)行片外ROM中的程序。當該引

13、腳接低電平時,CPU只訪問片外EPROM/ROM并執(zhí)行外部程序存儲器中的程序。*返回三、控制信號引腳:EA/Vpp(31腳):Vpp:對89C51片內(nèi)EPROM固化編程時,編程電壓輸入端(12-21V)。*返回 四、I/O端口P0、P1、P2和P31、準雙向2、P0口3、P1口4、P2口5、P3口*返回1、準雙向當I/O口作為輸入時,應(yīng)先向此口鎖存器寫入全1, 此時該口引腳浮空,可作高阻抗輸入。*返回2、P0口:漏極開路的8位準雙向I/O口,每位能驅(qū)動8個LS型TTL負載。P0口可作為一個數(shù)據(jù)輸入/輸出口;在CPU訪問片外存儲器時,P0口為分時復(fù)用的低8位地址總線和8位數(shù)據(jù)總線。*返回 3、P

14、1口:帶內(nèi)部上拉電阻的8位準雙向I/O端口,每位能驅(qū)動4個LS型TTL負載。*返回 4、P2口:P2口:帶內(nèi)部上拉電阻的8位準雙向I/O端口,每位能驅(qū)動4個LS型TTL負載。在CPU訪問片外存儲器時,它輸出高8位地址。*返回 5、P3口:帶內(nèi)部上拉電阻的8位準雙向I/O端口,每位能驅(qū)動4個LS型TTL負載。P3口除作為一般I/O口外,每個引腳都有第二功能。*返回2.389C51存儲器配置2.3.189C51存儲器分類2.3.2程序存儲器地址空間2.3.3數(shù)據(jù)存儲器地址空間*返回2.3.1 89CC1存儲器分類一、物理結(jié)構(gòu)(哈佛結(jié)構(gòu))二、用戶角度*返回一、物理結(jié)構(gòu)(哈佛結(jié)構(gòu))*89C51存儲器程

15、序存儲器ROM數(shù)據(jù)存儲器RAM片內(nèi)程序存儲器片外程序存儲器片內(nèi)數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器返回二、用戶角度*返回圖2-4 89C51存儲器配置二、用戶角度1、片內(nèi)、外統(tǒng)一編址的64K程序存儲器地址空間。CPU訪問片內(nèi)、片外ROM指令用MOVC。*返回二、用戶角度2、64K的片外數(shù)據(jù)存儲器地址空間。訪問片外RAM指令用MOVX。*返回二、用戶角度3、256字節(jié)的片內(nèi)數(shù)據(jù)存儲器地址空間。訪問片內(nèi)RAM指令用MOV。上述三個存儲空間地址是重疊的,89C51的指令系統(tǒng)采用不同的數(shù)據(jù)傳送指令符號。*返回2.3.2 程序存儲器地址空間一、用途:二、編址:三、尋址方式:*返回一、用途:用于存放編好的程序和表格常

16、數(shù)。*返回二、編址:80C51/8751片內(nèi)ROM/EPROM的容量為4KB。地址為0000H0FFFH。片外最多可擴至64KB ROM/EPROM,地址為1000HFFFFH。片內(nèi)外統(tǒng)一編址。*返回三、尋址方式:1、當 EA=“1”時:80C51的PC在00000FFFH范圍內(nèi)執(zhí)行片內(nèi)ROM中的程序,當指令地址超過0FFFH 后就自動轉(zhuǎn)向片外ROM中取指令。*返回三、尋址方式:2、當 EA=”0”時:8051片內(nèi)ROM不起作用,CPU只能從片ROM/EPROM中取指令??梢詮?0000H 開始尋址。由于8031片內(nèi)不帶ROM ,所以使用時必須 EA=”0”。*返回三、尋址方式:3、8051從

17、片內(nèi)ROM和片外ROM取指的速度相同。*返回三、尋址方式:4、程序存儲器的保留存儲單元。如表2-2所示。 *返回三、尋址方式:(1)0000H0002H三個單元:用作8051上電復(fù)位后引導(dǎo)程序的存放單元。因為復(fù)位后PC的內(nèi)容為0000H,CPU總是從0000H開始執(zhí)行程序。將轉(zhuǎn)移指令存放到這三個單元,程序就被引導(dǎo)到指定的程序存儲器空間去執(zhí)行。*返回三、尋址方式:(2)0003H002AH單元:均分為五段,用作五個中斷服務(wù)程序的入口。中斷矢量地址表*返回0003H000AH 外部中斷0中斷地址區(qū)000BH0012H 定時/計數(shù)器0中斷地址區(qū)0013H001AH 外部中斷1中斷地址區(qū)001BH00

18、22H 定時/計數(shù)器1中斷地址區(qū)0023H002AH 串行中斷地址區(qū)*2.3.3 數(shù)據(jù)存儲器地址空間一、用途:二、片外RAM: 三、片內(nèi)RAM: *返回一、用途:用于存放運算的中間結(jié)果、數(shù)據(jù)暫存和緩沖、標志位等。*返回二、片外RAM:地址:0000HFFFFH 尋址:用MOVX指令*返回三、片內(nèi)RAM: 片內(nèi)數(shù)據(jù)存儲器最大可尋址256個單元, 分為兩部分: 低128字節(jié)(00H7FH)是真正的RAM區(qū); 高128字節(jié)(80HFFH)為 (SFR)區(qū)。高128字節(jié)和低128字節(jié)RAM中的配置及含義如圖28和圖29所示。*返回*79圖28 低128字節(jié)RAM區(qū)圖29 高128字節(jié)RAM區(qū)(SFR區(qū)

19、,特殊功能寄存器區(qū))低128字節(jié)RAM1、89C51的32個工作寄存器與RAM安排在同一個隊列空間里,統(tǒng)一編址并使用同樣的尋址方式(直接尋址和間接尋址)。2、00H1FH地址安排為4組工作寄存器區(qū),每組有8個工作寄存器(R0R7),共占32個單元。3、工作寄存器區(qū)后的16字節(jié)單元(20H2FH),可用位尋址方式訪問其各位。*位尋址區(qū)(20H2FH) 這16個RAM單元具有雙重功能。即可按字節(jié)存取,也可以對每個單元的任何一位位尋址。用作位尋址時,共有168128位,位地址為00H7FH。 如,欲把2FH單元中最高位置位成1,可使用如下位置位指令: SETB 7FH 圖 2.10 RAM中的位尋址

20、區(qū)地址表 高128字節(jié)RAM特殊功能寄存器(SFR)89C51片內(nèi)高128字節(jié)RAM中,有21個特殊功能寄存器(SFR),它們離散地分布在80HFFH的RAM空間中。訪問特殊功能寄存器只允許使用直接尋址方式。這些特殊功能寄存器見圖29。各SFR的名稱及含義如表25所列。*84(1) 累加器ACC(E0H)累加器ACC是89C51最常用、最忙碌的8位特殊功能寄存器,許多指令的操作數(shù)取自于ACC,許多運算中間結(jié)果也存放于ACC。在指令系統(tǒng)中用A作為累加器ACC的助記符。*85(2) 寄存器B(F0H)在乘、除指令中,用到了8位寄存器B。乘法指令的兩個操作數(shù)分別取自A和B,乘積存于B和A兩個8位寄存

21、器中。除法指令中,A中存放被除數(shù),B中放除數(shù),商存放于A,B中存放余數(shù)。在其他指令中,B可作為一般通用寄存器或一個RAM單元使用。*86(3) 程序狀態(tài)寄存器PSW(D0H)PSW是一個8位特殊功能寄存器,它的各位包含了程序執(zhí)行后的狀態(tài)信息,供程序查詢或判別之用。各位的含義及其格式如表26所列。PSW除有確定的字節(jié)地址(D0H)外,每一位均有位地址,見表26。CyACF0RS1RS0OVPD7 D6 D5 D4 D3 D2 D1 D088(4) 棧指針SP(81H)堆棧指針SP為8位特殊功能寄存器,SP的內(nèi)容可指向89C51片內(nèi)00H7FH RAM的任何單元。系統(tǒng)復(fù)位后,SP初始化為07H,即

22、指向07H的RAM單元。 堆?;驍?shù)據(jù)緩沖區(qū)(30H7FH) 共80個RAM單元,用于存放用戶數(shù)據(jù)或作堆棧。按字節(jié)存取。 堆棧指針SP初始值為07H,一般在程序初始化時應(yīng)對SP設(shè)一初值。MCS51單片機堆棧 為了不影響工作寄存器的數(shù)據(jù),一般在程序初始化時應(yīng)對SP設(shè)一初值,如30H,或6FH9089C51在片內(nèi)RAM中專門開辟出來一個區(qū)域,數(shù)據(jù)的存取是以“后進先出”的結(jié)構(gòu)方式處理的,好像沖鋒槍壓入子彈。這種數(shù)據(jù)結(jié)構(gòu)方式對于處理中斷,調(diào)用子程序都非常方便。堆棧的操作有兩種: 一種叫數(shù)據(jù)壓入(PUSH),另一種叫數(shù)據(jù)彈出(POP)。89C51的堆棧指針SP是一個雙向計數(shù)器。進棧時,SP內(nèi)容自動增值,出

23、棧時自動減值。存取信息必須按“后進先出”或“先進后出”的規(guī)則進行。圖211 堆棧的壓入與彈出92(5) 數(shù)據(jù)指針DPTR(83H,82H)DPTR是一個16位的特殊功能寄存器,其高位字節(jié)寄存器用DPH表示(地址83H),低位字節(jié)寄存器用DPL表示(地址82H)。DPTR既可以作為一個16位寄存器來處理,也可以作為兩個獨立的8位寄存器DPH和DPL使用。DPTR主要用于存放16位地址,以便對64 KB片外RAM作間接尋址。*93(6) /端口P0P3(80H,90H,A0H,B0H)P0P3為4個8位特殊功能寄存器,分別是4個并行/端口的鎖存器。它們都有字節(jié)地址,每一個口鎖存器還有位地址,每一條

24、/線均可獨立用作輸入或輸出。用作輸出時,可以鎖存數(shù)據(jù);用作輸入時,數(shù)據(jù)可以緩沖。圖2-12所示為各個SFR所在的字節(jié)地址位置??崭癫糠譃槲磥碓O(shè)計新型芯片可定義的SFR位置。*94圖2-12 特殊功能寄存器SFR的位置2.4CPU時序2.4.1片內(nèi)振蕩器及時鐘信號的產(chǎn)生*返回2.4.2機器周期和指令周期2.4.3CPU取指、執(zhí)行周期時序2.4.1片內(nèi)振蕩器及時鐘信號的產(chǎn)生*1、內(nèi)部時鐘電路:如圖2-132、外部時鐘電路:如圖2-143、8051的片內(nèi)振蕩器及時鐘發(fā)生器: 如圖2-15返回2-13內(nèi)部時鐘電路 2-14外部時鐘電路* XTAL2 XTAL1MCS-51C1C2CYS XTAL2 X

25、TAL1MCS-51+5VVSSTTL外部時鐘源*982.4.1片內(nèi)時鐘信號的產(chǎn)生89C51芯片內(nèi)部有一個高增益反相放大器,用于構(gòu)成振蕩器。構(gòu)成穩(wěn)定的自激振蕩器:兩端跨接石英晶體及兩個電容。電容器C1和C2通常取30pF左右,可穩(wěn)定頻率并對振蕩頻率有微調(diào)作用。振蕩脈沖頻率范圍為fOSC=024 MHz。如圖2-15 示。返回*99圖2-15 89C51的片內(nèi)振蕩器及時鐘發(fā)生器*100 節(jié)拍與狀態(tài)周期時鐘發(fā)生器是一個2分頻的觸發(fā)器電路,向CPU提供兩相時鐘信號P1和P2。時鐘信號的周期稱為機器狀態(tài)周期S(STATE),是振蕩周期的2倍。在每個時鐘周期(即機器狀態(tài)周期S)的前半周期,相位1(P1)

26、信號有效,在每個時鐘周期的后半周期,相位2(P2,節(jié)拍2)信號有效。每個時鐘周期(以后常稱狀態(tài)S)有兩個節(jié)拍(相)P1和P2,CPU就以兩相時鐘P1和P2為基本節(jié)拍指揮89C51單片機各個部件協(xié)調(diào)地工作。2.4.2機器周期和指令周期二、指令周期:*一、機器周期:返回周期指令的CPU 時序*P1P2S1振蕩周期時鐘周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2一個機器周期是指CPU訪問存儲器一次所需的時間。例如,取指令、讀存儲器、寫存儲器等等。一個機器周期包括12

27、個振蕩周期,分為6個S狀態(tài):S1S6。每個狀態(tài)又分為兩拍,稱為P1和P2。因此,一個機器周期中的12個振蕩周期表示為S1P1,S1P2,S2P1,S6P1,S6P2。若采用6MHz晶體振蕩器,則每個機器周期為2s(微秒)機器周期如圖所示返回指令周期:執(zhí)行一條指令所需的時間。每條指令由一個或若干個字節(jié)組成。有單字節(jié)指令,雙字節(jié)指令,多字節(jié)指令等。字節(jié)數(shù)少則占存儲器空間少。每條指令的指令周期都由一個或幾個機器周期組成。有單周期指令、雙周期指令、和四周期指令。機器周期數(shù)少則執(zhí)行速度快。指令周期返回*105綜上所述,89C51單片機的基本時序定時單位有如下4個:振蕩周期: 晶振的振蕩周期,為最小的時序

28、單位。狀態(tài)周期: 振蕩頻率經(jīng)單片機內(nèi)的二分頻器分頻后提供給片內(nèi)CPU的時鐘周期。因此,一個狀態(tài)周期包含2個振蕩周期。機器周期(MC): 1個機器周期由6個狀態(tài)周期即12個振蕩周期組成,是計算機執(zhí)行一種基本操作的時間單位。指令周期: 執(zhí)行一條指令所需的時間。一個指令周期由14個機器周期組成,依據(jù)指令不同而不同,見附錄A。*1062.4.2CPU取指、執(zhí)行周期時序每條指令的執(zhí)行都可以包括取指和執(zhí)指兩個階段。在取指階段,CPU從內(nèi)部或外部ROM中取出指令操作碼及操作數(shù),然后再執(zhí)行這條指令。單字節(jié)和雙字節(jié)的指令都可能是單機器周期或雙周期,而三字節(jié)指令都是雙周期的,只有乘、除指令占四周期。因此,執(zhí)行一條

29、指令的時間(指令周期)分別是2s,4s和8s。如 圖2-16所示返回*107圖216 89C51單片機的取指/執(zhí)行時序2.5復(fù)位及復(fù)位電路2.5.1復(fù)位操作2.5.2復(fù)位信號及其產(chǎn)生2.5.3復(fù)位電路*返回2.5.1復(fù)位操作一、復(fù)位是單片機的初始化操作。二、主要功能: 三、寄存器的復(fù)位狀態(tài):*返回復(fù)位操作主要功能PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序當由于程序運行出錯或操作錯誤使系統(tǒng)死鎖狀態(tài)時,為擺脫困境,也需要按復(fù)位鍵重新啟動。*返回寄存器的復(fù)位狀態(tài)*返回2.5.2復(fù)位信號及其產(chǎn)生一、復(fù)位信號:RST引腳為復(fù)位信號輸入端。當RST引腳為高電平,且有效時間持續(xù)24個振蕩周

30、期以上,才能復(fù)位。二、產(chǎn)生復(fù)位信號的電路邏輯圖:如圖2-17所示。*返回 圖 2-17復(fù)位電路邏輯圖*返回 復(fù)位電路施密特觸發(fā)器片內(nèi)RAMRST/VPDVCCVSSD1D22.5.3復(fù)位電路一、上電自動復(fù)位:是通過外部復(fù)位電路的電容充電實現(xiàn)。如圖2-18(a)所示。二、按鍵手動復(fù)位:按鍵電平復(fù)位方式:如圖2-18(b)所示。按鍵脈沖復(fù)位方式:如圖2-18(c)所示。*返回圖 2-18 (a) 上電復(fù)位電路只要Vcc的上升時間不超過1ms,就自動上電復(fù)位,即接通電源就完成了系統(tǒng)復(fù)位。*返回VCCCRVCCRST/VPDVSS1K 22F8051圖 2-18 (b) 按鍵電平復(fù)位電路通過使復(fù)位端經(jīng)

31、電阻與VCC電源接通而實現(xiàn)。*VCCCR2VCCRST/VPDVSS1K22F8051R1200RESET返回圖 2-18 (c) 按鍵脈沖復(fù)位電路利用RC微分電路產(chǎn)生的正脈沖來實現(xiàn)復(fù)位。*VCCC1R2VCCRST/VPDVSS1K22F8051R11kRESET22FC2返回2.6輸出/輸入端口結(jié)構(gòu)2.6.1 I/O端口概述2.6.2 P0口2.6.3 P1口2.6.4 P2口2.6.5 P3口2.6.6 端口的負載能力和接口要求*返回2.6.1 I/O端口概述18051單片機有四個8位并行I/O端口:P0、P1、P2和P3。2每個端口都是8位準雙向口,共占32根引腳。3每一條I/O線都能

32、獨立地用作輸入或輸出。4每個端口都包括一個鎖存器(即特殊功能寄存器P0P3),一個輸出驅(qū)動器和輸入緩沖器,作輸出是數(shù)據(jù)可以鎖存,作輸入時數(shù)據(jù)可以緩沖。*返回2.6.2 P0口一、結(jié)構(gòu)二、P0口作為一般I/O口使用三、P0口作為地址/數(shù)據(jù)總線使用*返回一、結(jié)構(gòu)P0口某位的結(jié)構(gòu)由一個輸出鎖存器、二個三態(tài)輸入緩沖器和輸出驅(qū)動電路及控制電路組成。如圖2-19所示。當C=0時,開關(guān)MUX被控為如圖示位置,P0口為通用I/O口;當C=1時,開關(guān)撥向反相器3的輸出端,P0口分時作為地址/數(shù)據(jù)總線使用。*返回功能:雙向三態(tài)口,可用于數(shù)據(jù)的輸入輸出。在系統(tǒng)擴展時,還作為低8位地址線和數(shù)據(jù)總線的分時復(fù)用口。P0端

33、口8位中的一位結(jié)構(gòu)圖如下圖。*圖2-19 P0口某位的結(jié)構(gòu)圖當C=0時,開關(guān)MUX被控為如圖示位置,P0口為通用I/O口;當C=1時,開關(guān)撥向反相器3的輸出端,P0口分時作為地址/數(shù)據(jù)總線使用。返回讀引腳讀鎖存器內(nèi)部總線寫入DCPQQ地址/數(shù)據(jù)控制CMUXVCCT1T2P0.X4312鎖存器二、P0口作為一般I/O口使用1、P0口用作輸出口2、P0口作輸入口*返回1、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ù)輸出情況。*返回2

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

35、口使用了。*返回三、P0口作為地址/數(shù)據(jù)總線使用2由P0口輸入數(shù)據(jù):在“讀引腳”信號有效時,打開輸入緩沖器2,使數(shù)據(jù)進入內(nèi)部總線。*返回2.6.3 P1口一、P1口結(jié)構(gòu)二、P1口用作通用I/O*返回2.6.3P1口一、P1口結(jié)構(gòu):其電路結(jié)構(gòu)見圖2-20,輸出驅(qū)動部分與P0口不同,內(nèi)部有上拉負載電阻與電源相連。實質(zhì)上,電阻是兩個場效應(yīng)管FET并在一起:一個FET為負載管,其電阻固定。另一個FET可工作在導(dǎo)通或截止兩種狀態(tài),使其總電阻值變化近似為0或阻值很大兩種情況。當阻值近似為0時,可將引腳快速上拉至高電平;當阻值很大時,P1口為高阻輸入狀態(tài)。*返回圖2-20 P1口某位的結(jié)構(gòu)圖*返回讀引腳讀鎖

36、存器內(nèi)部總線寫入DCPQQVCCP1.X12鎖存器2.6.3P1口二、P1口用作通用I/OP1口也是一個準雙向口。在端口用作輸入時,也必須先向?qū)?yīng)的鎖存器寫入1,使FET截止。當P1口輸出高電平時,能向外提供拉電流負載,所以不必再接上拉電阻。*返回2.6.4 P2口一、P2口結(jié)構(gòu)二、P2口用作一般I/O口三、P2口用作高8位地址總線*返回一、P2口結(jié)構(gòu)如圖2-21所示,P2口某位的結(jié)構(gòu)與P0口類似,有MUX開關(guān)。驅(qū)動部分與P1口類似,但比P1口多了一個轉(zhuǎn)換控制部分。*返回圖2-21 P2口某位的結(jié)構(gòu)圖*返回讀引腳讀鎖存器內(nèi)部總線寫入DCPQQ地址/數(shù)據(jù)控制CMUXVCCP2.X鎖存器二、P2口

37、用作一般I/O口1、當CPU對片內(nèi)存儲器和I/O口進行讀/寫(執(zhí)行MOV 指令或EA=1時,執(zhí)行MOVC指令)時,由內(nèi)部硬件自動使開關(guān)MUX倒向鎖存器的Q端,這時,P2口為一般I/O口。*返回二、P2口用作一般I/O口2、在只需擴展256B片外RAM的系統(tǒng)中,使用“MOVX A, Ri”類指令訪問片外RAM時,尋址范圍是256B,只需低8位地址線就可以實現(xiàn)。P2口不受該指令影響,仍可作通用I/O口。*返回二、P2口用作一般I/O口3、若擴展的RAM容量超過256B,使用“MOVX A,DPTR”類指令的尋址范圍是64KB,此時,高8位地址總線用P2口輸出。在片外RAM讀/寫周期內(nèi),P2口鎖存器

38、仍保持原來端口的數(shù)據(jù);在訪問片外RAM周期結(jié)束后,多路開關(guān)MUX自動切換倒鎖存器Q端。由于CPU對RAM的訪問不是經(jīng)常的,在這種情況下,P2口在一定的限度內(nèi)仍可用作通用I/O口。*返回三、P2口用作高8位地址總線當CPU對片外存儲器或I/O口進行讀/寫(執(zhí)行MOVX指令或EA=0時執(zhí)行MOVC指令)時,開關(guān)倒向地址線(右)端,這時,P2口只輸出高8位地址。因為訪問片外EPROM和RAM的操作往往接連不斷,所以,P2口要不斷送出高8位地址,此時P2口無法再用作通用I/O口。*返回2.6.5 P3口一、結(jié)構(gòu)二、P3口作為通用I/O口使用三、P3口用作第二功能使用*返回一、結(jié)構(gòu)1、P3口是一個多功能端口,其某一位的結(jié)構(gòu)見圖2-16。P3口與P1口的差別在于多了“與非”門3和緩沖器4。使得P3口除了具有P1口的準雙向I/O功能外,還可以使用各引腳所

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論