📄 zlg7290.lst
字号:
C51 COMPILER V7.50 ZLG7290 07/20/2007 15:38:41 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE ZLG7290
OBJECT MODULE PLACED IN .\ZLG7290.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE F:\0217\新建文件夹2\ZLG7290.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND P
-RINT(.\ZLG7290.lst) OBJECT(.\ZLG7290.obj)
line level source
1 /*
2 ZLG7290.c
3 数码管显示与键盘管理芯片ZLG7290的标准80C51驱动程序C文件
4 Copyright (c) 2005,广州周立功单片机发展有限公司
5 All rights reserved.
6 本程序仅供学习参考,不提供任何可靠性方面的担保;请勿用于商业目的
7 */
8
9 #include "I2C.h"
10 #include "ZLG7290.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(unsigned char RegAddr, char dat)
23 {
24 1 bit b;
25 1 b = I2C_Puts(ZLG7290_I2C_ADDR,RegAddr,1,&dat,1);
26 1 return b;
27 1 }
28
29 /*
30 函数:ZLG7290_ReadReg()
31 功能:从ZLG7290的某个内部寄存器读出数据
32 参数:
33 RegAddr:ZLG7290的内部寄存器地址
34 *dat:保存读出的数据
35 返回:
36 0:正常
37 1:访问ZLG7290时出现异常
38 */
39 bit ZLG7290_ReadReg(unsigned char RegAddr, char *dat)
40 {
41 1 bit b;
42 1 b = I2C_Gets(ZLG7290_I2C_ADDR,RegAddr,1,dat,1);
43 1 return b;
44 1 }
45
46
47 /*
48 函数:ZLG7290_cmd()
49 功能:向ZLG7290发送控制命令
50 参数:
51 cmd0:写入CmdBuf0寄存器的命令字(第1字节)
52 cmd1:写入CmdBuf1寄存器的命令字(第2字节)
53 返回:
54 0:正常
C51 COMPILER V7.50 ZLG7290 07/20/2007 15:38:41 PAGE 2
55 1:访问ZLG7290时出现异常
56 */
57 bit ZLG7290_cmd(char cmd0, char cmd1)
58 {
59 1 bit b;
60 1 char buf[2];
61 1 buf[0] = cmd0;
62 1 buf[1] = cmd1;
63 1 b = I2C_Puts(ZLG7290_I2C_ADDR,ZLG7290_CmdBuf,1,buf,2);
64 1 return b;
65 1 }
66
67 /*
68 函数:ZLG7290_SegOnOff()
69 功能:段寻址,单独点亮或熄灭数码管(或LED)中的某一段
70 参数:
71 seg:取值0~63,表示数码管(或LED)的段号
72 b:0表示熄灭,1表示点亮
73 返回:
74 0:正常
75 1:访问ZLG7290时出现异常
76 说明:
77 在每一位数码管中,段号顺序按照“a,b,c,d,e,f,g,dp”进行
78 */
79 bit ZLG7290_SegOnOff(char seg, bit b)
80 {
81 1 char cmd;
82 1 cmd = seg & 0x3F;
83 1 if ( b ) cmd |= 0x80;
84 1 return ZLG7290_cmd(0x01,cmd);
85 1 }
86
87 /*
88 函数:ZLG7290_Download()
89 功能:下载数据并译码
90
91 参数:
92 addr:取值0~7,显示缓存DpRam0~DpRam7的编号
93 dp:是否点亮该位的小数点,0-熄灭,1-点亮
94 flash:控制该位是否闪烁,0-不闪烁,1-闪烁
95 dat:取值0~31,表示要显示的数据
96 返回:
97 0:正常
98 1:访问ZLG7290时出现异常
99 说明:
100 显示数据具体的译码方式请参见ZLG7290 的数据手册
101 */
102 bit ZLG7290_Download(char addr, bit dp, bit flash, char dat)
103 {
104 1 char cmd0;
105 1 char cmd1;
106 1 cmd0 = addr & 0x0F;
107 1 cmd0 |= 0x60;
108 1 cmd1 = dat & 0x1F;
109 1 if ( dp ) cmd1 |= 0x80;
110 1 if ( flash ) cmd1 |= 0x40;
111 1 return ZLG7290_cmd(cmd0,cmd1);
112 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 146 ----
C51 COMPILER V7.50 ZLG7290 07/20/2007 15:38:41 PAGE 3
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 8
IDATA SIZE = ---- ----
BIT SIZE = ---- 6
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -