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

📄 lcd.lst

📁 单片机实现消息队列的例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.10   LCD                                                                   12/14/2004 10:51:15 PAGE 1   


C51 COMPILER V7.10, COMPILATION OF MODULE LCD
OBJECT MODULE PLACED IN .\Lcd.obj
COMPILER INVOKED BY: C:\Program Files\Keil\C51\BIN\C51.EXE ..\SourceFile\Lcd.c LARGE BROWSE DEBUG OBJECTEXTEND PRINT(.\L
                    -cd.lst) OBJECT(.\Lcd.obj)

line level    source

   1          /*************************************************/
   2          
   3          /**************液晶显示屏*******************/
   4          
   5          /***************2003年1月20日*******************/
   6          
   7          /************WROTE BY WANGSW********************/
   8          
   9          
  10          
  11          
  12          
  13          #include <absacc.h>                     /*XBYTE绝对外部内存空间头文件*/
  14          #include <string.h>
  15          #include <intrins.h>
  16          #include "define.h"
  17          #include "ascii.h"
  18          #include "lcd.h"
  19          
  20          
  21          #ifdef DP_51
  22          #define WLCD XBYTE[0xF800]              /*r定义WLCD为写LCD的内容*/
  23          #define RLCD XBYTE[0xF801]              /*r定义RLCD为读LCD的内容*/
  24          #define RS XBYTE[0xF802]                /*对于TG19264A1,RS=0为命令,RS=1为数据*/
  25          #endif
  26          
  27          #ifdef TG19264
  28          #define MAX_COLUMN                      64
  29          #define MAX_PAGE                8
  30          #endif
  31          
  32          
  33          #define SendCtr(value)  RS = 0; RS = 0; WLCD = value;
  34          #define SendData(value) RS = 1; RS = 1; WLCD = value;
  35          
  36          /*******************************************************************/
  37          //static void SendCtr(byte value);
  38          //static void SendData(byte value);
  39          static void SetPage(byte value);
  40          static void SetColumn(byte value);
  41          static void InitTg19264(void);
  42          
  43          
  44          
  45          
  46          /******************************************************************************************
  47          *函数名:                SetPage
  48          *参数:                  value                   设置的页码值,从0~7有效
  49          *返回值:                无
  50          *描述:                  对于TG19264液晶屏,设置当前操作的页码值
  51          *编写:                  王绍伟
  52          *版本信息:              V1.0                    2003年8月15日
  53          ******************************************************************************************/
  54          static void SetPage(byte value)
C51 COMPILER V7.10   LCD                                                                   12/14/2004 10:51:15 PAGE 2   

  55          {
  56   1      #ifdef TG19264
  57   1              SendCtr(0xB8 + value);
  58   1      #endif
  59   1      }
  60          
  61          
  62          /******************************************************************************************
  63          *函数名:                SetColumn
  64          *参数:                  value                   设置的X坐标位置,从0~63有效
  65          *返回值:                无
  66          *描述:                  设置当前液晶屏操作的X坐标位置
  67          *编写:                  王绍伟
  68          *版本信息:              V1.0                    2003年8月15日
  69          ******************************************************************************************/
  70          static void SetColumn(byte value)
  71          {
  72   1      #ifdef TG19264
  73   1              SendCtr(0x40 + value);
  74   1      #endif
  75   1      }
  76          
  77          
  78          /******************************************************************************************
  79          *函数名:                InitTg19264
  80          *参数:                  无
  81          *返回值:                无
  82          *描述:                  初始化液晶屏Tg19264,对液晶屏从DDRAM中哪一行开始显示数
  83                                          据以及设置初始的页码值和X坐标位置
  84          *编写:                  王绍伟
  85          *版本信息:              V1.0                    2003年8月15日
  86          ******************************************************************************************/
  87          static void InitTg19264(void)
  88          {
  89   1              SendCtr(0xC0);          /*起始显示DDRAM行(D5-D0)为第0行*/
  90   1              SendCtr(0xB8);          /*起始页位置(D2-D0)为第0页*/
  91   1              SendCtr(0x40);          /*X方向起始位置(D5-D0)为0*/
  92   1      }
  93          
  94          
  95          /******************************************************************************************
  96          *函数名:                lcd_init
  97          *参数:                  无
  98          *返回值:                无
  99          *描述:                  液晶屏初始化程序,主要是清屏,开显示
 100          *编写:                  王绍伟
 101          *版本信息:              V1.0                    2003年8月15日
 102          ******************************************************************************************/
 103          extern void lcd_init(void)
 104          {
 105   1      #ifdef TG19264
 106   1              InitTg19264();
 107   1      #endif
 108   1              lcd_clear();
 109   1              SendCtr(0x3F);          /*显示ON/OFF    D0*/
 110   1      }
 111          
 112          
 113          /******************************************************************************************
 114          *函数名:                lcd_clear
 115          *参数:                  无
 116          *返回值:                无
C51 COMPILER V7.10   LCD                                                                   12/14/2004 10:51:15 PAGE 3   

 117          *描述:                  LCD清屏程序
 118          *编写:                  王绍伟
 119          *版本信息:              V1.0                    2003年8月15日
 120          ******************************************************************************************/
 121          extern void lcd_clear(void)                                     
 122          {
 123   1              byte page;
 124   1              byte column;
 125   1      
 126   1              for(page = 0; page < MAX_PAGE; page++)
 127   1              {
 128   2                      RS = 0;                         /*r发送命令*/
 129   2                      WLCD = 0xB8 + page;             /*r设置清空的页码*/
 130   2                      _nop_();
 131   2                      WLCD = 0x40;                    /*r设置清空的X坐标起始位置为0*/
 132   2                      _nop_();
 133   2                      RS = 1;                         /*r发送数据*/
 134   2                      _nop_();
 135   2                      for(column = 0; column < MAX_COLUMN; column++)
 136   2                      {
 137   3                              WLCD = 0x00;            /*r相应显示寄存器清零*/
 138   3                              _nop_();
 139   3                              _nop_();
 140   3                              _nop_();
 141   3                              _nop_();
 142   3                              _nop_();
 143   3                              _nop_();
 144   3                              _nop_();
 145   3                              _nop_();
 146   3                              _nop_();
 147   3                              _nop_();
 148   3                              _nop_();
 149   3                      }
 150   2              }
 151   1      }
 152          
 153          
 154          /******************************************************************************************
 155          *函数名:                lcd_display_graphic
 156          *参数:                  XStart          X轴起始位置,为像素点位置
 157                                          YStart          Y轴起始位置,为像素点位置
 158                                          Width           图像宽度像素值
 159                                          Height          图像高度像素值
 160                                          bReverseDisplay         标识是否反显
 161                                          GraphicIndex            图像显示索引
 162          *返回值:                无
 163          *描述:                  显示一幅图像的程序
 164          *编写:                  王绍伟
 165          *版本信息:              V1.0                    2003年8月15日
 166          ******************************************************************************************/
 167           extern void lcd_display_graphic(                               /*为整个PAGE显示,不能任意位置*/
 168                                                                          byte XStart,

⌨️ 快捷键说明

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