📄 bu2624.lis
字号:
00DE 11F0 breq L25
00E0 .dbline 144
; {
00E0 .dbline 145
; radio_din_hi();
00E0 959A SBI 0x12,5
00E2 .dbline 146
; }
00E2 01C0 xjmp L26
00E4 L25:
00E4 .dbline 148
; else
; {
00E4 .dbline 149
; radio_din_lo();
00E4 9598 CBI 0x12,5
00E6 .dbline 150
; }
00E6 L26:
00E6 .dbline 151
00E6 8CDF xcall _soft_delay
00E8 .dbline 152
00E8 949A SBI 0x12,4
00EA .dbline 153
00EA 7695 lsr R23
00EC 6795 ror R22
00EE .dbline 154
00EE 88DF xcall _soft_delay
00F0 .dbline 155
00F0 L22:
00F0 .dbline 140
00F0 4395 inc R20
00F2 L24:
00F2 .dbline 140
00F2 4031 cpi R20,16
00F4 70F3 brlo L21
00F6 .dbline -2
00F6 .dbline 156
; soft_delay();
; radio_clk_hi();
; data1 >>= 1;
; soft_delay();
; }
; }
00F6 L20:
00F6 0E940000 xcall pop_gset2
00FA .dbline 0 ; func end
00FA 0895 ret
00FC .dbsym r i 20 c
00FC .dbsym r data1 22 i
00FC .dbfunc s send_cmd_to_bu2624 _send_cmd_to_bu2624 fI
.even
00FC _send_cmd_to_bu2624::
00FC .dbline -1
00FC .dbline 159
;
; void send_cmd_to_bu2624(void)
; {
00FC .dbline 161
;
; radio_clk_hi();
00FC 949A SBI 0x12,4
00FE .dbline 162
; radio_stb_hi();
00FE 909A SBI 0x12,0
0100 .dbline 164
;
; soft_delay();
0100 7FDF xcall _soft_delay
0102 .dbline 165
; send_word_to_bu2624(In_Pdata);
0102 10910E00 lds R17,_In_Pdata+1
0106 00910D00 lds R16,_In_Pdata
010A DEDF xcall _send_word_to_bu2624
010C .dbline 166
; send_word_to_bu2624(In_Cdata);
010C 10910C00 lds R17,_In_Cdata+1
0110 00910B00 lds R16,_In_Cdata
0114 D9DF xcall _send_word_to_bu2624
0116 .dbline 167
; radio_stb_lo();
0116 9098 CBI 0x12,0
0118 .dbline -2
0118 .dbline 168
; }
0118 L27:
0118 .dbline 0 ; func end
0118 0895 ret
011A .dbfunc s mute_radio _mute_radio fI
.even
011A _mute_radio::
011A .dbline -1
011A .dbline 171
;
; void mute_radio(void)
; {
011A .dbline 172
; if(radio_is_muted)
011A 20900800 lds R2,_radio_is_muted
011E 2220 tst R2
0120 79F0 breq L29
0122 .dbline 173
; {
0122 .dbline 174
; Enable_IF_OUT();//In_Cdata = In_Cdata&(~P1_IF_NOOUT);
0122 90910C00 lds R25,_In_Cdata+1
0126 80910B00 lds R24,_In_Cdata
012A 8D7F andi R24,253
012C 90930C00 sts _In_Cdata+1,R25
0130 80930B00 sts _In_Cdata,R24
0134 .dbline 175
; muted = 1;
0134 81E0 ldi R24,1
0136 80930000 sts _muted,R24
013A .dbline 176
; MCU_mute();
013A 0E940000 xcall _MCU_mute
013E .dbline 177
; }
013E 14C0 xjmp L30
0140 L29:
0140 .dbline 179
; else
; {
0140 .dbline 180
; Disable_IF_OUT();//In_Cdata |= P1_IF_NOOUT;
0140 90910C00 lds R25,_In_Cdata+1
0144 80910B00 lds R24,_In_Cdata
0148 8260 ori R24,2
014A 90930C00 sts _In_Cdata+1,R25
014E 80930B00 sts _In_Cdata,R24
0152 .dbline 181
; Enable_SD_OUT();//In_Cdata &=(~(COUNTER_START|IF_COUNTER_16MS));
0152 8F77 andi R24,127
0154 9F7B andi R25,191
0156 90930C00 sts _In_Cdata+1,R25
015A 80930B00 sts _In_Cdata,R24
015E .dbline 182
; muted = 0; //
015E 2224 clr R2
0160 20920000 sts _muted,R2
0164 .dbline 183
; MCU_mute();
0164 0E940000 xcall _MCU_mute
0168 .dbline 185
;
; }
0168 L30:
0168 .dbline 186
; send_cmd_to_bu2624();
0168 C9DF xcall _send_cmd_to_bu2624
016A .dbline -2
016A .dbline 187
; }
016A L28:
016A .dbline 0 ; func end
016A 0895 ret
016C .dbfunc s read_data_from_bu2624 _read_data_from_bu2624 fI
; value1 -> R20
; i -> R22
; value -> R10,R11
.even
016C _read_data_from_bu2624::
016C 0E940000 xcall push_gset3
0170 .dbline -1
0170 .dbline 190
;
; void read_data_from_bu2624()
; {
0170 .dbline 194
; register unsigned int value;
; register unsigned char i,value1;
; //set_dout_in();
; radio_stb_lo();
0170 9098 CBI 0x12,0
0172 .dbline 195
; soft_delay();
0172 46DF xcall _soft_delay
0174 .dbline 196
; dataout0 = 0;
0174 2224 clr R2
0176 3324 clr R3
0178 30921100 sts _dataout0+1,R3
017C 20921000 sts _dataout0,R2
0180 .dbline 197
; dataout1 = 0;
0180 20920F00 sts _dataout1,R2
0184 .dbline 200
;
;
; value = 0;
0184 AA24 clr R10
0186 BB24 clr R11
0188 .dbline 201
; for(i=0;i<16;i++)
0188 6627 clr R22
018A 0CC0 xjmp L35
018C L32:
018C .dbline 202
; {
018C .dbline 203
; value >>=1;
018C B694 lsr R11
018E A794 ror R10
0190 .dbline 204
; radio_clk_lo();
0190 9498 CBI 0x12,4
0192 .dbline 205
; soft_delay();
0192 36DF xcall _soft_delay
0194 .dbline 206
; if(radio_dout()) value |= 0x8000;
0194 879B sbis 0x10,7
0196 03C0 rjmp L36
0198 .dbline 206
0198 C501 movw R24,R10
019A 9068 ori R25,128
019C 5C01 movw R10,R24
019E L36:
019E .dbline 208
019E 949A SBI 0x12,4
01A0 .dbline 209
01A0 2FDF xcall _soft_delay
01A2 .dbline 210
01A2 L33:
01A2 .dbline 201
01A2 6395 inc R22
01A4 L35:
01A4 .dbline 201
01A4 6031 cpi R22,16
01A6 90F3 brlo L32
01A8 .dbline 211
;
; radio_clk_hi();
; soft_delay();
; }
; dataout0 = value;
01A8 B0921100 sts _dataout0+1,R11
01AC A0921000 sts _dataout0,R10
01B0 .dbline 213
;
; value1 = 0;
01B0 4427 clr R20
01B2 .dbline 214
; for(i=0;i<8;i++)
01B2 6627 clr R22
01B4 09C0 xjmp L41
01B6 L38:
01B6 .dbline 215
; {
01B6 .dbline 216
; value1 >>=1;
01B6 4695 lsr R20
01B8 .dbline 217
; radio_clk_lo();
01B8 9498 CBI 0x12,4
01BA .dbline 218
; soft_delay();
01BA 22DF xcall _soft_delay
01BC .dbline 220
;
; if(radio_dout()) value1 |= 0x80;
01BC 879B sbis 0x10,7
01BE 01C0 rjmp L42
01C0 .dbline 220
01C0 4068 ori R20,128
01C2 L42:
01C2 .dbline 222
01C2 949A SBI 0x12,4
01C4 .dbline 223
01C4 1DDF xcall _soft_delay
01C6 .dbline 224
01C6 L39:
01C6 .dbline 214
01C6 6395 inc R22
01C8 L41:
01C8 .dbline 214
01C8 6830 cpi R22,8
01CA A8F3 brlo L38
01CC .dbline 226
;
; radio_clk_hi();
; soft_delay();
; }
;
; dataout1 = value1;
01CC 40930F00 sts _dataout1,R20
01D0 .dbline -2
01D0 .dbline 227
; }
01D0 L31:
01D0 0E940000 xcall pop_gset3
01D4 .dbline 0 ; func end
01D4 0895 ret
01D6 .dbsym r value1 20 c
01D6 .dbsym r i 22 c
01D6 .dbsym r value 10 i
01D6 .dbfunc s switch_audio_channel _switch_audio_channel fI
.even
01D6 _switch_audio_channel::
01D6 .dbline -1
01D6 .dbline 231
;
;
; void switch_audio_channel(void)
; {
01D6 .dbline 232
; if(is_stereo)
01D6 20900400 lds R2,_is_stereo
01DA 2220 tst R2
01DC 51F0 breq L45
01DE .dbline 233
; {
01DE .dbline 234
; Set_Stereo();//In_Cdata &= (~P4_MONO);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -