#include<iom16v.h>
//包含型号头文件
#include<macros.h>
//包含”位“操作头文件
#define uchar unsigned char
//宏定义
#define uint unsigned int
//宏定义
void delay(ms) //延时子函数
{
uint i,j;
for(i=0;i<ms;i++)
for(j=0;j<1000;j++);
}
void main()
{
uchar k;
DDRB=0XFF;//定义B口所有8位输出
PORTB=0XFF;//定义B口所有8位输出高电平,二极管全灭
for(k=0;k<8;k++)//循环实现二极管依次闪烁
{
PORTB&=~BIT(k);//B口输出低电平,二极管点亮
delay(200);//延时200ms
PORTB|=BIT(k);//B口输出高电平,二极管熄灭
delay(200);//延时200ms
}
for(k=7;k>-1;k--)//循环实现二极管依次闪烁
{
PORTB&=~BIT(k);//B口输出低电平,二极管点亮
delay(200);//延时200ms
PORTB|=BIT(k);//B口输出高电平,二极管熄灭
delay(200);//延时200ms
}
for(k=0;k<5;k++)
{
PORTB=0X00;//B口输出低电平,二极管点亮
delay(300);//延时300ms
PORTB=0XFF;//B口输出高电平,二极管熄灭
delay(300);//延时300ms
}
}