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

📄 lcd12864.lst

📁 51单片机实现的温湿度采集监控
💻 LST
字号:
C51 COMPILER V8.08   LCD12864                                                              01/11/2009 23:45:34 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE LCD12864
OBJECT MODULE PLACED IN LCD12864.OBJ
COMPILER INVOKED BY: F:\Keil\C51\BIN\C51.EXE LCD12864.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          #include <delay.h>
   2          #include <reg52.h>
   3          #include <LCD12864.h>
   4          #include <intrins.h>
   5          
   6          
   7          sbit    LCD_RS = P1^3;          //数据/命令选择
   8          sbit    LCD_RW = P1^4;          //读写控制
   9          sbit    LCD_EN = P1^5;          //片选信号
  10          sbit    LCD_PSB = P1^6;         //通信方式选择
  11          
  12          
  13          
  14          /*********************************
  15          函数名称:write_cmd(uint lcd_cmd)写指令
  16          入口参数:lcd_cmd
  17          返回参数:无
  18          *********************************/
  19          
  20          void WriteCmd12864(uchar lcd_cmd)
  21          {
  22   1              while(ReadBusy());
  23   1              LCD_RS = LOW;                   
  24   1              LCD_RW = LOW;                   
  25   1              LCD_EN = LOW;           
  26   1              LCD_DATA = lcd_cmd;
  27   1              delayNop();
  28   1              LCD_EN = HIGH;
  29   1              delayNop();
  30   1              LCD_EN = LOW;
  31   1      }
  32          
  33          
  34          
  35          /********************************
  36          函数名称:write_data(uint lcd_data)写数据
  37          入口参数:current_data
  38          返回参数:无
  39          ********************************/
  40          
  41          void WriteData12864(uchar lcd_data)
  42          {
  43   1              while(ReadBusy());
  44   1              LCD_RS=HIGH;
  45   1              LCD_RW=LOW;
  46   1              LCD_EN=LOW;
  47   1              LCD_DATA=lcd_data;
  48   1              delayNop();
  49   1              LCD_EN=HIGH;
  50   1              delayNop();
  51   1              LCD_EN=LOW;
  52   1      }
  53          
  54          
  55          
C51 COMPILER V8.08   LCD12864                                                              01/11/2009 23:45:34 PAGE 2   

  56          /********************************
  57          函数名称:ReadBusy()判忙
  58          入口参数:无
  59          返回参数:"1"忙;"0"不忙
  60          ********************************/
  61          
  62          bit ReadBusy()
  63          {
  64   1              bit result;
  65   1              LCD_RS = LOW;
  66   1              LCD_RW = HIGH;
  67   1              LCD_EN =HIGH;
  68   1              delayNop();
  69   1              result = (bit)(P0&0x80);
  70   1              LCD_EN = LOW;
  71   1              return (result);
  72   1      }
  73          
  74          
  75          
  76          /********************************
  77          函数名称:LcdInit()初始化
  78          入口参数:无
  79          返回参数:无
  80          ********************************/
  81          
  82          void LcdInit()
  83          {
  84   1              delay(10);
  85   1              LCD_PSB=HIGH;
  86   1      
  87   1              //WriteCmd12864(0x34);
  88   1              WriteCmd12864(FUN_MODE);
  89   1              WriteCmd12864(DISPLAY_ON);
  90   1              WriteCmd12864(CLEAR_SCREEN);
  91   1      }
  92          
  93          
  94          
  95          /********************************
  96          函数名称:LcdClear()清屏
  97          入口参数:无
  98          返回参数:无
  99          ********************************/
 100          
 101          void LcdClear(void)
 102          {
 103   1              while(ReadBusy());
 104   1              WriteCmd12864(CLEAR_SCREEN);
 105   1              delay(5);
 106   1      }
 107          
 108          
 109          /********************************
 110          函数名称:Display12864(uchar addr,uchar *hz)显示CGROM里的汉字
 111          入口参数:无
 112          返回参数:无
 113          ********************************/
 114          
 115          void Display12864(uchar addr,uchar *hz)
 116          {
 117   1      
C51 COMPILER V8.08   LCD12864                                                              01/11/2009 23:45:34 PAGE 3   

 118   1              WriteCmd12864(addr);
 119   1              while(*hz != '\0')
 120   1              {       
 121   2                      WriteData12864(*hz);
 122   2                      hz++;
 123   2      
 124   2              }
 125   1      } 
 126          
 127          
 128          
 129          


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