第2章 51系列單片機系統(tǒng)結(jié)構(gòu)1_第1頁
第2章 51系列單片機系統(tǒng)結(jié)構(gòu)1_第2頁
第2章 51系列單片機系統(tǒng)結(jié)構(gòu)1_第3頁
第2章 51系列單片機系統(tǒng)結(jié)構(gòu)1_第4頁
第2章 51系列單片機系統(tǒng)結(jié)構(gòu)1_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章51系列單片機系統(tǒng)結(jié)構(gòu)

重點:存儲器組織、定時器以及并行口結(jié)構(gòu)

難點:并行口操作和存儲器組織2.1總體結(jié)構(gòu)一、51系列單片機一般的總體結(jié)構(gòu)二、AT89C52的總體結(jié)構(gòu)2.11.AT89C52的總體結(jié)構(gòu)框圖2.AT89C52芯片封裝2.1

PDIPPQFP/TQFPPLCCPQFP/TQFP

2.1PLCC3.AT89C52引腳功能

2.1

P0.0~P0.7、P1.0~P1.7、P2.0~P2.7、P3.0~P3.7為4個8位(共32個)具有第1功能—I/O口功能的引腳,其中P0.0~P0.7、P1.0、P1.1、P2.0~P2.7、P3.0~P3.7等26個引腳具有第2功能,具體情況詳見I/O口第2功能表2.1

I/O口第2功能表引腳第2功能功能說明P0.0~P0.7AD0~AD7低8位地址/8位數(shù)據(jù)復用信號線P1.0T2定時器/計數(shù)器2計數(shù)輸入端P1.1T2EXT2的捕捉/重新加載觸發(fā)輸入信號P2.0~P2.7A8~A15高8位地址線,16位地址可尋址64KB范圍P3.0RXDUART串行數(shù)據(jù)輸入端P3.1TXDUART串行數(shù)據(jù)輸出端P3.2INT0外部中斷0請求信號P3.3INT1外部中斷1請求信號P3.4T0定時器/計數(shù)器0計數(shù)輸入端P3.5T1定時器/計數(shù)器1計數(shù)輸入端P3.6/WR外部RAM寫控制信號P3.7/RD外部RAM讀控制信號

2.1VCC:電源正端,典型值為+5V;GND:地。RST:復位信號引腳。必須在此引腳上出現(xiàn)兩個機器周期的高電平,才能保證單片機可靠的復位。返回低電平則退出復位。/EA/VPP:正常運行方式:為/EA程序存儲器選擇信號。

Flash編程方式:為VPP編程電源輸入端(+5V或+12V)。XTAL1、XTAL2:為內(nèi)部振蕩電路的輸入端和輸出端。外接石英晶振,也可直接引入外部時鐘。

2.1ALE//PROG:正常運行方式:為ALE地址鎖存允許信號。其作用:當外接存儲器(RAM/ROM)時,ALE(允許地址鎖存)的輸出用于鎖存地址的低8位。一般ALE接鎖存器74HC373的EN端。當沒有外部存儲器時,ALE端可輸出脈沖信號,此頻率為石英振蕩頻率的1/6。因此,它可用作對外部芯片提供輸出的時鐘,或用于定時的目的。

Flash編程方式:為/PROG編程脈沖輸入信號。2.2中央處理器

51系列單片機都有一個在功能上相同(或相近)的中央處理器CPU。CPU由運算器(包括算術(shù)邏輯運算部件ALU、布爾處理器、工作寄存器)、控制器組成。

一、運算器

2.21.ALU和布爾處理器是實現(xiàn)數(shù)據(jù)傳送和數(shù)據(jù)運算的部件。

ALU完成:數(shù)據(jù)傳送操作;加、減、乘、除算術(shù)運算;增量、減量運算;十進制調(diào)整運算;與、或、非、異或邏輯運算。

布爾處理器實現(xiàn)位運算,即位置“1”、清“0”和取反。

2.2

2.工作寄存器:就是對用戶開放的寄存器,包括:程序計數(shù)器PC,位于內(nèi)部SFR中的累加器ACC(A)、寄存器B、、數(shù)據(jù)指針DPTR、程序狀態(tài)字PSW、堆棧指針SP,位于內(nèi)部RAM中的工作寄存器R0~R7。二、控制器

2.2控制整個單片機系統(tǒng)各種操作的部件。包括:時鐘發(fā)生器、定時控制邏輯、指令寄存器、指令譯碼器、存儲器的/數(shù)據(jù)傳送控制等。2.3存儲器組織

51系列(主要品種:51子系列、52子系列)單片機有5個存貯空間(擴展系統(tǒng)地址線A0~A15):①擴展系統(tǒng)有64KB(0~0FFFFH)程序ROM空間,片內(nèi)51子系列有4KB(0000H~0FFFH)或52子系列8KB(0000H~1FFFH)程序ROM空間;②51子系列128B(0~7FH)、52子系列256B(0~0FFH)內(nèi)部RAM空間;

2.3

③128B(80H~0FFH,名義值)內(nèi)部特殊功能寄存器(SFR);④256b(0~0FFH,名義值)位尋址空間,其中128b((0~7FH))在內(nèi)部RAM20H~2FH的16B中,另128b(80H~0FFH,名義值)在內(nèi)部SFR中能夠被8整除的16B中。⑤擴展系統(tǒng)有64KB(0~0FFFFH)外部數(shù)據(jù)存儲器(RAM/IO)空間。一、程序存儲器2.3

51系列單片機程序存儲器空間為64KB,其地址指針為16位的程序計數(shù)器PC,對應地址線A0~A15。1.入口地址:①復位入口地址:復位后,PC值為0,CPU從0000H開始執(zhí)行程序,即地址0為復位入口地址。2.3

②中斷入口地址:被安排在程序ROM的開始部分,各中斷入口地址如下:0003H:INT0中斷;000BH:INT1中斷;0013H:T0中斷;001BH:T1中斷;0023H:串行口中斷;002BH:T2中斷(52子系列才有)

2.3

2.3

2.與程序ROM相關(guān)的引腳:①P0口、P1口:分別產(chǎn)生A0~A7、A8~A15;②ALE:地址鎖存信號;③/PSEN:擴展了外部程序存儲器時,僅當訪問外部程序存儲器時,產(chǎn)生讀選通負脈沖信號;2.3

④/EA:程序存儲器可以在片內(nèi),也可以在片外,取決于單片機的類型,并由/EA的電平所控制。/EA=0:CPU總是從片外M中取指令執(zhí)行程序。/EA=1:CPU先從片內(nèi)M開始取指令執(zhí)行程序,再到片外M中取指令執(zhí)行程序。即:若系統(tǒng)設(shè)計程序存儲器總?cè)萘砍^片內(nèi)M容量時,則CPU實際取指令時,在片內(nèi)M容量范圍內(nèi)是從片內(nèi)M中取指令,超過時在片外M中取指令。在只使用片內(nèi)M時,/EA必須接高電平,即/EA=1。

2.32.3以下是51系列常見的單片機品種(第1章曾講述)資源配置子系列片內(nèi)ROM形式片內(nèi)ROM容量片內(nèi)RAM容量定時器/計數(shù)器中斷源無ROMEPROMEEPROM(Flash)NMOS5180318051875189514KB128B2×165NMOS5280328052875289528KB256B3×166CMOS5180C3180C5187C51(AT89C51)4KB128B2×165CMOS5280C3280C5287C52(AT89C52)8KB256B3×1662.3二、內(nèi)部數(shù)據(jù)存儲器1.根據(jù)操作分類:⑴多功能型51系列單片機均有,一般RAM容量128B或256B。⑵單功能型少數(shù)新型51單片機才有,只能完成數(shù)據(jù)傳送操作。實質(zhì)是把外部RAM放進片內(nèi),稱為XRAM。2.32.根據(jù)功能和用途分類:

⑴CPU工作寄存器工作寄存器共有四組,每組8字節(jié)一個區(qū),對應工作寄存器為R0~R7。占用內(nèi)部RAM的0~1FH共32字節(jié)。CPU使用工作寄存器只能分區(qū)使用。CPU當前使用的工作寄存器區(qū)由程序狀態(tài)字PSW的RS0(PSW.3)位和RS1(PSW.4)位的狀態(tài)決定。2.3

RSO、RS1可以人為修改,即CPU工作在哪個工作寄存器區(qū)可以人為設(shè)定。這一特點可以提高CPU現(xiàn)場和恢復現(xiàn)場的速度,從而提高CPU的工作效率和響應中斷的速度。

復位時RS0、RS1為0、0,即復位時系統(tǒng)自動設(shè)置在0區(qū)。注意:不需要4組工作寄存器時,這個區(qū)域多余的單元可以作為一般的數(shù)據(jù)緩沖器使用。

對這部分RAM,CPU有三種字節(jié)型尋址方式:當作工作寄存器的寄存器尋址,當作普通RAM的直接尋址或寄存器間接尋址。

2.3以下是各工作寄存器的地址映象和工作寄存器區(qū)的狀態(tài)選擇表:寄存器區(qū)域寄存器地址映象R0~R7對應寄存器區(qū)域狀態(tài)選擇RS1、RS00區(qū)00H~07H0、01區(qū)08H~0FH0、12區(qū)10H~17H1、03區(qū)18H~1FH1、12.3

⑵位標志區(qū)內(nèi)部RAM20H~2FH這16B是位尋址區(qū),共有16×8=128b的位地址,占據(jù)位地址空間0~7FH,這128b的每個單元都可視為一個軟件觸發(fā)器,用于存放各種程序標志、位控制變量。所以這部分位尋址區(qū)也稱為位標志區(qū)。注意:位標志不多時,這個區(qū)域不用的RAM可以作為數(shù)據(jù)緩沖器使用。

對這部分RAM,CPU在字節(jié)操作時有二種尋址方式:直接尋址或寄存器間接尋址;在位操作時只能直接尋址。

2.3

⑶堆棧和數(shù)據(jù)緩沖區(qū)

①堆棧

堆棧是用于CPU保護現(xiàn)場的后進先出、先進后出的緩沖器。

復位時,堆棧指針SP=07H??紤]工作寄存器區(qū)和位標志區(qū)的存在,所以堆棧一般設(shè)在30H~7FH或30H~0FFH之間。故此系統(tǒng)在初始化程序中一般要修改SP值。

如設(shè)SP=5FH,則堆棧設(shè)置在60H開始的區(qū)域中。2.3

當然,在實際編制的程序堆棧不需要比較大的區(qū)域,且工作寄存器組有多、位標志較少時,堆棧也可以設(shè)置在08H~2FH之間的區(qū)域范圍內(nèi),如果程序不設(shè)位標志,堆棧區(qū)域還可以擴大到08H~7FH或0FFH。

堆棧操作是字節(jié)型寄存器間接尋址。進棧時:SP=(SP)+1,(direct)→(SP);退棧時:((SP))→direct,SP=(SP)-1。

即堆棧存放數(shù)據(jù)是由低地址向高地址逐步擴大存放區(qū)域的(8086/8088系統(tǒng)恰好相反)。

2.3②數(shù)據(jù)緩沖區(qū)

數(shù)據(jù)緩沖區(qū)用于存放中間數(shù)據(jù)或運算結(jié)果。對于不用作工作寄存器、位標志、堆棧操作的內(nèi)部RAM單元均可用來作為數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)緩沖器數(shù)量不夠時,可以考慮選擇內(nèi)部RAM容量較大的品種或擴展外部RAM解決。

數(shù)據(jù)緩沖器的尋址方式為字節(jié)型,有兩種:直接尋址或寄存器間接尋址。對于52系列,內(nèi)部RAM80~0FFH單元只能采用字節(jié)型寄存器間接尋址方式。2.3

2.3三、特殊功能寄存器

特殊功能寄存器SFR包括:內(nèi)部CPU寄存器、I/O口鎖存器、各種功能控制寄存器和狀態(tài)寄存器。SFR根據(jù)型號不同,多少不一,差別較大,但常用的51、52兩個子系列基本相同。SFR離散地分布在80H~0FFH之間。以下是AT89C52SFR地址映象2.3AT89C52的SFR地址映象SFR字節(jié)地址SFR字節(jié)地址SFR字節(jié)地址*P080HTH08CH*PSW0D0HSP81HTH18DH*ACC0E0HDPL82H*P190H*B0F0HDPH83H*SCON98H*T2CON0C8HPCON87HSBUF99HT2MOD0C9H*TCON88H*P2A0HRCAP2L0CAHTMOD89H*IE0A8HRCAP2A0CBHTL08AH*P30B0HTL20CCHTL18BH*IP0B8HTH20CDH2.3說明:

①上述SFR共27個,前21個51子系列均有。52子系列因為增加了T2定時器/計數(shù)器功能,從而增加了6個FSR。

②上述SFR中12個帶“*”號的SFR均能被8整除,這些寄存器均具有位尋址功能。③ACC(A)—累加器,最重要的寄存器,用于存放參加運算的數(shù)據(jù)和運算結(jié)果。2.3

B—運算器中寄存器,在乘除運算中存放參加運算的數(shù)據(jù)和運算結(jié)果,在其他運算中作中間結(jié)果寄存器。SP—堆棧指針。DPTR—16位數(shù)據(jù)指針,由DPL和DPH組成,用于訪問外部數(shù)據(jù)存儲器。CPU可以DPL、DPH單獨操作。④SFR不用的單元是空的(廠商預留發(fā)展新芯片用單元),用戶不應對這些單元進行讀寫操作。

SFR的操作:直接尋址(字節(jié)型、能被8整除字節(jié)的位);能寄存器尋址的有:A(字節(jié))、B(字節(jié))、C(PSW的CY位)、AB(雙字節(jié))、DPTR(雙字節(jié))。

2.3

四、位地址空間從前面可知,51系列的內(nèi)部RAM中20H~2FH單元以及地址為8的倍數(shù)的SFR可以位尋址,占據(jù)了相應的位地址。這些單元有8位作為一個整體的字節(jié)操作,也有按位進行的位操作。所以有字節(jié)地址和位地址之分。內(nèi)部RAM20H~2FH字節(jié)地址與0~7FH位地址對應關(guān)系見下表。

2.3內(nèi)部RAM20H~2FH字節(jié)地址與0~7FH位地址對應關(guān)系字節(jié)地址位地址D7D6……D1D020H07H06H……01H00H21H0FH0EH……09H08H22H17H16H……11H10H23H1FH1EH……19H18H24H27H26H……21H20H25H2FH2EH……29H28H26H37H36H……31H30H27H3FH3EH……39H38H28H47H46H……41H40H29H4FH4EH……49H48H2AH57H56H……51H50H2BH5FH5EH……59H58H2CH67H66H……61H60H2DH6FH6EH……69H68H2EH77H76H……71H70H2FH7FH7EH……79H78H2.3SFR80H~0FFH字節(jié)地址為8的倍數(shù)字節(jié)地址與80H~0FFH位地址對應關(guān)系見下表。相關(guān)SFR字節(jié)地址與80H~0FFH位地址對應關(guān)系SFR字節(jié)地址位地址D7D6……D1D0P080H87H86H……81H80HTCON88H8FH8EH……89H88HP190H97H96H……91H90HSCON98H9FH9EH……99H98HP2A0HA7HA6H……A1HA0HIEA8HAFHAEH……A9HA8HP3B0HB7HB6H……B1HB0HIPB8HBFHBEH……B9HB8HT2CON

C8HCFHCEH……C9HC8HPSWD0HD7HD6H……D1HD0HACCE0HE7HE6H……E1HE0HBF0HF7HF6H……F1HF0H2.4時鐘和時鐘電路、復位和復位電路一、時鐘和時鐘電路

時鐘電路是計算機的心臟,它控制著計算機的工作節(jié)奏,并且可通過提高時鐘頻率來提高CPU的速度。單片機允許的最高頻率隨型號而異,目前單片機多使用CMOS工藝,最高頻率可達60MHZ。2.4圖中:XTAL1、XTAL2分別為單片機的輸入、輸出引腳。片內(nèi)反相放大器和片外晶體振蕩器(或陶瓷諧振器)、電容組成振蕩器。其頻率主要取決于晶體振蕩器(或陶瓷諧振器),但不高于器件所允許的最高頻率。C1、C2典型值為30pf±10pf(晶體振蕩器)或40pf±10pf(陶瓷諧振器),

C1、C2作用:幫助起振、微調(diào)頻率。2.4

Rf反饋電阻。Ra限流保護。二個二極管限壓保護。/PD(PCON.1)控制振蕩器起停。

復位后/PD=1(PCON.1=0)振蕩器工作,可由軟件使PCON.1=1(/PD=0)讓振蕩器停振,使單片機停止工作,達到節(jié)電的目的。

2.4二、復位和復位電路

復位就是在啟動計算機時,使CPU和其他相關(guān)部件處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作。

復位條件:為了實現(xiàn)單片機的復位,在時鐘電路工作后,必須在單片機的RESET端至少維持2個機器周期以上的高電平,單片機才進入復位狀態(tài)。若時鐘頻率為12MHZ,機器周期為1μs,則在單片機的RESET端只需持續(xù)2μs以上時間的高電平就能進入復位狀態(tài)。2.4

復位狀態(tài):單片機復位后,片內(nèi)RAM中低128B的內(nèi)容不會改變,但特殊功能寄存器(SFR)的值被初始化。復位期間單片機的ALE、/PSEN和P0~P3端輸出高電平。各寄存器復位狀態(tài)如下:

89C52復位后各位不是全0的SFR寄存器共10個:SP=07H,P0~P3(口鎖存器內(nèi)容)=11111111B,IP=××000000B,IE=0×000000B,SBUF不定,

PCON=0×××0000B,T2MOD=××××××00B。

89C52復位后各位是全0的SFR寄存器共17個,包括:DPTR(DPH+DPL)、ACC、B等。

復位后,PC=0(PC不是SFR,不可直接訪問),計算機從0000H地址開始執(zhí)行程序。

2.4復位電路:以下是普通CMOS單片機的上電自動復位電路和手動開關(guān)復位電路。上電自動復位電路實質(zhì)是一個RC微分電路。2.4

89C52內(nèi)部具有下拉電阻,其復位電路更簡單。2.4

當系統(tǒng)中不止一個芯片需要復位操作時,可參照以下系統(tǒng)復位電路的思路設(shè)計符合要求的系統(tǒng)復位電路。

其中a圖的R1、C組成RC積分電路。電容、電阻的具體值要由所用的芯片和使用頻率決定。三、CPU時序

2.4

MCS-51包括4個定時單位,它們分別是:振蕩周期(節(jié)拍)、時鐘周期(狀態(tài)周期)、機器周期和指令周期。以下是單片機兩種常用晶振4個周期信號的對比表。1.振蕩周期2.4

振蕩周期也叫節(jié)拍,用P表示,振蕩周期是指為單片機提供定時信號的振蕩源的周期。是時序中最小的時間單位。例如:若某單片機時鐘頻率為2MHz,則它的振蕩周期應為0.5μs。2.時鐘周期

時鐘周期又叫做狀態(tài)周期,用S表示。是振蕩周期的二倍,其前半周期對應的節(jié)拍叫P1拍,后半周期對應的節(jié)拍叫P2。P1節(jié)拍通常完成算術(shù)、邏輯運算,P2節(jié)拍通常完成傳送指令。3.機器周期2.4

機器周期是實現(xiàn)特定功能所需的周期。51系列一個機器周期是固定不變的,由S1~S6(S1P1、S1P2~S6P1、S6P2)等6個狀態(tài)周期(12個振蕩周期)組成。4.指令周期指令周期是最大的時序定時單位。指令周期是指執(zhí)行一條指令需要的時間。通常MCS-51的指令周期可以包含有1~4個機器周期,大多數(shù)指令執(zhí)行時間為1~2個機器周期,只有乘法和除法指令需要4個機器周期。MCS-51的幾種典型的指令時序如下圖所示,每個機器周期內(nèi)地址鎖存信號(ALE)產(chǎn)生兩次有效信號,分別出現(xiàn)在S1P2、S2P1期間與S4P2、S5P1期間。但在訪問外部RAM時,ALE的有效信號將減少一次。下圖是51系列單片機的CPU時序圖2.4一、中斷的概念

執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點中斷請求中斷響應執(zhí)行中斷處理程序中斷返回中斷是指CPU正在處理正常工作時,外部發(fā)生了某一事件,請求CPU迅速處理,CPU暫時中斷當前工作,轉(zhuǎn)去處理所發(fā)生的事件,處理完后,再回到原來被中斷的地方繼續(xù)原來工作的過程。2.5中斷系統(tǒng)

優(yōu)點2.5①分時操作。②實現(xiàn)實時處理。③故障處理。中斷的功能①實現(xiàn)中斷及返回。②能實現(xiàn)優(yōu)先權(quán)排隊。多個中斷源時,當幾個中斷同時到來時,需要按輕重緩急處理,由此須設(shè)置各中斷的優(yōu)先級別。③能實現(xiàn)中斷嵌套。如果在執(zhí)行中斷處理程序過程中,程序又被新的更高級中斷所打斷,并去執(zhí)行新的中斷處理程序,然后返回來執(zhí)行原中斷程序。這一過程叫中斷嵌套。

2.5

二、89C52中斷系統(tǒng)2.5

下圖是89C52的中斷系統(tǒng)結(jié)構(gòu)1共有六個中斷源,分別是外部中斷兩個、內(nèi)部的定時中斷三個和串行中斷一個,它們是:外部中斷0—INT0:由P3.2提供。外部中斷1—INT1:由P3.3提供。外部中斷有兩種信號方式,即電平方式和脈沖方式。T0溢出中斷—TF0:由片內(nèi)定時/計數(shù)器0提供。T1溢出中斷—TF1:由片內(nèi)定時/計數(shù)器1提供。串行口中斷—RI/TI:由片內(nèi)串行口提供。T2溢出中斷—TF2/EXF2:由片內(nèi)定時/計數(shù)器2提供。1.89C52中斷請求源

2.52.5

在中斷請求被響應前,中斷請求是由CPU鎖存在特殊功能寄存器TCON、SCON、T2CON的相應中斷標志位中。與中斷控制有關(guān)的控制寄存器有五個:TCON—定時控制寄存器;IE—中斷允許控制寄存器;IP—中斷優(yōu)先級控制寄存器;SCON—串行口控制寄存器;T2CON—T2定時控制寄存器。⑴定時控制寄存器TCON2.5

D7D6D5D4D3D2D1D0TF1TF0IE1IT1IE0IT0中斷請求標志觸發(fā)方式選擇0低電平1下降沿TF1:T1溢出中斷標志。T1被啟動計數(shù)后,從初值開始加1計數(shù),直至計滿溢出由硬件使TF1=l,向CPU請求中斷,此標志一直保持到CPU響應中斷后,才由硬件自動清“0”TF1。也可用軟件查詢該標志,并由軟件清“0”TF1。TF0:T0溢出中斷標志。其操作功能類似于TF1。IE1:外部中斷1標志。IE1=1表明外部中斷1向CPU申請中斷。在邊沿觸發(fā)方式下,CPU響應中斷后由硬件清“0”IE1IE0:外部中斷0標志。其操作功能與IE1類似。⑵串行口控制寄存器SCON

2.5

D7D6D5D4D3D2D1D0TIRI串行中斷請求標志TI:串行發(fā)送中斷標志。CPU將一個字節(jié)數(shù)據(jù)寫入發(fā)送緩沖器SBUF后啟動發(fā)送,每發(fā)送完一個串行幀,硬件置位TI,使TI=1。但CPU響應中斷后,并不能自動清除TI標志,必須由軟件清“0”TI。

RI:串行接收中斷標志。在串行口允許接收時,每接收完一個串行幀,硬件置位RI,使RI=1。同樣CPU響應中斷后不會自動清除RI標志,必須由軟件清“0”RI。

⑶T2定時控制寄存器T2CON2.5D7D6D5D4D3D2D1D0T2EXF2EXEN2T2中斷請求標志TF2:T2溢出中斷標志。在捕捉方式和常數(shù)自動重裝方式中,T2溢出時,置“1”TF2

,向CPU請求中斷。CPU響應中斷后,必須由用戶程序清“0”TF2。在T2作為串行口波特率發(fā)生器或時鐘輸出方式時,TF2不會被置“1”,即不會產(chǎn)生中斷溢出。EXF2:T2外部中斷標志。EXEN2=1時,當T2EX(P1.1)發(fā)生負跳變時置“1”EXF2,向CPU請求中斷。CPU響應中斷后,必須由用戶程序清“0”TF2。在T2作為加減計數(shù)方式時,EXF2不會產(chǎn)生中斷。T2外部允許標志2.中斷控制

2.5⑴中斷使能控制—中斷允許控制寄存器IED7D6D5D4D3D2D1D0EAET2ESET1EX1ET0EX00禁止,1允許EA:CPU中斷總允許位。EA=1,CPU開放中斷,每個中斷源是被允許還是被禁止,分別由各自的允許位確定;EA=0,CPU屏蔽所有的中斷要求,稱關(guān)中斷。2.5ET2:T2中斷允許位。ET2=1,允許T2中斷;ET2=0,禁止T2中斷。ES:串行口中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。ET1:T1中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。EX1:外部中斷1允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。ET0:T0中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。EX0:外部中斷0允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。⑵中斷優(yōu)先級控制—中斷優(yōu)先級控制寄存器IP2.5

基本原則是:①高優(yōu)先級不能被低優(yōu)先級中斷;②低優(yōu)先級可被高優(yōu)先級中斷。③任何一種中斷(不管是高級還是低級),一旦得到響應,不會再被它的同級中斷所中斷。④兩個同一級的中斷源同時向CPU發(fā)出中斷申請,CPU通過內(nèi)部硬件查詢,按自然優(yōu)先級確定優(yōu)先響應哪一個中斷要求。最低次低低高次高最高ET2ESET1EX1ET0EX0

PT2:定時計數(shù)器T2中斷優(yōu)先級控制位。PS:串行口中斷優(yōu)先級控制位。PT1:定時計數(shù)器T1中斷優(yōu)先級控制位。PX1:外部中斷1中斷優(yōu)先級控制位。PT0:定時計數(shù)器T0中斷優(yōu)先級控制位。PX0:外部中斷0中斷優(yōu)先級控制位。單片機復位后,IP寄存器被清0,所有中斷源為低級中斷。

中斷優(yōu)先級控制寄存器(IP)2.5

D7D6D5D4D3D2D1D0PT2PSPT1PX1PT0PX00低級別,1高級別3.中斷響應

2.5⑴CPU的中斷響應條件

①無同級或高級中斷正在服務;②正在執(zhí)行的機器周期不是所執(zhí)行指令的最后一個機器周期;③若現(xiàn)行指令是RETI、RET或訪問IE、IP指令,則需要執(zhí)行完當前指令后,至少再執(zhí)行一條指令后方可響應。⑵響應過程①置位中斷優(yōu)先級狀態(tài)觸發(fā)器,即關(guān)閉同級和低級中斷:②調(diào)用入口地址,斷點入棧,相當于硬件的LCALL指令;③進入中斷服務程序。

中斷源入口地址(52子系列)2.5中斷源入口地址INT00003HT0000BHINT10013HT1001BHRI/TI0023HT2002BH在這些地址中往往安排一條跳轉(zhuǎn)指令,如SJMP(機器代碼2字節(jié),地址低8位可變,范圍-128B~+127B)、AJMP(機器代碼2字節(jié),地址低11位可變,范圍2KB)、LJMP(機器代碼3字節(jié),地址16位均可變,范圍64KB)跳轉(zhuǎn)到真正的中斷服務程序中去執(zhí)行程序,這是因為給每個中斷源安排的空間只有8個單元。特別注意:復位后PC從0000H地址開始執(zhí)行程序,而0000H到00003H之間只有三個字節(jié),因此,真正意義上的應用程序往往被安排在002EH單元之后的某個地址上開始,此時也需要在0000H地址安排一條跳轉(zhuǎn)指令(常用LJMP)轉(zhuǎn)向應用程序。4.響應時間

2.5響應時間—從查詢中斷請求標志位到轉(zhuǎn)向中斷服務入口地址所需的機器周期數(shù)。⑴最快響應時間以外部中斷的電平觸發(fā)為最快。從查詢中斷請求信號到中斷服務程序需要3個機器周期:

1個周期(查詢)+2個周期(長調(diào)用LCALL)⑵最長時間若當前指令是RET、RETI和IP、IE指令,緊接著下一條是乘除指令發(fā)生,則最長為8個周期:

2個周期執(zhí)行當前指令(其中含有1個周期查詢)+4個周期乘除指令+2個周期長調(diào)用=8個周期。三、外部中斷應用

2.51.外部中斷觸發(fā)方式

溫馨提示

  • 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

提交評論