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

📄 lcd1.lst

📁 maxim的AD191的AD采样控制程序
💻 LST
字号:
C51 COMPILER V7.09   LCD1                         08/11/2005 12:18:21 PAGE 1   


C51 COMPILER V7.09, COMPILATION OF MODULE LCD1
OBJECT MODULE PLACED IN lcd1.OBJ
COMPILER INVOKED BY: c:\Keil\C51\BIN\C51.EXE lcd1.c DEBUG OBJECTEXTEND PAGEWIDT
                    -H(79) PAGELENGTH(66)

line level    source

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

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

 119          {
 120   1        unchar i=0;
 121   1        lcd_clear();
 122   1        lcd_write_command(0x80);
 123   1        while(string[i])
 124   1        { 
 125   2          switch(i)
 126   2         {
 127   3          case 16:
 128   3          lcd_write_command(0x90);
 129   3          break;
 130   3          case 32:
 131   3          lcd_write_command(0x88);
 132   3          break;
 133   3          case 48:
 134   3          lcd_write_command(0x98);
 135   3          break;
 136   3          //default:
 137   3          //break;
 138   3          }
 139   2          lcd_write_data(string[i]);
 140   2          delay125us();
 141   2              i++;
 142   2        }
 143   1      }
 144          


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 + -