PORTC |= KEYSCAN_OUTH; 从字面意思也很明白的说了PORTC=全输出高电平,原理图一看就明白了,全高电平就是没有按键按下,不管是独立按键还是矩阵按键,算作是一个预处理(有按键按下的统统释放)
PORTC &= KeyOut_Table[pt]不就是PORTC =PORTC & KeyOut_Table[pt],如果你现在的PORTC是0xff,你KeyOut_Table[pt]的取值是0x01,那结果就还是0X01,如果你PORTC是0x00,那结果就是0x00;说白了就是PORTC的值取决与你现在PORTC的值与KeyOut_Table[pt]中值相与的结果
((PORTC&0x06) ^ 0x06) 其实是一种简写方式,其实是这样子的:
PORTC = PORTC & 0x06;
PORTC = PORTC ^ 0x06; 你这还是简单的,还有这样子(((PORTC&0x06) ^ 0x06))|
~(PORTC(1<<6))
后面的就没什么好讲的 |