求知者333

  • 2019-12-03
  • 回复了主题帖: AD 3D元件封装库

    看一下

  • 2019-11-26
  • 发表了主题帖: 交通灯系统,除了开始按键,其他按钮都无效,希望各位大神能帮助解决一下

    #include"reg51.h" typedef unsigned int u16; typedef unsigned char u8; u16 s; u8 a; u8 b; sbit LED1=P2^0; sbit LED2=P2^1; sbit LED3=P2^2; sbit LED4=P2^3; sbit LED5=P2^4; sbit LED6=P2^5; sbit KEY1=P3^1; sbit KEY2=P3^2; sbit KEY3=P3^3; void delay(u16 i) {     while(i--); } void Timer0Init() {     TMOD|=0X01;     TH0=0XFC;         TL0=0X18;         ET0=1;     TR0=1; } void deng() {         Timer0Init();     while(1)     {         if(TF0==1)         {             TF0=0;             TH0=0XFC;             TL0=0X18;             s++;         }         if((s>=0)&&(s<10000))            //10s         {             LED1=~LED1;                                LED4=~LED4;                         }         if((s>=10000)&&(s<14000))        //4s         {                 LED1=1;             LED2=~LED2;                           LED5=~LED5;              LED3=1;             LED4=1;             LED6=1;         }         if((s>=14000)&&(s<17000))     //3s         {             LED1=1;             LED3=1;             LED4=1;             LED6=1;             while((a>=0)&&(a<6))             {                 LED2=!LED2;                          LED5=!LED5;                  delay(50000);                 a++;                             }     }         if((s>=17000)&&(s<20000))         {             LED1=1;             LED2=1;             LED4=1;             LED5=1;             while((a<12)&&(a>=6))             {                 LED3=!LED3;                             LED6=!LED6;                  delay(50000);                 a++;             }                  }         if(s==20000)                     {             LED5=1;             LED6=1;             LED2=1;             LED3=1;             s=0;             a=0;     }              } } void main() {          if(KEY2==1)             {             delay(100);           if(KEY2==1)         {             delay(100);             if(KEY1==0)                         {                         delay(100);                       if(KEY1==0)                     {                         deng();                          }                     while(!KEY1);                     }                 }         while(!KEY2);         }                            if(KEY3==0)             {             delay(100);           if(KEY3==0)              {             TF0=0;             TH0=0XFC;                 TL0=0X18;             s=0;             deng();         }         while(!KEY3);         }         }  

  • 发表了主题帖: 才开始学习不久,最近再建立一个交通灯的系统,对于定时闪烁问题有一些疑问,求助大神

    首先,南北向红灯(LED1)亮10s,之后东西向绿灯(LED2)亮4s闪3s,接着东西向黄灯(LED3)闪3s*********** 现在的问题程序执行到了  if((s>=14000)&&(s<17000))  时无法脱离,LED2一直闪烁 诸位大神,这个应该怎么解决 void deng() {         Timer0Init();     while(1)     {         if(TF0==1)         {             TF0=0;             TH0=0XFC;             TL0=0X18;             s++;         }         if((s>=0)&&(s<10000))            //10s         {             LED1=~LED1;                    //南北向红灯     }         if((s>=10000)&&(s<14000))        //4s         {                 LED1=1;             LED2=~LED2;               //东西向绿灯长亮4s               LED3=1;         }         if((s>=14000)&&(s<17000))     //3s         {             LED1=1;             LED3=1;             while((s>=14000)&&(s<17000))             {               LED2=~LED2;               //东西向绿灯闪烁3s                 delay(50000);             }     }         if((s>=17000)&&(s<20000))         {             a=0;             LED1=1;             LED2=1;          while((s>=17000)&&(s<20000))         {             LED3=~LED3;               //东西向黄灯闪烁3s              delay(50000);         }   }         if(s==20000)                //回到初始(41条)状态,循环         {             LED2=1;             LED3=1;             s=0;     }              } }

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯币:35
  • 好友:--
  • 主题:2
  • 回复:1
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言