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

📄 lcd1602.lst

📁 keil c 文件 @@##%%…… &……源代码程序
💻 LST
字号:
C51 COMPILER V7.06   LCD1602                                                               09/01/2008 00:04:39 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          //#pragma src // 产生汇编文件
   2          #include<reg51.h>
   3          #include<intrins.h>
   4          //========= 变量类型标识的宏定义,通常做法 ==============
   5          #define Uchar unsigned char
   6          #define Uint unsigned int
   7          //========  定义LCD与MCU的接口,LCD数据线接P2 =============
   8          #define LCD_DATA P0
   9          sbit LCD_EN=P3^5;
  10          sbit LCD_RS=P3^7;
  11          sbit LCD_RW=P3^6;
  12          
  13          /*------------------------------------------------
  14          Public function prototypes  函数原型
  15          -------------------------------------------------*/
  16          void LCD_init(void);/*初始化*/
  17          void LCD_cmd(Uchar cmd);/*写入控制命令*/
  18          void LCD_string(char *s);/*写入要显示的字符串*/
  19          void LCD_char(char str);/*写入要显示的字符*/
  20          void LCD_setxy(char x,char y);/*设定显示位置,行x=1/2,列y=1~16的任意整数*/
  21          void wait_until_ready(void);/*检测忙标志,忙则等待*/
  22          void delay(void);
  23          
  24          //函数实现:
  25          
  26          
  27          sbit bflag=ACC^7;
  28          void delay(void)                 //延时函数
  29            {
  30   1      
  31   1      
  32   1        int i=0;
  33   1      
  34   1         
  35   1        }
  36          /*产生一个使能脉冲*/
  37          void En_Toggle(void)
  38          {
  39   1       LCD_EN=1;
  40   1              delay();
  41   1       LCD_EN=0;
  42   1              delay();
  43   1      }
  44          
  45          
  46          void LCD_clr()
  47          {
  48   1      LCD_cmd(0x01);
  49   1      
  50   1      }
  51          
  52          void LCD_init(void)
  53          {
  54   1         LCD_cmd(0x08);/*显示关闭*/
  55   1         LCD_cmd(0x38);/*8位数据,2行显示*/
C51 COMPILER V7.06   LCD1602                                                               09/01/2008 00:04:39 PAGE 2   

  56   1      
  57   1         LCD_cmd(0x01);/*清屏*/ 
  58   1          /*清屏和光标归位需要较长的时间*/
  59   1         LCD_cmd(0x06);/*写入数据后光标右移*/
  60   1         LCD_cmd(0x0c);/*显示开,不显示光标*/
  61   1      }
  62          void LCD_cmd(Uchar cmd)/*写入控制命令*/
  63          {
  64   1         wait_until_ready();
  65   1         LCD_RS=0;
  66   1         LCD_RW=0;
  67   1         LCD_DATA=cmd;
  68   1         En_Toggle();
  69   1      
  70   1      }
  71          void LCD_char(char str)/*写入要显示的字符*/
  72          {
  73   1         wait_until_ready();
  74   1         LCD_RS=1;
  75   1         LCD_RW=0;
  76   1         LCD_DATA=str;
  77   1         En_Toggle();
  78   1                                     
  79   1      }
  80          void LCD_setxy(char x,char y) /*设定显示位置,行x=1/2,列y=1~16的任意整数*/
  81          {
  82   1          char temp;
  83   1          if(x==1)
  84   1        {temp=0x80+y-1;
  85   2        LCD_cmd(temp);
  86   2        }
  87   1       else
  88   1        {temp=0xC0+y-1;
  89   2        LCD_cmd(temp);
  90   2        }
  91   1      }
  92          void LCD_string(char *s)
  93          {
  94   1       for(;*s!='\0';s++)LCD_char(*s);
  95   1      }
  96          void wait_until_ready(void) /*检测忙标志,忙则等待*/
  97          {
  98   1         LCD_RS=0;
  99   1         LCD_RW=1;
 100   1         LCD_DATA=0x0ff;
 101   1         LCD_EN=1;
 102   1         delay();
 103   1         do{ACC=LCD_DATA;}while(bflag==1);
 104   1         LCD_EN=0;
 105   1      }
 106          
 107          
 108          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    151    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       9
   IDATA SIZE       =   ----    ----
C51 COMPILER V7.06   LCD1602                                                               09/01/2008 00:04:39 PAGE 3   

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