找回密码
 注册
关于网站域名变更的通知
查看: 241|回复: 2
打印 上一主题 下一主题

zigbee实现点灯

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2021-11-19 14:05 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
zigbee点灯程序
最近开始了专业课的学习,我们所使用到的zigbee模块搭载于51芯片,大致的使用与51开发板使用 差不多,不过功能更加的强大,多了很多难记得中断,以及通信协议栈,上升了不少的难度,不过还是有异曲同工之妙。

1.按键控制灯的功能,第一次按键实现亮蓝灯,第二次按键亮黄灯,第三次按键亮流水灯,关键的语句在于计数变量的使用以及对长时间按键的处理。

#include "ioCC2530.h"
#define led1 P1_0
#define led2 P1_1
#define key  P1_2
void delay(int i);
void main()
{
    //寄存器初始化设置
    P1SEL&=~0x04;
    P1DIR|=0x04;
    P1INP|=0x04;
    P1SEL&=~0x03;
    P1DIR|=0x03;
    int count=0;//计数变量的使用
    int op;
    while(1)
    {
        led1=0;
        led2=0;
        if(key==0)
        {      
            delay(1);//延时用于消抖
            while(key==0);//长时间按键用于释放
            count++;//按键过后计时器递加
        }
        op=count%4;
        switch(op)
        {
        case 0:
            led2=0;
            led1=0;
          break;
        case 1:
            led2=0;
            led1=1;
            delay(3);
          break;
        case 2:
            led1=0;
            led2=1;
            delay(3);
          break;
        case 3:
            led2=0;
            led1=1;
            delay(5);
            led1=0;
            led2=1;
            delay(5);
            led2=0;
          break;
        default:
          break;
        }     
    }
}
//延时函数
void delay(int i)
{
    int j;
    for(;i>0;i--)
        for(j=0;j<10000;j++);

}

产生的实验现象


该用户从未签到

2#
发表于 2021-11-19 14:16 | 只看该作者
这个程序没用到通信协议吧

该用户从未签到

3#
发表于 2021-11-19 14:17 | 只看该作者
pidir是寄存器吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-17 20:02 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表