谁能帮我写一个循环流水灯的c语言编程

 我来答
匿名用户
推荐于2018-03-23
展开全部
#include<reg51.h>   //51系列单片机定义文件
#define uchar unsigned char //定义无符号字符
#define uint unsigned int //定义无符号整数
void delay(uint);   //声明延时函数
void main()
{
 uint i;
 uchar temp;
 while(1)
 {
     temp=0x01;
     for(i=0;i<8;i++) //8个流水灯逐个闪动
     {
       P2=~temp;
       delay(500);   //调用延时函数
       temp<<=1;
     }
 temp=0x80;
 for(i=0;i<8;i++) //8个流水灯反向逐个闪动
    {
      P2=~temp;
      delay(500);   //调用延时函数
      temp>>=1;
    }
     temp=0xFE;
 for(i=0;i<8;i++) //8个流水灯依次全部点亮
     {
       P2=temp;
       delay(500);   //调用延时函数
       temp<<=1;
     }
    temp=0x7F;
    for(i=0;i<8;i++) //8个流水灯依次反向全部点亮
     {
       P2=temp;
       delay(500);   //调用延时函数
       temp>>=1;
     }
 }
}
void delay(uint a)  //延时函数,毫秒级别
{
 uint i;
 while(--a!=0)   //执行空操作循环,其中a为形参,由调用该函数的函数语句提供值
 {
  for(i=0;i<125;i++);//执行当0加到125时,大约会用掉1ms的时间
 }
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式