📄 main.s
字号:
; display_type = DISPLAY_BASS;
; }
; dvd_key = D_BASS_KEY | Bassvol;
; g_ui_tmp_msg_cnt = 20;
; break;
;
; case UICC_BASS_DOWN:
; if(dislay_type == DISPLAY_BASS)
; {
; if(Bassvol>0)
; {
; Bassvol--;
; PT2320_bass();
; }
; }
; else
; {
; display_type = DISPLAY_BASS;
; }
; dvd_key = D_BASS_KEY | Bassvol;
; g_ui_tmp_msg_cnt = 20;
; break;
; #endif //bass_two_key
;
; #ifdef TREBLE_TWO_KEY
; case UICC_TREBLE_UP:
; if(dislay_type == DISPLAY_TREBLE)
; {
; if(Treblevol<140)
; {
; Treblevol++;
; PT2320_treble();
; }
; }
; else
; {
; display_type = DISPLAY_Treble;
; }
; dvd_key = D_TREBLE_KEY | Treble_vol;
; g_ui_tmp_msg_cnt = 20;
; break;
;
; case UICC_TREBLE_DOWN:
; if(dislay_type == DISPLAY_TREBLE)
; {
; if(Treblevol>0)
; {
; Treblevol--;
; PT2320_treble();
; }
; }
; else
; {
; display_type = DISPLAY_Treble;
; }
; dvd_key = D_TREBLE_KEY | Treble_vol;
; g_ui_tmp_msg_cnt = 20;
; break;
; #endif //treble_two_key
;
;
;
; case UICC_MUTE:
; if(work_mode == DVD_MODE)
lds R2,_work_mode
tst R2
brne L97
.dbline 481
; {
.dbline 482
; dvd_key = IRKC_MUTE;
ldi R24,120
ldi R25,0
sts _dvd_key+1,R25
sts _dvd_key,R24
.dbline 483
; break;
xjmp L21
L97:
.dbline 485
; }
; if(radio_is_muted)
lds R2,_radio_is_muted
tst R2
breq L99
.dbline 486
; radio_is_muted = 0;
clr R2
sts _radio_is_muted,R2
xjmp L100
L99:
.dbline 488
; else
; radio_is_muted = 1;
ldi R24,1
sts _radio_is_muted,R24
L100:
.dbline 489
; mute_radio();
xcall _mute_radio
.dbline 490
; break;
xjmp L21
L101:
.dbline 492
; case UICC_TIMING:
; tmp =( g_ui_timing_cnt/(300*SLEEP_TIME_TAG)); //10m*60*5
ldi R18,9000
ldi R19,35
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall div16u
movw R20,R16
.dbline 493
; if((g_ui_timing_cnt%(300*SLEEP_TIME_TAG))>2)
ldi R18,9000
ldi R19,35
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall mod16u
ldi R24,2
ldi R25,0
cp R24,R16
cpc R25,R17
brsh L102
.dbline 494
; tmp++;
subi R20,255 ; offset = 1
sbci R21,255
L102:
.dbline 495
; if(display_type== DISPLAY_TIMING )
lds R24,_display_type
cpi R24,16
brne L104
.dbline 496
; {
.dbline 498
;
; tmp =(tmp + 1)%SLEEP_MAX_CNT;
movw R24,R20
adiw R24,1
andi R24,3
andi R25,0
movw R20,R24
.dbline 499
; g_ui_timing_cnt =(300*SLEEP_TIME_TAG)*tmp;
ldi R16,9000
ldi R17,35
movw R18,R20
xcall empy16s
sts _g_ui_timing_cnt+1,R17
sts _g_ui_timing_cnt,R16
.dbline 500
; }
xjmp L105
L104:
.dbline 502
; else
; display_type = DISPLAY_TIMING;
ldi R24,16
sts _display_type,R24
L105:
.dbline 503
; g_ui_tmp_msg_cnt = 20;
ldi R24,20
sts _g_ui_tmp_msg_cnt,R24
.dbline 504
; tmp = g_ui_timing_cnt/300;
ldi R18,300
ldi R19,1
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall div16u
movw R20,R16
.dbline 505
; if(g_ui_timing_cnt%10>10)
ldi R18,10
ldi R19,0
lds R17,_g_ui_timing_cnt+1
lds R16,_g_ui_timing_cnt
xcall mod16u
ldi R24,10
ldi R25,0
cp R24,R16
cpc R25,R17
brsh L106
.dbline 506
; tmp++;
subi R20,255 ; offset = 1
sbci R21,255
L106:
.dbline 507
; dvd_key = D_TIMING_KEY|tmp;
movw R24,R20
ori R25,250
sts _dvd_key+1,R25
sts _dvd_key,R24
.dbline 509
; //key_pressed_type = 4;
; break;
xjmp L21
L108:
.dbline 511
; case UICC_AVTV:
; if(g_avtv)
lds R2,_g_avtv
tst R2
breq L109
.dbline 512
; {
.dbline 513
; g_avtv=0;
clr R2
sts _g_avtv,R2
.dbline 514
; Set_AV();
CBI 0x15,2
.dbline 515
; }
xjmp L21
L109:
.dbline 517
; else
; {
.dbline 518
; g_avtv=1;
ldi R24,1
sts _g_avtv,R24
.dbline 519
; Set_TV();
SBI 0x15,2
.dbline 520
; }
.dbline 521
; break;
xjmp L21
L20:
.dbline 523
; default:
; if(g_ui_tmp_msg_cnt >1)
ldi R24,1
lds R2,_g_ui_tmp_msg_cnt
cp R24,R2
brsh L111
.dbline 524
; g_ui_tmp_msg_cnt = 1;
sts _g_ui_tmp_msg_cnt,R24
L111:
.dbline 525
; switch(work_mode)
lds R20,_work_mode
clr R21
cpi R20,0
cpc R20,R21
breq L117
cpi R20,1
ldi R30,0
cpc R21,R30
breq L116
xjmp L113
X4:
.dbline 526
; {
L116:
.dbline 529
; case TUNER_MODE:
;
; radio_action();
xcall _radio_action
.dbline 530
; break;
xjmp L114
L117:
.dbline 537
; //case :
; // tape_operator();
; // break;
; //case AV2_MODE:
; // break;
; case DVD_MODE:
; dvd_key = key_buff;
lds R3,_key_buff+1
lds R2,_key_buff
sts _dvd_key+1,R3
sts _dvd_key,R2
.dbline 538
; break;
L113:
L114:
.dbline 540
;
; }; //work_mode
.dbline 541
; }//uicc_code
L21:
.dbline 542
; } //if
L17:
.dbline 543
; last_key=uicc_code;
lds R2,_uicc_code
sts _last_key,R2
.dbline -2
.dbline 544
; }
L15:
xcall pop_gset2
.dbline 0 ; func end
ret
.dbsym r tmp 20 i
.dbfunc s main _main fI
; i -> R20
.even
_main::
.dbline -1
.dbline 547
;
; void main(void)
; {
.dbline 548
; unsigned char i=0;
clr R20
.dbline 550
;
; init_io();
xcall _init_io
.dbline 551
; init_timer();
xcall _init_timer
.dbline 552
; spi_init() ;
xcall _spi_init
.dbline 553
; SEI();
sei
.dbline 554
; decoder_power_off();
clr R16
xcall _DEC_power
.dbline 555
; g_avtv = 0;
clr R2
sts _g_avtv,R2
.dbline 556
; Set_AV();
CBI 0x15,2
.dbline 557
; led_val = 00;
sts _led_val,R2
.dbline 558
; delay_ms(150);
ldi R16,150
ldi R17,0
xcall _delay_ms
.dbline 559
; decoder_power_off();
clr R16
xcall _DEC_power
.dbline 562
; //SEI();
; #ifndef TEST_KEY
; work_mode = DVD_MODE;
clr R2
sts _work_mode,R2
.dbline 566
; #else
; work_mode = AV1_MODE;
; #endif
; for(i=0;i<12;i++)
xjmp L129
L126:
.dbline 567
ldi R24,<_g_vfd_grid_buffer
ldi R25,>_g_vfd_grid_buffer
mov R30,R20
clr R31
lsl R30
rol R31
add R30,R24
adc R31,R25
clr R2
clr R3
std z+0,R2
std z+1,R3
L127:
.dbline 566
inc R20
L129:
.dbline 566
cpi R20,12
brlo L126
.dbline 568
; g_vfd_grid_buffer[i] = 0;
; Set_String(" DVD");
ldi R16,<L130
ldi R17,>L130
xcall _Set_String
.dbline 569
; ui_fp_update_handler();
xcall _ui_fp_update_handler
.dbline 570
; delay_ms(200);
ldi R16,200
ldi R17,0
xcall _delay_ms
.dbline 571
; delay_ms(200);
ldi R16,200
ldi R17,0
xcall _delay_ms
.dbline 572
; ui_fp_update_handler();
xcall _ui_fp_update_handler
.dbline 573
; delay_ms(300);
ldi R16,300
ldi R17,1
xcall _delay_ms
.dbline 574
; delay_ms(200);
ldi R16,200
ldi R17,0
xcall _delay_ms
.dbline 575
; work_mode_convert();
xcall _work_mode_convert
xjmp L132
L131:
.dbline 578
;
; while(1)
; {
.dbline 580
;
; if(tick_flag&TICK_20MS)
lds R2,_tick_flag
sbrs R2,0
rjmp L134
.dbline 581
; {
.dbline 582
; tick_flag &=(~TICK_20MS);
mov R24,R2
andi R24,254
sts _tick_flag,R24
.dbline 583
; fp_key_scan2();
xcall _fp_key_scan2
.dbline 584
; fp_vol_scan();
xcall _fp_vol_scan
.dbline 585
; if(work_mode==TUNER_MODE)
lds R24,_work_mode
cpi R24,1
brne L136
.dbline 586
; {
.dbline 587
; if(is_autosearching) tuner_autosearch();
lds R2,_is_autosearching
tst R2
breq L138
.dbline 587
xcall _tuner_autosearch
L138:
.dbline 589
; #ifdef SGJM_RDS
; rds_handler();
xcall _rds_handler
.dbline 591
; #endif
; }
L136:
.dbline 592
; }
L134:
.dbline 594
;
; if(tick_flag&TICK_200MS)
lds R2,_tick_flag
sbrs R2,1
rjmp L140
.dbline 595
; {
.dbline 596
; tick_flag &=(~TICK_200MS); //clear 200msflag
mov R24,R2
andi R24,253
sts _tick_flag,R24
.dbline 597
; repeat++; //key repeat
lds R24,_repeat
subi R24,255 ; addi 1
sts _repeat,R24
.dbline 598
; if(key_buff!=0xffff)
lds R25,_key_buff+1
lds R24,_key_buff
cpi R24,255
ldi R30,255
cpc R25,R30
breq L142
.dbline 599
; {
.dbline 605
; #ifdef TEST_KEY
; info = key_buff;
; display_type = DISPLAY_KEY;
; #endif
;
; uicc_code = get_uicc_key(key_buff);
movw R16,R24
xcall _get_uicc_key
movw R2,R16
sts _uicc_code,R2
.dbline 607
; //key_buff = 0xffff;
; if(uicc_code!=0xff)
mov R24,R2
cpi R24,255
breq L144
.dbline 608
; {
.dbline 609
; ui_input_handler();
xcall _ui_input_handler
.dbline 610
; }
xjmp L145
L144:
.dbline 612
; else
; dvd_key = key_buff;
lds R3,_key_buff+1
lds R2,_key_buff
sts _dvd_key+1,R3
sts _dvd_key,R2
L145:
.dbline 613
; key_buff = 0xffff;
ldi R24,-1
ldi R25,-1
sts _key_buff+1,R25
sts _key_buff,R24
.dbline 614
; }
L142:
.dbline 616
;
; ui_fp_update_handler();
xcall _ui_fp_update_handler
.dbline 618
;
; if(g_ui_tmp_msg_cnt)
lds R2,_g_ui_tmp_msg_cnt
tst R2
breq L146
.dbline 619
; {
.dbline 620
; g_ui_tmp_msg_cnt--;
mov R24,R2
subi R24,1
sts _g_ui_tmp_msg_cnt,R24
.dbline 621
; if(!g_ui_tmp_msg_cnt)
mov R2,R24
tst R2
brne L148
.dbline 622
; {
.dbline 624
; #ifdef SGJM_RDS
; display_type = rds_display_type;
lds R2,_rds_display_type
sts _display_type,R2
.dbline 628
; #else
; display_type = 0;
; #endif
; last_key = 0xff;
ldi R24,255
sts _last_key,R24
.dbline 629
; clear_vol_cnt();
xcall _clear_vol_cnt
.dbline 630
L148:
.dbline 630
; };
.dbline 631
; }
L146:
.dbline 633
;
; if(g_ui_timing_cnt)
lds R3,_g_ui_timing_cnt+1
lds R2,_g_ui_timing_cnt
tst R2
brne X23
tst R3
breq L150
X23:
.dbline 634
; {
.dbline 635
; g_ui_timing_cnt--;
movw R24,R2
sbiw R24,1
sts _g_ui_timing_cnt+1,R25
sts _g_ui_timing_cnt,R24
.dbline 636
; if(!g_ui_timing_cnt)
movw R2,R24
tst R2
brne L152
tst R3
brne L152
.dbline 637
; {
.dbline 638
; work_mode1= work_mode;
lds R2,_work_mode
sts _work_mode1,R2
.dbline 639
; work_mode = POWER_OFF_MODE;
ldi R24,5
sts _work_mode,R24
.dbline 641
; //work_mode1 = work_mode;
; work_mode_convert();
xcall _work_mode_convert
.dbline 647
L152:
.dbline 647
; //muted = 1;
; //MCU_mute();
; //delay_ms(200);
; //decoder_power_off();
; //delay_ms(200);
; };
.dbline 648
; }
L150:
.dbline 649
L140:
.dbline 649
.dbline 651
L132:
.dbline 577
xjmp L131
X22:
.dbline -2
.dbline 652
; };
;
; }
; }
L125:
.dbline 0 ; func end
ret
.dbsym r i 20 c
.area bss(ram, con, rel)
.dbfile D:\avrmcu\AT980\AT980\main.c
_work_mode1::
.blkb 1
.dbsym s work_mode1 _work_mode1 c
_last_key::
.blkb 1
.dbsym s last_key _last_key c
_uicc_code::
.blkb 1
.dbsym s uicc_code _uicc_code c
_g_avtv::
.blkb 1
.dbsym s g_avtv _g_avtv c
.area data(ram, con, rel)
.dbfile D:\avrmcu\AT980\AT980\main.c
L130:
.blkb 6
.area idata
.byte 32,32,'D,'V,'D,0
.area data(ram, con, rel)
.dbfile D:\avrmcu\AT980\AT980\main.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -