您的位置 首页 汽车

4X4键盘扫描程序

4X4键盘扫描程序,采用查表方式,适用于AVR单片机。此处为4X4键盘软件部分,硬件部分设计请参照:此程序对应的键盘电路为:/*键盘扫描函数…

4X4键盘扫描程序,选用查表方法,适用于AVR单片机

此处为4X4键盘软件部分,硬件部分avr.com/news/2008-01/1945.htm&rn=252847&v=1&ref=http%3A//www.picavr.com/news/c37/defaultp7.htm&province=%u5E7F%u4E1C&city=%u5E7F%u5DDE” qs_is_on_div=”” rel=”nofollow” target=”_blank”>规划请参照:

此程序对应的键盘电路为:

/*键盘扫描函数读取当时键盘的状况有按键按下回来相应按键值无按键按下回来"0x00"*/unsigned char key_read(void){unsigned char i;DDRA = 0x00;/*获取列地址*/PORTA = 0x0F;DDRA = 0xF0;i = PINA;DDRA = 0x00;/*获取行地址*/PORTA = 0xF0;DDRA = 0x0F;i |= PINA;DDRA = 0x00;/*输出复位*/PORTA = 0xFF;switch (i) {/*将按键码转换成键值*/case 0x00: return 0x00;case 0xEE:return 1;case 0xDE:return 2;case 0xBE:return 3;case 0x7E:return A;case 0xED:return 4;case 0xDD:return 5;case 0xBD:return 6;case 0x7D:return B;case 0xEB:return 7;case 0xDB:return 8;case 0xBB:return 9;case 0x7B:return C;case 0xE7:return *;case 0xD7:return 0;case 0xB7:return #;case 0x77:return D;default :return 0x00;} }

/*按键获取函数获取按键信号,其间包括有状况记载及按键去哆嗦。有正确按键按下回来相应按键值无正确按键按下回来"0x00"*/unsigned char get_key(void){unsigned char i;static unsigned char j;/*按键记载*/
i = key_read();if (i == 0x00){/*无有用按键按下*/j = 0x00;/*铲除按键记载*/return 0x00;/*程序退出*/}if (j == 0x00) {/*为新按键*/j = i;/*保存本次采样成果*/delay_ms(10);/*去按键哆嗦*/i = key_read();if(i == j) {return i;}}return 0x00;}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/275912.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部