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

📄 display.lst

📁 a gps program
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.09   DISPLAY                                                               11/19/2006 16:03:08 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE DISPLAY
OBJECT MODULE PLACED IN display.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE display.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          
   2          #include "includes.h"
   3          #include "display.h"
   4          #include "eeprom.h"
   5          
   6          sbit LCD_CS = P2^2;
   7          sbit LCD_WR = P2^1;
   8          sbit LCD_DA = P2^0;
   9          
  10          uchar LCD[20] = {
  11                0xd7, 0xc0, 0x9d, 0xdc, 0xca,
  12                0x5e, 0x5f, 0xd0, 0xdf, 0xde,
  13                0x00, 0x08, 0x9b, 0xdb
  14          };
  15          
  16          void WriteCmd(uint cmd)
  17          {
  18   1          uint temp;
  19   1          uchar i;
  20   1          temp = cmd << 5;
  21   1          temp |= 0x8000;
  22   1          LCD_CS = 1;
  23   1          LCD_WR = 1;
  24   1          LCD_DA = 1;
  25   1          LCD_CS = 0;
  26   1          for (i = 0; i < 12; i++) {
  27   2              LCD_WR = 0;
  28   2              if ((temp & 0x8000) != 0)
  29   2                  LCD_DA = 1;
  30   2              else
  31   2                  LCD_DA = 0;
  32   2              LCD_WR = 1;
  33   2              temp = temp << 1;
  34   2          }
  35   1          LCD_WR = 1;
  36   1          LCD_DA = 1;
  37   1          LCD_CS = 1;
  38   1      }
  39          
  40          void WriteDat(uchar add, uchar dat)
  41          {
  42   1          uint temp;
  43   1          uchar i;
  44   1          temp = (add << 3) | dat;
  45   1          temp = temp << 4;
  46   1          temp |= 0xa000;
  47   1          LCD_CS = 1;
  48   1          LCD_WR = 1;
  49   1          LCD_DA = 1;
  50   1          LCD_CS = 0;
  51   1          for (i = 0; i < 13; i++) {
  52   2              LCD_WR = 0;
  53   2              if ((temp & 0x8000) != 0)
  54   2                  LCD_DA = 1;
  55   2              else
C51 COMPILER V7.09   DISPLAY                                                               11/19/2006 16:03:08 PAGE 2   

  56   2                  LCD_DA = 0;
  57   2              LCD_WR = 1;
  58   2              temp = temp << 1;
  59   2          }
  60   1          LCD_WR = 1;
  61   1          LCD_DA = 1;
  62   1          LCD_CS = 1;
  63   1      }
  64          void DisSet(char menu, char coun)
  65          {
  66   1          switch (menu) {
  67   2              case 1:
  68   2                  DisSon(0, 11, 0);
  69   2                  DisSon(1, 1, 0);
  70   2                  DisSon(2, 11, 0);
  71   2                  switch (coun) {
  72   3                      case 0:
  73   3                          DisSon(4, 0, 0);
  74   3                          break;
  75   3                      case 1:
  76   3                          DisSon(4, 1, 0);
  77   3                          break;
  78   3                      default:
  79   3                          break;
  80   3                  }
  81   2                  break;
  82   2              case 2:
  83   2                  DisSon(0, 11, 0);
  84   2                  DisSon(1, 1, 0);
  85   2                  DisSon(2, 11, 0);
  86   2                  switch (coun) {
  87   3                      case 0:
  88   3                          DisSon(3, 1, 0);
  89   3                          DisSon(4, 9, 0);
  90   3                          DisSon(5, 2, 0);
  91   3                          DisSon(6, 0, 0);
  92   3                          DisSon(7, 0, 0);
  93   3                          break;
  94   3                      case 1:
  95   3                          DisSon(3, 9, 0);
  96   3                          DisSon(4, 6, 0);
  97   3                          DisSon(5, 0, 0);
  98   3                          DisSon(6, 0, 0);
  99   3                          DisSon(7, 10, 0);
 100   3                          break;
 101   3                      case 2:
 102   3                          DisSon(3, 4, 0);
 103   3                          DisSon(4, 8, 0);
 104   3                          DisSon(5, 0, 0);
 105   3                          DisSon(6, 0, 0);
 106   3                          DisSon(7, 10, 0);
 107   3                          break;
 108   3                      case 3:
 109   3                          DisSon(3, 2, 0);
 110   3                          DisSon(4, 4, 0);
 111   3                          DisSon(5, 0, 0);
 112   3                          DisSon(6, 0, 0);
 113   3                          DisSon(7, 10, 0);
 114   3                          break;
 115   3                      case 4:
 116   3                          DisSon(3, 1, 0);
 117   3                          DisSon(4, 2, 0);
C51 COMPILER V7.09   DISPLAY                                                               11/19/2006 16:03:08 PAGE 3   

 118   3                          DisSon(5, 0, 0);
 119   3                          DisSon(6, 0, 0);
 120   3                          DisSon(7, 10, 0);
 121   3                          break;
 122   3                      case 5:
 123   3                          DisSon(3, 6, 0);
 124   3                          DisSon(4, 0, 0);
 125   3                          DisSon(5, 0, 0);
 126   3                          DisSon(6, 10, 0);
 127   3                          DisSon(7, 10, 0);
 128   3                          break;
 129   3                      case 6:
 130   3                          DisSon(3, 3, 0);
 131   3                          DisSon(4, 0, 0);
 132   3                          DisSon(5, 0, 0);
 133   3                          DisSon(6, 10, 0);
 134   3                          DisSon(7, 10, 0);
 135   3                          break;
 136   3                      default:
 137   3                          break;
 138   3                  }
 139   2                  break;
 140   2              default:
 141   2                  break;
 142   2          }
 143   1      }
 144          
 145          void Clear(void)
 146          {
 147   1          uchar i;
 148   1          for (i = 0; i < 8; i++)
 149   1              DisSon(i, 10, 0);
 150   1          DisSon1(0, 0);
 151   1          DisSon1(1, 0);
 152   1          DisSon1(2, 0);
 153   1      }
 154          
 155          void DisSon(uchar num, uchar dat, bit dp)
 156          {
 157   1          uchar addr, temp;
 158   1          switch (num) {
 159   2              case 0:
 160   2                  addr = 29;
 161   2                  break;
 162   2              case 1:
 163   2                  addr = 26;
 164   2                  break;
 165   2              case 2:
 166   2                  addr = 22;
 167   2                  break;
 168   2              case 3:
 169   2                  addr = 19;
 170   2                  break;
 171   2              case 4:
 172   2                  addr = 15;
 173   2                  break;
 174   2              case 5:
 175   2                  addr = 12;
 176   2                  break;
 177   2              case 6:
 178   2                  addr = 8;
 179   2                  break;
C51 COMPILER V7.09   DISPLAY                                                               11/19/2006 16:03:08 PAGE 4   

 180   2              case 7:
 181   2                  addr = 5;
 182   2                  break;
 183   2              default:
 184   2                  break;
 185   2          }
 186   1          temp = LCD[dat];
 187   1          if (dp == 1)
 188   1              WriteDat(addr, (temp >> 5) | 0x01);
 189   1          else
 190   1              WriteDat(addr, (temp >> 5));
 191   1          addr += 1;
 192   1          WriteDat(addr, (temp >> 2) & 0x07);
 193   1          addr += 1;
 194   1          WriteDat(addr, ((temp << 1) & 0x06));
 195   1      }
 196          
 197          void DisSon1(uchar num, bit flag)
 198          {
 199   1          uchar addr;
 200   1          switch (num) {
 201   2              case 0:
 202   2                  addr = 25;
 203   2                  break;

⌨️ 快捷键说明

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