//==========================Keyboard.h===============================//
/*----------------------------------------------
本程序实现 4*5 键盘的扫描
从左到右,从上到下,键值
依次为 1-20
------------------------------------------------*/
#ifndef __KEYBOARD_H
#define __KEYBOARD_H
#include "stm32f10x_lib.h"
//选择扫描模式
#define Interrupt_Scan //中断扫描模式 ,要在 NVIC 在中打开对应中断
/*可以自己定义其它扫描方式*/
#define DELAY_COUNT 0x0FFFF
/* 键盘控制引脚定义 */
#define Keyboard_Control_Port GPIOD
#define Keyboard_Line_1 GPIO_Pin_0
#define Keyboard_Line_2 GPIO_Pin_1
#define Keyboard_Line_3 GPIO_Pin_2
#define Keyboard_Line_4 GPIO_Pin_3
#define Keyboard_Line_5 GPIO_Pin_4
#define Keyboard_Row_1 GPIO_Pin_5
#define Keyboard_Row_2 GPIO_Pin_6
#define Keyboard_Row_3 GPIO_Pin_7
#define Keyboard_Row_4 GPIO_Pin_8
#define Keyboard_LineBase Keyboard_Line_1
#define Keyboard_RowBase Keyboard_Row_1
#define Keyboard_Line (Keyboard_Line_1 | Keyboard_Line_2 | Keyboard_Line_3 |
Keyboard_Line_4 | Keyboard_Line_5)
#define Keyboard_Row (Keyboard_Row_1 | Keyboard_Row_2 | Keyboard_Row_3 |
Keyboard_Row_4)
#ifdef Interrupt_Scan /* 中断扫描模式宏定义 */
#define Keyboard_EXTI_Row1 EXTI_Line5
#define Keyboard_EXTI_Row2 EXTI_Line6
#define Keyboard_EXTI_Row3 EXTI_Line7
#define Keyboard_EXTI_Row4 EXTI_Line8
#define Keyboard_EXTI_PortSource GPIO_PortSourceGPIOD
#define Keyboard_EXTI_PinSource1 GPIO_PinSource5