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

📄 lm3229.lst

📁 T6963C 128x128液晶驱动,非常适合学习和使用单片机开发人员用
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V8.08   LM3229                                                                11/28/2007 22:30:54 PAGE 1   


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

line level    source

   1          /********************************************************************************************************
   2          /**--------------文件信息--------------------------------------------------------------------------------
   3          **文   件   名: T6963C 128X128.c
   4          **创   建   人: LUCKY   论坛ID muyuyuzhong 
   5          **最后修改日期: 2007年11月28日
   6          **描        述: 基于T6963C图形液晶芯片的 LM4265 128x128液晶驱动,做简单修改通用适用基于T6963C的图形液晶
   7          **
   8          **说        明 :本来是想写LM3229 240x128的,但是LM3229只显示了上班屏幕.所以改成了LM4265了
   9          **              图形部分还没有写,因为还没找到合适的字模提取软件,也许是我还不会用,呵呵
  10          **              
  11          **              
  12          **注        意:T6963C的字符集不是ASCII,一个8x8的字符点阵的字节顺序是由上而下的 高位在左 低位在右
  13          *********************************************************************************************************/
  14          /*********************************************************************************************************
  15          ** 函数名称:  
  16          ** 功能描述:  
  17          **           
  18          ** 输 入:  
  19          **
  20          ** 输 出:  
  21          **         
  22          ** 全局变量:  
  23          ** 调用模块:  
  24          **
  25          ** 作 者:  
  26          ** 日 期:  
  27          **-------------------------------------------------------------------------------------------------------
  28          ** 修改人:  
  29          ** 日 期:  
  30          **------------------------------------------------------------------------------------------------------
  31          ********************************************************************************************************/
  32          
  33          #include <reg51.h>
  34          #include <intrins.h>
  35          
  36          
  37          #ifndef UINT8 
  38          #define UINT8 unsigned char
  39          #endif
  40          
  41          #ifndef UINT16 
  42          #define UINT16 unsigned int
  43          #endif
  44          
  45          #ifndef INT8 
  46          #define INT8 signed char
  47          #endif
  48          
  49          #ifndef CHAR
  50          #define CHAR unsigned char
  51          #endif
  52          
  53          #ifndef BOOL
  54          #define BOOL bit
  55          #endif
C51 COMPILER V8.08   LM3229                                                                11/28/2007 22:30:54 PAGE 2   

  56          /*********************************************************************************************************
  57          **                        T6963C定义模块
  58          **
  59          ********************************************************************************************************/
  60          
  61          /*********************定义液晶接口***********************/
  62          sbit LCD_CD = P3^7 ;              //LCD_CD = 1 写命令LCD_CD = 0 写数据 
  63          sbit LCD_RD = P3^6 ;
  64          sbit LCD_WR = P3^5 ;
  65          #define LCD_OutPort P1
  66          /*--------------------------------------------------------*
  67          *定义T6963C的状态字检测
  68          *---------------------------------------------------------*/
  69          #define  CHECK_01 0x03              //检测0-1位,位0指令读写状态,位1数据读写状态:1 = 准备好 ,0 =  忙  
  70          #define  CHECK_2  0x04              //检测2位,数据自动读状态:1 = 准备好 ,0 =  忙  
  71          #define  CHECK_3  0x08              //检测3位,数据自动写状态:1 = 准备好 ,0 =  忙  
  72          #define  CHECK_6  0x60              //检测6位,屏读/屏拷贝出错状态:1 = 出错,0 = 正确
  73          
  74          #define   COLUMN          16            //定义列为30,作为文本显示区宽度           、
  75          
  76          /***************************T6963C的字符表******************************************
  77          **----------------------------------------------------------------------------------
  78          **0  0x00 0x01 0x02 0x03 0x04 0x03 0x06 0x07 0x08 0x09 0x0a 0x0b 0x0c 0x0d 0x0e 0x0f
  79          **   空格 !    "    #   $    %    &     ‘   (     )  *         +        ,     -  .    /
  80          **----------------------------------------------------------------------------------
  81          **1  0x10 0x11 0x12 0x13 0x14 0x13 0x16 0x17 0x18 0x19 0x1a 0x1b 0x1c 0x1d 0x1e 0x1f
  82          **   0    1    2    3    4    5    6    7    8   9    :    ;    <    =    >    ?
  83          **---------------------------------------------------------------------------------
  84          **2  0x20 0x21 0x22 0x23 0x24 0x23 0x26 0x27 0x28 0x29 0x2a 0x2b 0x2c 0x2d 0x2e 0x2f
  85          **   @    A    B    C    D    E    F    G    H    I    J    K    L    M    N    O
  86          **----------------------------------------------------------------------------------
  87          **3  P   Q     R    S    T    U    V    W    X    Y    Z    [   反/       ]    ^    _
  88          **----------------------------------------------------------------------------------
  89          **4  '   a     b    c    d    e    f    g    h    i    j    k    l    m    n     o
  90          **----------------------------------------------------------------------------------
  91          **5  p   q     r    s    t    u    v    w    x    y    z    {    直|  }    ~     空格
  92          **----------------------------------------------------------------------------------
  93          **  0x0  1                                        5                                                a                                              f
  94          **其余见T6963C手册
  95          /*********************************************************************************************************
  96          ** 函数名称: CheckState 
  97          ** 功能描述: 读状态字,在读写数据之前必须要检测状态.在每一次对T6963C的软件操作之前,都要进行判"忙.
  98          **           只有在不忙的状态下计算机对T6963C的操作才有效                        
  99          **           
 100          ** 输 入:   bitCheck 检测相应的位
 101          **
 102          ** 输 出:   无
 103          **         
 104          ** 全局变量: 无
 105          ** 调用模块: 无 
 106          ** 说明 :    CHECK_01   检测0-1位,位0指令读写状态,位1数据读写状态:1 = 准备好 ,0 =  忙 
 107          **                       CHECK_2    检测2位,数据自动读状态:1 = 准备好 ,0 =  忙  
 108          **                       CHECK_3    检测3位,数据自动写状态:1 = 准备好 ,0 =  忙
 109          **               CHECK_6    检测6位,屏读/屏拷贝出错状态:1 = 出错,0 = 正确
 110          **           在仿真中,要关掉检测,实际中应打开
 111          **-------------------------------------------------------------------------------------------------------
 112          ** 修改人:  
 113          ** 日 期:  
 114          **------------------------------------------------------------------------------------------------------
 115          ********************************************************************************************************/
 116          void CheckState(UINT8 bitCheck)
 117          {
C51 COMPILER V8.08   LM3229                                                                11/28/2007 22:30:54 PAGE 3   

 118   1              
 119   1          /***********************************
 120   1              //仿真时关掉状态检测 
 121   1              UINT8 status;   
 122   1              LCD_CD = 1;
 123   1      
 124   1              
 125   1              do 
 126   1              {
 127   1                      LCD_RD = 0;
 128   1                      status = LCD_OutPort;
 129   1                      LCD_RD = 1;
 130   1                      status = bitCheck & status;                     
 131   1              }while( status != bitCheck);
 132   1              ********************************/
 133   1      }
*** WARNING C280 IN LINE 116 OF LM3229.C: 'bitCheck': unreferenced local variable
 134          
 135          /*********************************************************************************************************
 136          ** 函数名称: WriteData 
 137          ** 功能描述: 写数据到T6963C                      
 138          **           
 139          ** 输 入:   dat  传输数据变量
 140          **
 141          ** 输 出:   无
 142          **         
 143          ** 全局变量: 无
 144          ** 调用模块: void CheckState(UINT8 bitCheck) 
 145          ** 说明 :    无
 146          **-------------------------------------------------------------------------------------------------------
 147          ** 修改人:  
 148          ** 日 期:  
 149          **------------------------------------------------------------------------------------------------------
 150          ********************************************************************************************************/
 151          void WriteData(UINT8 dat)                   //写数据
 152          {
 153   1              CheckState(CHECK_01);          //检测状态位0 1
 154   1              LCD_CD = 0;
 155   1              LCD_WR = 0;     
 156   1          LCD_OutPort = dat;
 157   1              LCD_WR = 1;
 158   1      }
 159          
 160          /*********************************************************************************************************
 161          ** 函数名称: WriteCommand 
 162          ** 功能描述: 写命令到T6963C                      
 163          **           
 164          ** 输 入:   cmd  传输命令变量
 165          **
 166          ** 输 出:   无
 167          **         
 168          ** 全局变量: LCD_CD 
 169          **           LCD_WR  
 170          ** 调用模块: void CheckState(UINT8 bitCheck) 
 171          ** 说明 :    无
 172          **-------------------------------------------------------------------------------------------------------
 173          ** 修改人:  
 174          ** 日 期:  
 175          **------------------------------------------------------------------------------------------------------
 176          ********************************************************************************************************/
 177          void WriteCommand(UINT8 cmd)               //写命令
 178          {
C51 COMPILER V8.08   LM3229                                                                11/28/2007 22:30:54 PAGE 4   

 179   1              CheckState(CHECK_01);             //检测状态位0 1
 180   1              LCD_CD = 1;
 181   1              LCD_WR = 0;     
 182   1          LCD_OutPort = cmd;
 183   1              LCD_WR = 1;     
 184   1      }
 185          
 186          /*********************************************************************************************************
 187          ** 函数名称: ReadData 
 188          ** 功能描述: 从T6963C读数据到MCU                 
 189          **           
 190          ** 输 入:   无
 191          **
 192          ** 输 出:   dat 返回读出的数据
 193          **         
 194          ** 全局变量: 无 
 195          ** 调用模块: void CheckState(UINT8 bitCheck) 
 196          ** 说明 :    无
 197          **-------------------------------------------------------------------------------------------------------
 198          ** 修改人:  
 199          ** 日 期:  
 200          **------------------------------------------------------------------------------------------------------
 201          ********************************************************************************************************/
 202          UINT8 ReadData(void)                    //读数据
 203          {
 204   1              UINT8 dat;
 205   1              CheckState(CHECK_01);           //检测状态位0 1

⌨️ 快捷键说明

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