第二章單片微機(jī)的基本結(jié)構(gòu)_第1頁
第二章單片微機(jī)的基本結(jié)構(gòu)_第2頁
第二章單片微機(jī)的基本結(jié)構(gòu)_第3頁
第二章單片微機(jī)的基本結(jié)構(gòu)_第4頁
第二章單片微機(jī)的基本結(jié)構(gòu)_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第二章單片微機(jī)的基本結(jié)構(gòu)第1頁,課件共73頁,創(chuàng)作于2023年2月2-180C51單片微機(jī)的內(nèi)部結(jié)構(gòu)

微型計(jì)算機(jī)的基本組成有三部分,即中央處理器CPU(通常包括運(yùn)算器和控制器)+存儲器+輸入/輸出(I/O)接口。若將組成計(jì)算機(jī)的基本部件集成在一塊芯片上,則俗稱為單片微機(jī)。 80C51內(nèi)部結(jié)構(gòu)如圖2-1所示,主要包括中央處理器CPU(算術(shù)邏輯部件ALU、控制器等)只讀存儲器ROM、隨機(jī)存取存儲器RAM定時器/計(jì)數(shù)器并行I/O口P0~P3串行口中斷系統(tǒng)以及定時控制邏輯電路等。第2頁,課件共73頁,創(chuàng)作于2023年2月1.中央處理器

單片微機(jī)中的中央處理器(CPU)是單片微機(jī)的核心,主要完成運(yùn)算和控制功能,又增設(shè)了“面向控制”的處理功能,增強(qiáng)了實(shí)時性。

2.程序存儲器根據(jù)內(nèi)部是否帶有程序存儲器而形成四種型號:內(nèi)部沒有程序存儲器的稱80C31內(nèi)部帶ROM的稱80C51內(nèi)部以EPROM代替ROM的稱87C51內(nèi)部以EEPROM代替ROM的稱89C51第3頁,課件共73頁,創(chuàng)作于2023年2月

目前單片微機(jī)的程序存儲器有以下幾種結(jié)構(gòu)形式:⑴片內(nèi)只讀存儲器片內(nèi)掩膜ROM的特點(diǎn)是程序必須在制作單片微機(jī)時寫入。⑵片內(nèi)可編程的ROM

可直接由用戶進(jìn)行編程。紫外線可擦除型ROM-EPROM型單片微機(jī)(如87C51)。EPROM需用紫外線擦除,必須脫機(jī)固化,不能在線改寫。電可擦除型ROM——EEPROM,稱為Flash單片微機(jī)(如89C51)。EPROM和EEPROM都是可以多次擦除和編程的,或稱MTP的ROM。第4頁,課件共73頁,創(chuàng)作于2023年2月·OTP的ROM,僅允許用戶一次編程。⑶片外只讀存儲器利用單片微機(jī)的并行擴(kuò)展技術(shù)可以外擴(kuò)片外只讀存儲器。3.數(shù)據(jù)存儲器(RAM)在單片微機(jī)中,用隨機(jī)存取存儲器(RAM)來存儲程序在運(yùn)行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲器。一般在單片微機(jī)內(nèi)部設(shè)置一定容量(64B至384B)的RAM。這樣,小容量的數(shù)據(jù)存儲器以高速RAM的形式集成在單片微機(jī)內(nèi),以加快單片微機(jī)運(yùn)行的速度,還可以使存儲器的功耗下降很多。第5頁,課件共73頁,創(chuàng)作于2023年2月

在單片微機(jī)中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內(nèi)RAM空間中,所以可將單片微機(jī)內(nèi)部RAM看成是寄存器堆,有利于提高運(yùn)行速度。當(dāng)內(nèi)部RAM容量不夠時,還可通過串行總線或并行總線外擴(kuò)數(shù)據(jù)存儲器。

4.并行I/O口

單片微機(jī)往往提供了許多功能強(qiáng)、使用靈活的并行輸入/輸出引腳,用于檢測與控制。有些I/O引腳還具有多種功能,比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制總線的控制線等。單片微機(jī)I/O引腳的驅(qū)動能力也逐漸增大,甚至可以直接驅(qū)動外擴(kuò)的LED顯示器。第6頁,課件共73頁,創(chuàng)作于2023年2月5.串行I/O口

目前高檔8位單片微機(jī)均設(shè)置了全雙工串行I/O口,用以實(shí)現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個單片微機(jī)相連構(gòu)成多機(jī)系統(tǒng)。隨著應(yīng)用的拓寬,有些型號的單片微機(jī)內(nèi)部還包含有二個串行I/O口。

6.定時器/計(jì)數(shù)器

在單片微機(jī)的實(shí)際應(yīng)用中,往往需要精確的定時,或者需對外部事件進(jìn)行計(jì)數(shù)。為了減少軟件開銷和提高單片微機(jī)的實(shí)時控制能力,因而均在單片微機(jī)內(nèi)部設(shè)置定時器/計(jì)數(shù)器電路。80C51共有二個16位的定時器/計(jì)數(shù)器,80C52則有三個16位的定時器/計(jì)數(shù)器。

第7頁,課件共73頁,創(chuàng)作于2023年2月7.中斷系統(tǒng)

80C51單片微機(jī)的中斷功能較強(qiáng),具有內(nèi)、外共五個中斷源,二個中斷優(yōu)先級。

8.定時電路及元件

計(jì)算機(jī)的整個工作是在時鐘信號的驅(qū)動下,按照嚴(yán)格的時序有規(guī)律地一個節(jié)拍一個節(jié)拍地執(zhí)行各種操作。單片微機(jī)內(nèi)部設(shè)有定時電路,只需外接振蕩元件即可工作。外接振蕩元件一般選用晶體振蕩器,或用價廉的RC振蕩器,也可用外部時鐘源,作為振蕩元件。近來有的單片微機(jī)將振蕩元件也集成在芯片內(nèi)部。第8頁,課件共73頁,創(chuàng)作于2023年2月2-280C51單片機(jī)的引腳及其功能

80C51有40引腳雙列直插(DIP)、44引腳(PLCC)和44引腳(PQFP/TQFP)封裝形式。80C51/80C52的封裝及邏輯圖如圖2-2所示。在某些場合,不需通過并行總線擴(kuò)展芯片,這時常采用20引腳雙列直插(DIP)甚至僅14引腳的單片微機(jī),如ATMEL公司的1051/2051/4051單片微機(jī)等,或PHILIPS公司的P87LPC764單片微機(jī)。他們的封裝及引腳見圖2–3。第9頁,課件共73頁,創(chuàng)作于2023年2月按引腳的功能可分為三部分:

1.電源和晶振: Vcc——運(yùn)行和程序校驗(yàn)時接電源正端。Vss——接地。XTAL1——輸入到單片機(jī)內(nèi)部振蕩器的反相放大器。當(dāng)采用外部振蕩器時,對HMOS單片微機(jī),此引腳應(yīng)接地;對CHMOS單片微機(jī),此引腳作驅(qū)動端。 XTAL2——反相放大器的輸出,輸入到內(nèi)部時鐘發(fā)生器。采用外部時鐘時,XTAL1和XTAL2的連接方法如圖2-20所示第10頁,課件共73頁,創(chuàng)作于2023年2月2.I/O:共4個口,32根I/O線P0——8位、漏極開路的雙向I/O口。當(dāng)使用片外存儲器(ROM及RAM)時,作低八位地址和數(shù)據(jù)總線分時復(fù)用(AD0-AD7)。P0口(作為總線時)能驅(qū)動8個LSTTL負(fù)載。P1——8位、準(zhǔn)雙向I/O口。在編程/校驗(yàn)期間,用做輸入低位字節(jié)地址。P1口可以驅(qū)動4個LSTTL負(fù)載。對于80C52,P1.0——T2,是定時器2的計(jì)數(shù)輸入端; P1.1——T2EX,是定時器2的外部輸入端。第11頁,課件共73頁,創(chuàng)作于2023年2月P2——8位、準(zhǔn)雙向I/O口。當(dāng)使用片外存儲器(ROM及RAM)時,輸出高8位地址(A15-A7)。在編程/校驗(yàn)期間,接收高位字節(jié)地址。P2口可以驅(qū)動4個LSTTL負(fù)載。P3——8位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路。P3提供各種復(fù)用功能。在提供這些功能時,其輸出鎖存器應(yīng)由程序置1。P3口可以輸入/輸出4個LSTTL負(fù)載。P3口的復(fù)用功能:

串行口:P3.0——RXD串行輸入口。P3.1——TXD串行輸出口。第12頁,課件共73頁,創(chuàng)作于2023年2月

中斷:P3.2——外部中斷0輸入。P3.3——外部中斷1輸入。定時器/計(jì)數(shù)器:P3.4——定時器/計(jì)數(shù)器T0的外部輸入。P3.5——定時器/計(jì)數(shù)器T1的外部輸入。

數(shù)據(jù)存儲器選通:P3.6——WR低電平有效,輸出,片外存儲器寫選通。P3.7——RD低電平有效,輸出,片外存儲器讀選通。第13頁,課件共73頁,創(chuàng)作于2023年2月3.控制線:共4根。RST——復(fù)位輸入信號,高電平有效。在振蕩器工作時,在RST上作用兩個機(jī)器周期以上的高電平,將器件復(fù)位。EA/Vpp——片外程序存儲器訪問允許信號,低電平有效。EA=1,選擇片內(nèi)程序存儲器(80C51為4KB,80C52為8KB);EA=0,則程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。對8751,EA/Vpp用于在編程時輸入21V的編程電壓。ALE/PROG——地址鎖存允許信號,輸出。在訪問片外存儲器或I/O時,用于鎖存低八位地址,以實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。在不訪問片外存儲器時,8051自動在該引腳上輸出頻率為fosc/6的脈沖序列。對8751,該引腳用于在編程時,傳送52ms寬的負(fù)脈沖。第14頁,課件共73頁,創(chuàng)作于2023年2月ALE可以驅(qū)動8個LSTTL負(fù)載。PSEN——片外程序存儲器讀選通信號,低電平有效。在從片外程序存儲器取指期間,在每個機(jī)器周期中,當(dāng)PSEN有效時,程序存儲器的內(nèi)容被送上P0口(數(shù)據(jù)總線)??梢则?qū)動8個LSTTL負(fù)載。第15頁,課件共73頁,創(chuàng)作于2023年2月2-3

80C51CPU的結(jié)構(gòu)和特點(diǎn)

中央處理器CPU是單片微機(jī)內(nèi)部的核心部件,主要包括:控制器運(yùn)算器和工作寄存器時序電路第16頁,課件共73頁,創(chuàng)作于2023年2月2-3-1控制器控制器是識別指令,并根據(jù)指令性質(zhì)控制計(jì)算機(jī)各組成部件進(jìn)行工作的部件,與運(yùn)算器一起構(gòu)成中央處理器。在80C51單片機(jī)中,控制器包括:圖2-1程序計(jì)數(shù)器PC數(shù)據(jù)指針DPTR程序地址寄存器指令寄存器IR指令譯碼器條件轉(zhuǎn)移邏輯電路定時控制邏輯電路其功能是控制指令的讀出、譯碼和執(zhí)行,對指令的執(zhí)行過程進(jìn)行定時控制,并根據(jù)執(zhí)行結(jié)果決定是否分支轉(zhuǎn)移。

第17頁,課件共73頁,創(chuàng)作于2023年2月1.程序計(jì)數(shù)器PC

程序計(jì)數(shù)器PC(ProgramCounter)是一個獨(dú)立的計(jì)數(shù)器,不屬于內(nèi)部的特殊功能寄存器。PC中存放的是下一條將要從程序存儲器中取出的指令的地址。其基本的工作過程是:讀指令時,程序計(jì)數(shù)器PC將其中的數(shù)作為所取指令的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計(jì)數(shù)器PC本身自動加1,指向下一條指令地址。

第18頁,課件共73頁,創(chuàng)作于2023年2月程序計(jì)數(shù)器PC變化的軌跡決定程序的流程。

在執(zhí)行條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時,程序計(jì)數(shù)器將被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。在執(zhí)行調(diào)用指令或響應(yīng)中斷時,將子程序的入口地址或者中斷矢量地址送入PC,程序流向發(fā)生變化。2.數(shù)據(jù)指針DPTR

DPTR是一個16位的特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲器或I/O尋址用的地址寄存器(間接尋址),故稱為數(shù)據(jù)存儲器地址指針。訪問片外數(shù)據(jù)存儲器或I/O的指令為:MOVXA,@DPTR讀MOVX@DPTR,A寫第19頁,課件共73頁,創(chuàng)作于2023年2月DPTR寄存器也可以作為訪問程序存儲器時的基址寄存器。這時尋址程序存儲器中的表格、常數(shù)等單元,而不是尋址指令。MOVC A,@A+DPTRJMP @A+DPTRDPTR寄存器既可以作為一個16位寄存器處理,也可以作為兩個8位寄存器處理,其高8位用DPH表示,低8位用DPL表示。3.指令寄存器IR、指令譯碼器及控制邏輯

指令寄存器IR是用來存放指令操作碼的專用寄存器。執(zhí)行程序時,首先進(jìn)行程序存儲器的讀操作,也就是根據(jù)程序計(jì)數(shù)器給出的地址從程序存儲器中取出指令,送指令寄存器IR,IR的輸出送指令譯碼器;然后由指令譯碼器對該指令進(jìn)行譯碼,譯碼結(jié)果送定時控制邏輯電路,如圖2-4所示。第20頁,課件共73頁,創(chuàng)作于2023年2月

定時控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時控制信號,控制計(jì)算機(jī)的各組成部件進(jìn)行相應(yīng) 的工作,執(zhí)行指令。 條件轉(zhuǎn)移邏輯電路主要用來控制程序的分支轉(zhuǎn)移在80C51中,轉(zhuǎn)移條件也可分為兩部分。一部分是內(nèi)部條件,即程序狀態(tài)標(biāo)志位(PSW)和累加器的零狀態(tài)。另一部分是外部條件,即F0和所有位尋址空間的狀態(tài)。第21頁,課件共73頁,創(chuàng)作于2023年2月2-3-2運(yùn)算器

運(yùn)算器主要用來實(shí)現(xiàn)對操作數(shù)的算術(shù)邏輯運(yùn)算和位操作。算術(shù)邏輯運(yùn)算單元ALU累加器ACC(A)暫存寄存器B寄存器程序狀態(tài)標(biāo)志寄存器PSWBCD碼運(yùn)算修正電路。第22頁,課件共73頁,創(chuàng)作于2023年2月1、ALUALU實(shí)質(zhì)上是全加器,結(jié)構(gòu)參見圖2-5。ALU有兩個輸入:⑴通過暫存器1的輸入:輸入數(shù)據(jù)來自寄存器、直接尋址單元(含I/O口)、內(nèi)部RAM、寄存器B或是立即數(shù)。⑵通過暫存器2或累加器ACC的輸入:通過暫存器2的運(yùn)算的指令有ANLdirect,#data、ORLdirect,#data、XRLdirect,#data。其它的運(yùn)算,其輸入之一大多數(shù)也要通過累加器ACC。

ALU有兩個輸出:

⑴數(shù)據(jù)經(jīng)過運(yùn)算后,其結(jié)果又通過內(nèi)部總線送回到累加器中;⑵數(shù)據(jù)運(yùn)算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字PSW。

第23頁,課件共73頁,創(chuàng)作于2023年2月2.

累加器A累加器A是CPU中使用最頻繁的一個八位專用寄存器,簡稱ACC或A寄存器。主要功能:累加器A存放操作數(shù),是ALU單元的輸入之一,也是ALU運(yùn)算結(jié)果的暫存單元。由于累加器的“瓶頸”作用制約著單片微機(jī)運(yùn)算速度的提高,人們又推出寄存器陣列來代替累加器,賦予更多寄存器以累加器功能,形成了多累加器結(jié)構(gòu),比如Inter公司的MCS-96系列中的8098十六位單片微機(jī)。第24頁,課件共73頁,創(chuàng)作于2023年2月3.B寄存器

B寄存器在乘法和除法指令中作為ALU的輸入之一。乘法中,ALU的兩個輸入分別為A、B,運(yùn)算結(jié)果存放在AB寄存器對中,A中放積的低8位,B中放積的高8位。除法中,被除數(shù)取自A,除數(shù)取自B,商數(shù)存放于A,余數(shù)存放于B。在其它情況下,B寄存器可以作為內(nèi)部RAM中的一個單元來使用。

4.程序狀態(tài)字PSW

程序狀態(tài)字PSW(ProgramStatusWord)是一個逐位定義的8位寄存器,其內(nèi)容的主 要部分是算術(shù)邏輯運(yùn)算單元(ALU)的輸出。其中有些位是根據(jù)指令執(zhí)行結(jié)果,由硬件自動生成,而有些位狀態(tài)可用軟件方法設(shè)定。第25頁,課件共73頁,創(chuàng)作于2023年2月一些條件轉(zhuǎn)移指令就是根據(jù)PSW中的相關(guān)標(biāo)志位的狀態(tài),來實(shí)現(xiàn)程序的條件轉(zhuǎn)移。它是一個程序可訪問的寄存器,而且可以按位訪問。

其中,除PSW.1(保留位)、RS1和RS0(工作寄存器組選擇控制位)及用戶標(biāo)志F0之外,其他四位:奇偶校驗(yàn)位P、溢出標(biāo)志位OV、輔助進(jìn)位標(biāo)志位AC及進(jìn)位標(biāo)志位CY都是ALU運(yùn)算結(jié)果的直接輸出。P(PSW.0)-奇偶標(biāo)志位。 每個指令周期都由硬件來置位或清除。用以表示累加器A中值為1的個數(shù)的奇偶性:若累加器值為1的位數(shù)是奇數(shù),P置位(奇校驗(yàn));否則P清除(偶校驗(yàn))。CYACF0RS1RS0OV-P第26頁,課件共73頁,創(chuàng)作于2023年2月

在串行通信中,常以傳送奇偶校驗(yàn)位來檢驗(yàn)傳輸數(shù)據(jù)的可靠性。通常將P置入串行幀中的奇偶校驗(yàn)位。OV(PSW.2)-溢出標(biāo)志位。當(dāng)執(zhí)行運(yùn)算指令時,由硬件置位或清除,以指示運(yùn)算是否產(chǎn)生溢出,OV置位表示運(yùn)算結(jié)果超出了目的寄存器A所能表示的帶符號數(shù)的范圍(一128~+127)。若以Ci表示位i向位i+l有進(jìn)位,則OV=C6⊕C7;當(dāng)位6向位7有進(jìn)位(借位)而位7不向CY進(jìn)位(借位)時;或當(dāng)位7向C進(jìn)位(借位)而位6不向位7進(jìn)位(借位)時OV標(biāo)志置位,表示帶符號數(shù)運(yùn)算時運(yùn)算結(jié)果是錯誤的;否則,清除OV標(biāo)志,運(yùn)算個結(jié)果正確。第27頁,課件共73頁,創(chuàng)作于2023年2月

對于MUL乘法,當(dāng)A、B兩個乘數(shù)的積超過255時OV置位;否則,OV=0。因此,若OV=0時,只需從A寄存器中取積;若OV=1時,則需從B、A寄存器對中取積。對于DIV除法,若除數(shù)為0時,OV=1;否則,OV=0。

RS1、RS0(PSW.4、PSW.3)-工作寄存器組選擇位 用于設(shè)定當(dāng)前工作寄存器的組號。工作寄存器共有四組,其對應(yīng)關(guān)系見表2–1

AC(PSW.6)-輔助進(jìn)位標(biāo)志位。 當(dāng)進(jìn)行加法或減法運(yùn)算時,若低4位向高4位數(shù)發(fā)生進(jìn)位或借位時AC將被硬件置位; 否則,被清除。 在十進(jìn)制調(diào)整指令DA中要用到AC標(biāo)志位狀態(tài)。第28頁,課件共73頁,創(chuàng)作于2023年2月

CY(PSW.7)-進(jìn)位標(biāo)志位。 在進(jìn)行算術(shù)運(yùn)算時,可以被硬件置位或清除,以表示運(yùn)算結(jié)果中高位是否有進(jìn)位或借位。在布爾處理機(jī)中CY被認(rèn)為是位累加器。

F0(PSW.5)-用戶標(biāo)志位。 開機(jī)時該位為“0”。用戶可根據(jù)需要,通過位操作指令置“l(fā)”或者清“0”。第29頁,課件共73頁,創(chuàng)作于2023年2月2-3-3時鐘電路及CPU的工作時序

時鐘電路用于產(chǎn)生單片微機(jī)工作所需要的時鐘信號。時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片微機(jī)本身就如一個復(fù)雜的同步時序電路。第30頁,課件共73頁,創(chuàng)作于2023年2月

1.

時鐘電路

在80C51內(nèi)帶有時鐘電路,只需要在片外通過XTALI和XTAL2引腳接入定時控制元件(晶體振蕩器和電容),即可構(gòu)成一個穩(wěn)定的自激振蕩器。在80C51芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容。80C51的時鐘電路如圖2–6所示。由圖可見,時鐘電路由下列幾部分組成:振蕩器及定時控制元件、時鐘發(fā)生器、地址鎖存允許信號ALE。

振蕩器及定時控制元件在80C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。第31頁,課件共73頁,創(chuàng)作于2023年2月只需要在片外通過XTAL1和XTAL2引腳跨接晶體振蕩器和微調(diào)電容,形成反饋電路,振蕩器即可工作(皮爾斯振蕩器)。振蕩器的結(jié)構(gòu)和振蕩電路原理如圖2-7所示。振蕩器的工作可以由PD位(特殊功能寄存器PCON中的一位)控制。當(dāng)PD置1時,振蕩器停止工作,系統(tǒng)進(jìn)入低功耗工作狀態(tài)。 振蕩器的工作頻率一般在1.2~12MHz之間,由于制造工藝的改進(jìn),有些單片微機(jī)的頻率范圍正向兩端延伸,高端可達(dá)40MHZ,低端可達(dá)0Hz。

第32頁,課件共73頁,創(chuàng)作于2023年2月

內(nèi)部時鐘發(fā)生器 內(nèi)部時鐘發(fā)生器實(shí)質(zhì)上是一個2分頻的觸發(fā)器。其輸入由振蕩器引入的,輸出為兩個節(jié)拍的時鐘信號。輸出的前半周期,節(jié)拍1(P1)信號有效;后半周期,節(jié)拍2(P2)信號有效。每個輸出周期為一個計(jì)算機(jī)CPU的狀態(tài)周期,即時鐘發(fā)生器的輸出為狀態(tài)時鐘。每個狀態(tài)周期內(nèi)包括一個P1節(jié)拍和一個P2節(jié)拍,形成CPU內(nèi)的基本定時時鐘。

ALE信號一般地說,狀態(tài)時鐘經(jīng)過3分頻之后,產(chǎn)生ALE引腳上的信號輸出。

第33頁,課件共73頁,創(chuàng)作于2023年2月2﹒時序定時單位

單片微機(jī)執(zhí)行指令是在時序電路的控制下一步一步進(jìn)行的。時序是用定時單位來說明的。80C51的時序定時單位共有4個:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍P把振蕩脈沖的周期稱為節(jié)拍。(2)

狀態(tài)S一個狀態(tài)S包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫P1,后半周期對應(yīng)的節(jié)拍叫P2(3)

機(jī)器周期

80C51采用定時控制方式,因此它有固定的機(jī)器周期。第34頁,課件共73頁,創(chuàng)作于2023年2月規(guī)定一個機(jī)器周期的寬度為6個狀態(tài),并依次表示為S1~S6。由于一個機(jī)器周期共有12個振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的12分頻。當(dāng)振蕩脈沖頻率為12MHZ時,一個機(jī)器周期為lμS;當(dāng)振蕩脈沖頻率為6MHZ時,一個機(jī)器周期為2μS。機(jī)器周期是單片微機(jī)的最小時間單位。(4)

指令周期 執(zhí)行一條指令所需要的時間稱為指令周期。它是最大的時序定時單位。80C51的指令周期根據(jù)指令的不同,可包含有一、二、三、四個機(jī)器周期。當(dāng)振蕩脈沖頻率為12MHZ時,80C51的一條指令執(zhí)行的時間最短為lμS,最長為4μS。第35頁,課件共73頁,創(chuàng)作于2023年2月3.80C51指令時序

80C51共有111條指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。MCS51的指令通常可以分為單周期、雙周期和四周期指令三種,只有乘、除法指令為四周期,其余為單周期和雙周期指令。圖2-8所表示的是幾種典型單機(jī)器周期和雙機(jī)器周期指令的時序。

單機(jī)器周期指令,如圖2-8(a)、(b)所示。

雙機(jī)器周期指令,如圖2-8(c)、(d)所示。第36頁,課件共73頁,創(chuàng)作于2023年2月(1)單字節(jié)單周期指令(例如INCA)只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€ALE有效時,由于PC沒有加1,所以讀出的還是原指令。(2)雙字節(jié)單周期指令(例如ADDA,#data)ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第二次是讀指令第二字節(jié)。(3)單字節(jié)雙周期指令(例如INCDPTR)兩個機(jī)器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀操作全是無效的。(4)單字節(jié)雙周期指令(例如MOVX類指令)MOVX類指令情況有所不同。因?yàn)閳?zhí)行這類指令時,先在ROM讀取指令,然后對外部RAM進(jìn)行讀/寫操作。第一機(jī)器周期時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無效。第二周期時,進(jìn)行外部RAM訪問,此時與ALE信號無關(guān),因此不產(chǎn)生讀指令操作。第37頁,課件共73頁,創(chuàng)作于2023年2月

2.4存儲器結(jié)構(gòu)和地址空間

單片微機(jī)的存儲器有兩種基本結(jié)構(gòu):一種是在通用微型計(jì)算機(jī)中廣泛采用的將程序和數(shù)據(jù)合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓(Princeton)結(jié)構(gòu);另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(Harvard)結(jié)構(gòu)。Intel的MCS-51和80C51系列單片微機(jī)采用哈佛結(jié)構(gòu)。圖2–9為80C51單片微機(jī)存儲器映象圖。

在物理上設(shè)有4個存儲器空間·程序存儲器: 片內(nèi)程序存儲器; 片外程序存儲器?!?shù)據(jù)存儲器: 片內(nèi)數(shù)據(jù)存儲器;

片外數(shù)據(jù)存儲器。第38頁,課件共73頁,創(chuàng)作于2023年2月

在邏輯上設(shè)有3個存儲器地址空間片內(nèi)、片外統(tǒng)一的64KB程序存儲器地址空間;片內(nèi)256(80C527為384)B數(shù)據(jù)存儲器地址空間;片外64KB的數(shù)據(jù)存儲器地址空間。 在訪問這3個不同的邏輯空間時,應(yīng)選用不同形式的指令。 片內(nèi)數(shù)據(jù)存儲器空間,在物理上又包含兩部分: 對于80C51型單片微機(jī),從0~127B為片內(nèi)數(shù)據(jù)存儲器空間;從128~256B為特殊功能寄存器(SFR)空間(僅占用20多個字節(jié))。 對于80C52型單片微機(jī),從0~127B為片內(nèi)數(shù)據(jù)存儲器空間;從128~256B共128個字節(jié)是數(shù)據(jù)存儲器和特殊功能寄存器地址重疊空間。第39頁,課件共73頁,創(chuàng)作于2023年2月80C51有三種基本的尋址空間:64KB的片內(nèi)、外程序存儲器尋址空間;64KB的片外數(shù)據(jù)存儲器尋址空間;256(或384)B的片內(nèi)數(shù)據(jù)存儲器尋址空間,其中包括特殊功能寄存器尋址空間。

第40頁,課件共73頁,創(chuàng)作于2023年2月2-4-l程序存儲器

80C51單片微機(jī)的程序存儲器(programmemory)用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用16位的程序計(jì)數(shù)器PC和16位的地址總線,因而其可擴(kuò)展的地址空間為64KB。⒈整個程序存儲器可以分為片內(nèi)和片外兩部分。CPU訪問片內(nèi)和片外存儲器,可由EA引腳所接的電平來確定:第41頁,課件共73頁,創(chuàng)作于2023年2月 EA引腳接高電平時,程序從片內(nèi)程序存儲器0000H開始執(zhí)行,即訪問片內(nèi)存儲器;當(dāng)PC值超出片內(nèi)ROM容量時,會自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行。EA引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器0000H開始存放的程序。對于片內(nèi)無ROM的80C31/80C32單片機(jī),應(yīng)將EA引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。⒉程序存儲器的某些單元被保留用于特定的程序入口地址。

由于系統(tǒng)復(fù)位后的PC地址為0000H,故系統(tǒng)從0000H單元開始取指,執(zhí)行程序。從0003H~002DH單元被保留用于6個中斷源的中斷服務(wù)程序的入口地址。第42頁,課件共73頁,創(chuàng)作于2023年2月以下7個特定地址被保留:復(fù)位 0000H外部中斷0 0003H計(jì)時器T0溢出 000BH外部中斷1 0013H計(jì)時器T1溢出 001BH串行口中斷 0023H計(jì)時器T2/T2EX 002BH在程序設(shè)計(jì)時,通常在這些中斷入口處設(shè)置無條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。第43頁,課件共73頁,創(chuàng)作于2023年2月⒊片內(nèi)程序存儲器為只讀存儲器ROM。

存儲器的類型有:掩膜ROM、OTP(一次性編程)ROM和MTP(多次編程)ROM(包括EPROM及E2PROM等)。在87C51中為4KB的可編程、可改寫的只讀存儲器是EPROM;在89C51中為4KB的可編程、可改寫的只讀存儲器是EEPROM;而80C31片內(nèi)沒有程序存儲器,使用時必須由片外進(jìn)行擴(kuò)展。由于芯片內(nèi)集成技術(shù)的提高,片內(nèi)程序存儲器的容量做得越來越大,目前已達(dá)到62KB。一般應(yīng)用系統(tǒng)中,已經(jīng)沒有必要進(jìn)行片外程序存儲器的擴(kuò)展。第44頁,課件共73頁,創(chuàng)作于2023年2月圖2–180C51的內(nèi)部結(jié)構(gòu)圖

第45頁,課件共73頁,創(chuàng)作于2023年2月圖2–280C51/80C52的封裝及邏輯圖

第46頁,課件共73頁,創(chuàng)作于2023年2月圖2–3非總線型單片微機(jī)引腳示意圖

第47頁,課件共73頁,創(chuàng)作于2023年2月圖2–4指令寄存器和指令譯碼器

第48頁,課件共73頁,創(chuàng)作于2023年2月圖2–5

算術(shù)邏輯運(yùn)算單元ALU

第49頁,課件共73頁,創(chuàng)作于2023年2月圖2–6

80C51單片微機(jī)的時鐘電路

2第50頁,課件共73頁,創(chuàng)作于202

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論