第2节 HCS12 C语言键盘模块编程实例
键值计算方法(以符号“1”为例)
6.2.1 键盘函数定义头函数(KB.h)
//键盘扫描识别寄存器及标志位定义
#define KB_P PTH //键盘接在PTH口上
#define KB_D DDRH //相应的方向寄存器
#define KB_PE PERH //相应的上拉下拉电阻允许寄存器
#define KB_PS PPSH //相应的极性选择寄存器
#define KB_IE PIEH //相应的中断允许寄存器
#define KB_IF PIFH //相应的中断标志寄存器
///键盘扫描识别函数声明
void KB_Init(void); //键盘初始化
INT8U KB_Scan1(void); //扫描读取键值
INT8U KB_Def(INT8U KB_valve); //键值转为定义值
INT8U KB_ScanN(INT8U KB_count); //多次扫描键盘
6.2.2 键盘函数定义(KB.c)
键盘初始化的函数
void KB_Init(void)
扫描一次读取键值的函数
INT8U KB_Scan1(void)
扫描KB_count次读取键值的函数
INT8U KB_ScanN(INT8U KB_count)
将键值KB_valve转为定义值的函数
INT8U KB_Def(INT8U KB_valve)
6.2.3 测试工程的主函数(main.c)

6.2.1 键盘函数定义头函数(KB.h)
//键盘扫描识别寄存器及标志位定义
#define KB_P PTH //键盘接在PTH口上
#define KB_D DDRH //相应的方向寄存器
#define KB_PE PERH //相应的上拉下拉电阻允许寄存器
#define KB_PS PPSH //相应的极性选择寄存器
#define KB_IE PIEH //相应的中断允许寄存器
#define KB_IF PIFH //相应的中断标志寄存器
///键盘扫描识别函数声明
void KB_Init(void); //键盘初始化
INT8U KB_Scan1(void); //扫描读取键值
INT8U KB_Def(INT8U KB_valve); //键值转为定义值
INT8U KB_ScanN(INT8U KB_count); //多次扫描键盘
6.2.2 键盘函数定义(KB.c)
键盘初始化的函数
void KB_Init(void)
扫描一次读取键值的函数
INT8U KB_Scan1(void)
扫描KB_count次读取键值的函数
INT8U KB_ScanN(INT8U KB_count)
将键值KB_valve转为定义值的函数
INT8U KB_Def(INT8U KB_valve)
6.2.3 测试工程的主函数(main.c)



