📄 7290test.lst
字号:
C51 COMPILER V7.10 7290TEST 07/23/2004 18:36:40 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE 7290TEST
OBJECT MODULE PLACED IN 7290test.OBJ
COMPILER INVOKED BY: e:\Keil\C51\BIN\C51.EXE 7290test.c BROWSE INTVECTOR(0X8000) DEBUG OBJECTEXTEND
line level source
1 /****************************************Copyright (c)**************************************************
2 ** 广州周立功单片机发展有限公司
3 ** 研 究 所
4 ** 产品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 **--------------文件信息--------------------------------------------------------------------------------
9 **文 件 名: PCF8563.C
10 **创 建 人: 叶皓贲
11 **最后修改日期: 2003-3-4
12 **描 述: DP-1581的8563T及7289a键盘LED演示程序
13 **
14 **--------------历史版本信息----------------------------------------------------------------------------
15 ** 创建人: 叶皓贲
16 ** 版 本: 1.0
17 ** 日 期: 2003-3-4
18 ** 描 述: DP-1581演示程序
19 **
20 **------------------------------------------------------------------------------------------------------
21 ** 修改人:
22 ** 版 本:
23 ** 日 期:
24 ** 描 述:
25 **
26 **--------------当前版本修订------------------------------------------------------------------------------
27 ** 修改人:
28 ** 日 期:
29 ** 描 述:
30 **
31 **------------------------------------------------------------------------------------------------------
32 ********************************************************************************************************/
33 #include "REG52.h"
34 #include <intrins.h>
35 #include <absacc.h>
36 #include "VIIC_C51.h"
37 #include "ZLG7290.h"
38
39 #define PCF8563 0XA2
40 #define WRADDR 0x00
41 #define RDADDR 0x02
42
43 sbit KEY_INT=P3^2;
44
45 /* 全局变量 */
46
47 unsigned char disp_buf[8]={0,0,0,0,0,0,0,0};
48
49 /*********************************************************************************************************
50 ** 函数名称: display
51 ** 功能描述: 7298A led显示
52 ** 输 入: *sd : 显示缓冲区的头地址
53 **
54 ** 输 出: 0 : OK;
55 ** 1 : FAIL;
C51 COMPILER V7.10 7290TEST 07/23/2004 18:36:40 PAGE 2
56 ** 全局变量: 无
57 ** 调用模块: ZLG7289_SendBuf
58 **
59 ** 作 者: 叶皓贲
60 ** 日 期: 2003-3-4
61 **-------------------------------------------------------------------------------------------------------
62 ** 修改人:
63 ** 日 期:
64 **------------------------------------------------------------------------------------------------------
65 ********************************************************************************************************/
66 unsigned char display(unsigned char *sd)
67 {
68 1 disp_buf[0] = (disp_buf[0]&0xf0)|(sd[0]%16); // 装载" dp-932"
69 1 disp_buf[1] = (disp_buf[1]&0xf0)|(sd[0]/16);
70 1 disp_buf[2] = 31;
71 1 disp_buf[3] = (disp_buf[3]&0xf0)|(sd[1]%16);
72 1 disp_buf[4] = (disp_buf[4]&0xf0)|(sd[1]/16);
73 1 disp_buf[5] = 31;
74 1 disp_buf[6] = (disp_buf[6]&0xf0)|(sd[2]%16);
75 1 disp_buf[7] = (disp_buf[7]&0xf0)|(sd[2]/16);
76 1 ZLG7290_SendBuf(disp_buf,8);
77 1 return 0;
78 1 }
79
80 /*********************************************************************************************************
81 ** 函数名称: DelayNS
82 ** 功能描述: 长软件延时
83 ** 输 入: no : 延时参数,值越大时延时越久
84 **
85 ** 输 出: 0 : OK;
86 ** 1 : FAIL;
87 ** 全局变量: 无
88 ** 调用模块: 无
89 **
90 ** 作 者: 叶皓贲
91 ** 日 期: 2003-3-4
92 **-------------------------------------------------------------------------------------------------------
93 ** 修改人:
94 ** 日 期:
95 **------------------------------------------------------------------------------------------------------
96 ********************************************************************************************************/
97 unsigned char DelayNS(unsigned char no)
98 {
99 1 unsigned char i,j; //延时参数
100 1
101 1 for(; no>0; no--)
102 1 {
103 2 for(i=0; i<100; i++)
104 2 for(j=0; j<100; j++);
105 2 }
106 1 return 0;
107 1 }
108
109 /*********************************************************************************************************
110 ** 函数名称: delay
111 ** 功能描述: 短软件延时
112 ** 输 入: j : 延时参数,值越大时延时越久
113 **
114 ** 输 出: 0 : OK;
115 ** 1 : FAIL;
116 ** 全局变量: 无
117 ** 调用模块: 无
C51 COMPILER V7.10 7290TEST 07/23/2004 18:36:40 PAGE 3
118 **
119 ** 作 者: 叶皓贲
120 ** 日 期: 2003-3-4
121 **-------------------------------------------------------------------------------------------------------
122 ** 修改人:
123 ** 日 期:
124 **------------------------------------------------------------------------------------------------------
125 ********************************************************************************************************/
126 unsigned char delay(unsigned char j)
127 {
128 1 unsigned char k,l;
129 1 for(l=0;l<=j;l++)
130 1 for(k=0;k<=250;k++);
131 1 return 0;
132 1 }
133
134 void main()
135 {
136 1 /*定义发送缓冲区*/
137 1 unsigned char td[5]={0x00,0x12,0x48,0x30,0x12};
138 1 unsigned char rd[5]={0x00,0x01,0x02,0x03,0x04};
139 1 unsigned char key,flash,i,k;
140 1
141 1 ISendStr(PCF8563,WRADDR,td,0x5);
142 1 flash=1;
143 1 //ZLG7290_Rest(); // 复位ZLG7289
144 1 DelayNS(10);
145 1 while(1)
146 1 {
147 2 IRcvStr(PCF8563,RDADDR,rd,0x3);
148 2 if(rd[2]>0x30)
149 2 rd[2]=rd[2]-0x40;
150 2 delay(100);
151 2 display(rd);
152 2 delay(100);
153 2 if(KEY_INT==0)
154 2 {
155 3 key=ZLG7290_GetKey();
156 3 switch(key)
157 3 {
158 4 case 1 ://确定
159 4 for(k=0;k<8;k++)
160 4 {
161 5 disp_buf[k] = disp_buf[k]&0xbf;//去除闪烁
162 5 }
163 4 break;
164 4 case 2 : //光标左移
165 4 disp_buf[flash]= disp_buf[flash]&0xbf;
166 4 flash=flash+1;
167 4 if(flash==8)
168 4 flash=0;
169 4 disp_buf[flash]= disp_buf[flash]|0x40;
170 4 //ZLG7290_SendData(0x88, flash);
171 4 break;
172 4 case 3 : //光标右移
173 4 disp_buf[flash]= disp_buf[flash]&0xbf;
174 4 flash=flash-1;
175 4 if(flash==0)
176 4 flash=8;
177 4 disp_buf[flash]= disp_buf[flash]|0x40;
178 4 break;
179 4 case 4 : //光标值加一
C51 COMPILER V7.10 7290TEST 07/23/2004 18:36:40 PAGE 4
180 4 if(flash==2||flash==5) break;
181 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
182 4 if((flash%3)==0)
183 4 {
184 5 i=flash;
185 5 i=(i/3);
186 5 rd[i]=rd[i]+1;
187 5 }
188 4 else if((flash%3)!=0)
189 4 {
190 5 i=flash;
191 5 i=(i/3);
192 5 rd[i]=rd[i]+16;
193 5 }
194 4 delay(50);
195 4 ISendStr(PCF8563,RDADDR,rd,0x3);
196 4 delay(50);
197 4 break;
198 4 case 5 : //光标值减一
199 4 if(flash==2||flash==5) break;
200 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
201 4 //key=flash;
202 4 if((flash%3)==0)
203 4 {
204 5 i=flash;
205 5 i=(i/3);
206 5 rd[i]=rd[i]-1;
207 5 }
208 4 else if((flash%3)!=0)
209 4 {
210 5 i=flash;
211 5 i=(i/3);
212 5 rd[i]=rd[i]-16;
213 5 }
214 4 delay(50);
215 4 ISendStr(PCF8563,RDADDR,rd,0x3);
216 4 delay(50);
217 4 break;
218 4 case 6 :
219 4
220 4 break;
221 4 case 7 :
222 4
223 4 break;
224 4 case 8 :
225 4 break;
226 4 default :
227 4 break;
228 4 }
229 3 while(KEY_INT==0);
230 3 }
231 2 }
232 1 }
233
234
235
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 551 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
C51 COMPILER V7.10 7290TEST 07/23/2004 18:36:40 PAGE 5
PDATA SIZE = ---- ----
DATA SIZE = 8 12
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 + -