📄 uc1697vmtp.lst
字号:
312 1 for(i=0;i<16;i++)//b
313 1 {
314 2 for(j=0;j<160;j++)
315 2 {writed(0x00);writed(0x1f);}
316 2 }
317 1
318 1 for(i=0;i<16;i++)//rb
319 1 {
320 2 for(j=0;j<160;j++)
321 2 {writed(0xf8);writed(0x1f);}
322 2 }
323 1
324 1 for(i=0;i<16;i++)//white
325 1 {
326 2 for(j=0;j<160;j++)
327 2 {writed(0xff);writed(0xff);}
328 2 }
329 1
330 1 for(i=0;i<16;i++)//black
331 1 {
332 2 for(j=0;j<160;j++)
333 2 {writed(0x00);writed(0x00);}
334 2 }
335 1 }
336 void display_rgb(unsigned char a,unsigned char b)
337 {
338 1
339 1 int i,j;
340 1 for(i=0;i<128;i++)
341 1 {
342 2 for(j=0;j<160;j++)
343 2 {writed(a); writed(b);}
344 2 }
345 1 }
346 void snow()
347 {
348 1 int i;
349 1 int j;
350 1 for(i=0;i<64;i++)
351 1 {
352 2 for(j=0;j<160;j++)
353 2 {
354 3 writed(0xff);
355 3 writed(0xff);
356 3 writed(0x00);
357 3 writed(0x00);
358 3
359 3 }
360 2 for(j=0;j<160;j++)
361 2 {
362 3 writed(0x00);
363 3 writed(0x00);
364 3 writed(0xff);
365 3 writed(0xff);
C51 COMPILER V8.02 UC1697VMTP 05/20/2008 12:39:31 PAGE 7
366 3
367 3 }
368 2
369 2 }
370 1 }
371 void horizontal()
372 {
373 1 int i;
374 1 int j;
375 1 for(i=0;i<64;i++)
376 1 {
377 2 for(j=0;j<320;j++)
378 2 {writed(0xff); }
379 2 for(j=0;j<320;j++)
380 2 {writed(0x00);}
381 2
382 2 }
383 1
384 1
385 1 }
386 void vertical()
387 {
388 1 int i;
389 1 int j;
390 1 for(i=0;i<128;i++)
391 1 {
392 2 for(j=0;j<160;j++)
393 2 {
394 3 writed(0xff);
395 3 writed(0xff);
396 3 writed(0x00);
397 3 writed(0x00);
398 3 }
399 2 }
400 1 }
401
402 void display_black(void)
403 {
404 1 int i;
405 1 int j;
406 1 for(i=0;i<128;i++)
407 1 {
408 2 for(j=0;j<320;j++)
409 2 {
410 3 writed(0xff);
411 3 }
412 2 }
413 1
414 1
415 1 }
416
417 void display_white(void)
418 {
419 1 int i;
420 1 int j;
421 1 for(i=0;i<128;i++)
422 1 {
423 2 for(j=0;j<320;j++)
424 2 {
425 3 writed(0x00);
426 3 }
427 2 }
C51 COMPILER V8.02 UC1697VMTP 05/20/2008 12:39:31 PAGE 8
428 1 }
429
430
431 void writei(unsigned char d)
432 {
433 1 CS0=0;
434 1 CD=0;
435 1 WR1=1;
436 1
437 1 P1=d;
438 1 WR0=0;
439 1 WR0=1;
440 1 CS0=1;
441 1 }
442
443 void writed(unsigned char d)
444 {
445 1 CS0=0;
446 1 CD=1;
447 1 WR1=1;
448 1
449 1 P1=d;
450 1 WR0=0;
451 1 WR0=1;
452 1 CS0=1;
453 1 }
454
455 void delay(long tt)
456 {
457 1 while(tt>0)
458 1 {tt--;}
459 1
460 1 }
461
462
463 void vopup(void)
464 {
465 1 unsigned char i=0xb0;
466 1 dv++;
467 1 dv0++;
468 1 pmm=pm+dv0;
469 1 delay(200);
470 1 writei(0x81);
471 1 writei(pmm);
472 1 delay(200);
473 1
474 1 if(pmm<i)
475 1 count();
476 1 else
477 1 pm0=0x00;
478 1 delay(1000);
479 1 }
480
481 void vopdown(void)
482 {
483 1 unsigned char i=0x30;
484 1 dv--;
485 1 dv0--;
486 1 pmm=pm+dv0;
487 1 delay(200);
488 1 writei(0x81);
489 1 writei(pmm);
C51 COMPILER V8.02 UC1697VMTP 05/20/2008 12:39:31 PAGE 9
490 1
491 1 delay(200);
492 1
493 1 if(pmm>i)
494 1 count();
495 1 else
496 1 pm0=0x00;
497 1 delay(1000);
498 1 }
499
500 void count(void)
501 {
502 1 if(dv>0x40)
503 1 pm0=dv-0x40;
504 1 else
505 1 pm0=(0x40-dv)|0x40;
506 1
507 1 }
508
509 void otp_operation(void)
510 {
511 1 RST=0;
512 1 delay(5000);
513 1 RST=1;
514 1 delay(5000);
515 1 otp_erase(); /*erase before programme*/
516 1 delay(50000);
517 1
518 1 pm01=pm0&0x01;
519 1 otp_program();
520 1 delay(1000);
521 1
522 1 pm01=pm0&0x02;
523 1 otp_program();
524 1 delay(1000);
525 1
526 1 pm01=pm0&0x04;
527 1 otp_program();
528 1 delay(1000);
529 1
530 1 pm01=pm0&0x08;
531 1 otp_program();
532 1 delay(1000);
533 1
534 1 pm01=pm0&0x10;
535 1 otp_program();
536 1 delay(1000);
537 1
538 1 pm01=pm0&0x20;
539 1 otp_program();
540 1 delay(2000);
541 1
542 1
543 1 pm01=pm0&0x40;
544 1 otp_program();
545 1 delay(1000);
546 1
547 1 delay(2000);
548 1
549 1 RST=0;
550 1 delay(5000);
551 1 RST=1;
C51 COMPILER V8.02 UC1697VMTP 05/20/2008 12:39:31 PAGE 10
552 1 delay(20000);/*要大于150ms,才能读到OTP的值*/
553 1 init();
554 1
555 1 while(1)
556 1 {display_pic();}
557 1 }
558
559 void otp_erase(void)
560 {
561 1 writei(0xa3);
562 1 writei(0xf4);
563 1 writei(0x00);
564 1 writei(0xf5);
565 1
566 1 writei(0x00);
567 1
568 1 writei(0xf6);
569 1 writei(0x50);
570 1
571 1 writei(0xf7);
572 1 writei(0x08);
573 1
574 1 writei(0xb9);
575 1
576 1 writei(0x7f);
577 1
578 1 writei(0x00);
579 1 writei(0xb8);
580 1 writei(0x0a);
581 1 delay(5000);
582 1 }
583
584 void otp_program(void)
585 {
586 1 RST=0;//一定要RST
587 1 delay(2000);
588 1 RST=1;
589 1 delay(2000);
590 1
591 1 writei(0xa3);
592 1
593 1 writei(0xf4);
594 1 writei(0x00);
595 1
596 1 writei(0xf5);
597 1
598 1 writei(0x00);
599 1
600 1
601 1 writei(0xf6);
602 1 writei(0x50);
603 1
604 1 writei(0xf7);
605 1 writei(0x08);
606 1 writei(0xb9);
607 1 writei(pm01);
608 1 writei(0x00);
609 1
610 1 delay(3000);//加DELAY
611 1
612 1 writei(0xb8);
613 1 writei(0x0b);
C51 COMPILER V8.02 UC1697VMTP 05/20/2008 12:39:31 PAGE 11
614 1 delay(8000);
615 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 2068 ----
CONSTANT SIZE = 40960 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 6 48
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 + -