2个回答
展开全部
#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit anjian = P1^0; //按键位
void delay(uint16 h) //延时程序
{
while(h--);
}
main()
{ uint8 k = 0 , i = 0;
P0 = 0xff;
anjian = 1;
while(1)
{
P0 = ~(1<<k++);
if(anjian == 0)
{
delay(200);
if(anjina == 0) i++;
if(i == 3)
i = 0;
}
switch(i)
{
case 0: delay(10000);break;
case 1: delay(20000);break;
case 2: delay(20000); break;
}
if(k==8) k=0;
}
}
//头一次回答问题,多多支持,全部知识都是自学的,但是我试验过可以符合你的要求运行,谢谢
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit anjian = P1^0; //按键位
void delay(uint16 h) //延时程序
{
while(h--);
}
main()
{ uint8 k = 0 , i = 0;
P0 = 0xff;
anjian = 1;
while(1)
{
P0 = ~(1<<k++);
if(anjian == 0)
{
delay(200);
if(anjina == 0) i++;
if(i == 3)
i = 0;
}
switch(i)
{
case 0: delay(10000);break;
case 1: delay(20000);break;
case 2: delay(20000); break;
}
if(k==8) k=0;
}
}
//头一次回答问题,多多支持,全部知识都是自学的,但是我试验过可以符合你的要求运行,谢谢
更多追问追答
追问
麻烦你了,不过你的程序不容易看懂啊,它不能一直执行下去,只会执行一次
追答
请问你的是什么按键,我的是矩阵的,所以我在我的板子上是用一个矩阵的按键式,我的可以连续,程序还要根据你的板子布置按键不同需要改的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询