




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、一、什么是單片機(jī)二、MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)三、MCS-51存儲(chǔ)器與布爾處理器四、MCS-51指令系統(tǒng)五、MCS-51中斷系統(tǒng)六、MCS-51的定時(shí)器/計(jì)數(shù)器七、MCS-51的串行通信口八、MCS-51的匯編語言程序設(shè)計(jì)基礎(chǔ)九、MCS-51系統(tǒng)的功能擴(kuò)展第1頁/共86頁第2頁/共86頁一、什么是單片機(jī)第3頁/共86頁一、什么是單片機(jī) 它是將組成微型計(jì)算機(jī)所必須的部件(中央處理器CPU、程序存貯器(ROM)、數(shù)據(jù)存貯器(RAM)、輸入/輸出(I/O)接口、定時(shí)/計(jì)數(shù)器、串行口、系統(tǒng)總線等)集成在一個(gè)超大規(guī)模集成電路芯片上。第4頁/共86頁二、MCS-51單片機(jī)系統(tǒng)結(jié)構(gòu)第5頁/共86頁 MCS-
2、51硬件配置基本配置: 8位CPU 振蕩器和時(shí)鐘電路 片內(nèi)4K/8K字節(jié)ROM/EPROM、128/256字節(jié)RAM 可尋址外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器各64K字節(jié) 二十多個(gè)特殊功能寄存器(SFR) 32線并行 I/O接口 2/3個(gè)片內(nèi)16位定時(shí)器/計(jì)數(shù)器 片內(nèi)中斷處理系統(tǒng)(5/6個(gè)中斷源,2個(gè)優(yōu)先級(jí)) 1個(gè)片內(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的核心部件是一個(gè)8位CPU,它是8051的指揮中心、執(zhí)行機(jī)構(gòu),讀入和分析每條指令,控制單片機(jī)的各個(gè)部件執(zhí)行制定的操作。它是由8位算術(shù)/邏輯運(yùn)算部件ALU、布爾處理器、定時(shí)/控制部件和若干寄存器等主要部件組成。第11頁/共86頁 算術(shù)/邏輯運(yùn)算部件ALU ALU包括運(yùn)
4、算器、布爾處理器、累加器A、寄存器B、暫存器、程序狀態(tài)字PSW寄存器等。 其功能是實(shí)現(xiàn)數(shù)據(jù)的算術(shù)/邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送等操作。(+、算術(shù)運(yùn)算,與、或、非、異或 邏輯運(yùn)算、循環(huán)移位、位處理) 8051的指令代碼不超過3字節(jié),當(dāng)主頻12MHZ時(shí),指令的執(zhí)行時(shí)間為: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提供兩相時(shí)鐘信號(hào)振蕩器輸出信號(hào) 單片機(jī)時(shí)鐘電路第14頁/共86頁 一個(gè)機(jī)器周期=6個(gè)狀態(tài)=12個(gè)振蕩周期P1P2S1P2振蕩周期時(shí)鐘周期機(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、 讀下一個(gè)操作碼(丟棄) 讀下一個(gè)操作碼 S1 讀操作碼 讀第二個(gè)字節(jié) 讀下一個(gè)操作碼 S1 讀操作碼 讀下一個(gè)操作碼(丟棄) 讀操作碼 讀下一個(gè)操作碼(丟棄) 無取指,無 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、時(shí)序圖第16頁/共86頁 MCS-51單片機(jī)有4個(gè)雙向并行的8位I/O口P0P3,可并行輸入或輸出8位數(shù)據(jù),也可按位使用。MCS-51 并行I/O口結(jié)構(gòu) 8051有4個(gè)8位并行 I/O 接口,各具特殊的電路結(jié)構(gòu),每位具有自己的鎖存器、輸出驅(qū)動(dòng)和輸入緩沖器。這種結(jié)構(gòu)在輸出時(shí)鎖存,即輸出新數(shù)據(jù)之前通道口上的數(shù)據(jù)保持不變。 不擴(kuò)展外部功能時(shí),P0、P1、P2均可做典型I/O口使用,P3作做典型I/O口和第二特殊功能口用;當(dāng)外部功能擴(kuò)展時(shí), P0口做低8位地址和數(shù)據(jù)總線復(fù)用, P2口做高8位地址,P1口典型I/O端口第17頁/共86頁 P0口1地址/數(shù)據(jù)復(fù)用總線口n 控制信號(hào)為1,輸出的地址數(shù)據(jù)通過與
8、門驅(qū)動(dòng)T1,同時(shí)通過反相器驅(qū)動(dòng)T2。 D Q CL /Q & 地 址 /數(shù) 據(jù) 控 制 VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P0.X引 腳 T2 T1 鎖存器 一般I/O口控制信號(hào)為0,與門輸出為0使T1截止,輸出為漏極開漏電路,需外接上拉電阻。第18頁/共86頁 除了讀引腳操作外,還可以讀鎖存器,實(shí)現(xiàn)讀鎖存器修改再寫入操作。 P0口訪問外部存儲(chǔ)器時(shí)是地址/數(shù)據(jù)復(fù)用總線口,真正雙向I/O口。做通用I/O口是準(zhǔn)雙向,由輸出狀態(tài)變?yōu)檩斎霑r(shí),置鎖存器為1再輸入。輸出級(jí)能驅(qū)動(dòng)8個(gè)TTL負(fù)載。 一般P0做地址/數(shù)據(jù)復(fù)用總線口,就不能再做通用I/O口時(shí)用。復(fù)位后自動(dòng)
9、置成地址/數(shù)據(jù)復(fù)用總線口。 P0口第19頁/共86頁 P2口當(dāng)系統(tǒng)外部功能擴(kuò)展時(shí),P2口輸出高8位地址,這時(shí)不能再做通用I/O口使。不擴(kuò)展時(shí)可做通用I/O口。輸出級(jí)能驅(qū)動(dòng)4個(gè)TTL負(fù)載。 D Q CL /Q 地 址 控 制 VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 當(dāng)開關(guān)接通地址信號(hào),地址信號(hào)通過反相器驅(qū)動(dòng)T1,輸出到引腳。當(dāng)開關(guān)接通Q,進(jìn)行通用I/O口操作。屬于準(zhǔn)雙向口,由輸出轉(zhuǎn)為輸入狀態(tài)時(shí),必須先置位鎖存器使T1截止。P2口內(nèi)部有上拉電阻。鎖存器第20頁/共86頁 P1口P1是標(biāo)準(zhǔn)的8位準(zhǔn)雙向并行通用I/O口。輸出級(jí)能驅(qū)動(dòng)4個(gè)TTL負(fù)載。 D
10、 Q CL /Q VCC 讀 寄 存 器 讀 引 腳 內(nèi) 部 總 線 寫 鎖 存 器 P2.X引 腳 T1 鎖存器P1.X引腳第21頁/共86頁 P3口P3是雙功能口,即可做8位準(zhǔn)雙向并行通用I/O口,又具有第二變異功能。輸出級(jí)能驅(qū)動(dòng)4個(gè)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(定時(shí)器0的計(jì)數(shù)輸入)P3.515
11、T1(定時(shí)器1的計(jì)數(shù)輸入)16WR(外部數(shù)據(jù)存儲(chǔ)器寫脈沖)17RD(外部數(shù)據(jù)存儲(chǔ)器讀脈沖)P3.7 P3.6 第23頁/共86頁并行I/O口的讀-修改-寫操作 讀-修改-寫操作每個(gè)并行I/O口均有讀引腳和讀鎖存器兩種讀方式。MCS-51有些指令是讀引腳內(nèi)容,有些是讀鎖存器內(nèi)容。讀鎖存器指令是從鎖存器種讀出內(nèi)容,進(jìn)行處理,然后再寫入鎖存器,稱為讀修改寫操作。當(dāng)指令的目的操作數(shù)為某個(gè)I/O口或其中的某一位時(shí),該指令讀的是鎖存器內(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)訪問外部存儲(chǔ)器時(shí),P2口輸出高8位地址,P0輸出低8位地址,通過ALE信號(hào)將P0口的低8位地址鎖存到外部地址鎖存器,為P0口接收數(shù)據(jù)作準(zhǔn)備。/PSEN用于訪問外部程序存儲(chǔ)器;訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),執(zhí)行MOVX指令,P3口自動(dòng)產(chǎn)生/RD和/WR信號(hào)允許對(duì)外部數(shù)據(jù)存儲(chǔ)單元進(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條件下,正常工作時(shí)電流約20mA20mA;待機(jī)( (休閑) )方式時(shí)電流約5mA5mA;掉電保護(hù)方式時(shí)電流僅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)時(shí)鐘僅向中斷源提供,其余被阻斷; 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存儲(chǔ)器與布爾處理器第30頁/共86頁MCS-51:程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器分為兩個(gè)獨(dú)立存儲(chǔ)器邏輯空間,各有自己的尋址系統(tǒng)、控制信號(hào)和功能,分開編址,稱為哈佛結(jié)構(gòu)。 MCS-51的存儲(chǔ)空間分為三類:片內(nèi)、片外統(tǒng)一編址的64K字節(jié)程序存儲(chǔ)器空間64K字節(jié)的外部數(shù)據(jù)存儲(chǔ)器地址空間128/256字節(jié)的內(nèi)部程序存儲(chǔ)器空間,其中包括特殊功能寄存器第31頁/共86頁特殊功能寄存器
16、SFR通用RAM區(qū)00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲(chǔ)器(a)外部數(shù)據(jù)存儲(chǔ)器(b)FFFFH外部ROM內(nèi)部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000H程序存儲(chǔ)器(c)工作寄存器區(qū)MCS-51單片機(jī)存儲(chǔ)器結(jié)構(gòu)位尋址區(qū)128BRAM第32頁/共86頁 MCS-51的程序存儲(chǔ)空間: MCS-51設(shè)置16位的程序計(jì)數(shù)器PC,可尋址64K字節(jié)程序存儲(chǔ)器空間. 8051/8751片內(nèi)4K字節(jié)的ROM/E
17、PROM;8052片內(nèi)8K字節(jié)的ROM/EPROM;8031/8032無內(nèi)部程序存儲(chǔ)器; /EA引腳為高電平,CPU首先訪問內(nèi)部程序存儲(chǔ)器,訪問超過4K(8K)字節(jié)的程序存儲(chǔ)器時(shí), CPU自動(dòng)轉(zhuǎn)向訪問外部程序存儲(chǔ)器,/PSEN輸出有效信號(hào). /EA引腳為低電平, CPU只訪問外部程序存儲(chǔ)器.第33頁/共86頁 程序存儲(chǔ)器的某些單元專用于某些特定的程序段: 0000H0002H 程序的起始 0003H0032H 中斷服務(wù)程序 中 斷 源 首 地 址外部中斷0(/INT0)0003H定時(shí)器0溢出中斷000BH外部中斷1(/INT1)0013H定時(shí)器1溢出中斷001BH串行口中斷0023H定時(shí)器2溢
18、出002BH每個(gè)中斷只保留8個(gè)單元,一般不夠存放中斷服務(wù)程序,常用轉(zhuǎn)移指令轉(zhuǎn)向?qū)嶋H的中斷服務(wù)程序段.第34頁/共86頁MCS-51的數(shù)據(jù)存儲(chǔ)器MCS-51的數(shù)據(jù)存儲(chǔ)器也分為內(nèi)部和外部,分別用MOV和MOVX 指令訪問.特殊功能寄存器SFR通用RAM區(qū)00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位尋址外 部RAM(I/O口地址)0000HFFFFH內(nèi)部數(shù)據(jù)存儲(chǔ)器(a)外部數(shù)據(jù)存儲(chǔ)器(b)工作寄存器區(qū)位尋址區(qū)128BRAM第35頁/共86頁內(nèi)部數(shù)據(jù)存儲(chǔ)器的空間分配內(nèi)部數(shù)據(jù)存儲(chǔ)器的空間分配第36頁/共86頁內(nèi)部數(shù)據(jù)
19、存儲(chǔ)器中的位地址第37頁/共86頁 特殊功能寄存器地址及功能表特殊功能寄存器地址及功能表第38頁/共86頁外部程序存儲(chǔ)器與訪問 對(duì)于8051/8751/8052/8752片內(nèi)4K/8K字節(jié)的程序存儲(chǔ)器外,還可擴(kuò)展60/56K程序存儲(chǔ)器;對(duì)于8031/8032無內(nèi)部程序存儲(chǔ)器,必須全部由外部配置,一般選用EPROM; 若低地址程序段在片內(nèi),/EA引腳為高電平,CPU從0000H訪問內(nèi)部程序存儲(chǔ)器,程序執(zhí)行超過4095/8191單元后, CPU自動(dòng)轉(zhuǎn)向訪問外部程序存儲(chǔ)器,內(nèi)部和外部訪問速度相同.若無外部程序存儲(chǔ)器, 4095/8191單元不能有數(shù)據(jù).第39頁/共86頁外部程序存儲(chǔ)器與訪問 CPU訪
20、問外部程序存儲(chǔ)器時(shí),PC的低8位地址由P0口輸出,高8位地址由P2輸出.從外部程序存儲(chǔ)器讀入的指令由P0口輸入. /ALE為地址鎖存信號(hào),每個(gè)機(jī)器周期出現(xiàn)兩次,只有訪問外部數(shù)據(jù)存儲(chǔ)器時(shí)才減為一次.因此/ALE信號(hào)為主振頻率的1/6,實(shí)際應(yīng)用中可借用作定時(shí)信號(hào). /PSEN是訪問外部程序存儲(chǔ)器的專用選通信號(hào),低電平有效.每個(gè)機(jī)器周期有效兩次.第40頁/共86頁外部數(shù)據(jù)存儲(chǔ)器與訪問 MCS-51片內(nèi)配置128/256字節(jié)的RAM,可根據(jù)需要擴(kuò)展至64KRAM CPU訪問外部數(shù)據(jù)存儲(chǔ)器的地址由數(shù)據(jù)指針DPTR或工作寄存器Ri提供, Ri提供8位地址,由P0口輸出; DPTR提供16位地址,由P0口輸
21、出DPL,DPH由P2輸出.讀寫操作的數(shù)據(jù)由P0口輸入/輸出. 訪問外部RAM的讀/寫選通信號(hào)由/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ù)存儲(chǔ)器各有不同的選通信號(hào),提供訪問的地址單元不同,從而在結(jié)構(gòu)上把程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開。第42頁/共86頁外部擴(kuò)展地址/數(shù)據(jù)總線 P0口既是低8位地址總線,又是8位數(shù)據(jù)總線,分時(shí)復(fù)用,P2口為高8位地址總線,從而形成了16位地址總線
22、和8位數(shù)據(jù)總線.ALE、/PSEN以及P3口的一部分組成控制總線,形成總線結(jié)構(gòu)。 P0口分時(shí)復(fù)用,具有雙向功能,不需外接上拉電阻。 一旦外部擴(kuò)展存儲(chǔ)器, P2口不能作一般I/O口使用。第43頁/共86頁第44頁/共86頁第45頁/共86頁MCS-51單片機(jī)有7種基本尋址方式序號(hào) 尋址方式相應(yīng)存儲(chǔ)器、寄存器空間1寄存器尋址R0R7,Acc,B,Cy,DPTR2直接尋址內(nèi)部RAM低128字節(jié)和特殊功能寄存器3寄存器間接尋址內(nèi)部RAM(R1,R0,SP)外部RAM(R1,R0,DPTR)4立即尋址程序存儲(chǔ)器 立即數(shù)5基址寄存器加變址寄存器間接尋址程序存儲(chǔ)器(A+DPTR,A+PC)6相對(duì)尋址有效地址
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,位尋址指令,程序存儲(chǔ)器等組成MCS-51的位處理器對(duì)每個(gè)位單元可以進(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個(gè)(或6個(gè))中斷源,2個(gè)中斷優(yōu)先級(jí),可實(shí)現(xiàn)兩級(jí)中斷嵌套。第56頁/共86頁 定時(shí)器控制寄存器TCON 88HTF1TR1TF0TR0IE1IT1IE0IT0TIRI串行口控制寄存器SCON 98Hv完成一幀數(shù)據(jù)的接收(發(fā)送),RI(TI)置1。v因?yàn)镽I(TI)共用一個(gè)中斷矢量,中斷服務(wù)程序中必須判斷是接收/發(fā)送中斷。v必須由軟件清0v若禁止中斷
25、,可以軟件查詢方式處理。當(dāng)INT0/INT1中斷請(qǐng)求有效,IE0/IE0置1。主機(jī)在S5P2采樣標(biāo)志位。響應(yīng)中斷后硬件自動(dòng)復(fù)位IE0/IE1IT0/IT1=0(1),決定INT0/INT1低電平(負(fù)跳變)有效,定時(shí)器T0/T1溢出中斷請(qǐng)求標(biāo)志TF0/TF1,主機(jī)在S5P2采樣標(biāo)志位,響應(yīng)中斷后,硬件自動(dòng)清0。若禁止中斷,可以軟件查詢方式處理。第57頁/共86頁 中斷允許寄存器IE A8HEAESET1EX1ET0EX0外部中斷INT0/INT1中斷響應(yīng)控制位,1允許,0禁止定時(shí)器T0/T1溢出中斷響應(yīng)控制位。1允許,0禁止。串行通訊接收/發(fā)送中斷響應(yīng)控制位。1允許,0禁止。允許/禁止所有中斷。
26、1允許,0禁止。第58頁/共86頁 中斷優(yōu)先級(jí)寄存器IP(B8H)PSPT1PX1PT0PX0外部中斷INT0/INT1中斷優(yōu)先級(jí)設(shè)置位, 1高優(yōu)先級(jí),0低優(yōu)先級(jí)。定時(shí)器T0/T1中斷優(yōu)先級(jí)設(shè)置位。 1高優(yōu)先級(jí),0低優(yōu)先級(jí)。串行通訊中斷優(yōu)先級(jí)設(shè)置位。1高優(yōu)先級(jí),0低優(yōu)先級(jí)。v當(dāng)同時(shí)有兩個(gè)以上同優(yōu)先級(jí)的中斷請(qǐng)求時(shí),按優(yōu)先順序查詢響應(yīng)中斷。同級(jí)內(nèi)的優(yōu)先順序由高到低是:/INT0 T0 /INT1 T1 串行口中斷v優(yōu)先級(jí)注意問題v任一中斷源可通過IP設(shè)置優(yōu)先級(jí)別為高或低。v不同級(jí)別中斷請(qǐng)求,優(yōu)先響應(yīng)高級(jí)別中斷。v只有高級(jí)別中斷可以中止低級(jí)中斷服務(wù)子程序,實(shí)現(xiàn)中斷嵌套。同級(jí)別的中斷不能實(shí)現(xiàn)中斷嵌套。
27、第59頁/共86頁 中斷服務(wù)程序的入口地址 中 斷 源首 地 址外部中斷0(/INT0)0003H定時(shí)器0溢出中斷000BH外部中斷1(/INT1)0013H定時(shí)器1溢出中斷001BH串行口中斷0023H定時(shí)器2溢出002BH第60頁/共86頁 中斷響應(yīng)條件 有中斷請(qǐng)求信號(hào)(TCON寄存器有置位) 系統(tǒng)處于開中斷狀態(tài)(IE寄存器有置位:EA=1,對(duì)應(yīng)控制位=1) 無同級(jí)或高優(yōu)先級(jí)中斷服務(wù)程序在執(zhí)行。 當(dāng)前指令已執(zhí)行到最后一個(gè)機(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)有同級(jí)或高級(jí)中斷服務(wù)。 執(zhí)行RETI指令或訪問IE、IP的指令后,不能立即響應(yīng)中斷。 中斷響應(yīng)時(shí)間(見教材p103) 正常中斷響應(yīng)時(shí)間至少為3-8個(gè)機(jī)器周期,如果有同級(jí)或高級(jí)中斷服務(wù),將延長中斷響應(yīng)時(shí)間。 中斷返回 中斷返回指令: RETI= RET指令 + 通知CPU中斷服務(wù)已結(jié)束。第62頁/共86頁中斷系統(tǒng)的應(yīng)用 中斷初始化 設(shè)置堆棧指針SPSP 定義中斷優(yōu)先級(jí)( (IPIP寄存器) ) 定義外中斷觸發(fā)方式( (TCONTCON寄存器) ) 開放中斷 (IEIE寄存器,包括EAEA、各用到的中斷) 安排好等待中
29、斷或中斷發(fā)生前主程序應(yīng)完成的操作內(nèi)容。 中斷服務(wù)主程序 中斷服務(wù)子程序內(nèi)容要求: 在中斷服務(wù)入口地址設(shè)置一條跳轉(zhuǎn)指令,轉(zhuǎn)移到中斷服務(wù)程序的實(shí)際入口處。 根據(jù)需要保護(hù)現(xiàn)場。 中斷源請(qǐng)求中斷服務(wù)要求的操作。 恢復(fù)現(xiàn)場。與保護(hù)現(xiàn)場相對(duì)應(yīng),注意先進(jìn)后出、后進(jìn)先出操作原則。 中斷返回,最后一條指令必須是RETIRETI。第63頁/共86頁六、MCS-51的定時(shí)器/計(jì)數(shù)器第64頁/共86頁l 80C51單片機(jī)內(nèi)部有兩個(gè)定時(shí)/計(jì)數(shù)器T0和T1,其核心是計(jì)數(shù)器,基本功能是加1。l 對(duì)外部事件脈沖(下降沿)計(jì)數(shù),是計(jì)數(shù)器;對(duì)片內(nèi)機(jī)周脈沖計(jì)數(shù),是定時(shí)器。l 計(jì)數(shù)器由二個(gè)8位計(jì)數(shù)器組成。l 定時(shí)時(shí)間和計(jì)數(shù)值可以編程
30、設(shè)定,其方法是在計(jì)數(shù)器內(nèi)設(shè)置一個(gè)初值,然后加1計(jì)滿后溢出。調(diào)整計(jì)數(shù)器初值,可調(diào)整從初值到計(jì)滿溢出的數(shù)值,即調(diào)整了定時(shí)時(shí)間和計(jì)數(shù)值。l 定時(shí)/計(jì)數(shù)器作為計(jì)數(shù)器時(shí),外部事件脈沖必須從規(guī)定的引腳Tx(P3.4、P3.5)輸入。且外部脈沖的最高頻率不能超過時(shí)鐘頻率的1/24。第65頁/共86頁K1K1K2K2可預(yù)置初值計(jì)數(shù)器可預(yù)置初值計(jì)數(shù)器中斷中斷請(qǐng)求請(qǐng)求功能功能選擇選擇啟動(dòng)啟動(dòng)控制控制內(nèi)部時(shí)鐘脈沖內(nèi)部時(shí)鐘脈沖(定時(shí))(定時(shí))外部輸入脈沖外部輸入脈沖(計(jì)數(shù))(計(jì)數(shù))溢出信號(hào)溢出信號(hào)計(jì)數(shù)脈沖計(jì)數(shù)脈沖計(jì)數(shù)初值計(jì)數(shù)初值TCONTMOD第66頁/共86頁 加法計(jì)數(shù)器是計(jì)滿溢出時(shí)才申請(qǐng)中斷, 所以在給計(jì)數(shù)器賦初
31、值時(shí), 不能直接輸入所需的計(jì)數(shù)值, 而應(yīng)輸入的是計(jì)數(shù)器計(jì)數(shù)的最大值與這一計(jì)數(shù)值的差值, 設(shè)最大值為 M, 計(jì)數(shù)值為 N, 初值為 X, 則 X的計(jì)算方法如下: 計(jì)數(shù)狀態(tài): X=MN 定時(shí)狀態(tài): X=M定時(shí)時(shí)間/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í)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖;,定時(shí)功能,計(jì)數(shù)內(nèi)部機(jī)器周期脈沖;n=1,計(jì)數(shù)功能,計(jì)數(shù)引腳,計(jì)數(shù)功能,計(jì)數(shù)引腳T0
32、(T1)輸入的負(fù)脈沖輸入的負(fù)脈沖功能描述功能描述方式方式M1 M0M1 M08 8位自動(dòng)重裝位自動(dòng)重裝2 210101616位位1 101011313位位0 00 00 0為兩個(gè)為兩個(gè)8 8位位3 31111n2)方式選擇位M1、M0:4 4種工作方式種工作方式:(:(13/16/813/16/8位)位)n=0,非門控方式,非門控方式(內(nèi)部啟動(dòng)內(nèi)部啟動(dòng)): TRx=1,啟動(dòng)定時(shí)器工作;,啟動(dòng)定時(shí)器工作; TRx=0,停止定時(shí)器工作。,停止定時(shí)器工作。n=1,門控方式,門控方式(外部啟動(dòng)外部啟動(dòng)):TRx=1且且引腳引腳INTx=1才啟動(dòng)。才啟動(dòng)。TMODTMOD字節(jié)地址89H,89H,不能位操
33、作, ,設(shè)置TMODTMOD須用字節(jié)操作指令。第68頁/共86頁 2.TCON 定時(shí)器控制/狀態(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,停止定時(shí)器工作,停止定時(shí)器工作n=1,啟動(dòng)定時(shí)器工作,啟動(dòng)定時(shí)器工作n定時(shí)器溢出使定時(shí)器溢出使TFx=1,引起,引起中斷請(qǐng)求,中斷請(qǐng)求,CPU響應(yīng)響應(yīng)Tx中斷中斷后,自動(dòng)清后,自動(dòng)清0 TFx。IT0/IT1=0(1),決定INT0/INT1低電平(負(fù)跳變)有效,當(dāng)INT0/INT1中斷請(qǐng)求有效,IE0/IE0置1。主機(jī)
34、在S5P2采樣標(biāo)志位。響應(yīng)中斷后硬件自動(dòng)復(fù)位IE0/IE1第69頁/共86頁定時(shí)器工作方式 方式0 13位。 THx 8位和TLx低5位組成13位加1計(jì)數(shù)器。TLx低5位計(jì)數(shù)滿時(shí)不向TLx第6位進(jìn)位,而是向THx進(jìn)位,13位計(jì)滿溢出,TFx置“1”。 計(jì)數(shù)外部脈沖個(gè)數(shù):18192(213) 定時(shí)時(shí)間(T=1s):1s 8.19msTCONIE第70頁/共86頁定時(shí)器工作方式 方式1 16位。 THx8位和TLx8位組成16位加1計(jì)數(shù)器 計(jì)數(shù)外部脈沖個(gè)數(shù):165536(216) 定時(shí)時(shí)間(T=1s):1s 65536T= 65.54msTCONIE第71頁/共86頁定時(shí)器工作方式 方式2 自動(dòng)恢
35、復(fù)初值8位定時(shí)/計(jì)數(shù)器。TLx為8位加1計(jì)數(shù)器,THx為8位初值暫存器,設(shè)置初值時(shí)同時(shí)送TLx 和THx 。 用于需要重復(fù)定時(shí)和計(jì)數(shù)的場合。一般用于串行通信波特率的產(chǎn)生。 最大計(jì)數(shù)值:256 (28) 最大定時(shí)時(shí)間(T=1s): 256sTCONIE去串行口第72頁/共86頁 方式3 3僅適用于T0T0,T1T1無方式3 3。 T0T0方式3 3 在方式3 3情況下, ,T0T0被拆成二個(gè)獨(dú)立的8 8位計(jì)數(shù)器TH0TH0、TL0TL0。TL0TL0可以為定時(shí)/ /計(jì)數(shù)器;TH0TH0只能作為8 8位定時(shí)器。 TL0TL0使用T0T0原有的控制寄存器資源:TF0,TR0,GATE,C/T,INT
36、0,:TF0,TR0,GATE,C/T,INT0,組成一個(gè)8 8位的定時(shí)/ /計(jì)數(shù)器; TH0TH0借用T1T1的中斷溢出標(biāo)志TF1,TF1,運(yùn)行控制開關(guān)TR1,TR1,只能對(duì)片內(nèi)機(jī)周脈沖計(jì)數(shù), ,組成另一個(gè)8 8位定時(shí)器( (不能用作計(jì)數(shù)器) )。 T0T0方式3 3情況下的T1T1 T1 T1由于其TF1TF1、TR1TR1被T0T0的TH0TH0占用,計(jì)數(shù)器溢出時(shí),只能將輸出信號(hào)送至串行口,即用作串行口波特率發(fā)生器。定時(shí)器工作方式 工作方式3第73頁/共86頁定時(shí)器工作方式 工作方式3第74頁/共86頁定時(shí)/計(jì)數(shù)器編程 初始化編程格式:MOV TMOD,# 方式字 ;選擇方式MOV TH
37、x,#XH ;裝入Tx時(shí)間常數(shù)MOV TLx,#XL(SETB EA) ;開Tx中斷(SETB ETx) SETB TRx ;啟動(dòng)Tx定時(shí)器 1. 按實(shí)際需要選擇定時(shí)/計(jì)數(shù)功能 2. 按時(shí)間或計(jì)數(shù)長度選擇方式 3. 計(jì)算時(shí)間常數(shù)第75頁/共86頁定時(shí)/計(jì)數(shù)器編程 溢出處理編程格式: 查詢方式:先查詢定時(shí)器溢出標(biāo)志,再進(jìn)行溢出處理。 ;定時(shí)器初始化WAIT:JBC TFx,PT ;檢測溢出標(biāo)志 SJMP WAITPT: MOV THx,#XH ;重裝時(shí)間常數(shù) MOVTLx,#XL ;溢出處理SJMPWAIT第76頁/共86頁定時(shí)/計(jì)數(shù)器編程 2)中斷方式:初始化后執(zhí)行其他任務(wù),中斷服務(wù)程序處理溢出。 ORG0000H LJMP MAIN ORG000BH(001BH);Tx中斷入口 LJMP PTSMAIN: ;初始化后執(zhí)行其他程序PTS: ;溢出中斷服務(wù)程序MOVTHx,#XH;重裝時(shí)間常數(shù)MOVT
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 網(wǎng)絡(luò)設(shè)備維修實(shí)操能力測試考核試卷
- 2024年食品分離機(jī)械投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 股權(quán)表決權(quán)委托與旅游文化產(chǎn)業(yè)投資合作協(xié)議
- 民辦學(xué)校教師聘用及權(quán)益保障協(xié)議
- 智能化設(shè)施農(nóng)業(yè)大棚設(shè)計(jì)與承包合同
- 抖音火花創(chuàng)作者退出及平臺(tái)合作解除及違約責(zé)任協(xié)議
- 高品質(zhì)農(nóng)產(chǎn)品批發(fā)市場入駐協(xié)議
- 網(wǎng)絡(luò)安全風(fēng)險(xiǎn)評(píng)估與信息安全風(fēng)險(xiǎn)評(píng)估與合規(guī)性審查合同
- 獨(dú)家婚前財(cái)產(chǎn)公證與婚前財(cái)產(chǎn)規(guī)劃合同
- 虛擬偶像藝人經(jīng)紀(jì)管理及品牌合作合同
- 夜場水煙合作協(xié)議書
- 河南省青桐鳴大聯(lián)考普通高中2024-2025學(xué)年高三考前適應(yīng)性考試地理試題及答案
- 管道勞務(wù)分包協(xié)議書
- 《溺水急救方法》課件
- 辦公樓安全培訓(xùn)
- 律師會(huì)見筆錄范本
- 浙教版科學(xué)電學(xué)基礎(chǔ)知識(shí)總結(jié)
- T/CEC 164-2018 火力發(fā)電廠智能化技術(shù)導(dǎo)則_(高清-最新版)
- 抹機(jī)水MSDS 安全資料表
- 醫(yī)院感染管理組織框架
- 特殊平行四邊形課件
評(píng)論
0/150
提交評(píng)論