MCS單片機(jī)原理與應(yīng)用小結(jié)PPT課件_第1頁
MCS單片機(jī)原理與應(yīng)用小結(jié)PPT課件_第2頁
MCS單片機(jī)原理與應(yīng)用小結(jié)PPT課件_第3頁
MCS單片機(jī)原理與應(yīng)用小結(jié)PPT課件_第4頁
MCS單片機(jī)原理與應(yīng)用小結(jié)PPT課件_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、什么是單片機(jī)二、MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)三、MCS-51存儲器與布爾處理器四、MCS-51指令系統(tǒng)五、MCS-51中斷系統(tǒng)六、MCS-51的定時器/計數(shù)器七、MCS-51的串行通信口八、MCS-51的匯編語言程序設(shè)計基礎(chǔ)九、MCS-51系統(tǒng)的功能擴(kuò)展第1頁/共86頁第2頁/共86頁一、什么是單片機(jī)第3頁/共86頁一、什么是單片機(jī) 它是將組成微型計算機(jī)所必須的部件(中央處理器CPU、程序存貯器(ROM)、數(shù)據(jù)存貯器(RAM)、輸入/輸出(I/O)接口、定時/計數(shù)器、串行口、系統(tǒng)總線等)集成在一個超大規(guī)模集成電路芯片上。第4頁/共86頁二、MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)第5頁/共86頁 MCS-

2、51硬件配置基本配置: 8位CPU 振蕩器和時鐘電路 片內(nèi)4K/8K字節(jié)ROM/EPROM、128/256字節(jié)RAM 可尋址外部程序存儲器和數(shù)據(jù)存儲器各64K字節(jié) 二十多個特殊功能寄存器(SFR) 32線并行 I/O接口 2/3個片內(nèi)16位定時器/計數(shù)器 片內(nèi)中斷處理系統(tǒng)(5/6個中斷源,2個優(yōu)先級) 1個片內(nèi)全雙工串行I/O口 位處理功能第6頁/共86頁P(yáng)0.0-P0.7P0.0-P0.7 P2.0-P2.7P2.0-P2.7P1.0-P1.7P1.0-P1.7P3.0-P3.7P3.0-P3.7PSENPSENALEALE/EA/EARSTRSTVccVssXTAL1XTAL1 XTAL2

3、XTAL2MCS-51單片機(jī)內(nèi)部硬件結(jié)構(gòu)PCONSCONTMODTCONTH0TL0TH1TL1T2CONTH2TL2RCAP2LRCAP2HSBUFIEIP第7頁/共86頁第8頁/共86頁 VCC 8051 RST/VPD VSS VCC 10uF 8.2K 200 第9頁/共86頁第10頁/共86頁中央處理器(CPU) 8051的核心部件是一個8位CPU,它是8051的指揮中心、執(zhí)行機(jī)構(gòu),讀入和分析每條指令,控制單片機(jī)的各個部件執(zhí)行制定的操作。它是由8位算術(shù)/邏輯運(yùn)算部件ALU、布爾處理器、定時/控制部件和若干寄存器等主要部件組成。第11頁/共86頁 算術(shù)/邏輯運(yùn)算部件ALU ALU包括運(yùn)

4、算器、布爾處理器、累加器A、寄存器B、暫存器、程序狀態(tài)字PSW寄存器等。 其功能是實現(xiàn)數(shù)據(jù)的算術(shù)/邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送等操作。(+、算術(shù)運(yùn)算,與、或、非、異或 邏輯運(yùn)算、循環(huán)移位、位處理) 8051的指令代碼不超過3字節(jié),當(dāng)主頻12MHZ時,指令的執(zhí)行時間為:1us(64條)、2us(45條)、乘除法指令為4us。第12頁/共86頁 專用寄存器 8051內(nèi)部有工作寄存器、專用寄存器和特殊功能寄存器。累加器A(8位)寄存器B(8位)數(shù)據(jù)指針DPTR(16位)程序狀態(tài)字PSW(8位)堆棧及棧指針SP(8位)CyCyACACF0F0RS1RS1RS0RS0OVOV P P第13頁/共86頁

5、向CPU提供兩相時鐘信號振蕩器輸出信號 單片機(jī)時鐘電路第14頁/共86頁 一個機(jī)器周期=6個狀態(tài)=12個振蕩周期P1P2S1P2振蕩周期時鐘周期機(jī)器周期機(jī)器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2MCS-51單片機(jī)各種周期的相互關(guān)系第15頁/共86頁 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 S1 S2 S3 S4 S5 S6 讀操作碼

6、 讀下一個操作碼(丟棄) 讀下一個操作碼 S1 讀操作碼 讀第二個字節(jié) 讀下一個操作碼 S1 讀操作碼 讀下一個操作碼(丟棄) 讀操作碼 讀下一個操作碼(丟棄) 無取指,無 ALE ALE 單字節(jié)單周期指令 例:INC A 雙字節(jié)單周期指令 例:ADD A,DATA 單字節(jié)雙周期指令 例:INC DPTR 雙字節(jié)雙周期指令 例:MOVX A,DPTR OSC S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 S1 P1 P2 S2 P1 P2 S3 P1 P2 S4 P1 P2 S5 P1 P2 S6 P1 P2 MCS-51取指/執(zhí)行

7、時序圖第16頁/共86頁 MCS-51單片機(jī)有4個雙向并行的8位I/O口P0P3,可并行輸入或輸出8位數(shù)據(jù),也可按位使用。MCS-51 并行I/O口結(jié)構(gòu) 8051有4個8位并行 I/O 接口,各具特殊的電路結(jié)構(gòu),每位具有自己的鎖存器、輸出驅(qū)動和輸入緩沖器。這種結(jié)構(gòu)在輸出時鎖存,即輸出新數(shù)據(jù)之前通道口上的數(shù)據(jù)保持不變。 不擴(kuò)展外部功能時,P0、P1、P2均可做典型I/O口使用,P3作做典型I/O口和第二特殊功能口用;當(dāng)外部功能擴(kuò)展時, P0口做低8位地址和數(shù)據(jù)總線復(fù)用, P2口做高8位地址,P1口典型I/O端口第17頁/共86頁 P0口1地址/數(shù)據(jù)復(fù)用總線口n 控制信號為1,輸出的地址數(shù)據(jù)通過與

8、門驅(qū)動T1,同時通過反相器驅(qū)動T2。 D Q CL /Q & 地 址 /數(shù) 據(jù) 控 制 VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P0.X引 腳 T2 T1 鎖存器 一般I/O口控制信號為0,與門輸出為0使T1截止,輸出為漏極開漏電路,需外接上拉電阻。第18頁/共86頁 除了讀引腳操作外,還可以讀鎖存器,實現(xiàn)讀鎖存器修改再寫入操作。 P0口訪問外部存儲器時是地址/數(shù)據(jù)復(fù)用總線口,真正雙向I/O口。做通用I/O口是準(zhǔn)雙向,由輸出狀態(tài)變?yōu)檩斎霑r,置鎖存器為1再輸入。輸出級能驅(qū)動8個TTL負(fù)載。 一般P0做地址/數(shù)據(jù)復(fù)用總線口,就不能再做通用I/O口時用。復(fù)位后自動

9、置成地址/數(shù)據(jù)復(fù)用總線口。 P0口第19頁/共86頁 P2口當(dāng)系統(tǒng)外部功能擴(kuò)展時,P2口輸出高8位地址,這時不能再做通用I/O口使。不擴(kuò)展時可做通用I/O口。輸出級能驅(qū)動4個TTL負(fù)載。 D Q CL /Q 地 址 控 制 VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 當(dāng)開關(guān)接通地址信號,地址信號通過反相器驅(qū)動T1,輸出到引腳。當(dāng)開關(guān)接通Q,進(jìn)行通用I/O口操作。屬于準(zhǔn)雙向口,由輸出轉(zhuǎn)為輸入狀態(tài)時,必須先置位鎖存器使T1截止。P2口內(nèi)部有上拉電阻。鎖存器第20頁/共86頁 P1口P1是標(biāo)準(zhǔn)的8位準(zhǔn)雙向并行通用I/O口。輸出級能驅(qū)動4個TTL負(fù)載。 D

10、 Q CL /Q VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 鎖存器P1.X引腳第21頁/共86頁 P3口P3是雙功能口,即可做8位準(zhǔn)雙向并行通用I/O口,又具有第二變異功能。輸出級能驅(qū)動4個TTL負(fù)載。 D Q CL /Q 變異功能輸出 VCC 讀寄存器 讀引腳 內(nèi)部總線 寫鎖存器 P3.X引腳 T1 變異功能輸入 第22頁/共86頁P(yáng)3口的第二功能表P3.2P3.3位線引腳第二功能P3.010RXD(串行輸入口)P3.111TXD(串行輸出口)12INT0(外部中斷0)13INT1(外部中斷1)P3.414T0(定時器0的計數(shù)輸入)P3.515

11、T1(定時器1的計數(shù)輸入)16WR(外部數(shù)據(jù)存儲器寫脈沖)17RD(外部數(shù)據(jù)存儲器讀脈沖)P3.7 P3.6 第23頁/共86頁并行I/O口的讀-修改-寫操作 讀-修改-寫操作每個并行I/O口均有讀引腳和讀鎖存器兩種讀方式。MCS-51有些指令是讀引腳內(nèi)容,有些是讀鎖存器內(nèi)容。讀鎖存器指令是從鎖存器種讀出內(nèi)容,進(jìn)行處理,然后再寫入鎖存器,稱為讀修改寫操作。當(dāng)指令的目的操作數(shù)為某個I/O口或其中的某一位時,該指令讀的是鎖存器內(nèi)容。具有該功能的指令有: 邏輯與 ANL P1,A 邏輯或 ORL P1,A 邏輯異或 XOR P1,A 位取反 CPL P3.0 增量指令 INC P2 減量指令 DEC

12、 P2 循環(huán)判跳 DJNZ P3,LABEL 傳送指令 MOV P1.0,C 清0指令 CLR P1.0 置位指令 SETB P1.0 第24頁/共86頁并行I/O口結(jié)構(gòu)總線 總線當(dāng)訪問外部存儲器時,P2口輸出高8位地址,P0輸出低8位地址,通過ALE信號將P0口的低8位地址鎖存到外部地址鎖存器,為P0口接收數(shù)據(jù)作準(zhǔn)備。/PSEN用于訪問外部程序存儲器;訪問外部數(shù)據(jù)存儲器時,執(zhí)行MOVX指令,P3口自動產(chǎn)生/RD和/WR信號允許對外部數(shù)據(jù)存儲單元進(jìn)行讀寫。第25頁/共86頁 MCS-51 節(jié)電運(yùn)行方式(低功耗運(yùn)行方式) 待機(jī)( (休閑) )方式(IdleIdle) 掉電保護(hù)方式(Power D

13、ownPower Down)。在Vcc=5VVcc=5V,fosc=12MHzfosc=12MHz條件下,正常工作時電流約20mA20mA;待機(jī)( (休閑) )方式時電流約5mA5mA;掉電保護(hù)方式時電流僅7575 A A。 第26頁/共86頁兩種低功耗工作方式由電源控制寄存器PCONPCON確定。 其中: SMODSMOD:波特率倍增位(在串行通信中使用) GF1GF1、GF0GF0:通用標(biāo)志位 PDPD:掉電方式控制位, PD=1PD=1,進(jìn)入掉電工作方式; IDLIDL:待機(jī)( (休閑) )方式控制位, , IDL=1, IDL=1,進(jìn)入待機(jī)工作方式。 SMODSMODGF1GF1GF0

14、GF0PDPDIDLIDLPCONPCON第27頁/共86頁 待機(jī)(休閑)方式 待機(jī)(休閑)狀態(tài)退出 產(chǎn)生中斷; 復(fù)位。 待機(jī)(休閑)方式狀態(tài)片內(nèi)時鐘僅向中斷源提供,其余被阻斷; PCPC、特殊功能寄存器和片內(nèi)RAMRAM狀態(tài)保持不變; I/OI/O引腳端口值保持原邏輯值; ALEALE、保持邏輯高電平; CPUCPU不工作,但中斷功能繼續(xù)存在。 待機(jī)(休閑)狀態(tài)進(jìn)入 只要使PCONPCON中IDLIDL位置1 1。第28頁/共86頁 掉電保護(hù)方式 掉電保護(hù)狀態(tài)退出 掉電保護(hù)方式狀態(tài)片內(nèi)振蕩器停振,所有功能部件停止工作;片內(nèi)RAMRAM數(shù)據(jù)信息保存不變; ALEALE、PSENPSEN為低電平

15、; VccVcc可降至2V2V,但不能真正掉電。 掉電保護(hù)狀態(tài)進(jìn)入只要使PCONPCON中PDPD位置1 1。 唯一方法是硬件復(fù)位,復(fù)位后片內(nèi)RAMRAM數(shù)據(jù)不變,特殊功能寄存器內(nèi)容按復(fù)位狀態(tài)初始化。第29頁/共86頁三、MCS-51存儲器與布爾處理器第30頁/共86頁MCS-51:程序存儲器與數(shù)據(jù)存儲器分為兩個獨(dú)立存儲器邏輯空間,各有自己的尋址系統(tǒng)、控制信號和功能,分開編址,稱為哈佛結(jié)構(gòu)。 MCS-51的存儲空間分為三類:片內(nèi)、片外統(tǒng)一編址的64K字節(jié)程序存儲器空間64K字節(jié)的外部數(shù)據(jù)存儲器地址空間128/256字節(jié)的內(nèi)部程序存儲器空間,其中包括特殊功能寄存器第31頁/共86頁特殊功能寄存器

16、SFR通用RAM區(qū)00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲器(a)外部數(shù)據(jù)存儲器(b)FFFFH外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存儲器(c)工作寄存器區(qū)MCS-51單片機(jī)存儲器結(jié)構(gòu)位尋址區(qū)128BRAM第32頁/共86頁 MCS-51的程序存儲空間: MCS-51設(shè)置16位的程序計數(shù)器PC,可尋址64K字節(jié)程序存儲器空間. 8051/8751片內(nèi)4K字節(jié)的ROM/E

17、PROM;8052片內(nèi)8K字節(jié)的ROM/EPROM;8031/8032無內(nèi)部程序存儲器; /EA引腳為高電平,CPU首先訪問內(nèi)部程序存儲器,訪問超過4K(8K)字節(jié)的程序存儲器時, CPU自動轉(zhuǎn)向訪問外部程序存儲器,/PSEN輸出有效信號. /EA引腳為低電平, CPU只訪問外部程序存儲器.第33頁/共86頁 程序存儲器的某些單元專用于某些特定的程序段: 0000H0002H 程序的起始 0003H0032H 中斷服務(wù)程序 中 斷 源 首 地 址外部中斷0(/INT0)0003H定時器0溢出中斷000BH外部中斷1(/INT1)0013H定時器1溢出中斷001BH串行口中斷0023H定時器2溢

18、出002BH每個中斷只保留8個單元,一般不夠存放中斷服務(wù)程序,常用轉(zhuǎn)移指令轉(zhuǎn)向?qū)嶋H的中斷服務(wù)程序段.第34頁/共86頁MCS-51的數(shù)據(jù)存儲器MCS-51的數(shù)據(jù)存儲器也分為內(nèi)部和外部,分別用MOV和MOVX 指令訪問.特殊功能寄存器SFR通用RAM區(qū)00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲器(a)外部數(shù)據(jù)存儲器(b)工作寄存器區(qū)位尋址區(qū)128BRAM第35頁/共86頁內(nèi)部數(shù)據(jù)存儲器的空間分配內(nèi)部數(shù)據(jù)存儲器的空間分配第36頁/共86頁內(nèi)部數(shù)據(jù)

19、存儲器中的位地址第37頁/共86頁 特殊功能寄存器地址及功能表特殊功能寄存器地址及功能表第38頁/共86頁外部程序存儲器與訪問 對于8051/8751/8052/8752片內(nèi)4K/8K字節(jié)的程序存儲器外,還可擴(kuò)展60/56K程序存儲器;對于8031/8032無內(nèi)部程序存儲器,必須全部由外部配置,一般選用EPROM; 若低地址程序段在片內(nèi),/EA引腳為高電平,CPU從0000H訪問內(nèi)部程序存儲器,程序執(zhí)行超過4095/8191單元后, CPU自動轉(zhuǎn)向訪問外部程序存儲器,內(nèi)部和外部訪問速度相同.若無外部程序存儲器, 4095/8191單元不能有數(shù)據(jù).第39頁/共86頁外部程序存儲器與訪問 CPU訪

20、問外部程序存儲器時,PC的低8位地址由P0口輸出,高8位地址由P2輸出.從外部程序存儲器讀入的指令由P0口輸入. /ALE為地址鎖存信號,每個機(jī)器周期出現(xiàn)兩次,只有訪問外部數(shù)據(jù)存儲器時才減為一次.因此/ALE信號為主振頻率的1/6,實際應(yīng)用中可借用作定時信號. /PSEN是訪問外部程序存儲器的專用選通信號,低電平有效.每個機(jī)器周期有效兩次.第40頁/共86頁外部數(shù)據(jù)存儲器與訪問 MCS-51片內(nèi)配置128/256字節(jié)的RAM,可根據(jù)需要擴(kuò)展至64KRAM CPU訪問外部數(shù)據(jù)存儲器的地址由數(shù)據(jù)指針DPTR或工作寄存器Ri提供, Ri提供8位地址,由P0口輸出; DPTR提供16位地址,由P0口輸

21、出DPL,DPH由P2輸出.讀寫操作的數(shù)據(jù)由P0口輸入/輸出. 訪問外部RAM的讀/寫選通信號由/RD、/WR提供。第41頁/共86頁 訪問內(nèi)部還是外部RAM是通過不同的指令來區(qū)別。訪問內(nèi)部RAM選用MOV類指令,訪問外部RAM選用MOVX指令。 MOVX A,Ri/ MOVX A,DPTR, MOVX Ri,A/ MOVX DPTR,A 由于訪問外部程序或數(shù)據(jù)存儲器各有不同的選通信號,提供訪問的地址單元不同,從而在結(jié)構(gòu)上把程序存儲器和數(shù)據(jù)存儲器分開。第42頁/共86頁外部擴(kuò)展地址/數(shù)據(jù)總線 P0口既是低8位地址總線,又是8位數(shù)據(jù)總線,分時復(fù)用,P2口為高8位地址總線,從而形成了16位地址總線

22、和8位數(shù)據(jù)總線.ALE、/PSEN以及P3口的一部分組成控制總線,形成總線結(jié)構(gòu)。 P0口分時復(fù)用,具有雙向功能,不需外接上拉電阻。 一旦外部擴(kuò)展存儲器, P2口不能作一般I/O口使用。第43頁/共86頁第44頁/共86頁第45頁/共86頁MCS-51單片機(jī)有7種基本尋址方式序號 尋址方式相應(yīng)存儲器、寄存器空間1寄存器尋址R0R7,Acc,B,Cy,DPTR2直接尋址內(nèi)部RAM低128字節(jié)和特殊功能寄存器3寄存器間接尋址內(nèi)部RAM(R1,R0,SP)外部RAM(R1,R0,DPTR)4立即尋址程序存儲器 立即數(shù)5基址寄存器加變址寄存器間接尋址程序存儲器(A+DPTR,A+PC)6相對尋址有效地址

23、=PC當(dāng)前值為基址+偏移量7位尋址內(nèi)部RAM和特殊功能寄存器的可位尋址單元第46頁/共86頁布爾(位)處理器為了更好地“面向測控系統(tǒng)”。MCS-51系列單片機(jī)內(nèi)部設(shè)置有完整的功能極強(qiáng)的位處理器,被譽(yù)為具有雙CPU的單片機(jī)。位累加器,位尋址寄存器,位尋址I/O口,位尋址內(nèi)部RAM,位尋址指令,程序存儲器等組成MCS-51的位處理器對每個位單元可以進(jìn)行置位,清零,求反,傳送,判跳和邏輯運(yùn)算.操作結(jié)果一般存于位累加器中.第47頁/共86頁四、MCS-51指令系統(tǒng)第48頁/共86頁MCS-51 指令系統(tǒng)數(shù)據(jù)傳送類指令第49頁/共86頁MCS-51 指令系統(tǒng)數(shù)據(jù)傳送類指令第50頁/共86頁MCS-51

24、指令系統(tǒng)算術(shù)運(yùn)算指令第51頁/共86頁MCS-51指令系統(tǒng) 邏輯運(yùn)算指令第52頁/共86頁MCS-51 指令系統(tǒng)控制轉(zhuǎn)移指令第53頁/共86頁MCS-51 指令系統(tǒng)位操作指令第54頁/共86頁五、MCS-51中斷系統(tǒng)第55頁/共86頁 MCS-51有5個(或6個)中斷源,2個中斷優(yōu)先級,可實現(xiàn)兩級中斷嵌套。第56頁/共86頁 定時器控制寄存器TCON 88HTF1TR1TF0TR0IE1IT1IE0IT0TIRI串行口控制寄存器SCON 98Hv完成一幀數(shù)據(jù)的接收(發(fā)送),RI(TI)置1。v因為RI(TI)共用一個中斷矢量,中斷服務(wù)程序中必須判斷是接收/發(fā)送中斷。v必須由軟件清0v若禁止中斷

25、,可以軟件查詢方式處理。當(dāng)INT0/INT1中斷請求有效,IE0/IE0置1。主機(jī)在S5P2采樣標(biāo)志位。響應(yīng)中斷后硬件自動復(fù)位IE0/IE1IT0/IT1=0(1),決定INT0/INT1低電平(負(fù)跳變)有效,定時器T0/T1溢出中斷請求標(biāo)志TF0/TF1,主機(jī)在S5P2采樣標(biāo)志位,響應(yīng)中斷后,硬件自動清0。若禁止中斷,可以軟件查詢方式處理。第57頁/共86頁 中斷允許寄存器IE A8HEAESET1EX1ET0EX0外部中斷INT0/INT1中斷響應(yīng)控制位,1允許,0禁止定時器T0/T1溢出中斷響應(yīng)控制位。1允許,0禁止。串行通訊接收/發(fā)送中斷響應(yīng)控制位。1允許,0禁止。允許/禁止所有中斷。

26、1允許,0禁止。第58頁/共86頁 中斷優(yōu)先級寄存器IP(B8H)PSPT1PX1PT0PX0外部中斷INT0/INT1中斷優(yōu)先級設(shè)置位, 1高優(yōu)先級,0低優(yōu)先級。定時器T0/T1中斷優(yōu)先級設(shè)置位。 1高優(yōu)先級,0低優(yōu)先級。串行通訊中斷優(yōu)先級設(shè)置位。1高優(yōu)先級,0低優(yōu)先級。v當(dāng)同時有兩個以上同優(yōu)先級的中斷請求時,按優(yōu)先順序查詢響應(yīng)中斷。同級內(nèi)的優(yōu)先順序由高到低是:/INT0 T0 /INT1 T1 串行口中斷v優(yōu)先級注意問題v任一中斷源可通過IP設(shè)置優(yōu)先級別為高或低。v不同級別中斷請求,優(yōu)先響應(yīng)高級別中斷。v只有高級別中斷可以中止低級中斷服務(wù)子程序,實現(xiàn)中斷嵌套。同級別的中斷不能實現(xiàn)中斷嵌套。

27、第59頁/共86頁 中斷服務(wù)程序的入口地址 中 斷 源首 地 址外部中斷0(/INT0)0003H定時器0溢出中斷000BH外部中斷1(/INT1)0013H定時器1溢出中斷001BH串行口中斷0023H定時器2溢出002BH第60頁/共86頁 中斷響應(yīng)條件 有中斷請求信號(TCON寄存器有置位) 系統(tǒng)處于開中斷狀態(tài)(IE寄存器有置位:EA=1,對應(yīng)控制位=1) 無同級或高優(yōu)先級中斷服務(wù)程序在執(zhí)行。 當(dāng)前指令已執(zhí)行到最后一個機(jī)器周期并已經(jīng)結(jié)束。 當(dāng)前執(zhí)行的不是RETI指令或訪問IE、IP寄存器指令。 若是,則除執(zhí)行完該指令外,還要執(zhí)行完下一條指令,以保證中斷服務(wù)子程序的正確返回以及IE、IP寄

28、存器功能的設(shè)置。第61頁/共86頁 中斷響應(yīng)阻斷 當(dāng)CPU未執(zhí)行完一條指令。 當(dāng)有同級或高級中斷服務(wù)。 執(zhí)行RETI指令或訪問IE、IP的指令后,不能立即響應(yīng)中斷。 中斷響應(yīng)時間(見教材p103) 正常中斷響應(yīng)時間至少為3-8個機(jī)器周期,如果有同級或高級中斷服務(wù),將延長中斷響應(yīng)時間。 中斷返回 中斷返回指令: RETI= RET指令 + 通知CPU中斷服務(wù)已結(jié)束。第62頁/共86頁中斷系統(tǒng)的應(yīng)用 中斷初始化 設(shè)置堆棧指針SPSP 定義中斷優(yōu)先級( (IPIP寄存器) ) 定義外中斷觸發(fā)方式( (TCONTCON寄存器) ) 開放中斷 (IEIE寄存器,包括EAEA、各用到的中斷) 安排好等待中

29、斷或中斷發(fā)生前主程序應(yīng)完成的操作內(nèi)容。 中斷服務(wù)主程序 中斷服務(wù)子程序內(nèi)容要求: 在中斷服務(wù)入口地址設(shè)置一條跳轉(zhuǎn)指令,轉(zhuǎn)移到中斷服務(wù)程序的實際入口處。 根據(jù)需要保護(hù)現(xiàn)場。 中斷源請求中斷服務(wù)要求的操作。 恢復(fù)現(xiàn)場。與保護(hù)現(xiàn)場相對應(yīng),注意先進(jìn)后出、后進(jìn)先出操作原則。 中斷返回,最后一條指令必須是RETIRETI。第63頁/共86頁六、MCS-51的定時器/計數(shù)器第64頁/共86頁l 80C51單片機(jī)內(nèi)部有兩個定時/計數(shù)器T0和T1,其核心是計數(shù)器,基本功能是加1。l 對外部事件脈沖(下降沿)計數(shù),是計數(shù)器;對片內(nèi)機(jī)周脈沖計數(shù),是定時器。l 計數(shù)器由二個8位計數(shù)器組成。l 定時時間和計數(shù)值可以編程

30、設(shè)定,其方法是在計數(shù)器內(nèi)設(shè)置一個初值,然后加1計滿后溢出。調(diào)整計數(shù)器初值,可調(diào)整從初值到計滿溢出的數(shù)值,即調(diào)整了定時時間和計數(shù)值。l 定時/計數(shù)器作為計數(shù)器時,外部事件脈沖必須從規(guī)定的引腳Tx(P3.4、P3.5)輸入。且外部脈沖的最高頻率不能超過時鐘頻率的1/24。第65頁/共86頁K1K1K2K2可預(yù)置初值計數(shù)器可預(yù)置初值計數(shù)器中斷中斷請求請求功能功能選擇選擇啟動啟動控制控制內(nèi)部時鐘脈沖內(nèi)部時鐘脈沖(定時)(定時)外部輸入脈沖外部輸入脈沖(計數(shù))(計數(shù))溢出信號溢出信號計數(shù)脈沖計數(shù)脈沖計數(shù)初值計數(shù)初值TCONTMOD第66頁/共86頁 加法計數(shù)器是計滿溢出時才申請中斷, 所以在給計數(shù)器賦初

31、值時, 不能直接輸入所需的計數(shù)值, 而應(yīng)輸入的是計數(shù)器計數(shù)的最大值與這一計數(shù)值的差值, 設(shè)最大值為 M, 計數(shù)值為 N, 初值為 X, 則 X的計算方法如下: 計數(shù)狀態(tài): X=MN 定時狀態(tài): X=M定時時間/T 而 T=12晶振頻率 第67頁/共86頁 TMOD方式寄存器(89H)G GA AT TE E C C/ /( (/ /T T) ) M M1 1 M M0 0 G GA AT TE E C C/ /( (/ /T T) ) M M1 1 M M0 0 T1T0n=0,定時功能,計數(shù)內(nèi)部機(jī)器周期脈沖;,定時功能,計數(shù)內(nèi)部機(jī)器周期脈沖;n=1,計數(shù)功能,計數(shù)引腳,計數(shù)功能,計數(shù)引腳T0

32、(T1)輸入的負(fù)脈沖輸入的負(fù)脈沖功能描述功能描述方式方式M1 M0M1 M08 8位自動重裝位自動重裝2 210101616位位1 101011313位位0 00 00 0為兩個為兩個8 8位位3 31111n2)方式選擇位M1、M0:4 4種工作方式種工作方式:(:(13/16/813/16/8位)位)n=0,非門控方式,非門控方式(內(nèi)部啟動內(nèi)部啟動): TRx=1,啟動定時器工作;,啟動定時器工作; TRx=0,停止定時器工作。,停止定時器工作。n=1,門控方式,門控方式(外部啟動外部啟動):TRx=1且且引腳引腳INTx=1才啟動。才啟動。TMODTMOD字節(jié)地址89H,89H,不能位操

33、作, ,設(shè)置TMODTMOD須用字節(jié)操作指令。第68頁/共86頁 2.TCON 定時器控制/狀態(tài)寄存器 88HT TF F1 1 T TR R1 1 T TF F0 0 T TR R0 0 I IE E1 1 I IT T1 1 I IE E0 0 I IT T0 0 n=0,停止定時器工作,停止定時器工作n=1,啟動定時器工作,啟動定時器工作n定時器溢出使定時器溢出使TFx=1,引起,引起中斷請求,中斷請求,CPU響應(yīng)響應(yīng)Tx中斷中斷后,自動清后,自動清0 TFx。IT0/IT1=0(1),決定INT0/INT1低電平(負(fù)跳變)有效,當(dāng)INT0/INT1中斷請求有效,IE0/IE0置1。主機(jī)

34、在S5P2采樣標(biāo)志位。響應(yīng)中斷后硬件自動復(fù)位IE0/IE1第69頁/共86頁定時器工作方式 方式0 13位。 THx 8位和TLx低5位組成13位加1計數(shù)器。TLx低5位計數(shù)滿時不向TLx第6位進(jìn)位,而是向THx進(jìn)位,13位計滿溢出,TFx置“1”。 計數(shù)外部脈沖個數(shù):18192(213) 定時時間(T=1s):1s 8.19msTCONIE第70頁/共86頁定時器工作方式 方式1 16位。 THx8位和TLx8位組成16位加1計數(shù)器 計數(shù)外部脈沖個數(shù):165536(216) 定時時間(T=1s):1s 65536T= 65.54msTCONIE第71頁/共86頁定時器工作方式 方式2 自動恢

35、復(fù)初值8位定時/計數(shù)器。TLx為8位加1計數(shù)器,THx為8位初值暫存器,設(shè)置初值時同時送TLx 和THx 。 用于需要重復(fù)定時和計數(shù)的場合。一般用于串行通信波特率的產(chǎn)生。 最大計數(shù)值:256 (28) 最大定時時間(T=1s): 256sTCONIE去串行口第72頁/共86頁 方式3 3僅適用于T0T0,T1T1無方式3 3。 T0T0方式3 3 在方式3 3情況下, ,T0T0被拆成二個獨(dú)立的8 8位計數(shù)器TH0TH0、TL0TL0。TL0TL0可以為定時/ /計數(shù)器;TH0TH0只能作為8 8位定時器。 TL0TL0使用T0T0原有的控制寄存器資源:TF0,TR0,GATE,C/T,INT

36、0,:TF0,TR0,GATE,C/T,INT0,組成一個8 8位的定時/ /計數(shù)器; TH0TH0借用T1T1的中斷溢出標(biāo)志TF1,TF1,運(yùn)行控制開關(guān)TR1,TR1,只能對片內(nèi)機(jī)周脈沖計數(shù), ,組成另一個8 8位定時器( (不能用作計數(shù)器) )。 T0T0方式3 3情況下的T1T1 T1 T1由于其TF1TF1、TR1TR1被T0T0的TH0TH0占用,計數(shù)器溢出時,只能將輸出信號送至串行口,即用作串行口波特率發(fā)生器。定時器工作方式 工作方式3第73頁/共86頁定時器工作方式 工作方式3第74頁/共86頁定時/計數(shù)器編程 初始化編程格式:MOV TMOD,# 方式字 ;選擇方式MOV TH

37、x,#XH ;裝入Tx時間常數(shù)MOV TLx,#XL(SETB EA) ;開Tx中斷(SETB ETx) SETB TRx ;啟動Tx定時器 1. 按實際需要選擇定時/計數(shù)功能 2. 按時間或計數(shù)長度選擇方式 3. 計算時間常數(shù)第75頁/共86頁定時/計數(shù)器編程 溢出處理編程格式: 查詢方式:先查詢定時器溢出標(biāo)志,再進(jìn)行溢出處理。 ;定時器初始化WAIT:JBC TFx,PT ;檢測溢出標(biāo)志 SJMP WAITPT: MOV THx,#XH ;重裝時間常數(shù) MOVTLx,#XL ;溢出處理SJMPWAIT第76頁/共86頁定時/計數(shù)器編程 2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。 ORG0000H LJMP MAIN ORG000BH(001BH);Tx中斷入口 LJMP PTSMAIN: ;初始化后執(zhí)行其他程序PTS: ;溢出中斷服務(wù)程序MOVTHx,#XH;重裝時間常數(shù)MOVT

溫馨提示

  • 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

提交評論