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

📄 zlg7289.lst

📁 lcd测试程序
💻 LST
字号:
C51 COMPILER V7.01  ZLG7289                                                                01/04/1999 22:11:18 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          sbit    ZLG7289_CS      = P2^3;
  12          sbit    ZLG7289_CLK     = P2^4;
  13          sbit    ZLG7289_DIO     = P2^5;
  14          
  15          
  16          
  17          /****************************************************************************
  18          * 名称:Delay8uS
  19          * 功能:8uS软件延时
  20          * 说明:用户根据自已的系统相应更改
  21          ****************************************************************************/
  22          void Delay8uS(void)
  23          { uchar i;
  24   1        for(i=0; i<4; i++);
  25   1      }
  26          
  27          
  28          /****************************************************************************
  29          * 名称:Delay50uS
  30          * 功能:50uS软件延时
  31          * 说明:用户根据自已的系统相应更改
  32          ****************************************************************************/
  33          void Delay50uS(void)
  34          { uchar i;
  35   1        for(i=0; i<25; i++);
  36   1      }
  37          
  38          
  39          /****************************************************************************
  40          * 名称:ZLG7289_SendByte
  41          * 功能:发送字节数据,高位在前,符合ZLG7289传输协议。
  42          * 入口参数:dat         待发送的数据
  43          * 注意:使用此函数前要选择ZLG7289,即ZLG7289_CS = 0;  
  44          *       本函数不操作ZLG7289_CS
  45          ****************************************************************************/
  46          void ZLG7289_SendByte(uchar dat)
  47          { uchar i;
  48   1        Delay50uS();                                          // 延时,T1 
  49   1        for(i=0; i<8; i++)
  50   1        { if( (dat&0x80)==0 ) ZLG7289_DIO = 0;
  51   2            else ZLG7289_DIO = 1;
  52   2              dat = dat<<1;                                   // 数据移位
  53   2          ZLG7289_CLK = 1;                            // 发送CLK脉冲
  54   2          Delay8uS();                                         // 延时,T2
  55   2              ZLG7289_CLK = 0;
C51 COMPILER V7.01  ZLG7289                                                                01/04/1999 22:11:18 PAGE 2   

  56   2              Delay8uS();                                             // 延时,T3
  57   2        }
  58   1      
  59   1        ZLG7289_DIO = 0;
  60   1      }
  61          
  62          
  63          /****************************************************************************
  64          * 名称:ZLG7289_SendCommand
  65          * 功能:向ZLG7289发送命令。
  66          * 入口参数:com         待发送的命令字
  67          ****************************************************************************/
  68          void ZLG7289_SendCommand(uchar com)
  69          { ZLG7289_CLK = 0;
  70   1        ZLG7289_CS = 0;
  71   1        ZLG7289_SendByte(com);                        // 将命令发送出去
  72   1        ZLG7289_CS = 1;
  73   1      }
  74          
  75          /****************************************************************************
  76          * 名称:ZLG7289_SendData
  77          * 功能:向ZLG7289发送数据。即带数据的命令。
  78          * 入口参数:com         待发送的命令字
  79          *           dat     待发送的数据
  80          ****************************************************************************/
  81          void ZLG7289_SendData(uchar com, uchar dat)
  82          { ZLG7289_CLK = 0;
  83   1        ZLG7289_CS = 0;
  84   1        ZLG7289_SendByte(com);
  85   1        Delay50uS();                                          // 延时,T4
  86   1        ZLG7289_SendByte(dat);
  87   1        ZLG7289_CS = 1;
  88   1      }
  89          
  90          
  91          /****************************************************************************
  92          * 名称:ZLG7289_SendBuf
  93          * 功能:向ZLG7289发送显示数据,8字节,不译码。
  94          * 入口参数:buf         显示数据缓冲区指针
  95          ****************************************************************************/
  96          void ZLG7289_SendBuf(uchar *buf)
  97          { uchar i;
  98   1        for(i=0; i<8; i++)
  99   1        { ZLG7289_SendData(Z_DISPADR0+i, *buf++);
 100   2        }
 101   1      }
 102          
 103          
 104          /****************************************************************************
 105          * 名称:ZLG7289_FillDat
 106          * 功能:显示填充。显示不译码。
 107          * 入口参数:dat         待填充的显示数据
 108          ****************************************************************************/
 109          void ZLG7289_SendFillDat(uchar dat)
 110          { uchar i;
 111   1        for(i=0; i<8; i++)
 112   1        { ZLG7289_SendData(Z_DISPADRX+i, dat);
 113   2        }
 114   1      }
 115          
 116          
 117          
C51 COMPILER V7.01  ZLG7289                                                                01/04/1999 22:11:18 PAGE 3   

 118          
 119          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    191    ----
   CONSTANT SIZE    =   ----    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----      13
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


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

⌨️ 快捷键说明

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