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

下載本文檔

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

文檔簡介

1、一、填空題:1、 當(dāng)使用8051單片機時,需要擴展外部程序存儲器,此時EA應(yīng)接低電平。2、8051上電復(fù)位后,從地址0000H開始執(zhí)行程序,外部中斷1的中斷入口地址為0013H.3、8051最多有64KB的程序存儲器和64KB的數(shù)據(jù)存儲器。4、 P0口通常用作分時復(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ù)個1為0,奇數(shù)為1)9、 8051單片機共有5個中斷源,分別是INT0外部中斷0、INT1外部中斷1、T0定時器/計數(shù)器中斷0中斷、T1定時器計數(shù)器1中斷、串行口中斷。10、 ADC0809是8通路8位逐次逼近式模/數(shù)轉(zhuǎn)換器。11、 計算機中按功能把總線分為數(shù)據(jù)總線、地址總線和控制總線。12、 MOV A,#0F5H中,#0F5H的尋址方式稱之為立即尋址。MOV類指令稱之為一般傳輸指令。13、8051的一個機器周期等于12個晶體震蕩周期;通常8051單片機的ALE引腳以1/6倍的晶振頻率輸出脈沖。14、8051單片機復(fù)位后,堆棧指針SP指向第07H號內(nèi)部RAM;8051的堆棧是向上生長

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

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

5、、 匯編語言中,最多包含4個區(qū)段,其中操作碼區(qū)段是必不可少的。10、 MCS-51單片機的位尋址區(qū)域為20H-2FH。11、 MCS-51單片機復(fù)位后,PC值被初始化為0000H。12、 MCS-51單片機在同一優(yōu)先級的中斷源同時申請中斷時,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、 簡答題1、 簡述MCS-51單片機中,振蕩周期、機器周期和指令周期的關(guān)系。答:(1)振蕩周期:振蕩周期為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。 (2)時鐘周期:又稱狀態(tài)周期或狀態(tài)時間S,是振蕩周期的兩倍,分為P1、P2節(jié)拍,通常P1完成算術(shù)邏輯操作,在P2節(jié)拍完成內(nèi)部寄存器間的數(shù)據(jù)傳送操作。 (3)機器周期:一個機器周期由6個狀

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

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

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

10、數(shù)運行控制位,由軟件置1或清0,為1時允許計數(shù)器T0計數(shù),為0時禁止計數(shù)器T0計數(shù)。IE0 外部中斷0(INT0)請求標(biāo)志位,當(dāng)CPU采樣到INT0引腳出現(xiàn)中斷請求后,此位由硬件置1.在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)程序時,再由硬件自動清0.IE1 外中斷1(INT0)請求標(biāo)志位,功能同上。IT0 外中斷0請求信號方式控制位,當(dāng)IT0=1,后沿負(fù)跳變有效;IT0=0,低電平有效。此位可由軟件置1或清0.IT1 外中斷1請求信號方式控制位,IT1=1,后沿負(fù)跳變有效;IT1=0,低電平有效。5、 應(yīng)用題1、將存于外部RAM 8000H開始的50H個數(shù)據(jù)傳送到內(nèi)部0010H開始的區(qū)域,請編程實現(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知識點: 1、各P口功能:P0口:8位雙向三態(tài)I/O口,或分時復(fù)用為地址總線(低8位)及數(shù)據(jù)總線,或作為普通I/O口使用。P1口:8位準(zhǔn)雙向I/O口,常用作普通I/O口使用,個別引腳有第二功能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ù)存儲器寫選通(WR) P3.7外部數(shù)據(jù)存儲器讀選通(RD) 2、引腳EA 當(dāng)EA=1時,訪問內(nèi)部程序存儲器,EA=0時,訪問外部程序存儲器引腳PSEN外部程序存儲器的讀選通信號,讀取時有效低電平引腳PROG/ALE 當(dāng)訪問外部存儲器時,ALE(允許地址鎖存)的輸出用于鎖存地址的低位字節(jié)。即使不訪問外部存儲器,ALE端扔以不變的頻率周期性地出現(xiàn)正脈沖信號,次頻率為振蕩器頻率的1/6,可用作對外輸出的時鐘,或用于定時,每當(dāng)訪問外部數(shù)據(jù)存儲器的時候,將跳過一個ALE脈沖。3、 PSW中各個位的功能:PSW.7 (

13、CY)進位標(biāo)志位PSW.6 (AC)輔助進位標(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單片機的時序定時單位:節(jié)拍、狀態(tài)、機器周期和指令周期5、 復(fù)位:RST引腳處至少保持24個振蕩周期的高電平就可復(fù)位寄存器內(nèi)容寄存器內(nèi)容PC0000HTCON00HACC00HT2CON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0P

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

15、工作寄存器R0R7中的一個(由指令操作碼的低三位數(shù)值確定)、特殊寄存器A, B, DPTR, Cy(進位位,也是位處理機的累加器)也可作為寄存器尋址的對象。(2)直接尋址方式是對直接指定地址的存儲器單元中的數(shù)據(jù)進行處理,適用于數(shù)據(jù)放置在可以直接尋址的存儲單元之中的情況。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)立即尋址是對指令操作碼后的數(shù)據(jù)進行處理,適用于在程序中直接處理

16、的數(shù)據(jù)的情況。 MOV 38H,05H ;將數(shù)值05H送入到內(nèi)部RAM的38H單元中 ADD A,30H ;將A寄存器中的數(shù)值加上30H MOV TH0,0F2H ;將定時器0高8位設(shè)置為數(shù)值0F2H(4) 位尋址MOV C,40H ;把位40H的值送進位位C 位尋址的尋址范圍包括:內(nèi)部RAM中的位尋址區(qū) 單元地址為20H-2FH,共16個單元,128個位,位地址是00H-7FH。 特殊功能寄存器中的可尋址位 可供位尋址的特殊功能寄存器共有11個,實際有尋址位83個。 注意: 位尋址只能直接尋址。(5)寄存器間接尋址是將要處理數(shù)據(jù)的地址放在寄存器中,即用寄存器中的數(shù)據(jù)作為存儲單元的地址數(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ù)存儲器的內(nèi)容送給累加器A 注意: 寄存器間接尋址范圍包括內(nèi)部RAM和外部RAM,且外部RAM只能寄存器間接尋址,訪問外部數(shù)據(jù)存儲器的指令助記符與訪問內(nèi)部RAM的助記符不同。(6) 相對尋址方式 目的地址=轉(zhuǎn)移指令所在的地址+轉(zhuǎn)移指令字節(jié)數(shù)+relJC rel JNC rel JB bit, rel JNB bit, rel JBC bit, rel SJM

18、P rel (7) 基址加變址寄存器間接尋址專用16位寄存器(DPTR或PC)存放基地址,寄存器A做變址寄存器,僅兩條指令:MOVC A,APC MOVC A,ADPTR 只能讀取程序存儲器。 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ù)運算指令A(yù)DD A, Rn ;將A的內(nèi)容和Rn的內(nèi)容相加,結(jié)果在A中ADDC A, Rn;(A)(A)+(Rn)+CY,Rn為R0R7之一(帶進位)SUBB A, Rn ;A中內(nèi)容減去進位位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 (求補, 例如, CPL P3.0)INC (增量指令, 例如, INC P2)DEC (減量指令, 例如, DEC P2)DJNZ (目標(biāo)寄存器減1后不為零則跳轉(zhuǎn), 例如, DJNZ P3, LABEL)MOV PX.Y, C (將進位位送入端口位)DA A十進制調(diào)整指令,對A中的BCD碼加法結(jié)果進調(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進入A的最高位, A的最低位進入CY,D2進入D1等RLC A ; A的最高位進入CY,原CY進入A的最低位D0,D0進入D1等8、中斷分  類中斷源名稱中斷申請標(biāo)志觸發(fā)方式中斷入口地址外部中斷外部中斷0IE0(TCON.1)INT0(P3.2)引腳上的低電平/下降沿引起的中斷0003H內(nèi)部中斷定時器/計數(shù)器T0中斷IF0(TCON.5)T0定時器/計數(shù)器溢出后引起的中斷000BH外部中斷外部中斷1IE1(TCON.3)

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

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

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

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

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

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

28、入,B、C口作為輸出取端口A:0FF7CH B:0FF7DH C:0FF7EH 控制寄存器地址:0FF7FH根據(jù)題意寫入控制字為10010000=90H.MOV A,#90H(根據(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啟動轉(zhuǎn)換程序ORG 0000HMOV R1,#data1MOV A,R1MOVX DPTR,AMOV DPTR,#0BFFFHMOV R1,#data2MOVX DPTR,AMOV DPTR,#7FFFHMOVX DPTR,A例:用定時器0,方式2計數(shù),要求每計滿100次,將P1.0 端取反。 分析:TMOD=00000110B 計數(shù)初值:TH0=TL0=28-100=156=9CH 程序如下: ORG1000H START:MOVTMOD,#06H MOVTL0,#9CH MOVTH0,#9CH SETBTR0 LO

30、OP:JBC TF0,DONE ; 判計滿100次否?若計滿則清零TF0且轉(zhuǎn)DONE SJMPLOOP DONE:CPL P1.0 SJMPLOOP例7.3 已知單片機晶振頻率為12MHz,要求使用T0定時0.5ms,使單片機P1.0引腳上連續(xù)輸出周期為1ms的方波。分析:首先算出機器周期=12/(12MHz)=1us,所以0.5ms需要T0計數(shù)M次M=0.5ms/1us=500 256<500<8192,所以選擇方式0 初值N=213-500=7692=1E0CH因為選用方式0,低8位TL0只使用低5位,其余的均計入高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è)單片機晶振fosc=6MHz,請利用T0和P1.0輸出矩形波,矩形波的高電平寬50us,低電平寬300us。(P.145 第13) 晶振fosc=6MHz機器周期為2us 定時器T0使之工作于模式3 定時50us的初值為:25

32、6-25=231 (E7H) 定時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 ;啟動定時器T0LOOP1: JNB TF0 , LOOP1 ;檢測T0是否溢出 CLR TF0 ;清除溢出標(biāo)志 CLR TR0 ;關(guān)閉定時器 MOV TL0 , #6AH ;寫低電平初值 256-150 SETB TR0 ;啟動定時器T0 CLR P1.0 ;使

33、P1.0輸出低電平LOOP2: JNB TF0 , LOOP2 ;檢測T0是否溢出 CLR TF0 ;清除溢出標(biāo)志 CLR TR0 ;關(guān)閉定時器 MOV TL0 , #0E7H ;寫高電平初值 256-25 SETB TR0 ;啟動定時器T0 SETB P1.0 ;使P1.0輸出高電平 SJMP LOOP1 ;重復(fù)6、設(shè)fosc=12MHz,編寫程序,其功能為:對T0進行初始化,使之工作于模式2,產(chǎn)生200us的定時,并用查詢T0溢出標(biāo)志TF0的方法,控制P1.0引腳輸出周期為2ms的方波。(P.146 第18題)MOV TMOD , #02H ; T0工作于模式2,定時方式 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 ; 啟動定時器T0 SETB P1.0 ; 將P1.0置高電平LOOP: JNB TF0 , LOOP ; 檢測T0的溢出標(biāo)志 CLR TF0 ; 清除T0的溢出標(biāo)志 DJNZ R7 , LOOP ; 是否到5次 MOV R7 , #5 ; 重新寫入計數(shù)次數(shù) CPL P1.0 ; 取反P1.0口 SJMP LOOP ; 循環(huán)往復(fù) 9、當(dāng)系統(tǒng)選用6MHz晶體振蕩器時,由T0工作在方式為,利用中

35、斷響應(yīng),產(chǎn)生周期為2ms(脈沖寬度為1ms)的方波序列,并由P1.0輸出。(1)寫出T0定時器的方式控制字,T0定時器初值計算。(2)試編寫程序完成此功能。思路: 方波的周期為2ms,每隔1ms對P1.0取反,可完成題目要求。系統(tǒng)晶體振蕩器的頻率為6MHz,機器周期為2us,定時器T0在方式2時,最大定時256us×2=512us,達(dá)不到1ms的要求,故將定時器T0的初始值選為:256-250=6(定時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 ;定時器T1工作于方式2 CLR TR0 ;關(guān)閉定時器T1 CLR TF0 ;清除定時器T1溢出標(biāo)志 MOV IE , #02H ;允許定時器T1中斷 MOV IP , #0 ;不設(shè)置悠閑級別 MOV TH0 , #6 ;定時器T1初值 MOV TL0 , #6 ;(256-250=6) MOV R7 , #2 ;定時0.5ms與1ms的2倍的關(guān)系 SETB TR0 ;啟動定時器T1 SETB EA ;開中斷 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è)計程序。思路:(1)只要使P1.1每隔500µs取反一次即可得到1ms方波;。(2)將T1設(shè)為定時方式0:GATE=0,C/T()=0,M1M0=00;T0不用可為任意,只要不使其進入方式3,一般取0即可。故TMOD=00H。下面計算500µs定時T1的初值: 機器周期: T=1µs , 設(shè)初值為X則: X=8192-500=7692=111

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

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

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

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

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

43、LOOP: JNB TF1 , LOOP ;等待定時1ms的溢出 CLR TF1 ;清除溢出標(biāo)志 CPL P1.0 ;取反P1.0口 CLR TR1 ;關(guān)閉定時器T1 MOV TH1 , #0FCH ;重寫定時1ms的處值 MOV TL1 , #18H ;重寫定時1ms的處值 SETB TR1 ;啟動定時器T1 SJMP LOOP ;返回循環(huán)15、系統(tǒng)時鐘頻率為6 MHz,試用定時器T0作外部計數(shù)器,編程實現(xiàn)每計到1000個脈沖,使T1開始2ms定時,定時時間到后,T0又開始計數(shù),這樣反復(fù)循環(huán)不止。(1) 定時器T0工作于方式1,計數(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,機器周期為2us,定時器T0工作于方式1,定時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單片機的最大程序?qū)ぶ房臻g是 KB,該空間的地址范圍從 至 ,系統(tǒng)上電及復(fù)位后,程序入口地址為 。2、若由程序設(shè)定PSW中的RS1、RS0=01,則工作寄存器R0R7的直接地址為_ _。3、MCS-51單片機的I/O端口采用_ _ 編址方式。、4、一個8位D/A轉(zhuǎn)換器其分辨率為_ _,若該8位D/A轉(zhuǎn)換器的基準(zhǔn)電壓為5V,則數(shù)字量100對應(yīng)得模擬量為 。5、單片機系統(tǒng)中經(jīng)常采用的地址譯碼技術(shù)包括 法和 法

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論