| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2984 人关注过本帖
标题:有人懂基于单片机8051内核 的无线短距离传输Zigbee程序吗
只看楼主 加入收藏
BBOY愿愿
Rank: 3Rank: 3
来 自:四川
等 级:论坛游民
威 望:9
帖 子:60
专家分:67
注 册:2015-12-9
结帖率:28.57%
收藏
 问题点数:0 回复次数:2 
有人懂基于单片机8051内核 的无线短距离传输Zigbee程序吗
这主要的功能是按键控制LED

#include <ioCC2530.h>

#define uint unsigned int
#define uchar unsigned char
typedef signed short INT16;

#define ON  0
#define OFF 1

//定义控制灯的端口
#define RLED P1_0           //定义LED1为P10口控制
#define YLED P1_1        //定义LED2为P11口控制

#define K1 P0_6  //P0_6

//函数声明
void Delay(uint);       //延时函数
void Initial(void);     //初始化P0口
void InitKey(void);
uchar KeyScan(void);

char i = 0;
uchar Keyvalue = 0 ;

/****************************
//延时
*****************************/
void Delay(uint n)
{
    uint t;
    for(t = 0;t<n;t++);
    for(t = 0;t<n;t++);
    for(t = 0;t<n;t++);
    for(t = 0;t<n;t++);
    for(t = 0;t<n;t++);
}


/*****************************************
//按键初始化
*****************************************/
void InitKey(void)       //配置按键输入**********************************************我不懂这个函数里的内容  懂的前辈能讲解一下吗******
{
  P0SEL &= ~0X40;         //P0SEL是P0功能选择寄存器
  P0INP |= 0x40;         //上拉  //P0INP是P0输入模式寄存器
  P0DIR &= ~(0x01<<(6)); //按键在P06 ADC采集   P0DIR是P0方向寄存器
  
}
/****************************
//初始化程序
*****************************/
void Initial(void)  //初始化P0口
{
    P1DIR |= 0x03;  //P10、P11定义为输出
    RLED = 1;
    YLED = 1;        //LED
}

/*****************************************
//读键值
*****************************************/
uchar KeyScan(void)
{
  if(K1 == 0)       //低电平有效
  {
    Delay(100);     //检测到按键
    if(K1 == 0)
    {
        while(!K1); //直到松开按键
        return(1);
    }
  }
  return(0);
}

/***************************
//主函数
***************************/
void main(void)
{
    Initial();        //调用初始化函数
        InitKey();
    RLED = ON;        //LED1
    YLED = OFF;        //LED2
    while(1)
    {
        Keyvalue = KeyScan();
        if(Keyvalue == 1)
        {
            RLED = !RLED;      //red
            Keyvalue = 0;      //清除键值
        }        
    }
}
搜索更多相关主题的帖子: include 单片机 无线 
2016-07-25 14:52
BBOY愿愿
Rank: 3Rank: 3
来 自:四川
等 级:论坛游民
威 望:9
帖 子:60
专家分:67
注 册:2015-12-9
收藏
得分:0 
我懂了  谢谢

其实你可以很优秀------对自己说-----即使遍体鳞伤也要活得漂亮-------
2016-07-25 15:06
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
多看几遍就会懂的。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2016-07-27 07:23
快速回复:有人懂基于单片机8051内核 的无线短距离传输Zigbee程序吗
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028764 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved