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

📄 lcd.lst

📁 这是keic环境下编写的C语言源程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.50   LCD                                                                   10/17/2005 10:28:55 PAGE 1   


C51 COMPILER V7.50, 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          /*********************************************************************************************************
   2          **                                                           320240ALCD控制
   3          **
   4          **
   5          **--------------当前版本信息----------------------------------------------------------------------------
   6          ** 文件名: lcd.c
   7          ** 创建人: 刘明宇
   8          ** 日 期: 2005年10月11日
   9          ** 描 述: LCD320240A控制的主文件
  10          ** 硬件连接
  11          ** 51           lcd
  12          ** P0~7-------->D0~7
  13          ** P2.7-------->cs
  14          ** P2.6-------->A0
  15          ** P1.0-------->Res
  16          ** wr  -------->wr
  17          ** rd  -------->rd
  18          **
  19          **--------------历史版本信息----------------------------------------------------------------------------
  20          ** 无
  21          **------------------------------------------------------------------------------------------------------
  22          ** 修改人:
  23          ** 日 期:
  24          ** 描 述:
  25          **
  26          **------------------------------------------------------------------------------------------------------
  27          ********************************************************************************************************/
  28          
  29          #include <REG52.H>
  30          #include <stdio.h>
  31          #include <INTRINS.H>
  32          #include <ABSACC.H>
  33          #include "lcd.h"
  34          #include "disdata.h"
  35          
  36          
  37          
  38          
  39          
  40          /*LCD initial parameters*/
  41          /*
  42                  在下面的数据里面,第四个0x27对应是显示的横向范围,8位除去
  43          -------------------240128的SYSTEM SET 参数-------------------------------
  44          unsigned char SYSTAB[8]={0x30,0x87,0x09,0x1d,0x64,0xa0,0x1e,0x00};
  45          
  46          unsigned char SCRTAB[10]={0x00,0x00,0xa0,0x00,0x00,0xa0,0x00,0x80,0x00,0x00};
  47          
  48          Uchar code ParaSysTable8[]= {
  49                                       0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00                            // P1-P8参数
  50                          };
  51          */
  52          BYTE code SYSTAB[8]={0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00};
  53          //BYTE code SYSTAB[8]={0x30,0x87,0x07,0x27,0x42,0xf0,0x28,0x00};
  54          BYTE code SCRTAB[10]={0x00,0x00,0xf0,0x00,0x40,0xf0,0x00,0x80,0x00,0x00};
  55          
C51 COMPILER V7.50   LCD                                                                   10/17/2005 10:28:55 PAGE 2   

  56          /****************************************************************************
  57          * 名称:main
  58          * 功能:主函数
  59          * 入口参数:无
  60          * 出口参数:无
  61          ****************************************************************************/
  62          void main(void)
  63          {
  64   1              BYTE i;
  65   1              serial_init();
  66   1              Lcd_res=0;
  67   1              Lcd_res=1;
  68   1              test_serial();
  69   1      
  70   1              INITLCD();
  71   1              CLRSCREEN();
  72   1              FULLSCREEN();
  73   1              while(1)
  74   1              {
  75   2                      sam1();
  76   2                      delaylong(50000);
  77   2                      CLRSCREEN();
  78   2                      delaylong(10000);
  79   2                      FULLSCREEN();
  80   2                      delaylong(10000);
  81   2              }
  82   1              
  83   1      }
*** WARNING C280 IN LINE 64 OF LCD.C: 'i': unreferenced local variable
  84          
  85          
  86          /*************************SBUROUTINES OF LCD DRIVE**************************/
  87          
  88          /****************************************************************************
  89          * 名称:WLCDCOM
  90          * 功能:写LCD控制命令
  91          * 入口参数:com
  92          * 出口参数:无
  93          ****************************************************************************/
  94          void WLCDCOM(BYTE com ) 
  95          //写LCD控制命令
  96          {
  97   1              SEDWRCOM=com;
  98   1              _nop_();
  99   1      }
 100          
 101          /****************************************************************************
 102          * 名称:WLCDDATA
 103          * 功能:写LCD控制参数和显示字符数据
 104          * 入口参数:ref
 105          * 出口参数:无
 106          ****************************************************************************/
 107          void WLCDDATA(BYTE ref ) 
 108          //写LCD控制参数和显示字符数据
 109          {
 110   1              SEDWRDAT=ref;
 111   1              _nop_();
 112   1      }
 113          
 114          /****************************************************************************
 115          * 名称:CLRVRAM
 116          * 功能:显示存储器清零
C51 COMPILER V7.50   LCD                                                                   10/17/2005 10:28:55 PAGE 3   

 117          * 入口参数:无
 118          * 出口参数:无
 119          ****************************************************************************/
 120          void CLRVRAM(void) 
 121          //显示存储器清零
 122          {
 123   1              WORD i,j;
 124   1              WLCDCOM(CSRRGT);
 125   1              WLCDCOM(CSRW);
 126   1              WLCDDATA(0x00);
 127   1              WLCDDATA(0x00);
 128   1              WLCDCOM(MWRITE);
 129   1              for(i=0;i<=0xff;i++)
 130   1              {
 131   2                      for(j=0;j<=0xff;j++)
 132   2                      {
 133   3                              WLCDDATA(0x00);
 134   3                      }
 135   2              }
 136   1      }
 137          
 138          /****************************************************************************
 139          * 名称:CLRSCREEN
 140          * 功能:清除显示屏幕
 141          * 入口参数:无
 142          * 出口参数:无
 143          ****************************************************************************/
 144          void CLRSCREEN(void)
 145          //清除显示屏幕
 146          {
 147   1              WORD i,j;
 148   1              //BYTE a;
 149   1              WLCDCOM(CSRRGT);
 150   1              WLCDCOM(CSRW);
 151   1              WLCDDATA(0X00);
 152   1              WLCDDATA(0X00);
 153   1              WLCDCOM(MWRITE);
 154   1              /*
 155   1              for(i=0;i<0xa0;i++)
 156   1              {
 157   1                      for(j=0;j<0x1e0;j++)
 158   1                      {
 159   1                              WLCDDATA(0x00);
 160   1                      }
 161   1              }*/
 162   1              for(i=0;i<9600;i++)
 163   1              {
 164   2                      WLCDDATA(0x00);
 165   2              }
 166   1      }
*** WARNING C280 IN LINE 147 OF LCD.C: 'j': unreferenced local variable
 167          
 168          /****************************************************************************
 169          * 名称:WNUMBER
 170          * 功能:显示0~9等10个数字
 171          * 入口参数:...
 172          * 出口参数:无
 173          ****************************************************************************/
 174          void WNUMBER(BYTE x,BYTE y,BYTE (*p)[16],BYTE num )
 175          //功能:显示0~9等10个数字,num为要显示的数字的值(16×8)
 176          //x坐标寄存器(字节),y坐标寄存器(点行)
 177          { 
C51 COMPILER V7.50   LCD                                                                   10/17/2005 10:28:55 PAGE 4   

 178   1              WORD temp; 
 179   1              BYTE hi,lo;
 180   1              BYTE a,b,c;
 181   1              temp=y*AP;
 182   1              hi=HIBYTE(temp);
 183   1              lo=LOBYTE(temp);
 184   1              lo=x+lo;
 185   1              if(CY==1) {hi+=0x01;CY=0;}
 186   1              
 187   1              WLCDCOM(CSRDOWN);
 188   1              WLCDCOM(CSRW);
 189   1              WLCDDATA(lo);
 190   1              WLCDDATA(hi);
 191   1              WLCDCOM(MWRITE);
 192   1              for(c=0;c<16;c++)
 193   1              {
 194   2                      WLCDDATA(*(*(p+num)+c));
 195   2              }
 196   1              lo=lo+0x01;
 197   1              if(CY==1) {hi+=0x01;CY=0;}
 198   1      }
*** WARNING C280 IN LINE 180 OF LCD.C: 'a': unreferenced local variable
*** WARNING C280 IN LINE 180 OF LCD.C: 'b': unreferenced local variable
 199          
 200          /****************************************************************************
 201          * 名称:WBLOCK
 202          * 功能:显示16×8点字符
 203          * 入口参数:...
 204          * 出口参数:无
 205          ****************************************************************************/
 206          void WBLOCK(BYTE x,BYTE y,BYTE (*p)[16],BYTE num )
 207          //功能:显示16×8点字符,num为要显示的字符块长度
 208          //x坐标为低8位寄存器(字节),y坐标寄存器(点行)
 209          { 
 210   1              WORD temp;
 211   1              BYTE hi,lo;
 212   1              BYTE a,b,c;
 213   1              temp=y*AP;
 214   1              hi=HIBYTE(temp);
 215   1              lo=LOBYTE(temp);
 216   1              lo=x+lo;
 217   1              if(CY==1) {hi+=0x01;CY=0;}
 218   1              
 219   1              WLCDCOM(CSRDOWN);
 220   1              WLCDCOM(CSRW);
 221   1              WLCDDATA(lo);
 222   1              WLCDDATA(hi);
 223   1              WLCDCOM(MWRITE);
 224   1              for(c=0;c<16;c++)
 225   1              {
 226   2                      WLCDDATA(*(*(p+num-1)+c));
 227   2              }
 228   1              lo=lo+0x01;

⌨️ 快捷键说明

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