收藏 分享(赏)

stm32控制4乘4矩阵键盘程序带松手检测.doc

上传人:精品资料 文档编号:9548676 上传时间:2019-08-14 格式:DOC 页数:3 大小:18KB
下载 相关 举报
stm32控制4乘4矩阵键盘程序带松手检测.doc_第1页
第1页 / 共3页
stm32控制4乘4矩阵键盘程序带松手检测.doc_第2页
第2页 / 共3页
stm32控制4乘4矩阵键盘程序带松手检测.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、#include “stm32f10x.h“#include “delay.h“/*本文件的函数,主要实现矩阵键盘的功能。矩阵键盘使用 PA0 到 PA7 引脚,其中,PA0到 PA3 固定为推挽输出,PA4 到 PA7 固定为下拉输入。即,无键按下时,对应 PA4 到 PA7 为 0,有键按下时,PA4 到 PA7 中,对应的引脚为高。此程序有一点要注意:要用到的 IO 口,必须是 PX0-PX7, ,不能是其他连续的数字。 。如果非要改。 。如:已经没有连续的 0-7 的 IO 口,需要在几个地方修改,请注意!此程序带有松手检测。 。 。 。*/void InitKey(void) /初始

2、化矩阵键盘要使用的 GPIO 口。GPIO_InitTypeDef GPIOStru;GPIOStru.GPIO_Mode = GPIO_Mode_Out_PP; /定义 PA0 到 PA3 为推挽输出。GPIOStru.GPIO_Speed = GPIO_Speed_50MHz;GPIOStru.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_Init(GPIOA,GPIOStru.GPIO_Mode = GPIO_M

3、ode_IPD; /定义 PA4 到 PA7 为下拉输入。GPIOStru.GPIO_Speed = GPIO_Speed_50MHz;GPIOStru.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;/因为上面定义引脚为输出时,已经打开整个 GPIOA 的时钟了,所以此处不再需要函数 RCC_APB2PeriphClockCmd()来打开时钟了。GPIO_Init(GPIOA,int key(void) /实现矩阵键盘。返回值为,各按键的键值,此键值由用户自己定义。int KeyVal=0; /keyVal 为最后返回的键值。u1

4、6 WriteVal=0; /WriteVal 为要写给 PA 口的数据。GPIO_Write(GPIOA,(GPIOA-ODR /先让 PA0 到 PA3 全部输出高。if(GPIOA-IDR elsedelay_ms(5); /延时 5ms 去抖动。if(GPIOA-IDR GPIO_Write(GPIOA,(GPIOA-ODR /让 PA3 到 PA0 输出二进制的0001.switch(GPIOA-IDR break;case 0x0020: KeyVal=11; break;case 0x0040: KeyVal=7;break;case 0x0080: KeyVal=3;break

5、;GPIO_Write(GPIOA,(GPIOA-ODR /让 PA3 到 PA0 输出二进制的0010.switch(GPIOA-IDR break;case 0x0020: KeyVal=10; break;case 0x0040: KeyVal=6;break;case 0x0080: KeyVal=2;break;GPIO_Write(GPIOA,(GPIOA-ODR /让 PA3 到 PA0 输出二进制的0100.switch(GPIOA-IDR break;case 0x0020: KeyVal=9;break;case 0x0040: KeyVal=5;break;case 0x0080: KeyVal=1;break;GPIO_Write(GPIOA,(GPIOA-ODR /让 PA3 到 PA0 输出二进制的 1000. switch(GPIOA-IDR break;case 0x0020: KeyVal=8;break;case 0x0040: KeyVal=4;break;case 0x0080: KeyVal=0;break;return KeyVal;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报