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

📄 lcd1.lst

📁 单片机通过DA对信号采样
💻 LST
字号:
C51 COMPILER V7.06   LCD1                                                                  08/19/2005 09:01:53 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE LCD1
OBJECT MODULE PLACED IN lcd1.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE lcd1.c BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          #include"lcd.h"
   2          //#included"include.h"
   3          //RS  (CS)      O       H: Data    L: Instruction Code
   4          //R/W (SID)     O       H: Read    L: Write
   5          
   6          
   7          //sbit EN=P2^2;
   8          //extern void disp_graphic(unsigned int ru_kou);void lcd_init();
   9          
  10          void delay20us(void)
  11          {
  12   1              unchar n;
  13   1              for(n=0;n<15;n++);
  14   1      }
  15          
  16          void delay15ms(void)
  17          {
  18   1              unint n;
  19   1              for(n=0;n<4800;n++);
  20   1      }
  21          
  22          void delay125us(void)
  23          {
  24   1              unchar n;
  25   1              for(n=0;n<100;n++);
  26   1      }
  27          
  28          //EN下降沿写入数据
  29          void lcd_write_command(unchar c)  //向LCD模块的命令寄存器写一个字节c。
  30          {       
  31   1              RS=0;
  32   1              RW=0;
  33   1              EN=0;
  34   1              delay20us();
  35   1              EN=1;
  36   1              delay20us();
  37   1              LCDDATA=c;
  38   1              delay20us();
  39   1              EN=0;
  40   1              delay20us();
  41   1      } 
  42          
  43          void lcd_write_data(unchar ddata) //向LCD模块的字符发生器或显存写一个字节data。      
  44          {      
  45   1          RS=1;
  46   1              RW=0;  
  47   1              EN=0;
  48   1              delay20us();
  49   1          EN=1;
  50   1          delay20us();     
  51   1          LCDDATA=ddata;  
  52   1          delay20us();
  53   1              EN=0;   
  54   1              delay20us();
  55   1              RS=0;
C51 COMPILER V7.06   LCD1                                                                  08/19/2005 09:01:53 PAGE 2   

  56   1      }
  57          void lcd_init()              //初始化LCD模块。
  58          {         
  59   1              lcd_write_command(0x30); //基本命令集
  60   1          delay125us();
  61   1              lcd_write_command(0x0c); //整体开显示,游标关闭
  62   1              delay125us();
  63   1              lcd_write_command(0x01); //清除显示
  64   1              delay15ms();
  65   1              lcd_write_command(0x06); //游标方向设定
  66   1              delay125us();
  67   1      }   
  68          void lcd_clear()
  69          {
  70   1        lcd_write_command(0x01);
  71   1        delay125us();
  72   1        delay125us();
  73   1        delay125us();
  74   1      }  
  75          
  76          void lcd_write_sentence(unchar row,unchar col,unchar *string)
  77          {
  78   1        unchar i=0;
  79   1        //lcd_clear();
  80   1        switch(row)
  81   1        {
  82   2          case 1:
  83   2               lcd_write_command(0x80+col);
  84   2               delay125us();
  85   2               break;
  86   2              case 2:
  87   2               lcd_write_command(0x90+col);
  88   2               delay125us();
  89   2               break;
  90   2          case 3:
  91   2               lcd_write_command(0x88+col);
  92   2               delay125us();
  93   2               break;
  94   2              case 4:
  95   2               lcd_write_command(0x98+col);
  96   2               delay125us();
  97   2               break;
  98   2               default: 
  99   2               lcd_write_command(0x80);
 100   2               delay125us();
 101   2               break;
 102   2         }
 103   1        while(string[i])
 104   1        { 
 105   2          lcd_write_data(string[i]);
 106   2          delay125us();
 107   2              i++;
 108   2        }
 109   1      }
 110          void lcd_write_passage(unchar *string)
 111          {
 112   1        unchar i=0;
 113   1        lcd_clear();
 114   1        lcd_write_command(0x80);
 115   1        while(string[i])
 116   1        { 
 117   2          switch(i)
C51 COMPILER V7.06   LCD1                                                                  08/19/2005 09:01:53 PAGE 3   

 118   2         {
 119   3          case 16:
 120   3          lcd_write_command(0x90);
 121   3          break;
 122   3          case 32:
 123   3          lcd_write_command(0x88);
 124   3          break;
 125   3          case 48:
 126   3          lcd_write_command(0x98);
 127   3          break;
 128   3          //default:
 129   3          //break;
 130   3          }
 131   2          lcd_write_data(string[i]);
 132   2          delay125us();
 133   2              i++;
 134   2        }
 135   1      }
 136          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    275    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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