能直接对单片机的P0口的 0x80进行操作吗?比如我们以前是这样写的:P0 = 0xfe;这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe; 反正都是对0x80操作了.但是0x80好像又是一个常量,编译又
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/07 21:41:20
能直接对单片机的P0口的 0x80进行操作吗?比如我们以前是这样写的:P0 = 0xfe;这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe; 反正都是对0x80操作了.但是0x80好像又是一个常量,编译又
能直接对单片机的P0口的 0x80进行操作吗?
比如我们以前是这样写的:P0 = 0xfe;
这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe;
反正都是对0x80操作了.但是0x80好像又是一个常量,编译又不通过?难道这个真实的地址对于我们来说真的只能把它先sfr XX = 0x80;
能直接对单片机的P0口的 0x80进行操作吗?比如我们以前是这样写的:P0 = 0xfe;这里既然这个P0是0x80的别名,那么我可不可以写成0x80 = 0xfe; 反正都是对0x80操作了.但是0x80好像又是一个常量,编译又
P0= 0xFE表示你往P0口对应的寄存器里送数据,这个数据是0xFE
P0是0x80的别名?谁告诉你的?我们说P0口它寄存器所在的地址是0x80,不是说它和0x80等价(别名是等价的,例如一个人叫李勇,别名李工,你叫哪个名字都是指同一个人),但是这里的0x80是P0在单片机内部的地址,根本就没有等价之说.
你也知道了0x80是个常数,0xFE也是常数 => 0x80=0xFE这不扯淡吗(好比1等于2?).P0=0xFE,而P0的0x80表示的是地址,意思是往单片机地址为0x81的内存里写上数据0xFE.
sfr用于定义寄存器,sft aaa= 0x80;表示aaa寄存器在单片机内存地址为0x80的地方,aaa=5表示在单片机内存地址为0x80的地方写入数据,这个数据为5.sft用于声明寄存器在单片机内部的地址.也就是当你写数据时,将数据写入到哪里.