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

📄 lcd_44.lst

📁 单片机最小系统
💻 LST
📖 第 1 页 / 共 3 页
字号:
 224   2                     temp=getkey();
 225   2                     if(temp!=0xff)    //按任意键跳转
 226   2                     {
 227   3                         state=1;  
 228   3                             lcd_wrcmd(1);
 229   3                             break;
 230   3                     }
 231   2                 }
 232   1      }
 233             
 234          
 235          phase()
 236          {
 237   1             uchar i,j,cnt=0;    
 238   1                 lcd_wrcmd(0x0f);
 239   1                 lcd_wrcmd(0xc9);
 240   1                 lcd_wrdata(2);
 241   1             lcd_wrcmd(0x83);
C51 COMPILER V8.02   LCD_44                                                                07/15/2007 21:31:14 PAGE 5   

 242   1             for(i=0;i<12;i++)lcd_wrdata(str3[i]);
 243   1                 lcd_wrcmd(0xc5);
 244   1                 while(1)                      //按键处理
 245   1      
 246   1                 { 
 247   2                     i=getkey();
 248   2                     if(i<10)
 249   2                     {         cnt++;
 250   3                                   if(cnt<=3)
 251   3                                       {      
 252   4                                           lcd_wrcmd(0xc5+cnt-1);
 253   4                                       lcd_wrdata(0x30+i);
 254   4                                   }                                   
 255   3                                   else
 256   3                                       {
 257   4                                           cnt=0;                                                                              
 258   4                                               lcd_wrcmd(0xc5);
 259   4                                               for(j=0;j<=3;j++)
 260   4                                                   lcd_wrdata(' ');
 261   4                                               lcd_wrcmd(0xc5);
 262   4                                   }
 263   3                          }
 264   2                          else if(i==10)
 265   2                          {
 266   3                               state=1;
 267   3                                       lcd_wrcmd(0x0c);
 268   3                                       lcd_wrcmd(1);
 269   3                                       lcd_wrcmd(0x80);
 270   3                                       break;
 271   3                      }
 272   2                          else if(i==11)
 273   2                              {
 274   3                                  cnt=0;                                                                               
 275   3                                  lcd_wrcmd(0xc5);
 276   3                                      for(j=0;j<=3;j++)
 277   3                                  lcd_wrdata(' ');
 278   3                                  lcd_wrcmd(0xc5);    
 279   3                               }
 280   2                      }
 281   1      }
 282          
 283          
 284          
 285          frequency()
 286          {
 287   1             uchar i,j,cnt=0;  // 假如将cnt定义成全局变量,当退出这个界面时,cnt仍然保存原来的值        
 288   1                 lcd_wrcmd(0x80);      //会出现光标乱跳的错误
 289   1                 lcd_wrcmd(0xce);
 290   1                 lcd_wrdata('H');
 291   1                 lcd_wrdata('Z');
 292   1                 lcd_wrcmd(0x81);
 293   1             for(i=0;i<15;i++)lcd_wrdata(str2[i]);
 294   1                 lcd_wrcmd(0x0f);
 295   1                 lcd_wrcmd(0xc0);
 296   1                 while(1)                      //按键处理
 297   1                 { 
 298   2                     i=getkey();
 299   2                     if(i<10)
 300   2                     {         cnt++;
 301   3                                   if(cnt<=10)
 302   3                                       {      
 303   4                                           lcd_wrcmd(0xc0+cnt-1);
C51 COMPILER V8.02   LCD_44                                                                07/15/2007 21:31:14 PAGE 6   

 304   4                                       lcd_wrdata(0x30+i);
 305   4                                   }                                   
 306   3                                   else
 307   3                                       {
 308   4                                           cnt=0;                                                                              
 309   4                                               lcd_wrcmd(0xc0);
 310   4                                               for(j=0;j<=10;j++)
 311   4                                                   lcd_wrdata(' ');
 312   4                                               lcd_wrcmd(0xc0);
 313   4                                   }
 314   3                          }
 315   2                          else if(i==10)
 316   2                          {
 317   3                               state=1;
 318   3                                       lcd_wrcmd(0x0c);
 319   3                                       lcd_wrcmd(1);
 320   3                                       lcd_wrcmd(0x80);
 321   3                                       break;
 322   3                      }
 323   2                          else if(i==11)
 324   2                              {
 325   3                                  cnt=0;                                                                               
 326   3                                  lcd_wrcmd(0xc0);
 327   3                                      for(j=0;j<=10;j++)
 328   3                                  lcd_wrdata(' ');
 329   3                                  lcd_wrcmd(0xc0);    
 330   3                              }
 331   2                      }
 332   1      
 333   1      }
 334          
 335          warning()
 336          {
 337   1          uchar i,ii;
 338   1          lcd_wrcmd(1);
 339   1              lcd_wrcmd(0x0c);
 340   1              lcd_wrcmd(0x83);
 341   1              for(i=0;i<9;i++)
 342   1                  lcd_wrdata(warn[i]);
 343   1              lcd_wrcmd(0xc1);         
 344   1              for(i=0;i<12;i++)
 345   1                  lcd_wrdata(warn[i+9]);
 346   1              while(1)
 347   1              {
 348   2                  ii=getkey();
 349   2                      if(ii!=0xff)
 350   2                      {
 351   3                          lcd_wrcmd(1);
 352   3                              break;
 353   3                          
 354   3                      }
 355   2      
 356   2              }
 357   1      }
 358          
 359          
 360          uchar dac_convert(uchar *amp)
 361          {
 362   1          uint v;
 363   1              v=amp[2]*100+amp[1]*10+amp[0];
 364   1              if(v<500)
 365   1              {
C51 COMPILER V8.02   LCD_44                                                                07/15/2007 21:31:14 PAGE 7   

 366   2                   v=32*v;
 367   2                   dac_tlc5620(v/100);
 368   2                       return 0;
 369   2               }
 370   1               else
 371   1               {
 372   2                   return 1;
 373   2               }
 374   1                  
 375   1      }
 376          
 377          
 378          amplitude()
 379          {
 380   1           uchar i,ii;
 381   1               uchar amp[3],t=0;
 382   1               lcd_wrcmd(0x80);
 383   1               for(i=0;i<16;i++)
 384   1                   lcd_wrdata(am[i]);
 385   1               lcd_wrcmd(0xcc);
 386   1               lcd_wrdata('V');
 387   1               lcd_wrcmd(0xc8);
 388   1               lcd_wrdata('.'); 
 389   1               lcd_wrcmd(0x0f);            //开光标
 390   1               lcd_wrcmd(0xc7);
 391   1               while(1)
 392   1               {
 393   2                   ii=getkey();
 394   2                   if(ii==10)
 395   2                       {
 396   3                           if(t==4)
 397   3                               {
 398   4                                   if(dac_convert(amp))
 399   4                                       {
 400   5                                           warning();
 401   5                                           break;
 402   5                                        }
 403   4                               }
 404   3                           lcd_wrcmd(0x0c);
 405   3                               state=1;
 406   3                               lcd_wrcmd(1);
 407   3                               break;
 408   3                       }
 409   2                       if(ii<10)
 410   2                       {       
 411   3                           t++;
 412   3                               if(t==1)
 413   3                               {
 414   4                                      lcd_wrcmd(0xc9);
 415   4                               }
 416   3                               if(t==2)t++;
 417   3                               if(t==1)amp[2]=ii;
 418   3                               else if(t==3)amp[1]=ii;
 419   3                               else if(t==4)amp[0]=ii;             
 420   3      
 421   3                               if(t==5)
 422   3                               {
 423   4                                    t=0;
 424   4                                        lcd_wrcmd(0xc7);
 425   4                                        lcd_wrdata(' '); lcd_wrdata('.');lcd_wrdata(' ');lcd_wrdata(' ');
 426   4                                        lcd_wrcmd(0xc7);
 427   4                               }
C51 COMPILER V8.02   LCD_44                                                                07/15/2007 21:31:14 PAGE 8   

 428   3                               else
 429   3                               {
 430   4                                    lcd_wrcmd(0xc6+t);
 431   4                                    lcd_wrdata(0x30+ii);
 432   4                               }
 433   3                                                       
 434   3                               
 435   3                       }
 436   2      
 437   2                           
 438   2               }
 439   1          
 440   1      }
 441          
 442          
 443          menu()
 444          {
 445   1           uchar i,ii,cnt=1;
 446   1      
 447   1           lcd_wrcmd(0x83);
 448   1               for(i=0;i<11;i++)
 449   1                   lcd_wrdata(str4[i]);
 450   1               lcd_wrcmd(0xc3);
 451   1               i=0;
 452   1               while(str5[i]!='\0')
 453   1               {

⌨️ 快捷键说明

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