/******************************************************************** * 文件名 : 闪烁灯.c
* 杜邦线接法:用单条杜邦线把PD.0和J38的1端相连接。
***********************************************************************/ #include
#define F_CPU 8000000 //这里的值是单片机工作的相关晶振频率 #include
#define LED1 PORTD|=~0XFE //LED=1 LED不亮 #define LED0 PORTD&=0XFE //LED=0 LED发光
int main(void) {
DDRD = 0x01; //PD0定义为输出,PD的其他端口为输入。 while(1) { LED1; _delay_ms(500); LED0; _delay_ms(500); } }
word文档 可自由复制编辑
/******************************************************************** * 文件名 : 闪烁灯2.c
* 创建人 : 东流,2012年2月10日 * 版本号 : 1.0
* 杜邦线接法:用8针杜邦线把PD和J38的1--8连接(PD0对应J38的1端)。 用杜邦线把PB0对应J38的9端。 用杜邦线把PB1对应J38的10端。 用杜邦线把PB2对应J38的11端。 用杜邦线把PB3对应J38的12端。
***********************************************************************/ #include
#define F_CPU 8000000 //这里的值是单片机工作的相关晶振频率 #include
int main(void) { DDRD = 0xff; DDRB = 0x0f; while(1) { /*北面的三个LED亮*/ PORTD = 0xf8; PORTB = 0xff; _delay_ms(300); /*东面的三个LED亮*/ PORTD = 0xc7; PORTB = 0xff; _delay_ms(300); /*南面的三个LED亮*/ PORTD = 0x3f; PORTB = 0xfe; _delay_ms(300); /*西面的三个LED亮*/ PORTD = 0xff; PORTB = 0xf1; _delay_ms(300); /*北面的两个LED亮,中间一个不亮*/ PORTD = 0xfa; PORTB = 0xff; _delay_ms(300); /*东面的两个LED亮,中间一个不亮*/ PORTD = 0xd7; PORTB = 0xff;
word文档 可自由复制编辑
}
}
_delay_ms(300);
/*南面的两个LED亮,中间一个不亮*/ PORTD = 0xbf; PORTB = 0xfe; _delay_ms(300);
/*西面的两个LED亮,中间一个不亮*/ PORTD = 0xff; PORTB = 0xf5; _delay_ms(300); /*12个LED全亮*/ PORTD = 0x00; PORTB = 0xf0; _delay_ms(200); /*12个LED全灭*/ PORTD = 0xff; PORTB = 0xff; _delay_ms(200); /*12个LED全亮*/ PORTD = 0x00; PORTB = 0xf0; _delay_ms(200); /*12个LED全灭*/ PORTD = 0xff; PORTB = 0xff; _delay_ms(200);
_delay_ms(500); //延时0.5秒
word文档 可自由复制编辑