单片机通过按键切换程序

2020-02-04 09:19发布

我想编写一个按键控制流水灯花样的程序,不是单键的,而是按某一个键出现一种花样,按另一个键又出现另外一种花样。我编写的老是出不来效果。请知道的朋友帮下忙,谢了!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
34条回答
BXAK
2020-02-06 01:19
回复【9楼】zengdz
-----------------------------------------------------------------------

你的程序不对,一旦按键进入某个“花样”就在里面死循环了,还怎么切换。

好的方法是用中断。但既然你不想用,可以在用于点亮LED的延时程序里加上按键检测。


#define unit unsigned int
#define uchar unsigned char
#include<reg51.h>
#include<intrins.h>

sbit key1=P2^0;
sbit key2=P2^1;

uchar key_Value;   //键值

void delayms(unit);
void vary1();
void vary2();

void main ()
{  
   while(1)
   {
      switch(key_Value)
      {
        case 1: vary1();
                break;
        case 2: vary2();
                break;
        default:break;  
      }
   }
}

void delayms(unit)
{
   ……
   if(!key1)key_Value=1;
   if(!key2)key_Value=2;
}

一周热门 更多>