第二章 基本結(jié)構(gòu)_第1頁(yè)
第二章 基本結(jié)構(gòu)_第2頁(yè)
第二章 基本結(jié)構(gòu)_第3頁(yè)
第二章 基本結(jié)構(gòu)_第4頁(yè)
第二章 基本結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩101頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2022-6-71共105頁(yè)第二章第二章 單片機(jī)的基本結(jié)構(gòu)單片機(jī)的基本結(jié)構(gòu)2022-6-72共105頁(yè) 微型計(jì)算機(jī)的基本組成微型計(jì)算機(jī)的基本組成CPU+存儲(chǔ)器存儲(chǔ)器+I/O 接口。若將組成計(jì)算接口。若將組成計(jì)算機(jī)的基本部件集成在一塊芯片上,則俗稱為單片機(jī)。機(jī)的基本部件集成在一塊芯片上,則俗稱為單片機(jī)。 8051框圖如圖框圖如圖2-1所示,內(nèi)部結(jié)構(gòu)如圖所示,內(nèi)部結(jié)構(gòu)如圖2-2所示。所示。u一個(gè)一個(gè)8位中央處理機(jī)位中央處理機(jī)CPU。u128個(gè)字節(jié)(個(gè)字節(jié)(MCS-52為為256字節(jié))的片內(nèi)數(shù)據(jù)存儲(chǔ)器字節(jié))的片內(nèi)數(shù)據(jù)存儲(chǔ)器RAM。u4KB(MCS-52為為8 KB)的片內(nèi)程序只讀存儲(chǔ)器)的片內(nèi)程序只

2、讀存儲(chǔ)器ROM或或EPROM(8031和和8032無(wú))。無(wú))。u21個(gè)(個(gè)(MCS-52為為26個(gè))特殊功能寄存器個(gè))特殊功能寄存器SFR。 u4個(gè)個(gè)8位并行輸入輸出位并行輸入輸出I/O接口:接口:P0口、口、 P1口、口、 P2口、口、 P3口??凇1個(gè)串行個(gè)串行I/O接口。接口。 u2個(gè)(個(gè)(MCS-52為為3個(gè))個(gè))16位定時(shí)器位定時(shí)器/計(jì)數(shù)器。計(jì)數(shù)器。 u1個(gè)具有個(gè)具有5個(gè)(個(gè)(MCS52為為6個(gè)或個(gè)或7個(gè))中斷源,可編程為個(gè))中斷源,可編程為2個(gè)優(yōu)先個(gè)優(yōu)先級(jí)的中斷系統(tǒng)。它可以接收外部中斷申請(qǐng),定時(shí)器級(jí)的中斷系統(tǒng)。它可以接收外部中斷申請(qǐng),定時(shí)器/計(jì)數(shù)器中斷申請(qǐng)計(jì)數(shù)器中斷申請(qǐng)和串行口中

3、斷申請(qǐng)。和串行口中斷申請(qǐng)。 8051單片機(jī)的內(nèi)部結(jié)構(gòu)單片機(jī)的內(nèi)部結(jié)構(gòu) 2022-6-73共105頁(yè)芯片 功能種類ROMEPROMRAM定時(shí)器計(jì)數(shù)器I/O并行 串行中斷源8031 / /128B2*16位4*8位 1 58051 4KB /128B2*16位4*8位 1 58751 /4KB128B2*16位4*8位 1 58032 / / 256B3*16位4*8位 1 6805212KB /256B3*16位4*8位 1 68752 / 8KB256B3*16位4*8位 1 62022-6-74共105頁(yè)2022-6-75共105頁(yè)2022-6-76共105頁(yè) 這些部件通過(guò)內(nèi)部總線連接起來(lái),

4、基本結(jié)構(gòu)仍然是通這些部件通過(guò)內(nèi)部總線連接起來(lái),基本結(jié)構(gòu)仍然是通用用CPU加上外圍芯片的結(jié)構(gòu)模式,但功能單元的控制上采加上外圍芯片的結(jié)構(gòu)模式,但功能單元的控制上采用了特殊功能寄存器用了特殊功能寄存器(SFR) 進(jìn)行集中控制的方法。進(jìn)行集中控制的方法。1.中央處理器中央處理器 中央處理器(中央處理器(CPU)是單片機(jī)的核心,主要完成運(yùn)算)是單片機(jī)的核心,主要完成運(yùn)算和控制功能,增設(shè)了和控制功能,增設(shè)了“面向控制面向控制”的處理功能,增強(qiáng)了實(shí)時(shí)的處理功能,增強(qiáng)了實(shí)時(shí)性。性。 2. 程序存儲(chǔ)器程序存儲(chǔ)器 根據(jù)內(nèi)部是否帶有程序存儲(chǔ)器而形成不同型號(hào):內(nèi)部沒(méi)根據(jù)內(nèi)部是否帶有程序存儲(chǔ)器而形成不同型號(hào):內(nèi)部沒(méi)有

5、程序存儲(chǔ)器的稱有程序存儲(chǔ)器的稱8031,內(nèi)部帶,內(nèi)部帶ROM的稱的稱8051,帶,帶EPROM的稱的稱8751。帶。帶EEPROM的稱的稱8951 。內(nèi)部部件介紹內(nèi)部部件介紹2022-6-77共105頁(yè)單片機(jī)的程序存儲(chǔ)器有以下幾種結(jié)構(gòu)形式:?jiǎn)纹瑱C(jī)的程序存儲(chǔ)器有以下幾種結(jié)構(gòu)形式: 片內(nèi)只讀存儲(chǔ)器片內(nèi)只讀存儲(chǔ)器 片內(nèi)掩膜片內(nèi)掩膜ROM的特點(diǎn)是程序必須在制作單片機(jī)時(shí)寫入,的特點(diǎn)是程序必須在制作單片機(jī)時(shí)寫入,一次性固化,用戶不能修改。這種結(jié)構(gòu)形式只適用于程序已一次性固化,用戶不能修改。這種結(jié)構(gòu)形式只適用于程序已成熟、定型,且批量很大的場(chǎng)合。并且只能在廠家定制完成。成熟、定型,且批量很大的場(chǎng)合。并且只能

6、在廠家定制完成。這種單片機(jī)的價(jià)格最便宜。這種單片機(jī)的價(jià)格最便宜。 片內(nèi)可編程的片內(nèi)可編程的ROM 片內(nèi)可編程的片內(nèi)可編程的ROM可直接由用戶進(jìn)行編程,因而用戶可直接由用戶進(jìn)行編程,因而用戶在實(shí)際應(yīng)用中甚感方便。一般有以下幾種:在實(shí)際應(yīng)用中甚感方便。一般有以下幾種: 紫外線可擦除型紫外線可擦除型ROMEPROM型單片機(jī)型單片機(jī) (如如87C51)。EPROM需用紫外線擦除,必須脫機(jī)固化,不能在線改寫。需用紫外線擦除,必須脫機(jī)固化,不能在線改寫。 2022-6-78共105頁(yè) 電可擦除型電可擦除型ROMEEPROM,隨著微電子技術(shù)的發(fā),隨著微電子技術(shù)的發(fā)展,已開始在單片機(jī)中采用,稱為展,已開始在單

7、片機(jī)中采用,稱為Flash單片機(jī)單片機(jī) (如如89C51)。電可擦除型電可擦除型ROM給用戶帶來(lái)了更大的方便,特別是應(yīng)用系統(tǒng)給用戶帶來(lái)了更大的方便,特別是應(yīng)用系統(tǒng)的現(xiàn)場(chǎng)調(diào)試。的現(xiàn)場(chǎng)調(diào)試。 EPROM和和EEPROM都是可以多次擦除和編程的,或稱都是可以多次擦除和編程的,或稱MTP的的ROM。 OTP的的 ROM,僅允許用戶一次編程。在應(yīng)用系統(tǒng)或智,僅允許用戶一次編程。在應(yīng)用系統(tǒng)或智能產(chǎn)品的小批量試生產(chǎn)時(shí)應(yīng)用,許多單片機(jī)廠家都提供該類能產(chǎn)品的小批量試生產(chǎn)時(shí)應(yīng)用,許多單片機(jī)廠家都提供該類產(chǎn)品。產(chǎn)品。 片外只讀存儲(chǔ)器片外只讀存儲(chǔ)器 由于受芯片集成度的限制,片內(nèi)只讀存儲(chǔ)器一般存儲(chǔ)由于受芯片集成度的限制

8、,片內(nèi)只讀存儲(chǔ)器一般存儲(chǔ)容量較小,給使用帶來(lái)不便。利用單片機(jī)的并行或串行擴(kuò)展容量較小,給使用帶來(lái)不便。利用單片機(jī)的并行或串行擴(kuò)展技術(shù)可以外擴(kuò)片外只讀存儲(chǔ)器。技術(shù)可以外擴(kuò)片外只讀存儲(chǔ)器。2022-6-79共105頁(yè)3. 數(shù)據(jù)存儲(chǔ)器(數(shù)據(jù)存儲(chǔ)器(RAM) 在單片機(jī)中,用隨機(jī)存取存儲(chǔ)器(在單片機(jī)中,用隨機(jī)存取存儲(chǔ)器(RAMRAM)來(lái)存儲(chǔ)程序)來(lái)存儲(chǔ)程序在運(yùn)行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲(chǔ)器。一在運(yùn)行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲(chǔ)器。一般在單片機(jī)內(nèi)部設(shè)置一定容量(般在單片機(jī)內(nèi)部設(shè)置一定容量(64 B64 B至至384B384B)的)的RAMRAM。這。這樣,小容量的數(shù)據(jù)存儲(chǔ)器以高速樣,

9、小容量的數(shù)據(jù)存儲(chǔ)器以高速RAMRAM的形式集成在單片機(jī)內(nèi),的形式集成在單片機(jī)內(nèi),以加快單片機(jī)運(yùn)行的速度。而且這種結(jié)構(gòu)的以加快單片機(jī)運(yùn)行的速度。而且這種結(jié)構(gòu)的RAMRAM還可以使存還可以使存儲(chǔ)器的功耗下降很多。儲(chǔ)器的功耗下降很多。 在單片機(jī)中,常把寄存器(如工作寄存器、特殊功能在單片機(jī)中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內(nèi)寄存器、堆棧等)在邏輯上劃分在片內(nèi)RAM空間中,所以空間中,所以可將單片機(jī)內(nèi)部可將單片機(jī)內(nèi)部RAM看成是寄存器堆,提高運(yùn)行速度??闯墒羌拇嫫鞫眩岣哌\(yùn)行速度。 當(dāng)內(nèi)部當(dāng)內(nèi)部RAM容量不夠時(shí),還可通過(guò)串行總線或并行總?cè)萘坎粔驎r(shí),還可通過(guò)串行總線或

10、并行總線外擴(kuò)數(shù)據(jù)存儲(chǔ)器。線外擴(kuò)數(shù)據(jù)存儲(chǔ)器。2022-6-710共105頁(yè) 4. 并行并行I/O口口 單片機(jī)往往提供了許多功能強(qiáng)、使用靈活的并行輸入單片機(jī)往往提供了許多功能強(qiáng)、使用靈活的并行輸入/輸輸出引腳,用于檢測(cè)與控制。有些出引腳,用于檢測(cè)與控制。有些I/O引腳還具有多種功能,引腳還具有多種功能,比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制總線的控制線等。單片機(jī)總線的控制線等。單片機(jī)I/O引腳的驅(qū)動(dòng)能力也逐漸增大,引腳的驅(qū)動(dòng)能力也逐漸增大,甚至可以直接驅(qū)動(dòng)外擴(kuò)的甚至可以直接驅(qū)動(dòng)外擴(kuò)的LED顯示器。顯示器。 2022-6-711共10

11、5頁(yè)5. 串行串行I/O口口 高檔高檔8位單片機(jī)均設(shè)置了全雙工串行位單片機(jī)均設(shè)置了全雙工串行I/O口,用以實(shí)現(xiàn)與某口,用以實(shí)現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng)。隨著應(yīng)用的的能力,甚至用多個(gè)單片機(jī)相連構(gòu)成多機(jī)系統(tǒng)。隨著應(yīng)用的拓寬,有些型號(hào)的單片機(jī)內(nèi)部還包含有兩個(gè)串行拓寬,有些型號(hào)的單片機(jī)內(nèi)部還包含有兩個(gè)串行I/O口。口。6. 定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器 在單片機(jī)的實(shí)際應(yīng)用中,往往需要精確的定時(shí),或者需在單片機(jī)的實(shí)際應(yīng)用中,往往需要精確的定時(shí),或者需對(duì)外部事件進(jìn)行計(jì)數(shù)。為了減少軟件開

12、銷和提高單片機(jī)的實(shí)對(duì)外部事件進(jìn)行計(jì)數(shù)。為了減少軟件開銷和提高單片機(jī)的實(shí)時(shí)控制能力,因而均在單片機(jī)內(nèi)部設(shè)置定時(shí)器時(shí)控制能力,因而均在單片機(jī)內(nèi)部設(shè)置定時(shí)器/計(jì)數(shù)器電路。計(jì)數(shù)器電路。8051共有兩個(gè)共有兩個(gè)16位的定時(shí)器位的定時(shí)器/計(jì)數(shù)器,計(jì)數(shù)器,8052則有三個(gè)則有三個(gè)16位的定位的定時(shí)器時(shí)器/計(jì)數(shù)器。計(jì)數(shù)器。 2022-6-712共105頁(yè)7. 中斷系統(tǒng)中斷系統(tǒng) 8051的中斷功能較強(qiáng),具有內(nèi)、外共五個(gè)中斷源,兩個(gè)中的中斷功能較強(qiáng),具有內(nèi)、外共五個(gè)中斷源,兩個(gè)中斷優(yōu)先級(jí)。斷優(yōu)先級(jí)。 8定時(shí)電路及元件定時(shí)電路及元件 計(jì)算機(jī)的整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)動(dòng)下,按照嚴(yán)格的時(shí)計(jì)算機(jī)的整個(gè)工作是在時(shí)鐘信號(hào)的驅(qū)

13、動(dòng)下,按照嚴(yán)格的時(shí)序有規(guī)律地一個(gè)節(jié)拍一個(gè)節(jié)拍地執(zhí)行各種操作。單片機(jī)內(nèi)部設(shè)序有規(guī)律地一個(gè)節(jié)拍一個(gè)節(jié)拍地執(zhí)行各種操作。單片機(jī)內(nèi)部設(shè)有定時(shí)電路,只需外接振蕩元件即可工作。有定時(shí)電路,只需外接振蕩元件即可工作。 外接振蕩元件一般選用晶體振蕩器,或用價(jià)廉的外接振蕩元件一般選用晶體振蕩器,或用價(jià)廉的RC振蕩振蕩器,也可用外部時(shí)鐘源,作為振蕩元件。近來(lái)有的單片機(jī)將振器,也可用外部時(shí)鐘源,作為振蕩元件。近來(lái)有的單片機(jī)將振蕩元件也集成在芯片內(nèi)部,這樣不僅大大縮小了單片機(jī)的體積,蕩元件也集成在芯片內(nèi)部,這樣不僅大大縮小了單片機(jī)的體積,同時(shí)也方便了使用。同時(shí)也方便了使用。2022-6-713共105頁(yè) MCS-51

14、系列中各種型號(hào)芯片的引腳是相互兼容的。制造系列中各種型號(hào)芯片的引腳是相互兼容的。制造工藝為工藝為HMOS的的MCS-51的單片機(jī)都采用的單片機(jī)都采用40只引腳的雙列直插只引腳的雙列直插的封裝(的封裝(DIP)方式,如圖)方式,如圖2-3所示。制造工藝為所示。制造工藝為CHMOS的的80C51/80C52除采用除采用DIP封裝方式外,還采用方形封裝方式,封裝方式外,還采用方形封裝方式,為為44只引腳,如圖只引腳,如圖2-4所示。所示。 40只引腳按其功能來(lái)分,可分只引腳按其功能來(lái)分,可分3類:類:(1)電源及時(shí)鐘引腳:電源及時(shí)鐘引腳:VCC,VSS;XTAL1、XTAL2。(2) I/O口引腳:

15、口引腳:P0、P1、P2、P3為為4個(gè)個(gè)8位位I/O口的外部引腳。口的外部引腳。 (3) 控制引腳:控制引腳: 、ALE、 、RST(即即RESET)。8051單片機(jī)的引腳及其功能單片機(jī)的引腳及其功能 PSENEA2022-6-714共105頁(yè)2022-6-715共105頁(yè)按引腳的功能可分為三部分按引腳的功能可分為三部分 : 1. 電源和時(shí)鐘:電源和時(shí)鐘:Vcc(40)運(yùn)行和程序校驗(yàn)時(shí)接電源正端。運(yùn)行和程序校驗(yàn)時(shí)接電源正端。 Vss(20)接地。接地。 XTAL1(19)輸入到單片機(jī)內(nèi)部振蕩器的反輸入到單片機(jī)內(nèi)部振蕩器的反相放大器。當(dāng)采用外部振蕩器時(shí),對(duì)相放大器。當(dāng)采用外部振蕩器時(shí),對(duì)HMOS

16、單片機(jī)單片機(jī), 此引此引腳應(yīng)接地;對(duì)腳應(yīng)接地;對(duì)CHMOS單片機(jī),此引腳作驅(qū)動(dòng)端。單片機(jī),此引腳作驅(qū)動(dòng)端。XTAL2(18)反相放大器的輸出,輸入到內(nèi)反相放大器的輸出,輸入到內(nèi)部時(shí)鐘發(fā)生器。當(dāng)采用外部振蕩器時(shí),部時(shí)鐘發(fā)生器。當(dāng)采用外部振蕩器時(shí),XTAL2 接收振蕩接收振蕩器信號(hào)器信號(hào),對(duì),對(duì)CHMOS,此引腳應(yīng)懸浮。,此引腳應(yīng)懸浮。2022-6-716共105頁(yè)2. I/O: P08位、漏極開路的雙向位、漏極開路的雙向I/O口???。 當(dāng)使用片外存儲(chǔ)器(當(dāng)使用片外存儲(chǔ)器(ROM及及RAM)時(shí),作低八位地)時(shí),作低八位地址和數(shù)據(jù)總線分時(shí)復(fù)用。址和數(shù)據(jù)總線分時(shí)復(fù)用。P0口(作為總線時(shí))能驅(qū)動(dòng)口(作為

17、總線時(shí))能驅(qū)動(dòng) 8個(gè)個(gè) LSTTL負(fù)載。負(fù)載。P18位、準(zhǔn)雙向位、準(zhǔn)雙向I/O 口,具有內(nèi)部上拉電路???,具有內(nèi)部上拉電路。 在編程在編程/校驗(yàn)期間,用做輸入低位字節(jié)地址。校驗(yàn)期間,用做輸入低位字節(jié)地址。P1口可以口可以驅(qū)動(dòng)驅(qū)動(dòng) 4個(gè)個(gè) LSTTL負(fù)載。負(fù)載。 2022-6-717共105頁(yè)P(yáng)28位、準(zhǔn)雙向位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路??冢哂袃?nèi)部上拉電路。 當(dāng)使用片外存儲(chǔ)器(當(dāng)使用片外存儲(chǔ)器(ROM及及RAM)時(shí),輸出高)時(shí),輸出高8位地址。位地址。 在編程在編程/校驗(yàn)期間,接收高位字節(jié)地址。校驗(yàn)期間,接收高位字節(jié)地址。P2口可以驅(qū)動(dòng)口可以驅(qū)動(dòng)4個(gè)個(gè)LSTTL負(fù)載。負(fù)載。P38位、準(zhǔn)

18、雙向位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路???,具有內(nèi)部上拉電路。 P3提供各種替代功能。在提供這些功能時(shí),其輸出鎖存器提供各種替代功能。在提供這些功能時(shí),其輸出鎖存器應(yīng)由程序置應(yīng)由程序置 1。P3口可以輸入口可以輸入/輸出輸出4個(gè)個(gè)LSTTL負(fù)載。負(fù)載。 串行口:串行口: P3.0RXD 串行輸入口。串行輸入口。 P3.1TXD 串行輸出口。串行輸出口。2022-6-718共105頁(yè) 中斷:中斷: P3.2 外部中斷外部中斷0輸入。輸入。 P3.3 外部中斷外部中斷1輸入。輸入。 定時(shí)器計(jì)數(shù)器:定時(shí)器計(jì)數(shù)器: P3.4定時(shí)器定時(shí)器/計(jì)數(shù)器計(jì)數(shù)器T0 的外部輸入。的外部輸入。 P3.5定時(shí)器定時(shí)

19、器/計(jì)數(shù)器計(jì)數(shù)器T1的外部輸入。的外部輸入。 數(shù)據(jù)存儲(chǔ)器選通:數(shù)據(jù)存儲(chǔ)器選通: P3.6WR 低電平有效,輸出,片外存儲(chǔ)器寫選通。低電平有效,輸出,片外存儲(chǔ)器寫選通。 P3.7 RD 低電平有效,輸出,片外存儲(chǔ)器讀選通。低電平有效,輸出,片外存儲(chǔ)器讀選通。2022-6-719共105頁(yè)3. 控制線:共控制線:共4根。根。RST(9)復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在復(fù)位輸入信號(hào),高電平有效。在振蕩器工作時(shí),在RST上作用上作用兩個(gè)機(jī)器周期兩個(gè)機(jī)器周期以上的高電平,將器件復(fù)位。以上的高電平,將器件復(fù)位。VPD為本引腳的第二功能,即備用電源的輸入端。為本引腳的第二功能,即備用電源的輸入端

20、。 EA /Vpp(31)片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。片外程序存儲(chǔ)器訪問(wèn)允許信號(hào),低電平有效。EA=1,選擇片內(nèi)程序存儲(chǔ)器,選擇片內(nèi)程序存儲(chǔ)器(80C51為為4KB,80C52為為8KB) ;EA=0,則程序存儲(chǔ)器全部在片外而不管片內(nèi)是否有程序存儲(chǔ)器。則程序存儲(chǔ)器全部在片外而不管片內(nèi)是否有程序存儲(chǔ)器。 使用使用80C31時(shí),必須接地,使用時(shí),必須接地,使用8751編程時(shí),施加編程時(shí),施加 21V的編程的編程電壓。電壓。ALE/PROG(30)地址鎖存允許信號(hào),輸出。地址鎖存允許信號(hào),輸出。 在訪問(wèn)片外存儲(chǔ)器或在訪問(wèn)片外存儲(chǔ)器或I/O時(shí),用于鎖存低八位地址(時(shí),用于鎖存低八位地址(P

21、0),以),以實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。實(shí)現(xiàn)低八位地址與數(shù)據(jù)的隔離。2022-6-720共105頁(yè) ALE以以 1/6的振蕩頻率固定速率輸出,每當(dāng)訪問(wèn)外部數(shù)據(jù)存的振蕩頻率固定速率輸出,每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)(即執(zhí)行儲(chǔ)器時(shí)(即執(zhí)行MOVX類指令),在兩個(gè)機(jī)器周期中類指令),在兩個(gè)機(jī)器周期中ALE只出只出現(xiàn)一次,即丟失一個(gè)現(xiàn)一次,即丟失一個(gè)ALE脈沖??捎脕?lái)檢測(cè)單片機(jī)芯片的好壞。脈沖??捎脕?lái)檢測(cè)單片機(jī)芯片的好壞。 為本引腳的第二功能。在對(duì)內(nèi)為本引腳的第二功能。在對(duì)內(nèi)EPROM型單片機(jī)(例如型單片機(jī)(例如8751)編程寫入時(shí),此引腳作為編程脈沖輸入端。)編程寫入時(shí),此引腳作為編程脈沖輸入端。 A

22、LE可以驅(qū)動(dòng)可以驅(qū)動(dòng)8個(gè)個(gè)LSTTL負(fù)載。負(fù)載。PSEN(29)片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。片外程序存儲(chǔ)器讀選通信號(hào),低電平有效。 在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)有在從片外程序存儲(chǔ)器取指期間,在每個(gè)機(jī)器周期中,當(dāng)有效時(shí),程序存儲(chǔ)器的內(nèi)容被送上效時(shí),程序存儲(chǔ)器的內(nèi)容被送上 P0口(數(shù)據(jù)總線)。口(數(shù)據(jù)總線)。 可以驅(qū)動(dòng)可以驅(qū)動(dòng) 8個(gè)個(gè)LSTTL負(fù)載。負(fù)載。PROG2022-6-721共105頁(yè)中央處理器中央處理器CPU是單片機(jī)內(nèi)部的核心部件,主要包是單片機(jī)內(nèi)部的核心部件,主要包括控制器、運(yùn)算器和工作寄存器及時(shí)序電路。括控制器、運(yùn)算器和工作寄存器及時(shí)序電路。8051 C

23、PU的結(jié)構(gòu)和特點(diǎn)的結(jié)構(gòu)和特點(diǎn)2022-6-722共105頁(yè) 運(yùn)算器主要用來(lái)實(shí)現(xiàn)對(duì)操作數(shù)的算術(shù)邏輯運(yùn)算和位操作的。運(yùn)算器主要用來(lái)實(shí)現(xiàn)對(duì)操作數(shù)的算術(shù)邏輯運(yùn)算和位操作的。如對(duì)傳送到如對(duì)傳送到CPU的數(shù)據(jù)進(jìn)行加、減、乘、除、比較、的數(shù)據(jù)進(jìn)行加、減、乘、除、比較、BCD碼校碼校正等算術(shù)運(yùn)算;正等算術(shù)運(yùn)算;“與與”、“或或”、“異或異或”等邏輯操作;移位、等邏輯操作;移位、置位、清零、取反、加置位、清零、取反、加1、減、減1等操作。等操作。 8051的的ALU還具有極強(qiáng)的位處理功能,如位置還具有極強(qiáng)的位處理功能,如位置1、位清零、位清零、位位“與與”、位、位“或或”等操作,對(duì)等操作,對(duì)“面向控制面向控制”

24、特別有用。特別有用。 運(yùn)算器主要包括算術(shù)邏輯運(yùn)算單元運(yùn)算器主要包括算術(shù)邏輯運(yùn)算單元ALUALU、累加器、累加器ACCACC(A A)、)、暫存寄存器、暫存寄存器、B B寄存器、程序狀態(tài)標(biāo)志寄存器寄存器、程序狀態(tài)標(biāo)志寄存器PSWPSW以及以及BCDBCD碼運(yùn)碼運(yùn)算修正電路等。算修正電路等。 2.3.2 運(yùn)算器運(yùn)算器運(yùn)算器運(yùn)算器2022-6-723共105頁(yè)ALU有兩個(gè)輸入:有兩個(gè)輸入: 通過(guò)暫存器通過(guò)暫存器1的輸入:輸入數(shù)據(jù)來(lái)自寄存器、直接尋址單元的輸入:輸入數(shù)據(jù)來(lái)自寄存器、直接尋址單元(含(含I/O口)、內(nèi)部口)、內(nèi)部RAM、寄存器、寄存器B或是立即數(shù)?;蚴橇⒓磾?shù)。 通過(guò)暫存器通過(guò)暫存器 2或

25、累加器或累加器 ACC的輸入:通過(guò)暫存器的輸入:通過(guò)暫存器 2的運(yùn)算的的運(yùn)算的指令有指令有 ANL direct, data ORL direct, data XRL direct, data 其它的運(yùn)算,其輸入之一大多數(shù)要通過(guò)累加器其它的運(yùn)算,其輸入之一大多數(shù)要通過(guò)累加器ACC。ALU有兩個(gè)輸出有兩個(gè)輸出: 數(shù)據(jù)經(jīng)過(guò)運(yùn)算后,其結(jié)果又通過(guò)內(nèi)部總線送回到累加器中;數(shù)據(jù)經(jīng)過(guò)運(yùn)算后,其結(jié)果又通過(guò)內(nèi)部總線送回到累加器中; 數(shù)據(jù)運(yùn)算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字?jǐn)?shù)據(jù)運(yùn)算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字 PSW。 2022-6-724共105頁(yè)累加器累加器A 累加器累加器A是是CPU中使用最頻繁的一個(gè)八位專

26、用寄存器,簡(jiǎn)稱中使用最頻繁的一個(gè)八位專用寄存器,簡(jiǎn)稱ACC或或A寄存器。主要功能:累加器寄存器。主要功能:累加器A存放操作數(shù),是存放操作數(shù),是ALU單元單元的輸入之一,也是的輸入之一,也是ALU運(yùn)算結(jié)果的暫存單元。運(yùn)算結(jié)果的暫存單元。 在在8051中只有一個(gè)累加器中只有一個(gè)累加器A,而單片機(jī)中大部分?jǐn)?shù)據(jù)操作都要,而單片機(jī)中大部分?jǐn)?shù)據(jù)操作都要通過(guò)累加器通過(guò)累加器A進(jìn)行,容易產(chǎn)生進(jìn)行,容易產(chǎn)生“瓶頸瓶頸”現(xiàn)象?,F(xiàn)象。 累加器累加器A的進(jìn)位標(biāo)志的進(jìn)位標(biāo)志Cy是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)是特殊的,因?yàn)樗瑫r(shí)又是位處理機(jī)的位累加器。(的位累加器。(17條位操作指令)條位操作指令) B寄存器寄存器 B

27、寄存器在乘法和除法指令中作為寄存器在乘法和除法指令中作為ALU的輸入之一。乘法中,的輸入之一。乘法中,ALU的兩個(gè)輸入分別為的兩個(gè)輸入分別為A、B,運(yùn)算結(jié)果存放在,運(yùn)算結(jié)果存放在AB寄存器對(duì)中寄存器對(duì)中A中中放積的低放積的低8位,位,B中放積的高中放積的高8位。位。 除法中,被除數(shù)取自除法中,被除數(shù)取自A,除數(shù)取,除數(shù)取自自B,商數(shù)存放于,商數(shù)存放于A,余數(shù)存放于,余數(shù)存放于B。 在其它情況下,在其它情況下,B寄存器可以作為內(nèi)部寄存器可以作為內(nèi)部RAM中的一個(gè)單元來(lái)中的一個(gè)單元來(lái)使用。使用。 2022-6-725共105頁(yè)程序狀態(tài)字程序狀態(tài)字PSW PSW(Program Status Wor

28、d)是一個(gè)逐位定義的)是一個(gè)逐位定義的8位寄存器,位寄存器,其內(nèi)容的主要部分是算術(shù)邏輯運(yùn)算單元(其內(nèi)容的主要部分是算術(shù)邏輯運(yùn)算單元(ALU)的輸出。其中有)的輸出。其中有些位是根據(jù)指令執(zhí)行結(jié)果,由硬件自動(dòng)生成,而有些位狀態(tài)可用些位是根據(jù)指令執(zhí)行結(jié)果,由硬件自動(dòng)生成,而有些位狀態(tài)可用軟件方法設(shè)定。軟件方法設(shè)定。 CYAC F0 RS1RS0OVPC/CY(PSW.7) 進(jìn)位標(biāo)志位進(jìn)位標(biāo)志位(位累加器位累加器)。AC(PSW.6) 輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志,主要應(yīng)用輔助進(jìn)位(或稱半進(jìn)位)標(biāo)志,主要應(yīng)用 于于BCD碼運(yùn)算。碼運(yùn)算。F0(PSW.5) 由用戶定義的標(biāo)志位。由用戶定義的標(biāo)志位。RS1(

29、PSW.4)、)、RS0(PSW.3) 工作寄存器組選擇位。工作寄存器組選擇位。OV(PSW.2) 溢出標(biāo)志位。由硬件置位或清零。溢出標(biāo)志位。由硬件置位或清零。PSW.1 未定義位。未定義位。P(PSW.0) 奇偶標(biāo)志位,奇為奇偶標(biāo)志位,奇為1,偶為,偶為0。2022-6-726共105頁(yè)特別提示特別提示 在串行通信中,常以奇偶校驗(yàn)位來(lái)檢驗(yàn)傳輸數(shù)據(jù)的可靠性。在串行通信中,常以奇偶校驗(yàn)位來(lái)檢驗(yàn)傳輸數(shù)據(jù)的可靠性。通常將通常將P置入串行幀中的奇偶校驗(yàn)位。置入串行幀中的奇偶校驗(yàn)位。 F0 (PSW5) 用戶標(biāo)志位。用戶標(biāo)志位。 開機(jī)時(shí)該位為開機(jī)時(shí)該位為“0”。用戶可根據(jù)需要,通過(guò)位操作指令置。用戶可根

30、據(jù)需要,通過(guò)位操作指令置“l(fā)”或者清或者清“0”。RS1、RS0 (PSW.4、PSW.3) 工作寄存器組選擇位工作寄存器組選擇位 用于設(shè)定當(dāng)前工作寄存器的組號(hào)。工作寄存器共有四組,用于設(shè)定當(dāng)前工作寄存器的組號(hào)。工作寄存器共有四組,其對(duì)應(yīng)關(guān)系其對(duì)應(yīng)關(guān)系RS1RS000110101所選的4組工作寄存器0組(內(nèi)部RAM地址00H07H)1組(內(nèi)部RAM地址08H0FH)2組(內(nèi)部RAM地址10H17H)3組(內(nèi)部RAM地址18H1FH)2022-6-727共105頁(yè) OV (PSW2) 溢出標(biāo)志位。溢出標(biāo)志位。 當(dāng)執(zhí)行運(yùn)算指令時(shí),由硬件置位或清除,以指示運(yùn)算是當(dāng)執(zhí)行運(yùn)算指令時(shí),由硬件置位或清除,以

31、指示運(yùn)算是否產(chǎn)生溢出,否產(chǎn)生溢出,OV置位表示運(yùn)算結(jié)果超出了目的寄存器置位表示運(yùn)算結(jié)果超出了目的寄存器A所能所能表示的帶符號(hào)數(shù)的范圍(一表示的帶符號(hào)數(shù)的范圍(一128127)。)。 若以若以Ci表示位表示位 i向位向位 i l有進(jìn)位,則有進(jìn)位,則OV=C6 C7;當(dāng)位;當(dāng)位6向位向位 7有進(jìn)位有進(jìn)位(借位借位)而位而位7不向不向CY進(jìn)位進(jìn)位(借位借位)時(shí);或當(dāng)位時(shí);或當(dāng)位7向向C進(jìn)位進(jìn)位(借位借位)而位而位6不向位不向位7進(jìn)位進(jìn)位(借位借位)時(shí),時(shí),OV標(biāo)志置位,表示帶標(biāo)志置位,表示帶符號(hào)數(shù)運(yùn)算時(shí)運(yùn)算結(jié)果是錯(cuò)誤的;否則,清除符號(hào)數(shù)運(yùn)算時(shí)運(yùn)算結(jié)果是錯(cuò)誤的;否則,清除OV標(biāo)志,運(yùn)算標(biāo)志,運(yùn)算結(jié)果正

32、確。結(jié)果正確。 對(duì)于對(duì)于MUL乘法,當(dāng)乘法,當(dāng)A、B兩個(gè)乘數(shù)的積超過(guò)兩個(gè)乘數(shù)的積超過(guò)255時(shí)時(shí)OV置位;置位;否則,否則,OV0。因此,若。因此,若OV0時(shí),只需從時(shí),只需從A寄存器中取積;寄存器中取積;若若OV1時(shí),則需從時(shí),則需從B、A寄存器對(duì)中取積。寄存器對(duì)中取積。 對(duì)于對(duì)于DIV除法,若除數(shù)為除法,若除數(shù)為0時(shí),時(shí),OV=1;否則,;否則,OV=0。 特別提示特別提示2022-6-728共105頁(yè) 中央控制器是識(shí)別指令,并根據(jù)指令性質(zhì)控制計(jì)中央控制器是識(shí)別指令,并根據(jù)指令性質(zhì)控制計(jì)算機(jī)各組成部件進(jìn)行工作的部件,與運(yùn)算器一起構(gòu)成算機(jī)各組成部件進(jìn)行工作的部件,與運(yùn)算器一起構(gòu)成中央處理器。在

33、中央處理器。在8051單片機(jī)中,控制器包括程序計(jì)數(shù)單片機(jī)中,控制器包括程序計(jì)數(shù)器器PC、程序地址寄存器、指令寄存器、程序地址寄存器、指令寄存器IR、指令譯碼器、指令譯碼器、條件轉(zhuǎn)移邏輯電路及定時(shí)控制邏輯電路。條件轉(zhuǎn)移邏輯電路及定時(shí)控制邏輯電路。 其功能是控制指令的讀出、譯碼和執(zhí)行,對(duì)指令其功能是控制指令的讀出、譯碼和執(zhí)行,對(duì)指令的執(zhí)行過(guò)程進(jìn)行定時(shí)控制,并根據(jù)執(zhí)行結(jié)果決定是否的執(zhí)行過(guò)程進(jìn)行定時(shí)控制,并根據(jù)執(zhí)行結(jié)果決定是否分支轉(zhuǎn)移。分支轉(zhuǎn)移??刂破骺刂破?022-6-729共105頁(yè)1. 程序計(jì)數(shù)器程序計(jì)數(shù)器PC 程序計(jì)數(shù)器程序計(jì)數(shù)器PC(Program Counter)是一個(gè)獨(dú)立的計(jì))是一個(gè)獨(dú)立

34、的計(jì)數(shù)器,不屬于內(nèi)部的特殊功能寄存器。數(shù)器,不屬于內(nèi)部的特殊功能寄存器。PC中存放的是下一中存放的是下一條將要從程序存儲(chǔ)器中取出的指令的地址。條將要從程序存儲(chǔ)器中取出的指令的地址。其基本的工作過(guò)程是:讀指令時(shí),程序計(jì)數(shù)器其基本的工作過(guò)程是:讀指令時(shí),程序計(jì)數(shù)器PC將將其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序其中的數(shù)作為所取指令的地址輸出給程序存儲(chǔ)器,然后程序存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序計(jì)數(shù)器存儲(chǔ)器按此地址輸出指令字節(jié),同時(shí)程序計(jì)數(shù)器PC本身自本身自動(dòng)加動(dòng)加1,指向下一條指令地址。程序計(jì)數(shù)器,指向下一條指令地址。程序計(jì)數(shù)器PC變化的軌跡決變化的軌跡決定程序的流程。定程序的流程

35、。 在執(zhí)行條件轉(zhuǎn)移或無(wú)條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將在執(zhí)行條件轉(zhuǎn)移或無(wú)條件轉(zhuǎn)移指令時(shí),程序計(jì)數(shù)器將被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。 在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí),將子程序的入口地址在執(zhí)行調(diào)用指令或響應(yīng)中斷時(shí),將子程序的入口地址或者中斷矢量地址送入或者中斷矢量地址送入PC,程序流向發(fā)生變化。,程序流向發(fā)生變化。2022-6-730共105頁(yè)2. 數(shù)據(jù)指針數(shù)據(jù)指針 DPTR DPTR是一個(gè)是一個(gè)16位的特殊功能寄存器,主要功能是作為位的特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲(chǔ)器或片外數(shù)據(jù)存儲(chǔ)器或I/O尋址用的地址寄存器(間接尋址),尋址用的地址寄存

36、器(間接尋址),故稱為數(shù)據(jù)存儲(chǔ)器地址指針。故稱為數(shù)據(jù)存儲(chǔ)器地址指針。 訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器或訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器或I/O的指令為:的指令為: MOVX A,DPTR 讀讀 MOVX DPTR,A 寫寫 DPTR寄存器也可以作為訪問(wèn)程序存儲(chǔ)器時(shí)的基址寄寄存器也可以作為訪問(wèn)程序存儲(chǔ)器時(shí)的基址寄存器。這時(shí)尋址程序存儲(chǔ)器中的表格、常數(shù)等單元,而不存器。這時(shí)尋址程序存儲(chǔ)器中的表格、常數(shù)等單元,而不是尋址指令。是尋址指令。 MOVCA,ADPTR JMPADPTR2022-6-731共105頁(yè) DPTR寄存器既可以作為一個(gè)寄存器既可以作為一個(gè)16位寄存器處理,也可以作位寄存器處理,也可以作為兩個(gè)為兩個(gè)8位寄存

37、器處理,其高位寄存器處理,其高8位用位用DPH表示,低表示,低8位用位用DPL表表示示。 在在8051中,兩個(gè)地址寄存器,即程序計(jì)數(shù)器中,兩個(gè)地址寄存器,即程序計(jì)數(shù)器PC與數(shù)據(jù)指與數(shù)據(jù)指針針DPTR,有相同之處,也有,有相同之處,也有差別差別: 兩者都是與地址有關(guān)的兩者都是與地址有關(guān)的16位的寄存器。其中位的寄存器。其中PC與程與程序存儲(chǔ)器的地址有關(guān),而序存儲(chǔ)器的地址有關(guān),而 DPTR與數(shù)據(jù)存儲(chǔ)器的地址有關(guān)。作與數(shù)據(jù)存儲(chǔ)器的地址有關(guān)。作為地址寄存器使用時(shí)為地址寄存器使用時(shí)PC與與DPTR都是通過(guò)都是通過(guò)P0和和P2口輸出的。口輸出的。PC的輸出與的輸出與ALE及及 信號(hào)有關(guān);信號(hào)有關(guān);DPTR

38、的輸出,則與的輸出,則與ALE WR、RD 信號(hào)有關(guān)。信號(hào)有關(guān)。 PC只能作為只能作為16位寄存器對(duì)待。位寄存器對(duì)待。PC是不可以訪問(wèn)的,是不可以訪問(wèn)的,它不屬于特殊功能寄存器,有自己獨(dú)特的變化方式。它不屬于特殊功能寄存器,有自己獨(dú)特的變化方式。DPTR可可以作為以作為16位寄存器,也可以作為兩個(gè)位寄存器,也可以作為兩個(gè)8位寄存器,位寄存器,DPTR是可是可以訪問(wèn)的,以訪問(wèn)的,DPL和和DPH都位于特殊功能寄存器區(qū)中。都位于特殊功能寄存器區(qū)中。 PSEN2022-6-732共105頁(yè)3. 指令寄存器指令寄存器IR、指令譯碼器及控制邏輯、指令譯碼器及控制邏輯 指令寄存器指令寄存器IR是用來(lái)存放指

39、令操作碼的專用寄存器。執(zhí)是用來(lái)存放指令操作碼的專用寄存器。執(zhí)行程序時(shí),首先進(jìn)行程序存儲(chǔ)器的讀操作,也就是根據(jù)程序行程序時(shí),首先進(jìn)行程序存儲(chǔ)器的讀操作,也就是根據(jù)程序計(jì)數(shù)器給出的地址從程序存儲(chǔ)器中取出指令,送指令寄存器計(jì)數(shù)器給出的地址從程序存儲(chǔ)器中取出指令,送指令寄存器IR,IR的輸出送指令譯碼器;然后由指令譯碼器對(duì)該指令進(jìn)的輸出送指令譯碼器;然后由指令譯碼器對(duì)該指令進(jìn)行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,如圖行譯碼,譯碼結(jié)果送定時(shí)控制邏輯電路,如圖25所示。所示。 定時(shí)控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時(shí)定時(shí)控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時(shí)控制信號(hào),控制計(jì)算機(jī)的各組成部件進(jìn)行相應(yīng)

40、的工作,執(zhí)行控制信號(hào),控制計(jì)算機(jī)的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。指令。 條件轉(zhuǎn)移邏輯電路主要用來(lái)控制程序的分支轉(zhuǎn)移。在條件轉(zhuǎn)移邏輯電路主要用來(lái)控制程序的分支轉(zhuǎn)移。在8051中,轉(zhuǎn)移條件也可分為兩部分。一部分是內(nèi)部條件中,轉(zhuǎn)移條件也可分為兩部分。一部分是內(nèi)部條件,即程即程序狀態(tài)標(biāo)志位(序狀態(tài)標(biāo)志位(PSW)和累加器的零狀態(tài)。另一部分是外部)和累加器的零狀態(tài)。另一部分是外部條件,即條件,即F0和所有位尋址空間的狀態(tài)。和所有位尋址空間的狀態(tài)。2022-6-733共105頁(yè)圖圖25 指令寄存器和指令譯碼器指令寄存器和指令譯碼器2022-6-734共105頁(yè) 時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘

41、信號(hào),而時(shí)鐘電路用于產(chǎn)生單片機(jī)工作所需要的時(shí)鐘信號(hào),而時(shí)序時(shí)序所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片所研究的是指令執(zhí)行中各信號(hào)之間的相互關(guān)系。單片機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作機(jī)本身就如一個(gè)復(fù)雜的同步時(shí)序電路,為了保證同步工作方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)方式的實(shí)現(xiàn),電路應(yīng)在唯一的時(shí)鐘信號(hào)控制下嚴(yán)格地按時(shí)序進(jìn)行工作。序進(jìn)行工作。 時(shí)鐘電路及時(shí)鐘電路及CPU的工作時(shí)序的工作時(shí)序2022-6-735共105頁(yè) 1. 時(shí)鐘電路時(shí)鐘電路 8051內(nèi)帶有時(shí)鐘電路,在片外通過(guò)內(nèi)帶有時(shí)鐘電路,在片外通過(guò)XTAL1和和XTAL2引腳引腳接入定時(shí)控制元件(晶體振蕩

42、器和電容),構(gòu)成一個(gè)穩(wěn)定的自接入定時(shí)控制元件(晶體振蕩器和電容),構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。在激振蕩器。在8051芯片內(nèi)部有一個(gè)高增益反相放大器,而在芯芯片內(nèi)部有一個(gè)高增益反相放大器,而在芯片的外部,片的外部,XTAL1和和XTAL2之間跨接晶體振蕩器和微調(diào)電容。之間跨接晶體振蕩器和微調(diào)電容。8051的時(shí)鐘電路如圖的時(shí)鐘電路如圖26所示。所示。 振蕩器的工作頻率一般在振蕩器的工作頻率一般在1.212 MHz之間,由于制造工藝之間,由于制造工藝的改進(jìn),有些單片機(jī)的頻率范圍正向兩端延伸,高端可達(dá)的改進(jìn),有些單片機(jī)的頻率范圍正向兩端延伸,高端可達(dá)40 MHZ,低端可達(dá)幾,低端可達(dá)幾Hz。 時(shí)鐘電路產(chǎn)

43、生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。注意成為單片機(jī)的時(shí)鐘脈沖信號(hào)。注意時(shí)鐘脈沖與振蕩脈沖之間的時(shí)鐘脈沖與振蕩脈沖之間的二分頻關(guān)系二分頻關(guān)系,否則會(huì)造成概念上的錯(cuò)誤。,否則會(huì)造成概念上的錯(cuò)誤。 在由多片單片機(jī)組成的系統(tǒng)中,為了同步,應(yīng)當(dāng)引入唯一在由多片單片機(jī)組成的系統(tǒng)中,為了同步,應(yīng)當(dāng)引入唯一的公用外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。外部脈沖時(shí)鐘的公用外部脈沖信號(hào)作為各單片機(jī)的振蕩脈沖。外部脈沖時(shí)鐘源接法如圖源接法如圖27所示。所示。 2022-6-736共105頁(yè)8051XTAL1C1晶振XTAL2至內(nèi)部時(shí)鐘電路1

44、C2VCC8051XTAL2VSS外部時(shí)鐘信號(hào)TTL1XTAL1圖2-6 時(shí)鐘振蕩電路圖2-7 外部脈沖時(shí)鐘源接法2022-6-737共105頁(yè)2時(shí)序定時(shí)單位時(shí)序定時(shí)單位 單片機(jī)執(zhí)行指令是在時(shí)序電路的控制下一步一步進(jìn)行的。單片機(jī)執(zhí)行指令是在時(shí)序電路的控制下一步一步進(jìn)行的。時(shí)序是用定時(shí)單位來(lái)說(shuō)明的。時(shí)序是用定時(shí)單位來(lái)說(shuō)明的。8051的時(shí)序定時(shí)單位共有的時(shí)序定時(shí)單位共有4個(gè):節(jié)個(gè):節(jié)拍、狀態(tài)、機(jī)器周期和指令周期。拍、狀態(tài)、機(jī)器周期和指令周期。(1)節(jié)拍節(jié)拍P 振蕩脈沖的周期稱為節(jié)拍振蕩脈沖的周期稱為節(jié)拍。(2) 狀態(tài)狀態(tài)S 一個(gè)狀態(tài)一個(gè)狀態(tài)S包含兩個(gè)節(jié)拍,其前半周期對(duì)應(yīng)的節(jié)拍叫包含兩個(gè)節(jié)拍,其前半

45、周期對(duì)應(yīng)的節(jié)拍叫P1,后半周期對(duì)應(yīng)的節(jié)拍叫后半周期對(duì)應(yīng)的節(jié)拍叫P2 (3) 機(jī)器周期機(jī)器周期8051采用定時(shí)控制方式,因此它有固定的機(jī)器周期。采用定時(shí)控制方式,因此它有固定的機(jī)器周期。2022-6-738共105頁(yè)規(guī)定一個(gè)機(jī)器周期的寬度為規(guī)定一個(gè)機(jī)器周期的寬度為6個(gè)狀態(tài),并依次表示為個(gè)狀態(tài),并依次表示為S1S6。由。由于一個(gè)機(jī)器周期共有于一個(gè)機(jī)器周期共有12個(gè)振蕩脈沖周期,因此機(jī)器周期就是振個(gè)振蕩脈沖周期,因此機(jī)器周期就是振蕩脈沖的蕩脈沖的12分頻。分頻。 振蕩脈沖頻率為振蕩脈沖頻率為 12 MHZ時(shí),一個(gè)機(jī)器周期為時(shí),一個(gè)機(jī)器周期為 lS; 振蕩脈沖頻率為振蕩脈沖頻率為6MHZ時(shí),一個(gè)機(jī)器周

46、期為時(shí),一個(gè)機(jī)器周期為2 S。 機(jī)器周期機(jī)器周期是單片機(jī)的最小時(shí)間單位。是單片機(jī)的最小時(shí)間單位。(4) 指令周期指令周期 執(zhí)行一條指令所需要的時(shí)間稱為指令周期。它是執(zhí)行一條指令所需要的時(shí)間稱為指令周期。它是最大的時(shí)最大的時(shí)序定時(shí)單位序定時(shí)單位。8051的指令周期根據(jù)指令的不同,有一、二、四的指令周期根據(jù)指令的不同,有一、二、四個(gè)機(jī)器周期。當(dāng)振蕩脈沖頻率為個(gè)機(jī)器周期。當(dāng)振蕩脈沖頻率為 12 MHZ時(shí),時(shí),8051的一條指令的一條指令執(zhí)行的時(shí)間最短為執(zhí)行的時(shí)間最短為lS,最長(zhǎng)為,最長(zhǎng)為4S。2022-6-739共105頁(yè)3. 8051指令時(shí)序指令時(shí)序 8051共有共有111條指令,全部指令按其長(zhǎng)度

47、可分為單字節(jié)指條指令,全部指令按其長(zhǎng)度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。令、雙字節(jié)指令和三字節(jié)指令。 圖圖2-8所表示的是幾種典型單機(jī)器周期和雙機(jī)器周期指令所表示的是幾種典型單機(jī)器周期和雙機(jī)器周期指令的時(shí)序。的時(shí)序。 圖中的圖中的ALE信號(hào)是為地址鎖存而定義的,該信號(hào)每有效信號(hào)是為地址鎖存而定義的,該信號(hào)每有效一次對(duì)應(yīng)單片機(jī)進(jìn)行一次讀指令操作。一次對(duì)應(yīng)單片機(jī)進(jìn)行一次讀指令操作。ALE信號(hào)以振蕩脈沖信號(hào)以振蕩脈沖六分之一的頻率出現(xiàn),因此,在一個(gè)機(jī)器周期中,六分之一的頻率出現(xiàn),因此,在一個(gè)機(jī)器周期中,ALE信號(hào)信號(hào)兩次有效,第一次在兩次有效,第一次在S1P2和和S2P1期間,第二次在期間,

48、第二次在S4P2和和S5P1期間,有效寬度為一個(gè)狀態(tài)周期期間,有效寬度為一個(gè)狀態(tài)周期S。2022-6-740共105頁(yè)圖圖28 80C51單片微機(jī)指令時(shí)序單片微機(jī)指令時(shí)序2022-6-741共105頁(yè)(1)單字節(jié)單周期指令(例如)單字節(jié)單周期指令(例如 INC A) 只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€(gè)只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€(gè)ALE有效時(shí),由于有效時(shí),由于PC沒(méi)沒(méi)有加有加1,所以讀出的還是原指令。,所以讀出的還是原指令。(2)雙字節(jié)單周期指令(例如)雙字節(jié)單周期指令(例如 ADD A,data) ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第的兩次讀操作都是有效的,第一次是讀指令操

49、作碼,第二次是讀指令第二字節(jié)。二次是讀指令第二字節(jié)。(3)單字節(jié)雙周期指令(例如)單字節(jié)雙周期指令(例如 INC DPTR) 兩個(gè)機(jī)器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀兩個(gè)機(jī)器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀操作全是無(wú)效的。操作全是無(wú)效的。 (4) 單字節(jié)雙周期指令(例如單字節(jié)雙周期指令(例如MOVX類指令)類指令) MOVX類指令情況有所不同。因?yàn)閳?zhí)行這類指令時(shí),先在類指令情況有所不同。因?yàn)閳?zhí)行這類指令時(shí),先在ROM讀取指令,然后對(duì)外部讀取指令,然后對(duì)外部RAM進(jìn)行讀進(jìn)行讀/寫操作。第一機(jī)器周期寫操作。第一機(jī)器周期時(shí),與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀

50、時(shí),與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無(wú)效。第二周期時(shí),進(jìn)行外部指令操作無(wú)效。第二周期時(shí),進(jìn)行外部RAM訪問(wèn),此時(shí)與訪問(wèn),此時(shí)與ALE信信號(hào)無(wú)關(guān),因此,不產(chǎn)生讀指令操作。號(hào)無(wú)關(guān),因此,不產(chǎn)生讀指令操作。2022-6-742共105頁(yè) 單片機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):一種是在通用微單片機(jī)的存儲(chǔ)器有兩種基本結(jié)構(gòu):一種是在通用微型計(jì)算機(jī)中廣泛采用的將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空型計(jì)算機(jī)中廣泛采用的將程序和數(shù)據(jù)合用一個(gè)存儲(chǔ)器空間的結(jié)構(gòu),稱為普林斯頓(間的結(jié)構(gòu),稱為普林斯頓(Princeton)結(jié)構(gòu);另一種是)結(jié)構(gòu);另一種是將程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),將程序存

51、儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(稱為哈佛(Haryard)結(jié)構(gòu)。)結(jié)構(gòu)。MCS51系列單片機(jī)采系列單片機(jī)采用哈佛結(jié)構(gòu)。圖用哈佛結(jié)構(gòu)。圖29為為8051單片機(jī)存儲(chǔ)器映象圖。單片機(jī)存儲(chǔ)器映象圖。 在物理上設(shè)有在物理上設(shè)有4個(gè)存儲(chǔ)器空間個(gè)存儲(chǔ)器空間 程序存儲(chǔ)器:程序存儲(chǔ)器: 片內(nèi)程序存儲(chǔ)器;片內(nèi)程序存儲(chǔ)器; 片外程序存儲(chǔ)器。片外程序存儲(chǔ)器。 數(shù)據(jù)存儲(chǔ)器:數(shù)據(jù)存儲(chǔ)器: 片內(nèi)數(shù)據(jù)存儲(chǔ)器;片內(nèi)數(shù)據(jù)存儲(chǔ)器; 片外數(shù)據(jù)存儲(chǔ)器。片外數(shù)據(jù)存儲(chǔ)器。存儲(chǔ)器結(jié)構(gòu)和地址空間存儲(chǔ)器結(jié)構(gòu)和地址空間2022-6-743共105頁(yè)2022-6-744共105頁(yè) 在邏輯上設(shè)有在邏輯上設(shè)有3個(gè)存儲(chǔ)器地址空間個(gè)存儲(chǔ)

52、器地址空間 片內(nèi)、片外統(tǒng)一的片內(nèi)、片外統(tǒng)一的 64 KB程序存儲(chǔ)器地址空間程序存儲(chǔ)器地址空間;MOVC 片內(nèi)片內(nèi)256B數(shù)據(jù)存儲(chǔ)器地址空間;數(shù)據(jù)存儲(chǔ)器地址空間;MOV 片外片外64 KB的數(shù)據(jù)存儲(chǔ)器地址空間。的數(shù)據(jù)存儲(chǔ)器地址空間。MOVX 在訪問(wèn)這在訪問(wèn)這3個(gè)不同的邏輯空間時(shí),應(yīng)選用不同形式的指令。個(gè)不同的邏輯空間時(shí),應(yīng)選用不同形式的指令。 片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,在物理上又包含兩部分:片內(nèi)數(shù)據(jù)存儲(chǔ)器空間,在物理上又包含兩部分: 對(duì)于對(duì)于8051型單片微機(jī),從型單片微機(jī),從0127 B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從從128255 B為特殊功能寄存器為特殊功能寄存器(SFR)空間(僅

53、占用空間(僅占用21個(gè)字節(jié))。個(gè)字節(jié))。 2022-6-745共105頁(yè)對(duì)于對(duì)于8052型單片機(jī),從型單片機(jī),從0127B為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從為片內(nèi)數(shù)據(jù)存儲(chǔ)器空間;從128255 B共共128個(gè)字節(jié)是數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器地址個(gè)字節(jié)是數(shù)據(jù)存儲(chǔ)器和特殊功能寄存器地址重疊空間。重疊空間。8051有三種基本的尋址空間:有三種基本的尋址空間: 64 KB的片內(nèi)、外程序存儲(chǔ)器尋址空間;的片內(nèi)、外程序存儲(chǔ)器尋址空間; 64 KB的片外數(shù)據(jù)存儲(chǔ)器尋址空間;的片外數(shù)據(jù)存儲(chǔ)器尋址空間; 256B的片內(nèi)數(shù)據(jù)存儲(chǔ)器尋址空間,其中包括特殊功能寄的片內(nèi)數(shù)據(jù)存儲(chǔ)器尋址空間,其中包括特殊功能寄存器尋址空間。存器尋址

54、空間。 2022-6-746共105頁(yè)8051的程序存儲(chǔ)器(的程序存儲(chǔ)器(program memory)用于存放經(jīng)調(diào)試)用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用16位的程序計(jì)位的程序計(jì)數(shù)器數(shù)器 PC和和16位的地址總線,因而其可擴(kuò)展的地址空間為位的地址總線,因而其可擴(kuò)展的地址空間為64 KB。 整個(gè)程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分。整個(gè)程序存儲(chǔ)器可以分為片內(nèi)和片外兩部分。 EA引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器引腳接高電平時(shí),程序從片內(nèi)程序存儲(chǔ)器0000H開始執(zhí)行,開始執(zhí)行,即訪問(wèn)片內(nèi)存儲(chǔ)器;當(dāng)即訪問(wèn)片內(nèi)存儲(chǔ)器;當(dāng)PC值超出片內(nèi)

55、值超出片內(nèi)ROM容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向容量時(shí),會(huì)自動(dòng)轉(zhuǎn)向片外程序存儲(chǔ)器空間執(zhí)行。片外程序存儲(chǔ)器空間執(zhí)行。 EA引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器引腳接低電平時(shí),迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器0000H開始存放的程序。開始存放的程序。 對(duì)于片內(nèi)無(wú)對(duì)于片內(nèi)無(wú)ROM的的8031/8032單片機(jī),應(yīng)將單片機(jī),應(yīng)將EA引腳固定接低引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲(chǔ)器程序。程序存儲(chǔ)器程序存儲(chǔ)器2022-6-747共105頁(yè) 程序存儲(chǔ)器的某些單元被保留用于特定的程序入口程序存儲(chǔ)器的某些單元被保留用于特定的程序入口地址。地址。 由于系統(tǒng)復(fù)位后的

56、由于系統(tǒng)復(fù)位后的PC地址為地址為0000H,故系統(tǒng)從,故系統(tǒng)從0000H單單元開始取指,執(zhí)行程序。從元開始取指,執(zhí)行程序。從0003H002AH單元被保留用于單元被保留用于5個(gè)中斷源的中斷服務(wù)程序的入口地址。個(gè)中斷源的中斷服務(wù)程序的入口地址。2022-6-748共105頁(yè)以下以下6個(gè)特定地址被保留:個(gè)特定地址被保留: 復(fù)位復(fù)位0000H 外部中斷外部中斷0 0003H 計(jì)時(shí)器計(jì)時(shí)器T0溢出溢出 000BH 外部中斷外部中斷1 0013H 計(jì)時(shí)器計(jì)時(shí)器T1溢出溢出 001BH 串行口中斷串行口中斷 0023H 計(jì)時(shí)器計(jì)時(shí)器 T2/T2EX 002BH(52子系列)子系列) 在程序設(shè)計(jì)時(shí),通常在這

57、些中斷入口處設(shè)置無(wú)條件在程序設(shè)計(jì)時(shí),通常在這些中斷入口處設(shè)置無(wú)條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。注意:注意:片內(nèi)程序存儲(chǔ)器為只讀存儲(chǔ)器片內(nèi)程序存儲(chǔ)器為只讀存儲(chǔ)器ROM。2022-6-749共105頁(yè)數(shù)據(jù)存儲(chǔ)器(數(shù)據(jù)存儲(chǔ)器(data memory)由隨機(jī)存取存儲(chǔ)器)由隨機(jī)存取存儲(chǔ)器RAM構(gòu)成,用來(lái)存放隨機(jī)數(shù)據(jù)。構(gòu)成,用來(lái)存放隨機(jī)數(shù)據(jù)。 在在 8 0 5 1 中 , 數(shù) 據(jù) 存 儲(chǔ) 器 又 分 片 內(nèi) 數(shù) 據(jù) 存 儲(chǔ) 器中 , 數(shù) 據(jù) 存 儲(chǔ) 器 又 分 片 內(nèi) 數(shù) 據(jù) 存 儲(chǔ) 器(internal data memory)和片外數(shù)據(jù)存

58、儲(chǔ)器()和片外數(shù)據(jù)存儲(chǔ)器(external data memory)兩部分。)兩部分。片內(nèi)數(shù)據(jù)存儲(chǔ)器(片內(nèi)數(shù)據(jù)存儲(chǔ)器(IRAM)地址只有)地址只有8位,因而最大尋位,因而最大尋址范圍為址范圍為256個(gè)字節(jié)。個(gè)字節(jié)。在在8051中,設(shè)置有一個(gè)專門的數(shù)據(jù)存儲(chǔ)器的地址指示中,設(shè)置有一個(gè)專門的數(shù)據(jù)存儲(chǔ)器的地址指示器器數(shù)據(jù)指針數(shù)據(jù)指針DPTR,用于訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器(,用于訪問(wèn)片外數(shù)據(jù)存儲(chǔ)器(ERAM)。)。數(shù)據(jù)指針數(shù)據(jù)指針DPTR也是也是16位的寄存器,這樣,就使位的寄存器,這樣,就使8051具有具有64 KB的數(shù)據(jù)存儲(chǔ)器擴(kuò)展能力。的數(shù)據(jù)存儲(chǔ)器擴(kuò)展能力。內(nèi)部數(shù)據(jù)存儲(chǔ)器內(nèi)部數(shù)據(jù)存儲(chǔ)器2022-6-750

59、共105頁(yè) 片內(nèi)數(shù)據(jù)存儲(chǔ)器是最靈活的地址空間。它在物理上片內(nèi)數(shù)據(jù)存儲(chǔ)器是最靈活的地址空間。它在物理上又分成兩個(gè)獨(dú)立的不同功能區(qū)。又分成兩個(gè)獨(dú)立的不同功能區(qū)。 片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)RAM區(qū):對(duì)區(qū):對(duì)8051,為地址空間的低,為地址空間的低128 B; 對(duì)對(duì)8052,為地址空間的,為地址空間的0255B。 特殊功能寄存器特殊功能寄存器SFR區(qū):地址空間的高區(qū):地址空間的高 128 B。對(duì)于對(duì)于8052,高,高128B的的RAM區(qū)和區(qū)和SFR區(qū)的地址空間區(qū)的地址空間是重疊的。究竟訪問(wèn)哪一個(gè)區(qū)是通過(guò)不同的尋址方式來(lái)加是重疊的。究竟訪問(wèn)哪一個(gè)區(qū)是通過(guò)不同的尋址方式來(lái)加以區(qū)別,即訪問(wèn)高以區(qū)別,即訪問(wèn)高 128

60、B RAM區(qū)時(shí),選用間接尋址方式;區(qū)時(shí),選用間接尋址方式;訪問(wèn)訪問(wèn)SFR區(qū),則應(yīng)選用直接尋址方式。區(qū),則應(yīng)選用直接尋址方式。 圖圖2-10為片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間分布圖。為片內(nèi)數(shù)據(jù)存儲(chǔ)器的地址空間分布圖。2022-6-751共105頁(yè) 圖圖210 片內(nèi)數(shù)據(jù)存儲(chǔ)器各部分地址空間分布圖片內(nèi)數(shù)據(jù)存儲(chǔ)器各部分地址空間分布圖 2022-6-752共105頁(yè) 片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)RAM區(qū)區(qū) 工作寄存器區(qū)工作寄存器區(qū):用寄存器直接尋址的區(qū)域,指令的用寄存器直接尋址的區(qū)域,指令的數(shù)量最多,均為單周期指令,執(zhí)行的速度最快。數(shù)量最多,均為單周期指令,執(zhí)行的速度最快。 從圖從圖210中可知,其中片內(nèi)數(shù)據(jù)中可知,其中片

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論