《單片機應(yīng)用技術(shù)》復(fù)習(xí)題及答案電科2018.doc
《《單片機應(yīng)用技術(shù)》復(fù)習(xí)題及答案電科2018.doc》由會員分享,可在線閱讀,更多相關(guān)《《單片機應(yīng)用技術(shù)》復(fù)習(xí)題及答案電科2018.doc(14頁珍藏版)》請在裝配圖網(wǎng)上搜索。
單片機應(yīng)用技術(shù)復(fù)習(xí)題及答案 一、簡答題(回答要點,并簡明扼要解釋) 第一、二章 1. MCS51系列單片機的內(nèi)部資源有哪些?說出8031、8051和8751的區(qū)別。 答:MCS51系列單片機上有1個8位CPU、128B的RAM、21個SFR、4個并行口、1個串行口、2個定時計數(shù)器和中斷系統(tǒng)等資源。8031、8051和8751的區(qū)別是8031內(nèi)無ROM;8051內(nèi)有4KB的掩膜ROM;8751內(nèi)有4KB的EPROM。 2. 在MCS-51單片機系統(tǒng)中,外接程序存儲器和數(shù)據(jù)存儲器共用16位地址線和8位數(shù)據(jù)線,會不會發(fā)生沖突,并說明為什么? 答:不會。 因為MCS-51單片機訪問外部程序存儲器用的指針是PC,控制線為,而訪問外部數(shù)據(jù)存儲器時,使用的指針是DPTR,有效的控制信號是,。所以不會發(fā)生沖突。 3. MCS-51單片機的內(nèi)部RAM共有128個字節(jié)存儲單元(00H~7FH),根據(jù)功能可將其劃分為三個區(qū)域,試述這三個區(qū)域的特點及其首末地址 答:80C51單片機的片內(nèi)RAM低128單元分為: 1)寄存器區(qū)(00H-1FH),32字節(jié),共有四個寄存器組,由RS1和RS0設(shè)置,主要為寄存器訪問方式,常用數(shù)據(jù)存儲。 2)位尋址區(qū)(20H-2FH),16字節(jié),128個位。主要用于位數(shù)據(jù)存放,也可用于存放字節(jié)數(shù)據(jù)。 3)普通用戶RAM區(qū)(30H-7FH),80字節(jié),只用于存放字節(jié)數(shù)據(jù)。 4. 存儲器的容量如下所示,若它的首地址為0000H,寫出它的末地址。 (1)存儲容量1KB,末地址為多少? (2)存儲容量4KB,末地址為多少? 答:(1)末地址為3FFH; (2)末地址為FFFH 5. 簡述累加器的ACC的作用 答:(1)8位專用寄存器。 (2)運算時存放一個操作數(shù)。 (3)運算后存放運算結(jié)果,所以稱它為累加器。 6. DPTR是什么寄存器?它的作用是什么?它是由哪幾個寄存器組成? 答:DPTR是數(shù)據(jù)寄存器; 作用:1)在訪問外部數(shù)據(jù)存儲器時用DPTR 作為地址指針,尋址整個64KB 外部數(shù)據(jù)存儲器空間;2)用DPTR 作為基址寄存器,對程序存儲器空間進行訪問。 DPTR 由DPL 和DPH兩個8位寄存器構(gòu)成。 7. 說明MCS-51的外部引腳EA的作用? 答:為訪問內(nèi)/外部程序存儲器控制信號。 高電平時,對ROM的讀操作先從內(nèi)部4KB開始,當(dāng)?shù)刂贩秶?KB時自動切換到外部進行;當(dāng)為低電平,對ROM 的讀操作限定在外部程序存儲器。 8. 開機復(fù)位后,CPU 使用的是哪組工作寄存器?它們的地址是什么?CPU如何確定和改變當(dāng)前工作寄存器組? 答:開機復(fù)位后,CPU 使用的是0組工作寄存器; 它們的地址是什么00H~07H; CPU通過PSW 的PSW.4、PSW.3兩位來確定和改變當(dāng)前工作寄存器組。 9. MCS-51單片機的時鐘周期與振蕩周期之間有什么關(guān)系?一個機器周期的時序如何劃分? 答:時鐘周期是單片機最基本的時間單位。機器周期則是完成某一個規(guī)定操作所需的時間。一個機器周期為6個時鐘周期,共12個振蕩周期性,依次表示為S1P1、S1P2、……S6P1、S6P2。 10. 單片機的復(fù)位(RST)操作有幾種方法,復(fù)位功能的主要作用。 答:單片機的復(fù)位操作方式有:1、上電復(fù)位;2、手動復(fù)位。 復(fù)位功能的主要作用是:復(fù)位時,PC初始化為0000H,使MCS-51單片機從0000H開始執(zhí)行程序。 11. 簡述堆棧。 ?。?)在程序中斷或子程序調(diào)用時,為了保護返回地址(斷點)和保護現(xiàn)場而設(shè)立的RAM區(qū)。 (2)用MOV SP,#DATA指令建立堆棧。 ?。?)存放數(shù)據(jù)按“后進先出”原則進行。 (4)利用PUSH、POP指令即可進行進棧、出棧操作。 第三章 12. MCS-51指令系統(tǒng)有哪幾種尋址方式? 答:MCS-51指令系統(tǒng)有7種尋址方式,分別為:寄存器尋址,直接尋址,寄存器間接尋址,立即尋址,相對尋址,基址寄存器加變址寄存器間接尋址(變址尋址),位尋址等方式。 13. MCS-51單片機對I/O口操作有哪幾類指令?并要求每類指令寫出兩條指令 答:單片機對I/O口操作有兩類指令 讀引腳指令和讀修改寫指令 例如讀引腳指令MOV A, P1; ANL A,P1 讀修改寫指令 ANL P1,#0FH ;ORL P1,#0FH 14. 若SP=60H,標(biāo)號LABEL所在的地址為3456H。LCALL指令的地址為2000H,執(zhí)行指令如下: 2000H LCALL LABEL 后,堆棧指針SP和堆棧內(nèi)容發(fā)生了什么變化?PC的值等于什么?如果將指令LCALL 直接換成ACALL是否可以?如果換成ACALL指令,可調(diào)用的地址范圍是什么? 答:1)SP=SP+1=61H (61H)=PC的低字節(jié)=03H SP=SP+1=62H (62H)=PC的高字節(jié)=20H 2)PC=3456H 3)可以 4)2KB=2048 Byte 第四章 15. 為什么外擴存儲器時,P0口要外接鎖存器,而P2口卻不接? 答:P0口要傳送外部數(shù)據(jù)存儲器的低8位地址和8位數(shù)據(jù),而P2口只傳送外部數(shù)據(jù)存儲器的高8位地址。 16. 常用的I/O接口編址有哪兩種方式?它們各有什么特點?MCS-51的I/O端口編址采用的是哪種方式? 答:一.獨立編址方式:獨立編址方式就是I/O地址空間和存儲器地址空間分開編址。獨立編址的優(yōu)點是I/O地址空間和存儲器地址空間相互獨立,界限分明。但是,卻需要設(shè)置一套專門的讀寫I/O的指令和控制信號。 二.統(tǒng)一編址方式:這種編址方式是把I/O端口的寄存器與數(shù)據(jù)存儲器單元同等對待,統(tǒng)一進行編址。統(tǒng)一編址的優(yōu)點是不需要專門的I/O指令,直接使用訪問數(shù)據(jù)存儲器的指令進行I/O操作,簡單、方便且功能強大。MCS-51單片機使用的是I/O和外部數(shù)據(jù)存儲器RAM統(tǒng)一編址的方式。 17. MCS-51采用6MHz的晶振,定時0.5ms,如用定時器方式1時的初值(16進制數(shù))應(yīng)為多少?(寫出計算過程) 答:T0 初值=216-500μm/2μm =65536-250 = 65286 =FF06H 18. 8051的定時/計數(shù)器T0的有幾種工作模式,對各工作模式作簡單的敘述。 答: 定時/計數(shù)器T0的有4種工作模式: 方式0:13位定時/計數(shù)器; 方式1:16位定時/計數(shù)器; 方式2:8位重裝初值的定時/計數(shù)器; 方式3:2個獨立的8位定時/計數(shù)器, T1用作波特率發(fā)生器。 19. 定時/計數(shù)器用作定時器時,其計數(shù)脈沖由誰提供?定時時間與哪些因素有關(guān)? 答:定時/計數(shù)器作定時時,其計數(shù)脈沖由系統(tǒng)振蕩器產(chǎn)生的內(nèi)部時鐘信號12分頻后提供。定時時間與時鐘頻率和定時初值有關(guān)。 20. THX與TLX(X=0,1)是普通寄存器還是計數(shù)器?其內(nèi)容可以隨時用指令更改嗎?更改后的新值是立即刷新還是等當(dāng)前計數(shù)器計滿后才能刷新? 答:THX與TLX(X=0,1)是由特殊功能寄存器構(gòu)成的計數(shù)器,其內(nèi)容可以隨時用指令更改,更改后的新值是立即刷新。但在讀THX、TLX的值時,應(yīng)該先讀THX值,后讀TLX,再讀THX。若兩次讀得THX相同,則可確定讀得的內(nèi)容正確。若前后兩次讀得的THX有變化,再重復(fù)上述過程。 21. MCS51的中斷系統(tǒng)有幾個中斷源?幾個中斷優(yōu)先級?如何用指令設(shè)置各中斷源的優(yōu)先級別?如果同一級別同時存在多個中斷申請時,CPU按什么順序響應(yīng)(按自然優(yōu)先級順序?qū)懗龈鱾€中斷源)?各個中斷源的入口地址是多少?; 答:MCS51單片機有5個中斷源,2個中斷優(yōu)先級,中斷優(yōu)先級由特殊功能寄存器IP控制,在出現(xiàn)同級中斷申請時,CPU按如下順序響應(yīng)各個中斷源的請求:INT0、T0、INT1、T1、串口,各個中斷源的入口地址分別是0003H、000BH、0013H、001BH、0023H 22. 定時器T1中斷,用指令如何實現(xiàn)?CPU響應(yīng)中斷后,轉(zhuǎn)到何處開始執(zhí)行服務(wù)程序?此中斷服務(wù)程序的最后一條指令是什么?功能怎樣? 答: 1)用指令SETB TF1 產(chǎn)生中斷。 2)CPU響應(yīng)中斷后,轉(zhuǎn)到001BH處開始執(zhí)行服務(wù)程序。 3)中斷服務(wù)程序的最后一條指令是 RETI 4)RETI的功能是將斷點地址彈給PC,返回斷點。 23. CPU響應(yīng)中斷的條件有哪些? 答:1、CPU沒有處在一個同級或高級的中斷服務(wù)中 2、查詢中斷請求的機器周期是當(dāng)前指令的最后一個機器周期 3、當(dāng)前指令不是返回指令(RET,RETI)或訪問IE、IP的指令。 24. 想將中斷服務(wù)程序放置在程序存儲區(qū)的任意區(qū)域,在程序中應(yīng)該作何種設(shè)置?請舉例加以說明。 答:以外部中斷0為例說明,外部中斷0的入口地址是0003H,想將外部中斷0的中斷服務(wù)程序放置在程序存儲區(qū)的任意區(qū)域可使用跳轉(zhuǎn)指令。如: ORG 0003H LJMP INT0 … INT0:………… … RETI 25. 已知一MCS51單片機系統(tǒng)使用12MHZ的外部晶體振蕩器,計算: 1)該單片機系統(tǒng)的狀態(tài)周期與機器周期各為多少? 2)當(dāng)單片機的定時器0(T0)工作在方式2時,T0的最大定時時間為多少? 答:1)狀態(tài)周期=2/fosc=0.167μm 機器周期=12/fosc=1μm 2)TMAX =28機器周期 =2561=256μm 26. 在由8031CPU芯片設(shè)計的系統(tǒng)中,若規(guī)定外部中斷0為電平觸發(fā)方式,高優(yōu)先級,此時,特殊功能寄存器TCON、IE、IP為多少? 答:TCON=00H IE=81H IP=01H 若規(guī)定外部中斷1邊沿觸發(fā)方式,高優(yōu)先級,寫出初始化程序。 答:初始化程序如下: SETB EA SETB EX1 SETB PX1 CLR IT1 27. 編制中斷服務(wù)程序時,為什么在主程序的初始化程序中,必須設(shè)置 SETB EA 這條指令,以及在中斷服務(wù)程序中為什么通常需要保護現(xiàn)場和恢復(fù)現(xiàn)場? 答:中斷允許寄存器IE中有1個總的開關(guān)中斷控制位EA,當(dāng)EA=0時,所有的中斷請求被屏蔽,CPU不接受任何中斷;只有當(dāng)EA=1時,CPU才開放中斷。所以主程序的初始化程序中,必須設(shè)置 SETB EA 這條指令。 現(xiàn)場是指中斷時刻單片機中某些寄存器和儲存器單元中的數(shù)據(jù)或狀態(tài),為了使中斷服務(wù)程序的執(zhí)行不破壞這些數(shù)據(jù)和狀態(tài),以免在中斷返回后影響主程序的運行,因此要這些數(shù)據(jù)和狀態(tài)送入堆棧保存,這就是現(xiàn)場保護。中斷結(jié)束后,在返回主程序謙,則需要把保存的現(xiàn)場數(shù)據(jù)和狀態(tài)從堆棧中彈出,以恢復(fù)那些寄存器和存儲器單元中的原有內(nèi)容,這就是現(xiàn)場恢復(fù)。 24. 中斷服務(wù)子程序返回指令RETI和普通子程序返回指令RET有什么區(qū)別? 答:中斷服務(wù)子程序返回指令RETI和普通子程序返回指令RET的區(qū)別在于: RETI指令在返回的同時清除相應(yīng)的優(yōu)先級觸發(fā)器,以允許下次中斷。 28. 8051的串行通信的有幾種工作模式,請對各工作模式作簡單的敘述。 答: 串行通信共有4種工作模式 ,分別是: 模式0:8位同步移位寄存器;TXD時鐘端,RXD數(shù)據(jù)端,波特率fosc/12 模式1:10位兩機的異步通信;TXD數(shù)據(jù)發(fā)送端,RXD數(shù)據(jù)接收端,波特率可變, 模式2:11位可多機的異步通信;TXD數(shù)據(jù)發(fā)送端,RXD數(shù)據(jù)接收端,波特率fosc/32或fosc/64。 模式3: 11位可多機的異步通信;TXD數(shù)據(jù)發(fā)送端,RXD數(shù)據(jù)接收端,波特率可變,波特率可變,公式與模式1同。 29. 通信波特率為2400bps,fosc=11.2592MHZT1工作在模式2,其SMOD=0計算T1的初值X。答: 通信波特率為2400bps,fosc=11.2592MHZT1工作在模式2,其SMOD=0計算T1的初值X。 根據(jù) 波特率= ,得出n=76800 根據(jù) ,得出X=244,即X=F4H 二、編程題 1、 從P1口引腳讀入數(shù)據(jù),并將該數(shù)據(jù)寫入外部RAM 2100H單元。 MOV P1,#0FFH MOV DPTR,#2100H MOV A,P1 MOV @DPTR,A 2、 將內(nèi)部RAM 30H單元的內(nèi)容求補后,送回30H單元。 MOV A,30H CPL A ADD A,#1 MOV 30H,A 3、 使外部RAM 2100H單元內(nèi)容的高兩位清“0”,其余位變反。 MOV DPTR,#2100H MOV A,@DPTR CPL A ANL A,#3FH MOV @DPTR,A 4、 將R6寄存器的內(nèi)容取反,送到內(nèi)部RAM 20H單元。 MOV A,R6 CPL A MOV R6,A MOV 20H, A 5、 將R6寄存器的內(nèi)容高4位與低4位交換,送到內(nèi)部RAM 20H單元。 MOV A,R6 SWAP A MOV R6,A MOV 20H, A 6、 將程序存儲器 0600H單元內(nèi)容送到內(nèi)部RAM 30H單元中。 MOV DPTR,#0600H CLR A (或MOV A,#0H) MOVC A,@A+DPTR MOV 30H,A 7、 請將ROM 1000H單元內(nèi)容送外部RAM 1000H單元。 MOV DPTR,#1000H CLR A (或MOV A,#0H) MOVC A,@A+DPTR MOVX @DPTR,A 8、 請將ROM 1000H單元內(nèi)容送R6單元。 MOV DPTR,#1000H CLR A (或MOV A,#0H) MOVC A,@A+DPTR MOV R6,A 9、 將外部RAM 2100H單元的內(nèi)容取反后,送回原單元。 MOV DPTR,#2100H MOVX A,@DPTR CPL A MOVX @DPTR,A 10、 將外部RAM 2200H單元內(nèi)容的高4位清“0”,低4位不變。 MOV DPTR,#2200H MOVX A,@DPTR ANL A,#0FH MOVX @DPTR,A 11、 將外部RAM 3100H單元的內(nèi)容求補后,送回原單元中。 MOV DPTR,#3100H MOVX A,@DPTR CPL A ADD A,#01H (或 INC A) MOVX @DPTR,A 12、 將內(nèi)部RAM 30H單元的內(nèi)容求補后,送到31H單元。 MOV A,30H CPL A ADD A,#1 (或 INC A ) MOV 31H,A 13、 使外部RAM 2000H單元內(nèi)容的高兩位置“1”,其余位變反。 MOV DPTR,#2000H MOVX A,@DPTR CPL A ORL A,#0C0H MOVX @DPTR,A 14、 將工作寄存器R7的內(nèi)容求補。 MOV A,R7 CPL A INC A (或 ADD A,#1) MOV R7,A 15、 編制定時器T1中斷初始化程序,采用方式2。 MOV TMOD,#20H MOV TL1,#DATA MOV TH1,#DATA SETB TR1 SETB ET1 SETB EA 16、 編制定時器T0中斷初始化程序,采用方式1。 MOV TMOD,#01H MOV TL0,#DATA1 MOV TH0,#DATA2 SETB TR0 SETB ET0 SETB EA 17、 編制中斷初始化程序,外部中斷0開中斷(邊沿觸發(fā)),定時器0開中斷,定時器1關(guān)中斷。 SETB IT0 SETB EX0 STEB ET0 CLR ET1 SETB EA 18、 編制中斷初始化程序,外部中斷1開中斷(邊沿觸發(fā))、定時器0關(guān)中斷、定時器1開中斷、串行口關(guān)中斷。 SETB IT1 SETB EX1 CLR ET0 SETB ET1 CLR ES SETB EA 19、 編程將內(nèi)部RAM 25H和26H單元的BCD碼轉(zhuǎn)換成壓縮BCD碼存放在30H單元中。 MOV A, 26H SWAP A ORL A, 25H MOV 30H, A 20、 編程將內(nèi)部RAM 30H和31H單元中的低4位合并為一個字節(jié),存放在40H單元中. ORG 0000H MOV A, 30H ANL A, #0FH SWAP A MOV B, A MOV A,31H ANL A,#0FH ADD A, B MOV 40H,A RET 21、 編程將內(nèi)部RAM 30H~3FH單元內(nèi)容送到外部RAM 1000H~100FH單元。 ORG 0000H MOV R0,#30H MOV DPTR,#1000H MOV R7,#10H AT0:MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R7,AT0 RET 22、 編程將程序存儲器 2000H~200FH單元內(nèi)容送到內(nèi)部RAM 40H~4FH單元。 ORG 0000H MOV R0,#40H MOV DPTR,#2000H MOV R7,#10H AT0:CLR A MOVC A, @A+DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,AT0 RET 23、 編程將外部RAM 1500H~1507H單元內(nèi)容送到內(nèi)部RAM 30H~37H單元。 ORG 0000H MOV R0,#30H MOV DPTR,#1500H MOV R7,#8 AT0:MOVX A,@DPTR MOV @R0,A INC R0 INC DPTR DJNZ R7,AT0 RET 24、 編寫統(tǒng)計內(nèi)部RAM 20H單元中所存的單字節(jié)數(shù)二進制位中1的個數(shù),存于21H中。 ORG 0000H AT0: MOV R1, #00H MOV R7, #08H MOV A, 20H AT1: JB ACC.7, AT2 SJMP AT3 AT2: INC R1 AT3: RL A DJNZ R7, AT1 MOV 21H, R1 END 25、 編寫一循環(huán)程序,將內(nèi)部RAM的20H~2FH共16個連續(xù)單元清零。 ORG 0000H AT0: MOV R0,#20H MOV R2, #0FH CLR A AT1: MOV@R0, A INC R0 DJNZ R2, AT1 RET 26、 編程程序,將外部RAM 4000H~40FFH單元內(nèi)容全部置“1”。 ORG 0000H AT0: MOV A, #0FFH MOV R0, #0FFH MOV DPTR, #4000H AT1:MOVX @DPTR, A INC DPTR DJNZ R0, AT1 END 27、 試編寫程序,查找在內(nèi)部RAM的40H~60H單元中是否有0FFH這一數(shù)據(jù)。若有,則將51H單元置為“00H”;若未找到,則將51H單元置為“01H” ORG 0000H AT0: MOV R0,#40H MOV R2, #20H AT1: MOV A,@R0 CJNE A, #0FFH, AT2 MOV 51H, #00H SJMP AT3 AT2: INC R0 DJNZ R2, AT1 MOV 51H, #01H AT3: END 28、 編寫一循環(huán)程序,查找內(nèi)部RAM 30H~50H單元中出現(xiàn)FFH個數(shù),并將查找搭結(jié)果存入51H單元。 ORG 0000H AT0: MOV R0,#30H MOV R2, #20H MOV R3 ,#00H AT1: MOV A,@R0 CJNE A, #0FFH, AT2 INC R3 AT2: INC R0 DJNZ R2, AT1 MOV 51H, R3 END 29、 設(shè)在內(nèi)RAM 40H 開始的存儲區(qū)有若干個字符和數(shù)字,已知最后一個為字符 “F”(并且只有一個),試統(tǒng)計這些字符數(shù)字的個數(shù),結(jié)果存入30H單元中。 ORG 0000H AT0: MOV R0, #40H CLR A AT1: CJNE @R0, #46H, AT2 SJMP AT3 AT2: INC A INC R0 SJMP AT1 AT3: INC A MOV 30H, A END 三、應(yīng)用題 1.設(shè)計一個循環(huán)燈程序,如圖所示,使這些發(fā)光二極管每次只點亮一個(高電平亮),依次一個一個地點亮,循環(huán)不止(從D0開始)。 ORG 0000H AT0:MOV R7 ,#8 MOV A,#01H AT1:MOV P0,A RL A ACALL D1MS DJNZ R7,AT1 SJMP AT0 D1MS: RET END 2.根據(jù)圖示電路(P0接LED),設(shè)計一個程序,開機后LED顯示0,以后每按一次鍵(P2.7),顯示的數(shù)字加1,顯示9后,再回到0,并照此循環(huán)。(LED為共陰極,0-9的字形段碼依次為3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH) ORG 0000H AT0:MOV DPTR ,#TAB MOV R7,#10 MOV R1,#00H AT1:MOV A,R1 MOVC A,@A+DPTR MOV P0,A JB P2.7,$ INC R1 DJNZ R7,AT1 SJMP AT0 LAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH END 3.設(shè)計一個循環(huán)燈程序,如圖所示,使這些發(fā)光二極管每次只點亮一個并閃爍10次(高電平亮),再依次一個一個地點亮閃爍10次,循環(huán)不止(從D0開始)。 ORG 0000H AT0: MOV A,#01H AT1: MOV R7 ,#10 AT2:MOV P0,A ACALL D1MS MOV A, #00H ACALL D1MS DJNZ R7,AT2 RL A SJMP AT1 D1MS: RET END 4.用8051的P1口接8個發(fā)光二極管,由/INT0接一按鍵開關(guān),開始P1.0的LED亮(高電平亮),以后由/INT0按鍵每中斷一次,下一個LED亮,順序下移,且每次只一個LED亮,周而復(fù)始。請編制程序。 ORG 0000H AJMP AT0 ORG 0003H AJMP AT1 ORG 0040H AT0: MOV A, #01H MOV P1, A SETB EA SETB EX0 SETB IT0 SJMP $ AT1: RL A MOV P1, A RET1 END 5. 用8051的P0口接8個發(fā)光二極管,P1口接8個開關(guān)。每按一次開關(guān)K產(chǎn)生一個負(fù)脈沖作用于INT1,作為中斷請求信號。單片機每響應(yīng)一次中斷請求,就從開關(guān)讀入數(shù)據(jù),然后送到發(fā)光二極管顯示。 ORG 0000H AJMP AT0 ORG 0013H AJMP AT1 ORG 0040H AT0: SETB EX1 SETB IT1 SETB EA SJMP $ AT1: MOV P1, #0FFH MOV A, P1 MOV P0, A RETI END 6.用8051的P0.4-P0.7口接4個發(fā)光二極管,P1.0-P1.3口接4個開關(guān)。每按一次開關(guān)K產(chǎn)生一個負(fù)脈沖作用于INT0,作為中斷請求信號。單片機每響應(yīng)一次中斷請求,就從開關(guān)讀入數(shù)據(jù),然后送到發(fā)光二極管顯示。 ORG 0000H AJMP AT0 ORG 0003H AJMP AT1 ORG 0040H AT0: SETB EX0 SETB IT0 SETB EA SJMP $ AT1: MOV P1, #0FFH MOV A, P1 SWAP A MOV P0, A RETI END 7. 8051單片機P2口的低4位輸入開關(guān)設(shè)置的4位二進制數(shù),用P1口輸出控制一個共陰七段LED顯示器,要求每當(dāng)INT0有一個跳變時單片機從P2口輸入一個數(shù)據(jù),并將其顯示在七段LED上。請編制該程序。 ORG 0000H AJMP AT0 ORG 0003H AJMP AT1 ORG 0040H AT0: SETB EX0 SETB IT0 SETB EA SJMP $ AT1: MOV DPTR ,#TAB MOV P2, #0FFH MOV A, P2 ANL A, #0FH MOVC A,@A+DPTR MOV P1, A RETI TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH END 8.根據(jù)圖示電路(P0接LED),設(shè)計一個程序,開機后LED顯示9,以后每按一次鍵(P2.7),顯示的數(shù)字減1,顯示0后,再回到9,并照此循環(huán)。(LED為共陰極,0-9的字形段碼依次為3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH) ORG 0000H AT0:MOV DPTR ,#TAB MOV R7,#10 MOV R1,#09H AT1:MOV A,R1 MOVC A,@A+DPTR MOV P0,A JB P2.7,$ DEC R1 DJNZ R7,AT1 SJMP AT0 LAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH END 9. 根據(jù)圖示電路(P0接LED),設(shè)計一個程序,從0顯示到9再到0,每個字符顯示1秒,并照此循環(huán)不止。(LED為共陰極,0-9的字形段碼依次為3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH) ORG 0000H AT0:MOV DPTR ,#TAB MOV R7,#10 MOV R1,#00H AT1:MOV A,R1 MOVC A,@A+DPTR MOV P0,A LCALL DT1S INC R1 DJNZ R7,AT1 SJMP AT0 LAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7EH,6FH DT1S: RET END 10. 使用定時器T0以工作方式2實現(xiàn)定時,在P1.0輸出周期為200μs的連續(xù)方波。已知晶振頻率fosc=6MHz。求計數(shù)初值,方式控制字,編制相應(yīng)程序。(中斷方式) 解:(2分)計數(shù)初值X=256-50=206=CEH (2分)TMOD=02H (8分)主程序 ORG 0000H AJMP AT0 ORG 000BH AJMP AT1 ORG 0040H AT0:MOV TMOD,#02H MOV TH0, #0CEH MOV TL0, #0CEH SETB ET0 SETB EA SETB TR0 SJMP $ AT1: CPL P1.0 RETI END- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 單片機應(yīng)用技術(shù) 單片機 應(yīng)用技術(shù) 復(fù)習(xí)題 答案 2018
鏈接地址:http://www.820124.com/p-12767412.html