问大家一个关于IO口接受点阵键盘的问题~~
光行天下 2012-06-01 11:12:43 我用的是AVR单片机
最近学长送我一个 4*4 点阵键盘,8个接口,4个控制4列,4个控制4行。
我想象中以为是用PINC 接受每按下一个按键得出的唯一电平序列,然后用B口的8个小灯显示,记录这个序列。在代码里判断这个序列后 ,执行自己想要的操作,比如:数字一按键 就是使变量a为1,数字二按键 就是使变量a为2.
但实际操作中发现,这样做输出的是不稳定的电平,每次按复位键都会有不同的变化....这真难到我了。。
这是我的代码:
unsigned char a;
void main (void)
{
DDRB=0XFF;
DDRC=0x00;
//PORTD=0X0F;
//PORTB=0xf0;
while(1)
{
PORTB=PINC;
}
//PORTB=0x0f;
}