




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jì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/OH。5、P2 口的功能為用作地址總線和作為普通I/O 口使用。6、若由程序設(shè)定 RS1 RS0=01,則工作寄存器 R0的直接地址為08Ho7、若由程序設(shè)定 RSt RS0=0O,則工作寄存器 R0的直接地址為00Ho8、若累加器 A中的數(shù)據(jù)為 01110010B,則
2、PSW中的P=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
3、_號內(nèi)部RAM; 8051的堆棧是向上生長的。15、十進(jìn)制調(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ù)存儲器和 程序存儲器 分開的編址方式。二、單項選擇題1、8051單片機執(zhí)行MOVX寫指令時,相關(guān)的信號狀態(tài)是 PSEN無效為高電平, WR有效為低電平2、若PSW.4=1, PSW.3=1,現(xiàn)在需要保存 R1的內(nèi)容,可
4、執(zhí)行 PUSH 19H指令3、下列指令不是變址尋址方式的是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 ( 2A16B=64KB7、若單片機的振蕩頻率為 12MHz,設(shè)定時器工作在方式 1需要定時1ms,則定時器初值應(yīng) 為2A16-1000.(計算過程:機器周期 =12/12MHz=1 s 次數(shù)=1ms/1 s=1000次 方式一為 16 位=2A16
5、)8、訪問外部數(shù)據(jù)存儲器的指令是MOVX,訪問程序存儲器的指令是 MOVCq9、匯編語言中,最多包含 4個區(qū)段,其中 操作碼區(qū)段是必不可少的。10、MCS-51單片機的位尋址區(qū)域為 20H-2FH。11、MCS-51單片機復(fù)位后,PC值被初始化為0000H。12、MCS-51單片機在同一優(yōu)先級的中斷源同時申請中斷時,CPU首先響應(yīng)外部中斷0.三、讀程序1、執(zhí)行下列程序段中第一條指令后(1) (P1.7) = 0(P1.3) =Q執(zhí)行第二條指令后,(2) (P1.5) =1(P1.4) =0ANL P1, #42HORL P1 #0ECH2、下列程序段執(zhí)行后,( R0) =47H, (48H)
6、= 0FFH, (47H) =3FHMOV R0,#48HMOV 48H,#0MOV 47H,#40HDEC R0DEC R0DEC R03、已知(SR) =29H, (DPTR =1234H,在執(zhí)行下列指令后,(SR) = 2BH,內(nèi)部 RAM (2AH)=34H, ( 2BH) =12HPUSH DPLPUSH DPH四、簡答題1、簡述MCS-51單片機中,振蕩周期、機器周期和指令周期的關(guān)系。答:(1)振蕩周期:振蕩周期為單片機提供定時信號的振蕩源的周期或外部輸入時鐘的周期。(2)時鐘周期:又稱狀態(tài)周期或狀態(tài)時間S,是振蕩周期的兩倍,分為P1、P2節(jié)拍,通常P1完成算術(shù)邏輯操作,在 P2節(jié)
7、拍完成內(nèi)部寄存器間的數(shù)據(jù)傳送操作。(3)機器周期:一個機器周期由6個狀態(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)換,要求同步進(jìn)行 D-A轉(zhuǎn)換輸出時,必須采用雙緩沖同步方式。3、8051單片機作定時和計數(shù)時,其計數(shù)
8、脈沖分別由誰提供?8051單片機定時計數(shù)器共有幾種工作模式?分別是什么?答:當(dāng)用作定時器時,是在內(nèi)部對CPU的時鐘脈沖計數(shù)。當(dāng)用作計數(shù)器時,是對相應(yīng)輸入引腳輸入的脈沖信號計數(shù)。工作模式:(1)工作模式0:使用低字節(jié)的5位和高字節(jié)的8位組成13位的計數(shù)器,低5位計數(shù)溢出后向高位進(jìn)位計數(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ù)器
9、TH0 和 TL0.4、MCS-51單片機系統(tǒng)共有幾種尋址方式?分別是什么?答:有7種尋址方式:(1)寄存器尋址(2)直接尋址(3)立即尋址(4)寄存器間接尋址(5)相對尋址(6)位尋址 (7)基址加變址寄存器間接尋址5、試說明特殊功能寄存器TCON中TF1、TR1、IE1、IT1位的含義是什么?這些位什么情況答:TF1 T1計數(shù)溢出標(biāo)志位,當(dāng)計數(shù)器 務(wù)程序時,再由硬件自動清0.TR1 T1計數(shù)運行控制位,由軟件置 數(shù)器T1計數(shù)。TF0 T0計數(shù)溢出標(biāo)志位,當(dāng)計數(shù)器 中斷服務(wù)程序后由硬件自動清0.下被置位或清除?T1計數(shù)計滿溢出時,該位由硬件置 1 ,轉(zhuǎn)到中斷服1或清0.為1時允許計數(shù)器T1計
10、數(shù),為0時禁止計T0計數(shù)計滿溢出時,由硬件置 1,申請中斷。進(jìn)入TR0 T0計數(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,低電平有效。 五、應(yīng)用題1、將存于外
11、部 RAM 8000H開始的50H個數(shù)據(jù)傳送到內(nèi)部 0010H開始的區(qū)域,請編程實現(xiàn)。ORG 0100HMOV DPR,#8000HMOV R0,#10HMOV R2,#50HMOVX A,DPTRMOV R0,AINC DPTRINC R0END知識點: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 口使
12、用;或作為第二功能口使用。P3.0串行輸入端口( RX。 P3.1串行輸出端口( TXD) P3.2外部中斷0 (INT0)P3.3 外部中斷 1 (INT1)P3.4 T0P3.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,可用作對外輸出的
13、時鐘,或用于定時,每當(dāng)訪問外部數(shù)據(jù)存儲器的時候,將跳過一個ALE脈沖。3、PSW中各個位的功能:PSW.7 (CY)進(jìn)位標(biāo)志位PSW.6 (AC)輔助進(jìn)位標(biāo)志位PSW.5 (F0)標(biāo)志位PSW.4 PSW.3 (RS1RS0四組工作寄存器區(qū)選擇控制位1和位000 工作 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)容PC0000HTCON00HACC00HT2CON
14、00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0 P30FFHTH200HIP (8051 )XXX00000BTL200HIP (8052 )XX000000BRLDH00HIE (8051 )0XX00000BRLDL00HIE (8052 )0X000000BSCON00HTMOD00HSBUF不定PCON (HMOS )0XXXXXXXBPCON (CHMOS )0XXX0000B6、尋址方式(1)寄存器尋址 方式是對選中寄存器中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在寄存器之中的 情況。MOV R1, B ;將寄存器B中的數(shù)值送入到寄
15、存器 R1中INC R2 ;將寄存器R2中的數(shù)值加1MOV A, R7 ;將寄存器R7中的數(shù)值送入累加器A寄存器尋址范圍:寄存器區(qū)中8個工作寄存器R0R7中的一個(由指令操作碼的低三位數(shù)值確定)、特殊寄存器A, B, DPTR, Cy(進(jìn)位位,也是位處理機的累加器)也可作為寄存器尋址的對象。(2)直接尋址 方式是對直接指定地址的存儲器單元中的數(shù)據(jù)進(jìn)行處理,適用于數(shù)據(jù)放置在 可以直接尋址的存儲單元之中的情況。MOV 40H, B ;將寄存器B中的數(shù)值送入到內(nèi)部 RAM的40H單元中INC 30H;將內(nèi)部 RAM的30H單元中的數(shù)值加 1MOV TL0 , R7 ;將寄存器R7中的數(shù)值送入到特殊功
16、能寄存器TL0中直接尋址范圍:片內(nèi)RAM,包才SFRM SFR只能直接尋址(3)立即尋址 是對指令操作碼后的數(shù)據(jù)進(jìn)行處理,適用于在程序中直接處理的數(shù)據(jù)的情況。MOV 38H, # 05H;將數(shù)值05H送入到內(nèi)部 RAM的38H單元中ADD A, 3 30H ;將A寄存器中的數(shù)值加上 30HMOV TH0, 0 0F2H ;將定時器0高8位設(shè)置為數(shù)值 0F2H(4)位尋址MOV C, 40H;把位40H的值送進(jìn)位位 C位尋址的尋址范圍包括:內(nèi)部 RAM中的位尋址區(qū)單元地址為 20H-2FH,共16個單元,128個位,位地址是 00H-7FH。特殊功能寄存器中的可尋址位可供位尋址的特殊功能寄存器共
17、有11個,實際有尋址位83個。 注意:位尋址只能直接尋址。(5)寄存器間接尋址 是將要處理數(shù)據(jù)的地址放在寄存器中,即用寄存器中的數(shù)據(jù)作為存儲 單元的地址數(shù)值。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é)果存放于AMOVX A, DPTR ;將以DPTR內(nèi)數(shù)值為地址的外部數(shù)據(jù)存儲器的內(nèi)容送給累加器A注意:寄存器間接尋址范圍包括內(nèi)部 RAM和外部RAM,且外部RAM只能寄存器間接尋址, 訪問外部數(shù)據(jù)存儲器的指令助記符與訪問內(nèi)部RAM的助記符不同。(6)相對尋址方式目的地址
18、=轉(zhuǎn)移指令所在的地址+轉(zhuǎn)移指令字節(jié)數(shù)+relJC relJNC relJB bit, relJNB bit, relJBC bit, relSJMP rel(7)基址加變址寄存器間接尋址專用16位寄存器(DPTR或PC)存放基地址,寄存器 A做變址寄存器,僅兩條指令:MOVC A, A+ PCMOVC A, A+ DPTR只能讀取程序存儲器。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
19、的低4位互換,高4位不變。 (3)查表指令MOVC A,A+DPTR將DPTR中的16位地址和A中內(nèi)容相加得新地址,把此地址內(nèi)容送AMOVC A ,A+PC將PC值和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)+CYRn 為 R0R7 之一(帶進(jìn)位)SUBB A, Rn ;
20、A中內(nèi)容減去進(jìn)位位 CY再減去Rn中內(nèi)容, 結(jié)果在A中(帶借位)MUL乘法DIV除法ANL (邏輯與,例如, ANL P1, A)ORL曜輯或,例如, ORL P2, 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)DJNZg標(biāo)寄存器減1后不為零則跳轉(zhuǎn),例如,DJNZ P3, LABEL)MOV PX.YC (各進(jìn)位位送入端口位)DA A十進(jìn)制調(diào)整指令,對 A中的BCD碼加法結(jié)果進(jìn)調(diào)整CLR PX.Y(除端
21、口位)SETB PX.Yf 位端口位)SETB bit ;某位置1CLR A ;人清0,不影響標(biāo)志位CPL A ; A中內(nèi)容逐位取反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、中斷分類中斷源名稱中斷中請標(biāo)志觸發(fā)方式中斷入口地址外部中斷外部中斷0IE0(TCON.1)INT0(P3.2)引腳上的低電 平/下降沿引起的中斷0003H內(nèi)部中斷定時器/計數(shù) 器T0中斷
22、IF0(TCON.5)T0定時器/計數(shù)器溢出后 引起的中斷000BH外部中斷外部中斷1IE1(TCON.3)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個過程。EQ中斷允許的總控制位。
23、當(dāng)EA=0時,中斷總禁止,相當(dāng)于關(guān)中斷,即禁止所有中斷;當(dāng) EA=1時,中斷總允許,相當(dāng)于開中斷。此時,每個中斷源是否開放由各中斷控制位決定。所以只有當(dāng)EA=1時,各中斷控制位才有意義。ES-串行口中斷允許控制位 ,當(dāng)ES=Q禁止該中斷;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=O,禁止外部中斷 0;當(dāng)EX0
24、=1,允許外部中斷 0。 定時器控制寄存器 (TCON該寄存器的字節(jié)地址為 88H,位地址為88H-8FH,也可以用TCON.0-TCON.出示INT0、 T0、 INT1、T1、 串口、T2(最高)(最低)在開放中斷的條件下,用下述四個原則使用中斷優(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)同一
25、個優(yōu)先級里,優(yōu)先權(quán)的順序是由硬件決定而不能改變的。但是用戶可以通過改 變優(yōu)先級的方法改變中斷響應(yīng)的順序。例如,8051單片機中串行口的優(yōu)先權(quán)最低,但是可以在中斷優(yōu)先級寄存器 IP中寫入10H,則只有串行口是最高優(yōu)先級。若同時有若干中斷提 出申請,則一定會優(yōu)先響應(yīng)串行口的申請。串行口控制寄存器 (SCONSCON寄存器的字節(jié)地址為 98H,位地址為98H9FH,其中的低兩位 RI和TI鎖存串行口 的接收中斷和發(fā)送中斷的請求標(biāo)志位中斷響應(yīng)的條件:中斷源有中斷請求; 此中斷源的中斷允許位為1 ; CPU開中斷(即EA=1)。9、定時器概念:在8051單片機中,定時器/計數(shù)器就是一個固定長度的二進(jìn)制計
26、數(shù)器,當(dāng)對輸入脈 沖信號的數(shù)量進(jìn)行計數(shù)時,我們稱其為計數(shù)器,當(dāng)對單片機的系統(tǒng)時鐘或其它標(biāo)準(zhǔn)時鐘進(jìn)行 計數(shù)時,由于這類時鐘信號本身就表示時間,計數(shù)值對應(yīng)著時間值,所以從這個角度上將其稱為定時器。組成:在8051單片機中,內(nèi)部定時器都是可編程控制的定時器/計數(shù)器,至少由兩部分組成:脈沖計數(shù)電路和控制字寄存器及譯碼控制電路。10、串行接口的四種工作方式(1)模式0(MODE0):同步移位寄存器方式。8位數(shù)據(jù)(先為LSB隊弓I腳RXD接收/移出,引 腳TXD輸出移位時鐘,波特率固定為晶振頻率的1/12。模式0通常用來擴展輸入輸出口。(2)模式1(MODE1): 10位數(shù)據(jù)被發(fā)送(從引腳TXD或接收(從
27、引腳RXD): 1個啟動位,8個 數(shù)據(jù)位,1個停止位。在接收時,停止位被送入特殊功能寄存器的SCON的RB8位。波特率是可變的。(3)模式2(MODE2): 11位數(shù)據(jù)被發(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ù)位,
28、1個停止位。發(fā)送時,第 9位(SCON的TB8位)可被賦予0 或1。實際上,除了波特率之外,模式 2和模式3是相同的。模式3的波特率是可變的。qSMOD模式1或3波特率=2父運3212 M 256 (TH1)8255A的工作方式0, A 口作為輸入,B、C 口作為輸出取端口 A:0FF7CH B:0FF7DH C:0FF7EH 控制寄存器地址:0FF7FH根據(jù)題意寫入控制字為10010000=90H.MOV A,#90H (根據(jù)題意計算而變化)MOV DPTR,#0FF7FHMOVX DPTR,AMOV DPTR,#0FF7CHMOVX A,DPTRMOV DPTR,#0FF7DHMOV A,
29、#DATA1 movx dptr,a MOV DPTR,#0FF7EH控制寄存器地址一 DPTR方式控制字一控制寄存器A 口地址fDPTR從A讀數(shù)據(jù)B 口地址fDPTR要輸入白數(shù)據(jù)DATAb A將DATA1送B 口輸出C 地址一 DPTRMOV A,#DATA2DATA2AMOVX DPTR,A將DATA2送C 口輸出+5VDAC0832啟動轉(zhuǎn)換程序ORG 0000HMOV R1,#data1MOV A,R1MOVX DPTR,AMOV DPTR,#0BFFFHMOV R1,#data2MOVX DPTR,AMOV DPTR,#7FFFHMOVX DPTR,A例:用定時器0,方式2計數(shù),要求每
30、計滿100次,將P1.0端取反。分析:TMOD=00000110B計數(shù)初值:TH0=TL0=28-100=156=9CH程序如下:ORG 1000HSTART:MOV TMOD,#06HMOV TL0,#9CHMOV TH0,#9CHSETBTR0LOOP:JBC TF0,DONE判計滿100次否?若計滿則清零 TF0且轉(zhuǎn)DONESJMPLOOPLOOP12MHz,要求使用 T0定時0.5ms,使單片機 P1.0引腳上連DONE:CPL P1.0SJMP 例7.3已知單片機晶振頻率為 續(xù)輸出周期為1ms的方波。T0計數(shù)M次余的均計入高8位TH0的初值。分析:首先算出機器周期=12/(12MHz
31、)=1us,所以0.5ms需要 M=0.5ms/1us=500256<500<8192,所以選擇方式 0 初值 N=213-500=7692=1E0CH因為選用方式0,低8位TL0只使用低5位,其 TL0=0CH TH0=0F0HORG 0000HRESET: AJMP STARTORG 000BH AJMP T0INT ORG 0100HSTART: MOV SP#60H MOV TH0,#0F0H MOV TL0,#0CHSETBTR0 SETB ET0 SETB EAMAIN: AJMP MAINT0中斷服務(wù)程序T0INT: CPL P1.0MOV TL0,#0CHMOV T
32、H0,#0F0H RETI3、假設(shè)單片機晶振fosc=6MHz,請利用T0和P1.0輸出矩形波,矩形波的高電平寬50us,低電平寬300us。(P.145 第13)晶振fosc=6MH7機器周期為2us(E7H) 256-150=106(6AH);T0工作于模式3清 TR0,TF0高電平初值。256-25 口輸出高電平啟動定時器T0;檢測T0是否溢出清除溢出標(biāo)志 關(guān)閉定時器寫低電平初值 256-150啟動定時器T0使P1.0輸出低電平;檢測T0是否溢出清除溢出標(biāo)志 關(guān)閉定時器寫高電平初值 256-25啟動定時器T0使P1.0輸出高電平 重復(fù)MOV TL0 , #56;MOV R7 , #5;2
33、00usSETB TR0;SETB P1.0;LOOP: JNB TF0 , LOOP CLR TF0;DJNZ R7 , LOOP ;MOV R7 , #5;CPL P1.0;SJMP LOOP ;與1ms是5倍的關(guān)系啟動定時器T0將P1.0置高電平檢測T0的溢出標(biāo)志清除T0的溢出標(biāo)志是否到5次重新寫入計數(shù)次數(shù)取反P1.0 口循環(huán)往復(fù)定時器T0使之工作于模式3 定時50us的初值為:256-25=231 定時300US的初值為: 方法1:MOV TMOD , #00000011B MOV TCON ,#0;MOV TL0 , #0E7H;SETB P1.0;P1.0SETB TR0;LOOP
34、1: JNB TF0 , LOOP1 CLR TF0;CLR TR0;MOV TL0 , #6AH ;SETB TR0;CLR P1.0;LOOP2: JNB TF0 , LOOP2 CLR TF0;CLR TR0;MOV TL0 , #0E7H;SETB TR0;SETB P1.0;SJMP LOOP1;6、設(shè)fosc=12MHz,編寫程序,其功能為:對 T0進(jìn)行初始化,使之工作于模式2,產(chǎn)生200us的定時,并用查詢T0溢出標(biāo)志TF0的方法,控制P1.0引腳輸出周期為2ms的方波。(P.146第18題)MOV TMOD , #02H; T0工作于模式2,定時方式MOV TCON , #0;
35、清除 TFR TR。MOV TH0 , #56; (256-200)=569、當(dāng)系統(tǒng)選用6MHzft體振蕩器時,由T0工作在方式為2,利用中斷響應(yīng),產(chǎn) 生周期為2ms(脈沖寬度為1ms)的方波序列,并由P1.0輸出。(1)寫出To定時器的方式控制字,To定時器初值計算。(2)試編寫程序完成此功能。1ms思路:方波的周期為2m§每隔1ms對P1.0取反,可完成題目要求。系統(tǒng)晶體振蕩器的頻率為6MHz機器周期為2us,定時器T0在方式2時, 最大定時256usX2=512us,達(dá)不到1ms的要求,故將定時器T0的初始值選為: 256-250=6(定時 0.5ms),兩次后取反 P1.0
36、口。(1) T0的初始值為:X=256-250=6T0 的控制字為:MOV TCON , #0MOV TMOD , #20H (2)參考程序如下:ORG 0000H SJMP Main ORG 000BH AJMP T0 ORG 0030H;定時器T1工作于方式2;關(guān)閉定時器T1;清除定時器T1溢出標(biāo)志;允許定時器T1中斷;不設(shè)置悠閑級別;定時器T1初值;(256-250=6);定時0.5ms與1ms的2倍的關(guān)系;啟動定時器T1;開中斷Main: MOV TMOD , #20HCLR TR0CLR TF0MOV IE , #02HMOV IP , #0MOV TH0 , #6MOV TL0 ,
37、 #6MOV R7 , #2SETB TR0SETB EA SJMP $T0: DJNZ R7 , NEXTCPL P1.0MOV R7 , #2NEXT: RETI兩次是否到?未到則中斷返回,到則繼續(xù);取反P1.0 口;重置2倍的關(guān)系;中斷返回12、要求從P1.1引腳輸出1000Hz方波,晶振頻率為12MHz試設(shè)計程序思路:(1)只要使P1.1每隔500的取反一次即可得到1ms方波;。(2)將T1設(shè)為定時方式0: GATE=0 C/T( 一)=0 , M1M0=00 T0不用可為任意, 只要不使其進(jìn)入方式3, 一般取0即可。故TMOD=00H下面計算500心定時T1 的初值:機器周期:T=1
38、0,設(shè)初值為X則:X=8192-500=7692=1111000001100 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 , #0MOV TMOD , #0MOV TH1 , #0F0HMOV TL1 , #0CHSETB TR1LOOP: JNB TF1 , LOOPCLR TF1CPL P1.1CLR TR1MOV TH1 , #0F0HMOV TL1 , #0CHSETB TR1;清 TF
39、1、TR1;定時器T1工作于方式0;定時500us的初值;8192-500=7692=F00CH;啟動定時器T1;等待定時500us的溢出;清除溢出標(biāo)志;取反P1.1 口;關(guān)閉定時器T1;重寫定時500us的初值;重寫定時500us的初值;啟動定時器T1SJMP 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 1
40、111 1001 1100 B = FF9CH定時10ms的初始值為:65536-100005000=4096+512+256+128+8 =100111000100065536-5000=60536=1110 1100 0111 1000 B = EC78H參考程序如下:LOOP3: CLR TR1CLR TF1MOV TMOD 50HMOV TH1 , #0FFH MOV TL1 , #9CH SETB TR1LOOP1: JNB TF1 , LOOP1 MOV TMOD , #10H CLR TF1 CLR TR1MOV TH1 , #0ECH MOV TL1 , #78H SETB T
41、R1LOOP2: JNB TF1 , LOOP2 CPL P1.7 SJMP LOOP3T1;清除定時器T1的溢出標(biāo)志;定時器T1工作于方式1,計數(shù);計數(shù)100的初值;65536-100=FF9CH T1;等待計數(shù)100溢出;定時器T1工作于方式1,定時;清除定時器溢出標(biāo)志T1;定時10ms的初值65536-5000=EC78H T1;等待定時10ms溢出;取反P1.7 口;返回循環(huán)14、若單片機晶振為12MHz利用定時器1方式1,產(chǎn)生1ms的定時,在P1.0腳產(chǎn)生周期為2ms方波,用查詢方式工作,查詢標(biāo)志為 TF1。已知fosc =12MHz-1個機器周期為1us1ms=1000us初值=6
42、5536-1000=5453664536轉(zhuǎn)換為二進(jìn)制:1111T0的低 8 位:00011000T0的高 8 位:11110000則有:(TL0)#18H ;參考源程序如下:MOV TCON , #10HMOV TMOD , #0MOV TH1 , #0FCHMOV TL1 , #18HSETB TR1LOOP: JNB TF1 , LOOPCLR TF1CPL P1.0CLR TR1MOV TH1 , #0FCHMOV TL1 , #18HSETB TR11100 0001 1000(18H)(FCH)(TH0)#0FCH;定時器T1工作于方式1;清除 TR1、TF1;定時1ms的初值;65
43、536-1000=FC18H;啟動定時器T1;等待定時1ms的溢出;清除溢出標(biāo)志;取反P1.0 口;關(guān)閉定時器T1;重寫定時1ms的處值;重寫定時1ms的處值;啟動定時器T1SJMP LOOP15、系統(tǒng)時鐘頻率為6 MHz試用定時器T0作外部計數(shù)器,編程實現(xiàn)每計到1000 個脈沖,使T1開始2ms定時,定時時間到后,T0又開始計數(shù),這樣反復(fù)循環(huán)不 止。(1)定時器T0工作于方式1,計數(shù)1000的初值為:65536-1000 1000=512+256+128+64+32+8=0000 0001 1111 1000 B65536-1000=1111 1100 0001 1000 B = FC18H
44、 晶振fosc=6MHz,機器周期為2us,定時器T0工作于方式1,定時1ms的初 值為:65536-500500=256+128+64+32+16+4 = 0000000111110100 B ( 取反+1 可得到結(jié)果) (65536-500)=65036=1111 1110 0000 1100 BTH0=#0FEH ; TL0=#0CH(3)參考程序如下:LOOP3: MOV TMOD , #0000 0101 BCLR TF0CLR TR0MOV TH0 , #0FCHMOV TL0 , #18HSETB TR0LOOP1: JNB TF0 , LOOP1CLR TF0CLR TR0MO
45、V TMOD , #01HMOV TH0 , #0FEHMOV TL0 , #0CHSETB TR0LOOP2: JNB TF0 , LOOP2SJMP LOOP3一、填空題:1、MCS 51單片機的最大程序?qū)ぶ房臻g是 KB,該空間的地址范圍從至,系統(tǒng)上電及復(fù)位后,程序人口地址為 。2、若由程序設(shè)定 PSW中的RS、RS)=01,則工作寄存器 R0Rz的直接地址為 _。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ù)包括 法和 法。6、INT
46、EL 8051 CPU是 位的單片機,其內(nèi)部有 KB的ROM。7、指出下列各指令中源操作數(shù)的尋址方式。(1) MOVC A, A+DPTR(2) XCH A, R0;(3) MOV C, P1.0(4) JC LOOP8、判斷下列各條指令的書寫格式是否有錯,并指出原因。(1) MUL R0R1(2) MOV A, R7(3) MOV A, #3000H(4) MOV R1, C9、單片機與外設(shè)進(jìn)行數(shù)據(jù)交換通常有 方式、方式和 方式 三種。10、MCS-51單片機串行口的方式 0是 方式,方式 2是方式。11、單片機復(fù)位后 SP中的狀態(tài)為 , P0P3 口的狀態(tài)為 。12、串行通信根據(jù)數(shù)據(jù)傳送時
47、的編碼格式不同可分為 和兩種方式。13、堆棧按照 原則工作,使用 指明棧頂位置。14、8051單片機片內(nèi)有 字節(jié)的ROM, 字節(jié)的RAM。15、使用8031單片機構(gòu)成的系統(tǒng)時,其EA引腳應(yīng) ,因為16、ADC0809是 位的A/D轉(zhuǎn)換器。17、單片機復(fù)位后 PC的內(nèi)容為 ,復(fù)位對片內(nèi)RAM中存放的內(nèi)容 (有,無)影響。18、多位LED顯示器通常有 顯示和 顯示兩種接口。19.執(zhí)行下列兩條指令后,PSW中的標(biāo)志位(P) =。MOVA, #80HADD A, #98H20 . JC LOOP指令中操作數(shù)的尋址方式是 數(shù)的尋址方式為。21 .下列指令中正確的是 。(1) RLC R7(3) MOV
48、A, DPTR22. 一個4k*4RAM芯片的地址線有 (CY) =, (OV) =, (AC)=, MOV A, P1指令中源操作(2) SETB R7.0(4) POP 40H根,數(shù)據(jù)線有23 .設(shè)(A) =30H, (B) =40H, ( SP) =40H,執(zhí)行下列程序段后,(A)=。PUSH APUSH BPOP APOP B24 .若8位A/D轉(zhuǎn)換器的滿量程輸入為 5V時,該轉(zhuǎn)換器可分辨的最小電壓是 。25 . 一單片機系統(tǒng)的外部晶體振蕩器頻率為6MHz,現(xiàn)啟動單片機的的定時/計數(shù)器1統(tǒng)計外部脈沖的個數(shù),當(dāng)計滿100時,使P1.0輸出0。則:當(dāng)T1工作在方式 0時,T1的初值應(yīng)為(T
49、H1)=, (TL1)=;當(dāng)T1工作在方式1時,T1的初值應(yīng)為(TH1)=, (TL1)=;當(dāng)T1工作在方式 2時,T1的初值應(yīng)為(TH1)=, (TL1)=。26 .已知(SP)=60H,子程序 DELAY勺首地址為1878H,現(xiàn)執(zhí)行位于1123H處白LCALL DELAY 三字節(jié)指令后,(PC尸, (61H尸, (62H尸。、填空題:(答)1. 64KB,0, 0FFFFH 02. 080FH3. 統(tǒng)一4. 1/256 ,1.953V (5*100/256V )5. 線選法, 譯碼法6. 8, 47. 基址變址尋址,寄存器間接尋址,位尋址,相對尋址8. X, 乘法指令用AXB;X,寄存器間
50、接尋址用 R0和R1 (只能用R1和R0作指針);X , A是8位寄存器x, C為進(jìn)位位,不能送給寄存器9、查詢、定時、中斷。10、8位移位寄存器,多機11、 07H、 FFH12、 同步通信、異步通信13、先進(jìn)后出,SP14、4K, 128。13、 接地,其片內(nèi)沒有程序存儲器16、817、 0000H、無18、 靜態(tài),動態(tài)19、 1 , 1, 0, 020. 相對尋址,直接尋址21. . (4)22. 12, 423. 40H24. 19.53mV25. FCH, 1CH, FFH, 9CH, 9CH, 9CH26. 1878H, 26H, 11H二、選擇題:1 .當(dāng)MCS-51單片機接有外
51、部存儲器時,P2 可作為 。A.數(shù)據(jù)輸入口B.數(shù)據(jù)的輸出口C.準(zhǔn)雙向輸入/輸出口D.高8位地址線2 .單片機的并行接口中,作為數(shù)據(jù)線使用的并行口是 。A. P0B. P1C. P2D. P33 . MCS 5l單片機的堆棧區(qū)是設(shè)置在 中。A.片內(nèi) ROM區(qū)B,片外 ROM區(qū)C.片內(nèi) RAM區(qū)D.片外RAM區(qū)4 .片內(nèi)RAM的20H2FH為位尋址區(qū),所包含的位地址是 A. 00H20HB. 00H7FHC. 20H 2FHD. 00H FFH5 .在寄存器間接尋址方式中,間址寄存器中存放的數(shù)據(jù)是 A.參與操作的數(shù)據(jù)B.操作數(shù)的地址值C.程序的轉(zhuǎn)換地址D.指令的操作碼6 .當(dāng)需要從MCS-51單片
52、機程序存儲器取數(shù)據(jù)時,采用的指令為 A. MOV A, R1B.MOVC A, A + DPTRC. MOVX A, R0D.MOVX A, DPTR7 .能夠用紫外光擦除 ROM中程序的只讀存儲器稱為 。A.掩膜 ROMB.PROM C.EPROM D.EEPROM8 .在片外擴展一片2716程序存儲器芯片要 地址線。A.8 根B.13 根 C.11 根D.20 根9 .定時器/計數(shù)器工作方式1是。A. 8位計數(shù)器結(jié)構(gòu)B. 2個8位計數(shù)器結(jié)構(gòu)C. 13位計數(shù)結(jié)構(gòu)D. 16位計數(shù)結(jié)構(gòu)10. T0中斷的中斷入口地址為 。A. 0003H B. 000BH C. 0013H D. 001BH、選擇題(答)1 .D, 2.A, 3.C, 4. C, 5.B, 6. B, 7.C, 8. A, 9.D, 10. B三、分析程序,寫出結(jié)果1、已知(A) =83H,(R0) =17H, ( 17H) =34H,執(zhí)行下列程序段后(A尸ANL A, #17HORL 17H, AXRL A, R0CPL A2、下列程序段執(zhí)行后,( R0) =, (7EH) =.MOV R0, #7FHMOV 7EH, #0MOV 7FH, #42HDEC R0DEC R0DEC R03、已知(R3)=05H
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 雅安文投中醫(yī)藥大健康產(chǎn)業(yè)發(fā)展有限公司考察聘用1名主管會計筆試參考題庫附帶答案詳解
- 軟件自檢報告范文
- 婚慶演藝合同模板(2025年度)婚禮演藝團(tuán)隊合作協(xié)議
- 二零二五年度文化產(chǎn)業(yè)融資合同模板大全
- 二零二五年度股東分紅協(xié)議書:智慧城市建設(shè)投資收益分配合同
- 二零二五年度學(xué)校特色蔬菜種植與教育實踐合作合同
- 2025年度智慧社區(qū)商鋪租賃合同書
- 二零二五年度個人租房協(xié)議(含房屋租賃保險)
- 2025年度股東協(xié)議補充協(xié)議:應(yīng)對市場風(fēng)險的投資風(fēng)險管理條款
- 二零二五年度反擔(dān)保抵押擔(dān)保合同(體育場館運營)
- 中國腦出血診治指南
- 信息安全意識培訓(xùn)課件
- 《食品標(biāo)準(zhǔn)與法規(guī)》知識考試題庫300題(含答案)
- 社團(tuán)活動情況登記表
- 人教版(2024)七年級上冊英語各單元短文填空練習(xí)題匯編(含答案解析)
- 山東省濰坊市2023-2024學(xué)年高二下學(xué)期期末測試+英語試卷
- 2023年北京市初三一模數(shù)學(xué)試題匯編:選擇壓軸(第8題)
- AIGC視域下非遺文創(chuàng)產(chǎn)品的數(shù)字化轉(zhuǎn)型升級路徑研究
- 生涯規(guī)劃與就業(yè)創(chuàng)業(yè)全套課件電子教案板
- 公司投資占股協(xié)議書模板
- 石油采油井場水土保持方案報告書
評論
0/150
提交評論