微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 请教大神,学习中

请教大神,学习中

时间:10-02 整理:3721RD 点击:
我做了个小程序,逻辑是:D1,D2开始顺序点亮到D6,延时10秒,再顺序熄灭,保留D1点亮,程序板子能通过,就是感觉不合理,请各位老师帮我看下,怎样修改,谢谢!
#include<reg52.h>
sbit D1=P1^0;
sbit D2=P1^1;
sbit D3=P1^2;
sbit D4=P1^3;
sbit D5=P1^4;
sbit D6=P1^5;
unsigned int a;
unsigned int cnt;
void main()
{
  while(1)
   {       
    P1=(0xfe<<cnt);
        for(a=0;a<30000;a++);
        cnt++;
        if(cnt>=6)
        {
        cnt=6;
        TMOD=0x01;
        TH0=0xb4;
        TL0=0X05;
        TR0=1;
        while(1)
        {
        if(TF0==1)
        {
        TF0=0;
        TH0=0xb4;
        TL0=0X05;
        cnt++;
        if(cnt>=400)
        {
        while(1)
        {
        D1=0;
        for(a=0;a<30000;a++);
        D2=1;
        for(a=0;a<30000;a++);
        D3=1;
        for(a=0;a<30000;a++);
        D4=1;
        for(a=0;a<30000;a++);
        D5=1;
        for(a=0;a<30000;a++);
        D6=1;
        for(a=0;a<30000;a++);
            }
            }
        }
      }
    }
  }
}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top