AVR单片机程序

/******************************************************************** * 文件名 : 闪烁灯.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文档 可自由复制编辑

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4