版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、2022-6-71共105頁第二章第二章 單片機的基本結(jié)構(gòu)單片機的基本結(jié)構(gòu)2022-6-72共105頁 微型計算機的基本組成微型計算機的基本組成CPU+存儲器存儲器+I/O 接口。若將組成計算接口。若將組成計算機的基本部件集成在一塊芯片上,則俗稱為單片機。機的基本部件集成在一塊芯片上,則俗稱為單片機。 8051框圖如圖框圖如圖2-1所示,內(nèi)部結(jié)構(gòu)如圖所示,內(nèi)部結(jié)構(gòu)如圖2-2所示。所示。u一個一個8位中央處理機位中央處理機CPU。u128個字節(jié)(個字節(jié)(MCS-52為為256字節(jié))的片內(nèi)數(shù)據(jù)存儲器字節(jié))的片內(nèi)數(shù)據(jù)存儲器RAM。u4KB(MCS-52為為8 KB)的片內(nèi)程序只讀存儲器)的片內(nèi)程序只
2、讀存儲器ROM或或EPROM(8031和和8032無)。無)。u21個(個(MCS-52為為26個)特殊功能寄存器個)特殊功能寄存器SFR。 u4個個8位并行輸入輸出位并行輸入輸出I/O接口:接口:P0口、口、 P1口、口、 P2口、口、 P3口??凇1個串行個串行I/O接口。接口。 u2個(個(MCS-52為為3個)個)16位定時器位定時器/計數(shù)器。計數(shù)器。 u1個具有個具有5個(個(MCS52為為6個或個或7個)中斷源,可編程為個)中斷源,可編程為2個優(yōu)先個優(yōu)先級的中斷系統(tǒng)。它可以接收外部中斷申請,定時器級的中斷系統(tǒng)。它可以接收外部中斷申請,定時器/計數(shù)器中斷申請計數(shù)器中斷申請和串行口中
3、斷申請。和串行口中斷申請。 8051單片機的內(nèi)部結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu) 2022-6-73共105頁芯片 功能種類ROMEPROMRAM定時器計數(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頁2022-6-75共105頁2022-6-76共105頁 這些部件通過內(nèi)部總線連接起來,
4、基本結(jié)構(gòu)仍然是通這些部件通過內(nèi)部總線連接起來,基本結(jié)構(gòu)仍然是通用用CPU加上外圍芯片的結(jié)構(gòu)模式,但功能單元的控制上采加上外圍芯片的結(jié)構(gòu)模式,但功能單元的控制上采用了特殊功能寄存器用了特殊功能寄存器(SFR) 進(jìn)行集中控制的方法。進(jìn)行集中控制的方法。1.中央處理器中央處理器 中央處理器(中央處理器(CPU)是單片機的核心,主要完成運算)是單片機的核心,主要完成運算和控制功能,增設(shè)了和控制功能,增設(shè)了“面向控制面向控制”的處理功能,增強了實時的處理功能,增強了實時性。性。 2. 程序存儲器程序存儲器 根據(jù)內(nèi)部是否帶有程序存儲器而形成不同型號:內(nèi)部沒根據(jù)內(nèi)部是否帶有程序存儲器而形成不同型號:內(nèi)部沒有
5、程序存儲器的稱有程序存儲器的稱8031,內(nèi)部帶,內(nèi)部帶ROM的稱的稱8051,帶,帶EPROM的稱的稱8751。帶。帶EEPROM的稱的稱8951 。內(nèi)部部件介紹內(nèi)部部件介紹2022-6-77共105頁單片機的程序存儲器有以下幾種結(jié)構(gòu)形式:單片機的程序存儲器有以下幾種結(jié)構(gòu)形式: 片內(nèi)只讀存儲器片內(nèi)只讀存儲器 片內(nèi)掩膜片內(nèi)掩膜ROM的特點是程序必須在制作單片機時寫入,的特點是程序必須在制作單片機時寫入,一次性固化,用戶不能修改。這種結(jié)構(gòu)形式只適用于程序已一次性固化,用戶不能修改。這種結(jié)構(gòu)形式只適用于程序已成熟、定型,且批量很大的場合。并且只能在廠家定制完成。成熟、定型,且批量很大的場合。并且只能
6、在廠家定制完成。這種單片機的價格最便宜。這種單片機的價格最便宜。 片內(nèi)可編程的片內(nèi)可編程的ROM 片內(nèi)可編程的片內(nèi)可編程的ROM可直接由用戶進(jìn)行編程,因而用戶可直接由用戶進(jìn)行編程,因而用戶在實際應(yīng)用中甚感方便。一般有以下幾種:在實際應(yīng)用中甚感方便。一般有以下幾種: 紫外線可擦除型紫外線可擦除型ROMEPROM型單片機型單片機 (如如87C51)。EPROM需用紫外線擦除,必須脫機固化,不能在線改寫。需用紫外線擦除,必須脫機固化,不能在線改寫。 2022-6-78共105頁 電可擦除型電可擦除型ROMEEPROM,隨著微電子技術(shù)的發(fā),隨著微電子技術(shù)的發(fā)展,已開始在單片機中采用,稱為展,已開始在單
7、片機中采用,稱為Flash單片機單片機 (如如89C51)。電可擦除型電可擦除型ROM給用戶帶來了更大的方便,特別是應(yīng)用系統(tǒng)給用戶帶來了更大的方便,特別是應(yīng)用系統(tǒng)的現(xiàn)場調(diào)試。的現(xiàn)場調(diào)試。 EPROM和和EEPROM都是可以多次擦除和編程的,或稱都是可以多次擦除和編程的,或稱MTP的的ROM。 OTP的的 ROM,僅允許用戶一次編程。在應(yīng)用系統(tǒng)或智,僅允許用戶一次編程。在應(yīng)用系統(tǒng)或智能產(chǎn)品的小批量試生產(chǎn)時應(yīng)用,許多單片機廠家都提供該類能產(chǎn)品的小批量試生產(chǎn)時應(yīng)用,許多單片機廠家都提供該類產(chǎn)品。產(chǎn)品。 片外只讀存儲器片外只讀存儲器 由于受芯片集成度的限制,片內(nèi)只讀存儲器一般存儲由于受芯片集成度的限制
8、,片內(nèi)只讀存儲器一般存儲容量較小,給使用帶來不便。利用單片機的并行或串行擴展容量較小,給使用帶來不便。利用單片機的并行或串行擴展技術(shù)可以外擴片外只讀存儲器。技術(shù)可以外擴片外只讀存儲器。2022-6-79共105頁3. 數(shù)據(jù)存儲器(數(shù)據(jù)存儲器(RAM) 在單片機中,用隨機存取存儲器(在單片機中,用隨機存取存儲器(RAMRAM)來存儲程序)來存儲程序在運行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲器。一在運行期間的工作變量和數(shù)據(jù),所以稱為數(shù)據(jù)存儲器。一般在單片機內(nèi)部設(shè)置一定容量(般在單片機內(nèi)部設(shè)置一定容量(64 B64 B至至384B384B)的)的RAMRAM。這。這樣,小容量的數(shù)據(jù)存儲器以高速樣,
9、小容量的數(shù)據(jù)存儲器以高速RAMRAM的形式集成在單片機內(nèi),的形式集成在單片機內(nèi),以加快單片機運行的速度。而且這種結(jié)構(gòu)的以加快單片機運行的速度。而且這種結(jié)構(gòu)的RAMRAM還可以使存還可以使存儲器的功耗下降很多。儲器的功耗下降很多。 在單片機中,常把寄存器(如工作寄存器、特殊功能在單片機中,常把寄存器(如工作寄存器、特殊功能寄存器、堆棧等)在邏輯上劃分在片內(nèi)寄存器、堆棧等)在邏輯上劃分在片內(nèi)RAM空間中,所以空間中,所以可將單片機內(nèi)部可將單片機內(nèi)部RAM看成是寄存器堆,提高運行速度??闯墒羌拇嫫鞫?,提高運行速度。 當(dāng)內(nèi)部當(dāng)內(nèi)部RAM容量不夠時,還可通過串行總線或并行總?cè)萘坎粔驎r,還可通過串行總線或
10、并行總線外擴數(shù)據(jù)存儲器。線外擴數(shù)據(jù)存儲器。2022-6-710共105頁 4. 并行并行I/O口口 單片機往往提供了許多功能強、使用靈活的并行輸入單片機往往提供了許多功能強、使用靈活的并行輸入/輸輸出引腳,用于檢測與控制。有些出引腳,用于檢測與控制。有些I/O引腳還具有多種功能,引腳還具有多種功能,比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制比如可以作為數(shù)據(jù)總線的數(shù)據(jù)線、地址總線的地址線、控制總線的控制線等。單片機總線的控制線等。單片機I/O引腳的驅(qū)動能力也逐漸增大,引腳的驅(qū)動能力也逐漸增大,甚至可以直接驅(qū)動外擴的甚至可以直接驅(qū)動外擴的LED顯示器。顯示器。 2022-6-711共10
11、5頁5. 串行串行I/O口口 高檔高檔8位單片機均設(shè)置了全雙工串行位單片機均設(shè)置了全雙工串行I/O口,用以實現(xiàn)與某口,用以實現(xiàn)與某些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連些終端設(shè)備進(jìn)行串行通信,或者和一些特殊功能的器件相連的能力,甚至用多個單片機相連構(gòu)成多機系統(tǒng)。隨著應(yīng)用的的能力,甚至用多個單片機相連構(gòu)成多機系統(tǒng)。隨著應(yīng)用的拓寬,有些型號的單片機內(nèi)部還包含有兩個串行拓寬,有些型號的單片機內(nèi)部還包含有兩個串行I/O口???。6. 定時器定時器/計數(shù)器計數(shù)器 在單片機的實際應(yīng)用中,往往需要精確的定時,或者需在單片機的實際應(yīng)用中,往往需要精確的定時,或者需對外部事件進(jìn)行計數(shù)。為了減少軟件開
12、銷和提高單片機的實對外部事件進(jìn)行計數(shù)。為了減少軟件開銷和提高單片機的實時控制能力,因而均在單片機內(nèi)部設(shè)置定時器時控制能力,因而均在單片機內(nèi)部設(shè)置定時器/計數(shù)器電路。計數(shù)器電路。8051共有兩個共有兩個16位的定時器位的定時器/計數(shù)器,計數(shù)器,8052則有三個則有三個16位的定位的定時器時器/計數(shù)器。計數(shù)器。 2022-6-712共105頁7. 中斷系統(tǒng)中斷系統(tǒng) 8051的中斷功能較強,具有內(nèi)、外共五個中斷源,兩個中的中斷功能較強,具有內(nèi)、外共五個中斷源,兩個中斷優(yōu)先級。斷優(yōu)先級。 8定時電路及元件定時電路及元件 計算機的整個工作是在時鐘信號的驅(qū)動下,按照嚴(yán)格的時計算機的整個工作是在時鐘信號的驅(qū)
13、動下,按照嚴(yán)格的時序有規(guī)律地一個節(jié)拍一個節(jié)拍地執(zhí)行各種操作。單片機內(nèi)部設(shè)序有規(guī)律地一個節(jié)拍一個節(jié)拍地執(zhí)行各種操作。單片機內(nèi)部設(shè)有定時電路,只需外接振蕩元件即可工作。有定時電路,只需外接振蕩元件即可工作。 外接振蕩元件一般選用晶體振蕩器,或用價廉的外接振蕩元件一般選用晶體振蕩器,或用價廉的RC振蕩振蕩器,也可用外部時鐘源,作為振蕩元件。近來有的單片機將振器,也可用外部時鐘源,作為振蕩元件。近來有的單片機將振蕩元件也集成在芯片內(nèi)部,這樣不僅大大縮小了單片機的體積,蕩元件也集成在芯片內(nèi)部,這樣不僅大大縮小了單片機的體積,同時也方便了使用。同時也方便了使用。2022-6-713共105頁 MCS-51
14、系列中各種型號芯片的引腳是相互兼容的。制造系列中各種型號芯片的引腳是相互兼容的。制造工藝為工藝為HMOS的的MCS-51的單片機都采用的單片機都采用40只引腳的雙列直插只引腳的雙列直插的封裝(的封裝(DIP)方式,如圖)方式,如圖2-3所示。制造工藝為所示。制造工藝為CHMOS的的80C51/80C52除采用除采用DIP封裝方式外,還采用方形封裝方式,封裝方式外,還采用方形封裝方式,為為44只引腳,如圖只引腳,如圖2-4所示。所示。 40只引腳按其功能來分,可分只引腳按其功能來分,可分3類:類:(1)電源及時鐘引腳:電源及時鐘引腳:VCC,VSS;XTAL1、XTAL2。(2) I/O口引腳:
15、口引腳:P0、P1、P2、P3為為4個個8位位I/O口的外部引腳??诘耐獠恳_。 (3) 控制引腳:控制引腳: 、ALE、 、RST(即即RESET)。8051單片機的引腳及其功能單片機的引腳及其功能 PSENEA2022-6-714共105頁2022-6-715共105頁按引腳的功能可分為三部分按引腳的功能可分為三部分 : 1. 電源和時鐘:電源和時鐘:Vcc(40)運行和程序校驗時接電源正端。運行和程序校驗時接電源正端。 Vss(20)接地。接地。 XTAL1(19)輸入到單片機內(nèi)部振蕩器的反輸入到單片機內(nèi)部振蕩器的反相放大器。當(dāng)采用外部振蕩器時,對相放大器。當(dāng)采用外部振蕩器時,對HMOS
16、單片機單片機, 此引此引腳應(yīng)接地;對腳應(yīng)接地;對CHMOS單片機,此引腳作驅(qū)動端。單片機,此引腳作驅(qū)動端。XTAL2(18)反相放大器的輸出,輸入到內(nèi)反相放大器的輸出,輸入到內(nèi)部時鐘發(fā)生器。當(dāng)采用外部振蕩器時,部時鐘發(fā)生器。當(dāng)采用外部振蕩器時,XTAL2 接收振蕩接收振蕩器信號器信號,對,對CHMOS,此引腳應(yīng)懸浮。,此引腳應(yīng)懸浮。2022-6-716共105頁2. I/O: P08位、漏極開路的雙向位、漏極開路的雙向I/O口???。 當(dāng)使用片外存儲器(當(dāng)使用片外存儲器(ROM及及RAM)時,作低八位地)時,作低八位地址和數(shù)據(jù)總線分時復(fù)用。址和數(shù)據(jù)總線分時復(fù)用。P0口(作為總線時)能驅(qū)動口(作為
17、總線時)能驅(qū)動 8個個 LSTTL負(fù)載。負(fù)載。P18位、準(zhǔn)雙向位、準(zhǔn)雙向I/O 口,具有內(nèi)部上拉電路???,具有內(nèi)部上拉電路。 在編程在編程/校驗期間,用做輸入低位字節(jié)地址。校驗期間,用做輸入低位字節(jié)地址。P1口可以口可以驅(qū)動驅(qū)動 4個個 LSTTL負(fù)載。負(fù)載。 2022-6-717共105頁P28位、準(zhǔn)雙向位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路。口,具有內(nèi)部上拉電路。 當(dāng)使用片外存儲器(當(dāng)使用片外存儲器(ROM及及RAM)時,輸出高)時,輸出高8位地址。位地址。 在編程在編程/校驗期間,接收高位字節(jié)地址。校驗期間,接收高位字節(jié)地址。P2口可以驅(qū)動口可以驅(qū)動4個個LSTTL負(fù)載。負(fù)載。P38位、準(zhǔn)
18、雙向位、準(zhǔn)雙向I/O口,具有內(nèi)部上拉電路???,具有內(nèi)部上拉電路。 P3提供各種替代功能。在提供這些功能時,其輸出鎖存器提供各種替代功能。在提供這些功能時,其輸出鎖存器應(yīng)由程序置應(yīng)由程序置 1。P3口可以輸入口可以輸入/輸出輸出4個個LSTTL負(fù)載。負(fù)載。 串行口:串行口: P3.0RXD 串行輸入口。串行輸入口。 P3.1TXD 串行輸出口。串行輸出口。2022-6-718共105頁 中斷:中斷: P3.2 外部中斷外部中斷0輸入。輸入。 P3.3 外部中斷外部中斷1輸入。輸入。 定時器計數(shù)器:定時器計數(shù)器: P3.4定時器定時器/計數(shù)器計數(shù)器T0 的外部輸入。的外部輸入。 P3.5定時器定時
19、器/計數(shù)器計數(shù)器T1的外部輸入。的外部輸入。 數(shù)據(jù)存儲器選通:數(shù)據(jù)存儲器選通: P3.6WR 低電平有效,輸出,片外存儲器寫選通。低電平有效,輸出,片外存儲器寫選通。 P3.7 RD 低電平有效,輸出,片外存儲器讀選通。低電平有效,輸出,片外存儲器讀選通。2022-6-719共105頁3. 控制線:共控制線:共4根。根。RST(9)復(fù)位輸入信號,高電平有效。在振蕩器工作時,在復(fù)位輸入信號,高電平有效。在振蕩器工作時,在RST上作用上作用兩個機器周期兩個機器周期以上的高電平,將器件復(fù)位。以上的高電平,將器件復(fù)位。VPD為本引腳的第二功能,即備用電源的輸入端。為本引腳的第二功能,即備用電源的輸入端
20、。 EA /Vpp(31)片外程序存儲器訪問允許信號,低電平有效。片外程序存儲器訪問允許信號,低電平有效。EA=1,選擇片內(nèi)程序存儲器,選擇片內(nèi)程序存儲器(80C51為為4KB,80C52為為8KB) ;EA=0,則程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。則程序存儲器全部在片外而不管片內(nèi)是否有程序存儲器。 使用使用80C31時,必須接地,使用時,必須接地,使用8751編程時,施加編程時,施加 21V的編程的編程電壓。電壓。ALE/PROG(30)地址鎖存允許信號,輸出。地址鎖存允許信號,輸出。 在訪問片外存儲器或在訪問片外存儲器或I/O時,用于鎖存低八位地址(時,用于鎖存低八位地址(P
21、0),以),以實現(xiàn)低八位地址與數(shù)據(jù)的隔離。實現(xiàn)低八位地址與數(shù)據(jù)的隔離。2022-6-720共105頁 ALE以以 1/6的振蕩頻率固定速率輸出,每當(dāng)訪問外部數(shù)據(jù)存的振蕩頻率固定速率輸出,每當(dāng)訪問外部數(shù)據(jù)存儲器時(即執(zhí)行儲器時(即執(zhí)行MOVX類指令),在兩個機器周期中類指令),在兩個機器周期中ALE只出只出現(xiàn)一次,即丟失一個現(xiàn)一次,即丟失一個ALE脈沖??捎脕頇z測單片機芯片的好壞。脈沖??捎脕頇z測單片機芯片的好壞。 為本引腳的第二功能。在對內(nèi)為本引腳的第二功能。在對內(nèi)EPROM型單片機(例如型單片機(例如8751)編程寫入時,此引腳作為編程脈沖輸入端。)編程寫入時,此引腳作為編程脈沖輸入端。 A
22、LE可以驅(qū)動可以驅(qū)動8個個LSTTL負(fù)載。負(fù)載。PSEN(29)片外程序存儲器讀選通信號,低電平有效。片外程序存儲器讀選通信號,低電平有效。 在從片外程序存儲器取指期間,在每個機器周期中,當(dāng)有在從片外程序存儲器取指期間,在每個機器周期中,當(dāng)有效時,程序存儲器的內(nèi)容被送上效時,程序存儲器的內(nèi)容被送上 P0口(數(shù)據(jù)總線)。口(數(shù)據(jù)總線)。 可以驅(qū)動可以驅(qū)動 8個個LSTTL負(fù)載。負(fù)載。PROG2022-6-721共105頁中央處理器中央處理器CPU是單片機內(nèi)部的核心部件,主要包是單片機內(nèi)部的核心部件,主要包括控制器、運算器和工作寄存器及時序電路。括控制器、運算器和工作寄存器及時序電路。8051 C
23、PU的結(jié)構(gòu)和特點的結(jié)構(gòu)和特點2022-6-722共105頁 運算器主要用來實現(xiàn)對操作數(shù)的算術(shù)邏輯運算和位操作的。運算器主要用來實現(xiàn)對操作數(shù)的算術(shù)邏輯運算和位操作的。如對傳送到如對傳送到CPU的數(shù)據(jù)進(jìn)行加、減、乘、除、比較、的數(shù)據(jù)進(jìn)行加、減、乘、除、比較、BCD碼校碼校正等算術(shù)運算;正等算術(shù)運算;“與與”、“或或”、“異或異或”等邏輯操作;移位、等邏輯操作;移位、置位、清零、取反、加置位、清零、取反、加1、減、減1等操作。等操作。 8051的的ALU還具有極強的位處理功能,如位置還具有極強的位處理功能,如位置1、位清零、位清零、位位“與與”、位、位“或或”等操作,對等操作,對“面向控制面向控制”
24、特別有用。特別有用。 運算器主要包括算術(shù)邏輯運算單元運算器主要包括算術(shù)邏輯運算單元ALUALU、累加器、累加器ACCACC(A A)、)、暫存寄存器、暫存寄存器、B B寄存器、程序狀態(tài)標(biāo)志寄存器寄存器、程序狀態(tài)標(biāo)志寄存器PSWPSW以及以及BCDBCD碼運碼運算修正電路等。算修正電路等。 2.3.2 運算器運算器運算器運算器2022-6-723共105頁ALU有兩個輸入:有兩個輸入: 通過暫存器通過暫存器1的輸入:輸入數(shù)據(jù)來自寄存器、直接尋址單元的輸入:輸入數(shù)據(jù)來自寄存器、直接尋址單元(含(含I/O口)、內(nèi)部口)、內(nèi)部RAM、寄存器、寄存器B或是立即數(shù)?;蚴橇⒓磾?shù)。 通過暫存器通過暫存器 2或
25、累加器或累加器 ACC的輸入:通過暫存器的輸入:通過暫存器 2的運算的的運算的指令有指令有 ANL direct, data ORL direct, data XRL direct, data 其它的運算,其輸入之一大多數(shù)要通過累加器其它的運算,其輸入之一大多數(shù)要通過累加器ACC。ALU有兩個輸出有兩個輸出: 數(shù)據(jù)經(jīng)過運算后,其結(jié)果又通過內(nèi)部總線送回到累加器中;數(shù)據(jù)經(jīng)過運算后,其結(jié)果又通過內(nèi)部總線送回到累加器中; 數(shù)據(jù)運算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字?jǐn)?shù)據(jù)運算后產(chǎn)生的標(biāo)志位輸出至程序狀態(tài)字 PSW。 2022-6-724共105頁累加器累加器A 累加器累加器A是是CPU中使用最頻繁的一個八位專
26、用寄存器,簡稱中使用最頻繁的一個八位專用寄存器,簡稱ACC或或A寄存器。主要功能:累加器寄存器。主要功能:累加器A存放操作數(shù),是存放操作數(shù),是ALU單元單元的輸入之一,也是的輸入之一,也是ALU運算結(jié)果的暫存單元。運算結(jié)果的暫存單元。 在在8051中只有一個累加器中只有一個累加器A,而單片機中大部分?jǐn)?shù)據(jù)操作都要,而單片機中大部分?jǐn)?shù)據(jù)操作都要通過累加器通過累加器A進(jìn)行,容易產(chǎn)生進(jìn)行,容易產(chǎn)生“瓶頸瓶頸”現(xiàn)象?,F(xiàn)象。 累加器累加器A的進(jìn)位標(biāo)志的進(jìn)位標(biāo)志Cy是特殊的,因為它同時又是位處理機是特殊的,因為它同時又是位處理機的位累加器。(的位累加器。(17條位操作指令)條位操作指令) B寄存器寄存器 B
27、寄存器在乘法和除法指令中作為寄存器在乘法和除法指令中作為ALU的輸入之一。乘法中,的輸入之一。乘法中,ALU的兩個輸入分別為的兩個輸入分別為A、B,運算結(jié)果存放在,運算結(jié)果存放在AB寄存器對中寄存器對中A中中放積的低放積的低8位,位,B中放積的高中放積的高8位。位。 除法中,被除數(shù)取自除法中,被除數(shù)取自A,除數(shù)取,除數(shù)取自自B,商數(shù)存放于,商數(shù)存放于A,余數(shù)存放于,余數(shù)存放于B。 在其它情況下,在其它情況下,B寄存器可以作為內(nèi)部寄存器可以作為內(nèi)部RAM中的一個單元來中的一個單元來使用。使用。 2022-6-725共105頁程序狀態(tài)字程序狀態(tài)字PSW PSW(Program Status Wor
28、d)是一個逐位定義的)是一個逐位定義的8位寄存器,位寄存器,其內(nèi)容的主要部分是算術(shù)邏輯運算單元(其內(nèi)容的主要部分是算術(shù)邏輯運算單元(ALU)的輸出。其中有)的輸出。其中有些位是根據(jù)指令執(zhí)行結(jié)果,由硬件自動生成,而有些位狀態(tài)可用些位是根據(jù)指令執(zhí)行結(jié)果,由硬件自動生成,而有些位狀態(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碼運算。碼運算。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頁特別提示特別提示 在串行通信中,常以奇偶校驗位來檢驗傳輸數(shù)據(jù)的可靠性。在串行通信中,常以奇偶校驗位來檢驗傳輸數(shù)據(jù)的可靠性。通常將通常將P置入串行幀中的奇偶校驗位。置入串行幀中的奇偶校驗位。 F0 (PSW5) 用戶標(biāo)志位。用戶標(biāo)志位。 開機時該位為開機時該位為“0”。用戶可根據(jù)需要,通過位操作指令置。用戶可根
30、據(jù)需要,通過位操作指令置“l(fā)”或者清或者清“0”。RS1、RS0 (PSW.4、PSW.3) 工作寄存器組選擇位工作寄存器組選擇位 用于設(shè)定當(dāng)前工作寄存器的組號。工作寄存器共有四組,用于設(shè)定當(dāng)前工作寄存器的組號。工作寄存器共有四組,其對應(yīng)關(guān)系其對應(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頁 OV (PSW2) 溢出標(biāo)志位。溢出標(biāo)志位。 當(dāng)執(zhí)行運算指令時,由硬件置位或清除,以指示運算是當(dāng)執(zhí)行運算指令時,由硬件置位或清除,以
31、指示運算是否產(chǎn)生溢出,否產(chǎn)生溢出,OV置位表示運算結(jié)果超出了目的寄存器置位表示運算結(jié)果超出了目的寄存器A所能所能表示的帶符號數(shù)的范圍(一表示的帶符號數(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)位(借位借位)時;或當(dāng)位時;或當(dāng)位7向向C進(jìn)位進(jìn)位(借位借位)而位而位6不向位不向位7進(jìn)位進(jìn)位(借位借位)時,時,OV標(biāo)志置位,表示帶標(biāo)志置位,表示帶符號數(shù)運算時運算結(jié)果是錯誤的;否則,清除符號數(shù)運算時運算結(jié)果是錯誤的;否則,清除OV標(biāo)志,運算標(biāo)志,運算結(jié)果正
32、確。結(jié)果正確。 對于對于MUL乘法,當(dāng)乘法,當(dāng)A、B兩個乘數(shù)的積超過兩個乘數(shù)的積超過255時時OV置位;置位;否則,否則,OV0。因此,若。因此,若OV0時,只需從時,只需從A寄存器中取積;寄存器中取積;若若OV1時,則需從時,則需從B、A寄存器對中取積。寄存器對中取積。 對于對于DIV除法,若除數(shù)為除法,若除數(shù)為0時,時,OV=1;否則,;否則,OV=0。 特別提示特別提示2022-6-728共105頁 中央控制器是識別指令,并根據(jù)指令性質(zhì)控制計中央控制器是識別指令,并根據(jù)指令性質(zhì)控制計算機各組成部件進(jìn)行工作的部件,與運算器一起構(gòu)成算機各組成部件進(jìn)行工作的部件,與運算器一起構(gòu)成中央處理器。在
33、中央處理器。在8051單片機中,控制器包括程序計數(shù)單片機中,控制器包括程序計數(shù)器器PC、程序地址寄存器、指令寄存器、程序地址寄存器、指令寄存器IR、指令譯碼器、指令譯碼器、條件轉(zhuǎn)移邏輯電路及定時控制邏輯電路。條件轉(zhuǎn)移邏輯電路及定時控制邏輯電路。 其功能是控制指令的讀出、譯碼和執(zhí)行,對指令其功能是控制指令的讀出、譯碼和執(zhí)行,對指令的執(zhí)行過程進(jìn)行定時控制,并根據(jù)執(zhí)行結(jié)果決定是否的執(zhí)行過程進(jìn)行定時控制,并根據(jù)執(zhí)行結(jié)果決定是否分支轉(zhuǎn)移。分支轉(zhuǎn)移??刂破骺刂破?022-6-729共105頁1. 程序計數(shù)器程序計數(shù)器PC 程序計數(shù)器程序計數(shù)器PC(Program Counter)是一個獨立的計)是一個獨立
34、的計數(shù)器,不屬于內(nèi)部的特殊功能寄存器。數(shù)器,不屬于內(nèi)部的特殊功能寄存器。PC中存放的是下一中存放的是下一條將要從程序存儲器中取出的指令的地址。條將要從程序存儲器中取出的指令的地址。其基本的工作過程是:讀指令時,程序計數(shù)器其基本的工作過程是:讀指令時,程序計數(shù)器PC將將其中的數(shù)作為所取指令的地址輸出給程序存儲器,然后程序其中的數(shù)作為所取指令的地址輸出給程序存儲器,然后程序存儲器按此地址輸出指令字節(jié),同時程序計數(shù)器存儲器按此地址輸出指令字節(jié),同時程序計數(shù)器PC本身自本身自動加動加1,指向下一條指令地址。程序計數(shù)器,指向下一條指令地址。程序計數(shù)器PC變化的軌跡決變化的軌跡決定程序的流程。定程序的流程
35、。 在執(zhí)行條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時,程序計數(shù)器將在執(zhí)行條件轉(zhuǎn)移或無條件轉(zhuǎn)移指令時,程序計數(shù)器將被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。被置入轉(zhuǎn)移的目的地址,程序的流向發(fā)生變化。 在執(zhí)行調(diào)用指令或響應(yīng)中斷時,將子程序的入口地址在執(zhí)行調(diào)用指令或響應(yīng)中斷時,將子程序的入口地址或者中斷矢量地址送入或者中斷矢量地址送入PC,程序流向發(fā)生變化。,程序流向發(fā)生變化。2022-6-730共105頁2. 數(shù)據(jù)指針數(shù)據(jù)指針 DPTR DPTR是一個是一個16位的特殊功能寄存器,主要功能是作為位的特殊功能寄存器,主要功能是作為片外數(shù)據(jù)存儲器或片外數(shù)據(jù)存儲器或I/O尋址用的地址寄存器(間接尋址),尋址用的地址寄存
36、器(間接尋址),故稱為數(shù)據(jù)存儲器地址指針。故稱為數(shù)據(jù)存儲器地址指針。 訪問片外數(shù)據(jù)存儲器或訪問片外數(shù)據(jù)存儲器或I/O的指令為:的指令為: MOVX A,DPTR 讀讀 MOVX DPTR,A 寫寫 DPTR寄存器也可以作為訪問程序存儲器時的基址寄寄存器也可以作為訪問程序存儲器時的基址寄存器。這時尋址程序存儲器中的表格、常數(shù)等單元,而不存器。這時尋址程序存儲器中的表格、常數(shù)等單元,而不是尋址指令。是尋址指令。 MOVCA,ADPTR JMPADPTR2022-6-731共105頁 DPTR寄存器既可以作為一個寄存器既可以作為一個16位寄存器處理,也可以作位寄存器處理,也可以作為兩個為兩個8位寄存
37、器處理,其高位寄存器處理,其高8位用位用DPH表示,低表示,低8位用位用DPL表表示示。 在在8051中,兩個地址寄存器,即程序計數(shù)器中,兩個地址寄存器,即程序計數(shù)器PC與數(shù)據(jù)指與數(shù)據(jù)指針針DPTR,有相同之處,也有,有相同之處,也有差別差別: 兩者都是與地址有關(guān)的兩者都是與地址有關(guān)的16位的寄存器。其中位的寄存器。其中PC與程與程序存儲器的地址有關(guān),而序存儲器的地址有關(guān),而 DPTR與數(shù)據(jù)存儲器的地址有關(guān)。作與數(shù)據(jù)存儲器的地址有關(guān)。作為地址寄存器使用時為地址寄存器使用時PC與與DPTR都是通過都是通過P0和和P2口輸出的??谳敵龅?。PC的輸出與的輸出與ALE及及 信號有關(guān);信號有關(guān);DPTR
38、的輸出,則與的輸出,則與ALE WR、RD 信號有關(guān)。信號有關(guān)。 PC只能作為只能作為16位寄存器對待。位寄存器對待。PC是不可以訪問的,是不可以訪問的,它不屬于特殊功能寄存器,有自己獨特的變化方式。它不屬于特殊功能寄存器,有自己獨特的變化方式。DPTR可可以作為以作為16位寄存器,也可以作為兩個位寄存器,也可以作為兩個8位寄存器,位寄存器,DPTR是可是可以訪問的,以訪問的,DPL和和DPH都位于特殊功能寄存器區(qū)中。都位于特殊功能寄存器區(qū)中。 PSEN2022-6-732共105頁3. 指令寄存器指令寄存器IR、指令譯碼器及控制邏輯、指令譯碼器及控制邏輯 指令寄存器指令寄存器IR是用來存放指
39、令操作碼的專用寄存器。執(zhí)是用來存放指令操作碼的專用寄存器。執(zhí)行程序時,首先進(jìn)行程序存儲器的讀操作,也就是根據(jù)程序行程序時,首先進(jìn)行程序存儲器的讀操作,也就是根據(jù)程序計數(shù)器給出的地址從程序存儲器中取出指令,送指令寄存器計數(shù)器給出的地址從程序存儲器中取出指令,送指令寄存器IR,IR的輸出送指令譯碼器;然后由指令譯碼器對該指令進(jìn)的輸出送指令譯碼器;然后由指令譯碼器對該指令進(jìn)行譯碼,譯碼結(jié)果送定時控制邏輯電路,如圖行譯碼,譯碼結(jié)果送定時控制邏輯電路,如圖25所示。所示。 定時控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時定時控制邏輯電路則根據(jù)指令的性質(zhì)發(fā)出一系列定時控制信號,控制計算機的各組成部件進(jìn)行相應(yīng)
40、的工作,執(zhí)行控制信號,控制計算機的各組成部件進(jìn)行相應(yīng)的工作,執(zhí)行指令。指令。 條件轉(zhuǎn)移邏輯電路主要用來控制程序的分支轉(zhuǎn)移。在條件轉(zhuǎn)移邏輯電路主要用來控制程序的分支轉(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頁圖圖25 指令寄存器和指令譯碼器指令寄存器和指令譯碼器2022-6-734共105頁 時鐘電路用于產(chǎn)生單片機工作所需要的時鐘
41、信號,而時鐘電路用于產(chǎn)生單片機工作所需要的時鐘信號,而時序時序所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片所研究的是指令執(zhí)行中各信號之間的相互關(guān)系。單片機本身就如一個復(fù)雜的同步時序電路,為了保證同步工作機本身就如一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時方式的實現(xiàn),電路應(yīng)在唯一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作。序進(jìn)行工作。 時鐘電路及時鐘電路及CPU的工作時序的工作時序2022-6-735共105頁 1. 時鐘電路時鐘電路 8051內(nèi)帶有時鐘電路,在片外通過內(nèi)帶有時鐘電路,在片外通過XTAL1和和XTAL2引腳引腳接入定時控制元件(晶體振蕩
42、器和電容),構(gòu)成一個穩(wěn)定的自接入定時控制元件(晶體振蕩器和電容),構(gòu)成一個穩(wěn)定的自激振蕩器。在激振蕩器。在8051芯片內(nèi)部有一個高增益反相放大器,而在芯芯片內(nèi)部有一個高增益反相放大器,而在芯片的外部,片的外部,XTAL1和和XTAL2之間跨接晶體振蕩器和微調(diào)電容。之間跨接晶體振蕩器和微調(diào)電容。8051的時鐘電路如圖的時鐘電路如圖26所示。所示。 振蕩器的工作頻率一般在振蕩器的工作頻率一般在1.212 MHz之間,由于制造工藝之間,由于制造工藝的改進(jìn),有些單片機的頻率范圍正向兩端延伸,高端可達(dá)的改進(jìn),有些單片機的頻率范圍正向兩端延伸,高端可達(dá)40 MHZ,低端可達(dá)幾,低端可達(dá)幾Hz。 時鐘電路產(chǎn)
43、生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才時鐘電路產(chǎn)生的振蕩脈沖經(jīng)過觸發(fā)器進(jìn)行二分頻之后,才成為單片機的時鐘脈沖信號。注意成為單片機的時鐘脈沖信號。注意時鐘脈沖與振蕩脈沖之間的時鐘脈沖與振蕩脈沖之間的二分頻關(guān)系二分頻關(guān)系,否則會造成概念上的錯誤。,否則會造成概念上的錯誤。 在由多片單片機組成的系統(tǒng)中,為了同步,應(yīng)當(dāng)引入唯一在由多片單片機組成的系統(tǒng)中,為了同步,應(yīng)當(dāng)引入唯一的公用外部脈沖信號作為各單片機的振蕩脈沖。外部脈沖時鐘的公用外部脈沖信號作為各單片機的振蕩脈沖。外部脈沖時鐘源接法如圖源接法如圖27所示。所示。 2022-6-736共105頁8051XTAL1C1晶振XTAL2至內(nèi)部時鐘電路1
44、C2VCC8051XTAL2VSS外部時鐘信號TTL1XTAL1圖2-6 時鐘振蕩電路圖2-7 外部脈沖時鐘源接法2022-6-737共105頁2時序定時單位時序定時單位 單片機執(zhí)行指令是在時序電路的控制下一步一步進(jìn)行的。單片機執(zhí)行指令是在時序電路的控制下一步一步進(jìn)行的。時序是用定時單位來說明的。時序是用定時單位來說明的。8051的時序定時單位共有的時序定時單位共有4個:節(jié)個:節(jié)拍、狀態(tài)、機器周期和指令周期。拍、狀態(tài)、機器周期和指令周期。(1)節(jié)拍節(jié)拍P 振蕩脈沖的周期稱為節(jié)拍振蕩脈沖的周期稱為節(jié)拍。(2) 狀態(tài)狀態(tài)S 一個狀態(tài)一個狀態(tài)S包含兩個節(jié)拍,其前半周期對應(yīng)的節(jié)拍叫包含兩個節(jié)拍,其前半
45、周期對應(yīng)的節(jié)拍叫P1,后半周期對應(yīng)的節(jié)拍叫后半周期對應(yīng)的節(jié)拍叫P2 (3) 機器周期機器周期8051采用定時控制方式,因此它有固定的機器周期。采用定時控制方式,因此它有固定的機器周期。2022-6-738共105頁規(guī)定一個機器周期的寬度為規(guī)定一個機器周期的寬度為6個狀態(tài),并依次表示為個狀態(tài),并依次表示為S1S6。由。由于一個機器周期共有于一個機器周期共有12個振蕩脈沖周期,因此機器周期就是振個振蕩脈沖周期,因此機器周期就是振蕩脈沖的蕩脈沖的12分頻。分頻。 振蕩脈沖頻率為振蕩脈沖頻率為 12 MHZ時,一個機器周期為時,一個機器周期為 lS; 振蕩脈沖頻率為振蕩脈沖頻率為6MHZ時,一個機器周
46、期為時,一個機器周期為2 S。 機器周期機器周期是單片機的最小時間單位。是單片機的最小時間單位。(4) 指令周期指令周期 執(zhí)行一條指令所需要的時間稱為指令周期。它是執(zhí)行一條指令所需要的時間稱為指令周期。它是最大的時最大的時序定時單位序定時單位。8051的指令周期根據(jù)指令的不同,有一、二、四的指令周期根據(jù)指令的不同,有一、二、四個機器周期。當(dāng)振蕩脈沖頻率為個機器周期。當(dāng)振蕩脈沖頻率為 12 MHZ時,時,8051的一條指令的一條指令執(zhí)行的時間最短為執(zhí)行的時間最短為lS,最長為,最長為4S。2022-6-739共105頁3. 8051指令時序指令時序 8051共有共有111條指令,全部指令按其長度
47、可分為單字節(jié)指條指令,全部指令按其長度可分為單字節(jié)指令、雙字節(jié)指令和三字節(jié)指令。令、雙字節(jié)指令和三字節(jié)指令。 圖圖2-8所表示的是幾種典型單機器周期和雙機器周期指令所表示的是幾種典型單機器周期和雙機器周期指令的時序。的時序。 圖中的圖中的ALE信號是為地址鎖存而定義的,該信號每有效信號是為地址鎖存而定義的,該信號每有效一次對應(yīng)單片機進(jìn)行一次讀指令操作。一次對應(yīng)單片機進(jìn)行一次讀指令操作。ALE信號以振蕩脈沖信號以振蕩脈沖六分之一的頻率出現(xiàn),因此,在一個機器周期中,六分之一的頻率出現(xiàn),因此,在一個機器周期中,ALE信號信號兩次有效,第一次在兩次有效,第一次在S1P2和和S2P1期間,第二次在期間,
48、第二次在S4P2和和S5P1期間,有效寬度為一個狀態(tài)周期期間,有效寬度為一個狀態(tài)周期S。2022-6-740共105頁圖圖28 80C51單片微機指令時序單片微機指令時序2022-6-741共105頁(1)單字節(jié)單周期指令(例如)單字節(jié)單周期指令(例如 INC A) 只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€只需進(jìn)行一次讀指令操作。當(dāng)?shù)诙€ALE有效時,由于有效時,由于PC沒沒有加有加1,所以讀出的還是原指令。,所以讀出的還是原指令。(2)雙字節(jié)單周期指令(例如)雙字節(jié)單周期指令(例如 ADD A,data) ALE的兩次讀操作都是有效的,第一次是讀指令操作碼,第的兩次讀操作都是有效的,第一次是讀指令操
49、作碼,第二次是讀指令第二字節(jié)。二次是讀指令第二字節(jié)。(3)單字節(jié)雙周期指令(例如)單字節(jié)雙周期指令(例如 INC DPTR) 兩個機器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀兩個機器周期共進(jìn)行四次讀指令的操作,但其中后三次的讀操作全是無效的。操作全是無效的。 (4) 單字節(jié)雙周期指令(例如單字節(jié)雙周期指令(例如MOVX類指令)類指令) MOVX類指令情況有所不同。因為執(zhí)行這類指令時,先在類指令情況有所不同。因為執(zhí)行這類指令時,先在ROM讀取指令,然后對外部讀取指令,然后對外部RAM進(jìn)行讀進(jìn)行讀/寫操作。第一機器周期寫操作。第一機器周期時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀
50、時,與其它指令一樣,第一次讀指令(操作碼)有效,第二次讀指令操作無效。第二周期時,進(jìn)行外部指令操作無效。第二周期時,進(jìn)行外部RAM訪問,此時與訪問,此時與ALE信信號無關(guān),因此,不產(chǎn)生讀指令操作。號無關(guān),因此,不產(chǎn)生讀指令操作。2022-6-742共105頁 單片機的存儲器有兩種基本結(jié)構(gòu):一種是在通用微單片機的存儲器有兩種基本結(jié)構(gòu):一種是在通用微型計算機中廣泛采用的將程序和數(shù)據(jù)合用一個存儲器空型計算機中廣泛采用的將程序和數(shù)據(jù)合用一個存儲器空間的結(jié)構(gòu),稱為普林斯頓(間的結(jié)構(gòu),稱為普林斯頓(Princeton)結(jié)構(gòu);另一種是)結(jié)構(gòu);另一種是將程序存儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),將程序存
51、儲器和數(shù)據(jù)存儲器截然分開,分別尋址的結(jié)構(gòu),稱為哈佛(稱為哈佛(Haryard)結(jié)構(gòu)。)結(jié)構(gòu)。MCS51系列單片機采系列單片機采用哈佛結(jié)構(gòu)。圖用哈佛結(jié)構(gòu)。圖29為為8051單片機存儲器映象圖。單片機存儲器映象圖。 在物理上設(shè)有在物理上設(shè)有4個存儲器空間個存儲器空間 程序存儲器:程序存儲器: 片內(nèi)程序存儲器;片內(nèi)程序存儲器; 片外程序存儲器。片外程序存儲器。 數(shù)據(jù)存儲器:數(shù)據(jù)存儲器: 片內(nèi)數(shù)據(jù)存儲器;片內(nèi)數(shù)據(jù)存儲器; 片外數(shù)據(jù)存儲器。片外數(shù)據(jù)存儲器。存儲器結(jié)構(gòu)和地址空間存儲器結(jié)構(gòu)和地址空間2022-6-743共105頁2022-6-744共105頁 在邏輯上設(shè)有在邏輯上設(shè)有3個存儲器地址空間個存儲
52、器地址空間 片內(nèi)、片外統(tǒng)一的片內(nèi)、片外統(tǒng)一的 64 KB程序存儲器地址空間程序存儲器地址空間;MOVC 片內(nèi)片內(nèi)256B數(shù)據(jù)存儲器地址空間;數(shù)據(jù)存儲器地址空間;MOV 片外片外64 KB的數(shù)據(jù)存儲器地址空間。的數(shù)據(jù)存儲器地址空間。MOVX 在訪問這在訪問這3個不同的邏輯空間時,應(yīng)選用不同形式的指令。個不同的邏輯空間時,應(yīng)選用不同形式的指令。 片內(nèi)數(shù)據(jù)存儲器空間,在物理上又包含兩部分:片內(nèi)數(shù)據(jù)存儲器空間,在物理上又包含兩部分: 對于對于8051型單片微機,從型單片微機,從0127 B為片內(nèi)數(shù)據(jù)存儲器空間;為片內(nèi)數(shù)據(jù)存儲器空間;從從128255 B為特殊功能寄存器為特殊功能寄存器(SFR)空間(僅
53、占用空間(僅占用21個字節(jié))。個字節(jié))。 2022-6-745共105頁對于對于8052型單片機,從型單片機,從0127B為片內(nèi)數(shù)據(jù)存儲器空間;從為片內(nèi)數(shù)據(jù)存儲器空間;從128255 B共共128個字節(jié)是數(shù)據(jù)存儲器和特殊功能寄存器地址個字節(jié)是數(shù)據(jù)存儲器和特殊功能寄存器地址重疊空間。重疊空間。8051有三種基本的尋址空間:有三種基本的尋址空間: 64 KB的片內(nèi)、外程序存儲器尋址空間;的片內(nèi)、外程序存儲器尋址空間; 64 KB的片外數(shù)據(jù)存儲器尋址空間;的片外數(shù)據(jù)存儲器尋址空間; 256B的片內(nèi)數(shù)據(jù)存儲器尋址空間,其中包括特殊功能寄的片內(nèi)數(shù)據(jù)存儲器尋址空間,其中包括特殊功能寄存器尋址空間。存器尋址
54、空間。 2022-6-746共105頁8051的程序存儲器(的程序存儲器(program memory)用于存放經(jīng)調(diào)試)用于存放經(jīng)調(diào)試正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用正確的應(yīng)用程序和表格之類的固定常數(shù)。由于采用16位的程序計位的程序計數(shù)器數(shù)器 PC和和16位的地址總線,因而其可擴展的地址空間為位的地址總線,因而其可擴展的地址空間為64 KB。 整個程序存儲器可以分為片內(nèi)和片外兩部分。整個程序存儲器可以分為片內(nèi)和片外兩部分。 EA引腳接高電平時,程序從片內(nèi)程序存儲器引腳接高電平時,程序從片內(nèi)程序存儲器0000H開始執(zhí)行,開始執(zhí)行,即訪問片內(nèi)存儲器;當(dāng)即訪問片內(nèi)存儲器;當(dāng)PC值超出片內(nèi)
55、值超出片內(nèi)ROM容量時,會自動轉(zhuǎn)向容量時,會自動轉(zhuǎn)向片外程序存儲器空間執(zhí)行。片外程序存儲器空間執(zhí)行。 EA引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器引腳接低電平時,迫使系統(tǒng)全部執(zhí)行片外程序存儲器0000H開始存放的程序。開始存放的程序。 對于片內(nèi)無對于片內(nèi)無ROM的的8031/8032單片機,應(yīng)將單片機,應(yīng)將EA引腳固定接低引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。程序存儲器程序存儲器2022-6-747共105頁 程序存儲器的某些單元被保留用于特定的程序入口程序存儲器的某些單元被保留用于特定的程序入口地址。地址。 由于系統(tǒng)復(fù)位后的
56、由于系統(tǒng)復(fù)位后的PC地址為地址為0000H,故系統(tǒng)從,故系統(tǒng)從0000H單單元開始取指,執(zhí)行程序。從元開始取指,執(zhí)行程序。從0003H002AH單元被保留用于單元被保留用于5個中斷源的中斷服務(wù)程序的入口地址。個中斷源的中斷服務(wù)程序的入口地址。2022-6-748共105頁以下以下6個特定地址被保留:個特定地址被保留: 復(fù)位復(fù)位0000H 外部中斷外部中斷0 0003H 計時器計時器T0溢出溢出 000BH 外部中斷外部中斷1 0013H 計時器計時器T1溢出溢出 001BH 串行口中斷串行口中斷 0023H 計時器計時器 T2/T2EX 002BH(52子系列)子系列) 在程序設(shè)計時,通常在這
57、些中斷入口處設(shè)置無條件在程序設(shè)計時,通常在這些中斷入口處設(shè)置無條件轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。轉(zhuǎn)移指令,使之轉(zhuǎn)向?qū)?yīng)的中斷服務(wù)程序段處執(zhí)行。注意:注意:片內(nèi)程序存儲器為只讀存儲器片內(nèi)程序存儲器為只讀存儲器ROM。2022-6-749共105頁數(shù)據(jù)存儲器(數(shù)據(jù)存儲器(data memory)由隨機存取存儲器)由隨機存取存儲器RAM構(gòu)成,用來存放隨機數(shù)據(jù)。構(gòu)成,用來存放隨機數(shù)據(jù)。 在在 8 0 5 1 中 , 數(shù) 據(jù) 存 儲 器 又 分 片 內(nèi) 數(shù) 據(jù) 存 儲 器中 , 數(shù) 據(jù) 存 儲 器 又 分 片 內(nèi) 數(shù) 據(jù) 存 儲 器(internal data memory)和片外數(shù)據(jù)存
58、儲器()和片外數(shù)據(jù)存儲器(external data memory)兩部分。)兩部分。片內(nèi)數(shù)據(jù)存儲器(片內(nèi)數(shù)據(jù)存儲器(IRAM)地址只有)地址只有8位,因而最大尋位,因而最大尋址范圍為址范圍為256個字節(jié)。個字節(jié)。在在8051中,設(shè)置有一個專門的數(shù)據(jù)存儲器的地址指示中,設(shè)置有一個專門的數(shù)據(jù)存儲器的地址指示器器數(shù)據(jù)指針數(shù)據(jù)指針DPTR,用于訪問片外數(shù)據(jù)存儲器(,用于訪問片外數(shù)據(jù)存儲器(ERAM)。)。數(shù)據(jù)指針數(shù)據(jù)指針DPTR也是也是16位的寄存器,這樣,就使位的寄存器,這樣,就使8051具有具有64 KB的數(shù)據(jù)存儲器擴展能力。的數(shù)據(jù)存儲器擴展能力。內(nèi)部數(shù)據(jù)存儲器內(nèi)部數(shù)據(jù)存儲器2022-6-750
59、共105頁 片內(nèi)數(shù)據(jù)存儲器是最靈活的地址空間。它在物理上片內(nèi)數(shù)據(jù)存儲器是最靈活的地址空間。它在物理上又分成兩個獨立的不同功能區(qū)。又分成兩個獨立的不同功能區(qū)。 片內(nèi)數(shù)據(jù)片內(nèi)數(shù)據(jù)RAM區(qū):對區(qū):對8051,為地址空間的低,為地址空間的低128 B; 對對8052,為地址空間的,為地址空間的0255B。 特殊功能寄存器特殊功能寄存器SFR區(qū):地址空間的高區(qū):地址空間的高 128 B。對于對于8052,高,高128B的的RAM區(qū)和區(qū)和SFR區(qū)的地址空間區(qū)的地址空間是重疊的。究竟訪問哪一個區(qū)是通過不同的尋址方式來加是重疊的。究竟訪問哪一個區(qū)是通過不同的尋址方式來加以區(qū)別,即訪問高以區(qū)別,即訪問高 128
60、B RAM區(qū)時,選用間接尋址方式;區(qū)時,選用間接尋址方式;訪問訪問SFR區(qū),則應(yīng)選用直接尋址方式。區(qū),則應(yīng)選用直接尋址方式。 圖圖2-10為片內(nèi)數(shù)據(jù)存儲器的地址空間分布圖。為片內(nèi)數(shù)據(jù)存儲器的地址空間分布圖。2022-6-751共105頁 圖圖210 片內(nèi)數(shù)據(jù)存儲器各部分地址空間分布圖片內(nèi)數(shù)據(jù)存儲器各部分地址空間分布圖 2022-6-752共105頁 片內(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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美容院員工社會保險繳納合同樣本4篇
- 課題申報參考:面向2035年高等教育布局結(jié)構(gòu)研究
- 民政局2025年離婚協(xié)議書起草與備案流程指導(dǎo)4篇
- 2025年度門頭房屋租賃合同含租賃用途及經(jīng)營方向限制4篇
- 河南省周口中英文學(xué)校高三上學(xué)期期中考試語文試題(含答案)
- 2025年度個人二手房交易反擔(dān)保合同規(guī)范2篇
- 2025年度個人汽車貨運風(fēng)險分擔(dān)合同范本
- 2025年度門禁監(jiān)控設(shè)備生產(chǎn)與銷售合同8篇
- 2025年度水電工程合同履約監(jiān)管承包協(xié)議4篇
- 2025年度木結(jié)構(gòu)建筑綠色施工與環(huán)保驗收合同4篇
- 2025年中國文玩電商行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報告
- 2024文旅古街元旦沉浸式體驗國風(fēng)游園會(古巷十二時辰主題)活動方案活動-46正式版
- 英語-2025廣西柳州高三二模試卷和答案
- 電工中級工練習(xí)題庫(含參考答案)
- 學(xué)校幫扶工作計劃
- 期末綜合試卷(試題)2024-2025學(xué)年人教版數(shù)學(xué)五年級上冊(含答案)
- UL2034標(biāo)準(zhǔn)中文版-2017一氧化碳報警器UL中文版標(biāo)準(zhǔn)
- 感恩的心培訓(xùn)資料
- 《精密板料矯平機 第3部分:精度》
- (完整版)水利部考試歷年真題-水利基礎(chǔ)知識試題集
- 浙江省杭州市2024-2025學(xué)年高三上學(xué)期一模英語試題(含解析無聽力原文及音頻)
評論
0/150
提交評論