关于矩阵键盘使用(小白问题)
时间:10-02
整理:3721RD
点击:
#include <reg52.h>
sbit led=P1^4;
void main()
{
char temp;
led=1;
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
led=0;
else
led=1;
}
}
我的这段代码有什么问题?为什么按键之后led没有亮?
求大神指导。谢谢了
sbit led=P1^4;
void main()
{
char temp;
led=1;
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
led=0;
else
led=1;
}
}
我的这段代码有什么问题?为什么按键之后led没有亮?
求大神指导。谢谢了
#include <reg52.h> sbit led=P1^4;
void main()
{
char temp;
led=1;
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
led=0;
else
led=1;
}
}你这个程序我下载到我的实验班中灯直接就亮了,但是我把char temp改成unsigned char temp能正常工作
while语句中
temp = 0xfe & 0xf0; //0xf0
执行if中的else语句,故led=1;
所以led没有亮。
另外,你的程序中并没有处理按键的代码,跟按键没有关系。
所有按钮都按一次看看!还有你这个程序松手后LED是不会亮的哦!
所有都试过了,按了好久。
就是说temp=P3,假如按下了,不是按键处理吗?(小白,所有问题比较多,不用见怪。)
程序看起来是没有问题的!
按下按键灯应该会闪一下吧
你的键盘是怎么接的?再就是常按指定按键
太感谢了,用signed char 的确可以了,不过请问你可以解释一下吗?为什么用char和int就不行了?
CHAR 的数据是-128到127 TEMP=0XFE明显超出界限了!
如果是CHAR 的问题 你用INT型变量也是可以的!
哦哦,谢谢,原来是这样