问个关于单片机基础的有关问题
问个关于单片机基础的问题最近在改别人写的单片机程序,汇编写的Assembly codemov r0,#00hclr aclearRam2:m
问个关于单片机基础的问题
最近在改别人写的单片机程序,汇编写的
Assembly code mov r0,#00h clr aclearRam2: mov @r0,a djnz r0,clearRam2
上面这段代码,我理解是将00h~ffh的内存单元数据都清0,但是我现在有个疑问,内部存储单元里面不是也包含了工作寄存区以及特殊存储器的部分吗,这样的话所有的单片机里的设置都被清零,这段代码使用的单片机是W77E516A,求高人指点下!
Assembly code setb SerialRSVSgn ;1 接收到1桢数据,0 没有接收到数据 setb c mov SerialRSVSgn,c
还有就是这段代码,最后那句是不是有点重复,这个没有必要了吧?
[解决办法]1. 0x80-0xff首先对应特殊寄存器区,访问特殊寄存器区必须直接寻址,例如
MOV 98h, #52h
是设置SCON寄存器
2. 一般增强型51或8052,内部RAM大于128字节,大于128字节的部分地址仍分配在0x80-0xff
但这个地址区间只能用间接寻址方式访问,就是先把地址放在寄存器中,在用
MOV @r0, #55h的方式访问
[解决办法]