单片机C语言中标志位的经典应用
/* 本例程是C语言的位域操作示例 这里为什么位域结构体与联合体一起使用? -->因为这样定义后,即可以单独使用标志位 也可同时使用整个字节数据 主要应用:单片机C语言 好处:用标志位可以节省RAM空间 操作灵活 执行速度快 */ //====标志位应用 定义联合体实体==== typedef union uFLG{ uint8 易做图 ; //定义整形数据 struct FLAG{ //位域定义 uint8 易做图1 : 1; uint8 易做图2 : 1; uint8 易做图3 : 1; uint8 易做图4 : 1; uint8 易做图5 : 1; uint8 易做图6 : 1; uint8 易做图7 : 1; uint8 易做图8 : 1; }t易做图; }u易做图; u易做图 uF1,uF2; //定义联合体变量 //-------uF1------------------- #define uFg1 uF1.易做图 #define F_10MS uF1.t易做图.易做图1 #define F_Fls1s uF1.t易做图.易做图2 #define F_Fls uF1.t易做图.易做图3 #define F_FlsQ uF1.t易做图.易做图4 //-------uF2------------------- #define uFg2 uF2.易做图 #define F_LED1 uF2.t易做图.易做图1 #define F_LED2 uF2.t易做图.易做图2 #define F_LED3 uF2.t易做图.易做图3 //----应用实例------ void main(void) { while(1) { //F_10MS 在中断里10MS置一次1 while(!F_10MS); //主程序10MS执行一次 F_10MS = 0 ; Cmdkey() ; CmdDisplay() ; uFg2 = 0 ; //直接操作整个字节 F_LED1 = 1 ; //独立操作字节中的一个位 } }
补充:软件开发 , C语言 ,