📄 pcf8563.lst
字号:
C51 COMPILER V7.01 PCF8563 01/06/1999 10:14:17 PAGE 1
C51 COMPILER V7.01, COMPILATION OF MODULE PCF8563
OBJECT MODULE PLACED IN PCF8563.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE PCF8563.c OPTIMIZE(2,SPEED) BROWSE DEBUG OBJECTEXTEND
stmt 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
34 #include "config.h"
35
36 /* 全局变量 */
37
38 uint8 disp_buf[8]={0,0,0,0,0,0,0,0};
39
40 /*********************************************************************************************************
41 ** 函数名称: display
42 ** 功能描述: 7298A led显示
43 ** 输 入: *sd : 显示缓冲区的头地址
44 **
45 ** 输 出: 0 : OK;
46 ** 1 : FAIL;
47 ** 全局变量: 无
48 ** 调用模块: ZLG7289_SendBuf
49 **
50 ** 作 者: 叶皓贲
51 ** 日 期: 2003-3-4
52 **-------------------------------------------------------------------------------------------------------
53 ** 修改人:
54 ** 日 期:
55 **------------------------------------------------------------------------------------------------------
C51 COMPILER V7.01 PCF8563 01/06/1999 10:14:17 PAGE 2
56 ********************************************************************************************************/
57 uint8 display(uint8 *sd)
58 {
59 1 disp_buf[0] = sd[2]/16; // 装载" dp-932"
60 1 disp_buf[1] = sd[2]%16;
61 1 disp_buf[2] = 10;
62 1 disp_buf[3] = sd[1]/16;
63 1 disp_buf[4] = sd[1]%16;
64 1 disp_buf[5] = 10;
65 1 disp_buf[6] = sd[0]/16;
66 1 disp_buf[7] = sd[0]%16;
67 1 ZLG7289_SendBuf(disp_buf);
68 1 return 0;
69 1 }
70
71 /*********************************************************************************************************
72 ** 函数名称: DelayNS
73 ** 功能描述: 长软件延时
74 ** 输 入: no : 延时参数,值越大时延时越久
75 **
76 ** 输 出: 0 : OK;
77 ** 1 : FAIL;
78 ** 全局变量: 无
79 ** 调用模块: 无
80 **
81 ** 作 者: 叶皓贲
82 ** 日 期: 2003-3-4
83 **-------------------------------------------------------------------------------------------------------
84 ** 修改人:
85 ** 日 期:
86 **------------------------------------------------------------------------------------------------------
87 ********************************************************************************************************/
88 uint8 DelayNS(uint8 no)
89 {
90 1 uint8 i,j; //延时参数
91 1
92 1 for(; no>0; no--)
93 1 {
94 2 for(i=0; i<100; i++)
95 2 for(j=0; j<100; j++);
96 2 }
97 1 return 0;
98 1 }
99
100 /*********************************************************************************************************
101 ** 函数名称: delay
102 ** 功能描述: 短软件延时
103 ** 输 入: j : 延时参数,值越大时延时越久
104 **
105 ** 输 出: 0 : OK;
106 ** 1 : FAIL;
107 ** 全局变量: 无
108 ** 调用模块: 无
109 **
110 ** 作 者: 叶皓贲
111 ** 日 期: 2003-3-4
112 **-------------------------------------------------------------------------------------------------------
113 ** 修改人:
114 ** 日 期:
115 **------------------------------------------------------------------------------------------------------
116 ********************************************************************************************************/
117 uint8 delay(uint8 j)
C51 COMPILER V7.01 PCF8563 01/06/1999 10:14:17 PAGE 3
118 {
119 1 uint8 k,l;
120 1 for(l=0;l<=j;l++)
121 1 for(k=0;k<=250;k++);
122 1 return 0;
123 1 }
124
125 void main()
126 {
127 1 /*定义发送缓冲区*/
128 1 uint8 td[5]={0x00,0x12,0x48,0x30,0x12};
129 1 uint8 rd[5]={0x00,0x01,0x02,0x03,0x04};
130 1 uint8 key,flash=0xf7,i,j;
131 1
132 1 ISendStr(PCF8563,WRADDR,td,0x5);
133 1 ZLG7289_Rest(); // 复位ZLG7289
134 1 DelayNS(10);
135 1 while(1)
136 1 {
137 2 IRcvStr(PCF8563,RDADDR,rd,0x3);
138 2 if(rd[2]>0x30)
139 2 rd[2]=rd[2]-0x40;
140 2 delay(100);
141 2 display(rd);
142 2 delay(100);
143 2 if(KEY_INT==0)
144 2 {
145 3 key=ZLG7289_GetKey();
146 3 switch(key)
147 3 {
148 4 case 0 : //确定
149 4 ZLG7289_SendData(0x88, 0xff);
150 4 break;
151 4 case 1 : //光标左移
152 4 flash= _crol_ (flash, 1);
153 4 ZLG7289_SendData(0x88, flash);
154 4 break;
155 4 case 2 : //光标右移
156 4 flash= _cror_ (flash, 1);
157 4 ZLG7289_SendData(0x88, flash);
158 4 break;
159 4 case 3 : //光标值加一
160 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
161 4 key=(flash^0xff);
162 4 if(key==0) break;
163 4 j=1;
164 4 if(key==1) i=0;
165 4 else
166 4 for(i=0;i<key;i++)
167 4 {
168 5 j=j<<1;
169 5 if(j==key) key=0;
170 5 }
171 4 if(disp_buf[i] == 10) break;
172 4 else if((i%3)==0)
173 4 {
174 5 i=2-(i/3);
175 5 rd[i]=rd[i]+16;
176 5 }
177 4 else if((i%3)!=0)
178 4 {
179 5 i=2-(i/3);
C51 COMPILER V7.01 PCF8563 01/06/1999 10:14:17 PAGE 4
180 5 rd[i]=rd[i]+1;
181 5 }
182 4 delay(50);
183 4 ISendStr(PCF8563,RDADDR,rd,0x3);
184 4 delay(50);
185 4 break;
186 4 case 4 : //光标值减一
187 4 IRcvStr(PCF8563,RDADDR,rd,0x3);
188 4 key=(flash^0xff);
189 4 if(key==0) break;
190 4 j=1;
191 4 if(key==1) i=0;
192 4 else
193 4 for(i=0;i<key;i++)
194 4 {
195 5 j=j<<1;
196 5 if(j==key) key=0;
197 5 }
198 4 if(disp_buf[i] == 10) break;
199 4 else if((i%3)==0)
200 4 {
201 5 i=2-(i/3);
202 5 rd[i]=rd[i]-16;
203 5 }
204 4 else if((i%3)!=0)
205 4 {
206 5 i=2-(i/3);
207 5 rd[i]=rd[i]-1;
208 5 }
209 4 delay(50);
210 4 ISendStr(PCF8563,RDADDR,rd,0x3);
211 4 delay(50);
212 4 break;
213 4 case 5 :
214 4
215 4 break;
216 4 case 6 :
217 4
218 4 break;
219 4 case 7 :
220 4 break;
221 4 default :
222 4 break;
223 4 }
224 3 while(KEY_INT==0);
225 3 }
226 2 }
227 1 }
228
229
230
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 835 ----
CONSTANT SIZE = 10 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 8 23
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V7.01 PCF8563 01/06/1999 10:14:17 PAGE 5
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -