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

📄 mainpro.lst

📁 /* LJD-IV 液晶、键盘驱动 /* 作者:刘延军 /* 2007年10月2日
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   MAINPRO                                                              05/16/2008 09:49:09 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE MAINPRO
OBJECT MODULE PLACED IN E:\PROJECTS\CYDLJK1\MAINPRO.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\PROJECTS\CYDLJK1\MAINPRO.C DB SB OE OT(0)

line level    source

   1          #include <reg52.h>
   2          #include <lcdkey.h>
   3          #include <ds12887.h>
   4          #include <max197.h>
   5          #include <stdio.h>
   6          
   7          sbit P1_0=P1^0;     //继电器控制位
   8          
   9          unsigned char code  cydljk_str[]={18,41,51,45,22,15,33,06,28,64,31,56,47,21,45,19};
  10                              //区位码表:采油动力监控系统
  11          unsigned char code menuitems_str[]={18,46,42,93,28,76,18,66,28,39,34,28,18,73,31,20,
  12                                             42,93,30,61,20,11,43,45,47,21,45,19,31,56,54,38};
  13                               //区位码表:菜单项
  14                               //1.参数检测;2.记录查看;3.数据传送;4.系统控制
  15          float xdata values[7];
  16          void(*SoftReset)(); //软件复位
  17          
  18          /*菜单项显示*/
  19          void Menu_Items_Display(void)
  20          {
  21   1         unsigned char xdata xx=0x04,yy=0x00,y=0x04,i;
  22   1         for(i=1;i<=4;i++)
  23   1         {
  24   2            LcdDisplayAsc(0x06,y,i|0x30);
  25   2            LcdDisplayAsc(0x07,y,'.');
  26   2            LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8],menuitems_str[(i-1)*8+1]);
  27   2            LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+2],menuitems_str[(i-1)*8+3]);
  28   2            LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+4],menuitems_str[(i-1)*8+5]);
  29   2            LcdDisplayWord(xx++,yy,menuitems_str[(i-1)*8+6],menuitems_str[(i-1)*8+7]);
  30   2            y+=0x10;xx=0x04;yy++;
  31   2         }
  32   1      }
  33          
  34          /*菜单选择*/
  35          unsigned char Menu_Select(unsigned char key)
  36          {
  37   1         static unsigned char point=0;
  38   1      
  39   1         if(key==0x0a)
  40   1           {
  41   2            point=(point+1)%4;
  42   2            switch(point)
  43   2             {
  44   3               case 0:LcdClearSection(0x02,0x03);
  45   3                      LcdDisplayAsc(0x05,0x04,'>');break;
  46   3               case 1:LcdClearSection(0x02,0x00);
  47   3                      LcdDisplayAsc(0x05,0x14,'>');break;
  48   3               case 2:LcdClearSection(0x02,0x01);
  49   3                      LcdDisplayAsc(0x05,0x24,'>');break;
  50   3               case 3:LcdClearSection(0x02,0x02);
  51   3                      LcdDisplayAsc(0x05,0x34,'>');break;
  52   3             }
  53   2           }
  54   1      
  55   1         if(key==0x0b)
C51 COMPILER V8.05a   MAINPRO                                                              05/16/2008 09:49:09 PAGE 2   

  56   1           {
  57   2            point=(point-1)%4;
  58   2            switch(point)
  59   2             {
  60   3               case 0:LcdClearSection(0x02,0x01);
  61   3                      LcdDisplayAsc(0x05,0x04,'>');break;
  62   3               case 1:LcdClearSection(0x02,0x02);
  63   3                      LcdDisplayAsc(0x05,0x14,'>');break;
  64   3               case 2:LcdClearSection(0x02,0x03);
  65   3                      LcdDisplayAsc(0x05,0x24,'>');break;
  66   3               case 3:LcdClearSection(0x02,0x00);
  67   3                      LcdDisplayAsc(0x05,0x34,'>');break;
  68   3             }
  69   2          }
  70   1          return point;
  71   1      }
  72          /*显示选择菜单*/
  73          void Menu_Display(unsigned char index)
  74          {
  75   1          LcdClear();
  76   1          switch(index)
  77   1             {
  78   2               case 0:
  79   2                      LcdDisplayAsc(0x05,0x04,'>');break;
  80   2               case 1:
  81   2                      LcdDisplayAsc(0x05,0x14,'>');break;
  82   2               case 2:
  83   2                      LcdDisplayAsc(0x05,0x24,'>');break;
  84   2               case 3:
  85   2                      LcdDisplayAsc(0x05,0x34,'>');break;
  86   2             }
  87   1         Menu_Items_Display();
  88   1      }
  89          unsigned char MeasureItem_Introduce(void)
  90          {
  91   1         unsigned char xdata key;
  92   1         LcdClear();
  93   1      
  94   1         LcdDisplayWord(0x03,0x01,49,01);
  95   1         LcdDisplayWord(0x04,0x01,52,81);
  96   1         LcdDisplayWord(0x05,0x01,28,76);
  97   1         LcdDisplayWord(0x06,0x01,18,66);
  98   1         LcdDisplayWord(0x07,0x01,18,46);
  99   1         LcdDisplayWord(0x08,0x01,42,93);
 100   1         //请(3975)  按(1620)  数(4293)  字(5554)  键(2892)
 101   1         LcdDisplayWord(0x02,0x02,39,75);
 102   1         LcdDisplayWord(0x03,0x02,16,20);
 103   1         LcdDisplayWord(0x04,0x02,42,93);
 104   1         LcdDisplayWord(0x05,0x02,55,54);
 105   1         LcdDisplayWord(0x06,0x02,28,92);
 106   1         LcdDisplayAsc(0x0e,0x24,'[');
 107   1         LcdDisplayAsc(0x0f,0x24,'1');
 108   1         LcdDisplayAsc(0x10,0x24,'-');
 109   1         LcdDisplayAsc(0x11,0x24,'7');
 110   1         LcdDisplayAsc(0x12,0x24,']');
 111   1      
 112   1         key=ReadKey();
 113   1      
 114   1         return key;
 115   1      
 116   1      }
 117          void a_up_measure(void)
C51 COMPILER V8.05a   MAINPRO                                                              05/16/2008 09:49:09 PAGE 3   

 118          {
 119   1        unsigned char xdata i;
 120   1        LcdClear();
 121   1        values[0]=0;
 122   1        for(i=0;i<3;i++)
 123   1          values[0]+=Max197_Convert(0x40);
 124   1        values[0]=values[0]/3;
 125   1      
 126   1        LcdDisplayAsc(0x05,0x14,'A');
 127   1        LcdDisplayWord(0x03,0x01,47,64);//相
 128   1        LcdDisplayWord(0x04,0x01,41,47);//上
 129   1        LcdDisplayWord(0x05,0x01,48,48);//行
 130   1        LcdDisplayWord(0x06,0x01,21,71);//电
 131   1        LcdDisplayWord(0x07,0x01,33,87);//流
 132   1      
 133   1        values[0]=(values[0]-1)*75;
 134   1        LcdDisplayFloat(0x04,0x24,values[0]);
 135   1      
 136   1        while((ReadKey())!=0x0c);
 137   1      
 138   1      }
 139          void a_down_measure(void)
 140          {
 141   1        unsigned char xdata i;
 142   1        LcdClear();
 143   1        values[1]=0;
 144   1        for(i=0;i<3;i++)
 145   1          values[1]+=Max197_Convert(0x40);
 146   1        values[1]=values[1]/3;
 147   1      
 148   1        LcdDisplayAsc(0x05,0x14,'A');
 149   1        LcdDisplayWord(0x03,0x01,47,64);//相
 150   1        LcdDisplayWord(0x04,0x01,47,34);//下
 151   1        LcdDisplayWord(0x05,0x01,48,48);//行
 152   1        LcdDisplayWord(0x06,0x01,21,71);//电
 153   1        LcdDisplayWord(0x07,0x01,33,87);//流
 154   1      
 155   1        values[1]=(values[1]-1)*75;
 156   1        LcdDisplayFloat(0x04,0x24,values[1]);
 157   1      
 158   1        while((ReadKey())!=0x0c);
 159   1      
 160   1      }
 161          void b_up_measure(void)
 162          {
 163   1        unsigned char xdata i;
 164   1        LcdClear();
 165   1        values[2]=0;
 166   1        for(i=0;i<3;i++)
 167   1          values[2]+=Max197_Convert(0x41);
 168   1        values[2]=values[2]/3;
 169   1      
 170   1        LcdDisplayAsc(0x05,0x14,'B');
 171   1        LcdDisplayWord(0x03,0x01,47,64);//相
 172   1        LcdDisplayWord(0x04,0x01,41,47);//上
 173   1        LcdDisplayWord(0x05,0x01,48,48);//行
 174   1        LcdDisplayWord(0x06,0x01,21,71);//电
 175   1        LcdDisplayWord(0x07,0x01,33,87);//流
 176   1      
 177   1        values[2]=(values[2]-1)*75;
 178   1        LcdDisplayFloat(0x04,0x24,values[2]);
 179   1      
C51 COMPILER V8.05a   MAINPRO                                                              05/16/2008 09:49:09 PAGE 4   

 180   1        while((ReadKey())!=0x0c);
 181   1      
 182   1      }
 183          void b_down_measure(void)
 184          {
 185   1        unsigned char xdata i;
 186   1        LcdClear();
 187   1        values[3]=0;
 188   1        for(i=0;i<3;i++)
 189   1          values[3]+=Max197_Convert(0x41);
 190   1        values[3]=values[3]/3;
 191   1      
 192   1        LcdDisplayAsc(0x05,0x14,'B');
 193   1        LcdDisplayWord(0x03,0x01,47,64);//相
 194   1        LcdDisplayWord(0x04,0x01,47,34);//下
 195   1        LcdDisplayWord(0x05,0x01,48,48);//行
 196   1        LcdDisplayWord(0x06,0x01,21,71);//电
 197   1        LcdDisplayWord(0x07,0x01,33,87);//流
 198   1      
 199   1        values[3]=(values[3]-1)*75;
 200   1        LcdDisplayFloat(0x04,0x24,values[3]);
 201   1      
 202   1        while((ReadKey())!=0x0c);
 203   1      
 204   1      }
 205          
 206          void t_measure(void)
 207          {
 208   1        unsigned char xdata i;
 209   1        LcdClear();
 210   1        values[4]=0;
 211   1        for(i=0;i<3;i++)
 212   1          values[4]+=Max197_Convert(0x42);
 213   1        values[4]=values[4]/3;
 214   1      
 215   1        LcdDisplayWord(0x03,0x01,46,34);//温
 216   1        LcdDisplayWord(0x04,0x01,22,40);//度
 217   1      
 218   1        LcdDisplayFloat(0x04,0x24,values[4]);
 219   1      
 220   1        while((ReadKey())!=0x0c);
 221   1      }
 222          void taoya_measure(void)
 223          {
 224   1        unsigned char xdata i;
 225   1        LcdClear();
 226   1        values[5]=0;
 227   1        for(i=0;i<3;i++)
 228   1          values[5]+=Max197_Convert(0x43);
 229   1        values[5]=values[5]/3;
 230   1      
 231   1        LcdDisplayWord(0x03,0x01,44,55);//套
 232   1        LcdDisplayWord(0x04,0x01,49,25);//压
 233   1      
 234   1        LcdDisplayFloat(0x04,0x24,values[5]);
 235   1      
 236   1        while((ReadKey())!=0x0c);
 237   1      }
 238          void huiya_measure(void)
 239          {

⌨️ 快捷键说明

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