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

📄 drivert6963.lst

📁 基于MCS-51的电子指南针完整程序包 如果需要原理图的
💻 LST
📖 第 1 页 / 共 4 页
字号:
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 1   


C51 COMPILER V8.08, COMPILATION OF MODULE DRIVERT6963
OBJECT MODULE PLACED IN .\4.Obj\DriverT6963.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 3.Source\DriverT6963.c BROWSE INCDIR(.\2.Inc) DEBUG OBJECTEXTEND PRINT(.\5.
                    -List\DriverT6963.lst) OBJECT(.\4.Obj\DriverT6963.obj)

line level    source

   1          /**********************************************************************************************
   2          ***模块名称: T6963 驱动库                                                                  ***
   3          ***模块功能:                                                                               ***                                                                                 
             -                                                                                               
   4          ***作    者: METAL MAX                                                                     ***
   5          ***调用方式:                                                                               ***
   6          ***日    志: 日期        版本    修改人      事件                                          ***
   7          ***           2007/9/13   V1.00   METAL MAX   搭建程序框架                                  ***
   8          ***           2007/9/14   V1.01   METAL MAX   具体底层程序添加                              ***
   9          ***           2007/9/15   V1.02   METAL MAX   具体底层程序添加                              ***
  10          ***           2007/9/16   V1.03   METAL MAX   具体底层程序添加                              ***
  11          ***           2008/5/22   V2.0    METAL MAX   将文件合成为一个库文件                        *** 
  12          ***备    注:                                                                               ***
  13          **********************************************************************************************/
  14          #include <intrins.h>
  15          #include <reg52.h>
  16          #include <math.h>
  17          #include "PinDefine.h"                          //端口定义头文件
  18          #include "DriverT6963.h"                        //T6963驱动库
  19          
  20          #define   CursorPointer             0X21                   //设置光标指针   
  21          #define   OffsetRegister            0X22                   //设置偏移寄存器   
  22          #define   AddrPointer               0X24                   //设置地址指示器   
  23           //6963设置控制命令定义   
  24          #define   TextHomeAddr              0X40                   //设置正文首地址   
  25          #define   TextArea                  0X41                   //设置正文区域(宽度)   
  26          #define   GraphicHomeAddr           0X42                   //设置图形首地址   
  27          #define   GraphicArea               0X43                   //设置图形区域(宽度)   
  28          //6963模式设置   
  29          #define   ORModeIn                  0X80                   //设置片内CGROM,为或模式,   
  30          #define   EXORModeIn                0X81                   //设置片内CGROM,为异或模式,   
  31          #define   ANDModeIn                 0X83                   //设置片内CGROM,为与模式   
  32          #define   TextAttributeModeIn       0X84                   //设置片内CGROM,为文本模式 
  33          #define   ORModeEx                  0X88                   //设置片外CGROM,为或模式,   
  34          #define   EXORModeEx                0X89                   //设置片外CGROM,为异或模式,   
  35          #define   ANDModeEx                 0X8B                   //设置片外CGROM,为与模式   
  36          #define   TextModeEx                0X8C                   //设置片外CGROM,为文本模式   
  37          //内、外部CGROM设置    
  38          #define   CGROMIN                   0X98                   //   
  39          #define   CGROMEX                   0X9C                   //   
  40          //6963设置显示模式命令定义
  41          //显示模式控制位定义;
  42          /**************************************************************************************/
  43          //      7  6  5  4       3        2       1           0        
  44          //      1  0  0  1         Graphic  Text    Cursor          CursorBlink
  45          //            9                 x                 x               x                       x                H
  46          /**************************************************************************************/
  47          #define   DisplayOff                0X90                   //显示关   
  48              
  49          #define   CursorOnBlinkOff          0X92                   //光标开,闪光关   
  50          #define   CursorOnBlinkOn           0X93                   //光标开,闪光开   
  51          #define   TextOnGraphicOff          0X94                   //文本开,图像关   
  52          #define   TextOffGraphicOn          0X98                   //文本关,图像开   
  53          #define   TextOnGraphicOn           0X9C                   //文本开,图像开   
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 2   

  54          //6963设置光标式样命令定义   
  55          #define   CursorL1                  0XA0                   //设置光标一行   
  56          #define   CursorL2                  0XA1                   //设置光标二行   
  57          #define   CursorL3                  0XA2                   //设置光标三行   
  58          #define   CursorL4                  0XA3                   //设置光标四行   
  59          #define   CursorL5                  0XA4                   //设置光标五行   
  60          #define   CursorL6                  0XA5                   //设置光标六行   
  61          #define   CursorL7                  0XA6                   //设置光标七行   
  62          #define   CursorL8                  0XA7                   //设置光标八行   
  63          //6963数据自动读写命令定义   
  64          #define   AutoWrite                 0XB0                   //设置数据自动写   
  65          #define   AutoRead                  0XB1                   //设置数据自动读   
  66          #define   AutoReset                 0XB2                   //设置自动复位   
  67          //6963数据读写命令定义   
  68          #define   WriteIADP                 0XC0                   //数据自动写,地址自动增加   
  69          #define   ReadIADP                  0XC1                   //数据自动读,地址自动增加   
  70          #define   WriteDADP                 0XC2                   //数据自动写,地址自动减少   
  71          #define   ReadDADP                  0XC3                   //数据自动读,地址自动减少   
  72          #define   WriteNoADP                0XC4                   //数据自动写,地址不变   
  73          #define   ReanNoADP                 0XC5                   //数据自动读,地址不变   
  74          //6963屏幕闪烁命令定义   
  75          #define   ScreenPeek                0XE0                   //屏幕闪烁   
  76          //6963屏幕复制命令定义   
  77          #define   ScreenCopy                0XE4                   //屏幕复制 
  78          
  79          /**********************************************************************************************
  80          **函数名称:LCM内部标志位查询程序组                                                          **
  81          **函数功能:查询LCM内部运行标志                                                                                                                          **   
  82          **入口参数:无                                                                                                                                                           **   
  83          **出口参数:无                                                                               **
  84          **具体资源:                                                                                 **
  85          **调用程序:                                                                                 **
  86          **备注:                                                                                     **
  87          **********************************************************************************************/ 
  88          unsigned char GetLCMStatus(void)              //读取状态值
  89          {
  90   1         unsigned char temp;
  91   1         DPORT_LCM = 0XFF;
  92   1         CD_LCM = 1;
  93   1         CE_LCM = 0;
  94   1         WR_LCM = 1;
  95   1         RD_LCM = 0;
  96   1         _nop_();
  97   1         _nop_();
  98   1         _nop_();
  99   1         _nop_();
 100   1         temp = DPORT_LCM;
 101   1         _nop_();
 102   1         RD_LCM = 1;
 103   1         CE_LCM = 1;
 104   1         CD_LCM = 0;
 105   1         return(temp);
 106   1      }
 107          
 108          void St01Chk(void)            //判断第0,1位是否为1
 109          {
 110   1         unsigned char temp;
 111   1      
 112   1         do
 113   1         {
 114   2             temp = GetLCMStatus();
 115   2         }while((temp & 0x01)&(temp & 0x02));
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 3   

 116   1      }
 117                  
 118          void AutoChk(void)             //判断第2位
 119          {
 120   1          unsigned char temp;
 121   1      
 122   1         do
 123   1         {
 124   2             temp = GetLCMStatus();
 125   2         }while((temp & 0x04) & (temp &0X08));
 126   1      }
 127          
 128          void St4Chk(void)                       //判断第4位
 129          {
 130   1          unsigned char temp;
 131   1      
 132   1         do
 133   1         {
 134   2             temp = GetLCMStatus();
 135   2         }while(temp & 0x10);
 136   1      }
 137          
 138          void St5Chk(void)                       //判断第5位
 139          {
 140   1          unsigned char temp;
 141   1      
 142   1         do
 143   1         {
 144   2             temp = GetLCMStatus();
 145   2         }while(temp & 0x20);
 146   1      }
 147          
 148          void St6Chk(void)                  //判断第6位
 149          {
 150   1          unsigned char temp;
 151   1      
 152   1         do
 153   1         {
 154   2             temp = GetLCMStatus();
 155   2         }while(temp & 0x40);
 156   1      }
 157          
 158          void St7Chk(void)                  //判断第7位
 159          {
 160   1          unsigned char temp;
 161   1      
 162   1         do
 163   1         {
 164   2             temp = GetLCMStatus();
 165   2         }while(temp & 0x80);
 166   1      }
 167          
 168          
 169          /**********************************************************************************************
 170          **函数名称: void LowWriteCmd(unsigned char CMD)                                             **
 171          **函数功能: 完成底层命令写入                                                                **
 172          **入口参数:                                                                                 **
 173          **出口参数:                                                                                 **
 174          **具体资源:                                                                                 **
 175          **调用程序:                                                                                 **
 176          **备注:                                                                                     **
 177          **********************************************************************************************/ 
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 4   

 178          void LowWriteCmd(unsigned char CMD)
 179          {
 180   1              St01Chk();
 181   1              CD_LCM = 1;
 182   1              CE_LCM = 0;
 183   1              RD_LCM = 1;
 184   1              WR_LCM = 0;
 185   1              _nop_();
 186   1              DPORT_LCM = CMD;
 187   1              _nop_();
 188   1              WR_LCM = 1;
 189   1              CE_LCM = 1;
 190   1              CD_LCM = 0;
 191   1      }
 192          
 193          
 194          /**********************************************************************************************
 195          **函数名称:                                                                                 **
 196          **函数功能:                                                                                 **
 197          **入口参数:                                                                                 **
 198          **出口参数:                                                                                 **
 199          **具体资源:                                                                                 **
 200          **调用程序:                                                                                 **
 201          **备注:                                                                                     **
 202          **********************************************************************************************/  
 203          void LowWriteData(unsigned char DAT)
 204          {
 205   1          St01Chk();
 206   1              CD_LCM = 0;
 207   1              CE_LCM = 0;
 208   1              RD_LCM = 1;
 209   1              WR_LCM = 0;
 210   1              _nop_();
 211   1              DPORT_LCM = DAT;
 212   1              _nop_();
 213   1              WR_LCM = 1;
 214   1              CE_LCM = 1;
 215   1              CD_LCM = 0;
 216   1      }
 217          
 218          
 219          /**********************************************************************************************
 220          **函数名称:                                                                                 **
 221          **函数功能:                                                                                 **
 222          **入口参数:                                                                                 **
 223          **出口参数:                                                                                 **
 224          **具体资源:                                                                                 **
 225          **调用程序:                                                                                 **
 226          **备注:                                                                                     **
 227          **********************************************************************************************/ 
 228          void WCIntData(unsigned char CMD, unsigned int DAT)
 229          {
 230   1          unsigned char temp;
 231   1      
 232   1              temp = DAT;       //lower 8 bits.       
 233   1              LowWriteData(temp);
 234   1              temp = DAT >> 8;  //uper 8 bits.
 235   1              LowWriteData(temp);     
 236   1              LowWriteCmd(CMD);
 237   1      }
 238          
 239          /**********************************************************************************************
C51 COMPILER V8.08   DRIVERT6963                                                           06/18/2008 01:56:31 PAGE 5   

 240          **函数名称:                                                                                 **

⌨️ 快捷键说明

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