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

📄 lcd.lst

📁 air-contronin controning air in or out,big or small check the temprature.
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\syssoft\keil805\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "MATH.H"
   2          #include "STC12.H"
   3          #include "function.h"
   4          #include "pin.h"
   5          #include "variable.h"
   6          #include<intrins.h>
   7          void LCD_INIT(void)
   8          { 
   9   1              lcd_reset();
  10   1              lcd_preset();
  11   1              lcd_clr(0);
  12   1              //default display
  13   1              lcd_predp();
  14   1      }
  15          
  16          void lcd_predp(void)
  17          {
  18   1              byte da3;
  19   1              dp_chara(addr_Tc,0,1,0,12);
  20   1              da3=da_TC;
  21   1              da3=da_TC/10;
  22   1              dp_chara(da3,0,1,30,6);
  23   1              da3=da_TC%10;
  24   1              dp_chara(da3,0,1,36,6);
  25   1              dp_chara(addr_dot2,0,1,24,6);
  26   1      /*      if(!k_pw)
  27   1              {
  28   1                      dp_chara(addr_OFF,0,1,30,18);
  29   1              }
  30   1              else
  31   1              {
  32   1                      dp_chara(addr_ON,0,1,30,18);    
  33   1              }  */
  34   1              dp_chara(addr_Ref,0,2,0,18);
  35   1              dp_chara(addr_dot2,0,2,24,6);
  36   1              if(!k_ref)
  37   1              {
  38   2                 dp_chara(addr_OFF,0,2,30,18);
  39   2              }
  40   1              else
  41   1              {
  42   2                 dp_chara(addr_ON,0,2,30,18);
  43   2              }
  44   1              dp_chara(addr_Wind,0,3,0,30);
  45   1              switch(k_fa%3)
  46   1              {
  47   2                      case 0:
  48   2                              dp_chara(addr_OFF,0,3,30,18);
  49   2                              break;
  50   2                      case 1:
  51   2                              dp_chara(addr_ON,0,3,30,18);
  52   2                              break;
  53   2                      case 2:
  54   2                              dp_chara(addr_AUT,0,3,30,18);
  55   2                              break;
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 2   

  56   2                      default:
  57   2                              break;
  58   2              }
  59   1              dp_chara(addr_TA,1,1,0,18); 
  60   1              //display ta
  61   1              //ECCF3=0
  62   1              CCAPM3&=0xfe;
  63   1              da3=da_TA/10;
  64   1              dp_bigchara(da3,1,2,18,12);
  65   1              da3=da_TA%10;
  66   1              dp_bigchara(da3,1,2,30,12);
  67   1              //Open CCF3 interrupt
  68   1              CCF3=0;
  69   1              CCAPM3|=0x01;
  70   1                    
  71   1      }
  72          
  73          
  74          
  75          void LCD_Write_da(byte chip,byte page,byte column,unsigned char di,byte len)
  76          {
  77   1              byte i;
  78   1              E1=0;
  79   1      //      nobusyness(0);
  80   1              delay(5);
  81   1              E2=0;
  82   1      //      nobusyness(1);
  83   1              delay(5);
  84   1              switch(chip)
  85   1              {
  86   2                      case 0:
  87   2                              //return from read-modify-write mode
  88   2      //                      lcd_commd=0xee;
  89   2      //                      LCD_WriteIR1();
  90   2                              // set page
  91   2                              lcd_commd=0xb8;
  92   2                              lcd_commd|=page;
  93   2                              LCD_WriteIR1();
  94   2                              //set column
  95   2                              lcd_commd=column;
  96   2                              LCD_WriteIR1();
  97   2                              //set read-modify-write mode
  98   2                              lcd_commd=0xe0;
  99   2                              LCD_WriteIR1();
 100   2                              //Write data to d_ram
 101   2                              for(i=0;i<len;i++)
 102   2                              {
 103   3                                      //read BF flag
 104   3      //                              nobusyness(0);
 105   3                                      delay(5);
 106   3      //                              da=di;
 107   3      //                              DB0=(da&0x01);
 108   3      //                              DB1=(da&0x02);
 109   3      //                              da= da|0x03;
 110   3      //                              P1=da;
 111   3                                      seri_to_para(di);
 112   3                                      AA=1;
 113   3                                      R_W=0;
 114   3                                      E1=1;
 115   3                                      delay(1);
 116   3                                      E1=0;
 117   3                                      delay(1);
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 3   

 118   3                              }
 119   2                              //return from read-modify-write mode
 120   2                              lcd_commd=0xee;
 121   2                              LCD_WriteIR1();
 122   2                              break;
 123   2      
 124   2                      case 1:
 125   2                              //return from read-modify-write mode
 126   2      //                      lcd_commd=0xee;
 127   2      //                      LCD_WriteIR2();
 128   2                              // set page
 129   2                              lcd_commd=0xb8;
 130   2                              lcd_commd|=page;
 131   2                              LCD_WriteIR2();
 132   2                              //set column
 133   2                              lcd_commd=column;
 134   2                              LCD_WriteIR2();
 135   2                              //set read-modify-write mode
 136   2                              lcd_commd=0xe0;
 137   2                              LCD_WriteIR2();
 138   2                              //Write data to d_ram
 139   2                              for(i=0;i<len;i++)
 140   2                              {
 141   3                                      //read BF flag
 142   3      //                              nobusyness(0);
 143   3                                      delay(5);
 144   3      //                              da=di;
 145   3      //                              DB0=(da&0x01);
 146   3      //                              DB1=(da&0x02);
 147   3      //                              da= da|0x03;
 148   3      //                              P1=(da); 
 149   3                                      seri_to_para(di);
 150   3                                      AA=1;
 151   3                                      R_W=0;
 152   3                                      E2=1;
 153   3                                      delay(1);
 154   3                                      E2=0;
 155   3                                      delay(1);
 156   3                              }
 157   2                              //return from read-modify-write mode
 158   2                              lcd_commd=0xee;
 159   2                              LCD_WriteIR2();
 160   2                              break;
 161   2      
 162   2                      default:
 163   2                              break;
 164   2              }
 165   1      
 166   1      }
 167          
 168          
 169          
 170          
 171          //Write instruction to LCD
 172          void  LCD_WriteIR1(void)
 173          {
 174   1              E1=0;
 175   1      //      nobusyness(0);
 176   1              delay(5);
 177   1              E2=0;
 178   1      //      nobusyness(1);
 179   1              delay(5);
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 4   

 180   1      //      DB0=(lcd_commd&0x01);
 181   1      //      DB1=(lcd_commd&0x02);
 182   1      //      lcd_commd|=0x03;
 183   1      //      P1=lcd_commd;
 184   1              seri_to_para(lcd_commd);
 185   1              AA=0;  //indicate it is instruction
 186   1              R_W=0;
 187   1              E1=1;
 188   1              delay(1);
 189   1              E1=0;
 190   1              delay(1);
 191   1       }
 192          
 193          void  LCD_WriteIR2(void)
 194          {
 195   1              E1=0;
 196   1      //      nobusyness(0);
 197   1              delay(5);
 198   1              E2=0;
 199   1      //      nobusyness(1);
 200   1              delay(5);
 201   1      //      DB0=(lcd_commd&0x01);
 202   1      //      DB1=(lcd_commd&0x02);
 203   1      //      lcd_commd|=0x03;
 204   1      //      P1=lcd_commd;
 205   1              seri_to_para(lcd_commd);
 206   1              AA=0;  //indicate it is instruction
 207   1              R_W=0;
 208   1              E2=1;
 209   1              delay(1);
 210   1              E2=0;
 211   1              delay(1);
 212   1      }
 213          
 214          void LCD_Write_cbuff(void)
 215          {
 216   1              byte i,da,len;
 217   1              E1=0;
 218   1      //      nobusyness(0);
 219   1              delay(5);
 220   1              E2=0;
 221   1      //      nobusyness(1);
 222   1              delay(5);
 223   1              lcd_commd=0;
 224   1              da=lcd_xchip;
 225   1              switch(da)
 226   1              {
 227   2                      case 0:
 228   2                              //return from read-modify-write mode
 229   2      //                      lcd_commd=0xee;
 230   2      //                      LCD_WriteIR1();
 231   2                              // set page
 232   2                              lcd_commd=lcd_xrow;
 233   2                              lcd_commd|=0xb8;
 234   2                              LCD_WriteIR1();
 235   2                              //set column
 236   2                              lcd_commd=lcd_xcolumn;
 237   2                              LCD_WriteIR1();
 238   2                              //set read-modify-write mode
 239   2                              lcd_commd=0xe0;
 240   2                              LCD_WriteIR1();
 241   2                              //Write data to d_ram
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 5   

 242   2                              len=lcd_xlen;
 243   2                              for(i=0;i<len;i++)
 244   2                              {
 245   3                                      //read BF flag
 246   3      //                              nobusyness(0);
 247   3                                      delay(5);
 248   3                                      da=*ptc++;
 249   3      //                              DB0=(da&0x01);
 250   3      //                              DB1=(da&0x02);
 251   3      //                              da= da|0x03;
 252   3      //                              P1=da;
 253   3                                      seri_to_para(da);
 254   3                                      AA=1;
 255   3                                      R_W=0;
 256   3                                      E1=1;
 257   3                                      delay(1);
 258   3                                      E1=0;
 259   3                                      delay(1);
 260   3                              }
 261   2                              //return from read-modify-write mode
 262   2                              lcd_commd=0xee;
 263   2                              LCD_WriteIR1();
 264   2                              break;
 265   2      
 266   2                      case 1:
 267   2                              //return from read-modify-write mode
 268   2      //                      lcd_commd=0xee;
 269   2      //                      LCD_WriteIR2();
 270   2                              // set page
 271   2                              lcd_commd=lcd_xrow;
 272   2                              lcd_commd|=0xb8;
 273   2                              LCD_WriteIR2();
 274   2                              //set column
 275   2                              lcd_commd=lcd_xcolumn;
 276   2                              LCD_WriteIR2();
 277   2                              //set read-modify-write mode
 278   2                              lcd_commd=0xe0;
 279   2                              LCD_WriteIR2();
 280   2                              //Write data to d_ram
 281   2                              len=lcd_xlen;
 282   2                              for(i=0;i<len;i++)
 283   2                              {
 284   3                                      //read BF flag
 285   3      //                              nobusyness(0);
 286   3                                      delay(5);
 287   3                                      da=*ptc++;
 288   3      //                              DB0=(da&0x01);
 289   3      //                              DB1=(da&0x02);
 290   3      //                              da= da|0x03;
 291   3      //                              P1=da;
 292   3                                      seri_to_para(da);
 293   3                                      AA=1;
 294   3                                      R_W=0;
 295   3                                      E2=1;
 296   3                                      delay(1);
 297   3                                      E2=0;
 298   3                                      delay(1);
 299   3                              }
 300   2                              //return from read-modify-write mode
 301   2                              lcd_commd=0xee;
 302   2                              LCD_WriteIR2();
 303   2                              break;
C51 COMPILER V8.05a   LCD                                                                  06/05/2007 06:25:15 PAGE 6   

 304   2      
 305   2                      default:
 306   2                              break;
 307   2              }
 308   1      
 309   1      }
 310          

⌨️ 快捷键说明

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