8052 单片机 如何区别访问SFR和高128RAM呢地址重复呀?在c中应该怎么定义呢?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 12:51:15
8052 单片机 如何区别访问SFR和高128RAM呢地址重复呀?在c中应该怎么定义呢?

8052 单片机 如何区别访问SFR和高128RAM呢地址重复呀?在c中应该怎么定义呢?
8052 单片机 如何区别访问SFR和高128RAM呢
地址重复呀?
在c中应该怎么定义呢?

8052 单片机 如何区别访问SFR和高128RAM呢地址重复呀?在c中应该怎么定义呢?
MCS-51通过访问方式来区别物理内存位置,即使地址一样.
比如内部RAM的高128字节,如果用直接寻址,那么就是操作SFR;如果用间接寻址(MOVX @Ri,A)那么就是对RAM操作.
在C语言中,通过定义变量时加上关键字表示位置:
如unsigned char data a;表示内部RAM低128字节中定义一个无符号整数a.省略或data表示内部低128字节(用直接寻址);bdata表示在可位寻址区;idata表示内部高128字节(用MOV @Ri,A);pdata表示外部低256字节拓展RAM(用MOVX @Ri,A);xdata表示外部所有拓展RAM(用MOVX @DPTR,A);code表示ROM(用MOVC),通常用作数据表格.