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

📄 main.lst

📁 三色点阵控制
💻 LST
📖 第 1 页 / 共 3 页
字号:
 226          
 227                                          Bmp4,Bmp5,Bmp6,Bmp7,Bmp8,Bmp9,Bmp}; 
 228          
 229          
 230          
 231          
 232          sbit TT=P1^0;
 233          
 234          
 235          void MainDelay(void);
 236          void Serial_Init(void);
 237          void WaitTF0(void);
 238          void WByte(uchar input);
 239          caidan(uchar sp);
 240          caidan0(uchar sa);
 241          caidan1(uchar sb);
C51 COMPILER V8.02   MAIN                                                                  09/09/2006 18:05:50 PAGE 5   

 242          caidan2();
 243          Time();
 244          yanse();
 245          sheding();
 246          liangdu();
 247          zimu();
 248          hanzi();
 249          zimu3();
 250          zimu4();
 251          shuru();
 252          hanzi2();
 253          hanzi3();
 254          hanzi4();
 255          code (code *f[3][4])()={Time,
 256          yanse,
 257          sheding,
 258          liangdu,
 259          zimu,
 260          hanzi,
 261          zimu3,
 262          zimu4,
 263          shuru,
 264          hanzi2,
 265          hanzi3,
 266          hanzi4, };
 267          
 268          main()
 269          {
 270   1              uchar sp=1;
 271   1              uchar sa=1;
 272   1              uchar sb=1;
 273   1              uchar sf=0;
 274   1              uchar sp2=0;
 275   1              uchar sa2=1;
 276   1              uchar sb2=1;
 277   1              uchar sc2=1;
 278   1              
 279   1              Init8279();
 280   1              InitCom();
 281   1              MainDelay();
 282   1              caidan(sp);
 283   1              key=0;
 284   1              while(1)
 285   1              {
 286   2                      if(key)
 287   2                      {
 288   3                              switch(key)
 289   3                              {
 290   4                                      case LEFT:
 291   4                                              sp2--;
 292   4                                              if(sp2==-1)
 293   4                                              {sp2=3;}
 294   4                                              if(sp==1)
 295   4                                              {
 296   5                                                      sp=4;
 297   5                                              }
 298   4                                              else
 299   4                                              {
 300   5                                                      sp=sp>>1;
 301   5                                              }
 302   4                                              caidan(sp);
 303   4                                              break;
C51 COMPILER V8.02   MAIN                                                                  09/09/2006 18:05:50 PAGE 6   

 304   4                                      case RIGHT:
 305   4                                      sp2++;
 306   4                                      if(sp2==4)
 307   4                                      {sp2=0;}
 308   4                                              if(sp==4)
 309   4                                              {
 310   5                                                      sp=1;
 311   5                                              }
 312   4                                              else
 313   4                                              {
 314   5                                              sp=sp<<1;
 315   5                                              }
 316   4                                              caidan(sp);
 317   4                                      break;
 318   4                                      case Num0:
 319   4                                              switch(sp)
 320   4                                              {
 321   5                                                      case 1:
 322   5                                                              
 323   5                                                              if(sa==8)
 324   5                                                              {
 325   6                                                                      sa=1;
 326   6                                                              }
 327   5                                                              else
 328   5                                                              {
 329   6                                                                      sa=sa<<1;
 330   6                                                              }
 331   5                                                              sf=sa2;
 332   5                                                              sa2++;
 333   5                                                              if(sa2==4)
 334   5                                                              {
 335   6                                                                      sa2=0;
 336   6                                                              }
 337   5                                                              caidan0(sa);
 338   5      
 339   5                                                              break;
 340   5                                                      case 2:
 341   5                                                      
 342   5                                                              if(sb==2)
 343   5                                                              {
 344   6                                                                      sb=1;
 345   6                                                              }
 346   5                                                              else
 347   5                                                              {
 348   6                                                                      sb=sb<<1;
 349   6                                                              }
 350   5                                                              sf=sb2;
 351   5                                                              sb2++;
 352   5                                                              if(sb2==2)
 353   5                                                              {
 354   6                                                                      sb2=0;
 355   6                                                              }
 356   5                                                              caidan1(sb);
 357   5                                                              break;
 358   5                                                      case 4:
 359   5                                                              sf=0;
 360   5                                                              caidan2();
 361   5                                                              break;
 362   5                                                      }
 363   4      
 364   4                                              break;
 365   4                                      case Num8:
C51 COMPILER V8.02   MAIN                                                                  09/09/2006 18:05:50 PAGE 7   

 366   4                                      
 367   4                                      caidan(sp);
 368   4                                      break;  
 369   4                                      case ENTER:
 370   4                                              (* f[sp2][sf])();
 371   4                                              caidan(sp);
 372   4                                              break;
 373   4                                      default:
 374   4                                              break;                          
 375   4                              }
 376   3                              key=0;
 377   3                      }
 378   2                      
 379   2              }               
 380   1      }
 381          void MainDelay(void)
 382          {
 383   1              uint n;
 384   1              uchar i;
 385   1              for(i=0;i<2;i++)
 386   1                      for(n=0;n<40000;n++);
 387   1      }
 388          caidan(uchar sp)
 389          {
 390   1              bit sp0=0;
 391   1              bit sp1=0;
 392   1              bit sp2=0;
 393   1              lcd_cls();
 394   1              sp0=sp&0x01;
 395   1              sp1=(sp&0x02)>>1;
 396   1              sp2=(sp&0x04)>>2;
 397   1              lcd_line(1,1,15,127,15);
 398   1              lcd_line(1,38,0,38,15);
 399   1              lcd_line(1,76,0,76,15);
 400   1              lcd_line(1,1,13,127,13);
 401   1              DisplayStr(sp0,0, 0,"控制");
 402   1              DisplayStr(sp1,6, 0,"显示");
 403   1              DisplayStr(sp2,12, 0,"输入");
 404   1      }
 405          /* -------------------------------------------------------------
 406                           子菜单1:温度上限设定和报警开关
 407                                           -------------------------------------------*/
 408          
 409          
 410          caidan0(uchar sa)
 411          {
 412   1              uchar sa0[4];
 413   1              uchar i;
 414   1              for(i=0;i<4;i++)
 415   1              {
 416   2                      sa0[i]=sa&0x01;
 417   2                      sa=sa>>1;
 418   2              }
 419   1              lcd_line(1,1,15,1,64);
 420   1              lcd_line(1,127,64,127,20);
 421   1              lcd_line(1,127,20,25,20);
 422   1              lcd_line(1,25,20,20,15);
 423   1              if(sa0[3]==0)
 424   1              {
 425   2              DisplayStr(sa0[0],0, 2,"1:显示时钟");
 426   2              DisplayStr(sa0[1],0, 3,"2:颜色调节");  
 427   2              DisplayStr(sa0[2],0, 4,"3:字动作设定");
C51 COMPILER V8.02   MAIN                                                                  09/09/2006 18:05:50 PAGE 8   

 428   2              }
 429   1              else
 430   1              {
 431   2                      DisplayStr(sa0[3],0,2,"4:亮度调节");
 432   2                      DisplayStr(sa0[1],0, 3,"                 ");
 433   2                      DisplayStr(sa0[2],0, 4,"                  ");
 434   2              }
 435   1              
 436   1                              
 437   1      }
 438          /*-----------------------------------------------------
 439                     子菜单2:各线路的显示选择
 440                             -------------------------------------*/
 441          
 442          caidan1(uchar sb)
 443          {
 444   1              uchar sb0[2];
 445   1              uchar i;
 446   1              for(i=0;i<2;i++)
 447   1              {
 448   2                      sb0[i]=sb&0x01;
 449   2                      sb=sb>>1;
 450   2              }
 451   1                                                                                
 452   1                      DisplayStr(sb0[0],1, 2,"1:显示8个字母");
 453   1                      DisplayStr(sb0[1],1, 4,"2:显示8个汉字");
 454   1      
 455   1              lcd_line(1,36,15,32,20);
 456   1              lcd_line(1,32,20,1,20);
 457   1              lcd_line(1,1,20,1,63);

⌨️ 快捷键说明

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