微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机C语言中标志位的经典应用

单片机C语言中标志位的经典应用

时间:11-20 来源:互联网 点击:
/*
本例程是C语言的位域操作示例这里为什么位域结构体与联合体一起使用?-->因为这样定义后,即可以单独使用标志位 也可同时使用整个字节数据主要应用:单片机C语言好处:用标志位可以节省RAM空间 操作灵活 执行速度快*///====标志位应用 定义联合体实体====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置一次1while(!F_10MS);  //主程序10MS执行一次 F_10MS = 0 ; Cmdkey() ;CmdDisplay() ;uFg2 = 0 ;		//直接操作整个字节F_LED1 = 1 ;	//独立操作字节中的一个位}}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top