📄 main.ls1
字号:
400 USING 0
401 ; SOURCE LINE # 145
402 ; {
403 ; SOURCE LINE # 146
404 ; counter = 0;
405 ; SOURCE LINE # 147
000000 E4 406 CLR A
000001 F500 F 407 MOV counter,A
408 ; }
409 ; SOURCE LINE # 148
000003 22 410 RET
411 ; END OF I2C_NOP
412
413 ;
414 ; /* Tuner Section Programming (Write Mode) */
415 ; /* |S|ADB(W)|A|DB1|A|DB2|A|CB|A|BB|A|AB|A|P| */
416 ; void tuner_write()
417
------ 418 RSEG ?PR?tuner_write?MAIN
000000 419 tuner_write:
420 USING 0
421 ; SOURCE LINE # 152
422 ; {
423 ; SOURCE LINE # 153
424 ; I2C_Start();
425 ; SOURCE LINE # 154
000000 1100 F 426 ACALL I2C_Start
427 ; I2C_Send_Addr(TUMER_I2C_ADDRESS, I2C_WRITE);
428 ; SOURCE LINE # 155
000002 E4 429 CLR A
000003 FD 430 MOV R5,A
000004 7FC2 431 MOV R7,#0C2H
000006 1100 F 432 ACALL _I2C_Send_Addr
433 ; I2C_Send_data(tuner_data[0]); /* DB1 */
434 ; SOURCE LINE # 156
000008 AF00 F 435 MOV R7,tuner_data
00000A 1100 F 436 ACALL _I2C_Send_Byte
437 ; I2C_Send_data(tuner_data[1]); /* DB2 */
438 ; SOURCE LINE # 157
00000C AF00 F 439 MOV R7,tuner_data+01H
00000E 1100 F 440 ACALL _I2C_Send_Byte
441 ; I2C_Send_data(tuner_data[2]); /* CB */
442 ; SOURCE LINE # 158
000010 AF00 F 443 MOV R7,tuner_data+02H
000012 1100 F 444 ACALL _I2C_Send_Byte
445 ; I2C_Send_data(tuner_data[3]); /* BB */
446 ; SOURCE LINE # 159
000014 AF00 F 447 MOV R7,tuner_data+03H
000016 1100 F 448 ACALL _I2C_Send_Byte
449 ; I2C_Send_data(tuner_data[4]); /* AB */
450 ; SOURCE LINE # 160
000018 AF00 F 451 MOV R7,tuner_data+04H
00001A 1100 F 452 ACALL _I2C_Send_Byte
453 ; I2C_Stop();
454 ; SOURCE LINE # 161
AX51 MACRO ASSEMBLER MAIN 08/22/07 12:34:21 PAGE 8
00001C 0100 F 455 AJMP I2C_Stop
456 ; END OF tuner_write
457
458 ; }
459 ;
460 ; void main ()
461
------ 462 RSEG ?PR?main?MAIN
000000 463 main:
464 USING 0
465 ; SOURCE LINE # 164
466 ; {
467 ; SOURCE LINE # 165
468 ; unsigned char i, j;
469 ; unsigned char channel = 11;
470 ; SOURCE LINE # 167
000000 75000B F 471 MOV channel?646,#0BH
000003 472 ?C0012:
473 ;
474 ; while(1) {
475 ; SOURCE LINE # 169
476 ; switch (channel) {
477 ; SOURCE LINE # 170
000003 E500 F 478 MOV A,channel?646
000005 24FB 479 ADD A,#0FBH
000007 601C 480 JZ ?C0017
000009 24FC 481 ADD A,#0FCH
00000B 6026 482 JZ ?C0018
00000D 24FE 483 ADD A,#0FEH
00000F 600C 484 JZ ?C0016
000011 2404 485 ADD A,#04H
000013 702D 486 JNZ ?C0014
487 ;
488 ; /*
489 ; NTSC USA, fVIF = 45.75MHz, fss = 62.5KHz
490 ; Test Cable Channel 7, fRF = 175.25MHz, TV Mid Band
491 ; */
492 ; case 7:
493 ; SOURCE LINE # 176
000015 494 ?C0015:
495 ; tuner_data[0] = 0x0D; // DB1
496 ; SOURCE LINE # 177
000015 75000D F 497 MOV tuner_data,#0DH
498 ; tuner_data[1] = 0xD0; // DB2
499 ; SOURCE LINE # 178
000018 7500D0 F 500 MOV tuner_data+01H,#0D0H
501 ; tuner_data[2] = 0xCE; // CB
502 ; SOURCE LINE # 179
503 ; tuner_data[3] = 0x02; // BB
504 ; SOURCE LINE # 180
505 ; tuner_data[4] = 0x20; // AB
506 ; SOURCE LINE # 181
507 ; #if M_EN
508 ; channel = 11;
509 ; #endif
510 ; break;
511 ; SOURCE LINE # 185
00001B 801C 512 SJMP ?C0030
513 ;
514 ; /*
515 ; Test Cable Channel 11, fRF = 199.25MHz, TV Mid Band
516 ; */
517 ; case 11:
518 ; SOURCE LINE # 190
00001D 519 ?C0016:
520 ; tuner_data[0] = 0x0F; // DB1
AX51 MACRO ASSEMBLER MAIN 08/22/07 12:34:21 PAGE 9
521 ; SOURCE LINE # 191
00001D 75000F F 522 MOV tuner_data,#0FH
523 ; tuner_data[1] = 0x50; // DB2
524 ; SOURCE LINE # 192
000020 750050 F 525 MOV tuner_data+01H,#050H
526 ; tuner_data[2] = 0xCE; // CB
527 ; SOURCE LINE # 193
000023 528 ?C0029:
529 ; tuner_data[3] = 0x02; // BB
530 ; SOURCE LINE # 194
531 ; tuner_data[4] = 0x20; // AB
532 ; SOURCE LINE # 195
533 ; #if M_EN
534 ; channel = 5;
535 ; #endif
536 ; break;
537 ; SOURCE LINE # 199
000023 8014 538 SJMP ?C0030
539 ;
540 ; /*
541 ; Test Cable Channel 5 , fRF = 77.25MHz, TV Low Band
542 ; (77.25 + 45.75) * 1000 / 62.5
543 ; */
544 ; case 5:
545 ; SOURCE LINE # 205
000025 546 ?C0017:
547 ; tuner_data[0] = 0x07; // DB1
548 ; SOURCE LINE # 206
000025 750007 F 549 MOV tuner_data,#07H
550 ; tuner_data[1] = 0xB0; // DB2
551 ; SOURCE LINE # 207
000028 7500B0 F 552 MOV tuner_data+01H,#0B0H
553 ; tuner_data[2] = 0xCE; // CB
554 ; SOURCE LINE # 208
00002B 7500CE F 555 MOV tuner_data+02H,#0CEH
556 ; tuner_data[3] = 0x01; // BB
557 ; SOURCE LINE # 209
00002E 750001 F 558 MOV tuner_data+03H,#01H
559 ; tuner_data[4] = 0x20; // AB
560 ; SOURCE LINE # 210
561 ; #if M_EN
562 ; channel = 9;
563 ; #endif
564 ; break;
565 ; SOURCE LINE # 214
000031 800C 566 SJMP ?C0031
567 ;
568 ; /*
569 ; Test Cable Channel 9 , fRF = 187.25MHz, TV Mid Band
570 ; (187.25 + 45.75) * 1000 / 62.5
571 ; */
572 ; case 9:
573 ; SOURCE LINE # 220
000033 574 ?C0018:
575 ; tuner_data[0] = 0x0E; // DB1
576 ; SOURCE LINE # 221
000033 75000E F 577 MOV tuner_data,#0EH
578 ; tuner_data[1] = 0x90; // DB2
579 ; SOURCE LINE # 222
000036 750090 F 580 MOV tuner_data+01H,#090H
581 ; tuner_data[2] = 0xCE; // CB
582 ; SOURCE LINE # 223
000039 583 ?C0030:
000039 7500CE F 584 MOV tuner_data+02H,#0CEH
585 ; tuner_data[3] = 0x02; // BB
586 ; SOURCE LINE # 224
AX51 MACRO ASSEMBLER MAIN 08/22/07 12:34:21 PAGE 10
00003C 750002 F 587 MOV tuner_data+03H,#02H
588 ; tuner_data[4] = 0x20; // AB
589 ; SOURCE LINE # 225
00003F 590 ?C0031:
00003F 750020 F 591 MOV tuner_data+04H,#020H
592 ; #if M_EN
593 ; channel = 7;
594 ; #endif
595 ; break;
596 ; SOURCE LINE # 229
597 ;
598 ; }
599 ; SOURCE LINE # 231
000042 600 ?C0014:
601 ;
602 ; tuner_write();
603 ; SOURCE LINE # 233
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -