当前位置:首页 > 单片机 > 单片机
[导读]单片机C语言中标志位的经典应用

//====标志位应用 定义联合体实体====
typedef union uFLG{
 
    uint8 Flg ;     //定义整形数据
 
    struct FLAG{        //位域定义
        uint8   Flg1   : 1;
        uint8   Flg2   : 1;
        uint8   Flg3   : 1;
        uint8   Flg4   : 1;
        uint8   Flg5   : 1;
        uint8   Flg6   : 1;
        uint8   Flg7   : 1;
        uint8   Flg8   : 1;
    }tFlg; 
 
}uFlg;
 
uFlg uF1,uF2;   //定义联合体变量
 
//-------uF1-------------------
#define uFg1            uF1.Flg
 
#define F_10MS          uF1.tFlg.Flg1
#define F_Fls1s         uF1.tFlg.Flg2
#define F_Fls           uF1.tFlg.Flg3
#define F_FlsQ          uF1.tFlg.Flg4
 
//-------uF2-------------------
#define uFg2                uF2.Flg
#define F_LED1          uF2.tFlg.Flg1
#define F_LED2          uF2.tFlg.Flg2
#define F_LED3          uF2.tFlg.Flg3
 
 
 
//----应用实例------
 
void main(void)
{
    while(1)
    {
        //F_10MS 在中断里10MS置一次1
 
        while(!F_10MS);  //主程序10MS执行一次
        F_10MS = 0 ;
 
        Cmdkey() ;
        CmdDisplay() ;
 
        uFg2 = 0 ;      //直接操作整个字节
        F_LED1 = 1 ;    //独立操作字节中的一个位
 
    }
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭