求几道MC-51简单题目的标准答案

来源:百度知道 编辑:UC知道 时间:2024/05/06 20:52:02
用MC-51指令实现:1、(1)R7内容传到R4;(2)外部RAM20H单元内容送R0;(3)ROM2000H单元内容送R2;(4)外部RAM0456H的内容送外部RAM0078单元。
2、试编与程序将内部RAM30H~3FH单元数据传送到外部RAM首址为0F00H的单元中去。
3、从内部RAM24H单元开始存放有30个用ASCII码表示的字符和数据,现要找B字符,如果找到字就转移到其处理程序,若直至找完找不到B则停机,试编写程序。
注:2、3题比较重要!先谢谢了!

1(1).由于寄存器组之间不能直接交换内容,所以利用累加器交换
MOV A,R7
MOV R4,A
(2).外部RAM用MOVX,而且必须借助DPTR或者R0,R1作为寄存器间接寻址
MOV R1,20H
MOVX A,@R1
MOV R0,A
(3).和上题一样,但是由于地址是16位,所以用DPTR
MOV DPTR,2000H
MOVX A,@DPTR
MOV R2,A
(4).对于外部寻址的指令,没有外部内存直接交换的指令,只有外部内容与A的交换的指令,所以要实现外部数据交换,还是要先拿到单片机内部,再送出去
MOV DPTR,0456H
MOVX A,@DPTR
MOV DPTR,0078H
MOVX @DPTR,A

2.要知道,30H到3FH有16个字节的长度,所以要有一个传送多少个数的记录,我选用R1。其次,外部寻址用到MOVX和DPTR间接寻址。

MOV R1,0FH;循环变量
MOV DPTR,0F00H;外部数据存储单元的首地址
MOV R0,30H;内部数据存储单元的首地址

LOOP:MOV A,@R0;间接寻址,获取内部数据
MOVX @DPTR,A;将数据送往外部
INC R0;调整地址,下一次取得下一个数据
INC DPTR;调整地址,下一次放到下一个地址单元
DJNZ R1,LOOP;如果未传完,则跳回继续操作
SJMP $;如果传送完毕,在此死循环,可以不要这一句
END

3.和第2题差不多,就是比较一下而已,即CJNE指令
B的ASCII码是42H
这个网址可以看一下CJNE的使用:
标准的MC人员配制应该是什么样的?LM! 谁能给我一个标准MC的MT天赋~? DZ去ZG.MC.BWL.AQL的最低标准是什么 简单的题目 一道简单的题目 简单的数学题目 几道很简单的题目 简单的物理题目 简单的化学题目.. 非常简单的题目~~~