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

📄 sc_t6963.lst

📁 驱动15X20D液晶屏
💻 LST
📖 第 1 页 / 共 3 页
字号:
C51 COMPILER V7.20   SC_T6963                                                              03/28/2008 14:02:55 PAGE 1   


C51 COMPILER V7.20, COMPILATION OF MODULE SC_T6963
OBJECT MODULE PLACED IN SC_T6963.OBJ
COMPILER INVOKED BY: D:\setup\keil\C51\BIN\C51.EXE SC_T6963.c LARGE DEBUG OBJECTEXTEND

line level    source

   1          /**************************************************************************
   2          Copyright (c) HUST ESRI 1999. All Rights Reserved.
   3          
   4          当前版本:      V1.1
   5          作者:  SeaCow
   6          完成日期:      2007.6.24
   7          
   8          取代版本:      T6963driver_1.c
   9          原作者:        魏雪
  10          完成日期:      2007.4
  11          
  12          摘要:  NS240128A(T6963C控制器,32K显存)液晶屏的驱动
  13          
  14          [相关定义]
  15          1.需要在事件在单片机引脚定义文件中添加以下引脚定义:
  16                  //LCD控制信号寄存器
  17                  #define T6963_COMMAND_REG       P4      //DB0-7口
  18                  //LCD数据端口寄存器
  19                  #define T6963_WRITE_CODE_REG    P5      //控制口0-4,依次为WR、RD、CE、CD、RST
  20                  #define T6963_WRITE_DATA_REG    P5
  21                  #define T6963_READ_STATE_REG    P5
  22                  #define T6963_READ_DATA_REG     P5
  23          2.需在工程中包含"SC_T6963.c"文件
  24          3.需在主程序文件中加入:
  25                  #include "inc\SC_T6963.h"       //LCD相关
  26          **************************************************************************/
  27          #include "inc\ConstDef.h"       //硬件相关常数定义
  28          #include "inc\SC_T6963.h"
  29          
  30          //----------------------------------------------------------------------------------//
  31          //--------------------------------基本输入输出函数----------------------------------//
  32          //----------------------------------------------------------------------------------//
  33          /***************************************************************
  34                  Function:       //      T6963_WriteCode
  35                  Description://  向T6963控制器写入一个命令字节
  36                  Input:  //      CODE:需要写入的命令字节
  37          ***************************************************************/
  38          void T6963_WriteCode(uchar uCode)
  39          {
  40   1              T6963_COMMAND_REG |= T6963_COMMAND_WRITE;
  41   1              T6963_COMMAND_REG &= T6963_CE_ENABLE;
  42   1              T6963_COMMAND_REG &= T6963_WR_ENABLE;
  43   1              T6963_COMMAND_REG |= T6963_RD_DISABLE;
  44   1              T6963_WRITE_CODE_REG = uCode;
  45   1      //      T6963_Delay(5);                 //at least 80ns
  46   1              T6963_COMMAND_REG |= T6963_WR_DISABLE;
  47   1              T6963_COMMAND_REG |= T6963_CE_DISABLE;
  48   1      }
  49          
  50          /***************************************************************
  51                  Function:       //      T6963_WriteData
  52                  Description://  向T6963控制器写入一个数据字节
  53                  Input:  //      DATA:需要写入的数据字节
  54          ***************************************************************/
  55          void T6963_WriteData(uchar uData)
C51 COMPILER V7.20   SC_T6963                                                              03/28/2008 14:02:55 PAGE 2   

  56          {
  57   1              T6963_COMMAND_REG &= T6963_DATA_WRITE;
  58   1              T6963_COMMAND_REG &= T6963_CE_ENABLE;
  59   1              T6963_COMMAND_REG &= T6963_WR_ENABLE;
  60   1              T6963_COMMAND_REG |= T6963_RD_DISABLE;
  61   1              T6963_WRITE_CODE_REG = uData;
  62   1      //      T6963_Delay(5);                 //at least 80ns
  63   1              T6963_COMMAND_REG |= T6963_WR_DISABLE;
  64   1              T6963_COMMAND_REG |= T6963_CE_DISABLE;
  65   1      }
  66          
  67          /***************************************************************
  68                  Function:       //      T6963_ReadState
  69                  Description://  从T6963控制器读取状态字节
  70                  Return: //      STATE:状态字节
  71          ***************************************************************/
  72          uchar T6963_ReadState(void)
  73          {       
  74   1              uchar uSTATE = 0;
  75   1              T6963_COMMAND_REG |= T6963_STATE_READ;
  76   1              T6963_COMMAND_REG &= T6963_CE_ENABLE;
  77   1              T6963_COMMAND_REG |= T6963_WR_DISABLE;
  78   1              T6963_COMMAND_REG &= T6963_RD_ENABLE;
  79   1      //      T6963_Delay(5);
  80   1              T6963_READ_STATE_REG = 0xFF;
  81   1              uSTATE = T6963_READ_STATE_REG;
  82   1              T6963_COMMAND_REG |= T6963_RD_DISABLE;
  83   1              T6963_COMMAND_REG |= T6963_CE_DISABLE;
  84   1              return uSTATE;
  85   1      }
  86          
  87          /***************************************************************
  88                  Function:       //      T6963_ReadData
  89                  Description://  从T6963控制器读取一个数据字节
  90                  Return:         //      DATA:数据字节
  91          ***************************************************************/
  92          uchar T6963_ReadData(void)
  93          {
  94   1              uchar uData = 0;
  95   1              T6963_COMMAND_REG &= T6963_DATA_READ;
  96   1              T6963_COMMAND_REG &= T6963_CE_ENABLE;
  97   1              T6963_COMMAND_REG |= T6963_WR_DISABLE;
  98   1              T6963_COMMAND_REG &= T6963_RD_ENABLE;
  99   1      //      T6963_Delay(5);
 100   1              T6963_READ_DATA_REG = 0xFF;
 101   1              uData = T6963_READ_DATA_REG;
 102   1              T6963_COMMAND_REG |= T6963_RD_DISABLE;
 103   1              T6963_COMMAND_REG |= T6963_CE_DISABLE;
 104   1              return uData;
 105   1      }
 106          
 107          //----------------------------------------------------------------------------------//
 108          //----------------------------------检查状态函数------------------------------------//
 109          //----------------------------------------------------------------------------------//
 110          /***************************************************************
 111                  Function:       //      T6963_CheckRDWR
 112                  Description://  读写状态检查
 113                  Calls:          //      T6963_ReadState
 114          ***************************************************************/
 115          void T6963_CheckRDWR(void)
 116          {
 117   1              uchar uSTATE;
C51 COMPILER V7.20   SC_T6963                                                              03/28/2008 14:02:55 PAGE 3   

 118   1              do
 119   1              {
 120   2                      uSTATE = T6963_ReadState();
 121   2                      uSTATE &= 0x03;
 122   2              }while(uSTATE != 0x03);
 123   1      }
 124          
 125          /***************************************************************
 126                  Function:       //      T6963_CheckAutoRD
 127                  Description://  自动读状态检查
 128                  Calls:          //      T6963_ReadState
 129          ***************************************************************/
 130          void T6963_CheckAutoRD(void)
 131          {
 132   1              uchar uSTATE;
 133   1              do
 134   1              {
 135   2                      uSTATE = T6963_ReadState();
 136   2                      uSTATE &= 0x04;
 137   2              }while(uSTATE != 0x04);
 138   1      }
 139          
 140          /***************************************************************
 141                  Function:       //      T6963_CheckAutoWR
 142                  Description://  自动写状态检查
 143                  Calls:          //      T6963_ReadState
 144          ***************************************************************/
 145          void T6963_CheckAutoWR(void)
 146          {
 147   1              uchar uSTATE;
 148   1              do
 149   1              {
 150   2                      uSTATE = T6963_ReadState();
 151   2                      uSTATE &= 0x08;
 152   2              }while(uSTATE != 0x08);
 153   1      }
 154          
 155          //----------------------------------------------------------------------------------//
 156          //--------------------------------读写函数(命令,数据)----------------------------//
 157          //----------------------------------------------------------------------------------//
 158          /***************************************************************
 159                  Function:       //      T6963_OutData
 160                  Description://  输出数据
 161                  Calls:          //      T6963_CheckRDWR T6963_WriteData 
 162          ***************************************************************/
 163          void T6963_OutData(uchar uData)
 164          {
 165   1              T6963_CheckRDWR();
 166   1              T6963_WriteData(uData);
 167   1      }
 168          
 169          /***************************************************************
 170                  Function:       //      T6963_InData
 171                  Description://  读入数据
 172                  Calls:          //      T6963_CheckRDWR T6963_ReadData
 173                  Return:         //      DATA
 174          ***************************************************************/
 175          uchar T6963_InData(void)
 176          {
 177   1              uchar uData;
 178   1              T6963_CheckRDWR();
 179   1              uData = T6963_ReadData();
C51 COMPILER V7.20   SC_T6963                                                              03/28/2008 14:02:55 PAGE 4   

 180   1              return uData;
 181   1      }
 182          
 183          /***************************************************************
 184                  Function:       //      T6963_OutCommand0byte
 185                  Description://  写无参数命令
 186                  Calls:          //      T6963_CheckRDWR T6963_WriteCode
 187          ***************************************************************/
 188          void T6963_OutCommand0byte(uchar uCommand)
 189          {
 190   1              T6963_CheckRDWR();
 191   1              T6963_WriteCode(uCommand);

⌨️ 快捷键说明

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