單片機原理及其應用涂海燕_第1頁
單片機原理及其應用涂海燕_第2頁
單片機原理及其應用涂海燕_第3頁
單片機原理及其應用涂海燕_第4頁
單片機原理及其應用涂海燕_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機原理及其應用涂海燕第1頁,共44頁,2022年,5月20日,2點36分,星期二 第二章 MC68HC08單片機基本組成原理 2.1 MC68HC08單片機的基本組成2.1.1 基本組成 所有MC68HC08的基本組成結構都相同。 都由CPU、存儲器和I/O接口電路組成。 MC68HC08 系列中以帶有Flash的 MC68HC908具有更高的性價比。 MC68HC08硬件結構框圖(見下頁) 概述 高性能、低功耗 8bit MCU第2頁,共44頁,2022年,5月20日,2點36分,星期二第3頁,共44頁,2022年,5月20日,2點36分,星期二 CPU08 控制與狀態(tài)寄存器 64B時鐘

2、發(fā)生模塊系統集成模塊Power*RST*IRQVDDPTA0/KBD0PTA7/KBD7寄存器組控制單元ALU用戶Flash 32256B用戶RAM 512B監(jiān)控ROM 307B用戶Flash矢量區(qū) 36B32kHz晶振鎖相環(huán)(PLL)OSC1OSC2CGMXFCVDDAD/VREFH外部中斷模塊安全性模塊上電復位模塊VSSAD/VREFLVSSVDDAVSSA串行通信接口模塊串行外設接口模塊2Ch Timer12Ch Timer28位鍵盤中斷模塊低電壓禁止模塊看門狗模塊斷點模塊監(jiān)控模塊時基模塊數據總線控制存儲器映象模塊屏蔽選擇寄存器1屏蔽選擇寄存器2DDRAPORTADDRBPORTBPTB

3、0/AD0PTB7/AD7監(jiān)控方式進入模塊8位A/D變換模塊DDRCDDRDPORTCPORTDPTC1PTC2PTD0/SSPTC3PTC4PTC5PTC6PTC0PTD1/ MISOPTD2/ MOSIPTD3/SPSCKPTD4/T1CH0PTD5/ T1CH1PTD6/ T2CH0PTD7/ T2CH1PTE0/ TXDPTE1/ RXDDDREPORTE第4頁,共44頁,2022年,5月20日,2點36分,星期二 所有MC68HC08的CPU08結構都相同。都由ALU、CPU寄存器組、CPU控制電路組成。(以下均以MC68HC908GP32為參考)2.1.2.1 MC68HC908G

4、P32 CPU寄存器(共5個) 累加器A:通用寄存器,存放算術、邏輯運算中的第一操作 數和結果等( 8bit) 變址寄存器 H:X 主要用于變址尋址方式,存放基地址; 也可暫存數據,復位時清零H。 (8bit/16bit) 程序計數器 PC : 用于存放將要取出并執(zhí)行的指令的地址 或下一個操作數的地址??煞譃楦?位PCH 和低8位PCL。(16bit) 堆棧指針SP :用于存放堆棧棧頂的地址,可分為高8位SPH和 低8位SPL。 (16bit) 2.1.2 CPU第5頁,共44頁,2022年,5月20日,2點36分,星期二條件碼寄存器 CCR(PSW): 用于存放指令執(zhí)行后的結果的狀態(tài)、特征,

5、而中斷屏蔽I位用于禁止/允許中斷 ( 8bit) 條件碼寄存器CCR內容格式 V 1 1 H I N Z C進位/借位標志零標志負標志中斷屏蔽標志半進位標志溢出標志位 1 1 1 復位時狀態(tài) P.10第6頁,共44頁,2022年,5月20日,2點36分,星期二PCPC+1PC+2Flash低高PC:CCRACCXPCHPCLSP-2SP-1RAM低高SP:SP$00FF(初值)SP復位時為$00FF;RSP指令SP為$*FF。程序調用子程序:JSR、BSR 。 PC進棧(16位) SP-2子程序返回: RTS (SP)+1SP (SP)- PCH (SP)+1-SP (SP)- PCL 中斷響

6、應:SP-5; 中斷返回:SP+5。H沒有自動入棧第7頁,共44頁,2022年,5月20日,2點36分,星期二特殊的第0頁: 事實:CPU08內部寄存器較少。優(yōu)點:中斷響應速度高。缺點:數據傳遞較麻煩。彌補:第0頁存儲單元都可以用直接尋址方式實現數據從存儲 器到存儲器的直接傳送,即不必經過累加器A,即都可 以當作寄存器用。(提高了代碼效率)這樣的機制更適合用于控制系統設計! 堆棧特點: 采用棧頂空形式; 壓棧向棧地址減小的方向生長,即壓棧后(SP)-1SP,彈 出前(SP)+1SP; MCU復位, SP置為00FF;執(zhí)行復位堆棧指令(RSP)時, SP置為*FF;第8頁,共44頁,2022年,

7、5月20日,2點36分,星期二一般RAM區(qū)累加器A2.1.2.2 算術/邏輯單元和CPU控制電路片內存儲器第0頁含: 64B I0寄存器 $00 $3F 192B RAM $40 $FFRAM第0頁第9頁,共44頁,2022年,5月20日,2點36分,星期二2.1.3 Memory 存儲器組織的特點:統一編址。 所有數據存儲器、程序存儲器和I/O寄存器均處于一個統一 編址的地址空間。 存儲器組成: I/O寄存器空間; 內部RAM空間; ROM空間,即監(jiān)控ROM,實際上即系統ROM ; Flash空間。 也可以只劃為RAM區(qū)、ROM區(qū)和Flash區(qū),在這里RAM區(qū)則包括I/O寄存器空間和內部RA

8、M空間。RAM區(qū)第10頁,共44頁,2022年,5月20日,2點36分,星期二2.1.3.1 存儲空間分配 (1)內部I/O寄存器空間 $OO00 $OO3F 64B 包括:所有的并行 I/O口 串行口 定時器 A/DC 鍵盤中斷 中斷控制邏輯 單片機工作狀態(tài)監(jiān)視 系統設置 (注意:還有第二段I/O寄存器空間) 數據寄存器狀態(tài)寄存器控制寄存器等第11頁,共44頁,2022年,5月20日,2點36分,星期二(2)內部RAM空間 $OO40 $O23F 512B 特殊區(qū):RAM第0頁192B 用戶RAM區(qū)。 其中一部分作為堆棧區(qū)。 如何充分應用第0頁用戶RAM區(qū)? 將堆棧區(qū)移出第0頁用戶RAM區(qū)。

9、 由于SP可編程,可使SP從復位時指向的0頁移出。 這樣只適用于0頁的直接尋址指令可以快速而有效地在第 0頁RAM空間存取。 0頁即成為用戶儲存那些訪問頻率較高的全局變量的理想 空間。(3)監(jiān)控ROM空間 $FE20 $FF52 307B 監(jiān)控ROM區(qū)可為監(jiān)控方式和用戶方式服務。第12頁,共44頁,2022年,5月20日,2點36分,星期二 (4)Flash空間 $8000 $FDFF 32256B; $FFDC $FFFF 36B 第一段:為用戶程序區(qū),用于存放用戶程序 第二段:作為矢量表, 其中$FFF6 $FFFD是預留的8個保 密字節(jié)。 (5)第二段I0寄存器區(qū) $FE00$FEOC

10、12B 分別是系統集成模塊的斷點狀態(tài)寄存器、復位狀態(tài)寄存器、斷點標志控制寄存器,中斷1、2、3狀態(tài)寄存器,Flash控制寄存器,斷點地址寄存器高位/低位,斷點狀態(tài)和控制寄存器,低電壓禁止狀態(tài)寄存器等。 (6)Flash塊保護寄存器 FLBPR $FF7E 1B (7)不存在的存儲區(qū) $0240 $7FFF 32192B; $FEOD $FElF,19B; $FF53 $FF7D,43B; $FF7F $FFDB 93B第13頁,共44頁,2022年,5月20日,2點36分,星期二2.1.3.2 I0寄存器和部分功能模塊寄存器的地址寄存器地址寄存器地址寄存器地址寄存器地址PTA$0000SPCR

11、$0010T1SC$0020T2SC0$0030PTB$0001SPSCR$0011T1CNTH$0021T2CH0H$0031PTC$0002SPDR$0012T1CNTL$0022T2CH0L$0032PTD$0003SCC1$0013T1MODH$0023T2SC1$0033DDRA$0004SCC2$0014T1MODL$0024T2CH1H$0034DDRB$0005SCC3$0015T1SC0$0025T2CH1L$0035DDRC$0006SCS1$0016T1CH0H$0026PCTL$0036DDRD$0007SCS2$0017T1CH0L$0027PBWC$0037PTE$

12、0008SCDR$0018T1SC1$0028PMSH$0038-$0009SCBR$0019T1CH1H$0029PMS L$0039-$000AINTKBSCR$001AT1CH1L$002APMRS$003A-$000BINTKBIER$001BT2SC$002BPMDS$003BDDRE$000CTBCR$001CT2CNTH$002CADSCR$003CPTAPUE$000DINTSCR$001DT2CNTL$002DADR$003DPTCPUE$000ECONFIG2$001ET2MODH$002EADCLK$003EPTDPUE$000FCONFIG1$001FT2MODL$00

13、2F-$003F第14頁,共44頁,2022年,5月20日,2點36分,星期二2.1.3.3 RAM存儲器 MCU型號不同其RAM容量也不同。 GP32有512B RAM $OO40 $O23F。其中0頁 192B $0040 $00FF 0頁的尋址方式多,操作速度快,可用作數據緩沖器和程序的工作標志單元。 堆棧區(qū)也設在RAM中,復位后,堆棧指針為$OOFF,使堆棧區(qū)位于RAM的第0頁。GP32的堆棧區(qū)的位置是可編程的,一般將堆棧區(qū)設在$023F$01FF。2.1.3.4 監(jiān)控ROM 監(jiān)控ROM固化了系統檢測、Flash編程以及串行通信等功能的程序。使MCU可以工作于兩種方式:監(jiān)控方式和用戶方

14、式。 在特定條件下,MCU可進入監(jiān)控方式。監(jiān)控ROM可以通過單一的一條信號線與主機進行串行通信,接收和執(zhí)行預先定義的主機命令,如讀寫存儲器、執(zhí)行程序等,并返回結果。監(jiān)控方式能夠完成一些特殊功能,例如: (1)下裝代碼到 RAM 或 Flash 存儲器中; (2)執(zhí)行 RAM 或 Flash 存儲器中的程序代碼; (3)Flash 存儲器的加密; 第15頁,共44頁,2022年,5月20日,2點36分,星期二 (4)Flash存儲器擦除、寫入、校驗; (5)與主計算機進行標準的不歸零傳號空號串行通信,其波特率可以為4.8k 28.8kbaud; (6)在線編程; (7)用戶方式Flash編程。2

15、.1.3.5 Flash存儲器 Flash 快速、非易失、可在高壓(GP32片內的電荷泵產生,單一外部5V電源)下進行讀、寫、擦除的全部操作的存儲器。 Flash存儲器用于存放用戶程序和復位向量與中斷向量。其中: $8000 $FDFF 存放用戶程序; $FFDC $FFFF 存放復位向量與中斷向量(即用來存放用戶定義的復位和中斷服務程序的入口地址) Flash寫入與擦除主要由FLCR寄存器($FE08)控制。第16頁,共44頁,2022年,5月20日,2點36分,星期二FLCR寄存器的格式如下: (P.12) D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 HVENMASSE

16、RASE PGM Flash中還可以使用保護區(qū),保護區(qū)即只讀存儲區(qū),不能在該區(qū)中進行擦、寫操作。保護區(qū)用保護寄存器FLBPR($FF7E)指定保護區(qū)的首址,保護區(qū)的末地址一律為$FFFF。 FLBPR保護值及保護區(qū)對照: FLBPR=$00 保護全部Flash存儲器; FLBPR=$01 保護區(qū)為$8080 $FFFF; FLBPR=$02 保護區(qū)為$8100 $FFFF; FLBPR=$FE 保護區(qū)為$FF00 $FFFF; FLBPR=$FF 不保護。第17頁,共44頁,2022年,5月20日,2點36分,星期二2.1.3.6 第二段I/O寄存器區(qū) (P.13) $FE00 SBSR 系統

17、集成模塊斷點狀態(tài)寄存器 $FE01 SRSR 系統集成模塊復位狀態(tài)寄存器 $FE02 SUBAR 保留 $FE03 SBFCR 系統集成模塊斷點標志控制寄存器 $FE04 INTl 中斷狀態(tài)寄存器l $FE05 INT2 中斷狀態(tài)寄存器2 $FE06 INT3 中斷狀態(tài)寄存器3 $FE08 FLCR Flash控制寄存器 $FE09 BRKH 斷點地址寄存器高位 $FE0A BRKL 斷點地址寄存器低位 $FE0B BRKSCR 斷點狀態(tài)和控制寄存器 $FE0C LVISR 低電壓禁止狀態(tài)寄存器 $FF7E FLBPR Flash塊保護寄存器第18頁,共44頁,2022年,5月20日,2點36

18、分,星期二I/O 寄存器(64B)RAM數據寄存器 (512B)不存在的單元(32192B)Flash存儲器 (32256B)(用戶程序存儲器)控制狀態(tài)寄存器不存在的單元(19B)監(jiān)控ROM(307B)不存在的單元(43B)Flash塊保護寄存器(FLBPR)不存在的單元(93B)0000004002407FFF8000FDFFFE00FE0DFE20FE52FE53FF7E系統集成模塊斷點狀態(tài)寄存器(SBSR)003F023FFlash存儲器 (36B)(復位和中斷向量區(qū))系統集成模塊復位狀態(tài)寄存器(SRSR)保留(SUBAR)系統集成模塊斷點標志控制寄存器(SBFCR)中斷狀態(tài)寄存器(IN

19、T1)中斷狀態(tài)寄存器(INT2)中斷狀態(tài)寄存器(INT3)保留Flash控制寄存器(FLCR)斷點地址寄存器高字節(jié)(BRKH)斷點地址寄存器低字節(jié)(BRKL斷點狀態(tài)和控制寄存器(BRKSCR)低電壓禁止狀態(tài)寄存器(LVISR)FE0CFE1FFE7DFF7FFFDBFFDCFFFFFE00FE01FE02FE03FE04FE05FE06FE07FE08FE09FE0AFE0BFE0C第19頁,共44頁,2022年,5月20日,2點36分,星期二2.1.4 時鐘發(fā)生器模塊CGM 時鐘發(fā)生器模塊CGM由晶體振蕩器CGMC、鎖相環(huán)PLL和時鐘選擇電路三部分組成,其功能是產生系統的工作時鐘。晶振電路直

20、接分頻鎖相環(huán)頻率發(fā)生器時鐘選擇電路外部晶體系統時鐘MC68HC908GP32OSC1 OSC2 CGMXFC VSSA VDDARbRsX1C1C210k0.47F0.01FCBYP0. 1FVDD第20頁,共44頁,2022年,5月20日,2點36分,星期二2.1.4.1 晶體振蕩器參數名 符號最小值典型值最大值單位晶體頻率 X1 3032.768100kHzCL-pF負載電容固定電容C162 * CL40pFC262 * CL40pF微調電容反饋電阻Rb101022MRs330330470k串聯電阻2.1.4.2 鎖相環(huán)頻率發(fā)生器 (1)鎖相環(huán)PLL控制寄存器PCTL(地址:0036) (

21、2)鎖相環(huán)PLL帶寬控制寄存器PBWC (地址:0037) (3)鎖相環(huán)PLL反饋分頻器高字節(jié)寄存器和低字節(jié)寄存器PMSH、PMSL(地址:$0038,$0039) (4)鎖相環(huán)PLL壓控振蕩器范圍選擇寄存器PMS(地址:$003A)2.1.4.3 鎖相環(huán)電路參數計算及編程方法第21頁,共44頁,2022年,5月20日,2點36分,星期二2.1.5 系統操作正常監(jiān)視模塊 系統操作正常監(jiān)視模塊(computer operating properly, COP)俗稱看門狗電路(Watchdog)。 COP內部有一個自由運行的計數器,若計數溢出時便產生復位信號,使系統復位。 目的:防止程序“跑飛”。

22、 過程:COP被允許后,為了使系統正常工作,應用軟件必須周期性地 向$FFFF(COP控制寄存器)寫入任意值,以清除COP計數器。 寫入周期應小于COP的溢出周期,使COP在正常工作時不致于產 生復位信號。 若系統工作不正常而“跑飛” 時,COP計數器就得不到清零, 那么它將溢出而產生復位信號,以便將“跑飛”程序拉回。 設置:在系統設置寄存器CONFIG1 (地址:$001F)中可以設置COP的 溢出周期及允許、禁止COP。第22頁,共44頁,2022年,5月20日,2點36分,星期二 COPD =1,禁止COP產生復位信號 COPD=0,允許COP產生復位信號 COPRS=1,溢出周期 =

23、(213 - 24)個晶振時鐘周期 COPRS=0,溢出周期 = (218 - 24)個晶振時鐘周期2.1.6 低電壓禁止模塊 低電壓禁止模塊(low voltage inhibition,LVI) 作用:監(jiān)測加在VDD上的電源電壓,當VDD低于某個預定電壓值LVI Tmp 時,認為發(fā)生電源故障,產生中斷信號并強制系統復位。CONFIG1的D0位COPD規(guī)定 COP是否允許產生復位信號,D7位COPRS用于設置COP的溢出周期。(P.28)COPD COPRS CONFIG1$001F復位 0 0 0 0 0 0 0 0 7 6 5 4 3 2 1 0第23頁,共44頁,2022年,5月20日

24、,2點36分,星期二低耗能工作方式兩種低耗能工作方式:WAlT方式和STOP方式 1.WAIT (等待)方式進入方式:CPU執(zhí)行WAIT指令工作狀態(tài):停止CPU時鐘使CPU停止工作 總線時鐘繼續(xù)工作使其他功能模塊可以繼續(xù)工作。工作電流:降為12mA 。(若禁止時基TBM和低電壓禁止LVI等模塊,電流可進一步減小)退出方式:內部和外部的復位 允許的中斷請求信號第24頁,共44頁,2022年,5月20日,2點36分,星期二2.STOP (停止)方式進入方式:執(zhí)行STOP指令工作狀態(tài):IRQ、KBI、LVI可工作 其他模塊都停止工作 (當結構寄存器CONFIG2的OSCSTOPENB位=0。將禁止振

25、蕩器工作)工作電流:5A500A(與溫度和LVI、KBI等模塊是否停 止工作有關)。退出方式:外部中斷 鍵盤中斷信號 外部或LVI復位信號,第25頁,共44頁,2022年,5月20日,2點36分,星期二 結構寄存器CONFIGX 結構寄存器主要用于MCU的功能選擇: CONFIG2($001E)000000OSCSTOPENBSCIBDSRCRWCONFIG2$001E復位 0 0 0 0 0 0 0 0OSCSTOPENB:STOP方式下晶體振蕩器工作允許位 OSCSTOPENB=1,在STOP方式下允許晶體振蕩器工作; OSCSTOPENB=0,在STOP方式下禁止晶體振蕩器工作。SCIB

26、DSRC:串行通信SCI時鐘源選擇位: SCIBDSRC=1,內部總線時鐘為SCI時鐘; SCIBDSRC=0,外部振蕩器時鐘CGMXCLK作為SCI時鐘。第26頁,共44頁,2022年,5月20日,2點36分,星期二 CONFIGl ($001E)STOPCOPDLVI5OR3SSRECLVIRSTDLVIPWRDCOPRSLVISTOPRW復位 0 0 0 0 0 0 0 0CONFIG1$001FCOPRS:COP計數器溢出周期選擇位: COPRS=1,COP溢出周期為(213 - 24)個CGMXCLK時鐘周期; COPRS=0,COP溢出周期為(218 - 24)個CGMXCLK時鐘

27、周期。 LVISTOP:STOP方式下的LVI允許位:(LVI:低電壓禁止模塊) LVISTOP=1,在STOP方式下允許LVI工作; LVISTOP=0,在STOP方式下禁止LVI工作。 LVIRSTD:LVI復位禁止位: LVIRSTD=1,禁止LVI復位; LVIRSTD=0,允許LVI復位。 第27頁,共44頁,2022年,5月20日,2點36分,星期二LVIPWRD:LVI電源禁止位: LVIPWRD=1,禁止LVI電源檢測控制; LVIPWRD=0,允許LVI電源檢測控制。LVI5OR3:LVI電源選擇位: LVI5OR3=1,LVI工作于5V方式; LVI5OR3=0,LVI工作

28、于3V方式。SSREC:退出STOP方式時恢復時間選擇位: SSREC=1,恢復時間為32個CGMXCLK時鐘周期; SSREC=0,恢復時間為4096個CGMXCLK時鐘周期。STOP:STOP指令允許位:STOP=1,STOP指令為合法指令;STOP=0,STOP指令為非法指令,執(zhí)行STOP指令,將產生非法指令碼復位操作。第28頁,共44頁,2022年,5月20日,2點36分,星期二COPD:COP禁止位: COPD=1,禁止COP工作; COPD=0,允許COP工作。第29頁,共44頁,2022年,5月20日,2點36分,星期二2. MC68HC08單片機的工作方式2. 復位2.2.1.

29、1復位信號源2.2.1.1.1 外部復位 條件: RST腳持續(xù)一段時間低電平 功能:產生外部復位并延時,再采樣RST腳,以確定是否退出復位 標志:復位狀態(tài)寄存器SRSR中的PIN位置為“1”2.2.1.1.2 內部上電復位 條件: VDD腳上正跳變 功能: 復位 標志: SRSR.POR = 12.2.1.1.3 低電壓復位 條件: VDD輸入電壓低于設定電壓時復位 功能:復位 標志:SRSR.LVI = 1第30頁,共44頁,2022年,5月20日,2點36分,星期二2.2.1.1.4 COP監(jiān)視復位 條件:Watchdog計數器溢出時復位 功能:COP定時器溢出,復位MCU,常用于防軟件“

30、跑飛” 標志:SRSR.COP = 1 處理:定時復位COP(向地址為FFFF的COP 控制寄存器 寫任意數) 注意:$FFFF 讀與寫不同2.2.1.1.5 非法地址復位 功能:當從非法地址內存取時自動復位 標志:SRSR.ILAD = 12.2.1.1.6 非法取指復位 功能:當取出非法指令時自動復位 標志:SRSR.ILOP = 12.2.1.2 復位狀態(tài)寄存器SRSR($FE01) SRSR為系統集成模塊SIM中的一個狀態(tài)寄存器,記錄發(fā)生復位操作的原因。第31頁,共44頁,2022年,5月20日,2點36分,星期二特點:它是只讀寄存器,對它進行讀操作后,各標志位被自動清零。POR:上電

31、復位標志;PIN:外部復位標志;COP:看門狗復位標志;ILOP:非法操作碼復位標志;ILAD:非法地址復位標志;LVI:低電壓復位標志。PORPINCOPILOPILAD0LVI0復位 0 0 0 0 0 0 0 0 7 6 5 4 3 2 1 0第32頁,共44頁,2022年,5月20日,2點36分,星期二2.2.1.3 復位的狀態(tài) MCU立即停止正在執(zhí)行的操作; MCU內各種控制狀態(tài)寄存器置為確定的初始值; 堆棧指針SP裝入00FF 置位CCR的I標志,禁止中斷 變址寄存器H清零 PC裝入復位向量FFFE和FFFF單元中的地址 清所有口的數據方向寄存器,I/O口均為輸入 選CGMXCLK

32、(晶體振蕩器輸出時鐘) 4作為內部總線時鐘; 從FFFE和FFFF單元取出用戶定義的復位中斷向量地址送程序 計數器PC,MCU從此復位中斷入口執(zhí)行程序。第33頁,共44頁,2022年,5月20日,2點36分,星期二MC68HC908GP32 時序圖第34頁,共44頁,2022年,5月20日,2點36分,星期二2.2 中斷2.2.2.1 中斷的種類(08系列) 4種可屏蔽的硬件中斷:即外部中斷IRQ 定時器中斷 SCI中斷 SPI中斷 (有的系列還有其它一些中斷,如ADC中斷、鍵盤中斷等)。 1種不可屏蔽的軟件中斷SWI。 屏蔽:置位CCR的 I 標志位將屏蔽所有的硬件中斷。 GP32中斷系統有

33、24個中斷源, 17個中斷向量,每個中斷源都有一個中斷標志位、中斷允許位。 中斷響應的條件 CCR中的中斷屏蔽位 I = 0; 已有硬件中斷已在CPU登記,如多個中斷源同時向 CPU 請求中斷,按中斷優(yōu)先級次序響應優(yōu)先級最高的中斷請求。第35頁,共44頁,2022年,5月20日,2點36分,星期二 中斷的過程 中斷過程包括: 中斷請求 中斷判優(yōu) 中斷響應 中斷處理 中斷返回 共5 個步驟。 重點:中斷響應。 中斷響應過程: CPU寄存器PCL、PCH、X、A、CCR依次入棧保護; 1 CCR的 I(關中斷); 從所響應的中斷請求源相對應的中斷向量地址中取出中斷服務程序 入口地址送入PC寄存器,

34、CPU即從中斷入口地址開始執(zhí)行中斷服務 程序。 第36頁,共44頁,2022年,5月20日,2點36分,星期二 CPU從中斷入口地址開始執(zhí)行中斷服務程序。 中斷服務程序的最后一條指令是RTI,RTI指令從堆棧中依次彈出CCR、 A、X、PCH、PCL,使CPU回到原來被中斷地方繼續(xù)執(zhí)行原來的程序; CPU響應中斷執(zhí)行中斷服務程序時,I = 1,因此不能響應其他中斷請求。 如果允許中斷嵌套,需要在中斷服務程序的適當位置放一條CLI指令,清 零I,就可以響應其他中斷請求以實現中斷嵌套。第37頁,共44頁,2022年,5月20日,2點36分,星期二外部中斷IRQCH0IECH0FTOIETOFCH1

35、IECH1FCH0IECH0FPLLIEPLLFIMASK1IRQFNoneNone屏蔽標志$FFF0 $FFF1$FFF2 $FFF3$FFF4 $FFF5$FFF6 $FFF7$FFF8 $FFF9$FFFA $FFFB0$FFFC $FFFD中斷優(yōu)先級中斷向量地址25NoneIF5IF6IF4IF3TIM1通道0軟件中斷SWI復位/中斷源INT寄存器標志1634IF1IF2CGM中斷TIM1通道1TIM1溢出TIM2通道0NEIENFORIEORSPTIESPIEERRIE MODFERRIEOVRFSPRIESPRFTOIETOFCH1IECH1F$FFE6 $FFE7 $FFE8 $

36、FFE9$FFEA $FFEB 8$FFEC $FFED7$FFEE $FFEFIF8 IF11IF10IF9SPI方式錯TIM2溢出IF711910SPI溢出SPI發(fā)送器空SCI接收器溢出SCI噪聲標志TIM2通道1SPI接收器滿AIENCOCOIMASKKKEYFTCIETCSCTIESCTEILIEIDLESCRIESCRFPEIEPEFEIEFE$FFDE $FFDF$FFE0 $FFE1$FFE2 $FFE3$FFE4 $FFE5 14 IF14IF15IF13SCI發(fā)送器空SCI接收器滿SCI奇偶錯SCI格式錯121513IF12SCI輸出空閑SCI發(fā)送完成鍵盤輸入中斷ADC轉換完

37、成時基中斷TBIFTBIEIF16$FFDC $FFDD16第38頁,共44頁,2022年,5月20日,2點36分,星期二 外部中斷IRQ 外部中斷請求信號是可屏蔽的中斷請求信號。(P.25)IRQF0IMASKACKMODEINTSCR$001DRW復位 0 0 0 0 0 0 0 0IRQF: 中斷標志位。IRQF=1,中斷請求發(fā)生; IRQF=0,無中斷請求。ACK:中斷請求響應位。用軟件將ACK置“1”時將清零IRQF。 * 在外部中斷服務程序中必須有置“1”ACK的指令,以清零IRQF。IMASK:中斷屏蔽位,IMASK=1,禁止IRQ中斷, IMASK=0,允許 IRQ中斷。MOD

38、E: 中斷觸發(fā)方式選擇位, MODE=1,輸入負跳變或低電平時產生中斷; MPDE=0,輸入僅為負跳變時產生中斷。第39頁,共44頁,2022年,5月20日,2點36分,星期二 鍵盤中斷KBI 鍵盤中斷提供多個可屏蔽的外部中斷。 GP32的PTA0 PTA7既可作通用雙向I0口使用,也可作鍵盤輸入線(或附加外部中斷輸入線)按鍵時產生鍵盤中斷。 鍵盤中斷可喚醒CPU退出節(jié)電方式(WAIT或STOP)回到正常的運行狀態(tài),對鍵盤輸入信息進行處理。 鍵盤中斷狀態(tài)和控制寄存器INTKBSCR( $001A)MODEK:鍵盤中斷觸發(fā)方式位: MODEK=1, 鍵輸入線發(fā)生負跳變或為低電平時產生中斷請求(1KEYF); MODEK=0, 僅當鍵輸入線發(fā)生負跳變時產生中斷請求(1KEYF); KEYF:鍵盤中斷標志位:KEYF=1, 鍵盤正在請求中斷; KEYF=0, 無鍵盤中斷請求。KEYF0IMASKKACKKMODEKRWINTKBSCR$001A復位 0 0 0 0 0 0 0 0第

溫馨提示

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

評論

0/150

提交評論