單片機(jī) 考試 知識(shí)點(diǎn) 總結(jié) 太原理工大學(xué) 葬儀落整理_第1頁(yè)
單片機(jī) 考試 知識(shí)點(diǎn) 總結(jié) 太原理工大學(xué) 葬儀落整理_第2頁(yè)
單片機(jī) 考試 知識(shí)點(diǎn) 總結(jié) 太原理工大學(xué) 葬儀落整理_第3頁(yè)
單片機(jī) 考試 知識(shí)點(diǎn) 總結(jié) 太原理工大學(xué) 葬儀落整理_第4頁(yè)
單片機(jī) 考試 知識(shí)點(diǎn) 總結(jié) 太原理工大學(xué) 葬儀落整理_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、填空題:1、 當(dāng)使用8051單片機(jī)時(shí),需要擴(kuò)展外部程序存儲(chǔ)器,此時(shí)EA應(yīng)接低電平。2、8051上電復(fù)位后,從地址0000H開(kāi)始執(zhí)行程序,外部中斷1的中斷入口地址為0013H.3、8051最多有64KB的程序存儲(chǔ)器和64KB的數(shù)據(jù)存儲(chǔ)器。4、 P0口通常用作分時(shí)復(fù)用為地址總線(低8位)及數(shù)據(jù)總線或外接上拉電阻用作普通I/O口。5、 P2口的功能為用作地址總線和作為普通I/O口使用。6、 若由程序設(shè)定RS1、RS0=01,則工作寄存器R0的直接地址為08H。7、 若由程序設(shè)定RS1、RS0=00,則工作寄存器R0的直接地址為00H。8、 若累加器A中的數(shù)據(jù)為01110010B,則PSW中的P=

2、0(偶數(shù)個(gè)1為0,奇數(shù)為1)9、 8051單片機(jī)共有5個(gè)中斷源,分別是INT0外部中斷0、INT1外部中斷1、T0定時(shí)器/計(jì)數(shù)器中斷0中斷、T1定時(shí)器計(jì)數(shù)器1中斷、串行口中斷。10、 ADC0809是8通路8位逐次逼近式模/數(shù)轉(zhuǎn)換器。11、 計(jì)算機(jī)中按功能把總線分為數(shù)據(jù)總線、地址總線和控制總線。12、 MOV A,#0F5H中,#0F5H的尋址方式稱(chēng)之為立即尋址。MOV類(lèi)指令稱(chēng)之為一般傳輸指令。13、8051的一個(gè)機(jī)器周期等于12個(gè)晶體震蕩周期;通常8051單片機(jī)的ALE引腳以1/6倍的晶振頻率輸出脈沖。14、8051單片機(jī)復(fù)位后,堆棧指針SP指向第07H號(hào)內(nèi)部RAM;8051的堆棧是向上生長(zhǎng)

3、的。15、十進(jìn)制調(diào)整指令DA A,專(zhuān)用于BCD碼的加減運(yùn)算。16、單片機(jī)的中斷觸發(fā)方式有低電平觸發(fā)和下降沿觸發(fā)兩種。大多數(shù)情況下,單片機(jī)控制系統(tǒng)采用下降沿觸發(fā)方式觸發(fā)中斷。17、若執(zhí)行加法運(yùn)算后累加器(A)中的數(shù)據(jù)為01110010B,則PSW中的P=018、8051單片機(jī)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器編址方式采用的是哈佛結(jié)構(gòu),即數(shù)據(jù)存儲(chǔ)器和程序存儲(chǔ)器分開(kāi)的編址方式。2、 單項(xiàng)選擇題1、8051單片機(jī)執(zhí)行MOVX寫(xiě)指令時(shí),相關(guān)的信號(hào)狀態(tài)是 PSEN無(wú)效為高電平,WR有效為低電平2、 若PSW.4=1,PSW.3=1,現(xiàn)在需要保存R1的內(nèi)容,可執(zhí)行PUSH 19H指令3、 下列指令不是變址尋址方式的是

4、MOVX A,DPTR4、 在8051片外擴(kuò)展一片EEPROM 28C64需要13根地址線(片選除外),8根數(shù)據(jù)線。5、 8051定時(shí)器/計(jì)數(shù)器工作方式2是自動(dòng)重裝8位計(jì)數(shù)器6、 單片機(jī)程序存儲(chǔ)器的尋址范圍是由程序計(jì)數(shù)器PC的位數(shù)決定的,MCS-51的PC為15位,因此其尋址范圍是64KB。(216B=64KB)7、 若單片機(jī)的振蕩頻率為12MHz,設(shè)定時(shí)器工作在方式1需要定時(shí)1ms,則定時(shí)器初值應(yīng)為216-1000.(計(jì)算過(guò)程:機(jī)器周期=12/12MHz=1s 次數(shù)=1ms/1s=1000次 方式一為16位=216)8、 訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令是MOVX,訪問(wèn)程序存儲(chǔ)器的指令是MOVC。9

5、、 匯編語(yǔ)言中,最多包含4個(gè)區(qū)段,其中操作碼區(qū)段是必不可少的。10、 MCS-51單片機(jī)的位尋址區(qū)域?yàn)?0H-2FH。11、 MCS-51單片機(jī)復(fù)位后,PC值被初始化為0000H。12、 MCS-51單片機(jī)在同一優(yōu)先級(jí)的中斷源同時(shí)申請(qǐng)中斷時(shí),CPU首先響應(yīng)外部中斷0.3、 讀程序1、 執(zhí)行下列程序段中第一條指令后(1) (P1.7)= 0 (P1.3)= 0 執(zhí)行第二條指令后,(2) (P1.5)=1 (P1.4)=0 ANL P1,#42H ORL P1,#0ECH2、 下列程序段執(zhí)行后,(R0)=47H,(48H)= 0FFH,(47H)=3FH MOV R0,#48H MOV 48H,#

6、0 MOV 47H,#40H DEC R0 DEC R0 DEC R03、 已知(SP)=29H,(DPTR)=1234H,在執(zhí)行下列指令后,(SP)= 2BH,內(nèi)部RAM(2AH)=34H,(2BH)=12H PUSH DPL PUSH DPH 4、 簡(jiǎn)答題1、 簡(jiǎn)述MCS-51單片機(jī)中,振蕩周期、機(jī)器周期和指令周期的關(guān)系。答:(1)振蕩周期:振蕩周期為單片機(jī)提供定時(shí)信號(hào)的振蕩源的周期或外部輸入時(shí)鐘的周期。 (2)時(shí)鐘周期:又稱(chēng)狀態(tài)周期或狀態(tài)時(shí)間S,是振蕩周期的兩倍,分為P1、P2節(jié)拍,通常P1完成算術(shù)邏輯操作,在P2節(jié)拍完成內(nèi)部寄存器間的數(shù)據(jù)傳送操作。 (3)機(jī)器周期:一個(gè)機(jī)器周期由6個(gè)狀

7、態(tài)(時(shí)鐘周期)(或12個(gè)振蕩周期)組成。 (4)指令周期:執(zhí)行一條指令的全部時(shí)間,是機(jī)器周期的倍數(shù),MCS-51單片機(jī)中指令周期通常由1、2、4個(gè)機(jī)器周期組成。2、 DAC0832作為數(shù)模轉(zhuǎn)換器,其連接方式有幾種?答:3種。單緩沖方式、雙緩沖方式和直通方式。 (1)直通方式常用于不帶微機(jī)的控制系統(tǒng)。 (2)單緩沖方式是值DAC0832內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受8051控制的鎖存方式。 (3)對(duì)于多路D-A轉(zhuǎn)換,要求同步進(jìn)行D-A轉(zhuǎn)換輸出時(shí),必須采用雙緩沖同步方式。3、8051單片機(jī)作定時(shí)和計(jì)數(shù)時(shí),其計(jì)數(shù)脈沖分別由誰(shuí)提供?8051單片機(jī)定時(shí)計(jì)數(shù)器共有幾種工作模式?分別是

8、什么?答:當(dāng)用作定時(shí)器時(shí),是在內(nèi)部對(duì)CPU的時(shí)鐘脈沖計(jì)數(shù)。當(dāng)用作計(jì)數(shù)器時(shí),是對(duì)相應(yīng)輸入引腳輸入的脈沖信號(hào)計(jì)數(shù)。工作模式:(1) 工作模式0:使用低字節(jié)的5位和高字節(jié)的8位組成13位的計(jì)數(shù)器,低5位計(jì)數(shù)溢出后向高位進(jìn)位計(jì)數(shù),高8位計(jì)數(shù)器計(jì)滿后置位溢出標(biāo)志位。(2) 工作模式1:使用低字節(jié)和高字節(jié)的16位組成16位計(jì)數(shù)器。與0模式的區(qū)別僅在計(jì)數(shù)器長(zhǎng)度,定時(shí)長(zhǎng)度和計(jì)數(shù)容量不同。(3) 工作模式2:使用低字節(jié)的8位做計(jì)數(shù)器、高字節(jié)的8位作為預(yù)置常數(shù)的寄存器。(4) 工作模式3:只適用于定時(shí)器/計(jì)數(shù)器T0,T0分別為兩個(gè)獨(dú)立的8位計(jì)數(shù)器TH0和TL0.4、 MCS-51單片機(jī)系統(tǒng)共有幾種尋址方式?分別是

9、什么?答:有7種尋址方式:(1)寄存器尋址(2)直接尋址(3)立即尋址(4)寄存器間接尋址(5)相對(duì)尋址 (6)位尋址 (7)基址加變址寄存器間接尋址5、 試說(shuō)明特殊功能寄存器TCON中TF1、TR1、IE1、IT1位的含義是什么?這些位什么情況下被置位或清除?答:TF1 T1計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器T1計(jì)數(shù)計(jì)滿溢出時(shí),該位由硬件置1,轉(zhuǎn)到中斷服務(wù)程序時(shí),再由硬件自動(dòng)清0.TR1 T1計(jì)數(shù)運(yùn)行控制位,由軟件置1或清0.為1時(shí)允許計(jì)數(shù)器T1計(jì)數(shù),為0時(shí)禁止計(jì)數(shù)器T1計(jì)數(shù)。TF0 T0計(jì)數(shù)溢出標(biāo)志位,當(dāng)計(jì)數(shù)器T0計(jì)數(shù)計(jì)滿溢出時(shí),由硬件置1,申請(qǐng)中斷。進(jìn)入中斷服務(wù)程序后由硬件自動(dòng)清0.TR0 T0計(jì)

10、數(shù)運(yùn)行控制位,由軟件置1或清0,為1時(shí)允許計(jì)數(shù)器T0計(jì)數(shù),為0時(shí)禁止計(jì)數(shù)器T0計(jì)數(shù)。IE0 外部中斷0(INT0)請(qǐng)求標(biāo)志位,當(dāng)CPU采樣到INT0引腳出現(xiàn)中斷請(qǐng)求后,此位由硬件置1.在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)程序時(shí),再由硬件自動(dòng)清0.IE1 外中斷1(INT0)請(qǐng)求標(biāo)志位,功能同上。IT0 外中斷0請(qǐng)求信號(hào)方式控制位,當(dāng)IT0=1,后沿負(fù)跳變有效;IT0=0,低電平有效。此位可由軟件置1或清0.IT1 外中斷1請(qǐng)求信號(hào)方式控制位,IT1=1,后沿負(fù)跳變有效;IT1=0,低電平有效。5、 應(yīng)用題1、將存于外部RAM 8000H開(kāi)始的50H個(gè)數(shù)據(jù)傳送到內(nèi)部0010H開(kāi)始的區(qū)域,請(qǐng)編程實(shí)現(xiàn)。 O

11、RG 0100H MOV DPR,#8000H MOV R0,#10H MOV R2,#50H MOVX A,DPTR MOV R0,A INC DPTR INC R0 END知識(shí)點(diǎn): 1、各P口功能:P0口:8位雙向三態(tài)I/O口,或分時(shí)復(fù)用為地址總線(低8位)及數(shù)據(jù)總線,或作為普通I/O口使用。P1口:8位準(zhǔn)雙向I/O口,常用作普通I/O口使用,個(gè)別引腳有第二功能P2口:8位準(zhǔn)雙向I/O口,或用作地址總線(高8位),或作為普通I/O口使用P3口:8位準(zhǔn)雙向I/O口,或作為普通I/O口使用;或作為第二功能口使用。P3.0串行輸入端口(RXD) P3.1串行輸出端口(TXD)P3.2外部中斷0(

12、INT0)P3.3外部中斷1(INT1) P3.4 T0 P3.5 T1P3.6外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通(WR) P3.7外部數(shù)據(jù)存儲(chǔ)器讀選通(RD) 2、引腳EA 當(dāng)EA=1時(shí),訪問(wèn)內(nèi)部程序存儲(chǔ)器,EA=0時(shí),訪問(wèn)外部程序存儲(chǔ)器引腳PSEN外部程序存儲(chǔ)器的讀選通信號(hào),讀取時(shí)有效低電平引腳PROG/ALE 當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問(wèn)外部存儲(chǔ)器,ALE端扔以不變的頻率周期性地出現(xiàn)正脈沖信號(hào),次頻率為振蕩器頻率的1/6,可用作對(duì)外輸出的時(shí)鐘,或用于定時(shí),每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的時(shí)候,將跳過(guò)一個(gè)ALE脈沖。3、 PSW中各個(gè)位的功能:PSW.7 (

13、CY)進(jìn)位標(biāo)志位PSW.6 (AC)輔助進(jìn)位標(biāo)志位PSW.5 (F0)標(biāo)志位PSW.4 PSW.3 (RS1RS0)四組工作寄存器區(qū)選擇控制位1和位0 00 工作0區(qū)(00H) 01 1區(qū)(08H) 10 2區(qū)(10H) 11 3區(qū)(18H)PSW.2 (OV)溢出標(biāo)志位PSW.1 保留位,未用4、8051單片機(jī)的時(shí)序定時(shí)單位:節(jié)拍、狀態(tài)、機(jī)器周期和指令周期5、 復(fù)位:RST引腳處至少保持24個(gè)振蕩周期的高電平就可復(fù)位寄存器內(nèi)容寄存器內(nèi)容PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P

14、30FFHTH200HIP(8051)XXX00000BTL200HIP(8052)XX000000BRLDH00HIE(8051)0XX00000BRLDL00HIE(8052)0X000000BSCON00HTMOD00HSBUF不定PCON(HMOS)0XXXXXXXBPCON(CHMOS)0XXX0000B6、 尋址方式(1)寄存器尋址方式是對(duì)選中寄存器中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在寄存器之中的情況。MOV R1,B ; 將寄存器B中的數(shù)值送入到寄存器R1中INC R2 ; 將寄存器R2中的數(shù)值加1MOV A,R7 ;將寄存器R7中的數(shù)值送入累加 器A寄存器尋址范圍:寄存器區(qū)中8個(gè)

15、工作寄存器R0R7中的一個(gè)(由指令操作碼的低三位數(shù)值確定)、特殊寄存器A, B, DPTR, Cy(進(jìn)位位,也是位處理機(jī)的累加器)也可作為寄存器尋址的對(duì)象。(2)直接尋址方式是對(duì)直接指定地址的存儲(chǔ)器單元中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在可以直接尋址的存儲(chǔ)單元之中的情況。MOV 40H,B ;將寄存器B中的數(shù)值送入到內(nèi)部RAM的40H單元中INC 30H ;將內(nèi)部RAM的30H單元中的數(shù)值加1 MOV TL0 , R7 ;將寄存器R7中的數(shù)值送入到特殊功能寄存器TL0中直接尋址范圍: 片內(nèi)RAM,包括SFR,且SFR只能直接尋址(3)立即尋址是對(duì)指令操作碼后的數(shù)據(jù)進(jìn)行處理,適用于在程序中直接處理

16、的數(shù)據(jù)的情況。 MOV 38H,05H ;將數(shù)值05H送入到內(nèi)部RAM的38H單元中 ADD A,30H ;將A寄存器中的數(shù)值加上30H MOV TH0,0F2H ;將定時(shí)器0高8位設(shè)置為數(shù)值0F2H(4) 位尋址MOV C,40H ;把位40H的值送進(jìn)位位C 位尋址的尋址范圍包括:內(nèi)部RAM中的位尋址區(qū) 單元地址為20H-2FH,共16個(gè)單元,128個(gè)位,位地址是00H-7FH。 特殊功能寄存器中的可尋址位 可供位尋址的特殊功能寄存器共有11個(gè),實(shí)際有尋址位83個(gè)。 注意: 位尋址只能直接尋址。(5)寄存器間接尋址是將要處理數(shù)據(jù)的地址放在寄存器中,即用寄存器中的數(shù)據(jù)作為存儲(chǔ)單元的地址數(shù)值。

17、MOV R1,#05H ;將數(shù)值05H送入到以R1內(nèi)數(shù)值為地址的內(nèi)部RAM單元中 ADD A,R1; 將累加器A中的數(shù)值加上以R1內(nèi)數(shù)值為地址的內(nèi)部RAM單元中的 數(shù)據(jù)結(jié)果存放于A MOVX A,DPTR ;將以DPTR內(nèi)數(shù)值為地址的外部數(shù)據(jù)存儲(chǔ)器的內(nèi)容送給累加器A 注意: 寄存器間接尋址范圍包括內(nèi)部RAM和外部RAM,且外部RAM只能寄存器間接尋址,訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器的指令助記符與訪問(wèn)內(nèi)部RAM的助記符不同。(6) 相對(duì)尋址方式 目的地址=轉(zhuǎn)移指令所在的地址+轉(zhuǎn)移指令字節(jié)數(shù)+relJC rel JNC rel JB bit, rel JNB bit, rel JBC bit, rel SJM

18、P rel (7) 基址加變址寄存器間接尋址專(zhuān)用16位寄存器(DPTR或PC)存放基地址,寄存器A做變址寄存器,僅兩條指令:MOVC A,APC MOVC A,ADPTR 只能讀取程序存儲(chǔ)器。 7、指令(1)一般傳輸指令 MOV A, Rn(2)累加器傳輸指令XCH A, Rn (n為0-7之一,將工作寄存器Rn的內(nèi)容和A的內(nèi)容交換)SWAP A;A的高4位和低4位互換XCHD A,Ri ;Ri為R0或R1,將Ri所指單元的低4位與A的低4位互換,高4位不變。(3)查表指令MOVC A,A+DPTR;將DPTR中的16位地址和A中內(nèi)容相加得新地址,把此地址內(nèi)容送AMOVC A ,A+PC;將P

19、C值和A的內(nèi)容相加所得值作為新地址,將此地址單元內(nèi)容送A(4) 堆棧指令PUSH direct ;先將SP加1,再將direct所指單元內(nèi)容推入SP+1所指的堆棧單元POP direct;先將SP單元的內(nèi)容彈出到direct單元,再將SP減1(5) 算術(shù)運(yùn)算指令A(yù)DD A, Rn ;將A的內(nèi)容和Rn的內(nèi)容相加,結(jié)果在A中ADDC A, Rn;(A)(A)+(Rn)+CY,Rn為R0R7之一(帶進(jìn)位)SUBB A, Rn ;A中內(nèi)容減去進(jìn)位位CY ,再減去Rn中內(nèi)容, 結(jié)果在A中(帶借位)MUL 乘法DIV 除法ANL (邏輯與,例如,ANL P1, A)ORL (邏輯或,例如,ORL P2,

20、A)XRL (邏輯異或,例如,XRL P3, A)JBC (若目標(biāo)位置位則跳轉(zhuǎn)并將目標(biāo)位清零,例如,JBC P1.1, LABEL) CPL (求補(bǔ), 例如, CPL P3.0)INC (增量指令, 例如, INC P2)DEC (減量指令, 例如, DEC P2)DJNZ (目標(biāo)寄存器減1后不為零則跳轉(zhuǎn), 例如, DJNZ P3, LABEL)MOV PX.Y, C (將進(jìn)位位送入端口位)DA A十進(jìn)制調(diào)整指令,對(duì)A中的BCD碼加法結(jié)果進(jìn)調(diào)整 CLR PX.Y (清除端口位)SETB PX.Y (置位端口位)SETB bit ;某位置1CLR A ;A清0,不影響標(biāo)志位CPL A ;A中內(nèi)容

21、逐位取反 RR A ;A中內(nèi)容循環(huán)右移一位, ; 最低位D0移到D7RL A ;A中內(nèi)容循環(huán)左移一位,; 即D7移到D0,D0移到D1等RRC A ; CY進(jìn)入A的最高位, A的最低位進(jìn)入CY,D2進(jìn)入D1等RLC A ; A的最高位進(jìn)入CY,原CY進(jìn)入A的最低位D0,D0進(jìn)入D1等8、中斷分  類(lèi)中斷源名稱(chēng)中斷申請(qǐng)標(biāo)志觸發(fā)方式中斷入口地址外部中斷外部中斷0IE0(TCON.1)INT0(P3.2)引腳上的低電平/下降沿引起的中斷0003H內(nèi)部中斷定時(shí)器/計(jì)數(shù)器T0中斷IF0(TCON.5)T0定時(shí)器/計(jì)數(shù)器溢出后引起的中斷000BH外部中斷外部中斷1IE1(TCON.3)

22、INT1(P3.3)引腳上的低電平/下降沿引起的中斷0013H內(nèi)部中斷定時(shí)器/計(jì)數(shù)器T1中斷IF1(TCON.7)T1定時(shí)器/計(jì)數(shù)器溢出后引起的中斷001BH內(nèi)部中斷串口中斷RI (SCON.0)TI ( SCON.1)串行口接收完成或發(fā)送完一幀數(shù)據(jù)后引起的中斷0023H中斷的功能 (1)可實(shí)現(xiàn)高速CPU與慢速外設(shè)之間的配合 (2)可實(shí)現(xiàn)實(shí)時(shí)處理 (3)實(shí)現(xiàn)故障的緊急處理 (4)便于人機(jī)聯(lián)系 中斷的處理過(guò)程主要包括:中斷請(qǐng)求、中斷響應(yīng)、中斷服務(wù)、中斷返回4個(gè)過(guò)程。EA中斷允許的總控制位。當(dāng)EA=0時(shí),中斷總禁止,相當(dāng)于關(guān)中斷,即禁止所有中斷;當(dāng)EA=1時(shí),中斷總允

23、許,相當(dāng)于開(kāi)中斷。此時(shí),每個(gè)中斷源是否開(kāi)放由各中斷控制位決定。所以只有當(dāng)EA=1時(shí),各中斷控制位才有意義。ES串行口中斷允許控制位,當(dāng)ES=0,禁止該中斷;ES=1,允許串行中斷。ET1定時(shí)器1中斷允許控制位,當(dāng)ET1=0,禁止該中斷;ET1=1,允許定時(shí)器1中斷EX1外部中斷1允許控制位,當(dāng)EX1=0,禁止外部 中斷1;當(dāng)EX1=1,允許外部中斷1。ET0定時(shí)器0中斷允許控制位,當(dāng)ET0=0,禁止該中斷;ET0=1,允許定時(shí)器0中斷。EX0外部中斷0允許控制位,當(dāng)EX0=0,禁止外部中斷0;當(dāng)EX0=1,允許外部中斷0。定時(shí)器控制寄存器(TCON) 該寄存器的字節(jié)地址為88H,位地址為88H

24、-8FH,也可以用TCON.0-TCON.7表示在開(kāi)放中斷的條件下,用下述四個(gè)原則使用中斷優(yōu)先級(jí)結(jié)構(gòu):(1)非中斷服務(wù)子程序可以被任何一個(gè)中斷申請(qǐng)所 中斷,而與優(yōu)先級(jí)結(jié)構(gòu)無(wú)關(guān)。 (2)如果若干中斷同時(shí)提出申請(qǐng),則CPU將選擇優(yōu)先級(jí)、優(yōu)先權(quán)最高者予以響應(yīng)。 (3)低優(yōu)先級(jí)可以被高優(yōu)先級(jí)的中斷申請(qǐng)所中斷。換句話說(shuō),同級(jí)不能形成嵌套、高優(yōu)先級(jí)不能被低優(yōu)先級(jí)嵌套,當(dāng)禁止嵌套時(shí),必須執(zhí)行完當(dāng)前中斷服務(wù)子程序之后才考慮是否響應(yīng)另一個(gè)中斷申請(qǐng)。 (4)同一個(gè)優(yōu)先級(jí)里,優(yōu)先權(quán)的順序是由硬件決定而不能改變的。但是用戶可以通過(guò)改變優(yōu)先級(jí)的方法改變中斷響應(yīng)的順序。例如,8051單片機(jī)中串行口的優(yōu)先權(quán)最低,但是可以在

25、中斷優(yōu)先級(jí)寄存器IP中寫(xiě)入10H,則只有串行口是最高優(yōu)先級(jí)。若同時(shí)有若干中斷提出申請(qǐng),則一定會(huì)優(yōu)先響應(yīng)串行口的申請(qǐng)。串行口控制寄存器(SCON) SCON寄存器的字節(jié)地址為98H,位地址為98H9FH,其中的低兩位RI和TI鎖存串行口的接收中斷和發(fā)送中斷的請(qǐng)求標(biāo)志位中斷響應(yīng)的條件:中斷源有中斷請(qǐng)求;此中斷源的中斷允許位為1;CPU開(kāi)中斷(即EA=1)。9、 定時(shí)器概念:在 8051單片機(jī)中,定時(shí)器/計(jì)數(shù)器就是一個(gè)固定長(zhǎng)度的二進(jìn)制計(jì)數(shù)器,當(dāng)對(duì)輸入脈沖信號(hào)的數(shù)量進(jìn)行計(jì)數(shù)時(shí),我們稱(chēng)其為計(jì)數(shù)器,當(dāng)對(duì)單片機(jī)的系統(tǒng)時(shí)鐘或其它標(biāo)準(zhǔn)時(shí)鐘進(jìn)行計(jì)數(shù)時(shí),由于這類(lèi)時(shí)鐘信號(hào)本身就表示時(shí)間,計(jì)數(shù)值對(duì)應(yīng)著時(shí)間值,所以從這個(gè)

26、角度上將其稱(chēng)為定時(shí)器。組成:在8051單片機(jī)中,內(nèi)部定時(shí)器都是可編程控制的定時(shí)器/計(jì)數(shù)器,至少由兩部分組成:脈沖計(jì)數(shù)電路和控制字寄存器及譯碼控制電路。10、 串行接口的四種工作方式(1) 模式0(MODE0): 同步移位寄存器方式。8位數(shù)據(jù)(先為L(zhǎng)SB)從引腳RXD接收/移出,引腳TXD輸出移位時(shí)鐘,波特率固定為晶振頻率的1/12。模式0通常用來(lái)擴(kuò)展輸入輸出口。(2) 模式1(MODE1):10位數(shù)據(jù)被發(fā)送(從引腳TXD)或接收(從引腳RXD):1個(gè)啟動(dòng)位,8個(gè)數(shù)據(jù)位,1個(gè)停止位。在接收時(shí),停止位被送入特殊功能寄存器的SCON的RB8位。波特率是可變的。(3) 模式2(MODE2):11位數(shù)據(jù)

27、被發(fā)送(從引腳TXD)或接收(從引腳RXD):1個(gè)啟動(dòng)位,8個(gè)數(shù)據(jù)位,可編程的第9個(gè)數(shù)據(jù)位,1個(gè)停止位。發(fā)送時(shí),第9位(SCON 的TB8位)可被賦予0或1。例如,可將奇偶校驗(yàn)位送至TB8位。在接收時(shí),停止位被送入特殊功能寄存器SCON的RB8位。模式2的波特率可為1/32或1/64晶振頻率。(4) 模式3(MODE3):11位數(shù)據(jù)被發(fā)送(從引腳TXD)或接收(從引腳RXD):1個(gè)啟動(dòng)位,8個(gè)數(shù)據(jù)位,可編程的第9個(gè)數(shù)據(jù)位,1個(gè)停止位。發(fā)送時(shí),第9位(SCON 的TB8位)可被賦予0或1。 實(shí)際上,除了波特率之外,模式2和模式3是相同的。模式3的波特率是可變的。8255A的工作方式0,A口作為輸

28、入,B、C口作為輸出取端口A:0FF7CH B:0FF7DH C:0FF7EH 控制寄存器地址:0FF7FH根據(jù)題意寫(xiě)入控制字為10010000=90H.MOV A,#90H(根據(jù)題意計(jì)算而變化)MOV DPTR,#0FF7FH 控制寄存器地址DPTRMOVX DPTR,A 方式控制字控制寄存器MOV DPTR,#0FF7CH A口地址DPTRMOVX A,DPTR 從A口讀數(shù)據(jù)MOV DPTR,#0FF7DH B口地址DPTRMOV A,#DATA1 要輸入的數(shù)據(jù)DATA1AMOVX DPTR,A 將DATA1送B口輸出MOV DPTR,#0FF7EH C口地址DPTRMOV A,#DATA

29、2 DATA2AMOVX DPTR,A 將DATA2送C口輸出DAC0832啟動(dòng)轉(zhuǎn)換程序ORG 0000HMOV R1,#data1MOV A,R1MOVX DPTR,AMOV DPTR,#0BFFFHMOV R1,#data2MOVX DPTR,AMOV DPTR,#7FFFHMOVX DPTR,A例:用定時(shí)器0,方式2計(jì)數(shù),要求每計(jì)滿100次,將P1.0 端取反。 分析:TMOD=00000110B 計(jì)數(shù)初值:TH0=TL0=28-100=156=9CH 程序如下: ORG1000H START:MOVTMOD,#06H MOVTL0,#9CH MOVTH0,#9CH SETBTR0 LO

30、OP:JBC TF0,DONE ; 判計(jì)滿100次否?若計(jì)滿則清零TF0且轉(zhuǎn)DONE SJMPLOOP DONE:CPL P1.0 SJMPLOOP例7.3 已知單片機(jī)晶振頻率為12MHz,要求使用T0定時(shí)0.5ms,使單片機(jī)P1.0引腳上連續(xù)輸出周期為1ms的方波。分析:首先算出機(jī)器周期=12/(12MHz)=1us,所以0.5ms需要T0計(jì)數(shù)M次M=0.5ms/1us=500 256<500<8192,所以選擇方式0 初值N=213-500=7692=1E0CH因?yàn)檫x用方式0,低8位TL0只使用低5位,其余的均計(jì)入高8位TH0的初值。 TL0=0CH, TH0=0F0HORG0

31、000HRESET: AJMPSTART ORG000BH AJMPT0INT ORG0100HSTART: MOVSP,#60H MOVTH0,#0F0H MOVTL0,#0CH SETBTR0 SETBET0 SETB EAMAIN: AJMPMAINT0中斷服務(wù)程序T0INT: CPL P1.0 MOV TL0,#0CH MOV TH0,#0F0H RETI3、假設(shè)單片機(jī)晶振fosc=6MHz,請(qǐng)利用T0和P1.0輸出矩形波,矩形波的高電平寬50us,低電平寬300us。(P.145 第13) 晶振fosc=6MHz機(jī)器周期為2us 定時(shí)器T0使之工作于模式3 定時(shí)50us的初值為:25

32、6-25=231 (E7H) 定時(shí)300US的初值為:256-150=106 (6AH)方法1: MOV TMOD , #00000011B ;T0工作于模式3 MOV TCON ,#0 ;清TR0 , TF0 MOV TL0 , #0E7H ;高電平初值。 256-25 SETB P1.0 ;P1.0口輸出高電平 SETB TR0 ;啟動(dòng)定時(shí)器T0LOOP1: JNB TF0 , LOOP1 ;檢測(cè)T0是否溢出 CLR TF0 ;清除溢出標(biāo)志 CLR TR0 ;關(guān)閉定時(shí)器 MOV TL0 , #6AH ;寫(xiě)低電平初值 256-150 SETB TR0 ;啟動(dòng)定時(shí)器T0 CLR P1.0 ;使

33、P1.0輸出低電平LOOP2: JNB TF0 , LOOP2 ;檢測(cè)T0是否溢出 CLR TF0 ;清除溢出標(biāo)志 CLR TR0 ;關(guān)閉定時(shí)器 MOV TL0 , #0E7H ;寫(xiě)高電平初值 256-25 SETB TR0 ;啟動(dòng)定時(shí)器T0 SETB P1.0 ;使P1.0輸出高電平 SJMP LOOP1 ;重復(fù)6、設(shè)fosc=12MHz,編寫(xiě)程序,其功能為:對(duì)T0進(jìn)行初始化,使之工作于模式2,產(chǎn)生200us的定時(shí),并用查詢T0溢出標(biāo)志TF0的方法,控制P1.0引腳輸出周期為2ms的方波。(P.146 第18題)MOV TMOD , #02H ; T0工作于模式2,定時(shí)方式 MOV TCON

34、 , #0 ; 清除TF0、TR0。 MOV TH0 , #56 ; (256-200)=56 MOV TL0 , #56 ; MOV R7 , #5 ; 200us與1ms是5倍的關(guān)系 SETB TR0 ; 啟動(dòng)定時(shí)器T0 SETB P1.0 ; 將P1.0置高電平LOOP: JNB TF0 , LOOP ; 檢測(cè)T0的溢出標(biāo)志 CLR TF0 ; 清除T0的溢出標(biāo)志 DJNZ R7 , LOOP ; 是否到5次 MOV R7 , #5 ; 重新寫(xiě)入計(jì)數(shù)次數(shù) CPL P1.0 ; 取反P1.0口 SJMP LOOP ; 循環(huán)往復(fù) 9、當(dāng)系統(tǒng)選用6MHz晶體振蕩器時(shí),由T0工作在方式為,利用中

35、斷響應(yīng),產(chǎn)生周期為2ms(脈沖寬度為1ms)的方波序列,并由P1.0輸出。(1)寫(xiě)出T0定時(shí)器的方式控制字,T0定時(shí)器初值計(jì)算。(2)試編寫(xiě)程序完成此功能。思路: 方波的周期為2ms,每隔1ms對(duì)P1.0取反,可完成題目要求。系統(tǒng)晶體振蕩器的頻率為6MHz,機(jī)器周期為2us,定時(shí)器T0在方式2時(shí),最大定時(shí)256us×2=512us,達(dá)不到1ms的要求,故將定時(shí)器T0的初始值選為:256-250=6(定時(shí)0.5ms),兩次后取反P1.0 口。(1)T0的初始值為: X=256-250=6 T0的控制字為: MOV TMOD , #20H MOV TCON , #0(2)參考程序如下:

36、ORG 0000H SJMP Main ORG 000BH AJMP T0 ORG 0030HMain: MOV TMOD , #20H ;定時(shí)器T1工作于方式2 CLR TR0 ;關(guān)閉定時(shí)器T1 CLR TF0 ;清除定時(shí)器T1溢出標(biāo)志 MOV IE , #02H ;允許定時(shí)器T1中斷 MOV IP , #0 ;不設(shè)置悠閑級(jí)別 MOV TH0 , #6 ;定時(shí)器T1初值 MOV TL0 , #6 ;(256-250=6) MOV R7 , #2 ;定時(shí)0.5ms與1ms的2倍的關(guān)系 SETB TR0 ;啟動(dòng)定時(shí)器T1 SETB EA ;開(kāi)中斷 SJMP $ T0: DJNZ R7 , NEX

37、T ;兩次是否到?未到則中斷返回,到則繼續(xù) CPL P1.0 ;取反P1.0口 MOV R7 , #2 ;重置2倍的關(guān)系 NEXT: RETI ;中斷返回12、要求從P1.1引腳輸出1000Hz方波,晶振頻率為12MHz。試設(shè)計(jì)程序。思路:(1)只要使P1.1每隔500µs取反一次即可得到1ms方波;。(2)將T1設(shè)為定時(shí)方式0:GATE=0,C/T()=0,M1M0=00;T0不用可為任意,只要不使其進(jìn)入方式3,一般取0即可。故TMOD=00H。下面計(jì)算500µs定時(shí)T1的初值: 機(jī)器周期: T=1µs , 設(shè)初值為X則: X=8192-500=7692=111

38、1000001100 B =1111 0000 0 0110 B = F 0 0 C H 因?yàn)樵谧?3位計(jì)數(shù)器用時(shí),TL1高3位未用,應(yīng)寫(xiě)0,X的低5位裝入TL1的低5位,所以TL1=#0CH;X的高8位應(yīng)裝入TH1,所以TH1=#F0H。參考源程序如下: MOV TCON , #0 ;清TF1、TR1 MOV TMOD , #0 ;定時(shí)器T1工作于方式0 MOV TH1 , #0F0H ;定時(shí)500us的初值 MOV TL1 , #0CH ;8192-500=7692=F00CH SETB TR1 ;啟動(dòng)定時(shí)器T1LOOP: JNB TF1 , LOOP ;等待定時(shí)500us的溢出 CLR

39、TF1 ;清除溢出標(biāo)志 CPL P1.1 ;取反P1.1口 CLR TR1 ;關(guān)閉定時(shí)器T1 MOV TH1 , #0F0H ;重寫(xiě)定時(shí)500us的初值 MOV TL1 , #0CH ;重寫(xiě)定時(shí)500us的初值 SETB TR1 ;啟動(dòng)定時(shí)器T1 SJMP LOOP13、試用定時(shí)/計(jì)數(shù)器T1對(duì)外部事件計(jì)數(shù)。要求每計(jì)數(shù)100,就將T1改成定時(shí)方式,控制P1.7輸出一個(gè)脈寬為10ms的正脈沖,然后又轉(zhuǎn)為計(jì)數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為12MHz。定時(shí)器T1確定工作于方式1計(jì)數(shù)100的初始值為:65536-100100=64+32+4=01100100 B65536-100=1111 1111

40、1001 1100 B = FF9CH定時(shí)10ms的初始值為:65536-100005000=4096+512+256+128+8 =100111000100065536-5000=60536=1110 1100 0111 1000 B = EC78H參考程序如下: LOOP3: CLR TR1 ;關(guān)閉定時(shí)器T1 CLR TF1 ;清除定時(shí)器T1的溢出標(biāo)志 MOV TMOD 50H ;定時(shí)器T1工作于方式1,計(jì)數(shù) MOV TH1 , #0FFH ;計(jì)數(shù)100的初值 MOV TL1 , #9CH ;65536-100=FF9CH SETB TR1 ;啟動(dòng)定時(shí)器T1LOOP1: JNB TF1 ,

41、 LOOP1 ;等待計(jì)數(shù)100溢出 MOV TMOD , #10H ;定時(shí)器T1工作于方式1,定時(shí) CLR TF1 ;清除定時(shí)器溢出標(biāo)志 CLR TR1 ;關(guān)閉定時(shí)器T1 MOV TH1 , #0ECH ;定時(shí)10ms的初值 MOV TL1 , #78H ;65536-5000=EC78H SETB TR1 ;啟動(dòng)定時(shí)器T1 LOOP2: JNB TF1 , LOOP2 ;等待定時(shí)10ms溢出 CPL P1.7 ;取反P1.7口 SJMP LOOP3 ;返回循環(huán)14、若單片機(jī)晶振為12MHz,利用定時(shí)器1方式1,產(chǎn)生1ms的定時(shí),在P1.0腳產(chǎn)生周期為2ms方波,用查詢方式工作,查詢標(biāo)志為T(mén)F

42、1。已知fosc =12MHz1個(gè)機(jī)器周期為1us 1ms=1000us 初值=65536-1000=54536 64536轉(zhuǎn)換為二進(jìn)制:1111 1100 0001 1000 T0的低8位:00011000 (18H) T0的高8位:11110000 (FCH) 則有: (TL0) #18H ; (TH0) #0FCH參考源程序如下: MOV TCON , #10H ;定時(shí)器T1工作于方式1 MOV TMOD , #0 ;清除TR1、TF1 MOV TH1 , #0FCH ;定時(shí)1ms的初值 MOV TL1 , #18H ;65536-1000=FC18H SETB TR1 ;啟動(dòng)定時(shí)器T1

43、LOOP: JNB TF1 , LOOP ;等待定時(shí)1ms的溢出 CLR TF1 ;清除溢出標(biāo)志 CPL P1.0 ;取反P1.0口 CLR TR1 ;關(guān)閉定時(shí)器T1 MOV TH1 , #0FCH ;重寫(xiě)定時(shí)1ms的處值 MOV TL1 , #18H ;重寫(xiě)定時(shí)1ms的處值 SETB TR1 ;啟動(dòng)定時(shí)器T1 SJMP LOOP ;返回循環(huán)15、系統(tǒng)時(shí)鐘頻率為6 MHz,試用定時(shí)器T0作外部計(jì)數(shù)器,編程實(shí)現(xiàn)每計(jì)到1000個(gè)脈沖,使T1開(kāi)始2ms定時(shí),定時(shí)時(shí)間到后,T0又開(kāi)始計(jì)數(shù),這樣反復(fù)循環(huán)不止。(1) 定時(shí)器T0工作于方式1,計(jì)數(shù)1000的初值為:65536-10001000=512+25

44、6+128+64+32+8=0000 0001 1111 1000 B65536-1000=1111 1100 0001 1000 B = FC18H(2) 晶振fosc=6MHz,機(jī)器周期為2us,定時(shí)器T0工作于方式1,定時(shí)1ms的初值為:65536-500 500=256+128+64+32+16+4 = 0000000111110100 B (取反+1可得到結(jié)果)(65536-500)=65036=1111 1110 0000 1100 B TH0=#0FEH ; TL0=#0CH(3) 參考程序如下: LOOP3: MOV TMOD , #0000 0101 B CLR TF0 CL

45、R TR0 MOV TH0 , #0FCH MOV TL0 , #18H SETB TR0 LOOP1: JNB TF0 , LOOP1 CLR TF0 CLR TR0 MOV TMOD , #01H MOV TH0 , #0FEH MOV TL0 , #0CH SETB TR0 LOOP2: JNB TF0 , LOOP2 SJMP LOOP3一、填空題: 1、MCS5l單片機(jī)的最大程序?qū)ぶ房臻g是 KB,該空間的地址范圍從 至 ,系統(tǒng)上電及復(fù)位后,程序入口地址為 。2、若由程序設(shè)定PSW中的RS1、RS0=01,則工作寄存器R0R7的直接地址為_(kāi) _。3、MCS-51單片機(jī)的I/O端口采用_ _ 編址方式。、4、一個(gè)8位D/A轉(zhuǎn)換器其分辨率為_(kāi) _,若該8位D/A轉(zhuǎn)換器的基準(zhǔn)電壓為5V,則數(shù)字量100對(duì)應(yīng)得模擬量為 。5、單片機(jī)系統(tǒng)中經(jīng)常采用的地址譯碼技術(shù)包括 法和 法

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論