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

下載本文檔

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

文檔簡介

1、單片機原理、接口技術(shù)及應(yīng)用課 后解答一黃建新作業(yè)題及答案第1章1.9 完成下列數(shù)制的轉(zhuǎn)換。(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.01000101BC氏(863.45) D1.10 寫出下列真值對應(yīng)的原碼、反碼和補碼。(1) +1100110B【

2、+ 1100110EJ 原碼二66H【+ 1100110EJ 反嗎=66H【+ 1100110日 補碼=66H(2) -1000100B【1000100曰 原碼-C4H【1000100曰 反碼二BBH【一1000100曰 補碼二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的真值,試分別計算 以+ 丫補和/ 丫補,并指出是否產(chǎn)生溢出 (設(shè)補碼均用8

3、位二進制表示)。(1) X= + 1000100B, Y= -0010010BX補=01000100B, Y 補=11101110BX+丫補:0100 01001110 11101 0011 0010C7=1, C6=1,相同,所以無溢出X Y補0100 01000001 00100101 0110C7=0, C6=0,相同,所以無溢出(2) X= + 1100001B, Y= + 1000010BX +Y補:有溢出X Y補無溢出(3) X= 1101001B, Y= - 1010101BX +Y補:有溢出X Y補:無溢出1.13 用十六進制寫出下列字符的 ASCII碼。(1) NBANBA=

4、4E4241H(2) HELLO 2009HELLO 2009'=48454c4c4F2132303039H第2章2.6 80C51單片機的EA信號有何功能?在使用 80C31和89C51單片機時,EA信 號應(yīng)如何處理?答:EA是訪問外部程序存儲器選通信號。當(dāng)其為低電平時,對ROM勺讀操作限定為外部存儲器;當(dāng)其為高電平時,對ROM勺讀操作是從內(nèi)部開始的,當(dāng)PC值大于內(nèi)部程序存儲器地址范圍時,CPU自動轉(zhuǎn)向讀外部程序存儲器。80C31單片機片內(nèi)無ROM應(yīng)將EA引腳固定接低電平,以迫使系統(tǒng)全部執(zhí)行片外程序存儲器程序。89C51單片機應(yīng)將EA引腳接+5V電源2.9 系統(tǒng)復(fù)位后,CPUS用哪一

5、組工作寄存器?它們的地址是什么?如何改變當(dāng) 前工作寄存器組?答:系統(tǒng)復(fù)位后,CPUS用0組寄存器,它們的地址分別是:R0-R7:00H07H.可以通過改變PSVW存器的PSW.咻口 PSW.3兩位的值來改變工作寄存器組。2.10 80C51單片機具有很強的布爾(位)處理功能?共有多少單元可以位尋址? 采用布爾處理有哪些優(yōu)點?答:是的,80C51單片機具有很強的布爾處理功能,在內(nèi)部 RAMX 20H-2FH的 16個單元都可以位尋址;同時21個特殊功能寄存器中還有部分特殊功能寄 存器可以位尋址。布爾(位)處理機,是80C51系列單片機的突出優(yōu)點之一,給“面向控制” 的實際應(yīng)用帶來了極大的方便。布

6、爾(位)處理機借用進位標(biāo)志 CY作為位累加器,在布爾運算中,CY是數(shù) 據(jù)源之一,又是運算結(jié)果的存放處,位數(shù)據(jù)傳送的中心。布爾(位)處理機指令系統(tǒng)中有專門進行位處理的指令集,利用位邏輯操作 功能進行隨機邏輯設(shè)計,可把邏輯表達式直接變換成軟件執(zhí)行,方法簡便,免 去了過多的數(shù)據(jù)往返傳送、字節(jié)屏蔽和測試分支,大大簡化了編程,節(jié)省了存 儲器空間,加快了處理速度,增強了實時性能。還可實現(xiàn)復(fù)雜的組合邏輯處理 功能。所有這些,特別適用于某些數(shù)據(jù)采集、實時測控等應(yīng)用系統(tǒng)。2.12 單片機的復(fù)位方法有哪兩種?復(fù)位后各寄存器及RAW的狀態(tài)如何?答:按鍵復(fù)位和外部脈沖復(fù)位。單片機復(fù)位后,21個寄存器中,SP=07H,

7、P0-P3均為FFH,SBUm不定值, 其余均為0.2.13 80C51單片機的PSEN、RD、WR、XTAL1和XTAL2弓|腳各有何作用?單片機時鐘電路分別采用內(nèi)部和外部振蕩方式時,XTAL1和XTAL2弓唧應(yīng)如何連接?答:PSEN是片外程序存儲器選通信號,低電平有效。RD (片外數(shù)據(jù)存儲器讀選通),輸出,低電平有效WR (片外數(shù)據(jù)存儲器寫選通),輸出,低電平有效。XTAL1 和 XTAL2內(nèi)部振蕩方式:在80C51芯片內(nèi)部有一個高增益反相放大器,其輸入端為芯片 引腳XTALl,其輸出端為引腳XTAL2當(dāng)使用芯片內(nèi)部時鐘時,這兩根引線用于 外接石英晶體和微調(diào)電容。外部振蕩方式:把外部已有的

8、時鐘信號引入單片機內(nèi)。該方式適宜用來使單片機的時鐘信號與外部信號保持同步。 外部振蕩信號由XTAL1弓|入,XTAL2端懸空 不用。第3章;(A)=68H ;(31H)60H ;(32H)=68H ;(R1)=45H3.7 用指令實現(xiàn)下述功能。(1)內(nèi)部RAM30咪元內(nèi)容送RdMOV R0,30H(2)將立即數(shù)10H送入內(nèi)部RAM30K元。MOV 30H,#10H( 3) R0 內(nèi)容送入R1。MOV A,R0MOV R1,A(4)內(nèi)部RAM30咪元內(nèi)容送外部 RAM30咪元。MOV R0,#30HMOV A,R0MOVX R0,A(5)外部RAM3000HL元內(nèi)容送內(nèi)部 RAM30Hl元MOV

9、 DPTR,#3000HMOVX A,DPTRMOV 30H,A(6) ROM3000H元內(nèi)容送內(nèi)部 RAM30Hl元。MOV DPTR,#3000HMOV A,#00HMOVC A,(A+DPTR)MOV 30H,A3.8 已知內(nèi)部 RAMfr, (30H) =40H, (40H) =50H, (50H) =5AH (5AH)=60H, ROW (125AH =88H,試分析下面程序的運行結(jié)果,并指出每條指令的源 操作數(shù)尋址方式。MOVA ,50H; 直接尋址MOVR0, A;寄存器尋址MOVP1, 0F0H;立即尋址MOVR0, 30H;直接尋址MOVDPTR, 1200H;立即尋址MOV

10、X DPTR , A;寄存器尋址MOVC A ,A DPTR;變址尋址MOV 40H, 50H;直接尋址MOV P2, P1;直接尋址程序執(zhí)行后, P2=F0H; (40H)=5AH ;(A)=88H ;(1200H)=5AH; (5AH)=40H3.9 設(shè)(R1) =31H,內(nèi)部RAM31H勺內(nèi)容為68H, 32H單元的內(nèi)容為 60H, ( A) = 104請指出運行下面的程序后各單元內(nèi)容的變化。MOV A , R1MOV R1 , 32HMOV 32H, A程序前 3 條指令將內(nèi)部RAM31廂32H單元內(nèi)容互換。MOV R1 , 45H3.10 已知當(dāng)前PC值為2000H,用兩種方法將RO

11、M207FHL元中的常數(shù)送入累加 器 A。( 1) MOV DPTR,#207FHMOV A,#00HMOVC A,A+DPTR( 2)MOV A,#7CHMOVC A,A+PC3.16 已知延時程序為DELAY : MOV R0 , 0A0HLOOP1 : MOV R1 , 0FFHLOOP2 : NOPDJNZ R1 , LOOP2DJNZ R0 , LOOP1若系統(tǒng)的晶振頻率為12MHz請指出該延時子程序的延時時間。機器周期數(shù)DELAY: MOV R0 , 0A0H 1LOOP1:MOV R1 ,0FFH1LOOP2:NOP1DJNZR1 ,LOOP22DJNZR0 ,LOOP12由于晶

12、振頻率為12MHz,1M=1s該程序延時時間為: 【 1+(1+2) *255+2】 *160+1=122.881ms第4章4.13編寫程序?qū)?nèi)部 RAM40H60H元清0MOV R7,#21HMOV R0,#40HLOOP:MOV R0,#00HINC R0DJNZ R7,LOOPSJMP $4.15 編程將外部RAM勺1000H- 1FFF區(qū)域的數(shù)據(jù)送到2000H2FFFH區(qū)域。 ORG 0100HMOV DPTR,#1000HMOVR7,#10HLL1:MOVR6,#00HLL: MOVX A,DPTRMOVB,AMOVA,DPHADDA,#10HMOVDPH,AMOVA,BMOVX D

13、PTR,AMOVA,DPHCLRCSUBB A,#10HMOVDPH,AINC DPTRDJNZ R6,LLINC DPHDJNZ R7,LL1SJMP $4.16 已知一內(nèi)部RAMW BLOCK相BLOCK次起始地址的存儲區(qū)中分別有 5字節(jié) 無符號被減數(shù)和減數(shù)(低位在前,高位在后。請編寫減法子程序令它們相減,并把差放入以BLOCK為起始地址的存儲單元。BLOCK1 EQU 30HBLOCK2 EQU 40HORG 0000HLJMP STARTSTART:MOV R0,#BLOCK1MOV R1,#BLOCK2MOV R7,#1LP:MOV R6,#5CLR CLP1:MOV A,R0SUB

14、B A,R1MOV R0,AINC R0INC R1DJNZ R6,LP1DJNZ R7,LPSJMP $ END4.17 從內(nèi)部RAM20咪元開始存有一組帶符號數(shù),其個數(shù)已存放在1FH單元中。要求統(tǒng)計出大于 0、 等于 0 和小于 0 的數(shù)的數(shù)目, 并把統(tǒng)計結(jié)果分別存放在ONE、TWO THREI個單元中。ONE EQU 1EHTWO EQU 1DHTHREE EQU 1CHORG 0000HLJMP STARTSTART:MOV ONE,#00HMOV TWO,#00HMOV THREE,#00HMOV R0,#20HMOV R7,1FHLOOP3: MOV A,R0INC R0JZ LO

15、OP1JB ACC.7,LOOP2INC ONESJMP HALTLOOP1: INC TWOSJMP HALTLOOP2: INC THREEHALT: DJNZ R7,LOOP3SJMP $4.18 設(shè)內(nèi)部RAM30K元有兩個非零的BCDR,請編寫求兩個BCDR的積,并將積以壓縮型BCDR形式送入31H單元的程序。ORG 0000HMOVA, 30HANLA, #0F0HSWAP AMOVB, AMOVA, 30HANLA, #0FHMULA, BMOVB, #0AHDIV ABSWAP AORLA, BMOV31H, ASJMP $ 4.20 編制絕對值函數(shù)程序。絕對值函數(shù)方程如下:X當(dāng)

16、X 0Y0當(dāng)X=0-X當(dāng) X 0假設(shè)X存于30H單元,Y存于40H單元。X及Y均為補碼數(shù).X EQU 30HY EQU 40HORG 0000HLJMP STARTSTART: MOV A,XJZ LOOPJNB ACC.7,LOOPCPL AADD A,#01HLOOP: MOV Y,ASJMP $END4.21 試編寫統(tǒng)計數(shù)據(jù)區(qū)長度的程序, 設(shè)數(shù)據(jù)區(qū)從內(nèi)RAM30HF始,該數(shù)據(jù)區(qū)以0結(jié)束,統(tǒng)計結(jié)果送人2FH 中。且數(shù)據(jù)區(qū)結(jié)束字符,也計入統(tǒng)計數(shù)據(jù)區(qū)的長度中去.ORG 0000HLJMP STARTSTART:MOV R0,#30HMOV R7,#00HLOOP:MOV A,R0INC R0I

17、NC R7CJNE A,#00H,LOOPMOV 2FH, R7SJMP $4.23 巳知R7中為2位十六進制數(shù),試編程將其轉(zhuǎn)換為 ASCII碼,存人內(nèi)部RAM31H、 32H 中(低字節(jié)在前) 。英文字母為大寫 .ORG 0000HLJMP STARTSTART:MOV SP,#60HMOV A,R7LCALL BCDASCIIMOV 31H,AMOV A,R7SWAP ALCALL BCDASCIIMOV 32H,ASJMP $BCDASCII:ANL A,#0FHCJNE A,#10,LOOPLOOP: JC AD30HADD A,#07HAD30H:ADD A,#30HHT: RETE

18、ND解法 2ORG 0000HLJMP STARTSTART: MOV DPTR,#TABMOV A,R7ANL A,#0FHMOVC A,A+DPTRMOV 31H,AMOV A,R7ANL A,#0F0HSWAP AMOVC A,A+DPTRMOV 32H,ASJMP $TAB:DB30H,31H,32H,33H,34H,35H,36H,37H,38HDB 39H,41H,42H,43H,44H,45H,46HEND4.24 設(shè)在MA?口 MB11元中有兩個補碼形式的 8位二進制帶符號數(shù)。請編寫求兩數(shù)之和并把它放在 SUMI® SUM#元(低8位在SUML元)的子程序。提示:在兩

19、個8 位二進制帶符號數(shù)相加時,其和很可能會超過8 位數(shù)所能表示的范圍,從而需要采用 16 位數(shù)形式來表示。因此,在進行加法時、可以預(yù)先把這兩個加數(shù)擴張成16 位二進制補碼形式,然后對它完成雙字節(jié)相加。ORG 0000HLJMP STARTSTART:MOV A,MAJB ACC.7,LLAMOV R7,#00HSJMP LLLLLA: MOV R7,#0FFHLLL: MOV A,MBJB ACC.7,LLBMOV R6,#00HSJMP LADDLLB: MOV R6,#0FFHLADD:MOV A,MAADD A,MBMOV SUML,AMOV A,R6ADDC A,R7MOV SUMH,

20、ASJMP$4.25 設(shè)外部RAM1000H10FFH數(shù)據(jù)區(qū)中的數(shù)均為無符號數(shù)。試編寫程序,找出 該區(qū)域中的數(shù)的最大值,并放人內(nèi)部 RAM301Hl元中。MOVDPTR,#1000HMOVR7,#00H ; 計數(shù)器MOVB,#00H ; 放中間結(jié)果L1: MOVX A, DPTRCJNE A, B, L2L2: JC L3MOVB, A ; B 中放大值L3: INC DPTRDJNZ R7, 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

21、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,AMOV A,CCCLR CSUBB A,AAACALL CHUNCIADD A,R6MOV R6,AMOV Y,R6SJMP $CHUNCI:JNB ACC.7,SQRCPLAADDA,#01HSQR: ADD A,#01HMOVC A,A+PCRETSQRTAB:DB 0,1,4,9

22、,16,25,36,49,64,814.29從內(nèi)部RAM勺SCOR呼元開始放有16位同學(xué)某門課程的考試成績,試編 程求平均成績,存入 AVERAGE元。ORG 0100HMOVR5,#00HMOVR6,#00HMOVR0,#SCOREMOVR7,#16II: MOVA,R0ADDA,R5MOVR5,AMOVA,R6ADDC A,#00HMOVR6,AINC R0DJNZ R7,LLMOVR4,#04HIII: CLRCMOVA,R6RRCAMOVR6,AMOVA,R5RRCAMOVR5,ADJNZ R4,LL1MOVAVERAGE,R5SJMP $弟5早5.8 80C51外擴ROM寸,為什么P

23、0 口要接一個8位鎖存器,而P2 口卻不接? 答:P0 口既作為地址線傳送地址的低 8位,又要作為數(shù)據(jù)線傳送8位數(shù)據(jù),只 能分時用做地址線,故P0口輸出的低8位地址數(shù)據(jù)必須用鎖存器鎖存。鎖存器 的鎖存控制信號為引腳 ALE輸出的控制信號。P2 口只用作地址高8位。5.9 若要設(shè)計一個32Kx 8位的外RAM#儲器,分別采用2114 (1KX 4位)和6264 (8KX 8位)芯片,各需多少塊存儲芯片?答:2114 芯片需要:(8/4) * (32/1 ) =64 片6264 芯片需要:32/8=4片P2.6、P2.7對其片選,并指出它5.12 80C51擴展2片6264存儲器芯片,試用 們的地

24、址范圍。地址范圍:B6264 (1) 10*0 0000 0000 0000 00001 1111 1111 1111 11118000HH 9FFFH6264(2) 01*0 0000 0000 0000 00001 1111 1111 1111 11114000H- 5FFFH*74LS1386.1輸入/輸出信息有哪幾種?答:通過接口傳送的信息包括數(shù)據(jù)信息、狀態(tài)信息和控制信息。6.2什么是接口?接口應(yīng)具有哪些功能?接口是將外設(shè)連接到總線上的一組邏輯電路的總稱。功能:1.地址譯碼與設(shè)備選擇2 .緩沖鎖存數(shù)據(jù)3 .信息的輸入輸出4 .信息轉(zhuǎn)換6.7什么是中斷源? 80C51有哪些中斷源? CP

25、U響應(yīng)中斷時,其入口地址是什答:能引起中斷的外部設(shè)備或內(nèi)部原因稱為中斷源,包括外部中斷源和內(nèi)部中 斷源。80C51中有5個中斷源:(1) INTO (P3.2):外部中斷 0。(2) INT1 (P3.3):外部中斷 1。(3) TF0 (P3.4):定時器/計數(shù)器T0溢出中斷(4) TF1 (P3.5):定時器/計數(shù)器T1溢出中斷(5) RX, TX串行中斷入口地址:外部中斷 0 (INTO) : 0003H定時器/計數(shù)器0 (T0): 000BH外部中斷1 (而1): 0013H定時器/計數(shù)器1 (T1): 001BH用行口(RI、TI): 0023H定時器/計數(shù)器2(T2)(僅80C52

26、有):002BH6.11 80C51的外部中斷有哪幾種觸發(fā)方式?如何選擇?答:有電平觸發(fā)方式和邊沿觸發(fā)方式。通過對ICON寄存器的D0位IT0和D2位IT1置位或清0實現(xiàn)。該為為0, 為低電平觸發(fā)方式,該位為1,為下降沿觸發(fā)方式。第7章7.8 8255A 各端口可以工作在幾種方式下?當(dāng)端口 A 工作在方式2 時,端口 B和 C 工作于什么方式下?答:8255A共有三種工作方式:方式 0、方式1和方式2。其中A 口可以工作在 方式0、方式1和方式2, B 口可以工作在方式 0、方式1,而C 口只能工作在方 式 0。在 A 口工作在方式2 時, B 口可以工作在方式0 或方式 1。 C 口高 5

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

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

29、TR INC DPTR MOVX DPTR,A CPL AMOV DPTR,#220HMOVX DPTR,ASJMP $第8章8.3定時器T1用于對外部脈沖計數(shù),每計滿 1000個脈沖后使內(nèi)部RAM 60H 元內(nèi)容加一,要求T1以方式1中斷實現(xiàn),TR1啟動。解:計數(shù)常數(shù)為:TO 216-1000= 64536= FC18H由于采用T1方式1計數(shù)方式,故方式控制字為:0101 0000B=50H程序如下:ORG AJMP ORG LJMP ORG0000H MAIN 001BH T1INT 0200HMAIN: MOV TMOD, 50H MOVTH1, 0FCH MOVTL1, 18H SETB ET1 SETB EA SETB TR1 SJMP $ ORG0800HT1INT: INC 60HMOVTH1, 0FCHMOVTL1, 18H RETI8.4利用定時器T0方式2產(chǎn)生一個5KHz的方波,已知晶振頻率為12MHz 解:方波的周期為1/5000=0.2ms,故T0定時時間應(yīng)為0.1ms。定時常數(shù)為:TC 28 0.1 10 3 12 106/12 256 100 156 9CH即 TCH

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論