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

📄 lcd.lst

📁 2008年山东省大学生电子设计大赛 c题 多功能电子计价秤 单片机用的 c8051f005
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.20   LCD                                                                   09/18/2008 18:08:21 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE lcd.c LARGE BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include"include.h"
   2          
   3          //--------------------------------------------------------
   4          //数字字模
   5          //每个数字8X16 x+8 page+2 y+16
   6          //--------------------------------------------------------
   7          uchar code num0[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00};
   8          uchar code num1[]={0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00};
   9          uchar code num2[]={0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00};
  10          uchar code num3[]={0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00};
  11          uchar code num4[]={0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00};
  12          uchar code num5[]={0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00};
  13          uchar code num6[]={0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00};
  14          uchar code num7[]={0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00};
  15          uchar code num8[]={0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00};
  16          uchar code num9[]={0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x00,0x31,0x22,0x22,0x11,0x0F,0x00};
  17          uchar code dot[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00};
  18          uchar code hc[]={0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x08,0x38,0xFF,0x38,0x08,0x00};
  19          
  20          
  21          uchar * code albnum[]={num0,num1,num2,num3,num4,num5,num6,num7,num8,num9,dot,hc};
  22          
  23          
  24          //汉字
  25          uchar code ssd[]={0x00,0x0E,0x0A,0x0E,0xE0,0x10,0x08,0x04,0x04,0x04,0x04,0x04,0x08,0x38,0x00,0x00,
  26          0x00,0x00,0x00,0x00,0x03,0x04,0x08,0x10,0x10,0x10,0x10,0x10,0x08,0x04,0x00,0x00};
  27          uchar code dan1[]={0x00,0x00,0xF8,0x28,0x29,0x2E,0x2A,0xF8,0x28,0x2C,0x2B,0x2A,0xF8,0x00,0x00,0x00,
  28          0x08,0x08,0x0B,0x09,0x09,0x09,0x09,0xFF,0x09,0x09,0x09,0x09,0x0B,0x08,0x08,0x00};//单
  29          uchar code jia4[]={0x40,0x20,0xF0,0x1C,0x47,0x22,0x10,0xC8,0x04,0x03,0x04,0xD8,0x30,0x60,0x20,0x00,
  30          0x00,0x00,0xFF,0x00,0x80,0x60,0x18,0x07,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00};//价
  31          uchar code zhong4[]={0x08,0x08,0x0A,0xEA,0xAA,0xAA,0xAA,0xFF,0xA9,0xA9,0xA9,0xE9,0x08,0x08,0x08,0x00,
  32          0x40,0x40,0x48,0x4B,0x4A,0x4A,0x4A,0x7F,0x4A,0x4A,0x4A,0x4B,0x48,0x40,0x40,0x00};//重
  33          uchar code liang4[]={0x40,0x40,0x40,0xDF,0x55,0x55,0x55,0xD5,0x55,0x55,0x55,0xDF,0x40,0x40,0x40,0x00,
  34          0x40,0x40,0x40,0x57,0x55,0x55,0x55,0x7F,0x55,0x55,0x55,0x57,0x50,0x40,0x40,0x00};//量
  35          uchar code zong3[]={0x00,0x00,0x00,0xF8,0x89,0x8E,0x88,0x88,0x88,0x8C,0x8B,0xF8,0x00,0x00,0x00,0x00,
  36          0x00,0x20,0x38,0x00,0x3C,0x40,0x40,0x42,0x4C,0x40,0x40,0x70,0x04,0x18,0x30,0x00};//总
  37          uchar code ge2[]={0x08,0x88,0x68,0xFF,0x48,0xA8,0x10,0x0C,0x97,0xA4,0x44,0xB4,0x8C,0x00,0x00,0x00,
  38          0x02,0x01,0x00,0xFF,0x00,0x01,0x01,0xFF,0x42,0x42,0x42,0x42,0xFE,0x01,0x01,0x00};//格
  39          uchar code nian2[]={0x40,0x20,0x10,0x0C,0xE3,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0x02,0x00,0x00,
  40          0x04,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0xFF,0x04,0x04,0x04,0x04,0x04,0x04,0x00};//年
  41          uchar code yue4[]={0x00,0x00,0x00,0x00,0x00,0xFF,0x11,0x11,0x11,0x11,0x11,0xFF,0x00,0x00,0x00,0x00,
  42          0x00,0x40,0x20,0x10,0x0C,0x03,0x01,0x01,0x01,0x21,0x41,0x3F,0x00,0x00,0x00,0x00};//月
  43          uchar code ri4[]={0x00,0x00,0x00,0xFE,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0xFE,0x00,0x00,0x00,0x00,
  44          0x00,0x00,0x00,0x3F,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x3F,0x00,0x00,0x00,0x00};//日
  45          uchar code dian4[]={0x00,0x00,0xFC,0x04,0x04,0x04,0x04,0x05,0xFE,0x44,0x44,0x44,0x44,0x44,0x04,0x00,
  46          0x40,0x30,0x0F,0x00,0x00,0x7E,0x22,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x00,0x00};//店
  47          uchar code yuan2[]={0x00,0x00,0x00,0xE0,0x2F,0x29,0x29,0xA9,0x29,0x29,0x29,0x2F,0xE0,0x00,0x00,0x00,
  48          0x00,0x00,0x80,0x8F,0x40,0x20,0x18,0x07,0x08,0x10,0x20,0xE0,0x4F,0x00,0x00,0x00};//员
  49          uchar code pin3[]={0x00,0x00,0x00,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00,
  50          0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00};//品
  51          uchar code ming2[]={0x00,0x40,0x20,0x10,0x08,0x27,0x44,0x84,0x44,0x24,0x14,0x0C,0x04,0x00,0x00,0x00,
  52          0x04,0x04,0x04,0x02,0x7E,0x23,0x23,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00};//名
  53          uchar code shi2[]={0x00,0xFC,0x44,0x44,0x44,0xFC,0x10,0x90,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x00,
  54          0x00,0x07,0x04,0x04,0x04,0x07,0x00,0x00,0x03,0x40,0x80,0x7F,0x00,0x00,0x00,0x00};//时
  55          uchar code fen1[]={0x80,0x40,0x20,0x98,0x87,0x82,0x80,0x80,0x83,0x84,0x98,0x30,0x60,0xC0,0x40,0x00,
C51 COMPILER V7.20   LCD                                                                   09/18/2008 18:08:21 PAGE 2   

  56          0x00,0x80,0x40,0x20,0x10,0x0F,0x00,0x00,0x20,0x40,0x3F,0x00,0x00,0x00,0x00,0x00};//分
  57          uchar code miao3[]={0x12,0x12,0xD2,0xFE,0x91,0x11,0xC0,0x38,0x10,0x00,0xFF,0x00,0x08,0x10,0x60,0x00,
  58          0x04,0x03,0x00,0xFF,0x00,0x83,0x80,0x40,0x40,0x20,0x23,0x10,0x08,0x04,0x03,0x00};//秒
  59          
  60          uchar code jin1[]={0x40,0x40,0x20,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x50,0x20,0x60,0x20,0x00,
  61          0x40,0x40,0x42,0x42,0x4A,0x72,0x42,0x7F,0x42,0x62,0x5A,0x42,0x42,0x40,0x40,0x00};//金
  62          uchar code e2[]={0x00,0x4C,0x24,0x5D,0x96,0xD4,0x34,0x0C,0xF6,0x12,0x1A,0x96,0x12,0x12,0xF2,0x00,
  63          0x04,0x04,0x7E,0x23,0x22,0x22,0x3F,0x40,0x4F,0x20,0x18,0x07,0x08,0x10,0x6F,0x00};//额
  64          
  65          
  66          uchar code shi4[]={0x80,0x80,0x80,0x80,0xBE,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xBE,0x80,0x80,0x80,0x00,
  67          0x00,0x40,0x20,0x10,0x0E,0x10,0x20,0x3F,0x44,0x44,0x44,0x44,0x44,0x40,0x40,0x00};//
  68          uchar code fou3[]={0x00,0x82,0x82,0x42,0x62,0x22,0x12,0xFA,0x0E,0x02,0x12,0x22,0x62,0xC2,0x00,0x00,
  69          0x00,0x00,0x00,0x7E,0x22,0x22,0x22,0x23,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,0x00};//
  70          uchar code da3[]={0x10,0x10,0x10,0xFF,0x90,0x50,0x14,0x04,0x04,0x04,0xFC,0x04,0x04,0x04,0x04,0x00,
  71          0x02,0x42,0x81,0x7F,0x00,0x00,0x00,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00};//
  72          uchar code yin4[]={0x00,0xFC,0x44,0x44,0x42,0x42,0x42,0x00,0xFE,0x02,0x02,0x02,0x02,0xFE,0x00,0x00,
  73          0x08,0x1F,0x08,0x04,0x04,0x02,0x00,0x00,0xFF,0x00,0x00,0x04,0x08,0x07,0x00,0x00};//
  74          uchar code qing1[]={0x10,0x61,0x06,0xE0,0x18,0x20,0xAA,0xAA,0xAA,0xBF,0xAA,0xAA,0xAA,0x2A,0x00,0x00,
  75          0x04,0x04,0xFF,0x00,0x00,0x00,0xFF,0x0A,0x0A,0x0A,0x4A,0x8A,0x7F,0x00,0x00,0x00};//
  76          uchar code wenhao[]={0x00,0x70,0x48,0x08,0x08,0x08,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  77          0x00,0x00,0x00,0x30,0x36,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//
  78          
  79          uchar code qianke[]={0x08,0xF8,0x88,0xC0,0x28,0x18,0x08,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x00,
  80          0x20,0x3F,0x20,0x01,0x26,0x38,0x20,0x00,0x00,0x6B,0x94,0x94,0x94,0x93,0x60,0x00};//Kg
  81          uchar code yuan22[]={0x00,0x20,0x20,0x22,0x22,0xE2,0x22,0x22,0x22,0xE2,0x22,0x22,0x22,0x20,0x20,0x00,
  82          0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x70,0x00};//元
  83          
  84          
  85          
  86          //----------------------------------------------------
  87          //液晶初始化
  88          //----------------------------------------------------
  89          void lcd_init()
  90          {
  91   1              LCD_RES=1;
  92   1              delay(20000);
  93   1              lcd_send_cmd(0xE2);                     //复位
  94   1              lcd_send_cmd(0xA2);                     //d0:Set LCD drive voltage bias ratio 0=1/9bias 1=1/7bias
  95   1          lcd_send_cmd(0xC8);                 //d3:select COM output direction 0=normal 1=reverse
  96   1              lcd_send_cmd(0xA0);                     //d0:select SEG output direction 0=normal 1=reverse
  97   1              lcd_send_cmd(0xA6);                     //d0:0=display normal 1=reverse
  98   1              lcd_send_cmd(0xF8);                     //select booster ratio
  99   1              lcd_send_cmd(0x00);                     //select booster ratio d0&d1:00=4x
 100   1              lcd_send_cmd(0x2C);                     //d2:1=select internal power supply operating mode
 101   1              lcd_send_cmd(0x2E);
 102   1              lcd_send_cmd(0x2F);
 103   1              lcd_send_cmd(0x81);                     //select the VO output voltage electronic volume register
 104   1              lcd_send_cmd(0x14);                     //select the VO output voltage electronic volume register
 105   1              lcd_send_cmd(0x0E);                     //select the VO output voltage electronic volume register
 106   1              lcd_send_cmd(0xAF);                     //d0:LCD display ON=1/OFF=0
 107   1              lcd_send_cmd(0xE0);
 108   1              lcd_send_cmd(0x40);                     //Set the display RAM start line address
 109   1      }
 110          
 111          //----------------------------------------------------
 112          //发送页地址
 113          //----------------------------------------------------
 114          void lcd_set_page(uchar dat)
 115          {
 116   1              lcd_send_cmd(0xb0|dat);
 117   1      }
C51 COMPILER V7.20   LCD                                                                   09/18/2008 18:08:21 PAGE 3   

 118          
 119          //----------------------------------------------------
 120          //发送列地址
 121          //----------------------------------------------------
 122          void lcd_set_colume(uchar dat)
 123          {
 124   1              uchar tmp;
 125   1              tmp=dat>>4;
 126   1              lcd_send_cmd(0x10|tmp);                 //送列地址高四位
 127   1              tmp=0x0f&dat;
 128   1              lcd_send_cmd(tmp);                              //送列地址低四位
 129   1      }
 130          
 131          
 132          //----------------------------------------------------
 133          //清屏
 134          //----------------------------------------------------
 135          void lcd_clr()
 136          {
 137   1              uchar i,j;
 138   1              for(i=0;i<8;i++)
 139   1              {
 140   2                      lcd_set_page(i);
 141   2                      lcd_set_colume(0);
 142   2                      for(j=0;j<128;j++)
 143   2                              lcd_send_data(0x00);
 144   2              }
 145   1      }
 146          //----------------------------------------------------
 147          //清屏2页的第m列到第n-1列
 148          //----------------------------------------------------
 149          void lcd_clr_page(uchar page,uchar m,uchar n)
 150          {
 151   1              uchar i;
 152   1              lcd_set_page(page);
 153   1              for(i=m;i<n;i++)
 154   1              {
 155   2                      lcd_set_colume(i);
 156   2                      lcd_send_data(0x00);
 157   2              }
 158   1              lcd_set_page(page+1);
 159   1              for(i=m;i<n;i++)
 160   1              {
 161   2                      lcd_set_colume(i);
 162   2                      lcd_send_data(0x00);
 163   2              }
 164   1      }
 165          //----------------------------------------------------
 166          //发送命令
 167          //----------------------------------------------------
 168          void lcd_send_cmd(uchar dat)
 169          {
 170   1              uchar i;
 171   1              LCD_CS=0;                               //片选选通
 172   1              LCD_A0=0;                               //选择发送命令
 173   1              LCD_SCK=1;
 174   1              for(i=0;i<8;i++)
 175   1              {
 176   2                      dat<<=1;                                //将要发送位送人CY寄存器
 177   2                      LCD_DA=CY;                      //发送CY中字节
 178   2                      LCD_SCK=0;
 179   2                      delay(10);

⌨️ 快捷键说明

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