第二章--MCS-51單片機的結(jié)構(gòu)_第1頁
第二章--MCS-51單片機的結(jié)構(gòu)_第2頁
第二章--MCS-51單片機的結(jié)構(gòu)_第3頁
第二章--MCS-51單片機的結(jié)構(gòu)_第4頁
第二章--MCS-51單片機的結(jié)構(gòu)_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2.1 MCS-51單片機的基本組成單片機的基本組成 2.3 MCS-51單片機的引腳功能單片機的引腳功能 2.2 I/O端口結(jié)構(gòu)端口結(jié)構(gòu) 2.4 時鐘電路及工作方式時鐘電路及工作方式 教學目的和要求教學目的和要求 本章主要介紹了本章主要介紹了MCS-51系列單片機的內(nèi)部系列單片機的內(nèi)部硬件結(jié)構(gòu),從怎樣應用單片機的角度考慮,詳硬件結(jié)構(gòu),從怎樣應用單片機的角度考慮,詳細地敘述了單片機的硬件結(jié)構(gòu)、性能、各個引細地敘述了單片機的硬件結(jié)構(gòu)、性能、各個引腳的功能、存儲器配置、時鐘電路與時序及工腳的功能、存儲器配置、時鐘電路與時序及工作原理等。作原理等。 基基本本組組成成v MCS-51單片機芯片有許多種

2、,其典型產(chǎn)品有單片機芯片有許多種,其典型產(chǎn)品有8031、8051、8751等等 。下面以下面以8051芯片為例說芯片為例說明明MCS-51系列單片機的基本組成。系列單片機的基本組成。 可編程全可編程全雙工串行口雙工串行口振蕩器和時序振蕩器和時序OSC外時鐘源外時鐘源程序存儲器程序存儲器4KB ROM數(shù)據(jù)存儲器數(shù)據(jù)存儲器256B RAM/SFR216位位定時器定時器/計數(shù)器計數(shù)器8051CPU64KB總線總線擴展控制器擴展控制器內(nèi)中斷內(nèi)中斷外中斷外中斷控制控制可編程可編程I/O并行口并行口串行通信串行通信外部事件計數(shù)外部事件計數(shù)圖圖2-1 8051單片機功能框圖單片機功能框圖 基基本本組組成成v

3、 8051單片機內(nèi)部結(jié)構(gòu)和功能單片機內(nèi)部結(jié)構(gòu)和功能 1中央處理器中央處理器CPU 中央處理器中央處理器CPU是單片機內(nèi)部的核是單片機內(nèi)部的核心部件,它決定了單片機的主要功能特性,心部件,它決定了單片機的主要功能特性,由運算器和控制器兩大部分組成。由運算器和控制器兩大部分組成。 (1 1)運算器)運算器 運算器是計算機的運算部件,用于運算器是計算機的運算部件,用于實現(xiàn)算術(shù)邏輯運算、位變量處理、移位和實現(xiàn)算術(shù)邏輯運算、位變量處理、移位和數(shù)據(jù)傳送等操作。它是以算術(shù)邏輯單元數(shù)據(jù)傳送等操作。它是以算術(shù)邏輯單元ALUALU為核心,加上累加器為核心,加上累加器ACCACC、寄存器、寄存器B B、程序狀態(tài)字程

4、序狀態(tài)字PSWPSW以及十進制調(diào)整電路和專以及十進制調(diào)整電路和專門用于位操作的布爾處理器等組成的。門用于位操作的布爾處理器等組成的。 基基本本組組成成v 8051單片機內(nèi)部結(jié)構(gòu)和功能單片機內(nèi)部結(jié)構(gòu)和功能 1中央處理器中央處理器CPU (2 2)控制器)控制器 控制器是計算機的控制部件,它包控制器是計算機的控制部件,它包括程序計數(shù)器括程序計數(shù)器PCPC、指令寄存器、指令寄存器IRIR、指令譯、指令譯碼器碼器IDID、數(shù)據(jù)指針、數(shù)據(jù)指針DPTRDPTR、堆棧指針、堆棧指針SPSP以及以及定時控制與條件轉(zhuǎn)移邏輯電路等。它對來定時控制與條件轉(zhuǎn)移邏輯電路等。它對來自存儲器中的指令進行譯碼,并通過定時自存

5、儲器中的指令進行譯碼,并通過定時和控制電路在規(guī)定的時刻發(fā)出各種操作所和控制電路在規(guī)定的時刻發(fā)出各種操作所需要的控制信號,使各部件協(xié)調(diào)工作,完需要的控制信號,使各部件協(xié)調(diào)工作,完成指令所規(guī)定的操作。成指令所規(guī)定的操作。 基基本本組組成成 運算器運算器 1) 算術(shù)邏輯單元算術(shù)邏輯單元ALU(Arithmetic Logic Unit) 算術(shù)邏輯單元算術(shù)邏輯單元ALU(8位位)用來完成二用來完成二進制數(shù)的四則運算和布爾代數(shù)的邏輯運算。進制數(shù)的四則運算和布爾代數(shù)的邏輯運算。此外,通過對運算結(jié)果的判斷影響程序狀此外,通過對運算結(jié)果的判斷影響程序狀態(tài)標志寄存器的有關(guān)標志位。態(tài)標志寄存器的有關(guān)標志位。 2)

6、 累加器累加器ACC (Accumulator) 累加器累加器ACC為為8位寄存器,是位寄存器,是CPU中中使用最頻繁的寄存器。它既可用于存放操使用最頻繁的寄存器。它既可用于存放操作數(shù),也可用來存放運算的中間結(jié)果。作數(shù),也可用來存放運算的中間結(jié)果。基基本本組組成成 運算器運算器3) 寄存器寄存器B 寄存器寄存器B是一個是一個8位寄存器,是為位寄存器,是為ALU進行乘除運算設置的。在執(zhí)行乘法運進行乘除運算設置的。在執(zhí)行乘法運算指令時算指令時,寄存器寄存器B用于存放其中一個乘數(shù)用于存放其中一個乘數(shù)和乘積的高和乘積的高8位數(shù);在執(zhí)行除法運算時,位數(shù);在執(zhí)行除法運算時,寄存器寄存器B用于存放除數(shù)和余數(shù)

7、。此外,用于存放除數(shù)和余數(shù)。此外,B寄存器也可作為一般的數(shù)據(jù)寄存器使用。寄存器也可作為一般的數(shù)據(jù)寄存器使用。 基基本本組組成成 4) 程序狀態(tài)字程序狀態(tài)字PSW(Program Status Word) 程序狀態(tài)字程序狀態(tài)字PSW是一個是一個8位特殊功能寄存器,它的各位包含位特殊功能寄存器,它的各位包含了程序運行的狀態(tài)信息,以供程序查詢和判斷。了程序運行的狀態(tài)信息,以供程序查詢和判斷。PSW程序狀態(tài)程序狀態(tài)字格式和含義如下:字格式和含義如下: Cy(PSW.7) 進位標志位。進位標志位。 AC(PSW.6) 輔助進位輔助進位(或稱半進位或稱半進位)標志。標志。 F0(PSW.5) 用戶標志位。

8、用戶標志位。 RSl和和RS0(PSW.4,PSW.3) 工作寄存器組選擇位。工作寄存器組選擇位。 OV(PSW.2) 溢出標志位。溢出標志位。 F1(PSW.1) 用戶標志位,同用戶標志位,同F(xiàn)0(PSW.5)。)。P(PSW.0) P(PSW.0) 此位此位為奇偶標志位。為奇偶標志位。 D7HD6HD5HD4HD3HD2HD1HD0HCYACF0RS1RS0OVF1PPSWPSW位地址位地址字節(jié)地址字節(jié)地址D0HD0H基基本本組組成成 5)布爾處理器布爾處理器 MCS-51MCS-51的的CPUCPU是是8 8位微處理器,它還具位微處理器,它還具有有1 1位微處理器的功能。布爾處理器具有位

9、微處理器的功能。布爾處理器具有較強的布爾變量處理能力,以位較強的布爾變量處理能力,以位(bit)(bit)為為單位進行運算和操作。它以進位標志單位進行運算和操作。它以進位標志(Cy)(Cy)作為累加位,以內(nèi)部作為累加位,以內(nèi)部RAMRAM中所有可位尋址中所有可位尋址的位作為操作位或存儲位,以的位作為操作位或存儲位,以P0P0P3P3的各的各位作為位作為I/OI/O位,同時布爾處理器也有自己位,同時布爾處理器也有自己的指令系統(tǒng)。的指令系統(tǒng)。 基基本本組組成成 控制器控制器 1) 程序計數(shù)器程序計數(shù)器PCPC是一個是一個16位計數(shù)器。實際上位計數(shù)器。實際上PC是程序存儲器的是程序存儲器的字節(jié)地址計

10、數(shù)器,其內(nèi)容是將要執(zhí)行的下一條指字節(jié)地址計數(shù)器,其內(nèi)容是將要執(zhí)行的下一條指令的地址,尋址范圍達令的地址,尋址范圍達64KB。PC具有自動加具有自動加1功能,從而實現(xiàn)程序的順序執(zhí)行??梢酝ㄟ^轉(zhuǎn)移、功能,從而實現(xiàn)程序的順序執(zhí)行??梢酝ㄟ^轉(zhuǎn)移、調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)調(diào)用、返回等指令改變其內(nèi)容,以實現(xiàn)程序的轉(zhuǎn)移。移。 2) 數(shù)據(jù)指針數(shù)據(jù)指針DPTR 數(shù)據(jù)指針數(shù)據(jù)指針DPTR為為16位寄存器。它的功能是存放位寄存器。它的功能是存放16位的地址,作為訪問外部程序存儲器和外部數(shù)據(jù)位的地址,作為訪問外部程序存儲器和外部數(shù)據(jù)存儲器時的地址。編程時,存儲器時的地址。編程時,DPTR既可按既可按

11、16位寄位寄存器使用,也可以按兩個存器使用,也可以按兩個8位寄存器分開使用,位寄存器分開使用,即即DPH為為DPTR的高的高8位,位,DPL為為DPTR的低的低8位。位。 基基本本組組成成 2 2定時器定時器/ /計數(shù)器計數(shù)器 80518051單片機內(nèi)有兩個單片機內(nèi)有兩個1616位的定時器位的定時器/ /計數(shù)器:定時器計數(shù)器:定時器/ /計數(shù)器計數(shù)器0 0和定時器和定時器/ /計數(shù)計數(shù)器器1 1。它們分別由兩個。它們分別由兩個8 8位寄存器組成,即位寄存器組成,即TOTO由由THO(THO(高高8 8位位) )和和TL0(TL0(低低8 8位位) )構(gòu)成,同樣構(gòu)成,同樣T1T1由由THl(TH

12、l(高高8 8位位) )和和TL1(TL1(低低8 8位位) )構(gòu)成,地址構(gòu)成,地址依次是依次是8AH8AH8DH8DH。這些寄存器用來存放定。這些寄存器用來存放定時或計數(shù)的初值。時或計數(shù)的初值?;颈窘M組成成 3 3串行口串行口 單片機內(nèi)部有一個串行數(shù)據(jù)緩沖寄存單片機內(nèi)部有一個串行數(shù)據(jù)緩沖寄存器器SBUFSBUF,它是可直接尋址的特殊功能寄存,它是可直接尋址的特殊功能寄存器,地址為器,地址為99H99H。在機器內(nèi)部實際是由兩。在機器內(nèi)部實際是由兩個個8 8位寄存器組成,一個作發(fā)送緩沖寄存位寄存器組成,一個作發(fā)送緩沖寄存器,另一個作接收緩沖寄存器,二者由讀器,另一個作接收緩沖寄存器,二者由讀

13、寫信號區(qū)分,但都是使用同一個地址寫信號區(qū)分,但都是使用同一個地址99H99H。單 片 機 內(nèi) 部 還 有 串 行 口 控 制 寄 存 器單 片 機 內(nèi) 部 還 有 串 行 口 控 制 寄 存 器SCON(98H)SCON(98H)和電源控制及波特率選擇寄存和電源控制及波特率選擇寄存器器PCON(87H)PCON(87H),它們分別用于串行數(shù)據(jù)通,它們分別用于串行數(shù)據(jù)通信中控制和監(jiān)視串行口工作狀態(tài)以及串行信中控制和監(jiān)視串行口工作狀態(tài)以及串行口波特率的倍增控制??诓ㄌ芈实谋对隹刂?。 基基本本組組成成 4 4中斷系統(tǒng)中斷系統(tǒng) 8051單片機共有單片機共有5個中斷源個中斷源(3(3個個內(nèi)部中斷,內(nèi)部中

14、斷,2 2個外部中斷),每個中個外部中斷),每個中斷分為高級和低級兩個優(yōu)先級別。斷分為高級和低級兩個優(yōu)先級別。它可以接收外部中斷申請、定時器它可以接收外部中斷申請、定時器/計數(shù)器申請和串行口申請,常用于計數(shù)器申請和串行口申請,常用于實時控制、故障自動處理、計算機實時控制、故障自動處理、計算機與外設間傳送數(shù)據(jù)及人機對話等。與外設間傳送數(shù)據(jù)及人機對話等。 基基本本組組成成v 存儲器結(jié)構(gòu)存儲器結(jié)構(gòu) 8051單片機在系統(tǒng)結(jié)構(gòu)上采用哈佛型,它將程序和數(shù)單片機在系統(tǒng)結(jié)構(gòu)上采用哈佛型,它將程序和數(shù)據(jù)分別存放在兩個存儲器內(nèi),一個稱為程序存儲器,另一據(jù)分別存放在兩個存儲器內(nèi),一個稱為程序存儲器,另一個稱為數(shù)據(jù)存

15、儲器。因此,個稱為數(shù)據(jù)存儲器。因此,80518051的存儲器在物理結(jié)構(gòu)上分的存儲器在物理結(jié)構(gòu)上分程序存儲器程序存儲器(ROM)(ROM)和數(shù)據(jù)存儲器和數(shù)據(jù)存儲器(RAM)(RAM),有四個物理上相互,有四個物理上相互獨立的存儲空間,即片內(nèi)獨立的存儲空間,即片內(nèi)ROMROM和片外和片外ROMROM,片內(nèi),片內(nèi)RAMRAM和片外和片外RAMRAM。 片外片外ROMROM 片內(nèi)片內(nèi)ROMROM =1 =1 EA片外片外ROMROM =0 =0EAFFFFH FFFFH 1000H 1000H 0FFFH 0FFFH 0000H 0000H 片外片外RAMRAM或或I/OI/O口口 0FFFFH 0F

16、FFFH 0000H 0000H 圖圖2-2 80512-2 8051存儲器配置圖存儲器配置圖 基基本本組組成成 從用戶使用的角度看,從用戶使用的角度看,8051存儲空間存儲空間分為三類:片內(nèi)、片外統(tǒng)一編址分為三類:片內(nèi)、片外統(tǒng)一編址0000H0FFFFH的的64KB的程序存儲器地址空間;的程序存儲器地址空間;256字節(jié)數(shù)據(jù)存儲器地址空間,地址從字節(jié)數(shù)據(jù)存儲器地址空間,地址從00H0FFH;64KB片外數(shù)據(jù)存儲器或片外數(shù)據(jù)存儲器或I/O口地址空間,地址也從口地址空間,地址也從0000H0FFFFH。上述三個空間地址是重疊的,即程序存儲上述三個空間地址是重疊的,即程序存儲器中片內(nèi)外低器中片內(nèi)外低

17、4KB地址重疊,數(shù)據(jù)存儲器地址重疊,數(shù)據(jù)存儲器與程序存儲器與程序存儲器64KB地址全部重疊,雖然地址全部重疊,雖然地址重疊,但由于采用了不同的操作指令地址重疊,但由于采用了不同的操作指令及控制信號及控制信號EAEA、PSENPSEN的選擇,因此不會發(fā)的選擇,因此不會發(fā)生混亂。生混亂。 基基本本組組成成 1. 1.程序存儲器程序存儲器 程序存儲器用來存放程序代碼和常數(shù),分成程序存儲器用來存放程序代碼和常數(shù),分成片內(nèi)、片外兩大部分,即片內(nèi)片內(nèi)、片外兩大部分,即片內(nèi)ROM和片外和片外ROM。其中,其中,80518051內(nèi)部有內(nèi)部有4KB4KB的的ROMROM,地址范圍為,地址范圍為0000H0000

18、H0FFFH0FFFH,片外用,片外用1616位地址線擴充位地址線擴充64KB64KB的的ROMROM,兩者統(tǒng)一編址。,兩者統(tǒng)一編址。 單片機要執(zhí)行程序,是從片內(nèi)單片機要執(zhí)行程序,是從片內(nèi)ROMROM取指令,取指令,還是從片外還是從片外ROMROM取指令,首先由取指令,首先由CPUCPU引腳引腳 EAEA的電的電平高低來決定。當平高低來決定。當CPUCPU的引腳的引腳 EAEA接高電平時,接高電平時,PCPC在在O000HO000H0FFFH0FFFH范圍內(nèi),范圍內(nèi),CPUCPU從片內(nèi)從片內(nèi)ROMROM取指令;取指令;而當而當PCPC大于大于0FFFH0FFFH后,則自動轉(zhuǎn)向片外后,則自動轉(zhuǎn)向

19、片外ROMROM去取指去取指令。當引腳令。當引腳 EAEA接低電平時,接低電平時,80518051片內(nèi)片內(nèi)ROM不起不起作用,作用,CPUCPU只能從片外只能從片外ROMROM取指令,地址可以從取指令,地址可以從O000HO000H開始編址。對于片內(nèi)無開始編址。對于片內(nèi)無ROMROM的的80318031、80328032單單片機,片機, EAEA應接地,以便從外部擴展應接地,以便從外部擴展EPROMEPROM中取指中取指令令。 基基本本組組成成 2.2.片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器 數(shù)據(jù)存儲器用來存放運算的中間結(jié)果、標志位,以數(shù)據(jù)存儲器用來存放運算的中間結(jié)果、標志位,以及數(shù)據(jù)的暫存和緩沖等。它

20、也分為片內(nèi)和片外兩大部分,及數(shù)據(jù)的暫存和緩沖等。它也分為片內(nèi)和片外兩大部分,即片內(nèi)即片內(nèi)RAMRAM和片外和片外RAMRAM。80518051片內(nèi)數(shù)據(jù)存儲器最大可尋址片內(nèi)數(shù)據(jù)存儲器最大可尋址256256個單元,通常把這個單元,通常把這256256個單元按功能劃分為低個單元按功能劃分為低128128單單元元( (單元地址單元地址00H00H7FH)7FH)和高和高128128單元單元( (單元地址單元地址80H80H0FFH) 0FFH) (1) (1) 片內(nèi)數(shù)據(jù)存儲器低片內(nèi)數(shù)據(jù)存儲器低128128單元單元低低128128低低128128單元共分為工作寄存器、位尋址區(qū)和數(shù)據(jù)緩沖單元共分為工作寄存

21、器、位尋址區(qū)和數(shù)據(jù)緩沖區(qū)三個區(qū)域。區(qū)三個區(qū)域。 工作寄存器區(qū)工作寄存器區(qū)(00H(00H1FH) 1FH) 32 32個個RAMRAM單元共分四組,每組單元共分四組,每組8 8個寄存單元個寄存單元(R0(R0R7)R7)。寄存器常用于存放操作數(shù)及中間結(jié)果等。由于它們的功寄存器常用于存放操作數(shù)及中間結(jié)果等。由于它們的功能及使用不作預先規(guī)定,因此稱為通用寄存器,也叫工能及使用不作預先規(guī)定,因此稱為通用寄存器,也叫工作寄存器。四組通用寄存器占據(jù)內(nèi)部作寄存器。四組通用寄存器占據(jù)內(nèi)部RAMRAM的的00H00H1FH1FH單單元地址。元地址。 基基本本組組成成 在任一時刻,在任一時刻,CPUCPU只能使

22、用其中的一組寄存器,并且只能使用其中的一組寄存器,并且把正在使用的那組寄存器稱為當前寄存器組。當前寄存器把正在使用的那組寄存器稱為當前寄存器組。當前寄存器組由程序狀態(tài)寄存器組由程序狀態(tài)寄存器PSWPSW中中RS1RS1、RS0RS0位的狀態(tài)組合決定。位的狀態(tài)組合決定。非當前寄存器組可作為一般的數(shù)據(jù)緩沖器使用。非當前寄存器組可作為一般的數(shù)據(jù)緩沖器使用。 圖圖2-3 80512-3 8051內(nèi)部數(shù)據(jù)寄存器配置圖內(nèi)部數(shù)據(jù)寄存器配置圖 基基本本組組成成 位尋址區(qū)位尋址區(qū)(20H2FH) 內(nèi)部內(nèi)部RAM的的20H2FH單元為位尋址區(qū)單元為位尋址區(qū) ,這,這16個單元個單元(共計共計128位位)的每一位都

23、有一個的每一位都有一個8位表示位表示的位地址,位尋址范圍為的位地址,位尋址范圍為00H7FH。位尋址區(qū)。位尋址區(qū)的每一個單元既可作為一般的每一個單元既可作為一般RAM單元使用,進單元使用,進行字節(jié)操作,也可以對單元中的每一位進行位操行字節(jié)操作,也可以對單元中的每一位進行位操作。作。 用戶用戶RAM區(qū)區(qū)(30H7FH) 供用戶使用的一般供用戶使用的一般RAM區(qū),也是數(shù)據(jù)緩沖區(qū),也是數(shù)據(jù)緩沖區(qū)區(qū) ,共,共80個單元。對用戶個單元。對用戶RAM區(qū)的使用沒有任區(qū)的使用沒有任何規(guī)定或限制,一般用于存放用戶數(shù)據(jù)及作堆棧何規(guī)定或限制,一般用于存放用戶數(shù)據(jù)及作堆棧區(qū)使用。區(qū)使用。 基基本本組組成成 (2) (

24、2) 特殊功能寄存器特殊功能寄存器 80518051片內(nèi)高片內(nèi)高128128字節(jié)字節(jié)RAMRAM中,除程中,除程序計數(shù)器序計數(shù)器PCPC外,還有外,還有2121個特殊功能寄存?zhèn)€特殊功能寄存器,又稱為專用寄存器器,又稱為專用寄存器(SFR)(SFR)。它們離散。它們離散地分布在地分布在80H80H0FFH RAM0FFH RAM空間中??臻g中。 特殊功能寄存器的字節(jié)尋址特殊功能寄存器的字節(jié)尋址 80518051片內(nèi)片內(nèi)2121個特殊功能寄存器的名稱、個特殊功能寄存器的名稱、符號及單元地址如表符號及單元地址如表2-32-3所示。這里,所示。這里,對特殊功能寄存器的字節(jié)尋址問題需要對特殊功能寄存器的

25、字節(jié)尋址問題需要說明的是:說明的是:2121個可字節(jié)尋址的特殊功能個可字節(jié)尋址的特殊功能寄存器是不連續(xù)地分布在內(nèi)部寄存器是不連續(xù)地分布在內(nèi)部RAMRAM高高128128單元之中,盡管還有許多空閑地址,單元之中,盡管還有許多空閑地址, 基基本本組組成成 (2) (2) 特殊功能寄存器特殊功能寄存器 但對空閑地址的操作無意義,對用戶來但對空閑地址的操作無意義,對用戶來講,這些單元是不存在的。對特殊功能講,這些單元是不存在的。對特殊功能寄存器只能使用直接尋址方式,書寫時寄存器只能使用直接尋址方式,書寫時既可使用寄存器符號,也可使用寄存器既可使用寄存器符號,也可使用寄存器單元地址單元地址( (例如:例

26、如:0FOH0FOH和和B B,0DOH0DOH和和PSWPSW,一般多使用寄存器符號,易于識,一般多使用寄存器符號,易于識別別) )。 特殊功能寄存器的位尋址特殊功能寄存器的位尋址 在這在這2121個特殊功能寄存器中,有個特殊功能寄存器中,有1111個個寄存器具有位尋址,即表寄存器具有位尋址,即表2-32-3中帶中帶* *者。者。 基基本本組組成成寄存器名稱地 址寄存器名稱*ACCE0H累加器*BF0HB寄存器*PSWD0H程序狀態(tài)字SP81H堆棧指示器DPL82H數(shù)據(jù)指針低8位DPH83H數(shù)據(jù)指針高8位*IEA8H中斷允許控制寄存器*IPB8H中斷優(yōu)先控制寄存器*P080HI/O口0*P1

27、90HI/O口1*P2A0HI/O口2*P3B0HI/O口3PCON87H電源控制及波特率選擇寄存器*SCON98H串行口控制寄存器SBUF99H串行口緩沖寄存器*TCON88H定時器控制寄存器TMOD89H定時器方式選擇寄存器TL08AH定時器0低8位TL18BH定時器1低8位TH08CH定時器0高8位TH18DH定時器1高8位表表 2-3 MCS-512-3 MCS-51專用寄存器一覽表專用寄存器一覽表 基基本本組組成成 3.3.片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器 片外數(shù)據(jù)存儲器,即片外片外數(shù)據(jù)存儲器,即片外RAMRAM,一般由,一般由靜態(tài)靜態(tài)RAMRAM芯片組成。用戶可根據(jù)需要確芯片組成。用戶

28、可根據(jù)需要確定擴展存儲器的容量,定擴展存儲器的容量,MCS-51MCS-51單片機訪單片機訪問片外問片外RAMRAM可用可用1 1個特殊功能寄存器個特殊功能寄存器數(shù)據(jù)指針寄存器數(shù)據(jù)指針寄存器DPTRDPTR尋址。由于尋址。由于DPTRDPTR為為1616位,可尋址的范圍為位,可尋址的范圍為0 064KB64KB。因此,。因此,擴展片外擴展片外RAMRAM的最大容量是的最大容量是64KB64KB。 片外片外RAMRAM地址范圍為地址范圍為0000H0000H0FFFFH0FFFFH,其中在,其中在0000H0000H00FFH00FFH區(qū)間與片區(qū)間與片內(nèi)數(shù)據(jù)存儲器空間是重疊的。內(nèi)數(shù)據(jù)存儲器空間是

29、重疊的。CPUCPU使用使用MOVMOV指令和指令和MOVXMOVX指令加以區(qū)分。指令加以區(qū)分。 基基本本組組成成 4. 4.堆棧及堆棧指針堆棧及堆棧指針 堆棧是一種數(shù)據(jù)結(jié)構(gòu),所謂堆棧就堆棧是一種數(shù)據(jù)結(jié)構(gòu),所謂堆棧就是只允許在其一端進行數(shù)據(jù)插入和數(shù)據(jù)刪是只允許在其一端進行數(shù)據(jù)插入和數(shù)據(jù)刪除操作的線性表。數(shù)據(jù)寫入堆棧稱為插入除操作的線性表。數(shù)據(jù)寫入堆棧稱為插入運算運算(PUSH)(PUSH),也叫入棧。數(shù)據(jù)從堆棧中讀,也叫入棧。數(shù)據(jù)從堆棧中讀出稱為刪除運算出稱為刪除運算(POP)(POP),也叫出棧。,也叫出棧。堆棧堆棧的最大特點就是的最大特點就是“后進先出后進先出”。常把后進常把后進先出寫為先

30、出寫為LIFO(Last-In-First-Out)LIFO(Last-In-First-Out)。這。這里所說的進與出就是數(shù)據(jù)的入棧和出棧,里所說的進與出就是數(shù)據(jù)的入棧和出棧,即由于先入棧的數(shù)據(jù)存放在棧的底部,因即由于先入棧的數(shù)據(jù)存放在棧的底部,因此后出棧;而后入棧的數(shù)據(jù)存放在棧的頂此后出棧;而后入棧的數(shù)據(jù)存放在棧的頂部,因此先出棧。這跟往彈倉中壓入子彈部,因此先出棧。這跟往彈倉中壓入子彈和從彈倉中彈出子彈的情形非常類似。和從彈倉中彈出子彈的情形非常類似。 基基本本組組成成 (1)(1)堆棧的功能堆棧的功能 堆棧是為程序調(diào)用和中斷操作而設立的,堆棧是為程序調(diào)用和中斷操作而設立的,具體功能是保

31、護斷點和保護現(xiàn)場。具體功能是保護斷點和保護現(xiàn)場。 (2)(2)堆棧指針堆棧指針SP 堆棧有棧頂和棧底之分。棧底地址一經(jīng)設堆棧有棧頂和棧底之分。棧底地址一經(jīng)設定后固定不變,它決定了堆棧在定后固定不變,它決定了堆棧在RAMRAM中的物理位中的物理位置。為了指示棧頂?shù)刂罚O置堆棧指針置。為了指示棧頂?shù)刂?,要設置堆棧指針SPSP。SPSP的內(nèi)容就是堆棧棧頂?shù)拇鎯卧刂?。的?nèi)容就是堆棧棧頂?shù)拇鎯卧刂贰?(3)(3)堆棧使用方式堆棧使用方式 堆棧的使用有兩種方式。一種是自動方式,堆棧的使用有兩種方式。一種是自動方式,即在調(diào)用子程序時,斷點地址自動進棧。另一種即在調(diào)用子程序時,斷點地址自動進棧。另一

32、種是指令方式,即使用專用的堆棧操作指令,執(zhí)行是指令方式,即使用專用的堆棧操作指令,執(zhí)行進出棧操作。進出棧操作。 I/O端端口口結(jié)結(jié)構(gòu)構(gòu)I/OI/O端口結(jié)構(gòu)端口結(jié)構(gòu) 80518051有四個有四個8 8位并行接口位并行接口P0P0P3P3,共,共有有3232根根I/OI/O線。它們都具有雙向線。它們都具有雙向I/OI/O功能,功能,均可以作為數(shù)據(jù)輸入均可以作為數(shù)據(jù)輸入/ /輸出使用。每個接輸出使用。每個接口內(nèi)部都有一個口內(nèi)部都有一個8 8位數(shù)據(jù)輸出鎖存器、一位數(shù)據(jù)輸出鎖存器、一個輸出驅(qū)動器和一個數(shù)據(jù)輸入緩沖器,個輸出驅(qū)動器和一個數(shù)據(jù)輸入緩沖器,因此,因此,CPUCPU數(shù)據(jù)從并行數(shù)據(jù)從并行I/OI/

33、O接口輸出時可接口輸出時可以得到鎖存,輸入時可以得到緩沖。以得到鎖存,輸入時可以得到緩沖。 I/O端端口口結(jié)結(jié)構(gòu)構(gòu)v P0口結(jié)構(gòu)及應用口結(jié)構(gòu)及應用 1.1.結(jié)構(gòu)結(jié)構(gòu) 圖圖2-4是是P0口某位的結(jié)構(gòu)圖,它由口某位的結(jié)構(gòu)圖,它由1個輸出鎖存器、個輸出鎖存器、2個個三態(tài)輸入緩沖器、三態(tài)輸入緩沖器、1個輸出驅(qū)動電路和個輸出驅(qū)動電路和1個輸出控制電路組個輸出控制電路組成。輸出驅(qū)動電路由一對成。輸出驅(qū)動電路由一對FET(場效應管)(場效應管)T1、T2組成,組成,輸出控制電路由一個與門電路、輸出控制電路由一個與門電路、1個反相器和個反相器和1路多路開關(guān)路多路開關(guān)MUX組成。組成。 D DCPCPQ QQ

34、Q- -鎖存器鎖存器T2T2T1T1P P0.X0.X V VCCCC MUX MUX 讀鎖存器讀鎖存器 內(nèi)部總線內(nèi)部總線 寫鎖存器寫鎖存器 讀引腳讀引腳 地址地址/ /數(shù)據(jù)數(shù)據(jù) 控制控制圖圖2-4 P02-4 P0口某位結(jié)構(gòu)口某位結(jié)構(gòu) I/O端端口口結(jié)結(jié)構(gòu)構(gòu) 2.應用應用 (1)P0(1)P0口作為一般口作為一般I/OI/O口使用時口使用時 上圖中的多路開關(guān)上圖中的多路開關(guān)MUXMUX的位置由的位置由CPUCPU發(fā)出的發(fā)出的控制信號決定。當控制信號決定。當MCS-51MCS-51片外無擴展片外無擴展RAMRAM、I/OI/O、ROMROM時可作通用時可作通用I/OI/O口使用,此時口使用,此

35、時CPUCPU內(nèi)部發(fā)出控內(nèi)部發(fā)出控制電平制電平“0 0”信號封鎖與門,使輸出上拉場效應管信號封鎖與門,使輸出上拉場效應管T1T1截止,同時多路開關(guān)把輸出鎖存器端與輸出場截止,同時多路開關(guān)把輸出鎖存器端與輸出場效應管效應管T2T2的柵極接通。此時的柵極接通。此時P0P0即作為一般的即作為一般的I/OI/O口使用??谑褂谩?P0P0口作輸出口時口作輸出口時 內(nèi)部數(shù)據(jù)總線上的信息由寫脈沖(上升沿)內(nèi)部數(shù)據(jù)總線上的信息由寫脈沖(上升沿)鎖存至鎖存器中,故鎖存至鎖存器中,故P0P0口與內(nèi)部數(shù)據(jù)總線的信息口與內(nèi)部數(shù)據(jù)總線的信息是相同的。因輸出級是漏極開路電路,驅(qū)動是相同的。因輸出級是漏極開路電路,驅(qū)動NM

36、OSNMOS或其他拉電流負載,要接上拉電阻?;蚱渌娏髫撦d,要接上拉電阻。 1)P0口作輸出口時口作輸出口時 內(nèi)部數(shù)據(jù)線上的信息由鎖存至輸出鎖存器,輸入內(nèi)部數(shù)據(jù)線上的信息由鎖存至輸出鎖存器,輸入 D0時,時,Q0時,而時,而/Q1,T2導通,導通,P0的引腳的引腳 輸出輸出0,由此可見內(nèi)部數(shù)據(jù)總線與,由此可見內(nèi)部數(shù)據(jù)總線與P0端口是同相位的。端口是同相位的。 輸出驅(qū)動是漏極開路的電路,若要驅(qū)動輸出驅(qū)動是漏極開路的電路,若要驅(qū)動NMOS或其它或其它 拉電流負載時,拉電流負載時,需要外接上拉電阻需要外接上拉電阻。P0口中的輸出口中的輸出 可以可以驅(qū)動驅(qū)動8個個LSTTL負載負載。 2)P0口作輸

37、入口時口作輸入口時 端口有端口有2個三態(tài)緩沖器用于讀操作。其中一個輸入個三態(tài)緩沖器用于讀操作。其中一個輸入 緩沖的輸入與端口引腳相連,故當執(zhí)行一條讀端口輸緩沖的輸入與端口引腳相連,故當執(zhí)行一條讀端口輸 入指令時,產(chǎn)生讀引腳的選通將三態(tài)門打開,端口引入指令時,產(chǎn)生讀引腳的選通將三態(tài)門打開,端口引 腳上的數(shù)據(jù)經(jīng)緩沖器讀入內(nèi)部數(shù)據(jù)總線。腳上的數(shù)據(jù)經(jīng)緩沖器讀入內(nèi)部數(shù)據(jù)總線。 上面的一個緩沖器并不能直接讀取端口引腳上的上面的一個緩沖器并不能直接讀取端口引腳上的 數(shù)據(jù),而讀取輸出鎖存器數(shù)據(jù),而讀取輸出鎖存器Q端數(shù)據(jù)。端數(shù)據(jù)。Q端與引腳處的端與引腳處的 數(shù)據(jù)是不一致的。結(jié)構(gòu)上這樣安排的目的是為了適應數(shù)據(jù)是不

38、一致的。結(jié)構(gòu)上這樣安排的目的是為了適應 “讀修改寫讀修改寫”一類指令的需要。這類指令的特點一類指令的需要。這類指令的特點 是:先讀端口,再對讀入的數(shù)據(jù)進行修改,然后再寫是:先讀端口,再對讀入的數(shù)據(jù)進行修改,然后再寫 到端口。例如邏輯指令:到端口。例如邏輯指令:ANL P0,A 在讀入端口數(shù)據(jù)時,由于輸出驅(qū)動管在讀入端口數(shù)據(jù)時,由于輸出驅(qū)動管FET并接在端口并接在端口 的引腳上,如果的引腳上,如果FET導通,輸出為低電平將會使輸入導通,輸出為低電平將會使輸入 的高電平拉成低電平,造成誤讀,的高電平拉成低電平,造成誤讀,所以在端口進行輸所以在端口進行輸 入操作前,應先向端口輸出鎖存器寫入入操作前,

39、應先向端口輸出鎖存器寫入“1”,使使 /Q0,則輸出的兩個,則輸出的兩個FET管子截止,引腳處于懸空管子截止,引腳處于懸空 狀態(tài),變?yōu)楦咦栎斎?。這就是所謂的狀態(tài),變?yōu)楦咦栎斎搿_@就是所謂的準雙向準雙向I/O口口。 MCS-51的的P0P3都是準雙向都是準雙向I/O口。口。I/OI/O端口結(jié)構(gòu)端口結(jié)構(gòu)I/OI/O端口結(jié)構(gòu)端口結(jié)構(gòu)I/O端端口口結(jié)結(jié)構(gòu)構(gòu)P0P0口作輸入口時口作輸入口時 P0P0口作輸入口時口作輸入口時 I/O端端口口結(jié)結(jié)構(gòu)構(gòu) (2)P0(2)P0口作為地址口作為地址/ /數(shù)據(jù)總線使用時數(shù)據(jù)總線使用時 當當MCS-51MCS-51片外擴展有片外擴展有RAMRAM、I/OI/O口、口、

40、ROMROM時,時,P0P0端口作端口作為地址為地址/ /數(shù)據(jù)總線使用,此時可分為兩種情況:數(shù)據(jù)總線使用,此時可分為兩種情況: 一種是以一種是以P0P0口引腳輸出地址口引腳輸出地址/ /數(shù)據(jù)信息,數(shù)據(jù)信息,這時這時CPUCPU內(nèi)部內(nèi)部發(fā)出高電平的控制信號,打開與門,同時使多路開關(guān)發(fā)出高電平的控制信號,打開與門,同時使多路開關(guān)MUXMUX把把CPUCPU內(nèi)部地址內(nèi)部地址/ /數(shù)據(jù)總線反相后與輸出驅(qū)動場效應管數(shù)據(jù)總線反相后與輸出驅(qū)動場效應管T2T2的的柵極接通。地址或數(shù)據(jù)通過柵極接通。地址或數(shù)據(jù)通過T2T2輸出到引腳,當?shù)刂份敵龅揭_,當?shù)刂? /數(shù)據(jù)數(shù)據(jù)為為0 0時,與門輸出時,與門輸出0 0,

41、T1T1截止,而截止,而T2T2導通,引腳輸出導通,引腳輸出0 0;當;當?shù)刂返刂? /數(shù)據(jù)為數(shù)據(jù)為1 1時,與門輸出時,與門輸出1 1,T1T1導通,導通,T2T2截止,引腳輸截止,引腳輸出出1 1。由于。由于T1T1和和T2T2兩個兩個FETFET管處于反相,構(gòu)成了推拉式的輸管處于反相,構(gòu)成了推拉式的輸出電路,其負載能力大大增強。出電路,其負載能力大大增強。 另一種情況由另一種情況由P0P0口輸入數(shù)據(jù),口輸入數(shù)據(jù),此時輸入的數(shù)據(jù)是從引此時輸入的數(shù)據(jù)是從引腳通過輸入緩沖器進入內(nèi)部總線。由于此時腳通過輸入緩沖器進入內(nèi)部總線。由于此時CPUCPU 自動向自動向P0P0口輸出口輸出0FFH0FFH

42、,上下,上下FETFET均截止,保證高阻抗輸入。這時均截止,保證高阻抗輸入。這時P0P0口是一個口是一個真正的雙向口。真正的雙向口。I/O端端口口結(jié)結(jié)構(gòu)構(gòu)v P1口結(jié)構(gòu)及應用口結(jié)構(gòu)及應用D DCPCPQ QQ Q- -鎖存器鎖存器讀鎖存器讀鎖存器 內(nèi)部總線內(nèi)部總線 寫鎖存器寫鎖存器 讀引腳讀引腳 V VCCCC 內(nèi)部上拉電內(nèi)部上拉電阻阻 P P1 1 T T圖圖2-5 P12-5 P1口某位結(jié)構(gòu)口某位結(jié)構(gòu) I/O端端口口結(jié)結(jié)構(gòu)構(gòu) 因為因為P1口通常作為通用口通常作為通用I/O口使用,所以在電路結(jié)構(gòu)口使用,所以在電路結(jié)構(gòu)上與上與P0口有一些不同之處。首先它不再需要多路轉(zhuǎn)換開關(guān)口有一些不同之處。首

43、先它不再需要多路轉(zhuǎn)換開關(guān)MUX;其次是電路的內(nèi)部有上拉電阻,與場效應管共同組;其次是電路的內(nèi)部有上拉電阻,與場效應管共同組成輸出驅(qū)動電路。為此成輸出驅(qū)動電路。為此P1口作為輸出口使用時,已能向外口作為輸出口使用時,已能向外提供推拉電流負載,無需再外接上拉電阻。當提供推拉電流負載,無需再外接上拉電阻。當P1口作為輸口作為輸入口使用時,同樣也需先向其鎖存器寫入入口使用時,同樣也需先向其鎖存器寫入“1”,使輸出驅(qū),使輸出驅(qū)動電路的動電路的FET截止。截止。 v P2口結(jié)構(gòu)及應用口結(jié)構(gòu)及應用 P2口電路中比口電路中比P1口多了一個多路轉(zhuǎn)換開關(guān)口多了一個多路轉(zhuǎn)換開關(guān)MUX,這,這又正好與又正好與P0口一

44、樣??谝粯?。P2口可以作為通用口可以作為通用I/O口使用??谑褂?。 v P3口結(jié)構(gòu)及應用口結(jié)構(gòu)及應用 P3口的特點在于為適應引腳信號第二功能的需要,增口的特點在于為適應引腳信號第二功能的需要,增加了第二功能控制邏輯。加了第二功能控制邏輯。 引引腳腳功功能能v 引腳引腳信號功能介紹信號功能介紹 1電源引腳電源引腳VSS和和VCC 2XTAL1和和XTAL2是是 外接晶體引線端外接晶體引線端 3 3控制信號引腳控制信號引腳ALEALE、 PSEN PSEN 、 EAEA和和RSTRST 4 4I/OI/O端口端口P0P0、P1P1、 P2P2和和P3 P3 圖圖2-8 MCS-512-8 MCS-

45、51單片機芯片引腳圖單片機芯片引腳圖 引引腳腳功功能能v 引腳信號的第二功能引腳信號的第二功能 芯片的引腳數(shù)目受到工藝及標準化芯片的引腳數(shù)目受到工藝及標準化等因素的限制。等因素的限制。MCS-51系列把芯片引腳系列把芯片引腳數(shù)目限定為數(shù)目限定為40條,但單片機為實現(xiàn)其功能條,但單片機為實現(xiàn)其功能所需要的信號數(shù)目卻超過此數(shù),因此就出所需要的信號數(shù)目卻超過此數(shù),因此就出現(xiàn)了需要與可能的矛盾。為解決這個矛盾,現(xiàn)了需要與可能的矛盾。為解決這個矛盾,給給些信號引腳賦以了雙重功能。前面介些信號引腳賦以了雙重功能。前面介紹了信號引腳的第一功能,下面介紹某些紹了信號引腳的第一功能,下面介紹某些信號引腳的第二功

46、能。信號引腳的第二功能。 引引腳腳功功能能 1P3口線的第二功能??诰€的第二功能。 口線口線 第二功能第二功能 信號名稱信號名稱 P3.0 RXD 串行數(shù)據(jù)接收串行數(shù)據(jù)接收 P3.1 TXD 串行數(shù)據(jù)發(fā)送串行數(shù)據(jù)發(fā)送 P3.2 INT0外部中斷外部中斷0申請申請 P3.3INT1外部中斷外部中斷1申請申請 P3.4 T0 定時器定時器/計數(shù)器計數(shù)器0計數(shù)輸入計數(shù)輸入 P3.5 T1 定時器定時器/計數(shù)器計數(shù)器1計數(shù)輸入計數(shù)輸入 P3.6 WR外部外部RAM寫選通寫選通 P3.7 RD外部外部RAM讀選通讀選通 表表2-5 P32-5 P3口線的第二功能口線的第二功能 引引腳腳功功能能 2EPR

47、OMEPROM存儲器程序固化所需要的信號存儲器程序固化所需要的信號 有內(nèi)部有內(nèi)部EPROMEPROM的單片機芯片的單片機芯片( (例如例如8751)8751),為,為寫入程序需要提供專門的編程脈沖和編程電壓。寫入程序需要提供專門的編程脈沖和編程電壓。這些信號是由信號引腳第二功能提供的,即這些信號是由信號引腳第二功能提供的,即 編程脈沖編程脈沖 3030腳腳 (ALE/PROG)(ALE/PROG) 編程電壓編程電壓(21V) 31(21V) 31腳腳 (EA(EAV VPPPP) ) 3備用電源備用電源 MCS-51MCS-51單片機的備用電源是以第二功能的單片機的備用電源是以第二功能的方式由

48、方式由9 9腳腳(RST(RSTV VPDPD) )引入的。當主電源引入的。當主電源V VCCCC發(fā)生發(fā)生故障或電壓降低到下限時,備用電源經(jīng)此端向內(nèi)故障或電壓降低到下限時,備用電源經(jīng)此端向內(nèi)部部RAMRAM提供電壓,以保護內(nèi)部提供電壓,以保護內(nèi)部RAMRAM中的信息不丟失。中的信息不丟失。 時時鐘鐘電電路路及及工工作作方方式式 時鐘電路用于產(chǎn)生單片機工作所需時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序所研究的是指令執(zhí)要的時鐘信號,而時序所研究的是指令執(zhí)行中各個信號的相互關(guān)系。單片機本身就行中各個信號的相互關(guān)系。單片機本身就如一個復雜的同步時序電路,為了保證同如一個復雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應在唯一的時鐘步工作方式的實現(xiàn),電路應在唯一的時鐘信號控制下嚴格地按時序進行工作。信號控制下嚴格地按時序進行工作。 時時鐘鐘電電路路及及工工作作方方式式v 時鐘電路時鐘電路 1.時鐘信號的產(chǎn)生時鐘信號

溫馨提示

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

評論

0/150

提交評論