教學(xué)課件PPT MCS51單片機的硬件結(jié)構(gòu)與工作原理
《教學(xué)課件PPT MCS51單片機的硬件結(jié)構(gòu)與工作原理》由會員分享,可在線閱讀,更多相關(guān)《教學(xué)課件PPT MCS51單片機的硬件結(jié)構(gòu)與工作原理(57頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第二章第二章 MCS-51MCS-51單片機的硬件結(jié)構(gòu)與工作原理單片機的硬件結(jié)構(gòu)與工作原理主要內(nèi)容主要內(nèi)容:1.MCS-511.MCS-51單片機組成(結(jié)構(gòu)、引腳功能)單片機組成(結(jié)構(gòu)、引腳功能)2.2.并行并行I/OI/O端口結(jié)構(gòu)端口結(jié)構(gòu)3.3.儲器組織與操作儲器組織與操作4.MCS-514.MCS-51單片機的中斷系統(tǒng)單片機的中斷系統(tǒng)1 1)中斷系統(tǒng)概述)中斷系統(tǒng)概述2 2)中斷的處理過程)中斷的處理過程重點理解:重點理解:1 . MCS-51系列單片機存儲器結(jié)構(gòu)特點系列單片機存儲器結(jié)構(gòu)特點2. 單片機特殊功能寄存器的作用單片機特殊功能寄存器的作用3 .不同場合下單片機引腳的復(fù)用功能不同場
2、合下單片機引腳的復(fù)用功能4 . 單片機的位處理功能及其作用單片機的位處理功能及其作用一、一、MCSMCS5151單片微機的硬件組成單片微機的硬件組成 第一節(jié)第一節(jié) MCS-51MCS-51單片機的基本組成單片機的基本組成 1. 中央處理單元中央處理單元CPU(8位)位)2.2.只讀存儲器只讀存儲器ROM 大?。海o、大?。海o、4K、8K、16K、32K、64K) 作用:存儲應(yīng)用程序,數(shù)表作用:存儲應(yīng)用程序,數(shù)表 種類:掩膜種類:掩膜ROM、EPROM、EEPROM、FLASH ROM3.3.隨機存取器隨機存取器RAM 大?。海ù笮。海?28B、256B、512B) 作用:程序運行中存儲工作變
3、量和數(shù)據(jù)作用:程序運行中存儲工作變量和數(shù)據(jù)4 4. .并行輸入并行輸入/輸出口輸出口 I / O(32線)線):系統(tǒng)總線、擴展外:系統(tǒng)總線、擴展外存、存、I / O接口芯片接口芯片5.5.串行輸入串行輸入/輸出口輸出口 UART (二線):串行通信、擴展(二線):串行通信、擴展I / O接口芯片接口芯片6 6、定時定時/計數(shù)器計數(shù)器 T(16位增量可編程)位增量可編程) 它與它與CPU之間各自獨立工作,當它計數(shù)滿時向之間各自獨立工作,當它計數(shù)滿時向CPU中斷中斷7 7、時鐘電路時鐘電路 fosc: 分為內(nèi)部振蕩器、外接振蕩電路分為內(nèi)部振蕩器、外接振蕩電路8 8、中斷系統(tǒng)中斷系統(tǒng): 五源中斷、兩
4、級優(yōu)先,可編程進行控制。五源中斷、兩級優(yōu)先,可編程進行控制。時鐘電路時鐘電路CPUROMRAMT0 T1中斷系統(tǒng)中斷系統(tǒng)串行接口串行接口并行接口并行接口P0 P1 P2 P3TXD RXDINT0 INT1定時計數(shù)器定時計數(shù)器8位的位的CPU內(nèi)部內(nèi)部RAM:共共256個單元個單元內(nèi)部內(nèi)部ROM:4K字節(jié)字節(jié)ROM2個個16位的位的定定時時/計數(shù)器計數(shù)器4個個8位的位的并行并行I/O口口一個全雙工一個全雙工串行串行口。口。5個中斷源的個中斷源的中斷系統(tǒng)中斷系統(tǒng)時鐘電路:時鐘電路:產(chǎn)生時鐘脈沖序列產(chǎn)生時鐘脈沖序列二二 . MCS51單片機的內(nèi)部結(jié)構(gòu)單片機的內(nèi)部結(jié)構(gòu)12345678910111213
5、14151617181920403938373635343332313029282726252424222180318051 875189C51三三 單片機引腳功能單片機引腳功能P3口的第二功能口的第二功能VCCVSSXTAL2XTAL1RSTP0. 0P0.1P0.2 P0.3 P0.4 P0.5 P0.6 P0.7P1. 0P1.1P1.2 P1.3 P1.4 P1.5 P1.6 P1.7P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2. 0ALEP3. 0P3.1P3.2 P3.3 P3.4 P3.5 P3.6 P3.72、振蕩電路:、振蕩電路:XTAL1、XT
6、AL23、復(fù)位引腳:、復(fù)位引腳:RST4、并行口:、并行口:P0、P1、P2、P37、ALE:地址鎖存控制信號:地址鎖存控制信號1、電源線:、電源線:VCC(+5V)、VSS(地地)EAPSEN5、EA:程序存儲器訪問控制信號:程序存儲器訪問控制信號6、PSEN:外部:外部ROM讀選通信號讀選通信號RXD/TXD/INT0/ INT1/ T0/ T1/WR/ RD/四、振蕩器、時鐘電路及時序四、振蕩器、時鐘電路及時序 1.1.時鐘電路時鐘電路 MCSMCS5l5l單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳腳XTALlXTALl和和
7、XTAL2XTAL2分別是反相放大器的輸入端和輸出端,由這個放大器分別是反相放大器的輸入端和輸出端,由這個放大器與作為反饋元件的片外晶體或陶瓷諧振器一起構(gòu)成了一個自激振蕩器,與作為反饋元件的片外晶體或陶瓷諧振器一起構(gòu)成了一個自激振蕩器,如圖如圖2 24 4所示。這種方式形成的時鐘信號稱為內(nèi)部時鐘方式。圖所示。這種方式形成的時鐘信號稱為內(nèi)部時鐘方式。圖2 25 5所所示,為外部時鐘方式。示,為外部時鐘方式。 一般使用 2.2.有關(guān)有關(guān)單片機單片機CPUCPU的的時序時序1 1)振蕩周期)振蕩周期: 指為單片機提供定時信號的振蕩源的周期,若為內(nèi)部產(chǎn)生指為單片機提供定時信號的振蕩源的周期,若為內(nèi)部產(chǎn)
8、生方式時,為石英晶體的振蕩周期。方式時,為石英晶體的振蕩周期。(2 2)時鐘周期)時鐘周期:也稱為狀態(tài)周期,用也稱為狀態(tài)周期,用S S表示。時鐘周期是計算機中最基本表示。時鐘周期是計算機中最基本的時間單位,在一個時鐘周期內(nèi),的時間單位,在一個時鐘周期內(nèi),CPUCPU完成一個最基本的動作。完成一個最基本的動作。MCSMCS5151單單片機中一個時鐘周期為振蕩周期的片機中一個時鐘周期為振蕩周期的2 2倍。倍。3 3)機器周期:完成一個基本操作(例如,取指令、存儲器讀、存儲器寫)機器周期:完成一個基本操作(例如,取指令、存儲器讀、存儲器寫等)所需要的時間稱為機器周期。等)所需要的時間稱為機器周期。M
9、CSMCS5151的一個機器周期含有的一個機器周期含有6 6個時鐘周個時鐘周期。期。(4 4)指令周期)指令周期完成一條指令所需要的時間稱為指令周期。完成一條指令所需要的時間稱為指令周期。MCSMCS5l5l的指令周期含的指令周期含1 14 4個個機器周期不等,其中多數(shù)為單周期指令,還有機器周期不等,其中多數(shù)為單周期指令,還有2 2周期和周期和4 4周期指令。周期指令。4 4周期周期指令只有乘、除兩條指令。指令只有乘、除兩條指令。ALE2S6S2S6S3S4S5S3S4S5S1S1S一個機器周期一個機器周期P1 P2P1 P22S1S6S1S單字節(jié)單周期指令例:INC A讀操作碼讀操作碼)讀下
10、一個操作碼(丟棄讀下一個操作碼(丟棄3S4S5S 取指令取指令 分析分析 執(zhí)行執(zhí)行 時鐘周期第四節(jié)第四節(jié) MCS-51MCS-51存儲器組織與操作存儲器組織與操作( (重點重點) ) MCS51系列單片機其存儲結(jié)構(gòu)特點是系列單片機其存儲結(jié)構(gòu)特點是: 將程序存儲器和數(shù)據(jù)存儲器分開,并有各自的尋址機構(gòu)和尋址方式,將程序存儲器和數(shù)據(jù)存儲器分開,并有各自的尋址機構(gòu)和尋址方式,這種結(jié)構(gòu)的單片微機稱為這種結(jié)構(gòu)的單片微機稱為哈佛型結(jié)構(gòu)哈佛型結(jié)構(gòu)單片微機單片微機。在物理上在物理上有有4 4個相互獨立的存儲空間:個相互獨立的存儲空間:片內(nèi)和片外程序存儲器;片內(nèi)和片外數(shù)據(jù)存儲器。片內(nèi)和片外程序存儲器;片內(nèi)和片外數(shù)
11、據(jù)存儲器。 在邏輯上在邏輯上有三個彼此獨立的地址空間:有三個彼此獨立的地址空間:1、片內(nèi)外統(tǒng)一編址的、片內(nèi)外統(tǒng)一編址的64KB程序存儲器地址間;程序存儲器地址間;2、256字節(jié)的字節(jié)的片內(nèi)數(shù)據(jù)存儲器片內(nèi)數(shù)據(jù)存儲器地址空間;地址空間;3、64K字節(jié)的字節(jié)的片外數(shù)據(jù)存儲器片外數(shù)據(jù)存儲器地址空間地址空間一、一、 MCSMCS5151程序存儲器程序存儲器組織結(jié)構(gòu)與地址空間組織結(jié)構(gòu)與地址空間 7 7個特殊單元:個特殊單元: 0000H 0000H 復(fù)位后復(fù)位后,PC=0000H. ,PC=0000H. 開始執(zhí)行程序開始執(zhí)行程序 0003H 0003H 外部中斷外部中斷0 0 (INT0INT0)入口)入
12、口 000BH 000BH 定時器定時器0 0中斷(中斷( TF0TF0)入口)入口 0013H 0013H 外部中斷外部中斷1 1(INT1INT1) 入口入口 001BH 001BH 定時器定時器1 1 ( TF1TF1)入口)入口 0023H 0023H 串行口中斷串行口中斷TI/RITI/RI入口入口 002BH 002BH 定時計數(shù)器定時計數(shù)器2 2溢出或溢出或T2EXT2EX輸入負跳變(輸入負跳變(5252系列)系列) MCSMCS5l5l采用采用1616位的程序計數(shù)器位的程序計數(shù)器PCPC和和l6l6位的地址總線,位的地址總線,64KB64KB片內(nèi)、外片內(nèi)、外的程序存儲器空間連續(xù)
13、、統(tǒng)一的程序存儲器空間連續(xù)、統(tǒng)一 。二、二、MCSMCS5151數(shù)據(jù)存儲器數(shù)據(jù)存儲器組織與地址空間組織與地址空間 數(shù)據(jù)存儲器地址空間由內(nèi)部和外部數(shù)據(jù)存儲器空間組成。內(nèi)部和外部數(shù)數(shù)據(jù)存儲器地址空間由內(nèi)部和外部數(shù)據(jù)存儲器空間組成。內(nèi)部和外部數(shù)據(jù)存儲器空間據(jù)存儲器空間存在重疊存在重疊,通過,通過不同指令不同指令來區(qū)別。來區(qū)別。 內(nèi)部數(shù)據(jù)存儲器在物理上又可分成三部分:低內(nèi)部數(shù)據(jù)存儲器在物理上又可分成三部分:低128128字節(jié)字節(jié)RAMRAM、高、高128128字節(jié)字節(jié)RAM(RAM(僅僅8032803208520852才有才有) )和專用寄存器和專用寄存器(SFR)(SFR)。0000H FFFFH
14、00H 7FH 內(nèi) 部RAM 外 部 RAM 64KB 數(shù) 據(jù) 存 儲器 示 意圖 SFR 80H FFH 1 1、 工作寄存器區(qū)工作寄存器區(qū)2 2、20H-2FH 20H-2FH 位尋址區(qū)既可進行字節(jié)尋址,位尋址區(qū)既可進行字節(jié)尋址,又可進行位尋址。這又可進行位尋址。這1616個單元共有個單元共有16168 8128128位,位, 3 3、30H-7FH 30H-7FH 通用通用存儲區(qū)存儲區(qū)4 4、片外數(shù)據(jù)存儲器、片外數(shù)據(jù)存儲器 0000 0000H HFFFFHFFFFH范圍為范圍為64K64K字節(jié),采用字節(jié),采用R0R0、R1R1或或DPTRDPTR寄存器間址寄存器間址方式訪問。當采用方式
15、訪問。當采用R0R0、R1R1間址時只能訪問低間址時只能訪問低256256字節(jié),采用字節(jié),采用DPTRDPTR間址可訪問整個間址可訪問整個64K64K字節(jié)空間。字節(jié)空間。組組通通用用寄寄存存器器區(qū)區(qū)第第0組組通通用用寄寄存存器器區(qū)區(qū)第第1組組通通用用寄寄存存器器區(qū)區(qū)第第2組組通通用用寄寄存存器器區(qū)區(qū)第第3)(位位地地址址位位尋尋址址區(qū)區(qū)FH7H00區(qū)區(qū)用用戶戶 RAMH00H08/H07H10/FH0H18/H17H20/FH1H30/FH2FH7R0、R1、R2、R3、R4、R5、R6、R7即可位尋址,又可字節(jié)尋址即可位尋址,又可字節(jié)尋址數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作數(shù)據(jù)緩沖區(qū)、堆棧區(qū)、工作單元單
16、元數(shù)據(jù)存儲器地址空間數(shù)據(jù)存儲器地址空間 7FH 通用RAM區(qū)2FH7FH7EH7DH7CH7BH7AH79H78H2EH77H76H75H74H73H72H71H70H2DH6FH6EH6DH6CH6BH6AH69H68H2CH67H66H65H64H63H62H61H60H2BH5FH5EH5DH5CH5BH5AH59H58H2AH57H56H55H54H53H52H51H50H29H4FH4EH4DH4CH4BH4AH49H48H28H47H46H45H44H43H42H41H40H27H3FH3EH3DH3CH3BH3AH39H38H26H37H36H35H34H33H32H31H30H
17、25H2FH2EH2DH2CH2BH2AH29H28H24H27H26H25H24H23H22H21H20H23H1FH1EH1DH1CH1BH1AH19H18H22H17H16H15H14H13H12H11H10H21H0FH0EH0DH0CH0BH0AH09H08H20H07H06H05H04H03H02H01H00H字節(jié)地址字節(jié)地址 位地址位地址寄存器組0(R0R7) 00H 07H 08H 0FH 10H 17H 18H 1FH 20H 2FH 30H 7FH 00 78 07 06 05 04 03 02 01 7F 7E 7D 7C 7B 7A 79 寄存器組1(R0R7) 寄存器
18、組2(R0R7) 寄存器組3(R0R7) 位地址區(qū)(007F) 字節(jié)尋址(307F) 三、特殊功能寄存器地址空間三、特殊功能寄存器地址空間 共有共有2626個專用寄存器個專用寄存器SFR(Special Functional Register )SFR(Special Functional Register ),它,它們離散地分布在片內(nèi)們離散地分布在片內(nèi)RAMRAM的高的高128128字節(jié)地址字節(jié)地址80H80H0FFH0FFH中。中。 程序計數(shù)器程序計數(shù)器PCPC不占據(jù)不占據(jù)RAMRAM單元,在除單元,在除PCPC外的專用寄存器外的專用寄存器SFRSFR中,有中,有1212個專用寄存器既可字
19、節(jié)尋址,又可位尋址。個專用寄存器既可字節(jié)尋址,又可位尋址。 注意:注意:1) )表中共有表中共有5個雙字節(jié)寄存器。(個雙字節(jié)寄存器。(5151系列只有系列只有3 3個個) )2) )PC也為雙字節(jié)寄存器,但是也為雙字節(jié)寄存器,但是不在不在80H FFH范圍內(nèi)。范圍內(nèi)。 3)表中,凡地址能被表中,凡地址能被8整除的寄存器都是可整除的寄存器都是可位尋址位尋址的寄存器的寄存器。標識符名 稱地址*Acc累加器E0H*BB寄存器F0H*PSW程序狀態(tài)字D0HSP堆棧指針81HDPTR數(shù)據(jù)指針(DPH和DPL)82H,83H*P0口080H*P1口190H*P2口2A0H*P3口3B0H*IP中斷優(yōu)先級寄
20、存器B8H*IE中斷控制寄存器A8HTMOD定時器方式寄存器89H*TCON定時器控制寄存器88H標識符名 稱地址TH0計數(shù)器0高位8CHTL0計數(shù)器0低位8AHTH1計數(shù)器1高位8DHTL1計數(shù)器1低位8BH*SCON串行口控制98HSBUF串行數(shù)據(jù)緩沖器99HPCON電源控制97H位地址的表示法例: 位名稱位名稱 CY CY 、RS0RS0n 寄存器名加序號寄存器名加序號 PSW.7PSW.7n ACC.1 ACC.1 字節(jié)地址加序號字節(jié)地址加序號 20H.320H.3n 直接位地址直接位地址 00H00H1.1.累加器累加器ACCACC 累累加器加器A A在大部分的算術(shù)運算中存放某個操作
21、數(shù)和運算結(jié)果。在大部分的算術(shù)運算中存放某個操作數(shù)和運算結(jié)果。2.2.寄存器寄存器B B寄存器寄存器B B主要用于與累加器主要用于與累加器A A配合執(zhí)行乘法和除法指令的操作。配合執(zhí)行乘法和除法指令的操作。3.3.程序狀態(tài)字程序狀態(tài)字PSWPSW8 8位寄存器,用來存放程序狀態(tài)信息。某些指令的執(zhí)行結(jié)位寄存器,用來存放程序狀態(tài)信息。某些指令的執(zhí)行結(jié)果會自動影響果會自動影響PSWPSW的有關(guān)狀態(tài)標志位,有些狀態(tài)位可用指令來設(shè)置。的有關(guān)狀態(tài)標志位,有些狀態(tài)位可用指令來設(shè)置。 特殊功能寄存器特殊功能寄存器D7D6D5D4D3D2D1D0CyACF0RS1RS0OV-P:進位標志位:進位標志位:半進位標:半
22、進位標 :用戶標志位:用戶標志位:工作寄存器組選擇:工作寄存器組選擇:溢出標志:溢出標志 P P :奇偶標志:奇偶標志, , A中中1的個數(shù)為奇數(shù)的個數(shù)為奇數(shù) P = 1;否則;否則 P = 0。RS1 RS0 寄存器組內(nèi)部RAM地址0 0 工作寄存器組000H07H0 1 工作寄存器組108H0FH1 0 工作寄存器組210H17H1 1 工作寄存器組318H1FH4.4.堆棧指針堆棧指針SPSP堆棧是一個特殊的存儲區(qū),用來暫時存放數(shù)據(jù)和地址,它堆棧是一個特殊的存儲區(qū),用來暫時存放數(shù)據(jù)和地址,它是按照是按照“先進后出先進后出”的原則存放數(shù)據(jù)。的原則存放數(shù)據(jù)。棧指針棧指針SPSP為一個為一個8
23、 8位專用寄存器,每存入位專用寄存器,每存入( (或取出或取出) )一個字節(jié)數(shù)據(jù),一個字節(jié)數(shù)據(jù),SPSP就自動就自動加加1(1(或減或減1)1),SPSP始終指向新的棧頂。始終指向新的棧頂。系統(tǒng)復(fù)位后堆棧指針初始化為系統(tǒng)復(fù)位后堆棧指針初始化為07H07H。5.5.數(shù)據(jù)指針數(shù)據(jù)指針DPTRDPTR1616位的專用寄存器,由高位字節(jié)位的專用寄存器,由高位字節(jié)DPHDPH和低位字節(jié)和低位字節(jié)DPLDPL組成??勺鳛橐粋€組成??勺鳛橐粋€1616位寄存器使用,也可以作為位寄存器使用,也可以作為2 2個獨立的個獨立的8 8位寄存器位寄存器DPHDPH和和DPLDPL使用。使用。6.I/O6.I/O端口端口
24、P0P0P3P3 專用寄存器專用寄存器P0P0P3P3分別是分別是I/OI/O端口端口P0P0P3P3的鎖存器??梢园训逆i存器??梢园袸/OI/O口當口當作作般的專用寄存器來使用,沒有專門設(shè)置的口操作指令,般的專用寄存器來使用,沒有專門設(shè)置的口操作指令,全部采用統(tǒng)全部采用統(tǒng)一的一的MOVMOV指令。指令。 作業(yè):作業(yè):2-22-2 2-3 2-3 2.2.1 P0口結(jié)構(gòu)返回返回DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器作用作用:1、外擴芯片時,、外擴芯片時,P0口不再做口不再做I/O口使用,而是先傳送
25、地址,后傳送數(shù)據(jù)??谑褂?,而是先傳送地址,后傳送數(shù)據(jù)。2、沒有外擴芯片時,、沒有外擴芯片時,P0口可以直接作為口可以直接作為輸入口輸入口或或輸出口輸出口使用。使用。第二節(jié)第二節(jié) 并行并行I/O接口接口 P0口直接做輸出口時,輸出信息的過程:(將0送到P0.0的過程)返回返回DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器00010注意注意: P0口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P00-P07上。由于上管上。由于上管始終截止,而當下管也截止時,始終截止,而當下管也截止時
26、,P00P07被架空,沒有標準的高電平,所被架空,沒有標準的高電平,所以以P0口作輸出口使用時,必須外接上拉電阻??谧鬏敵隹谑褂脮r,必須外接上拉電阻。 P0口直接做輸入口時,輸入信息的過程:(將P0.0處的1送入DB0.0的過程)DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址地址/數(shù)據(jù)控制線數(shù)據(jù)控制線+5VP0.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器001注意注意: 1、P0口作輸入口時,口作輸入口時,P00P07上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否則總是讀到,否則總是讀到0。2
27、、CPU對對P0口的讀操作有口的讀操作有2種:種:讀引腳讀引腳和和讀讀改改寫鎖存器寫鎖存器。 1當當CPU執(zhí)行執(zhí)行 MOV A,P0或或 JB/JNB P0.x,標號,標號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的狀態(tài)此時讀的是引腳的狀態(tài) 。當當CPU執(zhí)行讀執(zhí)行讀改改寫指令(以端口為寫指令(以端口為目的操作數(shù)的目的操作數(shù)的ANL、ORL、XRL、DEC、INC SETB、CLR等)時,產(chǎn)生等)時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的狀態(tài),讀鎖存信號,此時是先讀鎖存器的狀態(tài),在修改之后,送回鎖存器保存。在修改之后,送回鎖存器保存。 返回返回2.2.2 P1口結(jié)構(gòu)DCPQQ讀
28、引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP1.0鎖存器鎖存器作用作用:P1口只能可以直接作為口只能可以直接作為輸入口輸入口或或輸出口輸出口使用。使用。返回返回返回返回DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP1.0鎖存器鎖存器P1口直接做輸出口時,輸出信息的過程:口直接做輸出口時,輸出信息的過程:(將(將1送到送到P1.0的過程的過程)1001注意:注意:P1口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P10-P17上。上。由于內(nèi)部有上拉電阻,所以由于內(nèi)部有上拉電阻,所以P1口作輸出口使用時,不用外接上拉電阻??谧鬏敵?/p>
29、口使用時,不用外接上拉電阻。DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP1.0鎖存器鎖存器P1口直接做輸入口時,輸入信息的過程:口直接做輸入口時,輸入信息的過程: (將(將P1.0P1.0處的處的0 0送入送入DB0.0DB0.0的過程的過程) )00注意注意: 1、P1口作輸入口時,口作輸入口時,P10P17上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否則總是讀到,否則總是讀到0。2、CPU對對P1口的讀操作有口的讀操作有2種:種:讀引腳讀引腳和和讀讀改改寫鎖存器寫鎖存器。
30、 當當CPU執(zhí)行執(zhí)行 MOV A,P1或或 JB/JNB P1.x,標號,標號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的狀態(tài)此時讀的是引腳的狀態(tài) 。當當CPU執(zhí)行讀執(zhí)行讀改改寫指令(以端口為目寫指令(以端口為目的操作數(shù)的的操作數(shù)的ANL、ORL、XRL、DEC、INC 、SETB、CLR等)時,產(chǎn)生讀鎖存等)時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的狀態(tài),在修改信號,此時是先讀鎖存器的狀態(tài),在修改之后,送回鎖存器保存。之后,送回鎖存器保存。 返回返回2.2.3 P2口結(jié)構(gòu)DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址控制線地址控制線+5VP2.0轉(zhuǎn)換開
31、關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器作用作用:1、外擴芯片時,、外擴芯片時,P2口不再做口不再做I/O口使用,而是傳送高口使用,而是傳送高8位地址。位地址。2、沒有外擴芯片時,、沒有外擴芯片時,P2口可以直接作為口可以直接作為輸入口輸入口或或輸出口輸出口使用。使用。返回返回返回返回DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0地址控制線地址控制線+5VP2.0轉(zhuǎn)換開關(guān)轉(zhuǎn)換開關(guān)鎖存器鎖存器P2口直接做輸出口時,輸出信息的過程:(將0送到P2.0的過程)00010注意:注意:P2口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P20-P27上。上。由于內(nèi)部有上拉電阻,所
32、以由于內(nèi)部有上拉電阻,所以P2口作輸出口使用時,不用外接上拉電阻??谧鬏敵隹谑褂脮r,不用外接上拉電阻。2.2.4 P3口結(jié)構(gòu)DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸入作用作用:1、P3口可以直接作為口可以直接作為輸入口輸入口或或輸出口輸出口使用。使用。2、P3口的引腳又具有口的引腳又具有第二功能第二功能。1 當使用單片機內(nèi)部串行口時,若CPU執(zhí)行MOV A,SBUF指令,則P3.0(RXD)作為接收信號線,接收由外界串行輸入的數(shù)據(jù);若CPU執(zhí)行MOV SBUF,A指令,則P3.1(TXD)作為發(fā)送信
33、號線,串行發(fā)送數(shù)據(jù)至外界。 2當單片機使用外中斷時,P3.2(INT0)作為外中斷0的中斷請求輸入線,3.3(INT1) 作為外中斷1的中斷請求輸入線。3當單片機使用定時器,且定時器工作于計數(shù)方式時,P3.4(T0)作為定時器0的計數(shù)脈沖輸入線,P3.5(T1)作為定時器1的計數(shù)脈沖輸入線。4當單片機外擴RAM或I/O接口芯片時,P3.6(WR)作為RAM或I/O接口芯片的寫控制信號,P3.7(RD)作為RAM或I/O接口芯片的讀控制信號。 當當P3口的一些引腳沒有作為第二功能使用時,這些引腳就被釋放,直接作為口的一些引腳沒有作為第二功能使用時,這些引腳就被釋放,直接作為I/O口口線使用。線使
34、用。返回返回返回返回DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸入P3口直接做輸出口時,輸出信息的過程:(將1送到P3.0的過程)1001注意:注意:P3口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到口做輸出口時,內(nèi)部數(shù)據(jù)經(jīng)過鎖存器送到P30-P37上。上。由于內(nèi)部有上拉電阻,所以由于內(nèi)部有上拉電阻,所以P2口作輸出口使用時,不用外接上拉電阻??谧鬏敵隹谑褂脮r,不用外接上拉電阻。DCPQQ讀引腳讀引腳讀鎖存讀鎖存寫控制信號寫控制信號DB0.0+5VP3.0鎖存器鎖存器第二功能輸出第二功能輸出第二功能輸入第二功能輸
35、入0P3口直接做輸入口時,輸入信息的過程:(將P3.0處的0送入DB0.0的過程)0注意注意: 1、P3口作輸入口時,口作輸入口時,P30P37上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。上的信號經(jīng)過緩沖器送到內(nèi)部數(shù)據(jù)總線上。在讀引腳之前,要先將鎖存器置在讀引腳之前,要先將鎖存器置1,否則總是讀到,否則總是讀到0。2、CPU對對P3口的讀操作有口的讀操作有2種:種:讀引腳讀引腳和和讀讀改改寫鎖存器寫鎖存器。 當當CPU執(zhí)行執(zhí)行 MOV A,P3或或 JB/JNB P3.x,標號,標號 時,產(chǎn)生讀引腳控制信號,時,產(chǎn)生讀引腳控制信號,此時讀的是引腳的狀態(tài)此時讀的是引腳的狀態(tài) 。當當CPU執(zhí)行讀執(zhí)行讀改
36、改寫指令(以端口為目寫指令(以端口為目的操作數(shù)的的操作數(shù)的ANL、ORL、XRL、DEC、INC 、SETB、CLR等)時,產(chǎn)生讀鎖存等)時,產(chǎn)生讀鎖存信號,此時是先讀鎖存器的狀態(tài),在修改信號,此時是先讀鎖存器的狀態(tài),在修改之后,送回鎖存器保存。之后,送回鎖存器保存。 返回返回 一、并行一、并行I/OI/O接口的內(nèi)部結(jié)構(gòu)接口的內(nèi)部結(jié)構(gòu) 1. P01. P0口的位結(jié)構(gòu)與功能:口的位結(jié)構(gòu)與功能:8 8位漏極開路型雙向并行位漏極開路型雙向并行I IO O口口 使用:使用:P0口為三態(tài)雙向口,即可作為一般口為三態(tài)雙向口,即可作為一般I/O口使用,也口使用,也可作地址可作地址/數(shù)據(jù)總線口。數(shù)據(jù)總線口。
37、1)P0口作一般口作一般I/O口口-“讀引腳先寫讀引腳先寫1”“在輸入數(shù)據(jù)時應(yīng)先把口置在輸入數(shù)據(jù)時應(yīng)先把口置1,使兩個,使兩個FET都截止,引腳處都截止,引腳處于懸浮狀態(tài),可作高阻抗輸入于懸浮狀態(tài),可作高阻抗輸入” 2)訪問訪問外部存儲器時,它是一個復(fù)用的地址外部存儲器時,它是一個復(fù)用的地址/數(shù)據(jù)總線。數(shù)據(jù)總線。(分時使用)輸出地址總線低分時使用)輸出地址總線低8位位A7A0(利用利用ALEALE信號的下信號的下降沿將地址鎖存,降沿將地址鎖存,鎖存)作數(shù)據(jù)總線鎖存)作數(shù)據(jù)總線 D7D0 8 8。第二節(jié)第二節(jié) 并行并行I/OI/O接口接口 第二章 2 - 34& DQQ Vcc控制端地址/ 數(shù)據(jù)
38、讀鎖存器內(nèi)部總線寫鎖存器讀引腳T1T2P0.x引腳 鎖存器1P0口某位的結(jié)構(gòu)圖 第二章 2 - 352. P12. P1口的位結(jié)構(gòu)與功能口的位結(jié)構(gòu)與功能1 1)P1P1口也是口也是個個準雙向準雙向I IO O口口2 2)應(yīng)用:)應(yīng)用:通常作一般通常作一般I/O口用口用DQQ 讀鎖存器內(nèi)部總線寫鎖存器讀引腳鎖存器 T2P1.x引腳 內(nèi)部上拉電阻3. P23. P2口的位結(jié)構(gòu)與功能口的位結(jié)構(gòu)與功能 DQQ 地址讀鎖存器內(nèi)部總線寫鎖存器讀引腳鎖存器1 VccT2P2.x引腳 內(nèi)部上拉電阻控制1 1)在結(jié)構(gòu)上比)在結(jié)構(gòu)上比P0P0口少了一個輸出口少了一個輸出轉(zhuǎn)換控制部分,多路開關(guān)轉(zhuǎn)換控制部分,多路開關(guān)
39、MUXMUX的倒的倒向由向由CPUCPU命令控制,且命令控制,且P2P2口內(nèi)部接口內(nèi)部接有固定的上拉電阻有固定的上拉電阻 。2)P2P2口既可作為通用口既可作為通用I IO O口使用口使用(先寫先寫“1”1”),又可作為地址總),又可作為地址總線口,線口,輸出高輸出高8 8位地址。(位地址。(A15A8A15A8) 第二章 2 - 364. P34. P3口的位結(jié)構(gòu)與功能口的位結(jié)構(gòu)與功能 P3.0(RXD)P3.0(RXD):串行輸入端。:串行輸入端。P3.1(TXD)P3.1(TXD):串行輸出端。:串行輸出端。P3.2()P3.2():外部中斷:外部中斷0 0輸入端,低電平有效。輸入端,低
40、電平有效。P3.3()P3.3():外部中斷:外部中斷1 1輸入端,低電平有效。輸入端,低電平有效。P3.4(T0)P3.4(T0):定時計數(shù)器:定時計數(shù)器0 0外部事件計數(shù)輸入端。外部事件計數(shù)輸入端。P3.5(T1)P3.5(T1):定時計數(shù)器:定時計數(shù)器1 1外部事件計數(shù)輸入端。外部事件計數(shù)輸入端。P3.6()P3.6():外部數(shù)據(jù)存儲器寫選通信號,低電平有效。:外部數(shù)據(jù)存儲器寫選通信號,低電平有效。P3.7()P3.7():外部數(shù)據(jù)存儲器讀選通信號,低電平有效。:外部數(shù)據(jù)存儲器讀選通信號,低電平有效。 P3P3口與口與PlPl口的輸出驅(qū)動部分及內(nèi)部口的輸出驅(qū)動部分及內(nèi)部上拉電阻相同,但比
41、上拉電阻相同,但比P1P1口多了一個口多了一個第二功能控制部分的邏輯電路。第二功能控制部分的邏輯電路。 DQQ 讀鎖存器內(nèi)部總線寫鎖存器讀引腳鎖存器 VccT2P3.x引腳 內(nèi)部上拉電阻 & 第二輸入功能第二輸出功能第二章 2 - 37單片機的片外三總線結(jié)構(gòu)單片機的片外三總線結(jié)構(gòu)地址線地址線(DBUS)(DBUS):P0低八位低八位地址,地址,P2高八地址;高八地址;數(shù)據(jù)線數(shù)據(jù)線(ABUS)(ABUS):P0輸入輸輸入輸出出8位數(shù)據(jù);位數(shù)據(jù);控制線控制線(CBUS)(CBUS):P3口的口的8位加上位加上/PSEN、ALE共同共同完成完成 控制總線。控制總線。第二章 2 - 38P0P3的功能
42、及使用時的注意事項的功能及使用時的注意事項 1. 在無片外擴展存儲器的系統(tǒng)中,這四個端口的每一位都可以作為準雙向在無片外擴展存儲器的系統(tǒng)中,這四個端口的每一位都可以作為準雙向通用通用IO端口使用。在具有片外擴展存儲器的系統(tǒng)中,端口使用。在具有片外擴展存儲器的系統(tǒng)中,P2口作為高口作為高8位地址位地址線,線,P0口作為雙向總線,分時作為低口作為雙向總線,分時作為低8位地址和數(shù)據(jù)的輸入輸出線。位地址和數(shù)據(jù)的輸入輸出線。 2. P0口作為通用雙向口作為通用雙向IO口用時,必須外接上拉電阻??谟脮r,必須外接上拉電阻。 3. P3口除了作通用口除了作通用IO使用外,它的各位還具有第二功能。當使用外,它的
43、各位還具有第二功能。當P3口某口某一位用于第二功能作輸出時,則不能再作通用一位用于第二功能作輸出時,則不能再作通用IO使用。使用。 4. 當當P0P4端口用作輸入時,為了避免誤讀,都必須先向?qū)?yīng)的輸端口用作輸入時,為了避免誤讀,都必須先向?qū)?yīng)的輸出鎖存器寫入出鎖存器寫入“1” ,使,使FET截止。然后再讀端口引腳。截止。然后再讀端口引腳。 如:如:MOV P1,#0FFH ;寫入寫入“1” MOV A, P15.I/O口口 可按字節(jié)尋址,也可按位尋址可按字節(jié)尋址,也可按位尋址 復(fù)位是單片機的初始化操作,其作用是使復(fù)位是單片機的初始化操作,其作用是使CPUCPU和系統(tǒng)中其它部件都處和系統(tǒng)中其它部
44、件都處于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作于一個確定的初始狀態(tài),并從這個狀態(tài)開始工作 。在振蕩器運行時,在振蕩器運行時,RSTRST端至少要保持端至少要保持2 2個機器周期個機器周期(24(24個振蕩周期個振蕩周期) )為高,為高,才完成一次復(fù)位。才完成一次復(fù)位。復(fù)位后片內(nèi)各專用寄存器的狀態(tài)復(fù)位后片內(nèi)各專用寄存器的狀態(tài) 第三節(jié)第三節(jié) MCS-51MCS-51單片機的復(fù)位單片機的復(fù)位寄存器內(nèi)容寄存器內(nèi) 容PC00HTMOD00HA00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P30FFHSCON00HIP(XXX00
45、000)BSBUF不變IE(0XX00000)BPCON(0XXXXXXX)B第二章 2 - 40 RST80318051+5V+5V22uF1K RST80318051+5V+5V22uF1K RST80318051+5V+5V22uF1K 200 R1R2C1C1R1(a)上電復(fù)位 200 R1R2C1C2(b)按鍵電平復(fù)位(C)按鍵脈沖復(fù)位幾種實用的復(fù)位電路幾種實用的復(fù)位電路 第二章 2 - 41 MCS MCS5151的中斷系統(tǒng)的中斷系統(tǒng) MCS-51MCS-51及其及其5l5l子系列的其它成員都具有相同的中斷子系列的其它成員都具有相同的中斷結(jié)構(gòu)。結(jié)構(gòu)。 80518051有有5 5個中
46、斷源個中斷源2 2個外部中斷源個外部中斷源INT0INT0和和INT1INT1,2 2個片內(nèi)定時器計數(shù)器溢出中斷源,個片內(nèi)定時器計數(shù)器溢出中斷源,1 1個片內(nèi)串行個片內(nèi)串行口中斷源??谥袛嘣?。 分為兩級分為兩級高級中斷和低級中斷。其中任何一個高級中斷和低級中斷。其中任何一個中斷源的優(yōu)先級均可由中斷源的優(yōu)先級均可由軟件設(shè)定為高級或低級軟件設(shè)定為高級或低級,能,能實現(xiàn)兩級中斷服務(wù)程序嵌套實現(xiàn)兩級中斷服務(wù)程序嵌套 。 都是可屏蔽的,由軟件設(shè)定。都是可屏蔽的,由軟件設(shè)定。第二章 2 - 42一、一、MCSMCS5151的中斷源的中斷源 1.1.中斷源中斷源1) 1) 外部中斷外部中斷0 0請求,由請求
47、,由P3.2P3.2引腳輸入??捎捎脩粼O(shè)定為兩種引腳輸入。可由用戶設(shè)定為兩種觸發(fā)方式,(電平觸發(fā)方式還是邊沿觸發(fā)方式)。一旦輸入觸發(fā)方式,(電平觸發(fā)方式還是邊沿觸發(fā)方式)。一旦輸入信號有效,則向信號有效,則向CPUCPU申請中斷,并且將中斷標志申請中斷,并且將中斷標志IE0IE0置置1 1。2) 2) 外部中斷外部中斷1 1請求,由請求,由P3.3P3.3引腳輸入。亦可由用戶設(shè)定為電引腳輸入。亦可由用戶設(shè)定為電平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸人信號有效,則向平觸發(fā)方式還是邊沿觸發(fā)方式。一旦輸人信號有效,則向CPUCPU申請中斷,并將中斷標志申請中斷,并將中斷標志IE1IE1置置1 1。INT
48、0 IE0 INT1 IE1 TF0 TF1 RI TI 圖 10、 8051中 斷 源 第二章 2 - 43 INT0 IE0 INT1 IE1 TF0 TF1 RI TI 圖 10、 8051中 斷 源 3 3)片內(nèi)定時器)片內(nèi)定時器T0T0溢出中斷請求。當定時器溢出中斷請求。當定時器T0T0產(chǎn)生溢出時,產(chǎn)生溢出時,T0T0中斷請求標志中斷請求標志TF0 TF0 置置1 1,請求中斷處理。,請求中斷處理。 4)4)片內(nèi)定時器片內(nèi)定時器T1T1溢出中斷請求。當定時器溢出中斷請求。當定時器T1T1產(chǎn)生溢出時,產(chǎn)生溢出時,T1T1中斷請求標志中斷請求標志TF1TF1置置l l,請求中斷處理。,請
49、求中斷處理。 5)5)片內(nèi)串行口發(fā)送接收中斷請求。當通過串行口發(fā)送或接片內(nèi)串行口發(fā)送接收中斷請求。當通過串行口發(fā)送或接收完一幀串行數(shù)據(jù)時,串行口中斷請求標志收完一幀串行數(shù)據(jù)時,串行口中斷請求標志TITI或或RIRI置置1 1,請求中,請求中斷處理。斷處理。 2.2.中斷請求標志中斷請求標志 (1)TCON(1)TCON的中斷標志的中斷標志 TCONTCON是專用寄存器,字節(jié)地址為是專用寄存器,字節(jié)地址為88H88H,它鎖存了外部中斷請求標志及,它鎖存了外部中斷請求標志及T0T0和和T1T1的溢出中斷請求標志的溢出中斷請求標志TCONTCOND7D7D6D6D5D5D4D4D3D3D2D2D1D
50、1D0D0TF1TF1TR1TR1TF0TF0TR0TR0IE1IE1IT1IT1IE0IE0IT0IT0 1)IT01)IT0:選擇外部中斷:選擇外部中斷0 0(INT0INT0)觸發(fā)方式控位。)觸發(fā)方式控位。 2)IE02)IE0:外部中斷:外部中斷0 0請求標志位。請求標志位。IE0IE01 1,外部中斷,外部中斷0 0向向CPUCPU申請中斷。申請中斷。 3)IT13)IT1:選擇外部中斷:選擇外部中斷1 1(INT1INT1)觸發(fā)方式控制位。)觸發(fā)方式控制位。 4)1E14)1E1:外部中斷:外部中斷1 1請求標志位。請求標志位。IE1IE11 1時,外部中斷時,外部中斷1 1向向C
51、PUCPU申請中斷。申請中斷。 5)TF05)TF0:片內(nèi)定時器:片內(nèi)定時器T0T0溢出中斷請求標志。溢出中斷請求標志。T0T0被啟動后,從初始值開始被啟動后,從初始值開始進行加進行加1 1計數(shù),當最高位產(chǎn)生溢出時置計數(shù),當最高位產(chǎn)生溢出時置TF0TF01 1,向,向CPUCPU申請中斷,直到申請中斷,直到CPUCPU響應(yīng)該中斷時,才由硬件自動將響應(yīng)該中斷時,才由硬件自動將TF0TF0清清0 0,也可由軟件查詢該標志,并用軟,也可由軟件查詢該標志,并用軟件清件清0 0。 6)TF16)TF1:片內(nèi)定時器:片內(nèi)定時器T1T1溢出中斷請求標志,其操作功能與溢出中斷請求標志,其操作功能與TF0TF0
52、類同。類同。 2)SCON2)SCON的中斷標志的中斷標志 SCONSCON是串行口控制寄存器,與中斷有關(guān)的是它的低兩位是串行口控制寄存器,與中斷有關(guān)的是它的低兩位TITI和和RIRI。1) TI1) TI(SCON.1SCON.1):串行口發(fā)送中斷標志位。每發(fā)送完一個串行幀,):串行口發(fā)送中斷標志位。每發(fā)送完一個串行幀,由硬件置位由硬件置位TITI。CPUCPU響應(yīng)中斷時,不能清除響應(yīng)中斷時,不能清除TITI,TITI必須由軟件清除。必須由軟件清除。 2 2)RI(SCON.0)RI(SCON.0):串行口接收中斷標志位,當允許串行口接收數(shù)據(jù)時,:串行口接收中斷標志位,當允許串行口接收數(shù)據(jù)時
53、,每接收完一個串行幀,由硬件置位每接收完一個串行幀,由硬件置位RIRI。同樣,同樣,RIRI必須由軟件清除必須由軟件清除。SCONSCON RI TIRB8RB8RB8TB8TB8TB8RENRENRENSM2SM2SM2SM1SM1SM1SM0SM0SM0二、二、MCSMCS5151的中斷管理的中斷管理 1 1、中斷允許寄存器、中斷允許寄存器IEIE中斷的允許與開放中斷的允許與開放 0:關(guān)INT 中斷01:開INT 中斷00:關(guān)T 中斷1:開T 中斷001:開T 中斷0:關(guān)T 中斷0:關(guān)INT 中斷1:開INT 中斷11110:關(guān)T 中斷1:開T 中斷221:開所有中斷0:關(guān)所有中斷1:開串
54、行口中斷0:關(guān)串行口中斷位地址IEEAAFADETACESABETAAEXA9ETA8EX00112 在中斷源與在中斷源與CPUCPU之間有二級中斷允許控制邏輯電路,一之間有二級中斷允許控制邏輯電路,一級為級為總允許總允許,第二級為,第二級為源允許,源允許,由由IEIE控制。控制。 總允許總允許源允許2 2中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IPIP 中斷優(yōu)先級控制中斷優(yōu)先級控制 內(nèi)部自然優(yōu)先級:內(nèi)部自然優(yōu)先級: 入口地址入口地址 INT0 高高 0003H T0 000BH INT1 0013H T1 001BH TI/RI 底底 0023H為什么要有為什么要有中斷優(yōu)先級中斷優(yōu)先級?中斷管理邏輯
55、圖中斷管理邏輯圖IE0TF0IE1RI/TITF2TF1EAEX0ET0EX1ET1ESET2PX0PT0PX1PT1PSPT2011111100000高級中斷請求低級中斷請求中斷源中斷源中斷入口中斷入口查詢電路中斷優(yōu)先級寄存器全局中斷允許中斷源允許中斷標志中斷選擇10IT010IT11TF2TF1TF0TIRIINT0INT1同一級中的同一級中的5個中斷源的優(yōu)先順序個中斷源的優(yōu)先順序 /INT0中斷中斷 T0溢出中斷溢出中斷 /INT1中斷中斷 T1溢出中斷溢出中斷 串口中斷串口中斷 高高低低自然優(yōu)先級自然優(yōu)先級中斷優(yōu)先原則:(概括為四句話)中斷優(yōu)先原則:(概括為四句話)1)低級不中斷高級低
56、級不中斷高級2)高級不睬低級高級不睬低級3)同級不能打斷同級不能打斷4) )同級、同時中斷,按同級、同時中斷,按自然優(yōu)先級自然優(yōu)先級中斷處理過程一般分為三個階段,即中斷響應(yīng)、中斷處理和中斷返回中斷處理過程一般分為三個階段,即中斷響應(yīng)、中斷處理和中斷返回。 三、響應(yīng)中斷的條件及過程三、響應(yīng)中斷的條件及過程 1.1.中斷響應(yīng)中斷響應(yīng)(1 1)中斷響應(yīng)的條件)中斷響應(yīng)的條件 1)有中斷源發(fā)出請求信號)有中斷源發(fā)出請求信號 2)中斷是開放的(總允許、源允許)中斷是開放的(總允許、源允許) 3)沒有封鎖(受阻),)沒有封鎖(受阻),受阻情況是: CPU正在執(zhí)行同級或高一級的中斷服務(wù)程序; 現(xiàn)行機器周期不
57、是正在執(zhí)行的指令的最后一個機器周期,即現(xiàn)行指令完成前不響應(yīng)任何中斷請求; 當前正在執(zhí)行的是中斷返回指令RETI或訪問專用寄存器IE或IP的指令。也就是說,在執(zhí)行RETI或是訪問IE、IP的指令后,至少需要再執(zhí)行條其他指令,才會響應(yīng)中斷請求。 2 2)中斷響應(yīng)過程)中斷響應(yīng)過程 進入中斷響應(yīng)周期。進入中斷響應(yīng)周期。CPUCPU在中斷響應(yīng)周期要完成下列操作:在中斷響應(yīng)周期要完成下列操作: 1) 根據(jù)中斷請求源的優(yōu)先級高低,使相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置根據(jù)中斷請求源的優(yōu)先級高低,使相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置1。 2) 清相應(yīng)中斷請求標志位清相應(yīng)中斷請求標志位IE0、IE1、TF0或或TF1 3) 保留斷
58、點,把保留斷點,把PC內(nèi)容壓入堆內(nèi)容壓入堆 保存。保存。 4) 把被響應(yīng)的中斷源服務(wù)程序把被響應(yīng)的中斷源服務(wù)程序入口地址入口地址送入送入PC,輸入相應(yīng)中斷服務(wù)程序。,輸入相應(yīng)中斷服務(wù)程序。2.2.中斷服務(wù)與返回中斷服務(wù)與返回 在編寫中斷服務(wù)程序時加注意的幾點:在編寫中斷服務(wù)程序時加注意的幾點: 1)1)因各入口地址之間只相隔因各入口地址之間只相隔8 8個字節(jié),一般的中斷服務(wù)程序是存放不個字節(jié),一般的中斷服務(wù)程序是存放不下的。所以通常在中斷入口地址單元處存放下的。所以通常在中斷入口地址單元處存放條無條件轉(zhuǎn)移指令,這樣條無條件轉(zhuǎn)移指令,這樣就可使中斷服務(wù)程序靈活地安排在就可使中斷服務(wù)程序靈活地安排
59、在64KB64KB程序存儲器的任何空間。程序存儲器的任何空間。2)2)若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,可先用軟件關(guān)閉若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,可先用軟件關(guān)閉CPUCPU中斷,或禁止某中斷源中斷,在中斷返回前再開放中斷。中斷,或禁止某中斷源中斷,在中斷返回前再開放中斷。 3)3)注意保護現(xiàn)場和恢復(fù)現(xiàn)場。注意保護現(xiàn)場和恢復(fù)現(xiàn)場。 4 4)中斷服務(wù)程序的最后一條是返回指令)中斷服務(wù)程序的最后一條是返回指令RETIRETI,該指令將清除響應(yīng)中斷,該指令將清除響應(yīng)中斷時被置位的優(yōu)先級狀態(tài)觸發(fā)器,然后自動將斷點地址從棧頂彈出,裝入時被置位的優(yōu)先級狀態(tài)觸發(fā)器,然后自動將斷點地址
60、從棧頂彈出,裝入程序計數(shù)器程序計數(shù)器PCPC,使程序返回到被中斷的程序斷點處,繼續(xù)向下執(zhí)行。,使程序返回到被中斷的程序斷點處,繼續(xù)向下執(zhí)行。 3.3.中斷請求的撤除中斷請求的撤除CPUCPU響應(yīng)中斷請求后,在中斷返回響應(yīng)中斷請求后,在中斷返回(RETI)(RETI)前,該中斷請求信號必須撤除,前,該中斷請求信號必須撤除,否則會引起另外一次中斷。否則會引起另外一次中斷。注意:采用邊沿觸發(fā)的外部中斷標志注意:采用邊沿觸發(fā)的外部中斷標志IE0IE0或或IElIEl和定時器中斷標志和定時器中斷標志TF0TF0或或TFlTFl,CPUCPU響應(yīng)中斷后能用硬件自動情除。響應(yīng)中斷后能用硬件自動情除。但在電平
61、觸發(fā)時,但在電平觸發(fā)時,IE0IE0或或IElIEl受外部引腳中斷信號受外部引腳中斷信號( (或或) )的直接控制,的直接控制,CPUCPU無法控制無法控制IE0IE0或或IElIEl,需要另外考慮撤除中斷請求信號的措施,如通過,需要另外考慮撤除中斷請求信號的措施,如通過外加硬件電路,并配合軟件來解決;外加硬件電路,并配合軟件來解決;串行口中斷請求標志串行口中斷請求標志TITI和和RIRI也不也不能由硬件自動清除,需要在中斷服務(wù)程序中,用軟件來清除相應(yīng)的中能由硬件自動清除,需要在中斷服務(wù)程序中,用軟件來清除相應(yīng)的中斷請求標志斷請求標志 。 小結(jié): 1、硬件構(gòu)成、硬件構(gòu)成 2、存儲器組織、存儲器組織 3、中斷系統(tǒng)、中斷系統(tǒng)單片機D觸發(fā)器DCLK/INT0QP1.0/S外部中斷請求 作業(yè):作業(yè):2-6、2-82-8 、2-92-9 第二章 2 - 56 課間休息第三章 6-24
- 溫馨提示:
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)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案