51單片機(jī)存儲器、堆棧、SFR課件(PPT 69頁)_第1頁
51單片機(jī)存儲器、堆棧、SFR課件(PPT 69頁)_第2頁
51單片機(jī)存儲器、堆棧、SFR課件(PPT 69頁)_第3頁
51單片機(jī)存儲器、堆棧、SFR課件(PPT 69頁)_第4頁
51單片機(jī)存儲器、堆棧、SFR課件(PPT 69頁)_第5頁
已閱讀5頁,還剩64頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、存儲器、堆棧、SFR1第1頁,共69頁。數(shù)據(jù)存儲器RAM(Random Access Memory)程序存儲器ROM(Read Only Memory)閃速存儲器Flash MemoryEPROM(UV)Erazible Programmable ROMEEPROM/E2PROMElectrical Erasable Programmable ROM靜態(tài)存儲器 SRAMStatic RAM (動態(tài)存儲器 DRAMDynamic RAM)按字節(jié)尋址:每個字節(jié)(8個位)占一個地址按位尋址:有的存儲器每一個位就有一個地址單片機(jī)的存儲器幾個有關(guān)的概念:2第2頁,共69頁。8051的存儲器組織8051存

2、儲器可以分成兩大類: RAM,CPU在運(yùn)行時能隨時進(jìn)行數(shù)據(jù)的寫入和讀出,但在關(guān)閉電源時,其所存儲的信息將丟失。它用來存放暫時性的輸入輸出數(shù)據(jù)、運(yùn)算的中間結(jié)果或用作堆棧。 ROM是一種寫入信息后不易改寫的存儲器。斷電后,ROM中的信息保留不變。用來存放固定的程序或數(shù)據(jù),如系統(tǒng)監(jiān)控程序、常數(shù)表格等。 第3頁,共69頁。2.1.1普林斯頓結(jié)構(gòu) 一般微機(jī)通常只有一個邏輯空間,可以隨意安排ROM或RAM。訪問存儲器時,同一地址對應(yīng)唯一的存儲單元,可以是ROM也可以是 RAM,并用同類訪問指令。這種結(jié)構(gòu)稱為普林斯頓結(jié)構(gòu)。 第4頁,共69頁。2.1.2 哈佛結(jié)構(gòu) 8051單片機(jī)與一般微機(jī)的存儲器配置方式很不

3、相同。 51單片機(jī)的存儲器在物理結(jié)構(gòu)上分為程序存儲空間和數(shù)據(jù)存儲空間,共有四個:片內(nèi)和片外程序存儲空間以及片內(nèi)和片外數(shù)據(jù)存儲空間,這種在物理結(jié)構(gòu)上把程序存儲器和數(shù)據(jù)存儲器分開的結(jié)構(gòu)形式稱為哈佛結(jié)構(gòu)。第5頁,共69頁。第6頁,共69頁。89C51單片機(jī)存儲器配置片內(nèi)RAM 128字節(jié)(00H7FH); 片內(nèi)RAM前32個單元是工作寄存器區(qū)(00H1FH) 片內(nèi)RAM有128個可按位尋址的位,占16個單元。 位地址編號為:00H7FH,分布在20H2FH單元片內(nèi)21個特殊功能寄存器(SFR)中:地址號能被 8整除的 SFR中的各位也可按位尋址(P.33-34)可尋址片外RAM 64K字節(jié) (000

4、0HFFFFH)可尋址片外ROM 64K字節(jié) (0000HFFFFH)片內(nèi) Flash ROM 4K字節(jié) (000HFFFH)7第7頁,共69頁。 8051在邏輯上,即從用戶角度上8051有三個存儲空間: 片內(nèi)外統(tǒng)一編址的程序存儲器 片內(nèi)外不統(tǒng)一編址的數(shù)據(jù)存儲器 特殊功能寄存器(片內(nèi))訪問這幾個不同的邏輯空間時,采用的指令: 片內(nèi)外程序存儲器空間-MOVC 片內(nèi)數(shù)據(jù)存儲器空間和SFR-MOV 片外數(shù)據(jù)存儲器地址空間-MOVX第8頁,共69頁。52對應(yīng)的RAM有384Byte,其中多出的128Byte只能進(jìn)行間接尋址用 而C51是通過對自定義的數(shù)據(jù)類型來區(qū)分訪問的存儲空間的:片內(nèi)外程序存儲器空間

5、-code片內(nèi)數(shù)據(jù)存儲器空間和SFR-data片外數(shù)據(jù)存儲器地址空間-xdata片內(nèi)間接尋址區(qū)間-idata第9頁,共69頁。存儲器配置(片內(nèi)RAM)片內(nèi)RAM 128字節(jié)(00H7FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器89C51 128字節(jié)10第10頁,共69頁。00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R

6、3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)00FH10H17H18H片內(nèi)RAM前32個單元是工作寄存器區(qū) (00H1FH)存儲器配置(片內(nèi)RAM)11第11頁,共69頁。00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)27H22H21H20H26H24H25H23H28H2FH單元地址07 06 05 04 03 02 01 000F 0E 0D 0C 0B 0A 09 0817 16 15 14 13 12 11 101F 1E 1D 1C 1B

7、1A 19 1827 26 25 24 23 22 21 202F 2E 2D 2C 2B 2A 29 2837 36 35 34 33 32 31 303F 3E 3D 3C 3B 3A 39 3847 46 45 44 43 42 41 407F 7E 7D 7C 7B 7A 79 78位地址總共128個可按位尋址的位片內(nèi)RAM中有128個可按位尋址的位。 位地址:00H7FH 分布在:20H2FH單元存儲器配置(片內(nèi)RAM)12第12頁,共69頁。這些可位尋址的空間,可通過執(zhí)行指令直接對某一位進(jìn)行操作,如置1、清0或判1、判0等,可用作軟件標(biāo)志位或用于位(布爾)處理。這是一般微機(jī)所不具備

8、的,這種位尋址能力是8051所獨(dú)有的。20H2FH:既可以字節(jié)操作,又可以位操作,但是要用不同的指令來區(qū)分; mov 20h,a setb 00h setb 20.0第13頁,共69頁。存儲器配置(片內(nèi)RAM)89C51片內(nèi)RAM 128字節(jié)(00H7FH)89C52片內(nèi)RAM 256字節(jié)(00H0FFH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH89C51 128字節(jié)89C52 256字節(jié)只能直接尋址只能寄存器間接尋址(P14)既可間接尋址,又可直接尋址14第14頁,共69

9、頁。程序存儲器外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH第15頁,共69頁。在程序存儲器中,有6個單元具有特殊功能0003H:外部中斷0入口。000BH:定時器0溢出中斷入口。0013H:外部中斷1入口。001BH:定時器1溢出中斷入口。0023H:串行口中斷入口。52還有002BH對應(yīng)T2中斷。 使用時,通常在這些入口地址處存放一條絕對跳轉(zhuǎn)指令,使程序跳轉(zhuǎn)到用戶安排的中斷程序起始地址,或者從0000H起始地址跳轉(zhuǎn)到用戶設(shè)計的初始程序上。0000H: 8051復(fù)位后,PC0000H,即程序從0000H 開始執(zhí)行指令。第16

10、頁,共69頁。 org0000h jmpmain (跳過中斷入口地址區(qū)) org0100hmain:movp1,#55h mov r0,#3fhLoop:djnzr0,loop cpla movp1,a jmpmain end第17頁,共69頁。可尋址片外RAM 64K字節(jié) (0000HFFFFH);可尋址片外ROM 64K字節(jié) (0000HFFFFH);片內(nèi) Flash ROM 4K字節(jié) (0000H FFFH);FFFFH0000H可尋址片外RAM 64K字節(jié)FFFFH0000H可尋址片外ROM 64K字節(jié)FFFH000H可尋址片內(nèi) Flash ROM4K 字節(jié)89C517FH00H片內(nèi)

11、RAM 128字節(jié)FFH80H存儲器配置(片內(nèi)RAM)18第18頁,共69頁。堆棧: 在片內(nèi)RAM中,常常要指定一個專門的區(qū)域來存放某些特別的數(shù)據(jù),它遵循先進(jìn)后出和后進(jìn)先出(LIFO/FILO)的原則,這個RAM區(qū)叫堆棧。功用:1)子程序調(diào)用和中斷服務(wù)時CPU自動將當(dāng)前PC 值壓棧保存,返回時自動將PC值彈棧。2)保護(hù)現(xiàn)場/恢復(fù)現(xiàn)場3)數(shù)據(jù)傳輸19第19頁,共69頁。00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū) SP棧頂下一個進(jìn)棧的數(shù)據(jù)將存在此數(shù)據(jù)進(jìn)棧已經(jīng)進(jìn)棧的數(shù)據(jù)存放在此初始 SP復(fù)位后 SP=07H,數(shù)據(jù)進(jìn)棧時:首先SP+1指向0

12、8H單元,第一個放進(jìn)堆棧的數(shù)據(jù)將放進(jìn)08H單元,然后SP再自動增 1,仍指著棧頂堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。20第20頁,共69頁。從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進(jìn)去的一個數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū) SP棧頂當(dāng)前要出棧的數(shù)據(jù)數(shù)據(jù)出棧SP-1指向下一個將要出棧的數(shù)據(jù)初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在

13、RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。21第21頁,共69頁。從堆棧取出數(shù)據(jù)時:取出的數(shù)據(jù)是最近放進(jìn)去的一個數(shù)據(jù),也就是當(dāng)前棧頂?shù)臄?shù)據(jù)。然后SP再自動減1,仍指著棧頂00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SP-1 指向新的棧頂,也就是下一個將要出棧的數(shù)據(jù)數(shù)據(jù)出棧初始 SP堆棧區(qū)由特殊功能寄存器堆棧指針SP管理 堆棧區(qū)可以安排在 RAM區(qū)任意位置,一般不安排在工作寄存器區(qū)和可按位尋址的RAM區(qū),通常放在RAM區(qū)的靠后的位置。22第22頁,共69頁。 在實際應(yīng)用中,常需在RA

14、M區(qū)設(shè)置堆棧。80C51的堆棧一般設(shè)在30H7FH的范圍內(nèi)。棧頂?shù)奈恢糜蒘P寄存器指示。復(fù)位時SP的初值為07H,在系統(tǒng)初始化時可以重新設(shè)置。第23頁,共69頁。 push a push b push PSW . pop a pop b pop PSW這樣的指令順序?qū)Σ粚???4頁,共69頁。89C51特殊功能寄存器(SFR)特殊功能寄存器SFR(專用寄存器)專用于控制、選擇、管理、存放單片機(jī)內(nèi)部各部分的工作方式、條件、狀態(tài)、結(jié)果的寄存器。不同的SFR管理不同的硬件模塊,負(fù)責(zé)不同的功能各司其職換言之:要讓單片機(jī)實現(xiàn)預(yù)定的功能,必須有相應(yīng)的硬件和軟件,而軟件中最重要的一項工作就是對SFR寫命令(

15、要求)。25第25頁,共69頁。標(biāo)識符號地址寄存器名稱ACC0E0H累加器B0F0HB寄存器PSW0D0H程序狀態(tài)字SP81H堆棧指針DPTR82H、83H數(shù)據(jù)指針(16位)含DPL和DPHIE0A8H中斷允許控制寄存器IP0B8H中斷優(yōu)先控制寄存器P080HI/O口0寄存器P190HI/O口1寄存器P20A0HI/O口2寄存器第26頁,共69頁。標(biāo)識符號地址寄存器名稱P30B0HI/O口3寄存器PCON87H電源控制及波特率選擇寄存器SCON98H串行口控制寄存器SBUF99H串行數(shù)據(jù)緩沖寄存器TCON88H定時控制寄存器TMOD89H定時器方式選擇寄存器TL08AH定時器0低8位TH08C

16、H定時器0高8位TL18BH定時器1低8位TH18DH定時器1高8位第27頁,共69頁。P0、P1、P2、P3: 四個并行輸入/輸出口的寄存器。它里面的內(nèi)容對應(yīng)著管腳的輸出。SCON (Serial Control Register)SBUF (Serial Date Buffer) PCON (Power Control Register) 與端口相關(guān)的(7個)與定時/計數(shù)器相關(guān)的(6個)TMOD (Timer/Counter Mode Register) 定時器工作模式寄存器。TCON (Timer/Counter Control Register) 定時器控制寄存器。TH0、TL0 、T

17、H1、TL1:分別是T0、T1的記數(shù)初值寄存器。第28頁,共69頁。IP (Interrupt Priority Register) IE (Interrupt Enable Register) 與中斷相關(guān)的(2個)第29頁,共69頁。程序計數(shù)器PC(Program Counter)PC 不是一個特殊功能寄存器SFR,但其作 用又十分重要和特殊!特點(diǎn):它是16位的按機(jī)器周期自動增1計數(shù)器一切分支/跳轉(zhuǎn)/調(diào)用/中斷/復(fù)位 等操作的本質(zhì)就是:改變 PC 值總指向下一條指令所在首地址(當(dāng)前PC值)特殊功能寄存器(PC)30第30頁,共69頁。 DPTR (Data Pointer)(分成DPH、DP

18、L兩個): 數(shù)據(jù)指針可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,也可以作為通用寄存器來用,由我們自已決定如何使用。第31頁,共69頁。數(shù)據(jù)指針寄存器DPTR 數(shù)據(jù)指針DPTR是一個 16 位的專用寄存器, 其高位字節(jié)寄存器用DPH表示,低位字節(jié)寄存器用DPL表示。既可作為一個 16 位寄存器DPTR來處理, 也可作為兩個獨(dú)立的 8 位寄存器DPH和DPL來處理。 DPTR 主要用來存放 16 位地址, 當(dāng)對 64 KB外部數(shù)據(jù)存儲器空間尋址時, 作為間址寄存器用。在訪問程序存儲器時, 用作基址寄存器。 mov a,a+dptr第32頁,共69頁。89C51有21個SFR(89C52有26個) P

19、.3334 已知的P0、P1、P2、P3等四個8位I/O口分別由名為P0、P1、P2、P3四個SFR代表。堆棧指針寄存器 SP(Stack Pointer): 總是指向棧頂,壓棧時先 (SP)+1 然后數(shù)據(jù)進(jìn)棧;彈棧時數(shù)據(jù)先出棧 然后(SP)-1。累加器 ACC:一個被眾多指令用得最頻繁的特殊功能寄存器(如:運(yùn)算、數(shù)據(jù)傳輸)。副累加器 B:一個經(jīng)常與 ACC 配合在一起使用的特殊功能寄存器(如:乘法、除法),此外,它也經(jīng)常當(dāng)作普通寄存器使用。特殊功能寄存器(P0P3,SP,A,B)33第33頁,共69頁。程序狀態(tài)字寄存器 PSW:CYACF0RS0OVPRS1PSW.7PSW.0CY(PSW.

20、7)進(jìn)位/借位標(biāo)志位。若ACC在運(yùn)算過程中發(fā)生了進(jìn)位或借位,則CY=1;否則=0。它也是布爾處理器的位累加器,可用于布爾操作。AC(PSW.6)半進(jìn)位/借位標(biāo)志位。若ACC在運(yùn)算過程中,D3位向D4位發(fā)生了進(jìn)位或借位,則CY=1,否則=0。機(jī)器在執(zhí)行“DA A”指令時自動要判斷這一位,我們可以暫時不關(guān)心它。F0 (PSW.5)可由用戶定義的標(biāo)志位。PSW.6PSW.5特殊功能寄存器(PSW)34第34頁,共69頁。程序狀態(tài)字寄存器 PSW:CYACF0RS0OVPRS1PSW.7PSW.0PSW.6PSW.5特殊功能寄存器(PSW)例:78H+97H 0111 1000 +1001 0111

21、1 0000 1111 有進(jìn)位CY=1沒有半進(jìn)位AC=035第35頁,共69頁。程序狀態(tài)字寄存器 PSW(續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0RS1(PSW.4)、RS0(PSW.3)工作寄存器組選擇位。RS1,RS0 = 0 1 則選擇了工作寄存器組 1 區(qū)R0R7分別代表08H 0FH單元。RS1,RS0 = 1 0 則選擇了工作寄存器組 2 區(qū) R0R7分別代表10H 17H單元。RS1,RS0 = 1 1 則選擇了工作寄存器組 3 區(qū)R0R7分別代表18H 1FH單元。PSW.4 PSW.3RS1,RS0 = 0 0 則選擇了工作寄存器組 0 區(qū)R0R7分別代表08

22、H 0FH單元。36第36頁,共69頁。片內(nèi)RAM前32個單元(00H1FH)是工作寄存器區(qū) (由PSW中的RS1,RS0決定)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)R0R2R1R3R4R5R6R707H02H01H00H06H04H05H03H08H1FH工作寄存器區(qū)3工作寄存器區(qū)2工作寄存器區(qū)1工作寄存器區(qū)037第37頁,共69頁。 程序狀態(tài)字寄存器 PSW(續(xù)):CYACF0RS0OVPRS1PSW.7PSW.0OV (PSW.2)溢出標(biāo)志位。 OV=1時特指累加器在進(jìn)行帶符號數(shù)(-128+127)運(yùn)算時出錯(超出范圍);

23、OV=0時未出錯。PSW.1 未定義。P (PSW.0)奇偶標(biāo)志位。 P=1表示累加器中“1”的個數(shù)為奇數(shù) P=0表示累加器中“1”的個數(shù)為偶數(shù) CPU隨時監(jiān)視著ACC中的“1”的個數(shù),并反映在PSW中PSW.2PSW.1例:某運(yùn)算結(jié)果是78H(01111000),P=0。它常用在校驗串行通信中的數(shù)據(jù)是否出錯。38第38頁,共69頁。89C51單片機(jī)存儲器配置片內(nèi)RAM 128字節(jié)(00H7FH); 片內(nèi)RAM前32個單元是工作寄存器區(qū)(00H1FH) 片內(nèi)RAM有128個可按位尋址的位,占16個單元。 位地址編號為:00H7FH 分布在:20H2FH單元片內(nèi)21個特殊功能寄存器(SFR)中:

24、地址號能被 8整除的 SFR中的各位也可按位尋址可尋址片外RAM 64K字節(jié) (0000HFFFFH)可尋址片外ROM 64K字節(jié) (0000HFFFFH)片內(nèi) Flash ROM 4K字節(jié) (000HFFFH) 小結(jié)39第39頁,共69頁。存儲器配置(片內(nèi)RAM)片內(nèi)RAM 128字節(jié)(00H7FH)00H20H2FH7FH1FH30H80HFFH52子系列才有的RAM區(qū)普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址80HFFH所有的RAM區(qū)(包括位尋址區(qū)、工作寄存器區(qū))都可以用于存放數(shù)據(jù),故也稱為數(shù)據(jù)緩存寄存器128字節(jié) 小結(jié)40第40頁,共69頁。單片機(jī)存

25、儲器配置(片外RAM/ROM) 可尋址片外RAM 64K字節(jié) (0000HFFFFH);可尋址片外ROM 64K字節(jié) (0000HFFFFH);片內(nèi) Flash ROM 4K字節(jié) (000HFFFH);FFFFH0000H可尋址片外RAM 64K字節(jié)FFFFH0000H可尋址片外ROM 64K字節(jié)FFFH000H可尋址片內(nèi) Flash ROM 4K字節(jié)89C517FH00H片內(nèi) RAM 128字節(jié)FFH80H 小結(jié)41第41頁,共69頁。 中斷系統(tǒng)第42頁,共69頁。5.1 80C51的中斷系統(tǒng) 5.1.1 80C51的中斷系統(tǒng)結(jié)構(gòu)一、中斷的概念 CPU在處理某一事件A時,發(fā)生了另一事件B請求

26、CPU迅速去處理(中斷發(fā)生); CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù)); 待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回),這一過程稱為中斷 。第43頁,共69頁。MCS-51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷請求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回第44頁,共69頁。引起CPU中斷的根源,稱為中斷源。中斷源向CPU提出的中斷請求。CPU暫時中斷原來的事務(wù)A,轉(zhuǎn)去處理事件B。對事件B處理完畢后,再回到原來被中斷的地方(即斷點(diǎn)),稱為中斷返回。實現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機(jī)構(gòu))。第45頁,共69頁。 隨著計

27、算機(jī)技術(shù)的應(yīng)用,人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機(jī)與慢速I/O設(shè)備的數(shù)據(jù)傳送問題,而且還具有如下優(yōu)點(diǎn): 分時操作。CPU可以分時為多個I/O設(shè)備服務(wù),提高了計算機(jī)的利用率;實時響應(yīng)。CPU能夠及時處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實時性大大增強(qiáng);可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力,從而使系統(tǒng)可靠性提高。第46頁,共69頁。二、80C51中斷系統(tǒng)的結(jié)構(gòu) 80C51的中斷系統(tǒng)有5個中斷源(8052有 6個) ,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套 。第47頁,共69頁。5.1.2 80C51的中斷源 一、中斷源第48頁,共69頁。 1、 (P3.2)??捎蒊T0(TCON.0)選擇其為低

28、電平有效還是下降沿有效。當(dāng)CPU檢測到P3.2引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE0(TCON.1)置1,向CPU申請中斷。第49頁,共69頁。 2、(P3.3)??捎蒊T1(TCON.2)選擇其為低電平有效還是下降沿有效。當(dāng)CPU檢測到P3.3引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE1(TCON.3)置1,向CPU申請中斷。第50頁,共69頁。 3、TF0(TCON.5),片內(nèi)定時/計數(shù)器T0溢出中斷請求標(biāo)志。當(dāng)定時/計數(shù)器T0發(fā)生溢出時,置位TF0,并向CPU申請中斷。第51頁,共69頁。 4、TF1(TCON.7),片內(nèi)定時/計數(shù)器T1溢出中斷請求標(biāo)志。當(dāng)定時/計數(shù)器T1發(fā)生溢出時,

29、置位TF1,并向CPU申請中斷。第52頁,共69頁。 5、RI(SCON.0)或TI(SCON.1),串行口中斷請求標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時置位TI,向CPU申請中斷。 第53頁,共69頁。二、中斷請求標(biāo)志1、TCON的中斷標(biāo)志IT0(TCON.0),外部中斷0觸發(fā)方式控制位。當(dāng)IT0=0時,為電平觸發(fā)方式。當(dāng)IT0=1時,為邊沿觸發(fā)方式(下降沿有效)。IE0(TCON.1),外部中斷0中斷請求標(biāo)志位。IT1(TCON.2),外部中斷1觸發(fā)方式控制位。IE1(TCON.3),外部中斷1中斷請求標(biāo)志位。TF0(TCON.5),定時/計數(shù)器T0溢出中

30、斷請求標(biāo)志位。TF1(TCON.7),定時/計數(shù)器T1溢出中斷請求標(biāo)志位。 第54頁,共69頁。2、SCON的中斷標(biāo)志RI(SCON.0),串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。同樣,RI必須由軟件清除。TI(SCON.1),串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應(yīng)中斷時,不能自動清除TI,TI必須由軟件清除。 第55頁,共69頁。一、中斷允許控制 CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由中斷允許寄存器IE控制的。5.1.3 80C51中斷的控制

31、 EX0(IE.0),外部中斷0允許位;ET0(IE.1),定時/計數(shù)器T0中斷允許位; EX1(IE.2),外部中斷0允許位;ET1(IE.3),定時/計數(shù)器T1中斷允許位;ES(IE.4),串行口中斷允許位;EA (IE.7), CPU中斷允許(總允許)位。第56頁,共69頁。二、中斷優(yōu)先級控制 80C51單片機(jī)有兩個中斷優(yōu)先級,即可實現(xiàn)二級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級都是由中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定的 。PX0(IP.0),外部中斷0優(yōu)先級設(shè)定位;PT0(IP.1),定時/計數(shù)器T0優(yōu)先級設(shè)定位;PX1(IP.2),外部中斷0優(yōu)先級設(shè)定位;PT1(IP.3),定時

32、/計數(shù)器T1優(yōu)先級設(shè)定位;PS (IP.4),串行口優(yōu)先級設(shè)定位;PT2 (IP.5) ,定時/計數(shù)器T2優(yōu)先級設(shè)定位。第57頁,共69頁。PX0(IPH.0),外部中斷0優(yōu)先級設(shè)定位;PT0(IPH.1),定時/計數(shù)器T0優(yōu)先級設(shè)定位;PX1(IPH.2),外部中斷0優(yōu)先級設(shè)定位;PT1(IPH.3),定時/計數(shù)器T1優(yōu)先級設(shè)定位;PS (IPH.4),串行口優(yōu)先級設(shè)定位;PT2 (IPH.5) ,定時/計數(shù)器T2優(yōu)先級設(shè)定位。而80C52單片機(jī)有四個中斷優(yōu)先級,即可實現(xiàn)四級中斷服務(wù)嵌套。每個中斷源的中斷優(yōu)先級由中斷優(yōu)先級寄存器IP和IPH中的相應(yīng)位的狀態(tài)來規(guī)定的 。第58頁,共69頁。 同

33、一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:第59頁,共69頁。設(shè)置52單片機(jī)的4個中斷源,使他們的優(yōu)順序為T1,INT1,INT0,T0.IPH = 0X08;PT1 = 1;IP = 0X40;PX1 = 1;第60頁,共69頁。80C51單片機(jī)的中斷優(yōu)先級有三條原則:CPU同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別最高的中斷請求。正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。正在進(jìn)行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷請求所中斷。 為了實現(xiàn)上述后兩條原則,中斷系統(tǒng)內(nèi)部設(shè)有兩個用戶不能尋址的

34、優(yōu)先級狀態(tài)觸發(fā)器。其中一個置1,表示正在響應(yīng)高優(yōu)先級的中斷,它將阻斷后來所有的中斷請求;另一個置1,表示正在響應(yīng)低優(yōu)先級中斷,它將阻斷后來所有的低優(yōu)先級中斷請求。第61頁,共69頁。5.2 80C51單片機(jī)中斷處理過程 一、中斷響應(yīng)條件 中斷源有中斷請求; 此中斷源的中斷允許位為1; CPU開中斷(即EA=1)。p115同時滿足時,CPU才有可能響應(yīng)中斷。5.2.1 中斷響應(yīng)條件和時間 第62頁,共69頁。中斷服務(wù)的進(jìn)入: CPU執(zhí)行程序過程中,在每個機(jī)器周期的S5P2期間,中斷系統(tǒng)對各個中斷源進(jìn)行采樣。這些采樣值在下一個機(jī)器周期內(nèi)按優(yōu)先級和內(nèi)部順序被依次查詢。 如果某個中斷標(biāo)志在上一個機(jī)器周

35、期的S5P2時被置成了1,那么它將于現(xiàn)在的查詢周期中及時被發(fā)現(xiàn)。接著CPU便執(zhí)行一條由中斷系統(tǒng)提供的硬件LCALL指令,轉(zhuǎn)向被稱作中斷向量的特定地址單元,進(jìn)入相應(yīng)的中斷服務(wù)程序。 第63頁,共69頁。遇以下任一條件,硬件將受阻,不產(chǎn)生LCALL指令:CPU正在處理同級或高優(yōu)先級中斷;當(dāng)前查詢的機(jī)器周期不是所執(zhí)行指令的最后一個機(jī)器周期。即在完成所執(zhí)行指令前,不會響應(yīng)中斷,從而保證指令在執(zhí)行過程中不被打斷;正在執(zhí)行的指令為RET、RETI或任何訪問IE或IP寄存器的指令。即只有在這些指令后面至少再執(zhí)行一條指令時才能接受中斷請求。 若由于上述條件的阻礙中斷未能得到響應(yīng),當(dāng)條件消失時該中斷標(biāo)志卻已不再有

溫馨提示

  • 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

提交評論