#include <iom16v.h>
//*******************延时 us
void delay_us(int t)
{
do
t--;
while(t>1);
}
//*******************延时 ms
void delay_ms(unsigned int t)
{
while(t!=0)
{
delay_us(1142);
t--;}
}
int main(void)
{
DDRA = 0xff; /* all outputs */
DDRB = 0xff; /* all outputs */
DDRC = 0xff; /*all outputs */
DDRD = 0xff; /*all outputs */
PORTA=0XFF;
PORTB=0XFF;
PORTC=0XFF;
PORTD=0XFF;
while(1)
{//***IO口输出低电平有效,如:0X01为十六进制数,二进制表示为00000001B,再取反
PORTA=~0X01;
delay_ms(1000);//************延时1秒
PORTA=~0X02;
delay_ms(1000);
PORTA=~0X04;
delay_ms(1000);
PORTA=~0X08;
delay_ms(1000);
PORTA=~0X10;
delay_ms(1000);
PORTA=~0X20;
delay_ms(1000);
PORTA=~0X40;
delay_ms(1000);
PORTA=~0X80;
delay_ms(1000);
PORTA=0XFF;
PORTB=~0X01;
delay_ms(1000);//************延时1秒
PORTB=~0X02;
delay_ms(1000);
PORTB=~0X04;
delay_ms(1000);
PORTB=~0X08;
delay_ms(1000);
PORTB=~0X10;
delay_ms(1000);
PORTB=~0X20;
delay_ms(1000);
PORTB=~0X40;
delay_ms(1000);
PORTB=~0X80;
delay_ms(1000);
PORTB=0XFF;
PORTC=~0X01;
delay_ms(1000);
PORTC=~0X02;
delay_ms(1000);
PORTC=~0X04;
delay_ms(1000);
PORTC=~0X08;
delay_ms(1000);
PORTC=~0X10;
delay_ms(1000);
PORTC=~0X20;
delay_ms(1000);
PORTC=~0X40;
delay_ms(1000);
PORTC=~0X80;
delay_ms(1000);
PORTC=0XFF;
PORTD=~0X01;
delay_ms(1000);
PORTD=~0X02;
delay_ms(1000);
PORTD=~0X04;
delay_ms(1000);
PORTD=~0X08;
delay_ms(1000);
PORTD=~0X10;
delay_ms(1000);
PORTD=~0X20;
delay_ms(1000);
PORTD=~0X40;
delay_ms(1000);
PORTD=~0X80;
delay_ms(1000);
PORTD=0XFF;
}
}