实战:
假设:
按键上拉,没有按键的时候高电平,有按键的时候低电平,另外,为了突出问题,这里没有将延时消抖的程序写上去,在实际项目中应该加上。C语言函数参数的传递多种多样,这里作为例子,用了最简单的全局变量来传递参数,当然你也可以用 unsigned char ReadPort(void) 返回一个读键结果,甚至还可以 void ReadPort(unsigned char *pt) 用一个指针变量传递地址而达到直接修改变量的目的。方法是多种多样的,这个决定于每个人的程序风格。
1)开始写硬件层程序,完成映射#define KYE_MIN 0X01
#define KEY_PLUS 0X01
unsigned char KeyDat;
void ReadPort(void)
{
if (P1 & KEY_PLUS == 0 ){
KeyDat |= 0x01 ;
}
if (P2 & KEY_MIN == 0 ){
KeyDat |= 0x02 ;
}
}
|