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

📄 lcd.lst

📁 一个以前开发的实际应用的交通灯控制器程序
💻 LST
字号:
C51 COMPILER V7.50   LCD                                                                   04/03/2007 10:38:50 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN Lcd.obj
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE IIC[Ultral]\Lcd.c BROWSE DEBUG OBJECTEXTEND PRINT(.\Lcd.lst) OBJECT(Lcd.obj
                    -)

line level    source

   1          #include "iic.h"
   2          
   3          #define EN()    {P2=0xa0;}
   4          #define DisEN() {P2=0xf0;}
   5          unsigned char code Line[4]={0x80,0x90,0x88,0x98};
   6          
   7          //////////////
   8          void DelayS()
   9          {
  10   1         unsigned char xdata i;
  11   1               i = 200;         //1f
  12   1               while(i--);
  13   1      }
  14          
  15          void WriteCmd(unsigned char ch)
  16          {
  17   1           DelayS();
  18   1           //EN = 0;
  19   1               DisEN();
  20   1           LCD_RS = 0;
  21   1           LCD_RW = 0;
  22   1           _nop_(); 
  23   1               _nop_();
  24   1           //EN = 1;
  25   1               EN();
  26   1           P0 = ch;
  27   1               _nop_();
  28   1               _nop_();
  29   1               _nop_();
  30   1           //EN = 0;
  31   1               DisEN();
  32   1      }
  33          
  34          void WriteData(unsigned char dat)
  35          {
  36   1           DelayS();
  37   1           //EN = 0;
  38   1               DisEN();
  39   1           LCD_RS = 1;
  40   1           LCD_RW = 0;
  41   1           _nop_();
  42   1               _nop_();
  43   1           //EN = 1;
  44   1               EN();
  45   1           P0 = dat;
  46   1               _nop_();
  47   1               _nop_();
  48   1               _nop_();
  49   1           //EN = 0;
  50   1               DisEN();
  51   1           LCD_RS = 0;
  52   1      }
  53          
  54          void LcdInit()
C51 COMPILER V7.50   LCD                                                                   04/03/2007 10:38:50 PAGE 2   

  55          {     
  56   1              if(LcdRE==1)
  57   1              {//扩展指令集状态,先退出睡眠状态
  58   2                      WriteCmd(0x0c);//退出睡眠模式
  59   2                      WriteCmd(0x30);//基本指令集
  60   2                      LcdRE=0;
  61   2              }
  62   1              WriteCmd(0x0C);//显示on,游标、反白oFF
  63   1              WriteCmd(0x01);//清除显示
  64   1              WriteCmd(0x02);//地址归位
  65   1              WriteCmd(0x80);
  66   1      }
  67          
  68          void LcdCN(unsigned char x,unsigned char y,const char datH,const unsigned char datL)
  69          {//汉字显示
  70   1              x=Line[x];
  71   1              x+=y;
  72   1              WriteCmd(x);//1xxx,xxxx 设定DDRAM 7位地址xxx,xxxx到地址计数器AC
  73   1              WriteData(datH);
  74   1              WriteData(datL);
  75   1      }
  76          
  77          void LcdCnString(unsigned char x,unsigned char y,const char Head[])
  78          {//汉字串
  79   1      //x:0-3,y:0-7
  80   1              unsigned char *ptr;
  81   1              ptr=Head;
  82   1              while(1)
  83   1              {
  84   2                      LcdCN(x,y,*ptr,*(ptr+1));
  85   2                      y+=1;
  86   2                      ptr=ptr+2;
  87   2                      if(*ptr == NULL)
  88   2                              break;
  89   2              }
  90   1      }
  91          
  92          void LcdChar(unsigned char x,unsigned char y,const char dat)
  93          {//英文显示
  94   1              //x:0-3,y:0-7
  95   1      /*      switch(x)
  96   1              {
  97   1                      case 0:
  98   1                              x=0x80;
  99   1                              break;
 100   1                      case 1:
 101   1                              x=0x90;
 102   1                              break;
 103   1                      case 2:
 104   1                              x=0x88;
 105   1                              break;
 106   1                      default:
 107   1                              x=0x98;
 108   1              }*/
 109   1              x=Line[x];
 110   1              x+=y;
 111   1              WriteCmd(x);//1xxx,xxxx 设定DDRAM 7位地址xxx,xxxx到地址计数器AC
 112   1              WriteData(dat);
 113   1      }
 114          
 115          void LcdAddChar(unsigned char dat)
 116          {
C51 COMPILER V7.50   LCD                                                                   04/03/2007 10:38:50 PAGE 3   

 117   1      //追加英文字母
 118   1              WriteData(dat);
 119   1      }
 120          
 121          void LcdCur(unsigned char x,unsigned char y)
 122          {
 123   1              //x:0~3,y:0~7
 124   1              x=Line[x];
 125   1              x=x+y;
 126   1              WriteCmd(x);//1xxx,xxxx 设定DDRAM 7位地址xxx,xxxx到地址计数器AC
 127   1              WriteCmd(0x0f);//开下标 
 128   1      }
 129          
 130          void LcdCurOff()
 131          {
 132   1              WriteCmd(0x0C);
 133   1      }
 134          
 135          void LcdPowerOn()
 136          {
 137   1              LcdPowerFlag=1;
*** ERROR C202 IN LINE 137 OF IIC[ULTRAL]\LCD.C: 'LcdPowerFlag': undefined identifier
 138   1      }
 139          
 140          void LcdPowerOff()
 141          {
 142   1              LcdPowerFlag=0;
*** ERROR C202 IN LINE 142 OF IIC[ULTRAL]\LCD.C: 'LcdPowerFlag': undefined identifier
 143   1      }

C51 COMPILATION COMPLETE.  0 WARNING(S),  2 ERROR(S)

⌨️ 快捷键说明

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