單片機原理、接口技術及應用課后答案—黃建新_第1頁
單片機原理、接口技術及應用課后答案—黃建新_第2頁
單片機原理、接口技術及應用課后答案—黃建新_第3頁
單片機原理、接口技術及應用課后答案—黃建新_第4頁
單片機原理、接口技術及應用課后答案—黃建新_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、作業(yè)題及答案第1章1.9 完成下列數(shù)制的轉換。(1)1011.1101B( 11.8125 )D( B.D )H (2)110.101B( 6.625 )D( 6.A )H(3)166.25( 10100110.0100 )B( A6.4 )H(4)1011011.101B( 5B.A )H( 1001 0001.0110 0010 0101 )BCD(5)100001100011.01000101BCD( 863.45 )D1.10 寫出下列真值對應的原碼、反碼和補碼。 (1)1100110B 【1100110B】原碼=66H【1100110B】反嗎=66H【1100110B】補碼=66H

2、(2)1000100B 【1000100B】原碼=C4H【1000100B】反碼=BBH【1000100B】補碼=BCH (3)86 【86】原碼=D6H【86】反碼=A9H【86】補碼=AAH1.11寫出下列機器數(shù)分別作為原碼、反碼和補碼時,其表示的真值分別是多少?(1)01101110B +110(6EH)(2)10110101B-53(35H), -74(-4AH), -75(-4BH)1.12 已知X和Y的真值,試分別計算XY補和XY補,并指出是否產(chǎn)生溢出(設補碼均用8位二進制表示)。 (1)X1000100B,Y0010010BX補=01000100B, Y補=11101110BXY

3、補: 0100 0100 1110 1110 1 0011 0010C7=1,C6=1,相同, 所以無溢出。 0100 0100 0001 0010 0101 0110XY補 C7=0,C6=0,相同, 所以無溢出。(2)X1100001B,Y1000010B XY補:有溢出XY補無溢出(3)X1101001B,Y1010101B XY補:有溢出XY補:無溢出1.13 用十六進制寫出下列字符的ASCII碼。 (1)NBA NBA=4E4241H (2)HELLO!2009 HELLO!2009=48454C4C4F2132303039H第2章2.6 80C51單片機的信號有何功能?在使用80C

4、31和89C51單片機時,信號應如何處理?答:是訪問外部程序存儲器選通信號。當其為低電平時,對ROM的讀操作限定為外部存儲器;當其為高電平時,對ROM的讀操作是從內部開始的,當PC值大于內部程序存儲器地址范圍時,CPU自動轉向讀外部程序存儲器。 80C31單片機片內無ROM,應將引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。89C51單片機應將引腳接+5V電源。2.9 系統(tǒng)復位后,CPU使用哪一組工作寄存器?它們的地址是什么?如何改變當前工作寄存器組?答:系統(tǒng)復位后,CPU使用0組寄存器,它們的地址分別是:R0-R7:00H07H. 可以通過改變PSW寄存器的PSW.4和PSW.3兩

5、位的值來改變工作寄存器組。2.10 80C51單片機具有很強的布爾(位)處理功能?共有多少單元可以位尋址?采用布爾處理有哪些優(yōu)點?答:是的,80C51單片機具有很強的布爾處理功能,在內部RAM區(qū)20H2FH的16個單元都可以位尋址;同時21個特殊功能寄存器中還有部分特殊功能寄存器可以位尋址。 布爾(位)處理機,是80C5l系列單片機的突出優(yōu)點之一,給“面向控制”的實際應用帶來了極大的方便。布爾(位)處理機借用進位標志CY作為位累加器,在布爾運算中,CY是數(shù)據(jù)源之一,又是運算結果的存放處,位數(shù)據(jù)傳送的中心。布爾(位)處理機指令系統(tǒng)中有專門進行位處理的指令集,利用位邏輯操作功能進行隨機邏輯設計,可

6、把邏輯表達式直接變換成軟件執(zhí)行,方法簡便,免去了過多的數(shù)據(jù)往返傳送、字節(jié)屏蔽和測試分支,大大簡化了編程,節(jié)省了存儲器空間,加快了處理速度,增強了實時性能。還可實現(xiàn)復雜的組合邏輯處理功能。所有這些,特別適用于某些數(shù)據(jù)采集、實時測控等應用系統(tǒng)。2.12 單片機的復位方法有哪兩種?復位后各寄存器及RAM中的狀態(tài)如何?答:按鍵復位和外部脈沖復位。 單片機復位后,21個寄存器中,SP=07H,P0P3均為FFH,SBUF為不定值,其余均為0.2.13 80C51單片機的、XTAL1和XTAL2引腳各有何作用?單片機時鐘電路分別采用內部和外部振蕩方式時,XTAL1和XTAL2引腳應如何連接?答:是片外程序

7、存儲器選通信號,低電平有效。(片外數(shù)據(jù)存儲器讀選通),輸出,低電平有效。(片外數(shù)據(jù)存儲器寫選通),輸出,低電平有效。XTAL1和XTAL2內部振蕩方式:在80C51芯片內部有一個高增益反相放大器,其輸入端為芯片引腳XTALl,其輸出端為引腳XTAL2。當使用芯片內部時鐘時,這兩根引線用于外接石英晶體和微調電容。外部振蕩方式:把外部已有的時鐘信號引入單片機內。該方式適宜用來使單片機的時鐘信號與外部信號保持同步。外部振蕩信號由XTAL1引入,XTAL2端懸空不用。第3章3.7用指令實現(xiàn)下述功能。(1)內部RAM30H單元內容送R0。MOV R0,30H(2)將立即數(shù)10H送入內部RAM30H單元。

8、MOV 30H,#10H(3)R0內容送入R1。MOV A,R0MOV R1,A(4)內部RAM30H單元內容送外部RAM30H單元。MOV R0,#30HMOV A,R0MOVX R0,A(5)外部RAM3000H單元內容送內部RAM30H單元。MOV DPTR,#3000HMOVX A,DPTRMOV 30H,A(6)ROM3000H單元內容送內部RAM30H單元。MOV DPTR,#3000HMOV A,#00HMOVC A,(A+DPTR)MOV 30H,A3.8已知內部RAM中,(30H)40H,(40H)50H,(50H)5AH,(5AH)60H,ROM中(125AH)88H,試分

9、析下面程序的運行結果,并指出每條指令的源操作數(shù)尋址方式。 MOV A,50H;直接尋址 MOV R0,A;寄存器尋址 MOV P1,0F0H;立即尋址 MOV R0,30H;直接尋址 MOV DPTR,1200H;立即尋址 MOVX DPTR,A;寄存器尋址 MOVC A,ADPTR;變址尋址 MOV 40H,50H;直接尋址 MOV P2,P1;直接尋址程序執(zhí)行后,P2=F0H ; (40H)= 5AH ;(A)=88H ;(1200H)=5AH; (5AH)=40H3.9設(R1)31H,內部RAM31H的內容為68H,32H單元的內容為60H,(A)10H。請指出運行下面的程序后各單元內

10、容的變化。 MOV A,R1;(A)=68H MOV R1,32H;(31H)60H MOV 32H,A;(32H)=68H MOV R1,45H;(R1)=45H程序前3條指令將內部RAM31H和32H單元內容互換。3.10 已知當前PC值為2000H,用兩種方法將ROM207FH單元中的常數(shù)送入累加器A。(1)MOV DPTR,#207FHMOV A,#00HMOVC A,A+DPTR(2)MOV A,#7CHMOVC A,A+PC3.16 已知延時程序為 DELAY:MOV R0,0A0H LOOP1:MOV R1,0FFH LOOP2:NOPDJNZ R1,LOOP2DJNZ R0,L

11、OOP1 若系統(tǒng)的晶振頻率為12MHz,請指出該延時子程序的延時時間。機器周期數(shù)DELAY:MOV R0,0A0H1 LOOP1:MOV R1,0FFH1 LOOP2:NOP1DJNZ R1,LOOP22DJNZ R0,LOOP12由于晶振頻率為12MHz,1M=1s該程序延時時間為:【1+(1+2)*255+2】*160+1=122.881ms第4章4.13編寫程序將內部RAM40H60H單元清0MOV R7,#21HMOV R0,#40HLOOP:MOV R0,#00HINC R0DJNZ R7,LOOPSJMP $4.15 編程將外部RAM的1000H1FFF區(qū)域的數(shù)據(jù)送到2000H2F

12、FFH區(qū)域。ORG 0100HMOV DPTR,#1000HMOVR7,#10HLL1:MOVR6,#00HLL:MOVXA,DPTRMOVB,AMOVA,DPHADDA,#10HMOVDPH,AMOVA,BMOVXDPTR,AMOVA,DPHCLRCSUBBA,#10HMOVDPH,AINCDPTRDJNZR6,LL INCDPHDJNZR7,LL1SJMP$4.16已知一內部RAM以BLOCK1和BLOCK2為起始地址的存儲區(qū)中分別有5字節(jié)無符號被減數(shù)和減數(shù)(低位在前,高位在后。請編寫減法子程序令它們相減,并把差放入以BLOCK1為起始地址的存儲單元。BLOCK1 EQU 30H BLOC

13、K2 EQU 40H ORG 0000H LJMP STARTSTART:MOV R0,#BLOCK1 MOV R1,#BLOCK2 MOV R7,#1 LP:MOV R6,#5 CLR C LP1:MOV A,R0 SUBB A,R1 MOV R0,A INC R0 INC R1 DJNZ R6,LP1 DJNZ R7,LP SJMP $ END4.17 從內部RAM20H單元開始存有一組帶符號數(shù),其個數(shù)已存放在1FH單元中。要求統(tǒng)計出大于0、等于0和小于0的數(shù)的數(shù)目,并把統(tǒng)計結果分別存放在ONE、TWO、THREE三個單元中。ONE EQU 1EHTWO EQU 1DH THREE EQU

14、 1CH ORG 0000H LJMP STARTSTART:MOV ONE,#00H MOV TWO,#00H MOV THREE,#00H MOV R0,#20H MOV R7,1FHLOOP3: MOV A,R0 INC R0 JZ LOOP1 JB ACC.7,LOOP2 INC ONE SJMP HALTLOOP1: INC TWOSJMP HALTLOOP2: INC THREEHALT: DJNZ R7,LOOP3 SJMP $4.18 設內部RAM30H單元有兩個非零的BCD數(shù),請編寫求兩個BCD數(shù)的積,并將積以壓縮型BCD數(shù)形式送入31H單元的程序。 ORG 0000HMOV

15、A, 30HANLA, #0F0HSWAPAMOVB, AMOVA, 30HANLA, #0FHMULA, BMOVB, #0AHDIVABSWAP AORLA, BMOV31H, ASJMP$4.20 編制絕對值函數(shù)程序。絕對值函數(shù)方程如下: 假設X存于30H單元,Y存于40H單元。X 及Y均為補碼數(shù). X EQU 30H Y EQU 40H ORG 0000H LJMP STARTSTART: MOV A,X JZ LOOP JNB ACC.7,LOOP CPL A ADD A,#01H LOOP: MOV Y,A SJMP $ END4.21 試編寫統(tǒng)計數(shù)據(jù)區(qū)長度的程序,設數(shù)據(jù)區(qū)從內RA

16、M30H開始,該數(shù)據(jù)區(qū)以0結束,統(tǒng)計結果送人2FH中。且數(shù)據(jù)區(qū)結束字符,也計入統(tǒng)計數(shù)據(jù)區(qū)的長度中去. ORG 0000H LJMP START START:MOV R0,#30H MOV R7,#00H LOOP:MOV A,R0 INC R0 INC R7 CJNE A,#00H,LOOP MOV 2FH, R7 SJMP $4.23巳知R7中為2位十六進制數(shù),試編程將其轉換為ASCII碼,存人內部RAM 31H、32H中(低字節(jié)在前)。英文字母為大寫.ORG 0000H LJMP START START:MOV SP,#60H MOV A,R7 LCALL BCDASCII MOV 31H

17、,A MOV A,R7 SWAP A LCALL BCDASCII MOV 32H,ASJMP $ BCDASCII:ANL A,#0FH CJNE A,#10,LOOP LOOP: JC AD30H ADD A,#07H AD30H:ADD A,#30H HT: RET END解法2 ORG 0000H LJMP STARTSTART: MOV DPTR,#TAB MOV A,R7 ANL A,#0FH MOVC A,A+DPTR MOV 31H,A MOV A,R7 ANL A,#0F0H SWAP A MOVC A,A+DPTR MOV 32H,A SJMP $ TAB:DB30H,31

18、H,32H,33H,34H,35H,36H,37H,38HDB 39H,41H,42H,43H,44H,45H,46H END4.24設在MA和MB單元中有兩個補碼形式的8位二進制帶符號數(shù)。請編寫求兩數(shù)之和并把它放在SUML和SUMH單元(低8位在SUML單元)的子程序。提示:在兩個8位二進制帶符號數(shù)相加時,其和很可能會超過8位數(shù)所能表示的范圍,從而需要采用16位數(shù)形式來表示。因此,在進行加法時、可以預先把這兩個加數(shù)擴張成16位二進制補碼形式,然后對它完成雙字節(jié)相加。ORG 0000HLJMP STARTSTART:MOV A,MA JB ACC.7,LLA MOV R7,#00H SJMP

19、LLLLLA: MOV R7,#0FFHLLL: MOV A,MB JB ACC.7,LLB MOV R6,#00H SJMP LADDLLB: MOV R6,#0FFHLADD:MOV A,MA ADD A,MB MOV SUML,A MOV A,R6 ADDC A,R7 MOV SUMH,A SJMP$4.25 設外部RAM1000H10FFH數(shù)據(jù)區(qū)中的數(shù)均為無符號數(shù)。試編寫程序,找出該區(qū)域中的數(shù)的最大值,并放人內部RAM30H單元中。MOVDPTR,#1000HMOVR7,#00H;計數(shù)器MOVB,#00H;放中間結果L1:MOVX A, DPTRCJNEA, B, L2L2:JCL3M

20、OVB, A; B中放大值L3:INCDPTRDJNZR7, L1MOV30H, BSJMP$4.28 已知a、b、c均為09的整數(shù),試編程求解表達式Y=(a-b)2+(b-c)2+(c-a)2的值 AA EQU 31H BB EQU 32H CC EQU 33H Y EQU 34H ORG 0000H LJMP START START:MOV SP,#60H MOV A,AA CLR C SUBB A,BB ACALL CHUNCI MOV R6,A MOV A,BB CLR C SUBB A,CC ACALL CHUNCI ADD A,R6 MOV R6,A MOV A,CC CLR C

21、SUBB A,AA ACALL CHUNCI ADD A,R6 MOV R6,A MOV Y,R6SJMP $CHUNCI:JNB ACC.7,SQR CPLA ADDA,#01H SQR: ADD A,#01H MOVC A,A+PC RETSQRTAB:DB 0,1,4,9,16,25,36,49,64,814.29 從內部RAM的SCORE單元開始放有16位同學某門課程的考試成績,試編程求平均成績,存入AVERAGE單元。 ORG 0100HMOVR5,#00HMOVR6,#00HMOVR0,#SCOREMOVR7,#16LL:MOVA,R0ADDA,R5MOVR5,AMOVA,R6AD

22、DCA,#00HMOVR6,AINCR0DJNZR7,LLMOVR4,#04HLL1:CLRCMOVA,R6RRCAMOVR6,AMOVA,R5RRCAMOVR5,ADJNZR4,LL1MOVAVERAGE,R5SJMP$第5章5.8 80C51外擴ROM時,為什么P0口要接一個8位鎖存器,而P2口卻不接?答:P0口既作為地址線傳送地址的低8位,又要作為數(shù)據(jù)線傳送8位數(shù)據(jù),只能分時用做地址線,故P0口輸出的低8位地址數(shù)據(jù)必須用鎖存器鎖存。鎖存器的鎖存控制信號為引腳ALE輸出的控制信號。P2口只用作地址高8位。5.9 若要設計一個32K8位的外RAM存儲器,分別采用2114(1K4位)和6264

23、(8K8位)芯片,各需多少塊存儲芯片?答:2114芯片需要:(8/4)*(32/1)=64片 6264芯片需要:32/8=4片5.12 80C51擴展2片6264存儲器芯片,試用P2.6、P2.7對其片選,并指出它們的地址范圍。答:地址范圍:6264(1)10*0 0000 0000 0000 0000 1 1111 1111 1111 11118000H9FFFH6264(2) 01*0 0000 0000 0000 0000 1 1111 1111 1111 11114000H5FFFH第6章6.1 輸入/輸出信息有哪幾種?答:通過接口傳送的信息包括數(shù)據(jù)信息、狀態(tài)信息和控制信息。6.2 什

24、么是接口?接口應具有哪些功能?接口是將外設連接到總線上的一組邏輯電路的總稱。功能:1. 地址譯碼與設備選擇2. 緩沖鎖存數(shù)據(jù)3. 信息的輸入輸出4. 信息轉換6.7 什么是中斷源?80C51有哪些中斷源?CPU響應中斷時,其入口地址是什么?答:能引起中斷的外部設備或內部原因稱為中斷源,包括外部中斷源和內部中斷源。80C51中有5個中斷源: (1)(P3.2):外部中斷0。 (2) (P3.3):外部中斷1。(3)TF0(P3.4):定時器/計數(shù)器T0溢出中斷。(4)TF1(P3.5):定時器/計數(shù)器T1溢出中斷。(5)RX,TX:串行中斷入口地址:外部中斷0():0003H定時器/計數(shù)器0(T

25、0):000BH外部中斷1():0013H定時器/計數(shù)器1(T1):001BH串行口(RI、TI):0023H定時器計數(shù)器2(T2)(僅80C52有):002BH6.11 80C51的外部中斷有哪幾種觸發(fā)方式?如何選擇?答:有電平觸發(fā)方式和邊沿觸發(fā)方式。通過對ICON寄存器的D0位IT0和D2位IT1置位或清0實現(xiàn)。該為為0,為低電平觸發(fā)方式,該位為1,為下降沿觸發(fā)方式。第7章7.8 8255A各端口可以工作在幾種方式下?當端口 A工作在方式2時,端口B和C工作于什么方式下?答:8255A共有三種工作方式:方式0、方式1和方式2。其中A口可以工作在方式0、方式1和方式2,B口可以工作在方式0、

26、方式1,而C口只能工作在方式0。在A口工作在方式2時,B口可以工作在方式0或方式1。C口高5位為A口提供聯(lián)絡信號,C口低3位可作為輸入輸出線使用或用作B口方式1之下的控制線。7.9 某8255A芯片的地址范圍為7F80H7F83H,工作于方式0,A口、B口為輸出口。C口低4位為輸入,高4位為輸出,試編寫初始化程序。MOV DPTR,#7F83HMOV A,#1000 0001BMOVX DPTR, A7.11 8255A的方式控制字和C口按位置位/復位控制字都可以寫入8255A的同一控制寄存器,8255A是如何區(qū)分這兩個控制字的?答:看控制字的最高位D7,如果該位的值為“1”,則認為是方式控制

27、字;反之,則認為是C口置位/復位控制字。7.12 編寫程序,采用8255A的C口按位置位/復位控制字,將PC7置0,PC4置1,(已知8255A各端口的地址為7FFCH-7FFFH)。MOV DPTR,#7FFFHMOV A,#0EHMOVX DPTR,AMOV DPTR,#7FFFHMOV A,#09HMOVX DPTR,A7.13 設8255A接到系統(tǒng)中,端口A、B、C及控制口地址分別為220H、221H、222H及223H,工作在方式0,試編程將端口B的數(shù)據(jù)輸入后,從端口C輸出,同時,將其取反后從端口A輸出。MOV DPTR,#223HMOV A,#82HMOVX DPTR,AMOV D

28、PTR,#221HMOVX A,DPTRINC DPTRMOVX DPTR,ACPL AMOV DPTR,#220HMOVX DPTR,ASJMP $第8章8.3 定時器T1用于對外部脈沖計數(shù),每計滿1000個脈沖后使內部RAM 60H單元內容加一,要求T1以方式1中斷實現(xiàn),TR1啟動。解:計數(shù)常數(shù)為:TC216100064536FC18H,由于采用T1方式1 計數(shù)方式,故方式控制字為:0101 0000B50H程序如下:ORG 0000HAJMP MAINORG 001BH LJMP T1INTORG 0200HMAIN:MOV TMOD,50HMOVTH1,0FCHMOVTL1,18HSETB ET1SETBEASETBTR1SJMP$ORG0800HT1INT:INC 60HMOVTH1,0FCHMOVTL1,18HRETI8.4 利用定時器T0方式2產(chǎn)生一個5KHz的方波,已知晶振頻率為12MHz。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論