📄 zlg7290.lst
字号:
C51 COMPILER V7.20 ZLG7290 01/01/2002 03:12:21 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE ZLG7290
OBJECT MODULE PLACED IN ZLG7290.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ZLG7290.c 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 "I2C.h"
9 #include "ZLG7290.h"
10 /*
11 函数:ZLG7290_WriteReg()
12 功能:向ZLG7290 的某个内部寄存器写入数据
13 参数:
14 RegAddr:ZLG7290 的内部寄存器地址
15 dat:要写入的数据
16 返回:
17 0:正常
18 1:访问ZLG7290 时出现异常
19 */
20 bit ZLG7290_WriteReg(unsigned char RegAddr, char dat)
21 {
22 1 bit b;
23 1 b = I2C_Puts(ZLG7290_I2C_ADDR,RegAddr,1,&dat,1);
24 1 return b;
25 1 }
26 /*
27 函数:ZLG7290_ReadReg()
28 功能:从ZLG7290 的某个内部寄存器读出数据
29 参数:
30 RegAddr:ZLG7290 的内部寄存器地址
31 *dat:保存读出的数据
32 返回:
33 0:正常
34 1:访问ZLG7290 时出现异常
35 */
36 bit ZLG7290_ReadReg(unsigned char RegAddr, char *dat)
37 {
38 1 bit b;
39 1 b = I2C_Gets(ZLG7290_I2C_ADDR,RegAddr,1,dat,1);
40 1 return b;
41 1 }/*
42 函数:ZLG7290_cmd()
43 功能:向ZLG7290 发送控制命令
44 参数:
45 cmd0:写入CmdBuf0 寄存器的命令字(第1 字节)
46 cmd1:写入CmdBuf1 寄存器的命令字(第2 字节)
47 返回:
48 0:正常
49 1:访问ZLG7290 时出现异常
50 */
51 bit ZLG7290_cmd(char cmd0, char cmd1)
52 {
53 1 bit b;
54 1 char buf[2];
55 1 buf[0] = cmd0;
C51 COMPILER V7.20 ZLG7290 01/01/2002 03:12:21 PAGE 2
56 1 buf[1] = cmd1;
57 1 b = I2C_Puts(ZLG7290_I2C_ADDR,ZLG7290_CmdBuf,1,buf,2);
58 1 return b;
59 1 }
60 /*
61 函数:ZLG7290_SegOnOff()
62 功能:段寻址,单独点亮或熄灭数码管(或LED)中的某一段
63 参数:
64 seg:取值0~63,表示数码管(或LED)的段号
65 b:0 表示熄灭,1 表示点亮
66 返回:
67 0:正常
68 1:访问ZLG7290 时出现异常
69 说明:
70 在每一位数码管中,段号顺序按照“a,b,c,d,e,f,g,dp”进行
71 */
72 bit ZLG7290_SegOnOff(char seg, bit b)
73 {
74 1 char cmd;
75 1 cmd = seg & 0x3F;
76 1 if ( b ) cmd |= 0x80;
77 1 return ZLG7290_cmd(0x01,cmd);//复合指令·显示像素寻址指令
78 1 }
79 /*
80 函数:ZLG7290_Download()
81 功能:下载数据并译码
82 参数:
83 addr:取值0~7,显示缓存DpRam0~DpRam7 的编号
84 dp:是否点亮该位的小数点,0-熄灭,1-点亮
85 flash:控制该位是否闪烁,0-不闪烁,1-闪烁
86 dat:取值0~31,表示要显示的数据
87 返回:
88 0:正常
89 1:访问ZLG7290 时出现异常
90 说明:
91 显示数据具体的译码方式请参见ZLG7290 的数据手册
92 */
93 bit ZLG7290_Download(char addr, bit dp, bit flash, char dat)
94 {
95 1 char cmd0;
96 1 char cmd1;
97 1 cmd0 = addr & 0x0F;
98 1 cmd0 |= 0x60;
99 1 cmd1 = dat & 0x1F;
100 1 if ( dp ) cmd1 |= 0x80;
101 1 if ( flash ) cmd1 |= 0x40;
102 1 return ZLG7290_cmd(cmd0,cmd1);
103 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 146 ----
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 + -