📄 pt2320.lis
字号:
.module pt2320.c
.area data(ram, con, rel)
0000 _Mchvol::
0000 .blkb 1
.area idata
0000 1E .byte 30
.area data(ram, con, rel)
0001 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0001 .dbsym s Mchvol _Mchvol c
0001 _Treblevol::
0001 .blkb 1
.area idata
0001 07 .byte 7
.area data(ram, con, rel)
0002 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0002 .dbsym s Treblevol _Treblevol c
0002 _Bassvol::
0002 .blkb 1
.area idata
0002 07 .byte 7
.area data(ram, con, rel)
0003 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0003 .dbsym s Bassvol _Bassvol c
0003 _Balanceval::
0003 .blkb 1
.area idata
0003 07 .byte 7
.area data(ram, con, rel)
0004 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0004 .dbsym s Balanceval _Balanceval c
0004 _Loudnessval::
0004 .blkb 1
.area idata
0004 00 .byte 0
.area data(ram, con, rel)
0005 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0005 .dbsym s Loudnessval _Loudnessval c
0005 _pt_fsel_val::
0005 .blkb 1
.area idata
0005 04 .byte 4
.area data(ram, con, rel)
0006 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0006 .dbsym s pt_fsel_val _pt_fsel_val c
0006 _Schvol::
0006 .blkb 1
.area idata
0006 08 .byte 8
.area data(ram, con, rel)
0007 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0007 .dbsym s Schvol _Schvol c
0007 _SWchvol::
0007 .blkb 1
.area idata
0007 08 .byte 8
.area data(ram, con, rel)
0008 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0008 .dbsym s SWchvol _SWchvol c
0008 _Cchvol::
0008 .blkb 1
.area idata
0008 08 .byte 8
.area data(ram, con, rel)
0009 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0009 .dbsym s Cchvol _Cchvol c
.area text(rom, con, rel)
0000 .dbfile D:\avrmcu\AT980\pt2320\pt2320.c
0000 .dbfunc s pt2320_3d _pt2320_3d fI
.even
0000 _pt2320_3d::
0000 .dbline -1
0000 .dbline 36
; /*pt2320*/
; #include <iom163.h>
; #include "..\main.h"
; #include "..\io.h"
; #define PT_LMM 0x10
; #define PT_RMM 0x20
; #define PT_MC 0x30
; #define PT_LMR 0x40
; #define PT_RMR 0x50
; #define PT_MSW 0x60
; #define PT_FSEL 0x70
; #define PT_BASS 0x90
; #define PT_INTER 0xa0
; #define PT_TREBLE 0xb0
; #define PT_SWITCH 0xc0
; #define PT_MVOL_ONE 0xd0
; #define PT_MVOL_TEN 0xe0
; #define PT_RESET 0xf0
;
; #define DVD_CH 0x07
; #define AV3_CH 0x06
; #define AV2_CH 0x05
; #define AV1_CH 0x04
; #define TUNER_CH 0x03
;
; unsigned char Mchvol=30,Treblevol=7,Bassvol=7,Balanceval=7,Loudnessval=0;
; unsigned char pt_fsel_val=4;
; #ifndef NO_SIX_CHANNEL_OUTPUT
; unsigned char Schvol=8,SWchvol=8,Cchvol=8;
; #endif
; #define pt2320_switch(x) pt2320_write(PT_SWITCH|x)
; extern unsigned char g_avtv,muted,work_mode,rds_display_type,display_type,g_ui_tmp_msg_cnt;
; extern unsigned int g_vfd_grid_buffer[];
;
; void pt2320_3d(void)
; {
0000 .dbline 37
; if(Loudnessval)
0000 20900400 lds R2,_Loudnessval
0004 2220 tst R2
0006 31F0 breq L2
0008 .dbline 38
; pt_fsel_val &= 0x0b;
0008 80910500 lds R24,_pt_fsel_val
000C 8B70 andi R24,11
000E 80930500 sts _pt_fsel_val,R24
0012 05C0 xjmp L3
0014 L2:
0014 .dbline 40
; else
; pt_fsel_val |= 0x04;
0014 80910500 lds R24,_pt_fsel_val
0018 8460 ori R24,4
001A 80930500 sts _pt_fsel_val,R24
001E L3:
001E .dbline 41
; pt2320_write(PT_FSEL|pt_fsel_val);
001E 00910500 lds R16,_pt_fsel_val
0022 1127 clr R17
0024 0067 ori R16,112
0026 0E940000 xcall _pt2320_write
002A .dbline -2
002A .dbline 42
; }
002A L1:
002A .dbline 0 ; func end
002A 0895 ret
002C .dbfunc s set_balance _set_balance fI
; val1 -> R20
.even
002C _set_balance::
002C 0E940000 xcall push_gset1
0030 .dbline -1
0030 .dbline 45
;
; void set_balance(void)
; {
0030 .dbline 47
; unsigned char val1;
; if(Balanceval<7)
0030 80910300 lds R24,_Balanceval
0034 8730 cpi R24,7
0036 28F4 brsh L5
0038 .dbline 48
; {
0038 .dbline 49
; val1= 7-Balanceval;
0038 282E mov R2,R24
003A 47E0 ldi R20,7
003C 4219 sub R20,R2
003E .dbline 50
; val1 <<=1;
003E 440F lsl R20
0040 .dbline 51
; }
0040 01C0 xjmp L6
0042 L5:
0042 .dbline 53
; else
; val1 = 0;
0042 4427 clr R20
0044 L6:
0044 .dbline 54
; pt2320_write(PT_RMM|++val1);
0044 842F mov R24,R20
0046 8F5F subi R24,255 ; addi 1
0048 282E mov R2,R24
004A 422D mov R20,R2
004C 022D mov R16,R2
004E 1127 clr R17
0050 0062 ori R16,32
0052 0E940000 xcall _pt2320_write
0056 .dbline 56
;
; if(Balanceval>7)
0056 87E0 ldi R24,7
0058 20900300 lds R2,_Balanceval
005C 8215 cp R24,R2
005E 20F4 brsh L7
0060 .dbline 57
; {
0060 .dbline 58
; val1=Balanceval-7;
0060 422D mov R20,R2
0062 4750 subi R20,7
0064 .dbline 59
; val1<<=1;
0064 440F lsl R20
0066 .dbline 60
; }
0066 01C0 xjmp L8
0068 L7:
0068 .dbline 62
; else
; val1 = 0;
0068 4427 clr R20
006A L8:
006A .dbline 63
; pt2320_write(PT_LMM|++val1);
006A 842F mov R24,R20
006C 8F5F subi R24,255 ; addi 1
006E 282E mov R2,R24
0070 422D mov R20,R2
0072 022D mov R16,R2
0074 1127 clr R17
0076 0061 ori R16,16
0078 0E940000 xcall _pt2320_write
007C .dbline -2
007C .dbline 64
; }
007C L4:
007C 0E940000 xcall pop_gset1
0080 .dbline 0 ; func end
0080 0895 ret
0082 .dbsym r val1 20 c
0082 .dbfunc s pt2320_vol _pt2320_vol fI
; val_ten -> R20
; val_one -> R22
.even
0082 _pt2320_vol::
0082 0E940000 xcall push_gset2
0086 2297 sbiw R28,2
0088 .dbline -1
0088 .dbline 67
; #define PT2320_ADD 0x88
; void pt2320_vol(void)
; {
0088 .dbline 70
; unsigned char val_one,val_ten;
; //temp_val = Mchvol;
; if(Mchvol==0)
0088 20900000 lds R2,_Mchvol
008C 2220 tst R2
008E 19F4 brne L10
0090 .dbline 71
; {
0090 .dbline 72
; val_one =9;
0090 69E0 ldi R22,9
0092 .dbline 73
; val_ten =7;
0092 47E0 ldi R20,7
0094 .dbline 74
; }
0094 0EC0 xjmp L11
0096 L10:
0096 .dbline 76
; else
; {
0096 .dbline 77
; val_one = 60-Mchvol;
0096 20900000 lds R2,_Mchvol
009A 6CE3 ldi R22,60
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -