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

📄 lcd.lst

📁 在单片机控制的液晶屏上显示汉字
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.02b   LCD                                                                  04/27/2007 09:49:01 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\output\lcd.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE lcd.c LARGE BROWSE DEBUG OBJECTEXTEND OBJECT(.\output\lcd.obj)

stmt level    source

   1          /************************************************************************************
   2          *  Copyright (c) 2004,西安铭朗电子科技有限责任公司
   3          *            All rights reserved.
   4          *
   5          * 文件名称: lcd.c
   6          * 文件标识: none
   7          * 适用器件: c8051f120
   8          * 
   9          * 摘 要: 本文件是LCD显示子程序;使用外部22.1184MHz晶振;
  10          * 
  11          * 当前版本:1.2
  12          * 作 者:李林利
  13          * 完成日期:2005年6月19日
  14          * 
  15          * 当前版本:1.0
  16          * 作 者:卢 阳
  17          * 完成日期:2004年11月14日
  18          *
  19          * 历史版本:0.9 
  20          * 原作者 : 李林利
  21          * 完成日期:2004年1月1日
  22          *************************************************************************************/
  23          
  24          /************************************************************************************/
  25          // 引用外部头文件
  26          
  27          #include "c8051f120.h"  
  28          #include "Const.h" 
  29          #include <INTRINS.H>
  30          #include "lcd.h"
  31          #include <math.h>
  32          
  33          /************************************************************************************/
  34          // 全局变量
  35          /************************************************************************************/
  36          
  37          unsigned char col,row,cbyte;                    /*列x,行(页)y,输出数据*/
  38          bit xy;                                                 /*画线方向标志:1水平*/
  39          unsigned int xdata addr;
  40          unsigned char xdata *tp;
  41          unsigned char xdata et;
  42          
  43          /*--  文字:  铭  --*/
  44          /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
  45          C_BYTE  WLib_ming_32x32[]={
  46          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xF8,0xF8,0x78,0x00,0x00,0x00,0x00,
  47          0x00,0x00,0x00,0x80,0xC0,0xFC,0x78,0x38,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,
  48          0x00,0x00,0x00,0x80,0xC0,0xF0,0xF8,0xDE,0xCF,0xC7,0x66,0x66,0x66,0x67,0x02,0x30,
  49          0x38,0x3C,0x7E,0xE7,0xC3,0xC3,0xE3,0xF3,0x7F,0x1F,0x0F,0x07,0x02,0x00,0x00,0x00,
  50          0x00,0x06,0x03,0x11,0x10,0x18,0x18,0x18,0xFF,0xFF,0x1F,0x0C,0x4C,0x6C,0x64,0x30,
  51          0x38,0xFC,0xFC,0x3F,0x37,0x33,0x31,0x30,0x18,0x18,0xF8,0xF8,0x70,0x30,0x00,0x00,
  52          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x3F,0x3F,0x1E,0x0E,0x07,0x03,0x01,0x00,
  53          0x00,0x0F,0x3F,0x1C,0x0C,0x0C,0x0C,0x06,0x06,0x07,0x07,0x07,0x00,0x00,0x00,0x00,
  54          0x54,0x2B,0xDC,0x00,0x54,0x2B,0xDC,0x00,0x20,0x00,0x00,0x00,0x32,0x30,0x30,0x34,
  55          0x2D,0x39,0x2D,0x31,0x30,0x20,0x31,0x36,0x3A,0x34,0x36,0x3A,0x20,0x00,0x00,0x00
C51 COMPILER V7.02b   LCD                                                                  04/27/2007 09:49:01 PAGE 2   

  56          };
  57          /*--  文字:  朗  --*/
  58          /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
  59          /*--  宽度不是8的倍数,现调整为:宽度x高度=39x33  --*/
  60          C_BYTE  WLib_lang_32x32[]={
  61          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x18,0x38,0xF8,0xB0,0x00,0x00,
  62          0x00,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
  63          0x00,0x00,0x00,0x00,0x00,0x06,0xFE,0xFE,0x36,0x32,0x33,0x33,0xC3,0xFF,0xFF,0x07,
  64          0x00,0x01,0xFF,0xFF,0x61,0x61,0x61,0x21,0x01,0xFF,0xFF,0x01,0x00,0x00,0x00,0x00,
  65          0x00,0x00,0x00,0x00,0x00,0xC0,0xFF,0xFF,0xC3,0xC3,0xE3,0x6B,0x3B,0x7B,0x70,0x00,
  66          0xC0,0xF8,0x7F,0x0F,0x0C,0x0C,0x0C,0x04,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,
  67          0x00,0x00,0x00,0x00,0x07,0x0F,0x07,0x03,0x01,0x00,0x20,0x20,0x30,0x18,0x0C,0x0F,
  68          0x07,0x01,0x00,0x00,0x00,0x04,0x0C,0x1C,0x7C,0x7F,0x1F,0x00,0x00,0x00,0x00,0x00,
  69          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  70          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  71          };
  72          /*--  文字:  科  --*/
  73          /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
  74          /*--  宽度不是8的倍数,现调整为:宽度x高度=39x33  --*/
  75          C_BYTE  WLib_ke_32x32[]={
  76          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0x70,0x78,0x70,0x20,
  77          0x00,0x00,0x00,0x00,0x00,0x04,0x7C,0xFC,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  78          0x00,0x40,0xC0,0xE0,0xE0,0xE1,0x61,0x61,0xF1,0xF0,0xFF,0xFF,0xB8,0x98,0x98,0x18,
  79          0x00,0x11,0x33,0x73,0x67,0x02,0x00,0xFF,0xFF,0x00,0x00,0x80,0x80,0x80,0x80,0x00,
  80          0x00,0x80,0xC0,0x60,0x70,0x38,0x1C,0x0F,0x07,0x83,0xFF,0xFF,0x01,0x03,0x03,0x0C,
  81          0x0C,0x0C,0x0E,0x06,0x06,0x06,0x06,0xFF,0xFF,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
  82          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x03,0x00,0x00,0x00,0x00,
  83          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  84          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  85          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  86          };
  87          
  88          /*--  文字:  技  --*/
  89          /*--  楷体_GB231224;  此字体下对应的点阵为:宽x高=32x33   --*/
  90          /*--  宽度不是8的倍数,现调整为:宽度x高度=39x33  --*/
  91          C_BYTE  WLib_ji_32x32[]={
  92          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0xFC,0xFC,0x18,0x00,0x00,0x00,0x00,0x00,
  93          0x00,0x00,0x8C,0xFC,0xFC,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  94          0x00,0x00,0x10,0x18,0x18,0x18,0x18,0x18,0xFF,0xFF,0x8C,0x8C,0x0C,0x00,0x0C,0x0C,
  95          0x0C,0x8C,0xFF,0xFF,0x87,0xC7,0xC7,0xC3,0x83,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
  96          0x30,0x70,0x70,0x70,0x38,0x1C,0x0C,0x0E,0xFF,0xFF,0x01,0x00,0x00,0x01,0x0F,0x0F,
  97          0x1B,0xB1,0xF1,0xF1,0xFD,0xDF,0x8F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  98          0x00,0x00,0x00,0x00,0x04,0x0C,0x1C,0x3E,0x3F,0x0F,0x00,0x08,0x0C,0x0C,0x06,0x06,
  99          0x03,0x03,0x01,0x00,0x00,0x01,0x03,0x07,0x0F,0x1E,0x1E,0x1C,0x1C,0x1C,0x18,0x08,
 100          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
 101          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 102          };
 103          
 104          /*--  文字:  W  --*/
 105          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=10x8   --*/
 106          C_BYTE  WLib_W_10x8[]={
 107          0x02,0x0e,0x70,0xc2,0x3e,0x32,0xc0,0x72,0x0e,0x02
 108          };
 109          /*--  文字:  M  --*/
 110          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=9x8   --*/
 111          C_BYTE  WLib_M_9x8[]={
 112          0x82,0xfe,0x8e,0x70,0x80,0x70,0x8e,0xfe,0x82
 113          };
 114          /*--  文字:  L  --*/
 115          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=6x8   --*/
 116          C_BYTE  WLib_L_6x8[]={
 117          0x82,0xfe,0x82,0x80,0xc0,0x00
C51 COMPILER V7.02b   LCD                                                                  04/27/2007 09:49:01 PAGE 3   

 118          };
 119          /*--  文字:  A  --*/
 120          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=7x8   --*/
 121          C_BYTE  WLib_A_7x8[]={
 122          0x80,0xe0,0xbc,0x22,0x3c,0xe0,0x80
 123          };
 124          /*--  文字:  R  --*/
 125          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=7x8   --*/
 126          C_BYTE  WLib_R_7x8[]={
 127          
 128          0x82,0xFe,0x92,0x32,0x52,0x8c,0x80
 129          };
 130          /*--  文字:  C  --*/
 131          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=7x8   --*/
 132          C_BYTE  WLib_C_7x8[]={
 133          0x00,0x7c,0x82,0x82,0x84,0x46,0x00
 134          };
 135          /*--  文字:  O  --*/
 136          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=7x8   --*/
 137          C_BYTE  WLib_O_7x8[]={
 138          0x00,0x7c,0x82,0x82,0x82,0x7c,0x00
 139          };
 140          /*--  文字:  .  --*/
 141          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=4x8   --*/
 142          C_BYTE  WLib_dot_4x8[]={
 143          0x00,0xc0,0xc0,0x00
 144          };
 145          /*--  文字:  T  --*/
 146          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 147          C_BYTE  WLib_T_6x8[]={
 148          0x00,0x06,0x82,0xfe,0x82,0x06
 149          };
 150          /*--  文字:  e  --*/
 151          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 152          C_BYTE  WLib_e_5x8[]={
 153          0x00,0x70,0xa8,0xa8,0xb0
 154          };
 155          /*--  文字:  l  --*/
 156          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 157          C_BYTE  WLib_l_4x8[]={
 158          0x00,0x82,0xfe,0x80
 159          };
 160          /*--  文字:  :  --*/
 161          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 162          C_BYTE  WLib_ddot_3x8[]={
 163          0x00,0x6c,0x6c
 164          };
 165          /*--  文字:  -  --*/
 166          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 167          C_BYTE  WLib_line_6x8[]={
 168          0x00,0x10,0x10,0x10,0x10,0x10
 169          };
 170          /*--  文字:  1  --*/
 171          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=4x8   --*/
 172          C_BYTE  WLib_1_4x8[]={
 173          0x00,0x84,0xFe,0x80
 174          };
 175          
 176          /*--  文字:  2  --*/
 177          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 178          C_BYTE  WLib_2_5x8[]={
 179          0x00,0xc4,0xa2,0x92,0x8c
C51 COMPILER V7.02b   LCD                                                                  04/27/2007 09:49:01 PAGE 4   

 180          };
 181          
 182          /*--  文字:  3  --*/
 183          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 184          C_BYTE  WLib_3_5x8[]={
 185          0x00,0x44,0x92,0x92,0x6c
 186          };
 187          
 188          /*--  文字:  4  --*/
 189          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=6x8   --*/
 190          C_BYTE  WLib_4_6x8[]={
 191          0x00,0x30,0x28,0x24,0xfe,0x20
 192          };
 193          
 194          /*--  文字:  5  --*/
 195          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 196          C_BYTE  WLib_5_5x8[]={
 197          0x00,0x4e,0x8a,0x8a,0x72
 198          };
 199          
 200          /*--  文字:  6  --*/
 201          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=6x8   --*/
 202          C_BYTE  WLib_6_5x8[]={
 203          0x00,0x7c,0x92,0x92,0x60
 204          };
 205          
 206          /*--  文字:  7  --*/
 207          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 208          C_BYTE  WLib_7_5x8[]={
 209          0x00,0x02,0xf2,0x0a,0x06
 210          };
 211          
 212          /*--  文字:  8  --*/
 213          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 214          C_BYTE  WLib_8_5x8[]={
 215          0x00,0x6c,0x92,0x92,0x6c
 216          };
 217          
 218          /*--  文字:  9  --*/
 219          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 220          C_BYTE  WLib_9_5x8[]={
 221          0x00,0x0c,0x92,0x92,0x7c
 222          };
 223          
 224          /*--  文字:  0  --*/
 225          /*--  Times New Roman8;  此字体下对应的点阵为:宽x高=5x8   --*/
 226          C_BYTE  WLib_0_5x8[]={
 227          0x00,0x7c,0x82,0x82,0x7c
 228          };
 229          
 230          /***********************************************************************************
 231          * 函数名称:lcd_init;
 232          *
 233          * 函数功能描述:lcd_init;
 234          *              
 235          * 输入参数:none;
 236          *
 237          * 返回数据:none;
 238          *
 239          * 注意:    none;
 240          ************************************************************************************/
 241          
C51 COMPILER V7.02b   LCD                                                                  04/27/2007 09:49:01 PAGE 5   

 242          void lcd_init(void)                                           
 243            {
 244   1      
 245   1              DISABLE_INTERRUPTS;
 246   1              addr=0x980c;
 247   1      
 248   1              lcd_wrct(0xc0);
 249   1              lcd_wrct(0x40);         // COLOUM ADDRESS
 250   1              lcd_wrct(0xb8);         // ROW ADDRESS
 251   1              lcd_wrct(0x3f);
 252   1      
 253   1              ENABLE_INTERRUPTS;  
 254   1       }
 255          
 256          /***********************************************************************************
 257          * 函数名称:dis_start0;
 258          *
 259          * 函数功能描述:显示开机界面"铭朗科技www.mlarm.com"及电话;
 260          *              
 261          * 输入参数:none;
 262          *
 263          * 返回数据:none;
 264          *
 265          * 注意:    none;
 266          ************************************************************************************/
 267          
 268          void  dis_start0(void)
 269          {
 270   1              LCD_Disp_Word(0,32,WLib_ming_32x32,4,32);
 271   1              LCD_Disp_Word(32,32,WLib_lang_32x32,4,32);
 272   1              LCD_Disp_Word(64,32,WLib_ke_32x32,4,32);
 273   1              LCD_Disp_Word(96,32,WLib_ji_32x32,4,32);
 274   1      
 275   1              LCD_Disp_Word(8,16,WLib_W_10x8,1,10);
 276   1              LCD_Disp_Word(19,16,WLib_W_10x8,1,10);
 277   1              LCD_Disp_Word(30,16,WLib_W_10x8,1,10);
 278   1              LCD_Disp_Word(41,16,WLib_dot_4x8,1,4);
 279   1              LCD_Disp_Word(46,16,WLib_M_9x8,1,9);
 280   1              LCD_Disp_Word(57,16,WLib_L_6x8,1,6);
 281   1              LCD_Disp_Word(63,16,WLib_A_7x8,1,7);
 282   1              LCD_Disp_Word(71,16,WLib_R_7x8,1,7);
 283   1              LCD_Disp_Word(79,16,WLib_M_9x8,1,9);
 284   1              LCD_Disp_Word(90,16,WLib_dot_4x8,1,4);
 285   1              LCD_Disp_Word(94,16,WLib_C_7x8,1,7);
 286   1              LCD_Disp_Word(102,16,WLib_O_7x8,1,7);
 287   1          LCD_Disp_Word(110,16,WLib_M_9x8,1,9);
 288   1      
 289   1              LCD_Disp_Word(11,2,WLib_T_6x8,1,6);
 290   1              LCD_Disp_Word(17,2,WLib_e_5x8,1,5);
 291   1              LCD_Disp_Word(22,2,WLib_l_4x8,1,4);
 292   1              LCD_Disp_Word(27,2,WLib_ddot_3x8,1,3);
 293   1      
 294   1              LCD_Disp_Word(34,2,WLib_0_5x8,1,5);
 295   1              LCD_Disp_Word(39,2,WLib_2_5x8,1,5);
 296   1              LCD_Disp_Word(44,2,WLib_9_5x8,1,5);
 297   1              LCD_Disp_Word(49,2,WLib_line_6x8,1,6);
 298   1              LCD_Disp_Word(55,2,WLib_8_5x8,1,5);
 299   1              LCD_Disp_Word(60,2,WLib_8_5x8,1,5);
 300   1              LCD_Disp_Word(65,2,WLib_2_5x8,1,5);

⌨️ 快捷键说明

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