找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2144|回復(fù): 0
收起左側(cè)

Zigbee代碼 看門狗應(yīng)用等代碼

[復(fù)制鏈接]
ID:1046654 發(fā)表于 2022-10-4 23:29 | 顯示全部樓層 |閱讀模式
51hei.png

單片機(jī)源程序如下:
  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口,設(shè)置為輸入模式
  23. }
  24. void  SET_MAIN_CLOCK(source)
  25. {                                 
  26.     if(source) {                           
  27.      CLKCONCMD |= 0x40;         // /*  RC                    
  28.      while(!(CLKCONSTA &0X40));  //   /*  待穩(wěn)           
  29.    }                                       
  30.     else {                       
  31.      CLKCONCMD &= ~0x47;         ///*   晶振               
  32.      while((CLKCONSTA &0X40));   //   /*   待穩(wěn)   
  33.    }                                       
  34. }
  35. void Init_Watchdog(void)
  36. {
  37.     WDCTL = 0x00;   //時(shí)間間隔一秒,看門狗模式
  38.     WDCTL |= 0x08;  //啟動(dòng)看門狗
  39. }
  40. void FeedDog(void)
  41. {
  42.     WDCTL = 0xa0;
  43.     WDCTL = 0x50;
  44. }
  45. void main( void )
  46. {
  47.   SET_MAIN_CLOCK(0) ;       //設(shè)置系統(tǒng)晶振時(shí)鐘
  48.   InitLed();                //初始化LED
  49.   InitKey();                //初始化按鍵控制IO口
  50.   Init_Watchdog();          //初始化看門狗
  51.   LED1 = 1; //當(dāng)按下鍵1值時(shí),系統(tǒng)不喂狗,一直復(fù)位,LED1則一直閃爍
  52. Delay(5000);
  53. while(1)
  54.   {   
  55.   if (KEY1 != 0)         //讀取按鍵動(dòng)作,如果按鍵沒有按下則一直執(zhí)行
  56.      {
  57.        FeedDog();    //喂狗指令(加入后系統(tǒng)不復(fù)位,小燈一直閃爍)
  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. }
復(fù)制代碼

Zigbee代碼下載:
源代碼.zip (250.28 KB, 下載次數(shù): 4)


回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表