如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了但是我发现有些地址是重合的,比如:sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;这是怎么回事?

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 16:21:30
如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了但是我发现有些地址是重合的,比如:sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;这是怎么回事?

如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了但是我发现有些地址是重合的,比如:sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;这是怎么回事?
如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了
但是我发现有些地址是重合的,比如:
sfr SP = 0x81;
sfr DPL = 0x82;
sfr DPH = 0x83;
这是怎么回事?

如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了但是我发现有些地址是重合的,比如:sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;这是怎么回事?
sfr 是用于定义特殊寄存器的关键字
sfr P0=0x80,这个字节是P0(通用寄存器0)P0有8个位,但0x81~0x87与P0毫无关系
SP 是退栈寄存器
DPL和DPH 是数据地址寄存器
51系列单片机中,通常每个寄存器也就一个字节

如果 sfr P0 = 0x80; 那么是不是0x80到0x87都是P0的了但是我发现有些地址是重合的,比如:sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;这是怎么回事? 51单片机里的定义sfr P0 = 0x80;sfr P1 = 0x90;sfr P2 = 0xA0;sfr P3 = 0xB0;像0x80这不就是一个十六进制的数吗? 51单片机的头文件里面的sfr P0=0x80和sfr P1=0x90这类的具体意思是指整一个P0(P0^0-P0^7)都在0x80地址,还是指P0^0-P0^7分别在0x80,0x81,0x82.0x87 REG51.H 里的 sfr P0=0x80; 是什么意思? 在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中sfr用来定义8为特殊功能寄存器,sfr16用来定义16位特殊功能寄存器. sfr P0=0x80; //定义P0的I/O端口,其地址为80 REG51.H 里的 sfr P0=0x80; 在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中sfr用来定义8为特殊功能寄存器,sfr16用来定义16位特殊功能寄存器.sfr P0=0x80; //定义P0的I/O端口,其地址为80H. P0=P0|0x80是什么意思 能直接对单片机的P0口的 0x80进行操作吗?比如我们以前是这样写的:P0 = 0xfe;这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe; 反正都是对0x80操作了.但是0x80好像又是一个常量,编译又 51单片机扩展的变量类型bit,busy_flag = (bit)(P0 & 0x80);bit类型是一位的,那么busy_flag = (bit)(P0 & 0x80);强制转换bit之后busy-flag等于什么 result = (bit)(P0 & 0x80)和result=P0^7有何区别? 51单片机SFR的定义问题sfr P0=80H ;是定义了P0口,那sfr P01=81H; 是否直接可以对P0.1进行定义了?许多单片机不支持未定义,如MSP430,如果我想直接对P0.1进行定义,可有方法, 单片机中,P0.0和P0^0意思一样么?1.SFR P0=0x80h;//0x80H=10000000 2.sbit LED=P0^0; LED=1;1和2一个意思么?0X80H不是地址么,而2中的是直接赋值相当于给的数据是10000000么?什么区分是地址和数据传输,针对P0口; temp&0x80)==0x80什么意思 if((temp&0x80)==0x80) sfr(1)= P0=p0 单片机中断程序P1=P1 | 0x80;是求或运算还是把P0口的值赋给单片机的P1口?硬件是P0口跟ADC0809的数据输出端相连,P1口跟数码管的段选端相连 P0=0x00是什么意思 sfr p1=0x90 sbit p1_0=0x90 0一样吗