برنامه اسکن صفحه 4*4 با usart (فرستنده وگیرنده)
فوریه
فوریه
char keypad(void)
{
unsigned char code[4][4]={{'1','4','7','*'},{'2','5','8','0'},{'3','6','9','#'},{'A','B','C','D'}};
unsigned char i,data,num_key=' ',temp=0x0b;
for (i=0;i<4;i++) {
PORTD=(temp|0xf0);
delay_us(100);
data=PIND&0xf0;
if (data==0xe0)
num_key=code[i][0];
else if (data==0xd0)
num_key=code[i][1];
else if (data==0xb0)
num_key=code[i][2];
else if (data==0x70)
num_key=code[i][3];
else if(data==0xf0);
temp=((temp>>1)|0x08)&0x0f;
}
//PORTD=0xf1;
return num_key;
}
دیدگاه