《單片機(jī)原理及應(yīng)用》參考解答 及評分標(biāo)準(zhǔn) 適用年級專業(yè)電子信息、通信工程、建筑智能 專業(yè) 班級 學(xué)號姓名
………………………………………………………………………………………………………………
一、填空題(每空1分,共15分) 1. MCS-51單片機(jī)中的51子系列片內(nèi)有__128__字節(jié)的RAM,外部RAM存儲器最大可擴(kuò)展 64K 字節(jié)。 2.設(shè)fosc=12MHZ,執(zhí)行一條2個機(jī)器周期的指令,時間為 2μS,ALE信號的工作頻率是2MHZ。 3.指令MOVX A,@DPTR, 源操作數(shù)的尋址方式是間址尋址,執(zhí)行本條指令時產(chǎn)生的控制信號是 RD(讀)有效。 4.串行通信時RI、TI由硬件置位,由軟件復(fù)位。 6. 在直接尋址方式中,只能使用 8 位二進(jìn)制數(shù)作為直接地址,因此其尋址對象只限于內(nèi)部RAM。 7. 為擴(kuò)展存儲器而構(gòu)成系統(tǒng)總線,應(yīng)以P0口的8位口線作為低8位地址/數(shù)據(jù)線,以P2口的口線作為高8位地址線。 8. 在查詢和中斷兩種數(shù)據(jù)輸入輸出控制方式中,CPU效率較高的是中斷。 9. 通過堆棧操作實現(xiàn)子程序調(diào)用,首先要把 PC 的內(nèi)容壓入堆棧,以進(jìn)行斷點保護(hù)。調(diào)用返回時進(jìn)行出棧操作,把保護(hù)的斷點送回 PC 。
二、選擇(每小題1分,共15分) 1、對于MCS-51單片機(jī)來說,如果程序存儲區(qū)只用外部ROM 空間,EA腳應(yīng)該( A )。 (A) 接地 ( B) 接電源 ( C) 懸空 ( D) 接外部ROM的OE’ 端
2、程序計數(shù)器PC用來( C )。 (A)存放指令 ( B)存放正在執(zhí)行的指令地址 (C)存放下一條的指令地址 (D)存放上一條的指令地址 3、數(shù)據(jù)指針DPTR中的內(nèi)容是指向( D )的地址 。 (A)CPU控制器 (B)CPU運算器 ( C)外部程序存儲器 ( D)外部數(shù)據(jù)存儲器 4、單片機(jī)上電后或復(fù)位后,工作寄存器R0是在( A ) 。 (A)0區(qū)00H單元 ( B)0區(qū)01H單元 (C)1區(qū)00H單元 ( D)2區(qū)00H單元 5、一個EPROM的地址有A0----A11引腳,它的容量為( B )。 (A)2KB (B)4KB (C)11KB ; ( D)12KB 6、8031單片機(jī)中既可位尋址又可字節(jié)尋址的內(nèi)部RAM單元是( A )。 (A)20H (B)30H (C)80H (D)7FH 7、在8155芯片中,決定口和RAM單元編址的信號是( C ) file:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image001.giffile:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif(A)AD7~AD0和WR (B)AD7~AD0和CE file:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif(C)AD7~AD0和IO/M (D)AD7~AD0和ALE 8、在使用多片DAC0832進(jìn)行D/A轉(zhuǎn)換、并分時輸入數(shù)據(jù)的應(yīng)用中,它的兩級數(shù)據(jù)鎖存結(jié)構(gòu)可以( B ) (A)提高D/A轉(zhuǎn)換精度 (B) 保證各模擬電壓同時輸出 (C)提高D/A轉(zhuǎn)換速度 (D)增加可靠性 9、在MCS—51中,需要外加電路實現(xiàn)中斷撤除的是 ( B ) (A)定時中斷 (B)電平方式的外部中斷 (C)脈沖方式的外部中斷 (D)串行中斷 10、當(dāng)標(biāo)志寄存器P S W的R S 1和R S 0分別為1和0時,系統(tǒng)選用的工作寄存器組為( C )。 (A)組0 ( B)組1 ( C)組2 ( D)組3 11.設(shè)(A)=0 C 3 H,(R0)=0 A A H,執(zhí)行指令A(yù) N L A,R0后,結(jié)果( A )。 ( A) (A)=82H ( B) (A)=6CH (C ) (R0)=82 ( D) (R0)=6CH 12.在下列信號中,不是給數(shù)據(jù)存儲器擴(kuò)展使用的是( B ) (A) RD ( B) EA (C) WR (D) ALE 13.如果以查詢方式進(jìn)行定時應(yīng)用,則應(yīng)用程序中的初始化內(nèi)容應(yīng)包括( D ) (A) 系統(tǒng)復(fù)位、設(shè)置定時器工作方式、設(shè)置計數(shù)初值 (B) 設(shè)置中斷方式、設(shè)置計數(shù)初值、啟動定時 (C) 設(shè)置定時器工作方式、設(shè)置計數(shù)初值、打開中斷 (D)設(shè)置定時器工作方式、設(shè)置計數(shù)初值、禁止中斷 14.幀格式為1個起始位、8個數(shù)據(jù)位和1個停止位的異步串行通信方式是( B ) (A)方式0 (B)方式1 (C)方式2 (D)方式3 15.執(zhí)行M O V I E,#85H指令的意義是:(D )。 (A)屏蔽中斷源 ( B)開放外部中斷源0 (C )開放外部中斷源1 ( D)開放外部中斷源0和1 解:83H∩17H=03H,(A)=03H;(17)=34H∪03H=37H,(A)=03H;(A)=03H⊕37H=34H 再由CPL A 后得:(A)=CBH 。評分標(biāo)準(zhǔn):結(jié)果對,無過程記3分;結(jié)果錯,有過程則每句記1分。
| | 三、閱讀程序題(每小題5分,共20分)
1.已知(A)=83H,(R0)=17H,(17H)=34H,試寫出80C51執(zhí)行下列程序段后,A的內(nèi)容(要求寫出分析過程)。
ANL A,#17H ORL 17H,A XOL A,@ R0 CPL A
解:7AH∪0FH=7FH→A,SWAP A后(A)=F7H,RRC A后 (A)=FBH, (CY)=1, FBH⊕0FH=F4H→A,F(xiàn)4H∩10H=10H ∴(A)=10H,(CY)=1。評分標(biāo)準(zhǔn): 結(jié)果對,無過程記3分;結(jié)果錯,有過程,則每句記1分。
| | 2. 已知(A)=7AH和PSW=80H,試寫出80C31執(zhí)行下列程序的最終結(jié)果(要求寫出分析過程)。
ORL A ,#0FH SWAP A RRC A XRL A ,#0FH ANL A ,#10H
3.假設(shè)單片機(jī)內(nèi)部RAM地址為data單元內(nèi)存了一個數(shù)據(jù)X,試指出單片機(jī)執(zhí)行下列程序段后所實現(xiàn)的功能(要求寫出分析過程)。 解:單片機(jī)執(zhí)行上述程序后,所實現(xiàn)的功能是:將地址為data單元的內(nèi)部數(shù)據(jù)存儲器中的數(shù)X乘以10的功能。評分標(biāo)準(zhǔn): 結(jié)果對,無過程記3分;結(jié)果錯,有過程,則每句記1分。
| | MOV R0,#data
MOV A,@ R0 RL A MOV R1, A RL A RL A ADD A,R1 MOV @ R0,A 解:將X與50比較,若X=50則程序轉(zhuǎn)去執(zhí)行LOOP2程序段;若X<50則程序轉(zhuǎn)去執(zhí)行LOOP1程序段;若X>50則程序轉(zhuǎn)去執(zhí)行LOOP3程序段。 評分標(biāo)準(zhǔn): 結(jié)果對,無過程記3分;結(jié)果錯,有過程,則每句記1分。
| | 4.假定下列程序中20H單元里放的是一無符號數(shù)X,試用文字?jǐn)⑹龀绦蛩瓿傻墓δ苁鞘裁矗?/font>
MOV A,20H CJNE A,#50,COMP SJMP LOOP2 COMP: JNC LOOP3 LOOP1: … ;LOOP1程序段 LOOP2:… ;LOOP2程序段 LOOP3:… ;LOOP3程序段 END 四、簡單程序設(shè)計(每小題10分,共20分) 1.設(shè)自變量X為一無符號數(shù),存放在內(nèi)部RAM的VAR單元,函數(shù)Y存放在FUNC單元。請編出滿足如下關(guān)系的程序: file:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif X 當(dāng) X≥50 Y= 5X 當(dāng) 50>X≥20 2X 當(dāng) X<20 解: VAR EQU 20H 評分標(biāo)準(zhǔn): 程序結(jié)構(gòu)對記4分, 實現(xiàn)X≥50,50>X≥20,X<20每一分支為2分,結(jié)果保存2分。
| | FUNC EQU 21H
ORG 0100H MAIN: MOV A,VAR CJNE A,#50,COMP1 COMP1:JC LOOP1 MOV R1,A SJMP DONE LOOP1: CJNE A,#20,COMP2 COMP2:JNC LOOP3 RL A MOV R1,A SJMP DONE LOOP3: RL A RL A ADD A,VAR MOV R1,A DONE: MOV FUNC,R1
2.編寫一個由P1.0口周期輸出高低電平各2ms的方波信號的程序,系統(tǒng)采用12MHz晶振,由T0工作在方式2定時100μS,并采用中斷響應(yīng)方式實現(xiàn)2mS定時。提示: 評分標(biāo)準(zhǔn): 程序結(jié)構(gòu)對記5分,其中定時器方式1分,初值計算2分,啟動定時器1分,中斷次數(shù)計數(shù)器1分;中斷服務(wù)程序5分,其中開中斷1,入口地址對1分,P1.0取反1分,減1和判斷結(jié)束指令1分,中斷返回指令1分;
| |
解: ORG1000H AJMP START ORG 000BH LJMP INTP START::MOVSP ,#60H ANL TMOD ,#0F0H ORL TMOD , #02H MOV TH0 ,#9CH MOV TL0,#9CH SETB TR0 SETB ET0 SETB EA MOV R5 ,#14H SJMP $ INTP: DJNZ R5 , ENDP CPL P1.0 MOV R5 , #14H ENDP:RETI END 五、應(yīng)用題(每小題10分,共30分) 1. DAC0832芯片與8051單片機(jī)相連的接口電路如下圖所示,假設(shè)fOSC=6MHz,試編寫程序,使得在輸出端V0得到占空比為1:3、周期為9毫秒的方波信號輸出。要求高電平用0FFH,低電平用00H送DAC轉(zhuǎn)換實現(xiàn),沒有連接的地址線均視為1。 提示:其中,高電平時間為3毫秒,低電平時間為6毫秒,均可采用延時1mS子程序調(diào)用的方式,延時時間可近似實現(xiàn)。MOV RX ,#X 指令執(zhí)行時間為1個機(jī)器周期,DJNZ RX ,LOOP指令執(zhí)行時間為2個機(jī)器周期。 file:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg 解:根據(jù)題意要求編寫程序如下 ORG 2000H LOP0: MOV R2,#03H LOP1: MOV DPTR,#0BFFFH MOV A,#0FFH MOVX @DPTR,A ACALLDELAY DJNZ R2,LOP1 MOV R2,#06H LOP2: MOV DPTR,#0BFFFH MOV A,#00H MOVX @DPTR,A ACALL DELAY DJNZ R2,LOP2 AJMP LOP0 ; ORG 3000H DELAY: MOV R6,#0FAH DEL1: DJNZ R6,DEL1 RET END
評分標(biāo)準(zhǔn):程序結(jié)構(gòu)正確6分,0832地址正確2分,延時子程序2分。 2、假設(shè)圖2中PA口接一組開關(guān),PB口接一組指示燈,將MCS-51工作寄存器R7的內(nèi)容送指示燈,將開關(guān)狀態(tài)讀入工作寄存器R2。試編寫程序。*提示:8255的控制字格式
|
| file:///C:/Users/17372/AppData/Local/Temp/msohtmlclip1/01/clip_image007.gif |
解: 評分標(biāo)準(zhǔn): 程序結(jié)構(gòu)正確,記4分; 8255地址正確,記3分; 端口方式設(shè)置正確,記2分; R7的內(nèi)容送指示燈,記1分; 開關(guān)狀態(tài)讀入工作寄存器R2,記1分。
| | MOV DPTR,#7FFFH
MOV A,#90H MOVX @DPTR,A MOV DPTR,#7FFDH MOV A,R7 MOVX @DPTR,A MOV DPTR,#7FFCH MOVX A,@DPTR MOV R2,A
2. 一個MCS-51擴(kuò)展系統(tǒng),用地址譯碼法常規(guī)最多可擴(kuò)展多少片6264?它們的地址范圍各為多少?試畫出其邏輯圖。 解:用地址全譯碼法常規(guī)最多可擴(kuò)展8片6264,各片地址:0000H~1FFFH, 2000H~3FFFH,4000H~5FFFH, 6000H~7FFFH,8000H~9FFFH, A000H~BFFFH,C000H~DFFFH, E000H~FFFFH。
MCS51
評分標(biāo)準(zhǔn):擴(kuò)展片數(shù)及各片地址范圍正確4分,譯碼電路2分,6264地址總線和數(shù)據(jù)總線擴(kuò)展電路2分,讀、寫控制連線2分 |