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

📄 lcd.lst

📁 在STC51上开发的一个电子称程序 KEILUV3环境开发
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.02   LCD                                                                   03/31/2008 17:24:46 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "hardware.h"
   2          #include "beep.h"
   3          
   4          uchar Lcdbit=0x0c;
   5          uchar idata  display_buffer[8]={0,0,0,0,0,0,0,0};
   6          
   7          //液晶段码
   8          #define a 0x08
   9          #define b 0x04
  10          #define c 0x02
  11          #define d 0x01
  12          #define e 0x20
  13          #define f 0x80
  14          #define g 0x40
  15          #define h 0x10
  16          
  17          unsigned code seg[]=
  18          {
  19          a+b+c+d+e+f,//0 0
  20          b+c,//1 1
  21          a+b+g+e+d,//2   2
  22          a+b+g+c+d,//3   3
  23          f+g+b+c,//4     4
  24          a+f+g+c+d,//5   5
  25          a+f+g+e+d+c,//6 6
  26          a+b+c,//7       7
  27          a+b+c+d+e+f+g,//8       8
  28          a+b+c+d+g+f,//9 9
  29          0,//a
  30          0,//b
  31          0,//c
  32          0,//d
  33          0,//e
  34          0,//0x0f
  35          0,//10
  36          0,//11
  37          0,//12
  38          0,//13
  39          0,//14
  40          0,//15
  41          0,//16
  42          0,//17
  43          0,//18
  44          0,//19
  45          0,//1a
  46          0,//1b
  47          0,//1c
  48          0,//1d
  49          0,//1e
  50          0,//1f
  51          0,//20  ' '空格
  52          0,//21
  53          0,//22
  54          0,//23
  55          0,//24
C51 COMPILER V8.02   LCD                                                                   03/31/2008 17:24:46 PAGE 2   

  56          0,//25
  57          0,//26
  58          0,//27  `
  59          0,//28  (
  60          0,//29  )
  61          0,//2a  *
  62          0,//2b  +
  63          0,//2c  ,
  64          g,//2d  -
  65          h,//2e  .
  66          0,//2f  /
  67          a+b+c+d+e+f+h,//30      0.
  68          b+c+h,//31                      1.
  69          a+b+g+e+d+h,//32                2.
  70          a+b+g+c+d+h,//33                3.
  71          f+g+b+c+h,//34          4.
  72          a+f+g+c+d+h,//35                5.
  73          a+f+g+e+d+c+h,//36      6.
  74          a+b+c+h,//37            7.
  75          a+b+c+d+e+f+g+h,//38    8.
  76          a+b+c+d+g+f+h,//39      9.
  77          0,//3a
  78          0,//3b
  79          0,//3c
  80          0,//3d
  81          0,//3e
  82          0,//3f
  83          0,//40
  84          a+b+c+e+f+g,//41    A
  85          0,//42      B
  86          a+d+e+f,//43        C
  87          0,//44      D
  88          a+d+e+f+g,//45      E
  89          a+e+f+g,//46        F
  90          a+b+c+d+f+g,//47    G
  91          b+c+e+f+g,//48      H
  92          0,//49  I
  93          0,//4a  J
  94          0,//4b  K
  95          d+e+f,//4c      L
  96          a+c+e,//4d      M
  97          0,//4e  N
  98          a+b+c+d+e+f,//4f        O
  99          a+b+e+f+g,//50  P
 100          0,//51  Q
 101          0,//52  R
 102          a+c+d+f+g,//53  S
 103          0,//54  T
 104          b+c+d+e+f,//55  U
 105          0,//56  V
 106          0,//57  W
 107          0,//58  X
 108          0,//59  Y
 109          a+b+g+e+d,//5a  Z
 110          0,//5b
 111          0,//5c
 112          0,//5d
 113          0,//5e
 114          0,//5f
 115          0,//60
 116          0,//61  a
 117          c+d+e+f+g,//62  b
C51 COMPILER V8.02   LCD                                                                   03/31/2008 17:24:46 PAGE 3   

 118          0,//63  c
 119          b+c+d+e+g,//64  d
 120          0,//65  e
 121          0,//66  f
 122          0,//67  g
 123          e+c+f+g,//68    h
 124          c,//69  i
 125          0,//6a  j
 126          0,//6b  k
 127          0,//6c  l
 128          0,//6d  m
 129          c+e+g,//6e      n
 130          c+d+e+g,//6f    o
 131          0,//70  p
 132          0,//71  q
 133          e+g,//72        r
 134          0,//73  s
 135          d+e+f+g,//74    t
 136          c+d+e,//75      u
 137          b+c+d+e,//76    v
 138          0,//77  w
 139          0,//78  x
 140          0,//79  y
 141          0,//7a  z
 142          d+e+f+g+h,//t.
 143          0,//7c
 144          0,//7d
 145          0,//7e
 146          0,//7f----十进制127
 147          };
 148          
 149          //定义液晶数码管地址
 150          #define ADDR_SMG1 0x00
 151          #define ADDR_SMG2 0x02
 152          #define ADDR_SMG3 0x04
 153          #define ADDR_SMG4 0x06
 154          #define ADDR_SMG5 0x08
 155          #define ADDR_SMG6 0x0a
 156          
 157          //定义HT1621的命令
 158          #define  ComMode    0x29  //4COM,1/3bias  1000    010 1001  0  
 159          #define  LCD_on     0x03  //打开LCD 偏压发生器1000     0000 0 11 0 
 160          #define  LCD_off    0x02  //关闭LCD显示 
 161          #define  Sys_en     0x01  //系统振荡器开 1000   0000 0010 
 162          #define  RC         0x18  //片上晶振
 163          
 164          #define  Ctrl_cmd   0x80  //写控制命令 
 165          #define  Data_cmd   0xa0  //写数据命令  
 166          
 167          void nop(void)//延时1us
 168           {}
 169          
 170          void delayus(uchar i) //延时i us
 171           {while(i--);}
 172          
 173          void delayms(uint m) //延时m ms  
 174           {
 175   1        uint i,j;
 176   1        for(i=0;i<m;i++)
 177   1        for(j=0;j<65;j++)
 178   1        delayus(1);
 179   1       }
C51 COMPILER V8.02   LCD                                                                   03/31/2008 17:24:46 PAGE 4   

 180          
 181          //写命令
 182          void LcdWriteCommand(char dat_)
 183          {
 184   1              unsigned char temp;
 185   1              delayms(200);   //ID=100
 186   1              Lcs=0;
 187   1              Ldata=1;
 188   1                      Lwr=0;
 189   1                      nop();
 190   1                      Lwr=1;
 191   1                      nop();
 192   1              Ldata=0;
 193   1                      Lwr=0;
 194   1                      nop();
 195   1                      Lwr=1;
 196   1                      nop();
 197   1              Ldata=0;
 198   1                      nop();
 199   1                      Lwr=0;
 200   1                      nop();
 201   1                      Lwr=1;
 202   1      for (temp=0;temp<9;temp++)
 203   1              {
 204   2                      dat_= dat_<< 1;
 205   2                      Ldata= CY;
 206   2                      Lwr=0;
 207   2                      nop();
 208   2                      Lwr=1;
 209   2                      nop();
 210   2              }
 211   1              Lcs=1;
 212   1      }
 213          
 214          //写数据
 215          void LcdWriteData(unsigned char add_, unsigned char da_)
 216          {
 217   1              unsigned char temp,num;
 218   1          Lcs=0;
 219   1      Ldata=1;  //ID=101
 220   1              Lwr=0;
 221   1              nop();
 222   1              Lwr=1;
 223   1              nop();
 224   1      Ldata=0;
 225   1              Lwr=0;
 226   1              nop();
 227   1              Lwr=1;
 228   1              nop();
 229   1      Ldata=1;
 230   1              Lwr=0;
 231   1              nop();
 232   1              Lwr=1;
 233   1              nop();
 234   1              add_=add_<<2;//取8位的后6位
 235   1              for (temp=0;temp<6;temp++)
 236   1                                      {
 237   2                                              add_=add_<<1;
 238   2                                              Ldata=CY;
 239   2                                              Lwr=0;
 240   2                                              nop();
 241   2                                              Lwr=1;
C51 COMPILER V8.02   LCD                                                                   03/31/2008 17:24:46 PAGE 5   

 242   2                                              nop();
 243   2                                      }
 244   1              for (num=0;num<8;num++)
 245   1                                      {
 246   2                                              da_ = da_<< 1;
 247   2                                              Ldata= CY;

⌨️ 快捷键说明

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