
单片机新手请教一个问题啊,在一个小的程序之初,有一个头文件reg52.h,打开这个头文件里面有一段内容是:
4个回答
展开全部
sfr是定义寄存器的
这里其实就是定义P1这个标号,表示的是RAM中的0x80这个地址。实际上是P0的寄存器(不知道是不是你笔误把P0写成了P1)
这里其实就是定义P1这个标号,表示的是RAM中的0x80这个地址。实际上是P0的寄存器(不知道是不是你笔误把P0写成了P1)
更多追问追答
追问
是的,确实是笔误,不好意思啊。改了之后就是:
sfr P0 = 0x80 是不是意思就是说定义了一个寄存器P0,这个寄存器的地址是RAM中间的0x80。
以后的代码中P0就是代表RAM中的0x80这个地址。
是上面这个意思吗?
追答
恩,没错
展开全部
SFR是特殊寄存器的统称,P1就是单片机的IO口,0x80是P1口端口寄存器的物理地址,
这段代码是告诉编译器遇到P1符号时就用地址0x80代替
这段代码是告诉编译器遇到P1符号时就用地址0x80代替
追问
P0就是单片机的I0口, 这句话是不是 sfr P0 = 0x80 之后成立的?还是之前成立的?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在keil中,sfr与sfr16用于定义8051的特殊功能寄存器,其中sfr用来定义8为特殊功能寄存器,sfr16用来定义16位特殊功能寄存器。
sfr P0=0x80; //定义P0的I/O端口,其地址为80H。
sfr P0=0x80; //定义P0的I/O端口,其地址为80H。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
位地址
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询