文档库 最新最全的文档下载
当前位置:文档库 › 单片机第三章作业参考答案

单片机第三章作业参考答案

1.指出下列指令中划线操作数的寻址方式和指令的操作功能

MOV A,#78H;立即寻址,将立即数送入累加器A

MOV A,78H;直接寻址,将内部RAM 78H单元内容送累加器A

MOV A,R6;寄存器寻址,将R6内容送累加器A

INC@R0;寄存器间接寻址,将指针R0指向的内部RAM单元内容加1

PUSHACC;寄存器寻址,将累加器A的内容入栈

RLA;寄存器寻址,将累加器A的内容左移1位

CPL30H;位寻址,将位变量30H的内容取反

SJMP$;相对寻址,死循环指令

MOVCA,@A+DPTR;基寄存器加变址寄存器间接寻址,从程序存储器中DPTR+A对应的地址单元取数到累加器A

2.指出下列指令中哪些是非法的?

DECDPTR

MOV A,@R2

MOVR1,@R0

MOVP1.1,30H

MOV#30H,A

MOVOV,30H

MOV A,@A+DPTR

RRC30H

RLB

XRLC,30H

3.如何将1个立即数30H送入内部RAM 90H单元?如何将立即数送特殊功能寄存器P1?

(1)MOVR0,#90H

MOV@R0,#30H

(2)MOVP1,#30H

4.执行下列一段程序后,试分析有关单元内容。

MOVPSW,#0;

MOVR0,#30H;

MOV30H,#40H

MOV40H,#50

MOV A,@R0

ADDCA,#0CEH

INCR0

执行结果:(R0)=31H, (30H)=40H, (40H)=50, (A)=0EH, (PSW)=81H

5.试编写一段程序,内部RAM 40H、41H单元内容传送到外部RAM 2000H、2001H单

元中。

MOVDPTR,#2000H

MOVR0,#40H

MOV A,@R0

MOVX@DPTR,A

INCR0

INCDPTR

MOV A,@R0

MOVX@DPTR,A

6.试编写一段程序,根据累加器A的内容,到程序存储器1000H起始的表格中取一双字

节数,送内部RAM 50H、51H单元。

MOVDPTR,#1000H

PUSHACC

MOVCA,@A+DPTR

MOV50H,A

POPACC

INCDPTR

MOVCA,@A+DPTR

MOV51H,A

7.试编写一段程序,进行两个16位数的相减运算:6483H-56E2H。结果高8位存在内部

RAM 40H,低8位存41H。

CLRC

MOV A,#83H

SUBBA,#0E2H

MOV41H,A

MOV A,#64H

SUBBA,#56H

MOV40H,A

8.试编写一段程序,将30H、31H单元中存放的BCD数,压缩成一个字节(原30H单元

内容为高位),并放入30H单元。

MOV A,30H

SWAPA

ORLA,31H

9.试编写一段程序,将30H~32H单元中的压缩BCD拆成6个单字节BCD数,并放入

33H~38H单元。

MOVSP,#60H

MOV A,30H

MOVR0,#33H

ACALLH2ASC

MOV A,31H

ACALLH2ASC

MOV A,32H

ACALLH2ASC

SJMP$

H2ASC:MOVB,A

ANLA,#0FH

MOV@R0,A

INCR0

MOV A,B

SWAPA

ANLA,#0FH

MOV@R0,A

INCR0

RET

10.设晶振频率为6MHz,试编写一个延时1ms的子程序,并利用该子程序,编写一段主程

序,在P1.0引脚上输出高电平宽2ms、低电平宽1ms的方波信号。

MOVSP,#60H

LOOP:SETBP1.0

ACALLDELAY

ACALLDELAY

CLRP1.0

ACALLDELAY

SJMPLOOP

DELAY:MOVR0,#248;1T

DJNZR0,$;2T

NOP;1T

RET;2T

延时计算:1T+248*2T+1T+2T=500T=1ms

相关文档
相关文档 最新文档