#include <iom16v.h> #include <macros.h> void delay_ms(unsigned int k) { unsigned int i,j; for (i=0;i<k;i++) for (j=0;j<1140;j++); } void main() { unsigned char i=0; unsigned char j=0; unsigned char k=0; DDRA=0xff; DDRB=0xff; PORTA=0xff; PORTB=0xff; while (1) { if (j>3) { PORTB=~(BIT(3)+BIT(4)); //同时亮两个灯的写法 if (k==0) PORTA=~BIT(i); else PORTA=~BIT(7-i); i++; if (i>7) { delay_ms(500); PORTA=0x00; //全亮 k++; i=0; } delay_ms(500); if (k>1) { j=0; k=0; } } else { PORTA=~BIT(i); PORTB=~BIT(7-i); i++; if (i>7) { i=0; j++; } delay_ms(500); } } }
|