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

📄 lcd.lst

📁 DHT11采集温湿度并用LCD12864显示的源程序
💻 LST
字号:
C51 COMPILER V8.02   LCD                                                                   04/25/2013 19:45:37 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN LCD.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include "LCD.h"
   2          
   3          void chk_busy()                                 //判忙函数
   4          {
   5   1          rs=0 ;
   6   1          rw=1 ;
   7   1          e=1 ;
   8   1          P0=0xff ;
   9   1          while((P0&0x80)==0x80);
  10   1          e=0 ;
  11   1      }
  12          
  13          void lcd_write_cmd(uchar com) //LCD12864写命令
  14          {
  15   1          chk_busy();
  16   1          rs=0 ;
  17   1          rw=0 ;
  18   1          e=1 ;
  19   1          P0=com;
  20   1          delay_50us(1);
  21   1          //------------------在数据写入的时候加入适当的延时
  22   1          e=0 ;
  23   1      }
  24          
  25          void lcd_write_data(uchar dat)   //LCD12864写数据
  26          {
  27   1          chk_busy();
  28   1          rs=1 ;
  29   1          rw=0 ;
  30   1          e=1 ;
  31   1          P0=dat;
  32   1          delay_50us(1);
  33   1          //------------------在数据写入的时候加入适当的延时
  34   1          e=0 ;       
  35   1      }
  36          
  37          /**********************************************************************
  38          * 名称:  Addr_Set()
  39          * 函数功能:字符位置确定
  40          * 入口参数: x(0~7)  指定点所在列的位置
  41          *            y(0~3)   指定点所在行的位置
  42          * 出口参数:无
  43          * 说明:汉字必须是存在在液晶字库中的
  44          **********************************************************************/
  45          void Addr_Set(uchar x,uchar y)  
  46          {  
  47   1              uchar address;
  48   1          switch(x)
  49   1          {  
  50   2                      case 0:  x = 0x80 ; break;
  51   2              case 1:  x = 0x90 ; break;
  52   2              case 2:  x = 0x88 ; break;
  53   2              case 3:  x = 0x98 ; break;
  54   2              default: return;
  55   2          }
C51 COMPILER V8.02   LCD                                                                   04/25/2013 19:45:37 PAGE 2   

  56   1         address = x+y;
  57   1         lcd_write_cmd(address);
  58   1      }
  59          
  60          void LCD_12864_initinal(void)
  61          {
  62   1              delay_50ms(2);
  63   1              lcd_write_cmd(0x30); //Function set 基本指令操作
  64   1              lcd_write_cmd(0x0c);   //显示状态开/关00001DCB     
  65   1              //D=1: 整体显示 ON C=1: 游标ON B=1:游标位置反白允许
  66   1              lcd_write_cmd(0x01);
  67   1        //清除显示 将DDRAM填满"20H",并且设定DDRAM的地址计数器(AC)到"00H"
  68   1              lcd_write_cmd(0x06);
  69   1      //进入点设定0001I/DS
  70   1      //指定在数据的读取与写入时,设定游标的移动方向及指定显示的移位
  71   1      }
  72          
  73          /*------------------显示字符串--------------------------*/
  74          void string_dis(uchar code *s)
  75          {
  76   1          while(*s>0)             //"\0"结束
  77   1          {
  78   2              lcd_write_data(*s);
  79   2              s++;
  80   2              //delay_1ms(500);       //慢速显
  81   2                      //delay_1ms(200);       //中速显
  82   2                      delay_50us(1);  //快速显
  83   2      
  84   2          }
  85   1      }


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