sbit key = P1^0;//按键 void delay(unsigned int time){ unsigned int i,j;for(i=0; i
不知道你是在裸机上延时,还是带zstack协议栈上的延时;如果是裸机上的延时可以通过设置添加一定数量的(“nop_();”)实现;带ztsack协议栈的话,直接调用函数microwait_ms()函数就可以了。
首先,PC之间直接用zigbee通信的程序应该是有示例代码的;如果这个做好了的话,接下来可以把单片机看成透明的(推荐使用STC的12或是15系列的51单片机,因为这个51具有双串口);然后,通过max232连接单片机串口1,单片机串口2连
这个不是很简单嘛,你两个模块能通信了哇,能通信的话一个发送命令(随便发个什么),另一个模块收到信息后点亮或关闭小灯就可以了,这就是无线开关了。如果你连CC2530怎么用都不知道的话,那么给100金币我给你写个好
3.Zigbee超低功耗遥控器的设计 做zigbee设计首先要有zigbee协议栈,我用的是ZStack-1.4.3-1.2.1,芯片为CC2430。zigbee编程 主要在协议栈中修改。按你的要求应该用SimpleApp范例,在ZStack-1.4.3-1.2.1的Projects
然后P2=P2|1即可。
小弟正在学ZigBee,哪位大神可以帮我写一个CC2530的程序,功能:通过一个按键控制一个LED灯泡的三个亮度
首先是IO口与宏定义.具体可根据自己的硬件写.我是用了红绿灯来演示,实际应用可以 采用的是粤嵌的zigbee模块,如需移植,请修改相应的端口. 路径为Stack-CC2530-2.5.1 还请大家指导(完整的工程文件不知道如何上传
void xtal_init(void){ SLEEP &= ~0x04; //都上电 while(!(SLEEP & 0x40)); //晶体振荡器开启且稳定 CLKCON &= ~0x47; //选择32MHz 晶体振荡器 SLEEP |= 0x04;} /*LED灯初始化---*/ void led_ini
CC2530无线模块是采用TI公司的CC2530芯片制作的模块,一般是工作在2.4G。信阳宝惠电子有限公司生产的CC2530无线模块比较稳定。也有加功率放大的。支持ZIGBEE组网。主要特点如下:1. 发射功率2.5mW(4dBm);接收灵敏度 -97
主要在协议栈中修改。按你的要求应该用SimpleApp范例,在ZStack-1.4.3-1.2.1的Projects \zstack\Samples\SimpleApp下。主要看SimpleSwitch.c和SimpleController.c两个文件。例如要 遥控LED灯的亮灭,由终端向协调器发送
上位机能够为工作人员清楚地提供电压、温度、节点数目、节点地址等数据,实现远程无线控制,创作和谐的人机交互界面,如图7所示。工作人员能够在上位机上使用ID对灯亮暗程度进行远程控制。
看看LED灯的接入方式, 如果LED灯的一端已经接地了,哪里把另外一端的电压直接拉高,记相应管脚赋值为1即可。例如:P2端口的第一管(0号)脚输出至LED的一侧,LED灯的另外一侧接地。一般把P2端口使能,P2管脚的第一引
这个不是很简单嘛,你两个模块能通信了哇,能通信的话一个发送命令(随便发个什么),另一个模块收到信息后点亮或关闭小灯就可以了,这就是无线开关了。如果你连CC2530怎么用都不知道的话,那么给100金币我给你写个好
如何把zigbee模块做成一个开关,通过接受数据来控制灯的亮和灭,我用的是cc2530,
1、首先打开桌面上的keil软件,在进行对51单片机进行编程时最常用的就是keil软件。2、编写相应的代码:#include
void delay(void) //两个void意思分别为无需返回值,没有参数传递。{ unsigned int i; //定义无符号整数,最大取值范围65535。for(i=0;i<20000;i++) //做20000次空循环。; //什么也不做,等待一个机
(status==1){{if(S2==1){status=0;}} if(LED_flag==0){LED1=0;LED3=0;}else{LED1=1;LED3=1;} } }
// 定义LED1引脚和定时器相关的配置 define LED1 P1_0 define T1_CTRL T1CCTL1 define T1_CC T1CC1 // 定义呼吸灯的亮度级别范围和变化步长 define MIN_BRIGHTNESS 0 // 最暗亮度 define MAX_BRIGHTNESS 255 //
单片机cc2530 控制LED灯 的C语言
voidKEYInit(void);ucharKEYScan(void); /*主函数*/void main(){ LED1 = 0; LED2 = 1; //不同的接法可能导致结果不一样,有的高电平亮有的低电平 while(1) //具体看你自己的板子怎么接的 {
{ LED1=0;deIayms(1000);LED1=1;delayms(1000);} for(i=0;i<4;i++){ Ied2=!led2;delayms(1000);}
1、先设定LED灯是低电平亮还是高电瓶亮,这里假设低电平;2、设置一个定时器,在定时器里面写代码,分别发送高、低电瓶值可实现交替闪耀;
这是非常简单的程序。只需要检测按键,然后控制两个灯的亮灭,总共才3个IO口。建议自己写,几行代码的事,这样才能进步。
cc2530使用按键控制led1的闪烁效果具体要求如下1系统复位后led1熄灭2
你端口自己定 我就宏定义下了 #define S2 //S2等于0时是按下 #define LED1 #define LED3 char status=0; char LED_flag=0; void main(void) { IO口初始化; while(1) { if(status==0){if(S2==0){LED_flag=~LED_flag;status=1;}} if (status==1){{if(S2==1){status=0;}} if(LED_flag==0){LED1=0;LED3=0;}else{LED1=1;LED3=1;} } }主程序循环点亮8个LED,按键可接到外部中断0或1,当有按键按下时,进入外部中断服务子程序,在该服务程序中控制8个LED一起亮灭6次。亮灭或闪烁的时间可以采用延时子程序或定时中断程序来实现。
这个直接配寄存器就行了 P2SEL &= 0xFD; // 配置P2_1为通用I/O口P2DIR |= 0x02; // 配置P2_1为输出模式P2 |= 0x02; // 初始化为灭状态要是有地方不对你自己再看看数据手册改改就行了。
看看LED灯的接入方式, 如果LED灯的一端已经接地了,哪里把另外一端的电压直接拉高,记相应管脚赋值为1即可。 例如:P2端口的第一管(0号)脚输出至LED的一侧,LED灯的另外一侧接地。 一般把P2端口使能,P2管脚的第一引脚为输出模式, 然后P2=P2|1即可。
这个不是很简单嘛,你两个模块能通信了哇,能通信的话一个发送命令(随便发个什么),另一个模块收到信息后点亮或关闭小灯就可以了,这就是无线开关了。如果你连CC2530怎么用都不知道的话,那么给100金币我给你写个好了。
马上联系信驰达科技了解更多