//作者;【周平DIY 开发】
//时间;2014年、5月;15日。
#include <reg51.h>
sbit OUT1 = P2 ^ 1;
sbit k1 = p3 ^ 2;
sbit k3 = p3 ^ 3;
void delay(unsigned int i); //声明延时函数
void delay(unsigned int i)
{
unsigned char j;
for(i; i > 0; i--)
for(j = 155; j > 0; j--);
}
main()
{
求高手解答; 我想要加两个控制按键进来不知怎么样实现它!!!
最终的效果就是;当两个按键没有任何动作时,
单片机就默认执行【第二段程序】。当按下按键K1时就执行【第一段程序】,松开后回到默认的程序 , 循环执行默认的程序。 当按下k3时执行【第三段程序】,松开回到默认的程序,循环执行默认的程序。 如能帮忙解答,小弟在此跪谢啦!!!
这是第一段【 OUT1 = 0 ; delay(1500); // 延时 超低频阶段!!!
OUT1 = 1 ; delay(1500); // 】
这是第二段,默认段也是初始段【 OUT1 = 0 ; delay(200); // 延时 中频阶段!!!
OUT1 = 1 ; delay(500); // 延时 】
第三段 【 OUT1 = 0 ; delay(120); // 延时 高频阶段!!!
OUT1 = 1 ; delay(350); // 延时
OUT1 = 1 ; delay(2500); // 延时 主频! }】
uchar Key_Scan(void)
{
unsigned char ucValue = 0;
if(k1 == 0)
{
ucValue |= 0x01;
}
if(k3 == 0)
{
ucValue |= 0x02;
}
if(Key_Code != ucValue)
{
Key_Code = ucValue;
return 0;
}
return 1;
}
void Key_Function(void)
{
if(Key_Scan())
{
switch(Key_Code)
{
case 0:
//无按键程序
break;
case 0x01:
//按键1处理
break;
case 0x02:
//按键2处理
break;
}
}
delay(10);
}
一周热门 更多>