第2章 MCS-51系列單片機的結構及原理_第1頁
第2章 MCS-51系列單片機的結構及原理_第2頁
第2章 MCS-51系列單片機的結構及原理_第3頁
第2章 MCS-51系列單片機的結構及原理_第4頁
第2章 MCS-51系列單片機的結構及原理_第5頁
已閱讀5頁,還剩56頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第2章 MCS-51系列單片機的結構及原理2.1 MCS-51系列單片機的主要性能特點2.7 掉電保護和低功耗設計2.6 單片機的復位狀態與復位電路2.5 時鐘電路與CPU的時序 2.4 MCS-51系列單片機的主要組成部分2.3 MCS-51系列單片機的引腳功能2.2 MCS-51系列單片機的內部總體結構2.1 MCS-51系列單片機的主要性能特點1、 8031、8051、8751三者不同之處: 8051是ROM型單片機,內部有4KB的ROM;8751片內含有4KB的EPROM;8031片內沒有ROM使用時需外接EPROM。2、 8031、8051、8751三者相同之處: (1)面向控制的8

2、位CPU; (2)128B的片內數據存儲器; (3)可以尋址64KB的片外程序存儲器; (4)可以尋址64KB的片外數據存儲器; 2.1 MCS-51系列單片機的主要性能特點 (5)32根雙向和可單獨尋址的I/O線; (6)一個全雙工的異步串行口; (7)兩個6位定時/計數器; (8)5個中斷源,兩個中斷優先級; (9)有片內時鐘振蕩器; (10)采用高性能HMOS生產工藝生產; (11)有布爾處理(位操作)能力; (12)含基本指令111條,其中單機器周期指令64種。2.2 MCS-51系列單片機的內部總體結構圖2-1 MCS-51單片機的基本結構88微處理器(運算部件)控制部件B 數據存儲

3、器RAMP0口P2口程序存儲器P1口P3口串行口定時/計數器中斷系統特殊功能寄存器(SFR)88ROM/EPROMVCCVSSXTAL1XTAL2 PSENALEEARESET圖2-2 MCS-51片內總體結構框圖RST端口0驅動器端口2驅動器RAM地址鎖存器RAM128*8端口0鎖存器端口2鎖存器ROM4K*8B寄存器程序地址寄存器緩沖器PC+1寄存器PCDPTR指針VCCVSSP1.0P1.7堆棧指針SPACCTMP2PSW端口3鎖存器端口1鎖存器端口1驅動器端口3驅動器TMP1SCONTMODPCONTCONTL0TH1TH0TL1IESBUF(TX/RX)IP中斷、串行口和定時器邏輯O

4、SCP3.0P3.7ALEPSENEAXTAL2XTAL1ALU(+5V)指令寄存器定時與控制指令譯碼器P0.0P0.7P2.0P2.7返回本節2.3 MCS-51系列單片機的引腳功能2.3.1 MCS-51系列單片機引腳功能2.3.2 三總線結構圖2-3(a)MCS-51系列單片機的引腳P1.1P1.2P1.3P1.4P1.5P1.6P1.7VSSP1.0RST/VPDRXD/P3.0TXD/P3.1INT0/P3.2INT1/P3.3T0/P3.4T1/P3.5WR/P3.6RD/P3.7XTAL2XTAL112345678910111213141516171819208031805187

5、514039383736353433323130292827262521222324VCCP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7EA/VppALE/PROGPSENP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0 40條引腳的功能: 1 電源引腳VSS和VCCVSS(20腳):接地;VCC(40腳):正常操作及對EPROM編程和驗證時接5伏電源。2 外接晶體引腳XTAL1和XTAL2XTAL1(19腳):接外部晶體的一端。在單片機內部,它是一個反向放大器的輸入端,這個放大器構成了片內振蕩器。XTAL2(18腳):接外部晶體的另一端。在單片機內部,接至上

6、述反向放大器的輸出端。 3 控制或與其它電源復用引腳RST/VPD,ALE/PROG,PSEN和EA/VPPRST/VPD(9腳):當振蕩器運行時,在此引腳上出現兩個機器周期以上的高電平,將使單片機復位;VCC掉電期間,此引腳可接備用電源,以保持內部RAM的數據不丟失;當VCC掉到低于規定水平,而VPD在其規定的電壓范(50.5V)內,VPD向內部RAM提供備用電源。ALE/PSEN(30腳):當訪問外部存儲器時,MCS-51系列單片機即用P0口作為低8位地址輸出口,又作為數據輸入/輸出口。為了使地址與數據不致于混淆,通常先送地址再傳送數據。ALE(允許地址鎖存)將P0口輸出的低8位地址鎖存,

7、從而實現低位地址與數據的分離。 在ALE端會周期性地出現正脈沖信號,此信號頻率為振蕩器頻率的1/6。因此,它可以用作對外輸出的時鐘。要注意的是:每當訪問外部數據存儲器時,將跳過一個ALE脈沖。ALE端可以驅動(吸收或輸出電流)8個LSTTL輸入。在對8751片內EPROM編程(固化)時,此引腳用于輸入編程脈沖。PSEN(29腳):是外部程序存儲器的讀選通信號。在外部程序存儲器取指令(或常數)期間,每一個機器周期兩次有效。每當訪問外部數據存儲器時,這兩次有效的信號將不出現。同樣可以驅動8個LSTTL輸入。EA/VPP(31腳):當EA端保持高電平時,訪問內部程序存儲器,但在PC(程序計數器)值超

8、過0FFFH(對于8051/8751/80C51)或1FFFH(對于8052)時,將自動轉向訪問外部存儲器。當EA端保持低電平時,不管是否有內部程序存儲器,只訪問外部程序存儲器。在對8751片內EPROM編程時,此引腳用于施加21V的編程電源(VPP)。 4. 輸入/輸出引腳P0口、P1口、P2口、P3口P0口(P0.0P0.7共8條引腳,即3932腳):是雙向8位三態I/O口。在訪問外部存儲器時,可分時用作低8位地址線和8位數據線;在EPROM編程時,它輸入指令字節,而在驗證程序時,則輸出指令字節。P0口能驅動8個LSTTL輸入。P1口(P1.0P1.7共8條引腳,即18腳):P1口是一個帶

9、有內部上拉電阻的8位雙向I/O口。在EPROM編程和程序驗證時,它接收低8位地址。它能驅動4個LSTTL輸入。P2口(P2.0P2.7共8條引腳,即2128腳):P2口是一個帶有內部上拉電阻的8位雙向I/O口。在訪問外部存儲器時,它送出高8位地址。在對EPROM編程和程序驗證時,它接收高8位地址。它能驅動4個LSTTL輸入。P3口(P3.0P3.7共8條引腳,即1017腳):P3口是一個帶有內部上拉電阻的8位雙向I/O口。在MCS-51單片機中,這8個引腳都有各自的第二功能,在實際工作中,大多數情況下都使用P3口的第二功能。表2-1表示出了P3口的第二功能。位線引腳第二功能P3.010RXD(

10、串行輸入口)P3.111TXD(串行輸出口)12INT0(外部中斷0)13INT1(外部中斷1)P3.414T0(定時器0的計數輸入)P3.515T1(定時器1的計數輸入)16WR(外部數據存儲器寫脈沖)17RD(外部數據存儲器讀脈沖)P3.6 P3.7 表2-1 P3口的第二功能表2.3.2 三總線結構圖2-3(b)MCS-51系列單片機功能引腳分類(總線結構圖)地址鎖存器CBI/OA15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0D7D6D5D4D3D2D1D0DBABP1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7RESETP3.0P3.1P3.

11、3P3.4P3.5P3.6P3.7VSSVCC P0.0P0.1P0.2P0.3P0.5P0.6P0.7ALEP2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0EAPSENP3.2P0.4返回本節 單片機的引腳除了電源、復位、時鐘接入、用戶I/O口外,其余引腳都是為了實現系統擴展而設置的。這些引腳構成了三總線形式。 (1)地址總線(AB):地址總線寬度為16位,由P0口經地址鎖存器提供低8位地址(A0-A7);P2口直接提供高8位地(A8A15)。地址信號是由CPU發出的,故地址總線是單方向的。(2)數據總線(DB):數據總線寬度為8位,用于傳送數據和指令,由P0口提供。(3)控

12、制總線(CB):控制總線隨時掌握各種部件的狀態,并根據需要向有關部件發出命令。 2.4 MCS-51系列單片機的主要組成部分2.4.1 CPU2.4.2 存儲器2.4.3 并行I/O口 2.4.1 CPU作用:讀入和分析每條指令,根據每條指令的功 能要求,控制各個部件執行相應的操作。組成:運算器和控制器。算術、邏輯運算部件ALU、累加器ACC、寄存器B、暫存器TMP1、TMP2、程序狀態寄存器PSW、布爾處理器、十進制調整電路時鐘發生器、定時控制邏輯、指令寄存器、指令譯碼器 、程序計數器PC、程序地址寄存器、數據指針寄存器DPTR、堆棧指針SP運算器控制器算術、邏輯運算部件ALU指令寄存器指令

13、譯碼器 ALU: 由加法器和其他邏輯電路等組成,用于對數據進行算術運算和邏輯操作的執行部件,能完成算術加、減、乘、除、邏輯“與”、“或”、“異或”等運算,循環移位操作,位操作等功能。指令寄存器:8位寄存器,用于暫時存放指令,等待譯碼。 指令譯碼器:當指令送入譯碼器后,進行譯碼,就是把指令轉變成執行此指令所需要的電信號。根據譯碼器輸出的信號,CPU的定時控制電路定時地產生執行該指令所需的各種控制信號,使計算機正確執行程序所需要的各種操作。2.4.2 存儲器片內程序存儲器(4KB)片外程序存儲器(擴展64KB)片內數據存儲器(256B)片外數據存儲器(擴展64KB)51系列單片機在物理上有4個存儲

14、空間:SFRRAM位尋址區工作寄存器0-3組外部RAMRAM0000FFFF00203080FF外部ROM內部ROMEA=1外部ROMEA=000000FFF1000FFFF程序存儲器0000H0002H:是所有執行程序的入口地址,8051復位后,CPU總是從0000H單元開始執行程序。0003H:外部中斷0入口。000BH:定時器0溢出中斷入口。0013H:外部中斷1入口。001BH:定時器1溢出中斷入口。0023H:串行口中斷入口。在程序存儲器中有6個單元具有特殊功能:數據存儲器8051片內有256單元的RAM,片外有64KB的RAM:訪問片內RAM用“MOV”指令,訪問片外RAM用“MO

15、VX”指令。對片外RAM常采用間接尋址方式,R0,R1和DPTR都可以作為間址寄存器。R0,R1是8位地址指針,尋址范圍256個字節;DPTR是16位地址指針,尋址范圍64KB。可尋址256個單元,片內低128字節(即00H7FH)的地址區域為片內RAM,對其訪問可采用直接或間接尋址方式;高128字節(即80H0FFH)為專用寄存器區,只能用直接尋址方式。1、內部數據存儲器低128單元2、內部數據存儲器高128單元內部數據存儲器低128單元工作寄存器區:001FH間安排了4組工作寄存器,每組占用8個RAM字節,記為R0R7。位尋址區:占用地址20H2FH,共16B,128位。用戶RAM區:地址

16、為30H7FH,共80B。分為3個區域:內部數據存儲器高128單元程序計數器PC:16位,CPU每讀取指令的一個字節PC便可自動加1,指向本指令的下一個字節或下一條指令地址,程序順序執行,可尋址64KB范圍ROM。累加器A:8位,用于存放操作數或運算的中間結果。寄存器B:8位,主要用于乘法和除法的運算。乘法時,B中存放乘數,乘法操作后,乘積的高8位存于B中;除法時,B中存放除數,除法操作后,B中存放余數。(特殊功能寄存器區)演示狀態字寄存器PSW:8位,存放程序運行的狀態信息。堆棧指針SP:按照先進后出、后進先出的原則存取RAM區域。數據指針DPTR:16位,由高位字節DPH和低位字節DPL組

17、成,用于存放16位存儲器的地址,對外部數據存儲器RAM數據進行讀寫。ROM地址ROM單元75HHHHHHH207410F046260006H0005H0004H0003H0002H0001H0000H程序計數器PCH指令寄存器HCPU0000PSW:程序狀態字寄存器。定義格式如右上邊。其中,CY:進借位標志;AC:輔助進借位標志;F0:用戶標志;RS1、RS2:工作寄存器組選擇位(如表2-4)。OV:溢出標志位;P:奇偶標志位,有奇數個1、P置1,否則置0。D7 D6 D5 D4 D3 D2 D1 D0CY AC F0 RS1RS2 OV P 表2-4 RS1、RS2與工作寄存器組關系RS1

18、RS0選擇工作寄存器組0 00組(00H07H)0 11組(08H0FH)1 02組(10H17H)1 13組(18H1FH)堆棧指針SP數據入數據出棧底SPSP SP-1(a )向下生長型棧底SPSP SP+1數據出數據入(b)向上生長型SP:07H01H02H03H04H11H10H壓棧00H0BH0AH09H08H07HSP:08H00H0BH0AH09H08H07H01H02H03H04H11H10H01H壓棧SP:09H00H0BH0AH09H08H07H01H02H03H04H11H10H02H彈棧00H0BH0AH09H08H07HSP:08H01H02H03H04H11H10H

19、02H彈棧00H0BH0AH09H08H07H01H02H03H04H11H10HSP:07H01H2.4.3 并行I/O口 P0口的結構P1口的結構P2口的結構P3口的結構1P0口的結構 P0口有兩個用途,第一是作為普通I/O口使用;第二作為地址/數據總線使用。當用作第二個用途時,在這個口上分時送出低8位地址和傳送數據。圖2-6 P0口線邏輯電路圖VCC鎖存器讀鎖存器地址/數據控制CD讀引腳寫入內部總線QQMUXVT2P0.XVT1CP211&2P1口的結構P1口只用作普通I/O口,所以它沒有轉換開關MUX。 VCC鎖存器讀鎖存器D讀引腳寫入內部總線QQP1.X內部上拉電阻 CP圖2-7 P

20、1口線邏輯電路圖3P2口的結構P2口也有兩種用途,一是作為普通I/O口,二是作為高8位地址線。 VCC鎖存器讀鎖存器地址控制D讀引腳 寫入內部總線QMUXP2.X內部上拉電阻CP1圖2-8 P2口線邏輯電路圖4P3口的結構 P3口是一個多功能端口,其結構見圖2-9。P3口除了有準雙向I/O功能外,還具有第二功能。 VCC鎖存器讀鎖存器第二輸出功能D讀引腳 寫入內部總線QQP3.X內部上拉電阻第二輸入功能CPW321圖2-9 P3口線邏輯電路圖2.5 時鐘電路與CPU的時序2.5.1 振蕩器和時鐘電路2.5.2 CPU的時序及有關概念2.5.3 CPU的取指令和執行指令時序 2.5.4 訪問外部

21、ROM的操作時序2.5.5 訪問外部RAM的操作時序2.5.1 振蕩器和時鐘電路1、內部時鐘方式:8051內部有一個用于構成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是此放大器的輸入端和輸出端。把放大器與作為反饋元件的晶體或陶瓷諧振器連接,就構成了內部自激振蕩器并產生振蕩時鐘脈沖(如圖2-10)。2、外部時鐘方式:就是把外部已有的時鐘信號引入單片機內(如圖2-11)。 時鐘信號的產生由兩種方式:進入進入繼續XTAL2XTAL18051C1C2CYS1至內部時鐘電路外部時信號源XTAL2XTAL18051VCCVSSTTL1圖2-10 振蕩電路圖2-11 外部時鐘脈沖源接法返回1、

22、拍(P):振蕩脈沖的周期,用P表示。是晶體的振蕩周期,或是外部振蕩脈沖的周期,是MCS-51單片機中最小的時序單位。2、狀態或時鐘周期(S):振蕩脈沖經二分頻后得到的時鐘信號,把時鐘信號的周期稱為狀態,用S表示。一個狀態包括兩個拍P1和P2(前拍和后拍)。是最基本的時間單位。3、機器周期:CPU完成一個基本操作所需的時間稱為機器周期。由6個狀態(12拍)組成。4、指令周期:是執行一條指令所需要的時間。是MCS-51單片機最大的時序單位。一個指令周期通常含有14個機器周期。 2.5.2 CPU的時序及有關概念P1P2S1振蕩周期時鐘周期機器周期機器周期指令周期XTAL2(OSC)S2S3S4S5

23、S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2圖2-12 MCS-51單片機各種周期的相互關系 若MCS-51單片機外接晶振為12MHz時,則單片機的四個周期的具體值為:振蕩周期1/12MHz(1/12)s =0.0833s時鐘周期1/6s0.167s機器周期1s指令周期14s舉例:2.5.3 CPU的取指令和執行指令時序再讀下一個操作碼再讀下一個操作碼XTAL2(OSC)P2S1ALE讀操作碼讀下一個操作碼(丟棄)讀第二字節(a) 單字節,單周期指令 例:MOV A R1(d)單字節,雙周期指令,如MOVXP1P2S1P1

24、P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P2S1S2P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1讀下一個操作碼(丟棄)(b) 雙字節,單周期指令 例:ADD A #data(c)單字節,雙周期指令 例:INC DPTR讀操作碼(MOVX)讀下一個操作碼(丟棄)無取指無ALE無取指地址數據(DATA)訪問外部存儲器P2S1讀操作碼P1P2S2P1P2S3P1P2S4P1P2S5P

25、1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1P2S3P1P2S4P1P2S5P1P2S6P1P2S1P1P2S2P1再讀下一個操作碼讀下一個操作碼圖2-13 MCS-51單片機的取指令和執行指令時序 2.5.4 訪問外部ROM的操作時序ALEP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1PSENP2A8A15A8A15P0振蕩脈沖A0A7A0A7指令指令圖2-14 外部ROM讀時序2.5.5 訪問

26、外部RAM的操作時序RD/WRALEP1P2S1P1P2S2P1P2S3P1P2S4P2S5P2S6P2S1P1P1P1P1P2S2P1P2S3P1P2S4P1P2S5P2S6P1丟失一個脈沖PSENP2A8A15A8A15A8A15P0A0A7A0A7A0A7讀指令數據輸入/輸出圖2-15 外部RAM讀寫時序返回本節2.6 單片機的復位狀態與復位電路1、單片機的復位狀態:單片機運行出錯或進入死循環時,可按復位鍵重新運行。21個特殊功能寄存器復位后的狀態為確定值,如表2-5所示。注意: 8051進入復位狀態后,除SP為07H, P0P3為FFH外,其余均為0。返回本章專用寄存器初始狀態專用寄存

27、器初始狀態PC0000HTMOD00HACC00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P3FFHSBUF BIP0 0000BSCON00HIE00 0000BPCON0 0000B表2-5 單片機復位狀態返回本節2、單片機的復位電路: (1)簡單的復位電路:簡單復位電路有上電復位和手動復位兩種。不管是哪一種復位電路都要保證在RST引腳上提供10ms以上穩定的高電平。見圖2-17。圖2-17(a)是常用的上電復位電路。這種上電復位利用電容器充電來實現。當加電時,電容器C充電,電路有電流流過,構成回路,在電阻R上產生壓

28、降,RST引腳為高電平;當電容C充滿電后,電路相當于斷開,RST的電位與地相同,復位結束。可見復位的時間與充電的時間有關,充電時間越長復位時間越長。增大電容或增大電阻都可以增加復位時間。 200K22F RST/VPD R1K(a)上電復位VCCVSSVCCC805122F RST/VPD R21K(b)按鍵電平復位VCCVSSVCCC8051R1RESET22F RST/VPD R11K(c)按鍵脈沖復位VCCVSSVCCC180511KR2RESET22F C2圖2-17 各種復位電路返回 圖2-17(b)是按鍵式復位電路。它的上電復位功能與(a)相同,但它還可以通過按鍵實現復位,按下鍵后

29、,通過R1和R2形成回路,使RST端產生高電平。按鍵的時間決定了復位時間。 (2)采用專用復位電路芯片構成復位電路: 為了保證復位電路可靠地工作,也可以采用專用的復位電路芯片。MAX813L是MAXIN公司生產的一種體積小、功耗低、性價比高的帶看門狗和電源監控功能的復位芯片。 MAX813L引腳功能如下:MR:手動復位輸入端,低電平有效。RESET:復位信號輸出端。WDI:看門狗輸入端。WDO:看門狗信號輸出端。PFI:電源故障輸入端。PFO:電源故障輸出端。VCC:工作電源,接+5V。GND:接地端。圖2-18 MAX813L引腳圖RESETMAX813L18756324MRVCCGNDPFIPFOWDIWDOMR51K +5VRESETPFIVCCGNDKWDOP1.7RESET87C51WDIPFOMAX813L774HC08183422156圖2-19 帶手動復位的看門狗復位電路MAX813L與單片機的連接電路如圖2-19所示

溫馨提示

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

評論

0/150

提交評論