/*
P2口是4X4矩阵键盘
P0口是8个发光二极管,用来显示按键
*/
#include<reg52.h>
unsigned char Trg;
unsigned char Cont;
void KeyRead( void )
{
unsigned char ReadData;
P2=0x0f;
ReadData=P2;
P2=0xf0;
ReadData=(ReadData | P2)^0xff;
Trg = ReadData & (ReadData ^ Cont);
Cont = ReadData;
}
void KeyProc(void)
{
if (Trg ) // 如果有按下
{
P0=Trg^0xff;// 执行的代码
}
if (Cont) // 如果按键被按着不放
{
}
if (Trg ==0 & Cont==0) //按键放开
{
P0=0xff;
}
}
void main()
{
Trg=0;
Cont=0;
while(1)
{
KeyRead();
KeyProc();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
-----------------------------------------------------------------------
main()中的
Trg=0;
这个应该不要了吧。
还有你可是4X4键盘哦。
就没看到你表示出来
这样也只能是显示四个键的值啊
你4×4键盘怎么用二级管显示?
不是就显示有键按下没有吧
一周热门 更多>