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

📄 lcd1602.lst

📁 keil c 文件 @@##%%…… &……源代码程序
💻 LST
字号:
C51 COMPILER V7.06   LCD1602                                                               10/04/2008 23:30:33 PAGE 1   


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

stmt level    source

   1          #include <reg51.h>
   2          #include <string.h>
   3          #include <intrins.h>
   4          #include <stdio.h>
   5          #include "base.h"
   6          
   7          sbit RS=P3^0;
   8          sbit RW=P3^1;
   9          sbit E=P3^2;
  10          sbit f=P3^3;
  11          sbit busy=P2^7;
  12          #define LCD_DATA_PORT P2
  13          
  14          
  15          bit check()
  16          { 
  17   1        P2=0xff; 
  18   1        RS=0;
  19   1        RW=1;
  20   1      
  21   1        E=0;
  22   1        E=1;
  23   1        if (busy)
  24   1        {
  25   2         E=0;
  26   2        return 1;
  27   2        }
  28   1        else 
  29   1        {
  30   2          E=0;
  31   2        return 0;
  32   2        }
  33   1      }
  34          
  35          void write_cmd(uchar cmd)
  36          {
  37   1         while (check());
  38   1         RS=0;
  39   1         RW=0;
  40   1         E=0;
  41   1         LCD_DATA_PORT=cmd;
  42   1         E=1;
  43   1         E=0;
  44   1      }
  45          
  46          void write_data(uchar d)
  47          {
  48   1         while (check());
  49   1         RS=1;
  50   1         RW=0;
  51   1         E=0;
  52   1         LCD_DATA_PORT=d;
  53   1         E=1;
  54   1      //   delay_ms(1);
  55   1      
C51 COMPILER V7.06   LCD1602                                                               10/04/2008 23:30:33 PAGE 2   

  56   1         E=0; 
  57   1      }
  58          
  59          
  60          void lcd_init()
  61          {
  62   1      
  63   1        write_cmd(0x38);
  64   1        write_cmd(0x0c);
  65   1        write_cmd(0x06);
  66   1      
  67   1      }
  68          
  69          void lcd_clear()
  70          {
  71   1        write_cmd(0x01);
  72   1      }
  73          void lcd_display(uchar c ,uchar x, uchar y)
  74          {
  75   1         write_cmd(0x80+0x40*y+x);
  76   1         write_data(c);
  77   1      }
  78          
  79          void lcd_display_s(char * str, uchar x, uchar y)
  80          {
  81   1        uchar i;
  82   1        write_cmd(0x80+0x40*y+x);
  83   1        for (i=0;i<strlen(str);i++)
  84   1           write_data(str[i]);
  85   1      }
  86          
  87          void lcd_display_num(int n , uchar x ,uchar y)
  88          
  89          {char str[16];
  90   1        
  91   1        sprintf(str,"%d",n);
  92   1        lcd_display_s(str,x,y);
  93   1         
  94   1      }
  95          
  96          
  97          /*
  98          void main()
  99          {
 100            f=1;
 101            lcd_init();
 102          
 103            lcd_display_s("abc",0,0);
 104            lcd_display_num(213,0,1);
 105            while(1);
 106          
 107          }
 108          
 109          */


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    197    ----
   CONSTANT SIZE    =      3    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      24
C51 COMPILER V7.06   LCD1602                                                               10/04/2008 23:30:33 PAGE 3   

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