zlg7290_2.lst

来自「ADUC的周立功7290可以显示的程序」· LST 代码 · 共 127 行

LST
127
字号
C51 COMPILER V8.02   ZLG7290_2                                                             08/13/2008 08:12:38 PAGE 1   


C51 COMPILER V8.02, COMPILATION OF MODULE ZLG7290_2
OBJECT MODULE PLACED IN zlg7290_2.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE zlg7290_2.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************
   2          ZLG7290.c
   3          数码管显示与键盘管理芯片ZLG7290 的标准80C51 驱动程序C 文件
   4          Copyright (c) 2005,广州周立功单片机发展有限公司
   5          All rights reserved.
   6          本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的
   7          ******************************************************************/
   8          #include "aduc845.h"
   9          #include "ZLG7290_reg.h"   
  10          #include "i2c_2.h"
  11          
  12          /****************************************************
  13          函数:ZLG7290_WriteReg()
  14          功能:向ZLG7290 的某个内部寄存器写入数据
  15          参数:
  16          RegAddr:ZLG7290 的内部寄存器地址
  17          dat:要写入的数据
  18          返回:
  19          0:正常
  20          1:访问ZLG7290 时出现异常
  21          *************************************************/
  22          bit ZLG7290_WriteReg_2(unsigned char RegAddr, char dat)
  23          {
  24   1      bit b;
  25   1      b = I2C_Puts_2(ZLG7290_I2C_ID,RegAddr,1,&dat,1);
  26   1      return b;
  27   1      }
  28          
  29          /***********************************************
  30          函数:ZLG7290_cmd_2()
  31          功能:向ZLG7290 发送控制命令
  32          参数:
  33          cmd0:写入CmdBuf0 寄存器的命令字(第1 字节)
  34          cmd1:写入CmdBuf1 寄存器的命令字(第2 字节)
  35          返回:
  36          0:正常
  37          1:访问ZLG7290 时出现异常
  38          **************************************************/
  39          bit ZLG7290_cmd_2(char cmd0, char cmd1)
  40          {
  41   1              bit b;
  42   1              char buf[2];
  43   1              buf[0] = cmd0;
  44   1              buf[1] = cmd1;
  45   1                                              EA = 0;                                                                                  
  46   1              b = I2C_Puts_2(ZLG7290_I2C_ID,ZLG7290_CmdBuf,1,buf,2);   
  47   1                                              EA = 1;
  48   1              return b;
  49   1      } 
  50          
  51          /******************************************************
  52          函数:ZLG7290_SegOnOff_2()
  53          功能:段寻址,单独点亮或熄灭数码管(或LED)中的某一段
  54          参数:
  55          seg:取值0~63,表示数码管(或LED)的段号
C51 COMPILER V8.02   ZLG7290_2                                                             08/13/2008 08:12:38 PAGE 2   

  56          b:0 表示熄灭,1 表示点亮
  57          返回:
  58          0:正常
  59          1:访问ZLG7290 时出现异常
  60          说明:
  61          在每一位数码管中,段号顺序按照“a,b,c,d,e,f,g,dp”进行
  62          *******************************************************/
  63          bit ZLG7290_SegOnOff_2(char seg, bit b)
  64          {
  65   1              char cmd;
  66   1              cmd = seg & 0x3F;
  67   1              if ( b ) cmd |= 0x80;
  68   1              return ZLG7290_cmd_2(0x01,cmd);
  69   1      }
  70          
  71          /*************************************************
  72          函数:ZLG7290_Download_2()
  73          功能:下载数据并译码
  74          参数:
  75          addr:取值0~7,显示缓存DpRam0~DpRam7 的编号
  76          dp:是否点亮该位的小数点,0-熄灭,1-点亮
  77          flash:控制该位是否闪烁,0-不闪烁,1-闪烁
  78          dat:取值0~31,表示要显示的数据
  79          返回:
  80          0:正常
  81          1:访问ZLG7290 时出现异常
  82          说明:
  83          显示数据具体的译码方式请参见ZLG7290 的数据手册
  84          *************************************************/
  85          bit ZLG7290_Download_2(char addr, bit dp, bit flash, char dat)
  86          {
  87   1              char cmd0;
  88   1              char cmd1;
  89   1              cmd0 = addr & 0x0F;
  90   1              cmd0 |= 0x60;
  91   1              cmd1 = dat & 0x1F;
  92   1              if ( dp ) cmd1 |= 0x80;
  93   1              if ( flash ) cmd1 |= 0x40; 
  94   1              return ZLG7290_cmd_2(cmd0,cmd1);
  95   1      }
  96          
  97          //void ZLG7290Init_2(void)
  98          //{
  99          //      I2C_Init_2();                              //第二个7290的初始化
 100          //}
 101          


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


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

⌨️ 快捷键说明

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