zoukankan      html  css  js  c++  java
  • ZigBee入门第一天

    按键查询控制灯的状态

    1、宏定义灯和按键

    2、按键和灯初始化

    3、用if语句消抖的方法,实现按键控制灯的状态

    相关寄存器

    PxSEL

    PxDIR

     1 #include"ioCC2530.h"
     2 #define D3 P1_0
     3 #define D4 P1_1
     4 #define D5 P1_3
     5 #define D6 P1_4
     6 #define sw1 P1_2
     7 
     8 typedef unsigned int uint;
     9 typedef unsigned char uchar;
    10 
    11 uchar flag=0;//灯的状态
    12 
    13 void delay(uint time)//延时函数
    14 {
    15   uint i;
    16   while(time--)
    17   {
    18     for(i=0;i<535;i++);
    19   }
    20 }
    21 
    22 void Init_Port()
    23 {
    24   P1SEL&=~0x1f;//设置灯和按键为I/O输出
    25   P1DIR|=0x1b;//设置灯为输出00011011
    26   P1DIR&=~0x04;//设置按键为输入
    27   D3=0;
    28   D4=0;
    29   D5=0;
    30   D6=0;
    31 }
    32 
    33 void Init_key()//按键查询初始化
    34 {
    35   if(sw1==0)
    36   {
    37     delay(100);
    38     if(sw1==0)
    39     {
    40       flag++;
    41       while(sw1==0);
    42       if(flag==6)
    43       {
    44         flag=1;
    45       }
    46     }
    47   }
    48 }
    49 
    50 void main()
    51 {
    52   Init_Port();
    53   while(1)
    54   {
    55     Init_key();
    56     switch(flag)
    57     {
    58     case 1:D4=1;D3=0;D6=0;D5=0;break;
    59     case 2:D4=0;D3=1;D6=0;D5=0;break;
    60     case 3:D4=0;D3=0;D6=1;D5=0;break;
    61     case 4:D4=0;D3=0;D6=0;D5=1;break;
    62     case 5:D4=0;D3=0;D6=0;D5=0;break;
    63     }
    64   }
    65 }
  • 相关阅读:
    设计模式基本原则及实例
    Springboot中发送邮件util
    mysql表关联查询索引不生效问题
    个人读书清单整理
    mysql 显示每条记录行号
    Axure教程
    Tomcat配置及原理文章
    HTTPS 简单学习
    Python实现二叉树的非递归先序遍历
    和HTTP相关的web服务器内容
  • 原文地址:https://www.cnblogs.com/Cion-Da/p/9885554.html
Copyright © 2011-2022 走看看