请教:Keil 51里的 bit flag; 在ICC中如何实现?

2020-01-24 11:56发布

Keil 51里的位定义(bit flag;) 在ICC中如何实现?

谢谢~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
AA55
1楼-- · 2020-01-25 09:43
请楼上仔细研究研究AVR体系和指令集:)
52avr
2楼-- · 2020-01-25 10:43
可以用结构体定义位变量。
songshanxiaozi
3楼-- · 2020-01-25 13:03
本帖最后由 songshanxiaozi 于 2014-4-15 16:04 编辑

1.可以用位操作
定义unsigned char flags。假如程序使用了bit0,那么对bit0置位和复位的操作就是
flags |=0x01;
flags &=~0x01;

2.可以用位域~
typedef struct
{
unsigned char  bit0:1;
unsigned char  bit1:1;
unsigned char  bit2:1;
unsigned char  bit3:1;
unsigned char  bit4:1;
unsigned char  bit5:1;
unsigned char  bit6:1;
unsigned char  bit7:1;
}BIT_FIELD;

BIT_FIELD  flags;

使用方法为
flags.bit0=0;
flags.bit1=1;

这两种方法是C语言的标准用法。可适用任意单片机。

一周热门 更多>