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

📄 lcddriver.lst

📁 基于MODBUS协议的串口通信下位机软件的设计
💻 LST
字号:
C51 COMPILER V8.08   LCDDRIVER                                                             05/11/2008 16:41:25 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LCDDRIVER
OBJECT MODULE PLACED IN lcddriver.OBJ
COMPILER INVOKED BY: E:\软件\Keil\C51\BIN\C51.EXE lcddriver.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "c8051f330.h"
   2          
   3          #define LCD_DATA P1               //P1
   4          
   5          sbit RS=P0^0;                     //P3.4
   6          sbit RW=P0^2;                     //P3.5
   7          sbit EN=P0^3;                     //P3.7
   8          
   9          
  10          
  11          
  12          void Delay(unsigned int time)
  13          {
  14   1              while(time>0)
  15   1                      time--;
  16   1      }
  17          
  18          //不断检测LCD忙标志BF,直到其为0,表示可以执行下一条指令
  19          void WaitUntilReady(void)
  20          {
  21   1              RS=0; //所读为状态位
  22   1              RW=1; //设为读状态
  23   1              Delay(165);
  24   1              EN=1;
  25   1              Delay(165);
  26   1              LCD_DATA=0xff;
  27   1              while(LCD_DATA&0x80); //不断循环,直至BF=0
  28   1              Delay(165);
  29   1              EN=0;
  30   1      }
  31          
  32          void WriteCommand(unsigned char Command , unsigned char flag_busy)
  33          { 
  34   1              if(flag_busy)
  35   1              WaitUntilReady();
  36   1              RS=0; //写入的是命令字
  37   1              RW=0; //置为写状态
  38   1              EN=1; 
  39   1              LCD_DATA = Command;
  40   1              Delay(165);
  41   1              EN=0;
  42   1      }
  43          
  44          void WriteData(unsigned char Data)
  45          {
  46   1              WaitUntilReady(); //等待指令执行完毕
  47   1              RS=1; //写入的是数据
  48   1              RW=0; //置为写状态
  49   1              EN=1;
  50   1              LCD_DATA = Data;
  51   1              Delay(165);
  52   1              EN=0;
  53   1      }
  54          
  55          void Initialize_LCD(void)
C51 COMPILER V8.08   LCDDRIVER                                                             05/11/2008 16:41:25 PAGE 2   

  56          { 
  57   1              Delay(165);
  58   1              WriteCommand(0x38,0); //设为8位接口模式,显示2行字符,busy=0不检测忙信号
  59   1              Delay(165);
  60   1              WriteCommand(0x38,0);
  61   1              Delay(165);
  62   1              WriteCommand(0x38,0);
  63   1              WriteCommand(0x38,1);
  64   1              WriteCommand(0x08,1); //显示关闭
  65   1              WriteCommand(0x01,1); //显示清屏
  66   1              WriteCommand(0x06,1); //写入新数据后光标右移
  67   1              WriteCommand(0x0c,1); //显示功能开,不显示光标
  68   1              WriteCommand(0x81,1); //写地址
  69   1              WriteData('H');
  70   1              WriteData('e');
  71   1              WriteData('l');
  72   1              WriteData('l');
  73   1              WriteData('o');  
  74   1              WriteData('!');
  75   1      }
  76          


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