atemega8例程:灯闪烁
扫描二维码
随时随地手机看文章
C语言“位运算”:
“与&”运算: 1×1=1 1×0=0 0×1=0 0×0=0
“或|”运算: 1+1=1 1+0=1 0+1=1 0+0=0
“异或^”运算: 1^1=0 1^0=1 0^1=1 0^0=0
设:PORTA==10110100 x=(0~7)
PORTA &= ~(0x01< PORTA |= (0x01< PORTA^=(0x01< ______________________________________ C语言常识:逻辑“真”:非“0”, 逻辑“假”:“0”。 ______________________________________ 判断端口A的某一“位”的值:x= ( 0 ~ 7 ) If(PORTA &(0x01< 在if表达式中,如果x位的值为1,则表达式因为“非0”而为“真”,如果x位的值为0,则表达式因为值为“0”而为“假”。 在AVR的端口寄存器中DDRx默认为0x00,PORTx默认为0x00。 /*********************************************************** * 函数库说明:ATMEGE8 灯闪烁 * 版本: v1.0 * 说明: 无 * * 版本更新: * ************************************************************ *注意: LED C5 ***********************************************************/ #include int main(void) { unsigned int i,j; //PORTC5设置为输出 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 ++); } }