这是我修改后的代码,实现了十二个按键的循环扫描,试运行了下基本逻辑是对的,希望大家帮我看看有什么需要改进的,初学者还有很多不懂的。
#include
#define bitRead(Y,X) ( ~Y & (1 << (X-1)) ) // 读取 Y 的X位,其他位屏蔽为0,Y的X位为0则X位置为1,否则置位0
#define bitSet(Y,X) Y |= (1 << (X-1)) // Y的X位置1
#define bitClear(Y,X) Y &= ~(1 << (X-1)) // Y的X位置0
#define Merge_key ((P2>>4&0x08)|(P2&0x07))<<8|P3 //16位从高位到低位排序位:0 0 0 0 / P2.7 P2.2 P2.1 P2.0 / P3.7 P3.6 P3.5 P3.4 / P3.3 P3.2 P3.1 P3.0
/*------------------------------------------------
函数名称: KEY_Initialise()
函数功能: 按键初始化
入口参数:
出口参数: 无
备 注:
-----------------