[疑难问答] 如何定义单片机中位寻址的位为标志

[复制链接]
1093|7
 楼主| xia00 发表于 2016-11-9 21:16 | 显示全部楼层 |阅读模式
比如PSW中的F0,可以在程序中判断为1或为0,还可以置1或清零。我看了郭天详的视频,他讲课直接用一个字节8位做标志,实在是浪费,51的资料RAM从20H到2FH有16字节共128位可位寻址,请教高手C语言如何定义可寻址位为标志
hfdy01 发表于 2016-11-9 21:17 | 显示全部楼层
以20H到2FH的128位做用户标志最便捷
CallReceiver 发表于 2016-11-9 21:25 | 显示全部楼层
在keil里有一个<absacc.h>这个头文件,这里面的函数可以满足你的需要
boy1990 发表于 2016-11-9 21:25 | 显示全部楼层
可以用bit语句来声明一位,它只占一位
sourceInsight 发表于 2016-11-9 21:30 | 显示全部楼层
不要混淆bit与sbit的区别。bit用于普通位变量,而sbit位用于特殊功能寄存器中可位寻址的位变量(有既定位地址)。
bbapple 发表于 2016-11-9 21:31 | 显示全部楼层
若用户不按既定的位定义名称引用6个SFR中的可寻址位,另起位变量名,则也须对其重新定义。
handleMessage 发表于 2016-11-9 21:35 | 显示全部楼层
sbit  P10=0x90;                          //定义位标识符P10,位地址为90H(P1.0)

sbit  P10= 0x90^0;              //定义位标识符P10,为90H(P1口)第0位

sbit  P10= P1^0;             //定义位标识符P10,为P1口第0位
zhouhuanの 发表于 2016-11-9 21:36 | 显示全部楼层
位地址常数必须是该位变量既定的真实位地址
您需要登录后才可以回帖 登录 | 注册

本版积分规则

179

主题

1867

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部