标题: Zigbee代码 看门狗应用等代码 [打印本页]

作者: wkxwkx1234    时间: 2022-10-4 23:29
标题: Zigbee代码 看门狗应用等代码


单片机源程序如下:
  1. #include "ioCC2530.h"      // 申明该文件中用到的头文件
  2. #define uint  unsigned int
  3. #define uchar unsigned char
  4. //定义控制灯的端口
  5. #define LED0   P1_0                //定义LED_1为P10口控制
  6. #define LED1   P1_1                //定义LED_2为P11口控制
  7. //按键控制口
  8. #define KEY1   P0_0         //定义按键为P00口控制
  9. #define KEY2   P0_1         //定义按键为P01口控制
  10. #define KEY_1  1
  11. #define KEY_2  2
  12. void Delay(uint n);  
  13. void InitLed(void)
  14. {
  15.     P1DIR |= 0x13; //P10、P11定义为输出
  16.     LED0 = 0;
  17.     LED1 = 0;
  18. }
  19. void InitKey(void)
  20. {
  21.     P0SEL &= ~0X03;  
  22.     P0DIR &= ~0X03;  //按键在P00、P01口,设置为输入模式
  23. }
  24. void  SET_MAIN_CLOCK(source)
  25. {                                 
  26.     if(source) {                           
  27.      CLKCONCMD |= 0x40;         // /*  RC                    
  28.      while(!(CLKCONSTA &0X40));  //   /*  待稳           
  29.    }                                       
  30.     else {                       
  31.      CLKCONCMD &= ~0x47;         ///*   晶振               
  32.      while((CLKCONSTA &0X40));   //   /*   待稳   
  33.    }                                       
  34. }
  35. void Init_Watchdog(void)
  36. {
  37.     WDCTL = 0x00;   //时间间隔一秒,看门狗模式
  38.     WDCTL |= 0x08;  //启动看门狗
  39. }
  40. void FeedDog(void)
  41. {
  42.     WDCTL = 0xa0;
  43.     WDCTL = 0x50;
  44. }
  45. void main( void )
  46. {
  47.   SET_MAIN_CLOCK(0) ;       //设置系统晶振时钟
  48.   InitLed();                //初始化LED
  49.   InitKey();                //初始化按键控制IO口
  50.   Init_Watchdog();          //初始化看门狗
  51.   LED1 = 1; //当按下键1值时,系统不喂狗,一直复位,LED1则一直闪烁
  52. Delay(5000);
  53. while(1)
  54.   {   
  55.   if (KEY1 != 0)         //读取按键动作,如果按键没有按下则一直执行
  56.      {
  57.        FeedDog();    //喂狗指令(加入后系统不复位,小灯一直闪烁)
  58.        LED0 = !LED0;
  59.        Delay(5000);
  60.      }
  61.      LED1 = 0;
  62.      Delay(5000);
  63.   }
  64. }
  65. void Delay(uint n)
  66. {
  67.   uint i;
  68.   for(i=0;i<n;i++);
  69.   for(i=0;i<n;i++);
  70.   for(i=0;i<n;i++);
  71.   for(i=0;i<n;i++);
  72.   for(i=0;i<n;i++);
  73. }
复制代码

Zigbee代码下载:
源代码.zip (250.28 KB, 下载次数: 4)







欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1