C語言“位運(yùn)算”:
“與&”運(yùn)算: 1×1=1 1×0=0 0×1=0 0×0=0
“或|”運(yùn)算: 1+1=1 1+0=1 0+1=1 0+0=0
“異或^”運(yùn)算: 1^1=0 1^0=1 0^1=1 0^0=0
設(shè):PORTA==10110100 x=(0~7)
PORTA &= ~(0x01< PORTA |= (0x01< PORTA^=(0x01< ______________________________________ C語言常識:邏輯“真”:非“0”, 邏輯“假”:“0”。 ______________________________________ 判斷端口A的某一“位”的值:x= ( 0 ~ 7 ) If(PORTA &(0x01< 在if表達(dá)式中,如果x位的值為1,則表達(dá)式因?yàn)椤胺?”而為“真”,如果x位的值為0,則表達(dá)式因?yàn)橹禐椤?”而為“假”。 在AVR的端口寄存器中DDRx默認(rèn)為0x00,PORTx默認(rèn)為0x00。 /*********************************************************** * 函數(shù)庫說明:ATMEGE8 燈閃爍 * 版本: v1.0 * 說明: 無 * * 版本更新: * ************************************************************ *注意: LED C5 ***********************************************************/ #include int main(void) { unsigned int i,j; //PORTC5設(shè)置為輸出 DDRC |= (1 << DDC5); //PORTC5輸出低電平,LED亮 PORTC &= ~(1 << PORTC5); while(1) { //取反 PORTC ^= (1 << PORTC5); for(i = 0;i < 100;i ++) for(j = 0;j < 1000;j ++); } }