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

📄 ks0108.lst

📁 c51单片机液晶点阵的程序
💻 LST
📖 第 1 页 / 共 4 页
字号:
 580          0x00,0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xF8,0x00,0x00,0x00,
 581          0x00,0x00,0x0F,0x04,0x04,0x04,0x04,0x3F,0x44,0x44,0x44,0x44,0x4F,0x40,0x70,0x00,
 582          };
 583          
 584          char code Wei[]=
 585          {
 586          /*--  文字:  位  --*/
 587          /*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
 588          0x00,0xC0,0x30,0xEC,0x03,0x2A,0xC8,0x09,0x0A,0x0E,0x08,0xE8,0x48,0x08,0x00,0x00,
 589          0x01,0x00,0x00,0x7F,0x20,0x20,0x20,0x27,0x20,0x30,0x2E,0x21,0x20,0x20,0x20,0x00,
 590          };
 591          
 592          char code N0[]=
 593          {
 594          /*--  文字:  0  --*/
 595          /*--  宋体12;  此字体下对应的点阵为:宽x高=8x16   --*/
 596          0x00,0x00,0x00,0x18,0x24,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18,0x00,0x00,
 597          };
 598          
 599          char code Number[]=
 600          {
 601          /*------0123456789.------*/
 602          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x07,0x08,0x10,0x10,0x08,0x07,0x00,//0
 603          0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x10,0x10,0x1F,0x10,0x10,0x00,0x00,//1
 604          0x00,0x30,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x18,0x14,0x12,0x11,0x10,0x18,0x00,//2
 605          0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x0C,0x10,0x10,0x10,0x11,0x0E,0x00,//3
 606          0x00,0x80,0x40,0x20,0xF8,0x00,0x00,0x00,0x00,0x03,0x02,0x12,0x1F,0x12,0x12,0x00,//4
 607          0x00,0xF8,0x88,0x48,0x48,0x48,0x88,0x00,0x00,0x0C,0x10,0x10,0x10,0x10,0x0F,0x00,//5
 608          0x00,0xE0,0x10,0x88,0x88,0x98,0x00,0x00,0x00,0x0F,0x11,0x10,0x10,0x10,0x0F,0x00,//6
 609          0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,//7
 610          0x00,0x70,0x88,0x88,0x88,0x88,0x70,0x00,0x00,0x0E,0x11,0x10,0x10,0x11,0x0E,0x00,//8
 611          0x00,0xF0,0x08,0x08,0x08,0x90,0xE0,0x00,0x00,0x00,0x19,0x11,0x11,0x08,0x07,0x00,//9
 612          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,//.
 613          };
C51 COMPILER V7.02a   KS0108                                                               06/29/2008 18:48:40 PAGE 11  

 614          
 615          //-------------测量信息显示---------------//
 616          
 617          void TestLCD1(void)
 618          {
 619   1              char t;
 620   1              unsigned int i;
 621   1              char buf[5];
 622   1          int k;
 623   1              char c;
 624   1      
 625   1              InitLCD();
 626   1              while(1)
 627   1              {
 628   2                      t=GetKeyValue();  
*** WARNING C206 IN LINE 628 OF KS0108.C: 'GetKeyValue': missing function-prototype
 629   2              
 630   2                      while(t==-1)
 631   2                      {
 632   3                              t=GetKeyValue(); 
 633   3                      }
 634   2      
 635   2                      i=GetADCValue(t);
 636   2                      Delay1ms(250);
 637   2                      buf[3]=i%10;//个位
 638   2                      buf[2]=(i/10)%10;//十位
 639   2                      buf[1]=(i/100)%10;//百位
 640   2                      buf[0]=(i/1000)%10;//千位
 641   2                      buf[4]=10;//小数点
 642   2                              
 643   2              switch(t)
 644   2              {
 645   3      //              case 4:
 646   3      //              {InitLCD();TestLCD();}break;
 647   3      
 648   3      l1:      case 1:
 649   3                      {
 650   4                      InitLCD();
 651   4                      LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字1
 652   4                      LCD_WriteTZ(20,1,Wen);//显示16*16点阵汉字'温'
 653   4                      LCD_WriteTZ(37,1,Du);//显示16*16点阵汉字'度'
 654   4      nei:            
 655   4              {
 656   5                      t=GetKeyValue();
 657   5                      if(t == 0)break;
 658   5                      if(t == 2)goto l2;
 659   5                      if(t == 3)goto l3;
 660   5                      i=GetADCValue(1);
 661   5                      Delay1ms(250);
 662   5                      buf[3]=i%10;//个位
 663   5                      buf[2]=(i/10)%10;//十位
 664   5                      buf[1]=(i/100)%10;//百位
 665   5                      buf[0]=(i/1000)%10;//千位
 666   5                      buf[4]=10;//小数点
 667   5                      for(k=0;k<=1;k++)
 668   5                              {
 669   6                  LCD_WriteTZ1(20+k*8,3,&Number[buf[k]*16]);
 670   6                              }
 671   5      
 672   5                      LCD_WriteTZ1(20+2*8,3,&Number[buf[4]*16]);//'.'
 673   5      
 674   5                      for(k=2;k<=3;k++)
C51 COMPILER V7.02a   KS0108                                                               06/29/2008 18:48:40 PAGE 12  

 675   5                              {
 676   6                  LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
 677   6                              }
 678   5                      goto nei;
 679   5              }                               
 680   4                      }
 681   3                      break;
 682   3      
 683   3      l3:             case 3:
 684   3                      {       
 685   4                      InitLCD();
 686   4                      LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字2
 687   4                      LCD_WriteTZ(20,1,Ya); //显示16*16点阵汉字'压'
 688   4                      LCD_WriteTZ(37,1,Li); //显示16*16点阵汉字'力'
 689   4                      while(1)
 690   4              {
 691   5                      t=GetKeyValue();
 692   5                      if(t == 0)break;
 693   5                      if(t == 1)goto l1;
 694   5                      if(t == 2)goto l2;
 695   5                      i=GetADCValue(3);
 696   5                      Delay1ms(250);
 697   5                      buf[3]=i%10;//个位
 698   5                      buf[2]=(i/10)%10;//十位
 699   5                      buf[1]=(i/100)%10;//百位
 700   5                      buf[0]=(i/1000)%10;//千位
 701   5                      buf[4]=10;//小数点
 702   5      
 703   5                      for(k=0;k<=1;k++)
 704   5                              {
 705   6                  LCD_WriteTZ1(20+k*8,3,&Number[buf[k]*16]);
 706   6                              }
 707   5      
 708   5                      LCD_WriteTZ1(20+2*8,3,&Number[buf[4]*16]);//'.'
 709   5      
 710   5                      for(k=2;k<=3;k++)
 711   5                              {
 712   6                  LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
 713   6                              }
 714   5              }
 715   4                      }
 716   3                      break;
 717   3      
 718   3      l2:             case 2:
 719   3                      {
 720   4                      InitLCD();
 721   4                      LCD_WriteTZ1(4,1,&Number[t*16]);//显示8*16点阵数字3
 722   4                      LCD_WriteTZ(20,1,Dian); //显示16*16点阵汉字'电'
 723   4                      LCD_WriteTZ(37,1,Wei); //显示16*16点阵汉字'位'
 724   4                      while(1)
 725   4              {
 726   5                      t=GetKeyValue();
 727   5                      if(t == 0)break;
 728   5                      if(t == 1)goto l1;
 729   5                      if(t == 3)goto l3;
 730   5                      i=GetADCValue(2);
 731   5                      Delay1ms(250);
 732   5                      buf[3]=i%10;//个位
 733   5                      buf[2]=(i/10)%10;//十位
 734   5                      buf[1]=(i/100)%10;//百位
 735   5                      buf[0]=(i/1000)%10;//千位
 736   5                      buf[4]=10;//小数点
C51 COMPILER V7.02a   KS0108                                                               06/29/2008 18:48:40 PAGE 13  

 737   5      
 738   5                      LCD_WriteTZ1(20,3,&Number[buf[0]*16]);
 739   5                      
 740   5                      LCD_WriteTZ1(20+8,3,&Number[buf[4]*16]);//'.'
 741   5      
 742   5                      for(k=1;k<=3;k++)
 743   5                              {
 744   6                              LCD_WriteTZ1(20+(k+1)*8,3,&Number[buf[k]*16]);
 745   6                              }
 746   5              }
 747   4                      }
 748   3                      break;
 749   3                      default:break;
 750   3              }
 751   2              }
 752   1      
 753   1      }
*** WARNING C280 IN LINE 623 OF KS0108.C: 'c': unreferenced local variable
 754          
 755          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =   2235    ----
   CONSTANT SIZE    =   4544    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      35
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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