#define D1 P1_0 //定义LED1为P10口控制
#define D2 P1_1 //定义LED2为P11口控制
#define D3 P1_4 //定义LED3为P14口控制
#define D4 P0_1 //定义LED4为P01口控制
/*32M晶振初始化-------------------------------------------*/
void xtal_init(void)
{
SLEEP &= ~0x04//都上电
while(!(SLEEP &0x40))//晶体振荡器开启且稳定
CLKCON &= ~0x47 //选择32MHz 晶体振荡器
SLEEP |= 0x04
}
/*LED灯初始化---------------------------------------------*/
void led_init(void)
{
P0SEL = 0x00 //P0为普通 I/O 口
P0DIR |= 0x02 //P0.1输出
P1SEL = 0x00 //P1为普通 I/O 口
P1DIR |= 0x13 //P1.0 P1.1 P1.4输出
D1 = 1
D2 = 1
D3 = 1
D4 = 1
}
/*延时函数----------------------------------------------*/
void Delay(unsigned int n)
{
unsigned int i
for(i=0i<ni++)
for(i=0i<ni++)
for(i=0i<ni++)
for(i=0i<ni++)
for(i=0i<ni++)
}
/*主函数 ----------------------------------------------*/
void main(void)
{
char i
xtal_init()
while(1)
{
D1 |=!D1
Delay(10000)
}
}
我参照CC2430编的,不知道一不一样
比较容易。先有一个ZigBee的网关,然后路灯开关处用ZigBee的开关控制,通过手机、平板等就可以远程遥控路灯的开启,也可以在软件中设置定时的功能,指定路灯开启的时间和关闭的时间,也可以添加一个光度感应器,判断阴天灯情况,智能的关闭或者开启,因为路灯每隔一段有一个,可以通过添加中继器的方法,ZigBee现在可以添加6万多个设备,对于一个城市来说应该问题不大,如果多的话路灯数量超过6万个,可以分为几块分别控制。一般来说每隔中继器的距离为70米左右,如果在室外没有阻挡效果会更好,上百米也没有问题。如果效果不好可以中间添加中继器来解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)