标题:
Zigbee代码 看门狗应用等代码
[打印本页]
作者:
wkxwkx1234
时间:
2022-10-4 23:29
标题:
Zigbee代码 看门狗应用等代码
51hei.png
(3.59 KB, 下载次数: 36)
下载附件
2022-10-5 17:06 上传
单片机源程序如下:
#include "ioCC2530.h" // 申明该文件中用到的头文件
#define uint unsigned int
#define uchar unsigned char
//定义控制灯的端口
#define LED0 P1_0 //定义LED_1为P10口控制
#define LED1 P1_1 //定义LED_2为P11口控制
//按键控制口
#define KEY1 P0_0 //定义按键为P00口控制
#define KEY2 P0_1 //定义按键为P01口控制
#define KEY_1 1
#define KEY_2 2
void Delay(uint n);
void InitLed(void)
{
P1DIR |= 0x13; //P10、P11定义为输出
LED0 = 0;
LED1 = 0;
}
void InitKey(void)
{
P0SEL &= ~0X03;
P0DIR &= ~0X03; //按键在P00、P01口,设置为输入模式
}
void SET_MAIN_CLOCK(source)
{
if(source) {
CLKCONCMD |= 0x40; // /* RC
while(!(CLKCONSTA &0X40)); // /* 待稳
}
else {
CLKCONCMD &= ~0x47; ///* 晶振
while((CLKCONSTA &0X40)); // /* 待稳
}
}
void Init_Watchdog(void)
{
WDCTL = 0x00; //时间间隔一秒,看门狗模式
WDCTL |= 0x08; //启动看门狗
}
void FeedDog(void)
{
WDCTL = 0xa0;
WDCTL = 0x50;
}
void main( void )
{
SET_MAIN_CLOCK(0) ; //设置系统晶振时钟
InitLed(); //初始化LED
InitKey(); //初始化按键控制IO口
Init_Watchdog(); //初始化看门狗
LED1 = 1; //当按下键1值时,系统不喂狗,一直复位,LED1则一直闪烁
Delay(5000);
while(1)
{
if (KEY1 != 0) //读取按键动作,如果按键没有按下则一直执行
{
FeedDog(); //喂狗指令(加入后系统不复位,小灯一直闪烁)
LED0 = !LED0;
Delay(5000);
}
LED1 = 0;
Delay(5000);
}
}
void Delay(uint n)
{
uint i;
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
for(i=0;i<n;i++);
}
复制代码
Zigbee代码下载:
源代码.zip
(250.28 KB, 下载次数: 4)
2022-10-4 23:29 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1