虽然代码不是很完美,毕竟我也只是一个小白。主要是记录。
/**********************************
*功能:长按开机,短按换挡,再次长按关机。
***********************************/
unsigned int flag =0;//Shift gear sign
void delay(unsigned char ms)//Delay Functions
{ //根据晶振修改延时函数
unsigned int x,y;
for(x=ms;x>0;x--)
for(y=100;y>0;y--);
// unsigned int i;
// while((ms--) !=0)
// for(i=0;i<600;i++);
}
void CLOSE_MACHINE(void)
{
flag = 0;//Shift gear sign reset
LED_G=0;
LED_Y=1;
LED_B=0;
LED_R=0;
}
void main(void)
{
KEY = 1;//按键不按下以及灯不亮
LED_R=0;
LED_B=0;
LED_Y=1;
LED_G=0;
while(1)
{
unsigned int num = 0;//用于判断是否按下3秒或超过3秒
//-------------------------
//区分按键长短按
//-------------------------
while(KEY==0)
{
delay(10);//消抖
if(flag==0)LED_G=~LED_G;//Trigger button flicker//如果想要按下就闪烁的话,把这个if(flag==0)指令去掉就可以了
num+&