我查了8255的资料,感觉你使用好像有问题。如果想作为扫描键盘用,你应该使用PC口作为键盘矩阵使用。扫描矩阵要求一部分输出,一部分输入。 对8255,在设置好控制字后,是没法让PA口的一部分成为输出,而另一部分成为输出。PB也是一样的。只有PC口是允许一部分成为输入、而另一部分成为输出的。 你的程序中,在设置控制字时,应使 1、PA口作为输出口,PB口作为输出口。 2、PC7-PC4作为输出、PC3-PC0作为输入;或者PC7-PC4作为输入、PC3-PC0作为输出; |
在此提供一点思路,供参考。 u8 temp; if(k1)//k1按下 temp++; if(temp >1) temp = 0; if(temp==1) PB &= 0xfe;//PB0输出低电平,LED亮 else PB |= 0x01;//PB0输出高电平,LED灭 |