51单片机的地址问题(位地址和字节地址)
发布网友
发布时间:2022-04-29 12:14
我来回答
共5个回答
热心网友
时间:2022-06-27 12:39
1. 8051的内部RAM能作为用户RAM区的只有00~7FH,可以用直接寻址或寄存器间接寻址;80H~FFH是SFR,放了些特殊功能寄存器,只能用直接寻址;
2. 位地址00~7FH和片内RAM字节地址00~7FH只是地址的称呼一样,代表的含义不同,位地址只能用位寻址;
3. 具体的地址是只能通过指令来区分。
其实楼主的理解还是比较清晰的,至少几个重点都搞清楚了。
热心网友
时间:2022-06-27 12:40
1.RAM的00~7FH可以使用直接寻址或间接寻址方式来访问,比如:
MOV 17H,#23H……直接寻址
MOV @R0,#16H……间接寻址
对于80H~FFH地址部分由两种情况:RAM的高128字节和SFR,访问SFR只能使用直接寻址方式,如MOV E0H,#17H,其中E0H就是ACC,即相当于指令MOV A,#17H
如果要访问高128字节的RAM,只能使用间接寻址方式,如向RAM的E0H复制0x17,则需要这样:
MOV R0,#0E0H
MOV @R0,#17H
2.是的,一个是字节byte地址的00~7FH,一个是位bit的地址00~7FH
3.如果是 MOV 2FH,#1,这是字节寻址;如果是 MOV 2FH,C就是位寻址,当然很好判断的是,位寻址指令中一定有C,即PSW中的C位,字节寻址是没有的。
热心网友
时间:2022-06-27 12:40
现在的51片,有若干套地址体系,若一51片的RAM为256字节,则它的地址范围为00H-FFH,其00H-7FH既可用直接寻址读写,也可用间接寻址读写。80H-FFH只能用间接寻址读写。低128字节中的前00H-1FH也可用R0-R8直接操作。20H-2FH这十六个字节可以单独对其每个字节的每个位进行操作,而其它地址的RAM没此功能。位操作的地址直接映射到这些字节的相应位中去。一条汇编语句,其地址具体使用的是什么存储器,只能看这条汇编语句的命令和这条命令的另一个操作数(如果有的话)
参考资料:如果您的回答是从其他地方引用,请表明出处
热心网友
时间:2022-06-27 12:41
8051的内部数据存储器结构是:
00H-1FH为工作寄存器区
20H-2FH为位寻址区
30H-7FH为数据缓冲区
字节地址20H的位地址是 D7 D6 D5 D4 D3 D2 D1 D0
07 06 05 04 03 02 01 00
位地址00-07只在DATA区内占一个字节地址20H
热心网友
时间:2022-06-27 12:41
你知道,字节是什么?
位又是什么?
你这样问,估计你不懂?我说得如何?