#include "ioCC2530.h" #define D3 P1_0#define D4 P1_1#define D5 P1_3#define D6 P1_4#define SW1 P1_2#define SW2 P0_1 /* 簡單的延時函數 */void Delay(unsigned in ...
#include "ioCC2530.h" #define D3 P1_0
#define D4 P1_1
#define D5 P1_3
#define D6 P1_4
#define SW1 P1_2
#define SW2 P0_1 /*=======================簡單的延時函數========================*/
void Delay(unsigned int t)
{
while(t--);
}
/*======================埠初始化函數========================*/
void Init_Port()
{
P1SEL &= ~0x1b; //P1_0、P1_1、P1_3和P1_4作為通用I/O埠
P1DIR |= 0x1b; //P1_0、P1_1、P1_3和P1_4埠輸出
P1SEL &= ~0x04; //P1_2作為通用I/O埠
P1DIR &= ~0x04; //P1_2埠輸入
P1INP &= ~0x04; //P1_2設置為上拉/下拉模式
P2INP &= ~0x40; //P1_2設置為上拉
P0SEL &= ~0x02; //P0_1作為通用I/O埠
P0DIR &= ~0x02; //P0_1埠輸入
P0INP &= ~0x02; //P0_1設置為上拉/下拉模式
P2INP &= ~0x20; //P0_1設置為上拉
D3 = 0;
D4 = 0;
D5 = 0;
D6 = 0;
} /*=======================按鍵掃描函數=========================*/
void Scan_Keys()
{
if(SW1 == 0) //發現有SW1按鍵信號
{
Delay(100); //延時片刻,去抖動處理
if(SW1 == 0) //確認為SW1按鍵信號
{
while(SW1 == 0); //等待按鍵鬆開
D3 = ~D3; //切換D3燈的開關狀態
}
}
if(SW2 == 0)
{
Delay(100);
if(SW2 == 0)
{
while(SW2 == 0);
D4 = ~D4;
}
}
} /*=========================主函數============================*/
void main()
{
Init_Port(); //埠初始化
while(1)
{
Scan_Keys(); //反覆掃描按鍵狀態
}
}