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 + -
显示快捷键?