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

📄 lcd.lst

📁 1602 lcd 显示汉字
💻 LST
字号:
C51 COMPILER V8.05a   LCD                                                                  03/03/2009 12:25:11 PAGE 1   


C51 COMPILER V8.05a, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN lcd.OBJ
COMPILER INVOKED BY: D:\软件\keil 51\C51\BIN\C51.EXE lcd.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <reg51.h>
   2          #include <intrins.h>
   3          /*********************************端口定义**********************************/
   4          sbit rs= P2^5;
   5          sbit rw = P2^6;
   6          sbit ep = P2^7;
   7          /********************************显示数据表*********************************/
   8          unsigned char code dis1[] = {"www.hificat.com"};
   9          unsigned char code dis2[] = {"0571-85956028"};
  10          /*****************************************************************************
  11          函数功能:LCD延时子程序
  12          入口参数:ms
  13          出口参数:
  14          *****************************************************************************/
  15          void delay(unsigned char ms)
  16          {
  17   1      unsigned char i;
  18   1      while(ms--)
  19   1      {
  20   2      for(i = 0; i< 50; i++)
  21   2      {
  22   3      _nop_();
  23   3      _nop_();
  24   3      _nop_();
  25   3      _nop_();
  26   3      }
  27   2      }
  28   1      }
  29          /*****************************************************************************
  30          函数功能:测试LCD忙碌状态
  31          入口参数:
  32          出口参数:result
  33          *****************************************************************************/
  34          bit lcd_bz()
  35          {
  36   1      bit result;
  37   1      rs = 0;
  38   1      rw = 1;
  39   1      ep = 1;
  40   1      _nop_();
  41   1      _nop_();
  42   1      _nop_();
  43   1      _nop_();
  44   1      result = (bit)(P0 & 0x80);
  45   1      ep = 0;
  46   1      return result;
  47   1      }
  48          /*****************************************************************************
  49          函数功能:写指令数据到LCD子程序
  50          入口参数:cmd
  51          出口参数:
  52          *****************************************************************************/
  53          void lcd_wcmd(unsigned char cmd)
  54          {
  55   1      while(lcd_bz());//判断LCD是否忙碌
C51 COMPILER V8.05a   LCD                                                                  03/03/2009 12:25:11 PAGE 2   

  56   1      rs = 0;
  57   1      rw = 0;
  58   1      ep = 0;
  59   1      _nop_();
  60   1      _nop_();
  61   1      P0 = cmd;
  62   1      _nop_();
  63   1      _nop_();
  64   1      _nop_();
  65   1      _nop_();
  66   1      ep = 1;
  67   1      _nop_();
  68   1      _nop_();
  69   1      _nop_();
  70   1      _nop_();
  71   1      ep = 0;
  72   1      }
  73          /*****************************************************************************
  74          函数功能:设定显示位置子程序
  75          入口参数:pos
  76          出口参数:
  77          *****************************************************************************/
  78          void lcd_pos(unsigned char pos)
  79          {
  80   1      lcd_wcmd(pos | 0x80);
  81   1      }
  82          /*****************************************************************************
  83          函数功能:写入显示数据到LCD子程序
  84          入口参数:dat
  85          出口参数:
  86          *****************************************************************************/
  87          void lcd_wdat(unsigned char dat)
  88          {
  89   1      while(lcd_bz());//判断LCD是否忙碌
  90   1      rs = 1;
  91   1      rw = 0;
  92   1      ep = 0;
  93   1      P0 = dat;
  94   1      _nop_();
  95   1      _nop_();
  96   1      _nop_();
  97   1      _nop_();
  98   1      ep = 1;
  99   1      _nop_();
 100   1      _nop_();
 101   1      _nop_();
 102   1      _nop_();
 103   1      ep = 0;
 104   1      }
 105          /*****************************************************************************
 106          函数功能:LCD初始化子程序
 107          入口参数:
 108          出口参数:
 109          *****************************************************************************/
 110          void lcd_init()
 111          {
 112   1      lcd_wcmd(0x38);
 113   1      delay(2);
 114   1      lcd_wcmd(0x0c);
 115   1      delay(2);
 116   1      lcd_wcmd(0x06);
 117   1      delay(2);
C51 COMPILER V8.05a   LCD                                                                  03/03/2009 12:25:11 PAGE 3   

 118   1      lcd_wcmd(0x01);
 119   1      delay(2);
 120   1      }
 121          /*****************************************************************************
 122          函数功能:主程序
 123          入口参数:
 124          出口参数:
 125          *****************************************************************************/
 126          void main(void)
 127          {
 128   1      unsigned char i;
 129   1      lcd_init();// 初始化LCD
 130   1      delay(10);
 131   1      lcd_pos(0x01);//设置显示位置
 132   1      i = 0;
 133   1      while(dis1[i] != '\0')
 134   1      {
 135   2      lcd_wdat(dis1[i]);//显示字符
 136   2      i++;
 137   2      }
 138   1      lcd_pos(0x42);// 设置显示位置
 139   1      i = 0;
 140   1      while(dis2[i] != '\0')
 141   1      {
 142   2      lcd_wdat(dis2[i]);// 显示字符
 143   2      i++;
 144   2      }
 145   1      while(1);
 146   1      }
 147           


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    194    ----
   CONSTANT SIZE    =     30    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----    ----
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----       1
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -