电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

STM32矩阵键盘实现方法收集VIP免费

STM32矩阵键盘实现方法收集_第1页
1/15
STM32矩阵键盘实现方法收集_第2页
2/15
STM32矩阵键盘实现方法收集_第3页
3/15
STM32 用矩阵键盘,不带外部中断,可以多个按键同时按下 C 代码: STM32 用矩阵键盘,不带外部中断,可以多个按键同时按下 /**************矩阵键盘.h 文件*********************************/ #ifndef __COMMON_H #define __COMMON_H #include "stm32f10x.h" /* 4*4 矩阵键盘 */ void keyboard_init(void); void update_key(void); extern unsigned char key[4][4]; #endif /**************矩阵键盘.c 文件*****************************/ #include "common.h" struct io_port { GPIO_TypeDef *GPIO_x; unsigned short GPIO_pin; } ; static struct io_port key_output[4] = { {GPIOD, GPIO_Pin_0} , {GPIOD, GPIO_Pin_1} , {GPIOD, GPIO_Pin_2} , {GPIOD, GPIO_Pin_3} } ; static struct io_port key_input[4] = { {GPIOD, GPIO_Pin_4} , {GPIOD, GPIO_Pin_5} , {GPIOD, GPIO_Pin_6} , {GPIOD, GPIO_Pin_7} } ; unsigned char key[4][4]; void keyboard_init(void) { GPIO_InitTypeDef GPIO_InitStructure; unsigned char i; /* 键盘行扫描输出线 输出高电平 */ /* PA0 PA1 PA2 PA3 输出*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); /* 键盘列扫描输入线 键被按时输入高电平 放开输入低电平 */ /* PA4 PA5 PA6 PA7 输入*/ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(GPIOD, &GPIO_InitStructure); for(i = 0; i < 4; i++) { GPIO_SetBits(key_output[i].GPIO_x, key_output[i].GPIO_pin); } } void update_key(void) { unsigned char i, j; for(i = 0; i < 4; i++) //i 是输出口,依次置低电平 { GPIO_ResetBits(key_output[i].GPIO_x, key_output[i].GPIO_pin); for(j = 0; j < 4; j++) //j 是输入口,当键按下时导通被置为低电平 { if(GPIO_ReadInputDataBit(key_input[j].GPIO_x, key_input[j].GPIO_pin) == 0) { key[i][j] = 1; } else { ...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

STM32矩阵键盘实现方法收集

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部