單片機原理及應(yīng)用課后習(xí)題整理_第1頁
單片機原理及應(yīng)用課后習(xí)題整理_第2頁
單片機原理及應(yīng)用課后習(xí)題整理_第3頁
單片機原理及應(yīng)用課后習(xí)題整理_第4頁
單片機原理及應(yīng)用課后習(xí)題整理_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

單片機原理及應(yīng)用課后習(xí)題整理第一章5.什么叫單片機?其主要特點有哪些?答:在一片集成電路芯片上集成微處理器、存儲器、I/O接口電路,從而構(gòu)成了單芯片微型計算機,即單片機。單片機主要特點有:控制性能和可靠性高;體積小、價格低、易于產(chǎn)品化;具有良好的性能價格比。。7.當前單片機的主要產(chǎn)品有哪些?各有何特點?答:多年來的應(yīng)用實踐已經(jīng)證明,80C51的系統(tǒng)結(jié)構(gòu)合理、技術(shù)成熟。因此,許多單片機芯片生產(chǎn)廠商傾力于提高80C51單片機產(chǎn)品的綜合功能,從而形成了80C51的主流產(chǎn)品地位,近年來推出的與80C51兼容的主要產(chǎn)品有:ATMEL公司融入Flash存儲器技術(shù)推出的AT89系列單片機;Philips公司推出的80C51、80C552系列高性能單片機;華邦公司推出的W78C51、W77C51系列高速低價單片機;ADI公司推出的ADμC8xx系列高精度ADC單片機;LG公司推出的GMS90/97系列低壓高速單片機;Maxim公司推出的DS89C420高速(50MIPS)單片機;Cygnal公司推出的C8051F系列高速SOC單片機等。8.簡述單片機的開發(fā)過程。答:系統(tǒng)需求分析,硬件方案設(shè)計,軟件編程,仿真調(diào)試,實際運行。9.單片機應(yīng)用系統(tǒng)開發(fā)方法有哪些新方法?答:在系統(tǒng)編程(ISP)技術(shù),在應(yīng)用編程(IAP)技術(shù)。第二章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。3.80C51單片機的P0~P3口在結(jié)構(gòu)上有何不同?在使用上有何特點?答:作為通用I/O口時,P0、P1、P2和P3都是準雙向口。P0可以作為地址/數(shù)據(jù)總線,此時是一個真正的雙向口;P2口可以作為地址線的高8位;P3口是雙功能口,每條口線還具有不同的第二功能。另外,P0口的驅(qū)動能力為8個TTL負載,而其它口僅可驅(qū)動4個TTL負載。4.如果80C51單片機晶振頻率分別為6MHz、11.0592MHz、12MHz時,機器周期分別為多少?答:機器周期分別為2μs,1.085μs,1μs。5.80C51單片機復(fù)位后的狀態(tài)如何?復(fù)位方法有幾種?答:復(fù)位后,PC內(nèi)容為0000H,P0口~P3口內(nèi)容為FFH,SP內(nèi)容為07H,SBUF內(nèi)容不定,IP、IE和PCON的有效位為0,其余的特殊功能寄存器的狀態(tài)均為00H。復(fù)位方法一種是上電復(fù)位,另一種是上電與按鍵均有效的復(fù)位。6.80C51單片機的片內(nèi)、片外存儲器如何選擇?答:80C51的EA引腳為訪問片內(nèi)、片外程序存儲器的選擇端。訪問片內(nèi)、片外數(shù)據(jù)存儲器需要采用不同的指令加以區(qū)分。7.80C51單片機的PSW寄存器各位標志的意義如何?答:CY:進位、借位標志。有進位、借位時CY=1,否則CY=0;AC:輔助進位、借位標志(高半字節(jié)與低半字節(jié)間的進位或借位);F0:用戶標志位,由用戶自己定義;RS1、RS0:當前工作寄存器組選擇位;OV:溢出標志位。有溢出時OV=1,否則OV=0;P:奇偶標志位。存于ACC中的運算結(jié)果有奇數(shù)個1時P=1,否則P=0。8.80C51單片機的當前工作寄存器組如何選擇?答:當前工作寄存器組的選擇由特殊功能寄存器中的程序狀態(tài)字寄存器PSW的RS1、RS0來決定。9.80C51單片機的控制總線信號有哪些?各信號的作用如何?答:RST/VPD:復(fù)位信號輸入引腳/備用電源輸入引腳;ALE/PROG:地址鎖存允許信號輸出引腳/編程脈沖輸入引腳;EA/VPP:內(nèi)外存儲器選擇引腳/片內(nèi)EPROM(或FlashROM)編程電壓輸入引腳;PSEN:外部程序存儲器選通信號輸出引腳。10.80C51單片機的程序存儲器低端的幾個特殊單元的用途如何?答:0000H:單片機復(fù)位入口地址;0003H:外部中斷0的中斷服務(wù)程序入口地址;000BH:定時/計數(shù)器0溢出中斷服務(wù)程序入口地址;0013H:外部中斷1的中斷服務(wù)程序入口地址;001BH:定時/計數(shù)器1溢出中斷1的服務(wù)程序入口地址;0023H:串行口的中斷服務(wù)程序入口地址。第三章10.完成某種操作可以采用幾條指令構(gòu)成的指令序列實現(xiàn),試寫出完成以下每種操作的指令序列。(1)將R0的內(nèi)容傳送到R1;(2)內(nèi)部RAM單元60H的內(nèi)容傳送到寄存器R2;(3)外部RAM單元1000H的內(nèi)容傳送到內(nèi)部RAM單元60H;(4)外部RAM單元1000H的內(nèi)容傳送到寄存器R2;(5)外部RAM單元1000H的內(nèi)容傳送到外部RAM單元2000H。答:(1)MOVA,R0MOVR1,A(2)MOVR2,60H(3)MOVDPTR,#1000HMOVXA,@DPTRMOV60H,A(4)MOVDPTR,#1000HMOVXA,@DPTRMOVR2,A(5)MOVDPTR,#1000HMOVXA,@DPTRMOVDPTR,#2000HMOVX@DPTR,A11.若(R1)=30H,(A)=40H,(30H)=60H,(40H)=08H。試分析執(zhí)行下列程序段后上述各單元內(nèi)容的變化。MOVA,@R1MOV@R1,40HMOV40H,AMOVR1,#7FH答:(R1)=7FH(A)=60H(30H)=08H(40H)=60H14.試用位操作指令實現(xiàn)下列邏輯操作。要求不得改變未涉及的位的內(nèi)容。(1)使ACC.0置位;(2)清除累加器高4位;(3)清除ACC.3,ACC.4,ACC.5,ACC.6。答:(1)SETBACC.0(2)ANLA,#0FH(3)ANLA,#87H15.試編寫程序,將內(nèi)部RAM的20H、21H、22H三個連續(xù)單元的內(nèi)容依次存入2FH、2EH和2DH單元。答:MOV2FH,20HMOV2EH,21HMOV2DH,22H16.試編寫程序,完成兩個16位數(shù)的減法:7F4DH-2B4EH,結(jié)果存入內(nèi)部RAM的30H和31H單元,30H單元存差的高8位,31H單元存差的低8位。(注意:此題與書上的題要求不一樣,書中要求31H單元存差的高8位,30H單元存差的低8位)答:CLRCYMOV30H,#7FHMOV31H,#4DHMOVR0,#31HMOVA,@R0SUBBA,#4EMOV@R0,A;保存低字節(jié)相減結(jié)果DECR0MOVA,@R0SUBBA,#2BHMOV@R0,A;保存高字節(jié)相減結(jié)果17.試編寫程序,將R1中的低4位數(shù)與R2中的高4位數(shù)合并成一個8位數(shù),并將其存放在R1中。答:MOVA,R2ANLA,#0F0HORLR1,A18.試編寫程序,將內(nèi)部RAM的20H、21H單元的兩個無符號數(shù)相乘,結(jié)果存放在R2、R3中,R2中存放高8位,R3中存放低8位。答:MOVA,20HMOVB,21HMULABMOVR3,AMOVR2,B19.若(CY)=1,(P1)=10100011B,(P3)=01101100B。試指出執(zhí)行下列程序段后,CY、P1口及P3口內(nèi)容的變化情況。MOVP1.3,CMOVP1.4,CMOVC,P1.6MOVP3.6,CMOVC,P1.0MOVP3.4,C-81-答:(CY)=1,(P1)=10111011B,(P3)=00111100B第四章9.若80C51的晶振頻率為6MHz,試計算延時子程序的延時時間。DELAY:MOVR7,#0F6HLP:MOVR6,#0FAHDJNZR6,$DJNZR7,LPRET答:延時時間:2μs*{[1+((1+2*250+2)*246)+2]+2}=0.247486秒(含調(diào)用指令2個機器周期)10.在內(nèi)部RAM的30H~37H單元存有一組單字節(jié)無符號數(shù)。要求找出最大數(shù)存入BIG單元。試編寫程序?qū)崿F(xiàn)。答:ORG0000HBIGDATA2FHONEDATA2AHTWODATA2BHSTART:MOVR7,#7;比較次數(shù)MOVR0,#30HLOOP:MOVA,@R0MOVONE,AINCR0MOVTWO,@R0CLRCSUBBA,@R0JCNEXT;ONE小,TWO大繼續(xù)比下一對數(shù)MOV@R0,ONE;ONE大放后面(交換)DECR0MOV@R0,TWO;TWO小放前面INCR0;NEXT:DJNZR7,LOOPMOVBIG,37HSJMP$END11.編寫程序,把累加器A中的二進制數(shù)變換成3位BCD碼,并將百、十、個位數(shù)分別存放在內(nèi)部RAM的50H、51H、52H中。答:單字節(jié)二進制數(shù)轉(zhuǎn)換為壓縮的BCD碼僅需要2個字節(jié);在將壓縮的BCD碼拆分存于3個單元。org0MOV52H,#0MOV51H,#0MOV50H,#0MOVA,#0FDhLCALLDCDTHSJMP$DCDTH:MOVR7,#8MOVR0,A;暫存于R0LOOP:CLRCMOVA,R0RLCAMOVR0,AMOVR1,#51H;MOVA,@R1;ADDCA,@R1;DAA;MOV@R1,A;DECR1MOVA,@R1ADDCA,@R1DAAMOV@R1,ADJNZR7,LOOPINCR1;50H已是結(jié)果,R1指向51H,51H單元需拆分MOVA,#00HXCHDA,@R1MOV52H,AMOVA,@R1SWAPAMOV@R1,ARETEND12.編寫子程序,將R1中的2個十六進制數(shù)轉(zhuǎn)換為ASCII碼后存放在R3和R4中。答:ORG0MOVR1,#5BHMOVA,R1ANLA,#0F0HSWAPAACALLASCIIMOVR3,AMOVA,R1ANLA,#0FHACALLASCIIMOVR4,ASJMP$ASCII:PUSHACCCLRCSUBBA,#0AHPOPACCJCLOOPADDA,#07HLOOP:ADDA,#30HRETEND13.編寫程序,求內(nèi)部RAM中50H~59H十個單元內(nèi)容的平均值,并存放在5AH單元。答:ORG0000HMOVR7,#10MOVR0,#50HMOVB,#10CLRCCLRALOOP:ADDCA,@R0INCR0DJNZR7,LOOPDIVABMOV5AH,ASJMP$END第五章2.某系統(tǒng)有三個外部中斷源1、2、3,當某一中斷源變低電平時便要求CPU處理,它們的優(yōu)先處理次序由高到低為3、2、1,處理程序的入口地址分別為2000H、2100H、2200H。試編寫主程序及中斷服務(wù)程序(轉(zhuǎn)至相應(yīng)的入口即可)。答:將3個中斷信號經(jīng)電阻線或,接INT1。ORG0000HLJMPMAINORG00013HLJMPZDFZORG0040HMAIN:SETBEASETBEX1SJMP$0RG0200HZDFZ:PUSHPSWPUSHACCJBP1.0,DV0JBP1.1,DV1JBP1.2,DV2INRET:POPACCPOPPSWRETIORG2000HDV0:------------JMPINRETORG2100HDV1:------------JMPINRETORG2200HDV2:------------JMPINRET8.利用定時/計數(shù)器T0從P1.0輸出周期為1s,脈寬為20ms的正脈沖信號,晶振頻率為12MHz。試設(shè)計程序。答:采用定時20ms,然后再計數(shù)1、49次的方法實現(xiàn)。a、T0工作在定時方式1時,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字為01H;b、計算計數(shù)初值X:晶振為12MHz,所以機器周期Tcy為1μs。N=t/Tcy=20×10-3/1×10-6=20000X=216-N=65536-20000=45536=4E20H即應(yīng)將4EH送入TH1中,20H送入TL1中。c、實現(xiàn)程序如下:ORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序ORG0030HMAIN:MOVTMOD,#01H;設(shè)T1工作于方式2MOVTH0,#4EH;裝入循環(huán)計數(shù)初值MOVTL0,#20H;首次計數(shù)值LP0:SETBP1.0ACALLNT0CLRP1.0MOVR7,#49;計數(shù)49次LP1:ACALLNT0DJNZR7,LP1AJMPLP0NT0:MOVTH0,#4EHMOVTL0,#20HSETBTR0JNBTF0,$CLRTR0CLRTF0RETEND9.要求從P1.1引腳輸出1000Hz方波,晶振頻率為12MHz。試設(shè)計程序。答:采用T0實現(xiàn)a、T0工作在定時方式1時,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字為01H;-90-b、計算計數(shù)初值X:-91-晶振為12MHz,所以機器周期Tcy為1μs。1/1000=1×10-3N=t/Tcy=0.5×10-3/1×10-6=500X=216-N=65536-500=65036=FE0CH即應(yīng)將FEH送入TH0中,0CH送入TL0中。c、實現(xiàn)程序如下:ORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序ORG000BH;T0的中斷入口地址LJMPDVT0ORG0030HMAIN:MOVTMOD,#01H;設(shè)T0工作于方式2MOVTH0,#0FEH;裝入循環(huán)計數(shù)初值MOVTL0,#0CH;首次計數(shù)值SETBET0;T0開中斷SETBEA;CPU開中斷SETBTR0;啟動T0SJMP$;等待中斷DVT0:CPLP1.1MOVTH0,#0FEHMOVTL0,#0CHSETBTR0RETIEND10.試用定時/計數(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/T=1,可取方式控制字為60H;T1工作在定時方式1時,控制字TMOD配置:M1M0=01,GATE=0,C/T=0,可取方式控制字為10H;b、計算初值X:定時10ms時:晶振為12MHz,所以機器周期Tcy為1μs。N=t/Tcy=10×10-3/1×10-6=10000X=216-N=65536-10000=55536=D8F0H即應(yīng)將D8H送入TH1中,F(xiàn)0H送入TL1中。計數(shù)100時:N=100X=28-N=256-100=156=9CHc、實現(xiàn)程序如下:ORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序ORG001BH;T1的中斷入口地址LJMPDVT1OR

溫馨提示

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

評論

0/150

提交評論