![]() |
發(fā)布時間: 2018-10-12 14:29
正文摘要:這個程序看了兩天了,還是看不是很明白,看的腦瓜疼。所以來求助大家。 現(xiàn)在最弄不明白的是這些按位與和或的做用到底是什么啊? PORTC |= KEYSCAN_OUTH; PORTC &= KeyOut_Table[ ... |
PORTC |= KEYSCAN_OUTH; 從字面意思也很明白的說了PORTC=全輸出高電平,原理圖一看就明白了,全高電平就是沒有按鍵按下,不管是獨立按鍵還是矩陣按鍵,算作是一個預(yù)處理(有按鍵按下的統(tǒng)統(tǒng)釋放) PORTC &= KeyOut_Table[pt]不就是PORTC =PORTC & KeyOut_Table[pt],如果你現(xiàn)在的PORTC是0xff,你KeyOut_Table[pt]的取值是0x01,那結(jié)果就還是0X01,如果你PORTC是0x00,那結(jié)果就是0x00;說白了就是PORTC的值取決與你現(xiàn)在PORTC的值與KeyOut_Table[pt]中值相與的結(jié)果 ((PORTC&0x06) ^ 0x06) 其實是一種簡寫方式,其實是這樣子的: PORTC = PORTC & 0x06; PORTC = PORTC ^ 0x06; 你這還是簡單的,還有這樣子(((PORTC&0x06) ^ 0x06))| ~(PORTC(1<<6)) 后面的就沒什么好講的 |
參與人數(shù) 1 | 黑幣 +60 | 收起 理由 |
---|---|---|
![]() | + 60 | 回帖助人的獎勵! |
Powered by 單片機(jī)教程網(wǎng)