?? main.c
字號:
//CD WXL 電池板開關控制小燈
#include <ioCC2430.h>
#define uint unsigned int
#define uchar unsigned char
#define ON 0 //LED狀態
#define OFF 1
//定義控制燈的端口
#define RLED P1_0 //定義LED1為P10口控制
#define YLED P1_1 //定義LED2為P11口控制
#define K1 P1_2 //控制紅燈
#define K2 P1_3
//函數聲明
void Delay(uint); //延時函數
void Initial(void); //初始化P0口
void InitKey(void);
uchar KeyScan(void);
char i = 0;
uchar Keyvalue = 0 ;
/****************************
//延時
*****************************/
void Delay(uint n)
{
uint tt;
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
for(tt = 0;tt<n;tt++);
}
/*****************************************
//按鍵初始化
*****************************************/
void InitKey(void)
{
P1SEL &= ~0X0C; //P12 P13輸入
P1DIR &= ~0X0C; //按鍵在P12 P13
P1INP |= 0x0c; //三態
}
/****************************
//初始化程序
*****************************/
void Initial(void)
{
P1DIR |= 0x03; //P10、P11定義為輸出
RLED = 1; //關LED
YLED = 1; //
}
/*****************************************
//讀鍵值
*****************************************/
uchar KeyScan(void)
{
if(K1 == 0) //低電平有效
{
Delay(100); //檢測到按鍵
if(K1 == 0)
{
while(!K1); //直到松開按鍵
return(1);
}
}
if(K2 == 0)
{
Delay(100);
if(K2 == 0)
{
while(!K2);
return(2);
}
}
return(0);
}
/***************************
//主函數
***************************/
void main(void)
{
Initial(); //調用初始化函數
InitKey();
RLED = ON; //LED1
YLED = OFF; //LED2
while(1)
{
Keyvalue = KeyScan();
if(Keyvalue == 1)
{
RLED = !RLED; //red
Keyvalue = 0; //清除鍵值
}
if(Keyvalue == 2)
{
YLED = !YLED; //green
Keyvalue = 0;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -