新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機C語言中標(biāo)志位的經(jīng)典應(yīng)用

單片機C語言中標(biāo)志位的經(jīng)典應(yīng)用

作者: 時間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
/*
本例程是C語言的位域操作示例這里為什么位域結(jié)構(gòu)體與聯(lián)合體一起使用?-->因為這樣定義后,即可以單獨使用標(biāo)志位 也可同時使用整個字節(jié)數(shù)據(jù)主要應(yīng)用:單片機C語言好處:用標(biāo)志位可以節(jié)省RAM空間 操作靈活 執(zhí)行速度快*///====標(biāo)志位應(yīng)用 定義聯(lián)合體實體====typedef union uFLG{uint8 Flg ;		//定義整形數(shù)據(jù)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;	//定義聯(lián)合體變量//-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//-應(yīng)用實例void main(void){while(1){ //F_10MS 在中斷里10MS置一次1while(!F_10MS);  //主程序10MS執(zhí)行一次 F_10MS = 0 ; Cmdkey() ;CmdDisplay() ;uFg2 = 0 ;		//直接操作整個字節(jié)F_LED1 = 1 ;	//獨立操作字節(jié)中的一個位}}


關(guān)鍵詞: 單片機C語言標(biāo)志

評論


技術(shù)專區(qū)

關(guān)閉