單片機(jī)第4章作業(yè)_第1頁(yè)
單片機(jī)第4章作業(yè)_第2頁(yè)
單片機(jī)第4章作業(yè)_第3頁(yè)
單片機(jī)第4章作業(yè)_第4頁(yè)
單片機(jī)第4章作業(yè)_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 ORG 0100HMAIN: MOV R2,#10H MOV R3,#20HMOV R6,#0FH MOV R7,#0FFH MOV DPL,#00H MOV DPH,R2LOP1: MOVX A,DPTR MOV DPH,R3 MOVX DPTR, A INC DPTR MOV R3,DPH CLR C MOV A,R3 SUBB A,#10H 4.15 編程將外部編程將外部RAM的的1000H1FFFH區(qū)域的數(shù)據(jù)送到區(qū)域的數(shù)據(jù)送到2000H2FFFH區(qū)域。區(qū)域。 MOV R2,A MOV DPH,R2 MOV A, R7 JNZ LOP2 ORL A, R6 JZ ENDP DEC R6

2、LOP2: DEC R7 SJMP LOP1ENDP: SJMP $ END BLOCK1 EQU 30H BLOCK2 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.16已知一內(nèi)部已知一內(nèi)部RAM以以BLOCK1和和BLOCK2為起始為起始地址的存儲(chǔ)區(qū)中分別有地址的存儲(chǔ)區(qū)中分別有5字節(jié)字節(jié)無(wú)符號(hào)

3、被減數(shù)和減數(shù)(低位無(wú)符號(hào)被減數(shù)和減數(shù)(低位在前,高位在后。請(qǐng)編寫(xiě)減在前,高位在后。請(qǐng)編寫(xiě)減法子程序令它們相減,并把法子程序令它們相減,并把差放入以差放入以BLOCK1為起始地為起始地址的存儲(chǔ)單元。址的存儲(chǔ)單元。 THREE EQU 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 TWOLOOP2: INC TH

4、REEHALT: DJNZ R7,LOOP34.17 從內(nèi)部從內(nèi)部RAM20H單元開(kāi)單元開(kāi)始存有一組帶符號(hào)數(shù),其個(gè)始存有一組帶符號(hào)數(shù),其個(gè)數(shù)已存放在數(shù)已存放在1FH單元中。要單元中。要求統(tǒng)計(jì)出大于求統(tǒng)計(jì)出大于0、等于、等于0和小和小于于0的數(shù)的數(shù)目,并把統(tǒng)計(jì)結(jié)的數(shù)的數(shù)目,并把統(tǒng)計(jì)結(jié)果分別存放在果分別存放在ONE、TWO、THREE三個(gè)單元中。三個(gè)單元中。4.18 設(shè)內(nèi)部設(shè)內(nèi)部RAM30H單元有兩個(gè)非零的單元有兩個(gè)非零的BCD數(shù),請(qǐng)編寫(xiě)求兩個(gè)數(shù),請(qǐng)編寫(xiě)求兩個(gè)BCD數(shù)的積數(shù)的積,并將積以壓縮型并將積以壓縮型BCD數(shù)形式送入數(shù)形式送入31H單元的程序。單元的程序。 ORG 0000HMOV A, 3

5、0HANLA, #0F0HSWAPAMOV B, AMOV A, 30HANLA, #0FHMULA, BMOV B, #0AHDIVABSWAP AORLA, BMOV 31H, ASJMP $4.20 編制絕對(duì)值函數(shù)程序。絕對(duì)值函數(shù)方程如下:編制絕對(duì)值函數(shù)程序。絕對(duì)值函數(shù)方程如下: 假設(shè)假設(shè)X存于存于30H單元,單元,Y存于存于40H單元。單元。X 及及Y均為補(bǔ)碼數(shù)均為補(bǔ)碼數(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,

6、A SJMP $ END0X0X00XY當(dāng)當(dāng)當(dāng)XX4.21 試編寫(xiě)統(tǒng)計(jì)數(shù)據(jù)區(qū)長(zhǎng)度的程序,設(shè)數(shù)據(jù)區(qū)從內(nèi)試編寫(xiě)統(tǒng)計(jì)數(shù)據(jù)區(qū)長(zhǎng)度的程序,設(shè)數(shù)據(jù)區(qū)從內(nèi)RAM30H開(kāi)始,該數(shù)據(jù)區(qū)以開(kāi)始,該數(shù)據(jù)區(qū)以0結(jié)束,統(tǒng)計(jì)結(jié)果送人結(jié)束,統(tǒng)計(jì)結(jié)果送人2FH中。且數(shù)據(jù)區(qū)結(jié)束字符,也計(jì)入統(tǒng)計(jì)數(shù)據(jù)區(qū)的中。且數(shù)據(jù)區(qū)結(jié)束字符,也計(jì)入統(tǒng)計(jì)數(shù)據(jù)區(qū)的長(zhǎng)度中去長(zhǎng)度中去. 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位十六進(jìn)制數(shù),

7、試編程將其轉(zhuǎn)換為位十六進(jìn)制數(shù),試編程將其轉(zhuǎn)換為ASCII碼,存碼,存人內(nèi)部人內(nèi)部RAM 31H、32H中(低字節(jié)在前)。英文字母為大寫(xiě)中(低字節(jié)在前)。英文字母為大寫(xiě). ORG 0000H LJMP START START:MOV SP,#60H MOV A,R7 LCALL BCDASCII MOV 31H,A MOV A,R7 SWAP A LCALL BCDASCII MOV 32H,A BCDASCII:ANL A,#0FH CJNE A,#10H,LOOP LOOP: JC AD30H ADD A,#07H AD30H:ADD A,#30H RET END ORG 0000H LJM

8、P 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: DB 30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H,46H END4.24設(shè)在設(shè)在MA和和MB單元中有兩個(gè)補(bǔ)碼單元中有兩個(gè)補(bǔ)碼形式的形式的8位二進(jìn)制帶符號(hào)數(shù)。請(qǐng)編寫(xiě)求位二進(jìn)制帶符號(hào)數(shù)。請(qǐng)編寫(xiě)求兩數(shù)之和并把它放在兩數(shù)之和并把它放在SUML和和SUMH單元單

9、元(低低8位在位在SUML單元單元)的子程序。的子程序。提示:在兩個(gè)提示:在兩個(gè)8位二進(jìn)制帶符號(hào)數(shù)相加位二進(jìn)制帶符號(hào)數(shù)相加時(shí),其和很可能會(huì)超過(guò)時(shí),其和很可能會(huì)超過(guò)8位數(shù)所能表示位數(shù)所能表示的范圍,從而需要采用的范圍,從而需要采用16位數(shù)形式來(lái)位數(shù)形式來(lái)表示。因此,在進(jìn)行加法時(shí)、可以預(yù)表示。因此,在進(jìn)行加法時(shí)、可以預(yù)先把這兩個(gè)加數(shù)擴(kuò)張成先把這兩個(gè)加數(shù)擴(kuò)張成16位二進(jìn)制補(bǔ)位二進(jìn)制補(bǔ)碼形式,然后對(duì)它完成雙字節(jié)相加。碼形式,然后對(duì)它完成雙字節(jié)相加。ORG 0000HLJMP STARTSTART:MOV A,MA JB ACC.7,LLA MOV R7,#00H SJMP LLLLLA: MOV R7

10、,#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 設(shè)外部設(shè)外部RAM1000H10FFH數(shù)據(jù)區(qū)中的數(shù)均為無(wú)符號(hào)數(shù)。數(shù)據(jù)區(qū)中的數(shù)均為無(wú)符號(hào)數(shù)。試編寫(xiě)程序,找出該區(qū)域中的數(shù)的最大值,并放人內(nèi)部試編寫(xiě)程序,找出該區(qū)域中的數(shù)的最大值,并放人內(nèi)部RAM30H單元中。單元中。方法方法1: ORG 0000H LJMP START START:MOV DPTR,#1000

11、H MOV R7,#0FFH MOVX A,DPTR MOV B,A LOOP: INC DPTR MOVX A,DPTR CJNE A,B,LOOP1 LOOP1:JNC LOOP2 MOV A,B LOOP2:DJNZ R7,LOOP MOV 30H,A SJMP $ 4.25 設(shè)外部設(shè)外部RAM1000H10FFH數(shù)據(jù)區(qū)中的數(shù)均為無(wú)符號(hào)數(shù)。數(shù)據(jù)區(qū)中的數(shù)均為無(wú)符號(hào)數(shù)。試編寫(xiě)程序,找出該區(qū)域中的數(shù)的最大值,并放人內(nèi)部試編寫(xiě)程序,找出該區(qū)域中的數(shù)的最大值,并放人內(nèi)部RAM30H單元中。單元中。方法方法2:MOV OPTR,#1000HMOV R7,#00H;計(jì)數(shù)器計(jì)數(shù)器MOV B,#00H;放

12、中間結(jié)果放中間結(jié)果L1:MOVX A, DPTRCJNE A, B, L2L2:JCL3MOV B, A; B中放大值中放大值L3:INCDPTRDJNZ R7, L1MOV 30H, ASJMP $4.28 已知已知a、b、c均為均為09的整數(shù),的整數(shù),試編程求解表達(dá)式的值(要求使用子試編程求解表達(dá)式的值(要求使用子程序)。程序)。AAEQU31HBBEQU32HCCEQU33HYEQU34HORG0100HMOV SP,#60HMOVA,AACLRCSUBB A,BBACALL CHUCIMOVR6,A;.MOVA,BBCLRCSUBB A,CCACALL CHUCIADDA,R6MOVR

13、6,A;.MOVA,CCCLRCSUBB A,AAACALL CHUCIADDA,R6MOVR6,AMOVY,R6SJMP$;入口入口:項(xiàng)內(nèi)差在項(xiàng)內(nèi)差在A中中.;出口出口:平方值在平方值在A中中CHUCI:JNBACC.7,SQRCPLA ;差為負(fù)則先求其相反差為負(fù)則先求其相反數(shù)數(shù)ADDA,#01HSQR:ADDA,#01HMOVC A,A+PCRETSQRTAB: DB 0,1,4,9,16,25,36,49,64,81 AA EQU 31H BB EQU 32H CC EQU 33H Y EQU 34H ORG 0000H LJMP START START:MOV SP,#60H MOV

14、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 SUBB A,AA ACALL CHUNCI ADD A,R6 MOV R6,A MOV Y,R6CHUNCI:JNB ACC.7,SQR MOV B,A MOV A,#00H CLR C SUBB A,B SQR: ADD A,#01H MOVC A,A+PC RETSQRTAB:DB 0,1,4,9,16,25,36,49,64,81 4.29 從內(nèi)部從內(nèi)部RAM的的SCORE單元開(kāi)始放單元開(kāi)始放有有16位同學(xué)某門(mén)課程的考試成績(jī),試編位同學(xué)某門(mén)課程的考試成績(jī),試編程求平均成績(jī),存入程求平均成績(jī),存入AVERAGE單

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論