|
51hei.png (3.59 KB, 下載次數(shù): 85)
下載附件
2022-10-5 17:06 上傳
單片機(jī)源程序如下:
- #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口,設(shè)置為輸入模式
- }
- void SET_MAIN_CLOCK(source)
- {
- if(source) {
- CLKCONCMD |= 0x40; // /* RC
- while(!(CLKCONSTA &0X40)); // /* 待穩(wěn)
- }
- else {
- CLKCONCMD &= ~0x47; ///* 晶振
- while((CLKCONSTA &0X40)); // /* 待穩(wěn)
- }
- }
- void Init_Watchdog(void)
- {
- WDCTL = 0x00; //時間間隔一秒,看門狗模式
- WDCTL |= 0x08; //啟動看門狗
- }
- void FeedDog(void)
- {
- WDCTL = 0xa0;
- WDCTL = 0x50;
- }
- void main( void )
- {
- SET_MAIN_CLOCK(0) ; //設(shè)置系統(tǒng)晶振時鐘
- InitLed(); //初始化LED
- InitKey(); //初始化按鍵控制IO口
- Init_Watchdog(); //初始化看門狗
- LED1 = 1; //當(dāng)按下鍵1值時,系統(tǒng)不喂狗,一直復(fù)位,LED1則一直閃爍
- Delay(5000);
- while(1)
- {
- if (KEY1 != 0) //讀取按鍵動作,如果按鍵沒有按下則一直執(zhí)行
- {
- FeedDog(); //喂狗指令(加入后系統(tǒng)不復(fù)位,小燈一直閃爍)
- 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++);
- }
復(fù)制代碼
Zigbee代碼下載:
源代碼.zip
(250.28 KB, 下載次數(shù): 4)
2022-10-4 23:29 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|