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

📄 lcd_driver_user.lst

📁 由普通单片机驱动控制显示的 3.5 英寸 TFT 液 晶模块——MzT35C1 模块;并为其配备了完整的驱动函数库
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V8.16   LCD_DRIVER_USER                                                       12/22/2008 00:11:06 PAGE 1   


C51 COMPILER V8.16, COMPILATION OF MODULE LCD_DRIVER_USER
OBJECT MODULE PLACED IN .\Output\LCD_Driver_User.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LCD_Driver\LCD_Driver_User.c COMPACT BROWSE INCDIR(.\LCD_Driver) DEBUG OBJE
                    -CTEXTEND PRINT(.\LCD_Driver_User.lst) OBJECT(.\Output\LCD_Driver_User.obj)

line level    source

   1          //========================================================================
   2          // 文件名: LCD_Driver_User.c
   3          // 作  者: Xinqiang Zhang(email: Xinqiang@Mzdesign.com.cn)
   4          //                      www.Mzdesign.com.cn
   5          // 日  期: 2008/12/11
   6          // 描  述: 底层接口驱动扩展程序集
   7          //
   8          // 参  考: 请参考具体显示器的硬件描述说明书或者是DataSheet,并以此来编写底
   9          //                      层接口驱动程序,以及LCD的初始化代码
  10          // 版  本:
  11          //      2007/02/25      First version    Mz Design
  12          //              2008/06/11              V2.0                     Mzdesign
  13          // 注  意: 
  14          //                      该驱动程序当中有很多已经被屏蔽掉的子程序,用户可根据自己的应用
  15          //                      取消屏障并作一定的修改(如果可能的话)
  16          //                      该文件与LCD的特性有关,为MzDesign通用版LCD驱动的V2.0版本,内含的
  17          //                      函数是标准的函数,每款LCD对应的通用版LCD驱动程序包都是一样的,只
  18          //                      是会针对不同的LCD模块会有一些区别,用户可以参考我们介绍V1.0版本
  19          //                      驱动的书<LCD驱动显控原理>.
  20          // 相  关: 本例为针对MzDesign的MzT35C1 320X240点TFT屏作的移植改去,适用于51系
  21          //                      列单片机
  22          //========================================================================
  23          #include "LCD_Config.h"
  24          #include "LCD_PortConfig.h"
  25          
  26          unsigned char MzT35_Ctrl_Reg=0x01;                                              //用于在用户程序中保存当前LCD显示图层以及当前操作图层的信息
  27          //========================================================================
  28          // 函数: void LCD_DataWrite(unsigned int Data)
  29          // 描述: 写一个字节的显示数据至LCD中的显示缓冲RAM当中
  30          // 参数: Data 写入的数据 
  31          // 返回: 无
  32          // 备注: Mz 通用版LCD驱动程序 标准子函数
  33          // 版本:
  34          //      2007/01/09      First version
  35          //========================================================================
  36          /*
  37          void LCD_DataWrite(LCDBYTE Dat)
  38          {
  39                  LCD_DAT_W = (unsigned char)(Dat>>8);
  40                  LCD_DAT_W = (unsigned char)Dat;
  41          }       */         
  42          //========================================================================
  43          // 函数: LCDBYTE LCD_DataRead(void)
  44          // 描述: 从LCD中的显示缓冲RAM当中读一个字节的显示数据
  45          // 参数: 无  
  46          // 返回: 读出的数据,
  47          // 备注: Mz 通用版LCD驱动程序 标准子函数 
  48          // 版本:
  49          //      2007/01/09      First version
  50          // 注意: 
  51          //========================================================================
  52          
  53          LCDBYTE LCD_DataRead(void)
  54          {
C51 COMPILER V8.16   LCD_DRIVER_USER                                                       12/22/2008 00:11:06 PAGE 2   

  55   1          LCDBYTE Read_Data;
  56   1              Read_Data = LCD_DAT_R;
  57   1              Read_Data = LCD_DAT_R;
  58   1              Read_Data = LCD_DAT_R;
  59   1              Read_Data = Read_Data<<8;
  60   1              Read_Data |= LCD_DAT_R;
  61   1              return Read_Data;
  62   1      }       
  63          //========================================================================
  64          // 函数: void LCD_RegWrite(LCDBYTE Command)
  65          // 描述: 写一个字节的数据至LCD中的控制寄存器当中
  66          // 参数: Command                写入的数据,低八位有效(byte) 
  67          // 返回: 无
  68          // 备注: Mz 通用版LCD驱动程序 标准子函数
  69          // 版本:
  70          //      2007/01/09      First version
  71          //========================================================================
  72           /*
  73          void LCD_RegWrite(LCDBYTE Command)
  74          {
  75                  LCD_COM_W = Command;
  76          } */ 
  77          //========================================================================
  78          // 函数: void Write_Dot_LCD(int x,int y,unsigned int i)
  79          // 描述: 在LCD的真实坐标系上的X、Y点绘制填充色为i的点
  80          // 参数: x              X轴坐标
  81          //               y              Y轴坐标
  82          //               i              要填充的点的颜色 
  83          // 返回: 无
  84          // 备注: Mz 通用版LCD驱动程序 标准子函数
  85          // 版本:
  86          //      2006/10/15      First version
  87          //              2007/01/09              V1.2 
  88          //========================================================================
  89          void Write_Dot_LCD(DOTBYTE x,DOTBYTE y,LCDBYTE i)
  90          {
  91   1              y = (y<<8)+y;
  92   1              LCD_RegWrite(0x00);
  93   1              LCD_DataWrite(y);
  94   1              LCD_DataWrite(x);
  95   1              LCD_DataWrite(i);
  96   1      }
  97          //========================================================================
  98          // 函数: LCDBYTE Get_Dot_LCD(DOTBYTE x,DOTBYTE y)
  99          // 描述: 获取在LCD的真实坐标系上的X、Y点上的当前填充色数据
 100          // 参数: x              X轴坐标
 101          //               y              Y轴坐标
 102          // 返回: 该点的颜色
 103          // 备注: 暂不使用该函数
 104          // 版本:
 105          //      2006/10/15      First version
 106          //========================================================================
 107          LCDBYTE Get_Dot_LCD(DOTBYTE x,DOTBYTE y)
 108          {
 109   1              LCDBYTE Read_Data;
 110   1              //可根据自己的需要填写代码
 111   1              LCD_RegWrite(0x00);
 112   1              LCD_DataWrite(y);
 113   1              LCD_DataWrite(x);
 114   1              Read_Data = LCD_DataRead();                                                     //
 115   1              return Read_Data;
 116   1      }
C51 COMPILER V8.16   LCD_DRIVER_USER                                                       12/22/2008 00:11:06 PAGE 3   

 117          
 118          //========================================================================
 119          // 函数: void Set_Dot_Addr_LCD(int x,int y)
 120          // 描述: 设置在LCD的真实坐标系上的X、Y点对应的RAM地址
 121          // 参数: x              X轴坐标
 122          //               y              Y轴坐标
 123          // 返回: 无
 124          // 备注: 仅设置当前操作地址,为后面的连续操作作好准备
 125          //               Mz 通用版LCD驱动程序 标准子函数
 126          // 版本:
 127          //      2006/10/15      First version
 128          //              2007/01/09              V1.2 
 129          //========================================================================
 130          void Set_Dot_Addr_LCD(DOTBYTE x,DOTBYTE y)
 131          {
 132   1              LCD_RegWrite(0x00);
 133   1              LCD_DataWrite(y);
 134   1              LCD_DataWrite(x);
 135   1      }
 136          
 137          //========================================================================
 138          // 函数: void LCD_Fill_s(WORD Number,LCDBYTE Color)
 139          // 描述: 连续填充以Color色调的Number个点
 140          // 参数: Number 填充的数量    Color  像素点的颜色  
 141          // 返回:
 142          // 备注: 该函数可能会使用到
 143          // 版本:
 144          //      2006/10/15      First version
 145          //              2007/01/09              V1.2 
 146          //========================================================================
 147          void LCD_Fill_s(WORD Number,LCDBYTE Color)
 148          {
 149   1              while(Number!=0)
 150   1              {
 151   2                      LCD_DataWrite(Color);
 152   2                      Number--;
 153   2              }
 154   1      } 
 155          //========================================================================
 156          // 函数: void LCD_Fill(unsigned int Data)
 157          // 描述: 会屏填充以Data的数据至各点中
 158          // 参数: Data   要填充的颜色数据
 159          // 返回: 无
 160          // 备注: Mz 通用版LCD驱动程序 标准子函数
 161          // 版本:
 162          //      2006/10/15      First version
 163          //              2007/01/09              V1.2 
 164          //========================================================================
 165          void LCD_Fill(LCDBYTE Data)
 166          {
 167   1              DOTBYTE i,j=0;
 168   1              DOTBYTE uiTemp;  

⌨️ 快捷键说明

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