《单片机选修课4次作业》由会员分享,可在线阅读,更多相关《单片机选修课4次作业(5页珍藏版)》请在金锄头文库上搜索。
1、 第三次作业1、已知 R3 和 R4 中存有一个 16 位的二进制数,高位在 R3 中,低位在 R4中。请编程将其求补,并存回原处。答:MOV A,R3RLC AJNC LOOP1MOV A, R4CPL AADD A, #1MOV R4, AMOV A, R3CPL AADDC A, #80MOV R3, ALOOP1:RET2、编写一个程序,把片外 RAM 从 2000H 开始存放的 10 个数传送到片内RAM 30H 开始的单元中。(遇到 0 时停止)答:START: MOV R0, #30HMOV DPTR, #2000HMOV R1,#0AHLOOP1: MOVX A, DPTRJZ
2、 LOOP2MOV R0,AINC R0INC DPTRDJNZ R1,LOOP1LOOP2: RET3、完成以下的数据传送过程。(1)R1 的内容传送到 R0。答 MOV A,R1MOV R0,A(2)片外 RAM 20H 单元的内容送 R0。答 MOV DPTR,#0020HMOVX A,DPTRMOV R0,A(3)片外 RAM 20H 单元的内容送片内 RAM 20H答 MOV DPTR, #0020HMOVX A,DPTRMOV 20H,A(4)片外 RAM 1000H 单元的内容送片内 RAM 20H答 MOV DPTR, #1000HMOVX A, DPTRMOV 20H, A(
3、5)片内 RAM 20H 单元的内容送 R0。答 MOV A, #00HMOV DPTR, #2000HMOVC A, A+DPTRMOV R0H, A(6)片外 RAM 2000H 单元的内容送片内 RAM 20H答 MOV A, #00HMOV DPTR, #2000HMOVC A, A+DPTRMOV 20H, A(7)片外 RAM 20H 单元的内容送片外 RAM 40H答 MOV A, #00HMOV DPTR, #2000HMOVC A, A+DPTRMOV DPTR, #0020HMOVX DPTR, A4、设有两个 4 位 BCD 码,分别存放在片内 RAM 的 23H,22H
4、 单元和33H,32H 单元中,求它们的和,并送入 43H,42H 单元中去。 (以上均为低位字节,高位在高字节) 。答: ORG 0000HLJMP SARTORG 030H START:MOV A,22HADD A,32HDA AMOV 42H,AMOV A,23HADDC A,33HDA AMOV 43H,ASJMP $ENDORG 0000HLJMP MAINORG 0030HMAIN:MOV R7,#20HMOV R1,#40HMOV DPTR,#3000HLOOP:MOV A,R1MOVX DPTR,AINC R1INC DPTRDJNZ R7,LOOPSJMP $END5、编程将
5、片内 RAM 的 40H60H 单元中内容送到片外 RAM 以 3000H 开始的单元中。答: ORG 0800H MOV DPTR,40HMOV R0,#3000HMOV R7,#11HLOOP: MOVX A,DPTR MOV R0,A INC R0 INC DPTRDJNZ R7,LOOPRET 6、编程计算片内 RAM 区 30H37H 的 8 个单元中数的算术平均值,结果存在3AH 单元中,余数存在 3BH 单元中。 (只考虑运算不产生进位情况)答:ORG 0100HCLR AMOV R0,#30HMOV R7,#08HLOOP: ADD A,R0INC R0DJNZ R7,LOOPMOV B,#08HDIV ABMOV 3AH,AMOV 3BH,BRET