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

📄 zlg7289.lst

📁 学习51单片机得一些例程原码,学习交流,欢迎大家和我探讨,jjzhang166@163.com
💻 LST
字号:
C51 COMPILER V7.01  ZLG7289                                                                01/11/1999 14:12:37 PAGE 1   


C51 COMPILER V7.01, COMPILATION OF MODULE ZLG7289
OBJECT MODULE PLACED IN Zlg7289.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE Zlg7289.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /****************************************************************************
   2          * File:ZLG7289.C
   3          * 功能:ZLG7289A键盘显示芯片显示驱动程序。
   4          * 说明:MCS-51单片机,晶振不要大于12MHz。
   5          ****************************************************************************/
   6          
   7          #include <Reg51.h>
   8          #include "ZLG7289.H"
   9          
  10          // 定义控制口线,用户根据自已的系统相应更改
  11          
  12          
  13          bit temp;
  14          
  15          
  16          /****************************************************************************
  17          * 名称:Delay8uS
  18          * 功能:8uS软件延时
  19          * 说明:用户根据自已的系统相应更改
  20          ****************************************************************************/
  21          void Delay8uS(void)
  22          { uchar i;
  23   1        for(i=0; i<4; i++);
  24   1      }
  25          
  26          
  27          /****************************************************************************
  28          * 名称:Delay50uS
  29          * 功能:50uS软件延时
  30          * 说明:用户根据自已的系统相应更改
  31          ****************************************************************************/
  32          void Delay50uS(void)
  33          { uchar i;
  34   1        for(i=0; i<25; i++);
  35   1      }
  36          
  37          
  38          /****************************************************************************
  39          * 名称:ZLG7289_SendByte
  40          * 功能:发送字节数据,高位在前,符合ZLG7289传输协议。
  41          * 入口参数:dat         待发送的数据
  42          * 注意:使用此函数前要选择ZLG7289,即ZLG7289_CS = 0;  
  43          *       本函数不操作ZLG7289_CS
  44          ****************************************************************************/
  45          void ZLG7289_SendByte(uchar dat)
  46          { uchar i;
  47   1        Delay50uS();                                          // 延时,T1 
  48   1        for(i=0; i<8; i++)
  49   1        { if( (dat&0x80)==0 ) ZLG7289_DIO = 0;
  50   2            else ZLG7289_DIO = 1;
  51   2              dat = dat<<1;                                   // 数据移位
  52   2          ZLG7289_CLK = 1;                            // 发送CLK脉冲
  53   2          Delay8uS();                                         // 延时,T2
  54   2              ZLG7289_CLK = 0;
  55   2              Delay8uS();                                             // 延时,T3
C51 COMPILER V7.01  ZLG7289                                                                01/11/1999 14:12:37 PAGE 2   

  56   2        }
  57   1      
  58   1        ZLG7289_DIO = 0;
  59   1      }
  60          
  61          uchar ZLG7289_RcvByte()
  62          { uchar i,dat=0;
  63   1              ZLG7289_DIO=1;
  64   1        Delay50uS();                                          // 延时,T1 
  65   1        for(i=0; i<8; i++)
  66   1        { 
  67   2              ZLG7289_CLK = 1;// 发送CLK脉冲
  68   2              dat = dat<<1;                                   // 数据移位
  69   2              Delay8uS();     
  70   2              dat=dat+(uchar)ZLG7289_DIO;       
  71   2              ZLG7289_CLK = 0;
  72   2          Delay8uS();                                                 // 延时,T2
  73   2        }
  74   1      
  75   1              ZLG7289_DIO = 0;
  76   1              return dat;
  77   1      }
  78          /****************************************************************************
  79          * 名称:ZLG7289_SendCommand
  80          * 功能:向ZLG7289发送命令。
  81          * 入口参数:com         待发送的命令字
  82          ****************************************************************************/
  83          void ZLG7289_SendCommand(uchar com)
  84          { 
  85   1              ZLG7289_CLK = 0;
  86   1              ZLG7289_CS = 0;
  87   1              ZLG7289_SendByte(com);                  // 将命令发送出去
  88   1              ZLG7289_CS = 1;
  89   1      }
  90          
  91          uchar ZLG7289_GetKey()
  92          {       
  93   1              uchar dat,i;
  94   1              ZLG7289_CLK = 0;
  95   1              ZLG7289_CS = 0;
  96   1              Delay50uS();
  97   1              dat=0x15;               // 延时,T1 
  98   1              for(i=0; i<8; i++)
  99   1              { if( (dat&0x80)==0 ) ZLG7289_DIO = 0;
 100   2            else ZLG7289_DIO = 1;
 101   2              dat = dat<<1;                                   // 数据移位
 102   2          ZLG7289_CLK = 1;                            // 发送CLK脉冲
 103   2          Delay8uS();                                         // 延时,T2
 104   2              ZLG7289_CLK = 0;
 105   2              Delay8uS();                                             // 延时,T3
 106   2              }
 107   1              dat=0;
 108   1              Delay50uS();
 109   1              for(i=0; i<8; i++)
 110   1              { 
 111   2                      ZLG7289_CLK = 1;// 发送CLK脉冲'
 112   2                      Delay8uS();     
 113   2                      
 114   2                      temp=ZLG7289_DIO;
 115   2                      dat=dat<<1;
 116   2                      dat=dat+(uchar)temp;
 117   2                      ZLG7289_CLK = 0;
C51 COMPILER V7.01  ZLG7289                                                                01/11/1999 14:12:37 PAGE 3   

 118   2                      Delay8uS();     
 119   2              }
 120   1              ZLG7289_DIO = 0;
 121   1              ZLG7289_CS = 1;
 122   1              return dat;
 123   1      }
 124          
 125          /****************************************************************************
 126          * 名称:ZLG7289_SendData
 127          * 功能:向ZLG7289发送数据。即带数据的命令。
 128          * 入口参数:com         待发送的命令字
 129          *           dat     待发送的数据
 130          ****************************************************************************/
 131          void ZLG7289_SendData(uchar com, uchar dat)
 132          { ZLG7289_CLK = 0;
 133   1        ZLG7289_CS = 0;
 134   1        ZLG7289_SendByte(com);
 135   1        Delay50uS();                                          // 延时,T4
 136   1        ZLG7289_SendByte(dat);
 137   1        ZLG7289_CS = 1;
 138   1      }
 139          
 140          
 141          /****************************************************************************
 142          * 名称:ZLG7289_SendBuf
 143          * 功能:向ZLG7289发送显示数据,8字节,不译码。
 144          * 入口参数:buf         显示数据缓冲区指针
 145          ****************************************************************************/
 146          void ZLG7289_SendBuf(uchar *buf)
 147          { uchar i;
 148   1        for(i=0; i<8; i++)
 149   1        { ZLG7289_SendData(Z_DISPADR1+i, *buf++);
 150   2        }
 151   1      }
 152          
 153          
 154          /****************************************************************************
 155          * 名称:ZLG7289_FillDat
 156          * 功能:显示填充。显示不译码。
 157          * 入口参数:dat         待填充的显示数据
 158          ****************************************************************************/
 159          void ZLG7289_SendFillDat(uchar dat)
 160          { uchar i;
 161   1        for(i=0; i<8; i++)
 162   1        { ZLG7289_SendData(Z_DISPADRX+i, dat);
 163   2        }
 164   1      }
 165          
 166          
 167          
 168          
 169          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    352    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      17
   IDATA SIZE       =   ----    ----
   BIT SIZE         =      1    ----
C51 COMPILER V7.01  ZLG7289                                                                01/11/1999 14:12:37 PAGE 4   

END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

⌨️ 快捷键说明

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