📄 qin.lst
字号:
213 2 XBYTE[addr_e1_pm6388 + 0x2c] = 0;
214 2 XBYTE[addr_e1_pm6388 + 0x2d] = 0;
215 2 XBYTE[addr_e1_pm6388 + 0x51] = 0x00;
216 2 XBYTE[addr_e1_pm6388 + 0x52] = 0x00;
217 2 XBYTE[addr_e1_pm6388 + 0x58] = 0x03;
218 2 XBYTE[addr_e1_pm6388 + 0x59] = 0;
219 2 XBYTE[addr_e1_pm6388 + 0x5a] = 0xff;
220 2 XBYTE[addr_e1_pm6388 + 0x5c] = 0x00;//??????????????????
221 2 XBYTE[addr_e1_pm6388 + 0x60] = 0x02;
222 2 }
223 1 for(i = 0; i < 8; i++)
224 1 {
225 2 addr_e1_pm6388 = PM6388 + i * 0x80;
226 2 l = 0;
227 2 k = 0;
228 2 for(k = 0x20;k < 0x40;k++)
229 2 {
230 3 l = XBYTE[addr_e1_pm6388 + 0x61];
231 3 while((l & 0x80) != 0)
232 3 {
233 4 l = XBYTE[addr_e1_pm6388 + 0x61];
234 4 }
235 3 XBYTE[addr_e1_pm6388 + 0x63] = 0x13;
236 3 XBYTE[addr_e1_pm6388 + 0x62] = k;
237 3
238 3 }
239 2 for(k = 0x40;k < 0x60;k++)
240 2 {
241 3 l = XBYTE[addr_e1_pm6388 + 0x61];
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 5
242 3 while((l & 0x80) != 0)
243 3 {
244 4 l = XBYTE[addr_e1_pm6388 + 0x61];
245 4 }
246 3 XBYTE[addr_e1_pm6388 + 0x63] = 0xbb;
247 3 XBYTE[addr_e1_pm6388 + 0x62] = k;
248 3 }
249 2 for(k = 0x60;k < 0x80;k++)
250 2 {
251 3 l = XBYTE[addr_e1_pm6388 + 0x61];
252 3 while((l & 0x80) != 0)
253 3 {
254 4 l = XBYTE[addr_e1_pm6388 + 0x61];
255 4 }
256 3 XBYTE[addr_e1_pm6388 + 0x63] = 0xdb;
257 3 XBYTE[addr_e1_pm6388 + 0x62] = k;
258 3 }
259 2 XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
260 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x02;
261 2 l = 0;
262 2 k = 0;
263 2 for(k = 0x40;k < 0x60;k++)
264 2 {
265 3 l = XBYTE[addr_e1_pm6388 + 0x65];
266 3 while((l & 0x80) != 0)
267 3 {
268 4 l = XBYTE[addr_e1_pm6388 + 0x65];
269 4 }
270 3 XBYTE[addr_e1_pm6388 + 0x67] = 0x00;
271 3 XBYTE[addr_e1_pm6388 + 0x66] = k;
272 3 }
273 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x01;
274 2 }
275 1 }
276 void wr_pm6388 (void) /* 写值 */
277 {
278 1 uint xdata addr_e1_pm6388; /* 每路e1接口的起始地址 */
279 1 uchar xdata i,l,k;
280 1 for(i = 0; i < 8; i++)
281 1 {
282 2 addr_e1_pm6388 = PM6388 + i * 0x80;
283 2 l = 0;
284 2 k = 0;
285 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x08;
286 2 XBYTE[addr_e1_pm6388 + 0x60] = 0x03;
287 2 for(k = 0x61;k < 0x80;k++)
288 2 {
289 3 l = XBYTE[addr_e1_pm6388 + 0x61];
290 3 while((l & 0x80) != 0)
291 3 {
292 4 l = XBYTE[addr_e1_pm6388 + 0x61];
293 4 }
294 3 if(k==0x70)
295 3 {
296 4 k++;
297 4 }
298 3 XBYTE[addr_e1_pm6388 + 0x63] = 0x03 + 0xd0;
299 3 XBYTE[addr_e1_pm6388 + 0x62] = k;
300 3
301 3 }
302 2 XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
303 2 }
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 6
304 1
305 1 }
306 void wr_pm6388_flag(void) //单写1
307 {
308 1 uint xdata addr_e1_pm6388;
309 1 uchar xdata i,l,k;
310 1 addr_e1_pm6388 = PM6388;
311 1 XBYTE[addr_e1_pm6388 + 0x60] = 0x03;
312 1 l = XBYTE[addr_e1_pm6388 + 0x61];
313 1 while((l & 0x80) != 0)
314 1 {
315 2 l = XBYTE[addr_e1_pm6388 + 0x61];
316 2 }
317 1 XBYTE[addr_e1_pm6388 + 0x63] = 0x0b + 0xd0;
318 1 XBYTE[addr_e1_pm6388 + 0x62] = 0x61;
319 1 XBYTE[addr_e1_pm6388 + 0x60] = 0x01;
320 1 }
321 uchar rd_pm6388_flag(void) /* 读数 */
322 {
323 1 uint xdata addr_e1_pm6388; /* 每路e1接口的起始地址 */
324 1 uchar xdata i,l,k;
325 1 k = 0;
326 1 for(i = 0; i < 8; i++)
327 1 {
328 2 addr_e1_pm6388 = PM6388 + i * 0x80;
329 2 XBYTE[addr_e1_pm6388 + 0x0a] = 0x00;
330 2
331 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x41;
332 2 l = XBYTE[addr_e1_pm6388 + 0x67];
333 2 if((l & 0x01) == 0x01)
334 2 {
335 3 k++;
336 3 }
337 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x01;
338 2 }
339 1 return(k);
340 1 }
341
342 uchar rd_pm6388_data (void) //读值
343 {
344 1 uint xdata addr_e1_pm6388;
345 1 uchar xdata i,l,k,data_pm;
346 1 uchar xdata ceshi[8];
347 1 data_pm = 0;
348 1
349 1 addr_e1_pm6388 = PM6388 + 0 * 0x80;
350 1 XBYTE[addr_e1_pm6388 + 0x0a] = 0x0;
351 1 for(i = 0; i < 8; i++)
352 1 {
353 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x03;
354 2 l = 0x80;
355 2 while((l & 0x80) != 0)
356 2 {
357 3 l = XBYTE[addr_e1_pm6388 + 0x65];
358 3 }
359 2 XBYTE[addr_e1_pm6388 + 0x66] = 0x80 + 0x11 + i;
360 2 l = 0x80;
361 2 while((l & 0x80) != 0)
362 2 {
363 3 l = XBYTE[addr_e1_pm6388 + 0x65];
364 3 }
365 2 ceshi[i] = XBYTE[addr_e1_pm6388 + 0x67];
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 7
366 2 XBYTE[addr_e1_pm6388 + 0x64] = 0x01;
367 2 }
368 1 return(data_pm);
369 1 }
370
371
372 main()
373 {
374 1
375 1 P1 = 0xff;
376 1 P1 = 0x0;
377 1 P1 = 0xff;
378 1 P3= 0xff;
379 1 RUN_LED=1;
380 1 init_pm4314();
381 1 delay();
382 1 init_pm6388();
383 1 delay();
384 1 TMOD=0x21;
385 1 IT1 = 1;
386 1 TH0=-40680/256;
387 1 TL0=-40680%256;
388 1 TH1 = 0xfd;
389 1 TL1 = 0xfd;
390 1 TR0 = 1;
391 1 TR1 = 1;
392 1 IE = 0x86;
393 1 EA = 1;
394 1 led_flag = 0;
395 1 k = 0;
396 1 wr_pm6388();
397 1 fsn = rd_pm6388_flag();
398 1 wr_pm6388_flag();
399 1 delay();
400 1 while(1)
401 1 {
402 2 if(led_flag == 1)
403 2 {
404 3 e1_alarm_led();
405 3 led_flag = 0;
406 3 fsn = rd_pm6388_flag();
407 3 h = rd_pm6388_data();
408 3 }
409 2 }
410 1
411 1 }
412
413
414
415
416
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 3084 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = 51 ----
PDATA SIZE = ---- ----
DATA SIZE = 13 ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILER V3.96, SN-83203013 QIN 06/04/06 15:21:01 PAGE 8
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -