//****************************************************************************************** // AVR Sample Program // Project : // Program Name : // Programer : // Create date : Version 1.0 H23.01.15 // History : // Laungage : WIN-avr //****************************************************************************************** // (1)Description // //****************************************************************************************** #include void wat(void); int main(void) { unsigned int LEDlst; // **************************** // 1.Initialized segment // **************************** // (1)Define I/O Port DDRA = 0xff; DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; // (2)Set LED LEDlst = 0x01; PORTA = LEDlst; PORTB = LEDlst; PORTC = LEDlst; PORTD = LEDlst; // **************************** // 2.Program main // **************************** while(1){ wat() ; if(LEDlst == 1){ LEDlst = 2; }else if(LEDlst > 0x7f){ LEDlst = 1; }else{ LEDlst = LEDlst * 2; } PORTA = LEDlst; PORTB = LEDlst; PORTC = LEDlst; PORTD = LEDlst; } } //****************************************************************************************** // Function Name : wat // Title : wait function // Input : // Output : //****************************************************************************************** void wat(void) { int lp,lp1 ; for(lp=0 ; lp < 100 ; lp++ ) for(lp1=0 ; lp1 < 1000 ; lp1++ ){ asm("nop"); } }