📄 panel.lst
字号:
247 1 _write_char(r,(char)('0'+(v/100)));
248 1 v %= 100;
249 1 _write_char(r,(char)('0'+(v/10)));
250 1 _write_char(r,'.');
251 1 _write_char(r,(char)('0'+(v%10)));
252 1 }
253 //-------------------------------------------------------------------------
254 void _disp_win (char *win)
255 {
256 1 unsigned char i;
257 1 _set_display(0,0x80);
258 1 for (i=0; i<40; i++)
259 1 _write_char(0,win[i]); // write char. to row 0 in display.
260 1 _set_display(0,0xc0);
261 1 for (i=40; i<80; i++)
262 1 _write_char(0,win[i]); // write char. to row 1 in display.
263 1 _set_display(1,0x80);
264 1 for (i=80; i<120; i++)
265 1 _write_char(1,win[i]); // write char. to row 2 in display.
266 1 _set_display(1,0xc0);
267 1 for (i=120; i<160; i++)
268 1 _write_char(1,win[i]); // write char. to row 3 in display.
269 1 }
270 //-------------------------------------------------------------------------
271 void _set_display (char s, char d)
272 {
273 1 char buf = d;
274 1 switch (s){
275 2 case 0 :
276 2 buf &= 0xf0;
277 2 buf |= 0x04;
278 2 DispPort = buf;
279 2 DispPort = 0x02;
280 2 _delay100us();
281 2 buf = (d<<4)|0x04;
282 2 DispPort = buf;
283 2 DispPort = buf & 0x02; //==0
284 2 _delay100us();
285 2 break;
286 2 case 1 :
287 2 buf &= 0xf0;
288 2 buf |= 0x08;
289 2 DispPort = buf;
290 2 DispPort = 0x02;
291 2 _delay100us();
292 2 buf = (d<<4)|0x08;
293 2 DispPort = buf;
294 2 DispPort = 0x02;
295 2 _delay100us();
296 2 }
297 1 }
298 //-------------------------------------------------------------------------
299 void _res_display (char s, char d)
300 {
301 1 char buf = d;
302 1 switch (s){
303 2 case 0 :
C51 COMPILER V7.06 PANEL 01/26/2004 20:24:41 PAGE 6
304 2 buf &= 0xf0;
305 2 buf |= 0x04;
306 2 DispPort = buf;
307 2 DispPort = 0x02;
308 2 break;
309 2 case 1 :
310 2 buf &= 0xf0;
311 2 buf |= 0x08;
312 2 DispPort = buf;
313 2 DispPort = 0x02;
314 2 }
315 1 _delay100us();
316 1 }
317 //-------------------------------------------------------------------------
318 void _write_char (char s, char c)
319 {
320 1 char buf = c;
321 1 switch (s) {
322 2 case 0 :
323 2 buf &= 0xf0;
324 2 buf |= 0x05;
325 2 DispPort = buf;
326 2 DispPort = 0x03;
327 2 _delay100us();
328 2 buf = (c<<4)|0x05;
329 2 DispPort = buf;
330 2 DispPort = 0x03;
331 2 _delay100us();
332 2 break;
333 2 case 1 :
334 2 buf &= 0xf0;
335 2 buf |= 0x09;
336 2 DispPort = buf;
337 2 DispPort = 0x03;
338 2 _delay100us();
339 2 buf = (c<<4)|0x09;
340 2 DispPort = buf;
341 2 DispPort = 0x03;
342 2 _delay100us();
343 2 }
344 1 }
345 //-------------------------------------------------------------------------
346 void _delay5ms(void)
347 {
348 1 unsigned tref = 900;
349 1 while (tref != 0)
350 1 tref--;
351 1 }
352 //-------------------------------------------------------------------------
353 void _delay200us (void)
354 {
355 1 char tref = 64;
356 1 while (tref--);
357 1 }
358 //-------------------------------------------------------------------------
359 void _delay100us (void)
360 {
361 1 char tref = 32;
362 1 while (tref--);
363 1 }
364 //-------------------------------------------------------------------------
365 /*
C51 COMPILER V7.06 PANEL 01/26/2004 20:24:41 PAGE 7
366 void _outp_bit (char f , char s)
367 {
368 switch (f){
369 case OFF :
370 if (s == OFF)
371 outp_buf |= 00000100;
372 else
373 outp_buf &= 11111011;
374 break;
375 case PASS :
376 if (s == OFF)
377 outp_buf |= 00010000;
378 else
379 outp_buf &= 11101111;
380 break;
381 case FAIL :
382 if (s == OFF)
383 outp_buf |= 00100000;
384 else
385 outp_buf &= 11011111;
386 break;
387 case AUTO :
388 if (s == OFF)
389 outp_buf |= 00000001;
390 else
391 outp_buf &= 11111110;
392 break;
393 case MANU :
394 if (s == OFF)
395 outp_buf |= 00000010;
396 else
397 outp_buf &= 11111101;
398 break;
399 case TEST :
400 if (s == OFF)
401 outp_buf |= 00000100;
402 else
403 outp_buf &= 11111011;
404 break;
405 case BUZZER :
406 if (s == OFF)
407 outp_buf |= 01000000;
408 else
409 outp_buf &= 10111111;
410 }
411 OutputPort = outp_buf;
412 }
413 */
414 //
415 -------------------------------------------------------------------------
*** ERROR C141 IN LINE 415 OF PANEL.C: syntax error near '--'
416 ar _read_keypad(void)
*** ERROR C129 IN LINE 416 OF PANEL.C: missing ';' before '_read_keypad'
417 {
418 unsigned char key_val;
419 K2=0;
420 K0=1;K1=1;K3=1;
421 if(K4==0)key_val=F1;
422 if(K5==0)key_val=F2;
423 if(K6==0)key_val=F3;
424 if(K7==0)key_val=F4;
425
C51 COMPILER V7.06 PANEL 01/26/2004 20:24:41 PAGE 8
426 K3=0;
427 K0=1;K1=1;K2=1;
428 if(K4==0) key_val=7;
429 if(K5==0) key_val=8;
430 if(K6==0) key_val=9;
431 if(K7==0) key_val=0;
432
433 K0=0;
434 K1=1;K2=1;K3=1;
435 if(K4==0) key_val=4;
436 if(K5==0) key_val=5;
437 if(K6==0) key_val=6;
438 if(K7==0) key_val=F5;
439
440 K1=0;
441 K0=1;K2=1;K3=1;
442 if(K4==0) key_val=1;
443 if(K5==0) key_val=2;
444 if(K6==0) key_val=3;
445 if(K7==0) key_val=F6;
446
447 return(key_val);
448 }
449
450
451 //-------------------------------------------------------------------------
452 void _set_delay(char delay)
453 {
454 unsigned time;
455 time = tick_clock+delay; // read current time
456 while (time != tick_clock);
457 }
458 //-------------------------------------------------------------------------
459 void _init_system(void)
460 {
461 // setup timer0 interrupt initalization
462 tick_clock = 0;
463 TH0 = MSB_PERIOD;
464 TL0 = LSB_PERIOD;
465 TMOD |= 0x01;
466 TR0 = ON;
467 ET0 = ON;
468 EA = ON;
469 _init_serial(BAUD19200);
470 _initial_disp();
471 _set_delay(30);
472 }
473 //-------------------------------------------------------------------------
474 // Timer0 interrupt service function
475 // Executes each 10ms @24MHZ Crystal clock
476 //-------------------------------------------------------------------------
477 timer0() interrupt 1 using 2 // Int Vector at 000BH, Reg Bank 2
478 {
479 TH0 = MSB_PERIOD;
480 TL0 = LSB_PERIOD;
481 tick_clock++;
482 K0=0;K1=0;K2=0;K3=0;
483 if(K4==0||K5==0||K6==0||K7==0)
484 {
485 key_down = _read_keypad();
486 key_flag=1;
487 }
C51 COMPILER V7.06 PANEL 01/26/2004 20:24:41 PAGE 9
488 else
489 key_flag=0;
490
491 if (++inc_ref == 10) {
492 ref_100ms++;
493 inc_ref = OFF;
494 }
495 }
496 //--------------------------------------------------------------------------
C51 COMPILATION COMPLETE. 0 WARNING(S), 2 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -