|
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)) 后面的就没什么好讲的 |