1. /*
  2. 本例程是C语言的位域操作示例
  3. 这里为什么位域结构体与联合体一起使用?
  4. -->因为这样定义后,即可以单独使用标志位 也可同时使用整个字节数据
  5.  
  6. 主要应用:单片机C语言
  7.  
  8. 好处:用标志位可以节省RAM空间 操作灵活 执行速度快
  9.  
  10. */
  11.  
  12. //====标志位应用 定义联合体实体====
  13. typedef union uFLG{
  14.  
  15. uint8 Flg ; //定义整形数据
  16.  
  17. struct FLAG{ //位域定义
  18. uint8 Flg1 : 1;
  19. uint8 Flg2 : 1;
  20. uint8 Flg3 : 1;
  21. uint8 Flg4 : 1;
  22. uint8 Flg5 : 1;
  23. uint8 Flg6 : 1;
  24. uint8 Flg7 : 1;
  25. uint8 Flg8 : 1;
  26. }tFlg;
  27.  
  28. }uFlg;
  29.  
  30. uFlg uF1,uF2; //定义联合体变量
  31.  
  32. //-------uF1-------------------
  33. #define uFg1 uF1.Flg
  34.  
  35. #define F_10MS uF1.tFlg.Flg1
  36. #define F_Fls1s uF1.tFlg.Flg2
  37. #define F_Fls uF1.tFlg.Flg3
  38. #define F_FlsQ uF1.tFlg.Flg4
  39.  
  40. //-------uF2-------------------
  41. #define uFg2 uF2.Flg
  42. #define F_LED1 uF2.tFlg.Flg1
  43. #define F_LED2 uF2.tFlg.Flg2
  44. #define F_LED3 uF2.tFlg.Flg3
  45.  
  46. //----应用实例------
  47.  
  48. void main(void)
  49. {
  50. while(1)
  51. {
  52. //F_10MS 在中断里10MS置一次1
  53.  
  54. while(!F_10MS); //主程序10MS执行一次
  55. F_10MS = 0 ;
  56.  
  57. Cmdkey() ;
  58. CmdDisplay() ;
  59.  
  60. uFg2 = 0 ; //直接操作整个字节
  61. F_LED1 = 1 ; //独立操作字节中的一个位
  62.  
  63. }
  64. }

单片机C语言中标志位的经典应用的更多相关文章

  1. C语言中两位ASCII码可以表示汉字

    最近偶然有人问到这个相关字符编码的问题,所以百度了下参考了这两个资料,进行了简单分析. ******************************************************** ...

  2. C语言中的位运算和逻辑运算

    这篇文章来自:http://blog.csdn.net/qp120291570/article/details/8708286 位运算 C语言中的位运算包括与(&),或(|),亦或(^),非( ...

  3. C/C++语言中的位运算

    在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用“位运算”来完成所有的运算和操作. 一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率.C语 ...

  4. 计算机二级-C语言-对标志位的巧妙使用。对二维数组数据进行处理。对文件进行数据输入。

    //函数fun的功能是:计算形参x所指数组中平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于的移至后部,平均值作为返回值,在主函数中输出平均值和后移的数据. //重难 ...

  5. 关于C语言中的位运算符的学习即应用

    一.运算符的种类和运算规则: &      与:全1则1,有0则0   |       或:有1则1,全0则0   ^   异或:相同为0,不同为1   ~   取反:~是一元运算符,用来对一 ...

  6. C语言中的位拷贝与值拷贝浅谈(转载)

    注:C语言实现的PHP变量的赋值过程中,就涉及到了 深拷贝和浅拷贝 位拷贝拷贝的是地址(也叫浅拷贝),而值拷贝则拷贝的是内容(深拷贝).深拷贝和浅拷贝可以简单理解为:如果一个类拥有资源,当这个类的对象 ...

  7. C语言中的位运算的技巧

    一.位运算实例 1.用一个表达式,判断一个数X是否是2的N次方(2,4,8,16.....),不可用循环语句. X:2,4,8,16转化成二进制是10,100,1000,10000.如果减1则变成01 ...

  8. C语言中的按位移动及其简单引用

    C语言中的按位移动及其简单应用 在C语言中按位左移用”<<”表示,按位右移用”>>”表示. 按位左移和按位右移运算经常被用来替换乘二和除二运算,但是要注意,这两者之间并不完全等 ...

  9. 《C语言深度剖析》学习笔记----C语言中的符号

    本节主要讲C语言中的各种符号,包括注释符.单引号双信号以及逻辑运算符等. 一.注释符 注释符号和注释在程序的预编译期就已经被解决了,在预编译期间,编译器会将注释符号和注释符号之间的部分简单的替换成为空 ...

随机推荐

  1. http发送post请求

    package com.j1.soa.resource.member.oracle.service; import java.io.BufferedReader; import java.io.IOE ...

  2. javascript sort 用法

    <html> <head> <title></title> <script type="text/javascript" sr ...

  3. js函数的各种写法与调用

    以下是我见过的各种js函数的各种写法以及调用,虽然有些写法及其调用我不清楚其专业术语叫啥,但并不影响我写一个总结笔记. 我们刚开始接触js语音,经常看到的这种名叫“使用function关键字来定义函数 ...

  4. HTML&CSS基础学习笔记1.2-HTML的全局属性?

    HTML元素都有属性,下面的这些全局属性是所有的HTML元素都可以使用的. 常见的有: HTML元素也有一些本身自己独特的属性,我们以后的笔记中有机会,会再为大家介绍哦. 下面是代码测验,具体的内容可 ...

  5. HTML&CSS基础学习笔记1-简单网页中有哪些标签?

    一个简单网页中有哪些HTML标签? 平时我们看到的网页,都是由HTML的标签来组成的.HTML标签非常多,我们先来认识一部分. 1. <html></html>称为根标签,所有 ...

  6. GO函数倒叙输出

    package main import "fmt" func main(){ rec() } func rec(i int){ { return } rec(i+) fmt.Pri ...

  7. Chrome下的语音控制框架MyVoix.js使用篇(一)

    日前因工作需求,着手研究了语音识别技术,发现github上有网友发布了一款叫做voix.js的javascript框架.在拜读voix.js的源码后发现了不少问题,于是自己写了一款语音识别框架MyVo ...

  8. Mysql 新建用户以及授权远程连接操作

    1:以root身份登陆mysql终端 mysql -uroot -pmysql 2:创建wx用户,注意密码要加单引号 mysql> create user wx identified by 'w ...

  9. Effective Java Item3:Enforce the singleton property with a private constructor or an enum type

    Item3:Enforce the singleton property with a private constructor or an enum type 采用枚举类型(ENUM)实现单例模式. ...

  10. Qt在Mac OS X下的编程环境搭建

    尊重作者,支持原创,如需转载,请附上原地址:http://blog.csdn.net/libaineu2004/article/details/46234079 在Mac OS X下使用Qt开发,需要 ...