⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 08819.lst

📁 多功能数字交通灯设计
💻 LST
📖 第 1 页 / 共 2 页
字号:
 188                                  delay(5);
 189                                  if(key2==0)
 190                                  {
 191                                          if(key1num==1)
 192                                          {
 193                                                  while(!key2)
 194                                                  {
 195                                                          displayz(num);            
 196                                                  }
 197                                                  num++;
 198                                                  if(num==56)
 199                                                  {
 200                                                          num=0;
 201                                                  }
 202                                          }
 203                                          if(key1num==2)
 204                                          {
 205                                                  while(!key2)
 206                                                  {
 207                                                          displayc(num1);
 208          
 209                                                  }
 210                                                          num1++;
 211                                                          if(num1==56)
 212                                                          num1=0;
 213                                          }
 214                                  }
 215                          }
 216                          if(key3==0)                      //减一键
 217                          {
 218                                  delay(5);
 219                                  if(key3==0)
 220                                  {
 221                                          if(key1num==1)
 222                                          {
 223                                                  while(!key3)
 224                                                  {
 225                                                          displayz(num);
 226                                                  }
 227                                                  num--;
 228                                                  if(num==0)
 229                                                  {
 230                                                          num=56;
 231                                                  }
 232                                          }
 233                                          if(key1num==2)
 234                                          {
 235                                                  while(!key3)
 236                                                  {
 237                                                          displayc(num1);
 238          
 239                                                  }
 240                                                  num1--;
C51 COMPILER V8.02   08819                                                                 08/20/2008 10:36:23 PAGE 5   

 241                                                  if(num1==0)
 242                                                  num1=56;
 243                                          }
 244                                  }
 245                          }
 246                  }
 247          
 248          
 249          }                          */
 250          
 251          void main()                     //程序主函数
 252          {
 253   1              
 254   1              init();         //初始化程序
 255   1              while(1)
 256   1              {
 257   2                      keyscan();
 258   2                      
 259   2              if(count==8)    //自动倒计时功能
 260   2                      {
 261   3                              count=0;
 262   3                              if(flag==0)
 263   3                              {                               
 264   4                                      zg--;cr--;
 265   4                                      if(zg==0)
 266   4                                      {
 267   5                                              flag=1; 
 268   5                                               zg=30;  cr=33; y=4;
 269   5                                      }
 270   4      
 271   4                              }
 272   3                              if(flag==1)
 273   3                              {
 274   4                                      
 275   4                                      y--;
 276   4                                      if(y==0)
 277   4                                      {
 278   5                                       flag=2;
 279   5                                      }
 280   4                              }
 281   3                              if(flag==2)
 282   3                              {
 283   4                                              
 284   4                                              cg--;zr--;
 285   4                                              if(cg==0)
 286   4                                              {
 287   5                                                      flag=3;
 288   5                                                      y=4; 
 289   5                                                       cg=20;
 290   5                                                       zr=23;
 291   5                                              }
 292   4                              }
 293   3                              if(flag==3)
 294   3                              {       
 295   4                                      y--;
 296   4                                      if(y==0)
 297   4                                      {
 298   5                                              flag=0;
 299   5                                              y=4;
 300   5                                      }
 301   4                              }
 302   3                              
C51 COMPILER V8.02   08819                                                                 08/20/2008 10:36:23 PAGE 6   

 303   3                      }
 304   2      
 305   2      
 306   2                       if(flag==0)
 307   2                       {
 308   3                              P0=0xdd;//红灯
 309   3                              display(zg,cr); 
 310   3                       }
 311   2                       if(flag==1)
 312   2                       {
 313   3                                      P0=0xd4;
 314   3                                      displayy(y);
 315   3                       }
 316   2                       if(flag==2)
 317   2                       {
 318   3                              P0=0xeb;
 319   3                              display(cg,zr);
 320   3                       }
 321   2                       if(flag==3)
 322   2                       {
 323   3                              P0=0xe2;//黄灯
 324   3                              displayy(y);
 325   3                       }
 326   2                      
 327   2              
 328   2               }
 329   1      }
 330          void t0(void ) interrupt 1  //定时器T0  中断计时用
 331          {
 332   1              TH0=(65535-50000)/256;
 333   1              TL0=(65535-50000)%256;
 334   1              count++;        
 335   1      }
 336          ////////////////////////////////////////////
 337          //串口通信////////////////
 338          //发送0x00,数码管停止,发送0xff,计时起动///
 339          //发送0x01,设置主通道的时间//////////
 340          //发送0x02   设置次通道的时间////////
 341          void ser() interrupt 4
 342          {
 343   1              RI=0;    //软件清零
 344   1      //      P1=SBUF;
 345   1              a=SBUF;    //读SBUF的值
 346   1      //      SBUF=a;
 347   1              if(a==0x00)
 348   1              {
 349   2                      flag=1;   //标志位
 350   2                      TR0=0;    //停止计数器
 351   2              }
 352   1              if(a==0xff)
 353   1              {
 354   2                      TR0=1;     //标志位
 355   2                      flag=0;    //启动
 356   2              }
 357   1              if(flag==1)
 358   1              {
 359   2                      if(a==0x01)
 360   2                      {
 361   3                              num=SBUF;  //设置主通道的通车时间
 362   3                      }
 363   2                      if(a==0x02)
 364   2                      {
C51 COMPILER V8.02   08819                                                                 08/20/2008 10:36:23 PAGE 7   

 365   3                              num1=SBUF; //设置次通道的通车时间
 366   3                      }
 367   2              }
 368   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    544    ----
   CONSTANT SIZE    =     11    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =     11       2
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  1 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -