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