关于学校的学习版,4*4矩阵键盘的检测程序问题
时间:10-02
整理:3721RD
点击:
这个程序是按下K0,led灯亮 再按下灯灭
#include<regx51.h>
unsigned char status=0xff;
sbit Ledce=P1^2;
sbit Keyce=P1^3;
sbit Digce=P1^1;
void delayms(unsigned int );
void Keycan();
void main()
{
P0=0x00;
P1=0x0c;
while(1)
{
Keycan();
Ledce=0;
P0=status;
delayms(10);
Ledce=1;
}
}
void delayms(unsigned int x)
{
int j=0;
for(x;x>0;x--)
for(j=123;j>0;j--);
}
void Keycan()
{
unsigned char temp;
P0=0x00;
Ledce=1;
Digce=1;
P0=0xfe;
Digce=0;
P0=0xff;
Keyce=0;
temp=P0;
temp=temp&0x01;
while(temp!=0x01)
{
delayms(10);
temp=P0;
temp=temp&0x01;
while(temp==0x00)
{
status=~status;
}
while(temp==0x00)
{
temp=P0;
temp=temp&0x01;
}
}
Keyce=1;
}
#include<regx51.h>
unsigned char status=0xff;
sbit Ledce=P1^2;
sbit Keyce=P1^3;
sbit Digce=P1^1;
void delayms(unsigned int );
void Keycan();
void main()
{
P0=0x00;
P1=0x0c;
while(1)
{
Keycan();
Ledce=0;
P0=status;
delayms(10);
Ledce=1;
}
}
void delayms(unsigned int x)
{
int j=0;
for(x;x>0;x--)
for(j=123;j>0;j--);
}
void Keycan()
{
unsigned char temp;
P0=0x00;
Ledce=1;
Digce=1;
P0=0xfe;
Digce=0;
P0=0xff;
Keyce=0;
temp=P0;
temp=temp&0x01;
while(temp!=0x01)
{
delayms(10);
temp=P0;
temp=temp&0x01;
while(temp==0x00)
{
status=~status;
}
while(temp==0x00)
{
temp=P0;
temp=temp&0x01;
}
}
Keyce=1;
}
学习板电路图,这个按键与74ls44相连又该如何检测呐
就是上面的程序只能亮一次,第二次就不亮了
哈哈支持一下吧
学习版和我们的好像