MCS-51系列單片機硬件結構_第1頁
MCS-51系列單片機硬件結構_第2頁
MCS-51系列單片機硬件結構_第3頁
MCS-51系列單片機硬件結構_第4頁
MCS-51系列單片機硬件結構_第5頁
已閱讀5頁,還剩113頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、MCS-51系列單片機硬件結構第二章第二章 MCS-51系列單片機硬件結構系列單片機硬件結構 MCS-51系列單片機硬件結構2.1 MCS51單片微機的內部結構單片微機的內部結構 微型計算機的基本組成有三部分,即中央處理器微型計算機的基本組成有三部分,即中央處理器CPU (通常包括運算器和控制器通常包括運算器和控制器)+存儲器存儲器+輸入輸入/輸出輸出 (I/O) 接口。若將組成計算機的基本部件集成在一塊芯片上,則接口。若將組成計算機的基本部件集成在一塊芯片上,則俗稱為單片微機。俗稱為單片微機。 MCS51內部結構如內部結構如圖圖21所示,主要包括中央處所示,主要包括中央處理器理器CPU (算

2、術邏輯部件算術邏輯部件 ALU、控制器等、控制器等) 、只讀存儲器、只讀存儲器 ROM、 隨機存取存儲器隨機存取存儲器RAM、定時器、定時器/計數器、并行計數器、并行 I/O口口 P0P3、串行口、中斷系統以及定時控制邏輯電路等。、串行口、中斷系統以及定時控制邏輯電路等。 MCS-51系列單片機硬件結構這些部件通過內部總線連接起來,基本結構仍然是通用這些部件通過內部總線連接起來,基本結構仍然是通用CPU加上外圍芯片的結構模式,但功能單元上的控制與加上外圍芯片的結構模式,但功能單元上的控制與先前相比有重大變化,采用了特殊功能寄存器先前相比有重大變化,采用了特殊功能寄存器(SFR) 進行進行集中控

3、制的方法。集中控制的方法。1.中央處理器中央處理器 單片微機中的中央處理器(單片微機中的中央處理器(CPU)是單片微機的核心,)是單片微機的核心,主要完成運算和控制功能,又增設了主要完成運算和控制功能,又增設了“面向控制面向控制”的處的處理功能,增強了實時性。理功能,增強了實時性。 2. 程序存儲器程序存儲器 根據內部是否帶有程序存儲器而形成三種型號:內部根據內部是否帶有程序存儲器而形成三種型號:內部沒有程序存儲器的稱沒有程序存儲器的稱80C31,內部帶,內部帶ROM的稱的稱MCS51,內部以內部以EPROM代替代替ROM的稱的稱87C51。MCS-51系列單片機硬件結構 目前單片微機的程序存

4、儲器有以下幾種結構形式:目前單片微機的程序存儲器有以下幾種結構形式: 片內只讀存儲器片內只讀存儲器片內掩膜片內掩膜ROM的特點是程序必須在制作單片微機時寫入。的特點是程序必須在制作單片微機時寫入。 片內可編程的片內可編程的ROM 可直接由用戶進行編程。可直接由用戶進行編程。 紫外線可擦除型紫外線可擦除型ROMEPROM型單片微機型單片微機 (如如87C51)。EPROM需用紫外線擦除,必須脫機固化,不能在線改寫。需用紫外線擦除,必須脫機固化,不能在線改寫。 電可擦除型電可擦除型ROMEEPROM,稱為,稱為Flash單片微機單片微機 (如如89C51)。EPROM和和EEPROM都是可以多次擦

5、除和編程的,都是可以多次擦除和編程的,或稱或稱MTP的的ROM。MCS-51系列單片機硬件結構OTP的的 ROM,僅允許用戶一次編程。,僅允許用戶一次編程。 片外只讀存儲器片外只讀存儲器 利用單片微機的并行擴展技術可以外擴片外只讀利用單片微機的并行擴展技術可以外擴片外只讀存儲器。存儲器。3. 數據存儲器(數據存儲器(RAM) 在單片微機中,用隨機存取存儲器(在單片微機中,用隨機存取存儲器(RAM)來)來存儲程序在運行期間的工作變量和數據,所以稱為數據存儲程序在運行期間的工作變量和數據,所以稱為數據存儲器。一般在單片微機內部設置一定容量(存儲器。一般在單片微機內部設置一定容量(64 B至至384

6、B)的)的RAM。這樣,小容量的數據存儲器以高速。這樣,小容量的數據存儲器以高速RAM的形式集成在單片微機內,以加快單片微機運行的形式集成在單片微機內,以加快單片微機運行的速度的速度,還可以使存儲器的功耗下降很多。還可以使存儲器的功耗下降很多。MCS-51系列單片機硬件結構在單片微機中,常把寄存器(如工作寄存器、特在單片微機中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內殊功能寄存器、堆棧等)在邏輯上劃分在片內RAM空間空間中,所以可將單片微機內部中,所以可將單片微機內部RAM看成是寄存器堆,有利看成是寄存器堆,有利于提高運行速度。于提高運行速度。當內部當內部RAM容量

7、不夠時,還可通過串行總線或并容量不夠時,還可通過串行總線或并行總線外擴數據存儲器。行總線外擴數據存儲器。 4. 并行并行I/O口口 單片微機往往提供了許多功能強、使用靈活的并單片微機往往提供了許多功能強、使用靈活的并行輸入行輸入/輸出引腳,用于檢測與控制。有些輸出引腳,用于檢測與控制。有些I/O引腳還具有引腳還具有多種功能,比如可以作為數據總線的數據線、地址總線多種功能,比如可以作為數據總線的數據線、地址總線的地址線、控制總線的控制線等。單片微機的地址線、控制總線的控制線等。單片微機I/O引腳的驅引腳的驅動能力也逐漸增大,甚至可以直接驅動外擴的動能力也逐漸增大,甚至可以直接驅動外擴的LED顯示

8、顯示器器。 MCS-51系列單片機硬件結構5. 串行串行I/O口口 目前高檔目前高檔8位單片微機均設置了全雙工串行位單片微機均設置了全雙工串行I/O口,用口,用以實現與某些終端設備進行串行通信,或者和一些特殊以實現與某些終端設備進行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個單片微機相連構成功能的器件相連的能力,甚至用多個單片微機相連構成多機系統。隨著應用的拓寬,有些型號的單片微機內部多機系統。隨著應用的拓寬,有些型號的單片微機內部還包含有二個串行還包含有二個串行I/O口。口。 6. 定時器定時器/計數器計數器 在單片微機的實際應用中,往往需要精確的定時,或在單片微機的實際應用中,

9、往往需要精確的定時,或者需對外部事件進行計數。為了減少軟件開銷和提高單者需對外部事件進行計數。為了減少軟件開銷和提高單片微機的實時控制能力,因而均在單片微機內部設置定片微機的實時控制能力,因而均在單片微機內部設置定時器時器/計數器電路。計數器電路。MCS51共有二個共有二個16位的定時器位的定時器/計數器計數器,80C52則有三個則有三個16位的定時器位的定時器/計數器。計數器。 MCS-51系列單片機硬件結構7. 中斷系統中斷系統 MCS51單片微機的中斷功能較強,具有內、外共五單片微機的中斷功能較強,具有內、外共五個中斷源,二個中斷優先級。個中斷源,二個中斷優先級。 8定時電路及元件定時電

10、路及元件 計算機的整個工作是在時鐘信號的驅動下,按照嚴計算機的整個工作是在時鐘信號的驅動下,按照嚴格的時序有規律地一個節拍一個節拍地執行各種操作。單格的時序有規律地一個節拍一個節拍地執行各種操作。單片微機內部設有定時電路,只需外接振蕩元件即可工作。片微機內部設有定時電路,只需外接振蕩元件即可工作。外接振蕩元件一般選用晶體振蕩器,或用價廉的外接振蕩元件一般選用晶體振蕩器,或用價廉的RC振蕩器,振蕩器,也可用外部時鐘源,作為振蕩元件。近來有的單片微機將也可用外部時鐘源,作為振蕩元件。近來有的單片微機將振蕩元件也集成在芯片內部。振蕩元件也集成在芯片內部。MCS-51系列單片機硬件結構2.2 MCS5

11、1單片微機的引腳及其功能單片微機的引腳及其功能 MCS51有有40引腳雙列直插(引腳雙列直插(DIP)、)、44引腳引腳(PLCC)和和44引腳(引腳(PQFP/TQFP)封裝形式。)封裝形式。MCS5180C52的封裝及邏輯圖如的封裝及邏輯圖如圖圖22所示。所示。在某些場合,不需通過并行總線擴展芯片,在某些場合,不需通過并行總線擴展芯片,這時常采用這時常采用20引腳雙列直插(引腳雙列直插(DIP)甚至僅)甚至僅14引引腳的單片微機,如腳的單片微機,如ATMEL公司的公司的1051/2051/4051單片微機等,或單片微機等,或PHILIPS公司的公司的P87LPC764單片單片微機。他們的封

12、裝及引腳見微機。他們的封裝及引腳見圖圖23。MCS-51系列單片機硬件結構按引腳的功能可分為三部分按引腳的功能可分為三部分 : 1. 電源和晶振:電源和晶振:Vcc運行和程序校驗時接電源正端。運行和程序校驗時接電源正端。 Vss接地。接地。 XTAL1輸入到單片微機內部振蕩器的反相放輸入到單片微機內部振蕩器的反相放大器。當采用外部振蕩器時,對大器。當采用外部振蕩器時,對HMOS單片微機單片微機, 此引腳此引腳應接地;對應接地;對CHMOS單片微機,此引腳作驅動端。單片微機,此引腳作驅動端。XTAL2反相放大器的輸出,輸入到內部時鐘反相放大器的輸出,輸入到內部時鐘發生器。當采用外部振蕩器時,發生

13、器。當采用外部振蕩器時,XTAL2 接收振蕩器信號。接收振蕩器信號。MCS-51系列單片機硬件結構2. I/O: 共共4個口,個口,32根根I/O線。線。 P08位、漏極開路的雙向位、漏極開路的雙向I/O口。口。當使用片外存儲器(當使用片外存儲器(ROM及及RAM)時,作低八位)時,作低八位地址和數據總線分時復用。地址和數據總線分時復用。P0口(作為總線時)能驅動口(作為總線時)能驅動 8個個 LSTTL負載。負載。P18位、準雙向位、準雙向I/O 口。口。在編程在編程/校驗期間,用做輸入低位字節地址。校驗期間,用做輸入低位字節地址。P1口可以驅動口可以驅動 4個個 LSTTL負載。負載。 對

14、于對于80C52,P1.0T2,是定時器,是定時器2的計數輸入端;的計數輸入端;P1.1T2EX,是定時器,是定時器2的外部輸入端。的外部輸入端。讀兩個特殊引腳的輸出鎖存器時應由程序置讀兩個特殊引腳的輸出鎖存器時應由程序置1。MCS-51系列單片機硬件結構P28位、準雙向位、準雙向I/O口。口。 當使用片外存儲器(當使用片外存儲器(ROM及及RAM)時,輸出高)時,輸出高8位位地址。地址。在編程在編程/校驗期間,接收高位字節地址。校驗期間,接收高位字節地址。P2口可以驅動口可以驅動4個個LSTTL負載。負載。P38位、準雙向位、準雙向I/O口,具有內部上拉電路。口,具有內部上拉電路。 P3提供

15、各種替代功能。在提供這些功能時,其輸出鎖提供各種替代功能。在提供這些功能時,其輸出鎖存器應由程序置存器應由程序置 1。P3口可以輸口可以輸入入/輸出輸出4個個LSTTL負載。負載。 串行口:串行口: P30RXD 串行輸入口。串行輸入口。 P31TXD 串行輸出口。串行輸出口。MCS-51系列單片機硬件結構 中斷:中斷: P32 外部中斷外部中斷0輸入。輸入。 P33 外部中斷外部中斷1輸入。輸入。 定時器計數器:定時器計數器: P34定時器定時器/計數器計數器T0 的外部輸入。的外部輸入。 P35定時器定時器/計數器計數器T1的外部輸入。的外部輸入。 數據存儲器選通:數據存儲器選通: P36

16、WR 低電平有效,輸出,片外存儲器寫選通。低電平有效,輸出,片外存儲器寫選通。 P37 RD 低電平有效,輸出,片外存儲器讀選通。低電平有效,輸出,片外存儲器讀選通。MCS-51系列單片機硬件結構3. 控制線:共控制線:共4根。根。 RST復位輸入信號,高電平有效。在振蕩器工作復位輸入信號,高電平有效。在振蕩器工作時,在時,在RST上作用兩個機器周期以上的高電平,將器件復上作用兩個機器周期以上的高電平,將器件復位。位。 EA /Vpp片外程序存儲器訪問允許信號,低電平有效。片外程序存儲器訪問允許信號,低電平有效。EA=1,選擇片內程序存儲器,選擇片內程序存儲器(MCS51為為4KB,80C52

17、為為8KB) ;EA=0,則程序存儲器全部在片外而不管片內是否,則程序存儲器全部在片外而不管片內是否有程序存儲器。有程序存儲器。使用使用80C31時,必須接地,使用時,必須接地,使用8751編程時,施加編程時,施加 21V的編程電壓。的編程電壓。ALE/PROG地址鎖存允許信號,輸出。地址鎖存允許信號,輸出。在訪問片外存儲器或在訪問片外存儲器或I/O時,用于鎖存低八位地址,時,用于鎖存低八位地址,以實現低八位地址與數據的隔離。以實現低八位地址與數據的隔離。MCS-51系列單片機硬件結構由于由于ALE以以 1/6的振蕩頻率固定速率輸出,可作為的振蕩頻率固定速率輸出,可作為對外輸出的時鐘或用作外部

18、定時脈沖。在對外輸出的時鐘或用作外部定時脈沖。在EPROM編程期編程期間,作輸入。輸入編程脈沖(間,作輸入。輸入編程脈沖(PROG)。)。ALE可以驅動可以驅動8個個LSTTL負載。負載。PSEN片外程序存儲器讀選通信號,低電平有效。片外程序存儲器讀選通信號,低電平有效。在從片外程序存儲器取指期間,在每個機器周期中,當在從片外程序存儲器取指期間,在每個機器周期中,當有效時,程序存儲器的內容被送上有效時,程序存儲器的內容被送上 P0口(數據總線)。口(數據總線)。可以驅動可以驅動 8個個LSTTL負載。負載。MCS-51系列單片機硬件結構2.3 MCS51 CPU的結構和特點的結構和特點 中央處

19、理器中央處理器CPU是單片微機內部的核心部件,主要是單片微機內部的核心部件,主要包括控制器、運算器和工作寄存器及時序電路。包括控制器、運算器和工作寄存器及時序電路。MCS-51系列單片機硬件結構2.3.1中央控制器中央控制器中央控制器是識別指令,并根據指令性質控制計算中央控制器是識別指令,并根據指令性質控制計算機各組成部件進行工作的部件,與運算器一起構成中央處機各組成部件進行工作的部件,與運算器一起構成中央處理器。在理器。在MCS51單片機中,控制器包括程序計數器單片機中,控制器包括程序計數器PC、程、程序地址寄存器、指令寄存器序地址寄存器、指令寄存器IR、指令譯碼器、條件轉移邏、指令譯碼器、

20、條件轉移邏輯電路及定時控制邏輯電路輯電路及定時控制邏輯電路。 其功能是控制指令的讀出、譯碼和執行,對指令的其功能是控制指令的讀出、譯碼和執行,對指令的執行過程進行定時控制,并根據執行結果決定是否分支轉執行過程進行定時控制,并根據執行結果決定是否分支轉移。移。 MCS-51系列單片機硬件結構1. 程序計數器程序計數器PC 程序計數器程序計數器PC(Program Counter)是一個獨立的計)是一個獨立的計數器,不屬于內部的特殊功能寄存器。數器,不屬于內部的特殊功能寄存器。PC中存放的是下一中存放的是下一條將要從程序存儲器中取出的指令的地址。條將要從程序存儲器中取出的指令的地址。其基本的工作過

21、程是:讀指令時,程序計數器其基本的工作過程是:讀指令時,程序計數器PC將將其中的數作為所取指令的地址輸出給程序存儲器,然后程序其中的數作為所取指令的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節,同時程序計數器存儲器按此地址輸出指令字節,同時程序計數器PC本身自本身自動加動加1,指向下一條指令地址。,指向下一條指令地址。 MCS-51系列單片機硬件結構程序計數器程序計數器PC變化的軌跡決定程序的流程。變化的軌跡決定程序的流程。 在執行條件轉移或無條件轉移指令時,程序計數器將被在執行條件轉移或無條件轉移指令時,程序計數器將被置入轉移的目的地址,程序的流向發生變化。置入轉移的目的地址,程

22、序的流向發生變化。在執行調用指令或響應中斷時,將子程序的入口地址或者在執行調用指令或響應中斷時,將子程序的入口地址或者中斷矢量地址送入中斷矢量地址送入PC,程序流向發生變化。,程序流向發生變化。2. 數據指針數據指針 DPTR DPTR是一個是一個16位的特殊功能寄存器,主要功能是作為位的特殊功能寄存器,主要功能是作為片外數據存儲器或片外數據存儲器或I/O尋址用的地址寄存器(間接尋址),尋址用的地址寄存器(間接尋址),故稱為數據存儲器地址指針。訪問片外數據存儲器或故稱為數據存儲器地址指針。訪問片外數據存儲器或I/O的的指令為:指令為: MOVX A,DPTR 讀讀 MOVX DPTR,A 寫寫

23、MCS-51系列單片機硬件結構DPTR寄存器也可以作為訪問程序存儲器時的基址寄存器。這寄存器也可以作為訪問程序存儲器時的基址寄存器。這時尋址程序存儲器中的表格、常數等單元,而不是尋址指令。時尋址程序存儲器中的表格、常數等單元,而不是尋址指令。 MOVCA,ADPTR JMPADPTR DPTR寄存器既可以作為一個寄存器既可以作為一個16位寄存器處理,也可以作為位寄存器處理,也可以作為兩個兩個8位寄存器處理,其高位寄存器處理,其高8位用位用DPH表示,低表示,低8位用位用DPL表示表示。3. 指令寄存器指令寄存器IR、指令譯碼器及控制邏輯、指令譯碼器及控制邏輯 指令寄存器指令寄存器IR是用來存放

24、指令操作碼的專用寄存器。執行程序是用來存放指令操作碼的專用寄存器。執行程序時,首先進行程序存儲器的讀操作,也就是根據程序計數器給時,首先進行程序存儲器的讀操作,也就是根據程序計數器給出的地址從程序存儲器中取出指令,送指令寄存器出的地址從程序存儲器中取出指令,送指令寄存器IR,IR的輸的輸出送指令譯碼器;然后由指令譯碼器對該指令進行譯碼,譯碼出送指令譯碼器;然后由指令譯碼器對該指令進行譯碼,譯碼結果送定時控制邏輯電路,如結果送定時控制邏輯電路,如圖圖24所示。所示。MCS-51系列單片機硬件結構定時控制邏輯電路則根據指令的性質發出一系列定時定時控制邏輯電路則根據指令的性質發出一系列定時控制信號,

25、控制計算機的各組成部件進行相應控制信號,控制計算機的各組成部件進行相應的工作,執的工作,執行指令。行指令。 條件轉移邏輯電路主要用來控制程序的分支轉移在條件轉移邏輯電路主要用來控制程序的分支轉移在MCS51中,轉移條件也可分為兩部分。一部分是內部條件中,轉移條件也可分為兩部分。一部分是內部條件,即即程序狀態標志位(程序狀態標志位(PSW)和累加器的零狀態。另一部分是外)和累加器的零狀態。另一部分是外部條件,即部條件,即F0和所有位尋址空間的狀態。和所有位尋址空間的狀態。MCS-51系列單片機硬件結構2.3.2 運算器運算器運算器主要用來實現對操作數的算術邏輯運算和位操作運算器主要用來實現對操作

26、數的算術邏輯運算和位操作的。如對傳送到的。如對傳送到CPU的數據進行加、減、乘、除、比較、的數據進行加、減、乘、除、比較、BCD碼校正等算術運算;碼校正等算術運算;“與與”、“或或”、“異或異或”等邏輯操作;等邏輯操作;移位、置位、清零、取反、加移位、置位、清零、取反、加1、減、減1等操作。等操作。MCS51的的ALU還具有極強的位處理功能,如位置還具有極強的位處理功能,如位置1、位、位清零、位清零、位“與與”、位、位“或或”等操作,對等操作,對“面向控制面向控制”特別有用。特別有用。 運算器主要包括算術邏輯運算單元運算器主要包括算術邏輯運算單元ALUALU、累加器、累加器ACCACC(A A

27、)、暫存寄存器、)、暫存寄存器、B B寄存器、程序狀態標志寄存器寄存器、程序狀態標志寄存器PSWPSW以及以及BCDBCD碼運算修正電路等。碼運算修正電路等。MCS-51系列單片機硬件結構ALU有兩個輸出有兩個輸出: 數據經過運算后,其結果又通過內部總線數據經過運算后,其結果又通過內部總線送回到累加器中;送回到累加器中; 數據運算后產生的標志位輸出至程序狀態數據運算后產生的標志位輸出至程序狀態字字 PSW。 2. 累加器累加器A累加器累加器A是是CPU中使用最頻繁的一個八位專用中使用最頻繁的一個八位專用寄存器,簡稱寄存器,簡稱ACC或或A寄存器。主要功能:累加器寄存器。主要功能:累加器A存放操

28、作數,是存放操作數,是ALU單元的輸入之一,也是單元的輸入之一,也是ALU運運算結果的暫存單元。算結果的暫存單元。由于累加器的由于累加器的“ 瓶頸瓶頸”作用制約著單片微機運算速作用制約著單片微機運算速度的提高,人們又推出寄存器陣列來代替累加器,賦度的提高,人們又推出寄存器陣列來代替累加器,賦予更多寄存器以累加器功能,形成了多累加器結構,予更多寄存器以累加器功能,形成了多累加器結構,比如比如Inter公司的公司的MCS-96系列中的系列中的8098十六位單片微十六位單片微機。機。 MCS-51系列單片機硬件結構3B寄存器寄存器 B寄存器在乘法和除法指令中作為寄存器在乘法和除法指令中作為ALU的輸

29、入之一。乘法的輸入之一。乘法中,中,ALU的兩個輸入分別為的兩個輸入分別為A、B,運算結果存放在,運算結果存放在AB寄存寄存器對中器對中A中放積的低中放積的低8位,位,B中放積的高中放積的高8位。位。 除法中,被除數取自除法中,被除數取自A,除數取自,除數取自B,商數存放于,商數存放于A,余數,余數存放于存放于B。 在其它情況下,在其它情況下,B寄存器可以作為內部寄存器可以作為內部RAM中的一個單元來中的一個單元來使用。使用。 4. 程序狀態字程序狀態字PSW 程序狀態字程序狀態字PSW(Program Status Word)是一個逐)是一個逐位定義的位定義的8位寄存器,其內容的主位寄存器,

30、其內容的主 要部分是算術邏輯運算單要部分是算術邏輯運算單元(元(ALU)的輸出。其中有些位是根據指令執行結果,由硬)的輸出。其中有些位是根據指令執行結果,由硬件自動生成,而有些位狀態可用軟件方法設定。件自動生成,而有些位狀態可用軟件方法設定。 MCS-51系列單片機硬件結構一些條件轉移指令就是根據一些條件轉移指令就是根據PSW中的相關標志中的相關標志 位的狀態,位的狀態,來實現程序的條件轉移。它是一個程序可訪問的寄存器,來實現程序的條件轉移。它是一個程序可訪問的寄存器,而且可以按位訪問。而且可以按位訪問。 其中,除其中,除PSW1(保留位)、(保留位)、RS1和和RS0(工作寄存器(工作寄存器

31、組選擇控制位)及用戶標志組選擇控制位)及用戶標志F0之外,其他四位:奇偶校驗之外,其他四位:奇偶校驗位位P、溢出標志位、溢出標志位OV、輔助進位標志位、輔助進位標志位AC及進位標志位及進位標志位CY都是都是ALU運算結果的直接輸出。運算結果的直接輸出。 P (PSW0) 奇偶標志位。奇偶標志位。 每個指令周期都由硬件來置位或清除。每個指令周期都由硬件來置位或清除。 用以表示累加器用以表示累加器A中值為中值為1的個數的奇偶性:若累加的個數的奇偶性:若累加器值為器值為1的位數是奇數,的位數是奇數,P置位(奇校驗);否則置位(奇校驗);否則P清除清除(偶偶校驗校驗) 。CYAC F0 RS1RS0O

32、VPMCS-51系列單片機硬件結構1. 算術邏輯運算單元算術邏輯運算單元 ALU ALU實質上是全加器,結構參見實質上是全加器,結構參見圖圖25。ALU有兩個輸入:有兩個輸入: 通過暫存器通過暫存器1的輸入:輸入數據來自寄存器、直接尋址單的輸入:輸入數據來自寄存器、直接尋址單元(含元(含I/O口)、內部口)、內部RAM、寄存器、寄存器B或是立即數。或是立即數。 通過暫存器通過暫存器 2或累加器或累加器 ACC的輸入:通過暫存器的輸入:通過暫存器 2的運算的運算的指令有的指令有 ANL direct, data、ORL direct,data、XRL direct,data。其它的運算,其輸入之

33、一大多數也要通過累加器其它的運算,其輸入之一大多數也要通過累加器ACC。 MCS-51系列單片機硬件結構 在串行通信中,常以傳送奇偶校驗位來檢驗傳輸數在串行通信中,常以傳送奇偶校驗位來檢驗傳輸數據的可靠性。通常將據的可靠性。通常將P置入串行幀中的奇偶校驗位。置入串行幀中的奇偶校驗位。 OV (PSW2) 溢出標志位。溢出標志位。 當執行運算指令時,由硬件置位或清除,以指示運算當執行運算指令時,由硬件置位或清除,以指示運算是否產生溢出,是否產生溢出,OV置位表示運算結果超出了目的寄存器置位表示運算結果超出了目的寄存器A所能表示的帶符號數的范圍(一所能表示的帶符號數的范圍(一128127)。)。

34、若以若以Ci表示位表示位 i向位向位 i l有進位,則有進位,則OV=C6 C7;當;當位位6向位向位 7有進位有進位(借位借位)而位而位7不向不向CY進位進位(借位借位)時;或當時;或當位位7向向C進位進位(借位借位)而位而位6不向位不向位7進位進位(借位借位)時時OV標志置位,表示帶符號數運算時運算結果是錯誤的;標志置位,表示帶符號數運算時運算結果是錯誤的;否則,清除否則,清除OV標志,運算個結果正確。標志,運算個結果正確。MCS-51系列單片機硬件結構 對于對于MUL乘法,當乘法,當A、B兩個乘數的積超過兩個乘數的積超過255時時OV置位;否則,置位;否則,OV0。因此,若。因此,若OV

35、0時,只需從時,只需從A寄寄存器中取積;若存器中取積;若OV1時,則需從時,則需從B、A寄存器對中取積。寄存器對中取積。 對于對于DIV除法,若除數為除法,若除數為0時,時,OV=1;否則,;否則,OV=0。 RS1、RS0 (PSW.4、PSW.3) 工作寄存器組選擇位工作寄存器組選擇位用于設定當前工作寄存器的組號。工作寄存器共有用于設定當前工作寄存器的組號。工作寄存器共有四組,其對應關系見四組,其對應關系見表表21 AC (PSW6) 輔助進位標志位。輔助進位標志位。 當進行加法或減法運算時,若低當進行加法或減法運算時,若低4位向高位向高4位數發生位數發生進位或借位時進位或借位時AC將被硬

36、件置位;將被硬件置位; 否則,被清除。否則,被清除。 在十進制調整指令在十進制調整指令DA中要用到中要用到AC標志位狀態。標志位狀態。MCS-51系列單片機硬件結構 CY (PSW7) 進位標志位。進位標志位。在進行算術運算時,可以被硬件置位或清除,以表示在進行算術運算時,可以被硬件置位或清除,以表示運算結果中高位是否有進位或借位。在布爾處理機中運算結果中高位是否有進位或借位。在布爾處理機中CY被被認為是位累加器。認為是位累加器。 F0 (PSW5) 用戶標志位。用戶標志位。開機時該位為開機時該位為“0”。用戶可根據需要,通過位操作指。用戶可根據需要,通過位操作指令置令置“l”或者清或者清“0

37、”。MCS-51系列單片機硬件結構2.3.3 時鐘電路及時鐘電路及CPU的工作時序的工作時序時鐘電路用于產生單片微機工作所需要的時鐘信號。時鐘電路用于產生單片微機工作所需要的時鐘信號。時序所研究的是指令執行中各信號之間的相互關系。時序所研究的是指令執行中各信號之間的相互關系。單片微機本身就如一個復雜的同步時序電路。單片微機本身就如一個復雜的同步時序電路。 MCS-51系列單片機硬件結構 1. 時鐘電路時鐘電路 在在MCS51內帶有時鐘電路,只需要在片外通過內帶有時鐘電路,只需要在片外通過XTALI和和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即引腳接入定時控制元件(晶體振蕩器和電容)

38、,即可構成一個穩定的自激振蕩器。在可構成一個穩定的自激振蕩器。在MCS51芯片內部有一個高芯片內部有一個高增益反相放大器,而在芯片的外部,增益反相放大器,而在芯片的外部,XTAL1和和XTAL2之間之間跨接晶體振蕩器和微調電容。跨接晶體振蕩器和微調電容。MCS51的時鐘電路如的時鐘電路如圖圖26所所示。示。由圖可見,時鐘電路由下列幾部分組成:振蕩器及定時控制由圖可見,時鐘電路由下列幾部分組成:振蕩器及定時控制元件、時鐘發生器、地址鎖存允許信號元件、時鐘發生器、地址鎖存允許信號 ALE。 振蕩器及定時控制元件振蕩器及定時控制元件 在在MCS51芯片內部有一個高增益反相放大器,其輸入端為芯片內部有

39、一個高增益反相放大器,其輸入端為芯片引腳芯片引腳XTAL1,其輸出端為引腳,其輸出端為引腳XTAL2。 MCS-51系列單片機硬件結構只需要在片外通過只需要在片外通過XTAL1和和XTAL2引腳跨接晶體振蕩器和引腳跨接晶體振蕩器和微調電容,形成反饋電路,振蕩器即可工作。振蕩器的結微調電容,形成反饋電路,振蕩器即可工作。振蕩器的結構和振蕩電路原理如構和振蕩電路原理如圖圖27所示。所示。振蕩器的工作可以由振蕩器的工作可以由PD位(特殊功能寄存器位(特殊功能寄存器PCON中的一位)控制。當中的一位)控制。當 PD置置1時,振蕩器停止工作,系統進時,振蕩器停止工作,系統進入低功耗工作狀態。入低功耗工作

40、狀態。 振蕩器的工作頻率一般在振蕩器的工作頻率一般在1.212 MHz之間,由于制之間,由于制造工藝的改進,有些單片微機的頻率范圍正向兩端延伸,造工藝的改進,有些單片微機的頻率范圍正向兩端延伸,高端可達高端可達40 MHZ,低端可達,低端可達0Hz。 在由多片單片微機組成的系統中,為了各單片微機在由多片單片微機組成的系統中,為了各單片微機之間時鐘信號的同步,應當引入唯一的公用外部脈沖信號之間時鐘信號的同步,應當引入唯一的公用外部脈沖信號作為各單片微機的振蕩脈沖。作為各單片微機的振蕩脈沖。MCS-51系列單片機硬件結構 當由外部輸入時鐘信號時,外部信號接入當由外部輸入時鐘信號時,外部信號接入XT

41、AL1端,端,XTAL2端懸空不用。對外部信號的占空比沒有要求,高低端懸空不用。對外部信號的占空比沒有要求,高低電平持續時間應不小于電平持續時間應不小于 20 us。 內部時鐘發生器內部時鐘發生器內部時鐘發生器實質上是一個內部時鐘發生器實質上是一個2分頻的觸發器。其輸分頻的觸發器。其輸入由振蕩器引入的,輸出為兩個節拍的時鐘信號。輸出的前入由振蕩器引入的,輸出為兩個節拍的時鐘信號。輸出的前半周期,節拍半周期,節拍1(P1)信號有效;后半周期,節拍)信號有效;后半周期,節拍2(P2)信號有效。每個輸出周期為一個計算機信號有效。每個輸出周期為一個計算機CPU的狀態周期,即的狀態周期,即時鐘發生器的輸

42、出為狀態時鐘。每個狀態周期內包括一個時鐘發生器的輸出為狀態時鐘。每個狀態周期內包括一個P1節拍和一個節拍和一個P2節拍,形成節拍,形成CPU內的基本定時時鐘。內的基本定時時鐘。 ALE信號信號 一般地說,狀態時鐘經過一般地說,狀態時鐘經過3分頻之后,產生分頻之后,產生ALE引腳上的引腳上的信號輸出。信號輸出。 MCS-51系列單片機硬件結構2時序定時單位時序定時單位 單片微機執行指令是在時序電路的控制下一步一步進行的。時單片微機執行指令是在時序電路的控制下一步一步進行的。時序是用定時單位來說明的。序是用定時單位來說明的。MCS51的時序定時單位共有的時序定時單位共有4個:個:節拍、狀態、機器周

43、期和指令周期。節拍、狀態、機器周期和指令周期。(1)節拍節拍P把振蕩脈沖的周期稱為節拍把振蕩脈沖的周期稱為節拍。(2) 狀態狀態S一個狀態一個狀態S包含兩個節拍,其前半周期對應的節拍叫包含兩個節拍,其前半周期對應的節拍叫P1,后半,后半周期對應的節拍叫周期對應的節拍叫P2 (3) 機器周期機器周期MCS51采用定時控制方式,因此它有固定的機器周期。采用定時控制方式,因此它有固定的機器周期。MCS-51系列單片機硬件結構規定一個機器周期的寬度為規定一個機器周期的寬度為6個狀態,并依次表示為個狀態,并依次表示為S1S6。由于一個機器周期共有由于一個機器周期共有12個振蕩脈沖周期,因此機器周期就個振

44、蕩脈沖周期,因此機器周期就是振蕩脈沖的是振蕩脈沖的12分頻。分頻。 當振蕩脈沖頻率為當振蕩脈沖頻率為 12 MHZ時,一個機器周期為時,一個機器周期為 lS;當振蕩脈沖頻率為當振蕩脈沖頻率為6MHZ時,一個機器周期為時,一個機器周期為2 S。 機器周期是單片微機的最小時間單位。機器周期是單片微機的最小時間單位。(4) 指令周期指令周期執行一條指令所需要的時間稱為指令周期。它是最大執行一條指令所需要的時間稱為指令周期。它是最大的時序定時單位。的時序定時單位。MCS51的指令周期根據指令的不同,可包的指令周期根據指令的不同,可包含有一、二、三、四個機器周期。當振蕩脈沖頻率為含有一、二、三、四個機器

45、周期。當振蕩脈沖頻率為 12 MHZ時,時,MCS51的一條指令執行的時間最短為的一條指令執行的時間最短為lS,最長為,最長為4S。 MCS-51系列單片機硬件結構3. MCS51指令時序指令時序 MCS51共有共有111條指令,全部指令按其長度可分為單字條指令,全部指令按其長度可分為單字節指令、雙字節指令和三字節指令。節指令、雙字節指令和三字節指令。 圖圖28所表示的是幾種典型單機器周期和雙機器周期指令所表示的是幾種典型單機器周期和雙機器周期指令的時序。的時序。 單機器周期指令,如單機器周期指令,如圖圖28(a)、()、(b)所示。)所示。 雙字節時,執行在雙字節時,執行在S1P2開始,操作

46、碼被讀入指令寄存器;開始,操作碼被讀入指令寄存器;在在S4P2時,再讀入第二個字節。單字節時,執行在時,再讀入第二個字節。單字節時,執行在S1P2開始,開始,操作碼被讀入指令寄存器;在操作碼被讀入指令寄存器;在S4P2時仍有讀操作,但被讀入時仍有讀操作,但被讀入的字節(即下一操作碼)被忽略,且此時的字節(即下一操作碼)被忽略,且此時PC并不增量。并不增量。 以上兩種情況均在以上兩種情況均在S6P2時結束操作。時結束操作。 雙機器周期指令,如雙機器周期指令,如圖圖28(c)、()、(d)所示。)所示。MCS-51系列單片機硬件結構 雙字節時,執行在雙字節時,執行在S1P2開始,操作碼被讀入指令寄

47、存器;開始,操作碼被讀入指令寄存器;在在S4P2時,再讀入的字節被忽略。由時,再讀入的字節被忽略。由S5開始送出外部數據存開始送出外部數據存儲器的地址,隨后是讀或寫的操作。在讀、寫期間,儲器的地址,隨后是讀或寫的操作。在讀、寫期間,ALE不不輸出有效信號。輸出有效信號。 在第二個機器周期,片外數據存儲器也尋址和選通,但不在第二個機器周期,片外數據存儲器也尋址和選通,但不產生取指操作。產生取指操作。 單字節時,執行在單字節時,執行在S1P2開始,在整個兩個機器周期中,共開始,在整個兩個機器周期中,共發生四次讀操作,但是后三次操作都無效。發生四次讀操作,但是后三次操作都無效。 一般,算術一般,算術

48、/邏輯操作發生在節拍邏輯操作發生在節拍1期間,內部寄存器對寄期間,內部寄存器對寄存器的傳送發生在節拍存器的傳送發生在節拍2期間。期間。 圖中的圖中的ALE信號是為地址鎖存而定義的,該信號每有效一信號是為地址鎖存而定義的,該信號每有效一次對應單片微機進行一次讀指令操作。次對應單片微機進行一次讀指令操作。ALE信號以振蕩脈沖信號以振蕩脈沖六分之一的頻率出現,因此在一個機器周期中,六分之一的頻率出現,因此在一個機器周期中,ALE信號信號兩次有效,第一次在兩次有效,第一次在S1P2和和S2P1期間,第二次在期間,第二次在S4P2和和S5P1期間,有效寬度為一個狀態周期期間,有效寬度為一個狀態周期S。M

49、CS-51系列單片機硬件結構(1)單字節單周期指令(例如單字節單周期指令(例如 INC A) 只需進行一次讀指令操作。當第二個只需進行一次讀指令操作。當第二個ALE有效時,由于有效時,由于PC沒有沒有加加1,所以讀出的還是原指令。,所以讀出的還是原指令。(2)雙字節單周期指令(例如)雙字節單周期指令(例如 ADD A,data) ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次是讀指令第二字節。是讀指令第二字節。(3)單字節雙周期指令(例如)單字節雙周期指令(例如 INC DPTR) 兩個機器周期共進行四次讀指令的操作,但其中后三次

50、的讀操作兩個機器周期共進行四次讀指令的操作,但其中后三次的讀操作全是無效的。全是無效的。 (4) 單字節雙周期指令(例如單字節雙周期指令(例如MOVX類指令)類指令) MOVX類指令情況有所不同。因為執行這類指令時,先在類指令情況有所不同。因為執行這類指令時,先在ROM讀取指令,然后對外部讀取指令,然后對外部RAM進行讀進行讀/寫操作。第一機器周期時,與寫操作。第一機器周期時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無效。第二周期時,進行外部無效。第二周期時,進行外部RAM訪問,此時與訪問,此時與ALE信號無關,信號

51、無關,因此不產生讀指令操作。因此不產生讀指令操作。MCS-51系列單片機硬件結構2.4 存儲器結構和地址空間存儲器結構和地址空間單片微機的存儲器有兩種基本結構:一種是在通單片微機的存儲器有兩種基本結構:一種是在通用微型計算機中廣泛采用的將程序和數據合用一個存儲用微型計算機中廣泛采用的將程序和數據合用一個存儲器空間的結構,稱為普林斯頓(器空間的結構,稱為普林斯頓(Princeton)結構;另一)結構;另一種是將程序存儲器和數據存儲器截然分開,分別尋址的種是將程序存儲器和數據存儲器截然分開,分別尋址的結構,稱為哈佛(結構,稱為哈佛(Haryard)結構。)結構。Intel的的MCS51和和MCS5

52、1系列單片微機采用哈佛結構。系列單片微機采用哈佛結構。圖圖29為為MCS51單片微機存儲器映象圖。單片微機存儲器映象圖。 在物理上設有在物理上設有4個存儲器空間個存儲器空間 程序存儲器:程序存儲器: 片內程序存儲器;片內程序存儲器; 片外程序存儲器。片外程序存儲器。 數據存儲器:數據存儲器: 片內數據存儲器;片內數據存儲器; 片外數據存儲器。片外數據存儲器。MCS-51系列單片機硬件結構 在邏輯上設有在邏輯上設有3個存儲器地址空間個存儲器地址空間 片內、片外統一的片內、片外統一的 64 KB程序存儲器地址空間;程序存儲器地址空間; 片內片內256(80C52 7為為384)B數據存儲器地址空間

53、;數據存儲器地址空間; 片外片外64 KB的數據存儲器地址空間。的數據存儲器地址空間。 在訪問這在訪問這3個不同的邏輯空間時,應選用不同形式個不同的邏輯空間時,應選用不同形式的指令。的指令。 片內數據存儲器空間,在物理上又包含兩部分:片內數據存儲器空間,在物理上又包含兩部分: 對于對于MCS51型單片微機,從型單片微機,從0127 B為片內數據為片內數據存儲器空間;從存儲器空間;從128256 B為特殊功能寄存器為特殊功能寄存器(SFR)空間空間(僅占用(僅占用20多個字節)。多個字節)。 對于對于 80C52型單片微機,從型單片微機,從0128 B為片內數據為片內數據存儲器空間;從存儲器空間

54、;從128256 B共共128個字節是數據存儲器和個字節是數據存儲器和特殊功能寄存器地址重疊空間。特殊功能寄存器地址重疊空間。MCS-51系列單片機硬件結構MCS51有三種基本的尋址空間:有三種基本的尋址空間: 64 KB的片內、外程序存儲器尋址空間;的片內、外程序存儲器尋址空間; 64 KB的片外數據存儲器尋址空間;的片外數據存儲器尋址空間; 256(或(或384)B的片內數據存儲器尋址空間,其中的片內數據存儲器尋址空間,其中包括特殊功能寄存器尋址空間。包括特殊功能寄存器尋址空間。 2.4.l 程序存儲器程序存儲器8 0C51單片微機的程序存儲器(單片微機的程序存儲器(program mem

55、ory)用于)用于存放經調試正確的應用程序和表格之類的固定常數。由于存放經調試正確的應用程序和表格之類的固定常數。由于采用采用16位的程序計數器位的程序計數器 PC和和16位的地址總線,因而其可位的地址總線,因而其可擴展的地址空間為擴展的地址空間為64 KB。 整個程序存儲器可以分為片內和片外兩部分。整個程序存儲器可以分為片內和片外兩部分。MCS-51系列單片機硬件結構2.4.l 程序存儲器程序存儲器MCS51單片微機的程序存儲器(單片微機的程序存儲器(program memory)用于)用于存放經調試正確的應用程序和表格之類的固定常數。由于采用存放經調試正確的應用程序和表格之類的固定常數。由

56、于采用16位的程序計數器位的程序計數器 PC和和16位的地址總線,因而其可擴展的地址位的地址總線,因而其可擴展的地址空間為空間為64 KB。 整個程序存儲器可以分為片內和片外兩部分。整個程序存儲器可以分為片內和片外兩部分。CPU訪問片內和片外存儲器,可由訪問片內和片外存儲器,可由EA引腳所接的電平來確定:引腳所接的電平來確定: MCS-51系列單片機硬件結構EA引腳接高電平時,程序從片內程序存儲器引腳接高電平時,程序從片內程序存儲器0000H開始執行,即訪問片內存儲器;當開始執行,即訪問片內存儲器;當PC值超出片內值超出片內ROM容量容量時,會自動轉向片外程序存儲器空間執行。時,會自動轉向片外

57、程序存儲器空間執行。 EA引腳接低電平時,迫使系統全部執行片外程序存儲器引腳接低電平時,迫使系統全部執行片外程序存儲器0000H開始存放的程序。開始存放的程序。 對于片內無對于片內無ROM的的80C31/80C32單片機,應將單片機,應將EA引腳固引腳固定接低電平,以迫使系統全部執行片外程序存儲器程序。定接低電平,以迫使系統全部執行片外程序存儲器程序。 程序存儲器的某些單元被保留用于特定的程序入口地址。程序存儲器的某些單元被保留用于特定的程序入口地址。 由于系統復位后的由于系統復位后的PC地址為地址為0000H,故系統從,故系統從0000H單單元開始取指,執行程序。從元開始取指,執行程序。從0

58、003H002DH單元被保留用于單元被保留用于6個中斷源的中斷服務程序的入口地址。個中斷源的中斷服務程序的入口地址。MCS-51系列單片機硬件結構以下以下7個特定地址被保留:個特定地址被保留: 復位復位0000H 外部中斷外部中斷0 0003H 計時器計時器T0溢出溢出 000BH 外部中斷外部中斷1 0013H 計時器計時器T1溢出溢出 001BH 串行口中斷串行口中斷 0023H 計時器計時器 T2/T2EX 002BH 在程序設計時,通常在這些中斷入口處設置無條件轉移指在程序設計時,通常在這些中斷入口處設置無條件轉移指令,使之轉向對應的中斷服務程序段處執行。令,使之轉向對應的中斷服務程序

59、段處執行。MCS-51系列單片機硬件結構 片內程序存儲器為只讀存儲器片內程序存儲器為只讀存儲器ROM。 存儲器的類型有:掩膜存儲器的類型有:掩膜ROM、OTP(一次性編程)(一次性編程)ROM和和MTP(多次編程)(多次編程)ROM(包括(包括EPROM及及E2PROM等)。等)。 在在87C51中為中為4 KB的可編程、可改寫的只讀存儲器是的可編程、可改寫的只讀存儲器是EPROM;在;在89C51中為中為4 KB的可編程、可改寫的只讀存儲的可編程、可改寫的只讀存儲器是器是EEPROM;而;而80C31片內沒有程序存儲器,使用時必片內沒有程序存儲器,使用時必須由片外進行擴展。須由片外進行擴展。

60、 由于芯片內集成技術的提高,片內程序存儲器的容量做由于芯片內集成技術的提高,片內程序存儲器的容量做得越來越大,目前已達到得越來越大,目前已達到 62 KB。一般應用系統中,已經。一般應用系統中,已經沒有必要進行片外程序存儲器的擴展。沒有必要進行片外程序存儲器的擴展。MCS-51系列單片機硬件結構數據存儲器(數據存儲器(data memory)由隨機存取存儲器)由隨機存取存儲器RAM構成,用來存放隨機數據。構成,用來存放隨機數據。 在在MCS51中,數據存儲器又分片內數據存儲器中,數據存儲器又分片內數據存儲器(internal data memory)和片外數據存儲器()和片外數據存儲器(ext

溫馨提示

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

評論

0/150

提交評論