单片机按键开关控制流水灯在protues问题

2019-07-16 02:36发布

矩阵键盘的都做了,可是这独立键盘的就是不行,不是说反应迟钝是按了许久一点反应都没,我做的是通过按键控制流水灯。这是我画的图有错吗?

以下是我的代码,代码都换了好几套,这个是现在的,是哪没注意到吗?又做过的给点资料谢谢,困扰很久了。
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar  recenty_key;
uchar led_data=0xfe;
void delay(uint xms)
{
         uint i,j;
                 for(i=xms;i>0;i--)
                    for(j=115;j>0;j--);
}
void scanfkey()
{
    if(P3!=recenty_key)
        {
                   if(P3&0x10==0)
                        {
                                           P1=0x00;
                                   delay(1000);
                                }
                       else if(P3&0x20==0)
                           {
                                      P1=0xff;
                                         delay(1000);
                           }
                           else if(P3&0x40==0)
                           {
                                      led_data=_crol_(led_data,1);
                                 P1=led_data;
                                 delay(1000);
                           }
                           else if(P3&0x80==0)
                           {
                                          led_data=_crol_(led_data,1);
                                  P1=led_data;
                                  delay(1000);
                           }
        }
}
void main()
{
     recenty_key=0xff;
         while(1)
         {
                scanfkey();
         }
             
}
G1PC6S`87O]{0HW67NXC@HD.jpg
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
3htech
1楼-- · 2019-07-16 05:02
请注意& 和 == 的优先级。
lrlv5
2楼-- · 2019-07-16 05:58
请注意按键扫描逻辑,逻辑不通。
12659920
3楼-- · 2019-07-16 06:59
3htech 发表于 2013-1-29 11:03
请注意& 和 == 的优先级。

谢谢,看来以前其他方式也是代码有问题。

一周热门 更多>