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

📄 lcd1602.lst

📁 LCD1602.rar
💻 LST
字号:
C51 COMPILER V6.12  LCD1602                                                                09/02/2007 09:25:09 PAGE 1   


C51 COMPILER V6.12, COMPILATION OF MODULE LCD1602
OBJECT MODULE PLACED IN LCD1602.OBJ
COMPILER INVOKED BY: E:\Keil\C51\BIN\C51.EXE LCD1602.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*---------------------------------------------------------------------
   2                                   LCD1602.C文件 LCD1602的函数  
   3            作者:Computer-lov     创建日期:2004.11.12    最后修改日期:2004.11.12
   4            版本:1.0
   5          ----------------------------------------------------------------------*/
   6          
   7          #include "hardware.h"
   8          #include "lcd1602.h"
   9          
  10          void LCD_check_busy(void)   //检测LCD状态,看它是不是还在忙呢
  11          {
  12   1       while(1)
  13   1        {
  14   2         LCD_EN=0;
  15   2         LCD_RS=0;
  16   2         LCD_RW=1;
  17   2         LCD_DATA=0xff;
  18   2         LCD_EN=1;
  19   2         if(!LCD_BUSY)break;
  20   2        }
  21   1       LCD_EN=0;
  22   1      }
  23          
  24          void LCD_cls(void)          //LCD清屏
  25          {
  26   1       
  27   1       LCD_check_busy();
  28   1       LCD_RS=0;
  29   1       LCD_RW=0;
  30   1       LCD_DATA=1;
  31   1       LCD_EN=1;
  32   1       LCD_EN=0;
  33   1       
  34   1      }
  35          
  36          void LCD_write_instruction(unsigned char LCD_instruction)   //写指令到LCD
  37          {
  38   1        LCD_check_busy();
  39   1       LCD_RS=0;
  40   1       LCD_RW=0;
  41   1       
  42   1       LCD_DATA=LCD_instruction;
  43   1       LCD_EN=1;
  44   1       LCD_EN=0;
  45   1       }
  46          
  47          void LCD_write_data(unsigned char LCD_data)      //输出一个字节数据到LCD
  48          {
  49   1        LCD_check_busy();
  50   1       LCD_RS=1;
  51   1       LCD_RW=0;
  52   1       
  53   1       LCD_DATA=LCD_data;
  54   1       LCD_EN=1;
  55   1       LCD_EN=0;
C51 COMPILER V6.12  LCD1602                                                                09/02/2007 09:25:09 PAGE 2   

  56   1       }
  57           
  58          void LCD_set_position(unsigned char x)            //LCD光标定位到x处
  59          {
  60   1       LCD_write_instruction(0x80+x);
  61   1      }
  62          
  63          /*
  64          void LCD_go_home(void)                         //LCD光标归位
  65          {
  66           LCD_write_instruction(LCD_GO_HOME);
  67          }
  68          */
  69          
  70          void LCD_printc(unsigned char lcd_data)          //输出一个字符到LCD
  71          {
  72   1       LCD_write_data(lcd_data);
  73   1      }
  74          
  75          void LCD_prints(unsigned char *lcd_string)       //输出一个字符串到LCD
  76          {
  77   1       unsigned char i=0;
  78   1       while(lcd_string[i]!=0x00)
  79   1        {
  80   2         LCD_write_data(lcd_string[i]);
  81   2         i++;
  82   2        } 
  83   1      }
  84          
  85          void LCD_initial(void)                        //初始化LCD
  86          {
  87   1       LCD_write_instruction(LCD_AC_AUTO_INCREMENT|LCD_MOVE_DISENABLE);
  88   1       LCD_write_instruction(LCD_DISPLAY_ON|LCD_CURSOR_OFF);
  89   1       LCD_write_instruction(LCD_DISPLAY_DOUBLE_LINE);
  90   1       LCD_cls();
  91   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    120    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       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 + -