




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第二章2 80C51單片機的存儲器的組織采用何種結(jié)構(gòu)?存儲器地址空間如何劃分?各地址空間的地址范圍和容量如何?在使用上有何特點?答:采用哈佛結(jié)構(gòu),在物理上設(shè)計成程序存儲器和數(shù)據(jù)存儲器兩個獨立的空間;80C51基本型單片機片內(nèi)程序存儲器為4KB,地址范圍是0000H-0FFFH,用于存放程序或常數(shù);片內(nèi)數(shù)據(jù)存儲器為128字節(jié)RAM,地址范圍是00H-7FH,用于存放運算的中間結(jié)果、暫存數(shù)據(jù)和數(shù)據(jù)緩沖;另外在80H-FFH還配有21個SFR。第三章7為什么說布爾處理功能是80C51單片機的重要特點?答:單片機指令系統(tǒng)中的布爾指令集、存儲器中的位地址空間與CPU中的位操作構(gòu)成了片內(nèi)的布爾功能系統(tǒng),它
2、可對位(bit)變量進行布爾處理,如置位、清零、求補、測試轉(zhuǎn)移及邏輯“與”、“或”等操作。在實現(xiàn)位操作時,借用了程序狀態(tài)標(biāo)志器(PSW)中的進位標(biāo)志Cy作為位操作的“累加器”。 8對于80C52單片機內(nèi)部RAM還存在高128字節(jié),應(yīng)采用何種方式訪問?答:寄存器間接尋址方式。15試編寫程序,將內(nèi)部RAM的20H、21H、22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH單元。答:MOV 2FH,20H MOV 2EH,21HMOV 2DH,22H16試編寫程序,完成兩個16位數(shù)的減法:7F4DH2B4EH,結(jié)果存入內(nèi)部RAM的30H和31H單元,30H單元存差的高8位,31H單元存差的低8位
3、。答:CLR CYMOV 30H,#7FHMOV 31H,#4DHMOV R0, #31HMOV A,R0SUBB A ,#4EMOV R0,A ;保存低字節(jié)相減結(jié)果DEC R0MOV A, R0SUBB A,#2BHMOV R0,A ;保存高字節(jié)相減結(jié)果17試編寫程序,將R1中的低4位數(shù)與R2中的高4位數(shù)合并成一個8位數(shù),并將其存放在R1中。答:MOV A,R2ANL A,#0F0HORL R1,A18試編寫程序,將內(nèi)部RAM的20H、21H單元的兩個無符號數(shù)相乘,結(jié)果存放在R2、R3中,R2中存放高8位,R3中存放低8位。答:MOV A,20HMOV B,21HMUL ABMOV R3,A
4、MOV R2,B19若(CY)=1,(P1)=10100011B,(P3)=01101100B。試指出執(zhí)行下列程序段后,CY、P1口及P3口內(nèi)容的變化情況。 MOV P1.3,C MOV P1.4,C MOV C,P1.6 MOV P3.6,C MOV C,P1.0 MOV P3.4,C答:(CY)=1, (P1)=10111011B, (P3)=00111100B第四章3常用的程序結(jié)構(gòu)有哪幾種?特點如何?答:順序程序:無分支、無循環(huán)結(jié)構(gòu)的程序,其執(zhí)行流程是依指令在存儲器中的存放順序進行的;分支程序:可以改變程序的執(zhí)行順序;循環(huán)程序:按某種控制規(guī)律重復(fù)執(zhí)行的程序,控制一部分指令重復(fù)執(zhí)行若干次,
5、以便用簡短的程序完成大量的處理任務(wù)。4子程序調(diào)用時,參數(shù)的傳遞方法有哪幾種?答:利用累加器或寄存器;利用存儲器;利用堆棧。6設(shè)被加數(shù)存放在內(nèi)部RAM的20H、21H單元,加數(shù)存放在22H、23H單元,若要求和存放在24H、25H中,試編寫出16位無符號數(shù)相加的程序(采用大端模式存儲)。答:程序如下:ORG 0000HMOV R0,21HMOV R1,23HMOV A,R0ADD A,R1MOV 25H,ADEC R0DEC R1MOV A,R0ADDC A,R1MOV 24H,ASJMP $END7編寫程序,把外部RAM中1000H101FH的內(nèi)容傳送到內(nèi)部RAM的30H4FH中。答:ORG
6、0000H MOV DPTR,#1000H MOV R0,#30H MOV R7,#32LOOP:MOVX A,DPTR MOV R0,A INC R0 INC DPTR DJNZ R7,LOOP RET8編寫程序,實現(xiàn)雙字節(jié)無符號數(shù)加法運算,要求 (R0R1)+(R6R7)(60H61H)。答:ORG 0000HMOV A,R1 ADD A,R7MOV 61H,AMOV A,R0 ADDC A,R6 MOV 60H,A SJMP $ END9若80C51的晶振頻率為6MHz,試計算延時子程序的延時時間。DELAY:MOV R7,#0F6H LP:MOV R6,#0FAH DJNZ R6,$
7、DJNZ R7,LP RET答:延時時間: 2µs*1+((1+2*250+2)*246)+2+2=0.247486秒(含調(diào)用指令2個機器周期)10在內(nèi)部RAM 的30H37H單元存有一組單字節(jié)無符號數(shù)。要求找出最大數(shù)存入BIG單元。試編寫程序?qū)崿F(xiàn)。答: ORG 0000H BIG DATA 2FH ONE DATA 2AH TWO DATA 2BH START:MOV R7,#7 ;比較次數(shù) MOV R0,#30H LOOP:MOV A,R0 MOV ONE,A INC R0 MOV TWO,R0 CLR C SUBB A,R0 JC NEXT ;ONE小,TWO大繼續(xù)比下一對數(shù)
8、MOV R0,ONE ;ONE大放后面(交換) DEC R0 MOV R0,TWO ;TWO小放前面 INC R0 ; NEXT:DJNZ R7,LOOP MOV BIG,37H SJMP $ END11編寫程序,把累加器A中的二進制數(shù)變換成3位BCD碼,并將百、十、個位數(shù)分別存放在內(nèi)部RAM的50H、51H、52H中。答:單字節(jié)二進制數(shù)轉(zhuǎn)換為壓縮的BCD碼僅需要2個字節(jié);在將壓縮的BCD碼拆分存于3個單元。 org 0 MOV 52H,#0 MOV 51H,#0 MOV 50H,#0 MOV A,#0FDh LCALL DCDTH SJMP $ DCDTH:MOV R7,#8 MOV R0,
9、A ;暫存于R0 LOOP:CLR C MOV A,R0 RLC A MOV R0,A MOV R1,#51H; MOV A,R1 ; ADDC A,R1 ; DA A ; MOV R1,A ; DEC R1 MOV A,R1 ADDC A,R1 DA A MOV R1,A DJNZ R7,LOOP INC R1 ;50H已是結(jié)果,R1指向51H,51H單元需拆分 MOV A,#00H XCHD A,R1 MOV 52H,A MOV A,R1 SWAP A MOV R1,A RET END12編寫子程序,將R1中的2個十六進制數(shù)轉(zhuǎn)換為ASCII碼后存放在R3和R4中。答: ORG 0 MOV
10、R1,#5BH MOV A,R1 ANL A,#0F0H SWAP A ACALL ASCII MOV R3,A MOV A,R1 ANL A, #0FH ACALL ASCII MOV R4, A SJMP $ASCII:PUSH ACC CLR C SUBB A, #0AH POP ACC JC LOOP ADD A, #07HLOOP: ADD A, #30H RET END13編寫程序,求內(nèi)部RAM中50H59H十個單元內(nèi)容的平均值,并存放在5AH單元。答: ORG 0000H MOV R7,#10 MOV R0,#50H MOV B,#10 CLR C CLR A LOOP:ADDC
11、 A,R0 INC R0 DJNZ R7,LOOP DIV AB MOV 5AH,A SJMP $ END14如圖4.10所示,編制程序?qū)崿F(xiàn):上電后顯示“P”,有鍵按下時顯示相應(yīng)的鍵號“0”“7”。答:實現(xiàn)程序如下:TEMP EQU 30H ORG 0000H JMP START ORG 0100HSTART:MOV SP,#5FH MOV P0,#8CH ;正序顯示"P" MOV P3,#0FFH ;輸入方式 CLR CYNOKEY:MOV A,P3 CPL A JZ NOKEY ;無鍵按下 MOV TEMP,P3 ;有鍵按下 CALL D10ms MOV A,P3 CJ
12、NE A,TEMP,NOKEY ;去抖動 MOV R2,#0 ;鍵號計數(shù)器復(fù)位 MOV A,TEMP LP:RRC A JNC DONE INC R2 SJMP LP DONE:MOV A,R2 MOV DPTR,#CODE_P0 MOVC A,A+DPTR MOV P0,AJMP NOKEYD10ms:MOV R5,#10 ;10MSD1ms:MOV R4,#249 DL:NOP NOP DJNZ R4,DL DJNZ R5,D1ms RET CODE_P0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 80H,90H,88H,83H,0C6H,0A
13、1H,86H,8EH END 第五章2.某系統(tǒng)有三個外部中斷源1、2、3,當(dāng)某一中斷源變低電平時便要求CPU處理,它們的優(yōu)先處理次序由高到低為3、2、1,處理程序的入口地址分別為2000H、2100H、2200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的入口即可)。答:將3個中斷信號經(jīng)電阻線或,接。ORG 0000HLJMP MAINORG 00013HLJMP ZDFZ ORG 0040HMAIN:SETB EA SETB EX1 SJMP $ 0RG 0200HZDFZ:PUSH PSW PUSH ACC JB P1.0,DV0 JB P1.1,DV1 JB P1.2,DV2INRET:PO
14、P ACC POP PSWRETIORG 2000H DV0:-JMP INRETORG 2100HDV1:-JMP INRETORG 2200H DV2:-JMP INRET3.外部中斷源有電平觸發(fā)和邊沿觸發(fā)兩種觸發(fā)方式,這兩種觸發(fā)方式所產(chǎn)生的中斷過程有何不同?怎樣設(shè)定?答:當(dāng)IT0=0時,為電平觸發(fā)方式。電平觸發(fā)方式時,CPU在每個機器周期的S5P2采樣引腳電平,當(dāng)采樣到低電平時,置IE0向CPU請求中斷;采樣到高電平時,將IE0清0。在電平觸發(fā)方式下,CPU響應(yīng)中斷時,不能自動清除IE0標(biāo)志。電平觸發(fā)方式時,外部中斷源的有效低電平必須保持到請求獲得響應(yīng)時為止,不然就會漏掉;在中斷服務(wù)結(jié)束
15、之前,中斷源的有效的低電平必須撤除,否則中斷返回之后將再次產(chǎn)生中斷。該方式適合于外部中斷輸入為低電平,且在中斷服務(wù)程序中能清除外部中斷請求源的情況。當(dāng)IT0=1時,為邊沿觸發(fā)方式。邊沿觸發(fā)方式時,CPU在每個機器周期的S5P2采樣引腳電平,如果在連續(xù)的兩個機器周期檢測到引腳由高電平變?yōu)榈碗娖剑吹谝粋€周期采樣到=1,第二個周期采樣到=0,則置IE01,產(chǎn)生中斷請求。在邊沿觸發(fā)方式下,CPU響應(yīng)中斷時,能由硬件自動清除IE0標(biāo)志。邊沿觸發(fā)方式時,在相繼兩次采樣中,先采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在IE0或IE1中將鎖存一個邏輯1。若CPU暫時不能響應(yīng),中斷申請標(biāo)志也不會
16、丟失,直到CPU響應(yīng)此中斷時才清0。另外,為了保證下降沿能夠被可靠地采樣到,和引腳上的負脈沖寬度至少要保持一個機器周期(若晶振頻率為12MHz,為1微秒)。邊沿觸發(fā)方式適合于以負脈沖形式輸入的外部中斷請求。4.定時/計數(shù)器工作于定時和計數(shù)方式時有何異同點?答:定時/計數(shù)器實質(zhì)是加1計數(shù)器。不同點:設(shè)置為定時器模式時,加1計數(shù)器是對內(nèi)部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值乘以機器周期就是定時時間。設(shè)置為計數(shù)器模式時,外部事件計數(shù)脈沖由T0或T1引腳輸入到計數(shù)器。在每個機器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一
17、周期又采樣到一低電平時,則計數(shù)器加1,更新的計數(shù)值在下一個機器周期的S3P1期間裝入計數(shù)器。相同點:它們的工作原理相同,它們都有4種工作方式,由TMOD中的M1M0設(shè)定,即方式0:13位計數(shù)器;方式1:16位計數(shù)器;方式2:具有自動重裝初值功能的8位計數(shù)器;方式3:T0分為兩個獨立的8位計數(shù)器,T1停止工作。8.利用定時/計數(shù)器T0從P1.0輸出周期為1s,脈寬為20ms的正脈沖信號,晶振頻率為12MHz。試設(shè)計程序。答:采用定時20ms,然后再計數(shù)1、49次的方法實現(xiàn)。a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H;b、計算計
18、數(shù)初值X:晶振為12 MHz,所以機器周期Tcy為1。Nt/ Tcy 20×103/1×10620000X216N6553620000455364E20H 即應(yīng)將4EH送入TH1中,20H送入TL1中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0030H MAIN:MOV TMOD,#01H ;設(shè)T1工作于方式2 MOV TH0,# 4EH ;裝入循環(huán)計數(shù)初值 MOV TL0,#20H ;首次計數(shù)值 LP0:SETB P1.0 ACALL NT0 CLR P1.0 MOV R7,#49 ;計數(shù)49次 LP1:ACALL NT0 D
19、JNZ R7,LP1 AJMP LP0 NT0:MOV TH0,# 4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 RET END9.要求從P1.1引腳輸出1000Hz方波,晶振頻率為12MHz。試設(shè)計程序。答:采用T0實現(xiàn)a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H;b、計算計數(shù)初值X:晶振為12 MHz,所以機器周期Tcy為1。1/1000=1×103Nt/ Tcy 0.5×103/1×106500X216N6553650065036FE
20、0CH 即應(yīng)將FEH送入TH0中,0CH送入TL0中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 000BH ;T0的中斷入口地址 LJMP DVT0 ORG 0030H MAIN:MOV TMOD,#01H ;設(shè)T0工作于方式2 MOV TH0,# 0FEH ;裝入循環(huán)計數(shù)初值 MOV TL0,#0CH ;首次計數(shù)值 SETB ET0 ;T0開中斷 SETB EA ;CPU開中斷 SETB TR0 ;啟動T0 SJMP $ ;等待中斷 DVT0:CPL P1.1 MOV TH0,# 0FEH MOV TL0,# 0CH SETB TR0 RETI E
21、ND10.試用定時/計數(shù)器T1對外部事件計數(shù)。要求每計數(shù)100,就將T1改成定時方式,控制P1.7輸出一個脈寬為10ms的正脈沖,然后又轉(zhuǎn)為計數(shù)方式,如此反復(fù)循環(huán)。設(shè)晶振頻率為12MHz。答:a、T1工作在計數(shù)方式2時,控制字TMOD配置: M1M0=10,GATE=0,C/=1,可取方式控制字為60H; T1工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為10H;b、計算初值X: 定時10ms時:晶振為12 MHz,所以機器周期Tcy為1。Nt/ Tcy 10×103/1×10610000X216N655361000055
22、536D8F0H 即應(yīng)將D8H送入TH1中,F(xiàn)0H送入TL1中。 計數(shù)100時:N100 X28N2561001569CH c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 001BH ;T1的中斷入口地址 LJMP DVT1 ORG 0030H MAIN:MOV TMOD,#60H ;T1工作于計數(shù)方式2 MOV TH1,#9CH ;裝入計數(shù)初值 MOV TL1,#9CH ; CLR P1.7 SETB ET1 ;T1開中斷 SETB EA ;CPU開中斷 SETB TR1 ;啟動T1 SJMP $ ;等待中斷 DVT1:SETB P1.7 CLR ET1
23、CLR TR1 MOV TMOD,#10H ;T1工作于定時方式1 MOV TH1,#0D8H ;裝初值 MOV TL1,#0F0H SETB TR1 JNB TF1,$ ;查詢等待10ms CLR TF1 CLR TR1 CLR P1.7 MOV TMOD,#60H ;T1工作于計數(shù)方式2 MOV TH1,#9CH ;裝初值 MOV TL1,#9CH ; SETB ET1 ;T1開中斷 SETB TR1 ;啟動T1 RETI END11.利用定時/計數(shù)器T0產(chǎn)生定時時鐘,由P1口控制8個指示燈。編一個程序,使8個指示燈依次閃動,閃動頻率為1次/秒(即,亮1秒后熄滅并點亮下一個,-)。答:采用
24、定時20ms,計數(shù)50次實現(xiàn)1秒定時。編制1秒延時子程序,由主程序調(diào)用。a、T0工作在定時方式1時,控制字TMOD配置: M1M0=01,GATE=0,C/=0,可取方式控制字為01H;b、計算計數(shù)初值X:晶振為12 MHz,所以機器周期Tcy為1。Nt/ Tcy 20×103/1×10620000X216N6553620000455364E20H 即應(yīng)將4EH送入TH1中,20H送入TL1中。 c、實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0030H MAIN:CLR CYMOV A,#01H LP0:MOV P1,A CALL D1
25、SEC RL A AJMP LP0 D1SEC:MOV R7,#50 ;計數(shù)50次MOV TMOD,#01HDL:MOV TH0,#4EH MOV TL0,#20H SETB TR0 JNB TF0,$ CLR TR0 CLR TF0 DJNZ R7,DL RET END第六章180C51單片機串行口有幾種工作方式?如何選擇?簡述其特點?答:四種工作方式,由SCON中的SM0、SM1進行定義:方式0:同步移位寄存器的輸入輸出方式,主要用于擴展并行輸入或輸出口,波特率固定。方式1:10位數(shù)據(jù)的異步通信口,波特率可變。方式2:11位數(shù)據(jù)的異步通信口,波特率固定。方式3:11位數(shù)據(jù)的異步通信口,波特率可變。5利用單片機串行口擴展并行輸入接口電路如圖所示。試編寫程序完成將SW1SW8的狀態(tài)反應(yīng)在P0口所接的LED上(如SW1閉合時L7應(yīng)點亮)。答:電路圖如下: ORG 0000H MOV SCON,#10H LOOP:CLR P1.7 NOP NOP NOP SETB P1.7 CLR RIJNB RI,$MOV A,SUBFSJMP LOOP E
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 漢語言文學(xué)的試題及答案
- 晚春中考試題及答案
- java面試題及答案機器人
- 做法口訣考試題及答案
- 機電工程創(chuàng)新方法論試題及答案
- 軟件設(shè)計師考試重要知識點及試題答案
- 應(yīng)試技巧軟件設(shè)計師試題及答案
- 國際法對公共政策的影響試題及答案
- 公共政策過程中的協(xié)作機制研究試題及答案
- 網(wǎng)絡(luò)工程師持續(xù)學(xué)習(xí)試題及答案
- 消化道出血護理查房7
- 太陽能光伏發(fā)電設(shè)備采購合同
- 江蘇省常州市教育學(xué)會2023-2024學(xué)年下學(xué)期八年級數(shù)學(xué)考試卷
- DZ∕T 0214-2020 礦產(chǎn)地質(zhì)勘查規(guī)范 銅、鉛、鋅、銀、鎳、鉬(正式版)
- 2024年新教科版六年級下冊科學(xué)期末綜合測試卷(十九)
- 精神科進修匯報
- 2023年新高考天津卷歷史高考真題解析(參考版)
- 人工智能在文化遺產(chǎn)數(shù)字化保護中的應(yīng)用
- GB/T 41666.4-2024地下無壓排水管網(wǎng)非開挖修復(fù)用塑料管道系統(tǒng)第4部分:原位固化內(nèi)襯法
- 智能安防行業(yè)的技術(shù)應(yīng)用與商業(yè)模式
- 煤礦機電和運輸安全管理
評論
0/150
提交評論