找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1769|回复: 0
打印 上一主题 下一主题
收起左侧

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)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表