标题:
单片机单个按钮(状态机)编程
[打印本页]
作者:
zcy8520
时间:
2018-4-6 17:42
标题:
单片机单个按钮(状态机)编程
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^7;
//uchar mode;
//uint count;
void keyscan();
void main()
{
P3=0xff;
while(1)
{
;
//delay();
keyscan();
//inst();
;
}
}
void keyscan()
{
static uchar mode=0;
static long count=0;//2»¶¨òåÎa¾2쬱äá¿»áèçoΡ
switch(mode)
{
case 0:
{
if(key1==0)
{
mode=1;
}
}
break;
case 1:
{
count++;
if(count>50)
{
count=0;
if(key1)
{
mode=0;
}
else
{
mode=2;
}
}
}
break;
case 2:
{
count++;
if(count>10000)
{
count=0;
mode=4;
}
}
break;
case 4:
{
if(key1)
{
P1=0x01;
mode=0;
}
else
{
P1=0x2;
mode=5;
}
}
break;
case 5:
{
if(key1)
{
mode=0;
}
}
}
}
作者:
zcy8520
时间:
2018-4-6 17:58
短按P1输出1,长按P1输出2
作者:
bhjyqjs
时间:
2018-7-26 16:18
写的不错,感谢分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1