📄 cs5532.lis
字号:
02B4 3580 ldd R3,z+5
02B6 4680 ldd R4,z+6
02B8 5780 ldd R5,z+7
02BA 8A93 st -y,R24
02BC 8101 movw R16,R2
02BE 9201 movw R18,R4
02C0 0E940000 xcall lsl32
02C4 FE01 movw R30,R28
02C6 0483 std z+4,R16
02C8 1583 std z+5,R17
02CA 2683 std z+6,R18
02CC 3783 std z+7,R19
02CE .dbline 153
02CE ; c |= RxdTxd4b[2];
02CE 2A80 ldd R2,y+2
02D0 3324 clr R3
02D2 4424 clr R4
02D4 5524 clr R5
02D6 FE01 movw R30,R28
02D8 6480 ldd R6,z+4
02DA 7580 ldd R7,z+5
02DC 8680 ldd R8,z+6
02DE 9780 ldd R9,z+7
02E0 6228 or R6,R2
02E2 7328 or R7,R3
02E4 8428 or R8,R4
02E6 9528 or R9,R5
02E8 FE01 movw R30,R28
02EA 6482 std z+4,R6
02EC 7582 std z+5,R7
02EE 8682 std z+6,R8
02F0 9782 std z+7,R9
02F2 .dbline 154
02F2 ; c<<=8;
02F2 88E0 ldi R24,8
02F4 90E0 ldi R25,0
02F6 FE01 movw R30,R28
02F8 2480 ldd R2,z+4
02FA 3580 ldd R3,z+5
02FC 4680 ldd R4,z+6
02FE 5780 ldd R5,z+7
0300 8A93 st -y,R24
0302 8101 movw R16,R2
0304 9201 movw R18,R4
0306 0E940000 xcall lsl32
030A FE01 movw R30,R28
030C 0483 std z+4,R16
030E 1583 std z+5,R17
0310 2683 std z+6,R18
0312 3783 std z+7,R19
0314 .dbline 155
0314 ; c |= RxdTxd4b[3];
0314 2B80 ldd R2,y+3
0316 3324 clr R3
0318 4424 clr R4
031A 5524 clr R5
031C FE01 movw R30,R28
031E 6480 ldd R6,z+4
0320 7580 ldd R7,z+5
0322 8680 ldd R8,z+6
0324 9780 ldd R9,z+7
0326 6228 or R6,R2
0328 7328 or R7,R3
032A 8428 or R8,R4
032C 9528 or R9,R5
032E FE01 movw R30,R28
0330 6482 std z+4,R6
0332 7582 std z+5,R7
0334 8682 std z+6,R8
0336 9782 std z+7,R9
0338 .dbline 157
0338 ; // c=c>>8;//去掉最低位
0338 ; return(c);
0338 FE01 movw R30,R28
033A 0481 ldd R16,z+4
033C 1581 ldd R17,z+5
033E 2681 ldd R18,z+6
0340 3781 ldd R19,z+7
0342 .dbline -2
0342 L43:
0342 2896 adiw R28,8
0344 0E940000 xcall pop_gset4
0348 .dbline 0 ; func end
0348 0895 ret
034A .dbsym l c 4 l
034A .dbsym l RxdTxd4b 0 A[4:4]c
034A .dbsym r i 12 c
034A .dbsym r j 10 c
034A .dbend
034A .dbfunc e CS5532_init _CS5532_init fV
034A ; i -> R20
.even
034A _CS5532_init::
034A 0E940000 xcall push_gset1
034E .dbline -1
034E .dbline 161
034E ; }
034E ;
034E ; void CS5532_init(void)
034E ; {
034E .dbline 165
034E ;
034E ; //串口初始化
034E ; unsigned char i;
034E ; SET_CS;
034E 739A sbi 0xe,3
0350 .dbline 166
0350 ; delay_loop(2);
0350 02E0 ldi R16,2
0352 10E0 ldi R17,0
0354 0E940000 xcall _delay_loop
0358 .dbline 167
0358 ; CLR_CS; //片选使能
0358 8EB1 in R24,0xe
035A 877F andi R24,247
035C 8EB9 out 0xe,R24
035E .dbline 168
035E ; delay_loop(2);
035E 02E0 ldi R16,2
0360 10E0 ldi R17,0
0362 0E940000 xcall _delay_loop
0366 .dbline 169
0366 ; CLR_SDI;
0366 8EB1 in R24,0xe
0368 8F7E andi R24,239
036A 8EB9 out 0xe,R24
036C .dbline 170
036C ; SET_SDO;
036C 759A sbi 0xe,5
036E .dbline 171
036E ; CLR_SCK;
036E 8EB1 in R24,0xe
0370 8F7B andi R24,191
0372 8EB9 out 0xe,R24
0374 .dbline 172
0374 ; for(i=0;i<15;i++)
0374 4427 clr R20
0376 03C0 xjmp L61
0378 L58:
0378 .dbline 173
0378 .dbline 174
0378 0FEF ldi R16,255
037A E5DE xcall _CS5532_Txd
037C .dbline 175
037C L59:
037C .dbline 172
037C 4395 inc R20
037E L61:
037E .dbline 172
037E 4F30 cpi R20,15
0380 D8F3 brlo L58
0382 .dbline 176
0382 ; {
0382 ; CS5532_Txd(0xFF);//发送命令
0382 ; }
0382 ; CS5532_Txd(0xFE);
0382 0EEF ldi R16,254
0384 E0DE xcall _CS5532_Txd
0386 .dbline 178
0386 ; //配置寄存器
0386 ; CS5532_Txd(0x43);
0386 03E4 ldi R16,67
0388 DEDE xcall _CS5532_Txd
038A .dbline 180
038A ;
038A ; CS5532_Txd(0x02);
038A 02E0 ldi R16,2
038C DCDE xcall _CS5532_Txd
038E .dbline 181
038E ; CS5532_Txd(0x40);
038E 00E4 ldi R16,64
0390 DADE xcall _CS5532_Txd
0392 .dbline 182
0392 ; CS5532_Txd(0x00);
0392 0027 clr R16
0394 D8DE xcall _CS5532_Txd
0396 .dbline 183
0396 ; CS5532_Txd(0x00);
0396 0027 clr R16
0398 D6DE xcall _CS5532_Txd
039A .dbline 185
039A ;
039A ; CS5532_Txd(0x02);
039A 02E0 ldi R16,2
039C D4DE xcall _CS5532_Txd
039E .dbline 186
039E ; CS5532_Txd(0x40);
039E 00E4 ldi R16,64
03A0 D2DE xcall _CS5532_Txd
03A2 .dbline 187
03A2 ; CS5532_Txd(0x00);
03A2 0027 clr R16
03A4 D0DE xcall _CS5532_Txd
03A6 .dbline 188
03A6 ; CS5532_Txd(0x00);
03A6 0027 clr R16
03A8 CEDE xcall _CS5532_Txd
03AA .dbline 190
03AA ;
03AA ; CS5532_Txd(0x02);
03AA 02E0 ldi R16,2
03AC CCDE xcall _CS5532_Txd
03AE .dbline 191
03AE ; CS5532_Txd(0x40);
03AE 00E4 ldi R16,64
03B0 CADE xcall _CS5532_Txd
03B2 .dbline 192
03B2 ; CS5532_Txd(0x00);
03B2 0027 clr R16
03B4 C8DE xcall _CS5532_Txd
03B6 .dbline 193
03B6 ; CS5532_Txd(0x00);
03B6 0027 clr R16
03B8 C6DE xcall _CS5532_Txd
03BA .dbline 195
03BA ;
03BA ; CS5532_Txd(0x02);
03BA 02E0 ldi R16,2
03BC C4DE xcall _CS5532_Txd
03BE .dbline 196
03BE ; CS5532_Txd(0x40);
03BE 00E4 ldi R16,64
03C0 C2DE xcall _CS5532_Txd
03C2 .dbline 197
03C2 ; CS5532_Txd(0x00);
03C2 0027 clr R16
03C4 C0DE xcall _CS5532_Txd
03C6 .dbline 198
03C6 ; CS5532_Txd(0x00);
03C6 0027 clr R16
03C8 BEDE xcall _CS5532_Txd
03CA .dbline -2
03CA L57:
03CA 0E940000 xcall pop_gset1
03CE .dbline 0 ; func end
03CE 0895 ret
03D0 .dbsym r i 20 c
03D0 .dbend
03D0 .dbfunc e CS5532_RW _CS5532_RW fl
03D0 ; l -> <dead>
03D0 ; Conversion_r -> <dead>
03D0 ; AD_data -> y+0
03D0 ; j -> R20
03D0 ; i -> R22
03D0 ; chunnel -> R20,R21
.even
03D0 _CS5532_RW::
03D0 0E940000 xcall push_gset2
03D4 A801 movw R20,R16
03D6 2497 sbiw R28,4
03D8 .dbline -1
03D8 .dbline 208
03D8 ; /* //通道寄存器
03D8 ; CS5532_Txd(0x05);
03D8 ; CS5532_Txd(0x32);
03D8 ; CS5532_Txd(0x40);
03D8 ; CS5532_Txd(0x32);
03D8 ; CS5532_Txd(0x40);*/
03D8 ; //---------------------------
03D8 ; }
03D8 ; unsigned long CS5532_RW(unsigned int chunnel)
03D8 ; {
03D8 .dbline 211
03D8 ; unsigned char Conversion_r,l,j,i;
03D8 ; unsigned char AD_data[4];
03D8 ; switch(chunnel)
03D8 4030 cpi R20,0
03DA 4507 cpc R20,R21
03DC 21F1 breq L65
03DE X2:
03DE 4130 cpi R20,1
03E0 E0E0 ldi R30,0
03E2 5E07 cpc R21,R30
03E4 09F4 brne X4
03E6 30C0 xjmp L66
03E8 X4:
03E8 4230 cpi R20,2
03EA E0E0 ldi R30,0
03EC 5E07 cpc R21,R30
03EE 09F4 brne X5
03F0 3AC0 xjmp L67
03F2 X5:
03F2 4330 cpi R20,3
03F4 E0E0 ldi R30,0
03F6 5E07 cpc R21,R30
03F8 09F4 brne X6
03FA 44C0 xjmp L68
03FC X6:
03FC 4430 cpi R20,4
03FE E0E0 ldi R30,0
0400 5E07 cpc R21,R30
0402 09F4 brne X7
0404 4CC0 xjmp L69
0406 X7:
0406 4530 cpi R20,5
0408 E0E0 ldi R30,0
040A 5E07 cpc R21,R30
040C 09F4 brne X8
040E 58C0 xjmp L70
0410 X8:
0410 4630 cpi R20,6
0412 E0E0 ldi R30,0
0414 5E07 cpc R21,R30
0416 09F4 brne X9
0418 62C0 xjmp L71
041A X9:
041A 4730 cpi R20,7
041C E0E0 ldi R30,0
041E 5E07 cpc R21,R30
0420 09F4 brne X10
0422 6CC0 xjmp L72
0424 X10:
0424 77C0 xjmp L64
0426 X3:
0426 .dbline 212
0426 ; {
0426 L65:
0426 .dbline 214
0426 ; case 0:
0426 ; CLR_4052A;
0426 84B3 in R24,0x14
0428 877F andi R24,247
042A 84BB out 0x14,R24
042C .dbline 215
042C ; CLR_4052B;
042C 85B1 in R24,0x5
042E 8F67 ori R24,127
0430 85B9 out 0x5,R24
0432 .dbline 216
0432 ; CS5532_Txd(0x05);
0432 05E0 ldi R16,5
0434 88DE xcall _CS5532_Txd
0436 .dbline 217
0436 ; CS5532_Txd(0b00110110);
0436 06E3 ldi R16,54
0438 86DE xcall _CS5532_Txd
043A .dbline 218
043A ; CS5532_Txd(0x40);
043A 00E4 ldi R16,64
043C 84DE xcall _CS5532_Txd
043E .dbline 219
043E ; CS5532_Txd(0b00110110);
043E 06E3 ldi R16,54
0440 82DE xcall _CS5532_Txd
0442 .dbline 220
0442 ; CS5532_Txd(0x40);
0442 00E4 ldi R16,64
0444 80DE xcall _CS5532_Txd
0446 .dbline 221
0446 ; break;
0446 66C0 xjmp L64
0448 L66:
0448 .dbline 223
0448 ; case 1:
0448 ; SET_4052A;
0448 A39A sbi 0x14,3
044A .dbline 224
044A ; CLR_4052B;
044A 85B1 in R24,0x5
044C 8F67 ori R24,127
044E 85B9 out 0x5,R24
0450 .dbline 225
0450 ; CS5532_Txd(0x05);
0450 05E0 ldi R16,5
0452 79DE xcall _CS5532_Txd
0454 .dbline 226
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -