这是一个典型的跑马灯实验,帮助初学者熟悉io口的基本使用.
平台:FDR51开发板
#include <reg51.h>
#define LED P1 //宏定义,使用LED代替P1口(相当于LED=P1)
#define uchar unsigned char //用uchar代替unsigned char方便操作
#define uint unsigned int
/*------------------time ms延时函数-----------------*/
void delay_ms(uint time)
{
uchar tres;
for(;time>0;time--)
{
tres=150;
while(tres--);
}
}
void main()
{
uchar t;
LED=0X01;//P1=00000001B
while(1)//死循环,不停的点亮和熄灭LED
{
for(t=0;t<8;t++)
{
LED=~LED;//按位取反,点亮一个LED
delay_ms(100);//延时0.1s
LED=~LED;//按位取反
LED<<=1;//左移一位,点亮不同的LED
}
LED=0X80;//P1=10000000B
for(t=0;t<8;t++)
{
LED=~LED;//按位取反,点亮一个LED
delay_ms(100);//延时0.1s
LED=~LED;//按位取反
LED>>=1;//右移一位,点亮不同的LED
}
LED=0X01;//P1=00000001B
}
}
文章评论(0条评论)
登录后参与讨论