📄 cs5532.lis
字号:
0454 ; CS5532_Txd(0b00110110);
0454 06E3 ldi R16,54
0456 77DE xcall _CS5532_Txd
0458 .dbline 227
0458 ; CS5532_Txd(0x40);
0458 00E4 ldi R16,64
045A 75DE xcall _CS5532_Txd
045C .dbline 228
045C ; CS5532_Txd(0b00110110);
045C 06E3 ldi R16,54
045E 73DE xcall _CS5532_Txd
0460 .dbline 229
0460 ; CS5532_Txd(0x40);
0460 00E4 ldi R16,64
0462 71DE xcall _CS5532_Txd
0464 .dbline 230
0464 ; break;
0464 57C0 xjmp L64
0466 L67:
0466 .dbline 232
0466 ; case 2:
0466 ; CLR_4052A;
0466 84B3 in R24,0x14
0468 877F andi R24,247
046A 84BB out 0x14,R24
046C .dbline 233
046C ; SET_4052B;
046C 2F9A sbi 0x5,7
046E .dbline 234
046E ; CS5532_Txd(0x05);
046E 05E0 ldi R16,5
0470 6ADE xcall _CS5532_Txd
0472 .dbline 235
0472 ; CS5532_Txd(0b00110110);
0472 06E3 ldi R16,54
0474 68DE xcall _CS5532_Txd
0476 .dbline 236
0476 ; CS5532_Txd(0x40);
0476 00E4 ldi R16,64
0478 66DE xcall _CS5532_Txd
047A .dbline 237
047A ; CS5532_Txd(0b00110110);
047A 06E3 ldi R16,54
047C 64DE xcall _CS5532_Txd
047E .dbline 238
047E ; CS5532_Txd(0x40);
047E 00E4 ldi R16,64
0480 62DE xcall _CS5532_Txd
0482 .dbline 239
0482 ; break;
0482 48C0 xjmp L64
0484 L68:
0484 .dbline 241
0484 ; case 3:
0484 ; SET_4052A;
0484 A39A sbi 0x14,3
0486 .dbline 242
0486 ; SET_4052B;
0486 2F9A sbi 0x5,7
0488 .dbline 243
0488 ; CS5532_Txd(0x05);
0488 05E0 ldi R16,5
048A 5DDE xcall _CS5532_Txd
048C .dbline 244
048C ; CS5532_Txd(0b00110110);
048C 06E3 ldi R16,54
048E 5BDE xcall _CS5532_Txd
0490 .dbline 245
0490 ; CS5532_Txd(0x40);
0490 00E4 ldi R16,64
0492 59DE xcall _CS5532_Txd
0494 .dbline 246
0494 ; CS5532_Txd(0b00110110);
0494 06E3 ldi R16,54
0496 57DE xcall _CS5532_Txd
0498 .dbline 247
0498 ; CS5532_Txd(0x40);
0498 00E4 ldi R16,64
049A 55DE xcall _CS5532_Txd
049C .dbline 248
049C ; break;
049C 3BC0 xjmp L64
049E L69:
049E .dbline 250
049E ; case 4:
049E ; CLR_4052A;
049E 84B3 in R24,0x14
04A0 877F andi R24,247
04A2 84BB out 0x14,R24
04A4 .dbline 251
04A4 ; CLR_4052B;
04A4 85B1 in R24,0x5
04A6 8F67 ori R24,127
04A8 85B9 out 0x5,R24
04AA .dbline 252
04AA ; CS5532_Txd(0x05);
04AA 05E0 ldi R16,5
04AC 4CDE xcall _CS5532_Txd
04AE .dbline 253
04AE ; CS5532_Txd(0b01110110);
04AE 06E7 ldi R16,118
04B0 4ADE xcall _CS5532_Txd
04B2 .dbline 254
04B2 ; CS5532_Txd(0x40);
04B2 00E4 ldi R16,64
04B4 48DE xcall _CS5532_Txd
04B6 .dbline 255
04B6 ; CS5532_Txd(0b00110110);
04B6 06E3 ldi R16,54
04B8 46DE xcall _CS5532_Txd
04BA .dbline 256
04BA ; CS5532_Txd(0x40);
04BA 00E4 ldi R16,64
04BC 44DE xcall _CS5532_Txd
04BE .dbline 257
04BE ; break;
04BE 2AC0 xjmp L64
04C0 L70:
04C0 .dbline 259
04C0 ; case 5:
04C0 ; SET_4052A;
04C0 A39A sbi 0x14,3
04C2 .dbline 260
04C2 ; CLR_4052B;
04C2 85B1 in R24,0x5
04C4 8F67 ori R24,127
04C6 85B9 out 0x5,R24
04C8 .dbline 261
04C8 ; CS5532_Txd(0x05);
04C8 05E0 ldi R16,5
04CA 3DDE xcall _CS5532_Txd
04CC .dbline 262
04CC ; CS5532_Txd(0b01110110);
04CC 06E7 ldi R16,118
04CE 3BDE xcall _CS5532_Txd
04D0 .dbline 263
04D0 ; CS5532_Txd(0x40);
04D0 00E4 ldi R16,64
04D2 39DE xcall _CS5532_Txd
04D4 .dbline 264
04D4 ; CS5532_Txd(0b00110110);
04D4 06E3 ldi R16,54
04D6 37DE xcall _CS5532_Txd
04D8 .dbline 265
04D8 ; CS5532_Txd(0x40);
04D8 00E4 ldi R16,64
04DA 35DE xcall _CS5532_Txd
04DC .dbline 266
04DC ; break;
04DC 1BC0 xjmp L64
04DE L71:
04DE .dbline 268
04DE ; case 6:
04DE ; CLR_4052A;
04DE 84B3 in R24,0x14
04E0 877F andi R24,247
04E2 84BB out 0x14,R24
04E4 .dbline 269
04E4 ; SET_4052B;
04E4 2F9A sbi 0x5,7
04E6 .dbline 270
04E6 ; CS5532_Txd(0x05);
04E6 05E0 ldi R16,5
04E8 2EDE xcall _CS5532_Txd
04EA .dbline 271
04EA ; CS5532_Txd(0b01110110);
04EA 06E7 ldi R16,118
04EC 2CDE xcall _CS5532_Txd
04EE .dbline 272
04EE ; CS5532_Txd(0x40);
04EE 00E4 ldi R16,64
04F0 2ADE xcall _CS5532_Txd
04F2 .dbline 273
04F2 ; CS5532_Txd(0b00110110);
04F2 06E3 ldi R16,54
04F4 28DE xcall _CS5532_Txd
04F6 .dbline 274
04F6 ; CS5532_Txd(0x40);
04F6 00E4 ldi R16,64
04F8 26DE xcall _CS5532_Txd
04FA .dbline 275
04FA ; break;
04FA 0CC0 xjmp L64
04FC L72:
04FC .dbline 277
04FC ; case 7:
04FC ; SET_4052A;
04FC A39A sbi 0x14,3
04FE .dbline 278
04FE ; SET_4052B;
04FE 2F9A sbi 0x5,7
0500 .dbline 279
0500 ; CS5532_Txd(0x05);
0500 05E0 ldi R16,5
0502 21DE xcall _CS5532_Txd
0504 .dbline 280
0504 ; CS5532_Txd(0b01110110);
0504 06E7 ldi R16,118
0506 1FDE xcall _CS5532_Txd
0508 .dbline 281
0508 ; CS5532_Txd(0x40);
0508 00E4 ldi R16,64
050A 1DDE xcall _CS5532_Txd
050C .dbline 282
050C ; CS5532_Txd(0b00110110);
050C 06E3 ldi R16,54
050E 1BDE xcall _CS5532_Txd
0510 .dbline 283
0510 ; CS5532_Txd(0x40);
0510 00E4 ldi R16,64
0512 19DE xcall _CS5532_Txd
0514 .dbline 284
0514 ; break;
0514 .dbline 285
0514 ; default:break;
0514 L64:
0514 .dbline 287
0514 ; }
0514 ; CS5532_Txd(0x80); //启动稳定的单次转换
0514 00E8 ldi R16,128
0516 17DE xcall _CS5532_Txd
0518 L73:
0518 .dbline 289
0518 .dbline 289
0518 .dbline 289
0518 L74:
0518 .dbline 288
0518 ; while(SDO!=0) //等待转换结束
0518 6599 sbic 0xc,5
051A FECF rjmp L73
051C .dbline 291
051C ; {;}
051C ; // 读取数据
051C ; CLR_SCK;//时钟低
051C 8EB1 in R24,0xe
051E 8F7B andi R24,191
0520 8EB9 out 0xe,R24
0522 .dbline 292
0522 ; CLR_SDI;
0522 8EB1 in R24,0xe
0524 8F7E andi R24,239
0526 8EB9 out 0xe,R24
0528 .dbline 293
0528 ; delay_loop(1);
0528 01E0 ldi R16,1
052A 10E0 ldi R17,0
052C 0E940000 xcall _delay_loop
0530 .dbline 294
0530 ; for(i=0;i<8;i++)
0530 6627 clr R22
0532 0DC0 xjmp L79
0534 L76:
0534 .dbline 295
0534 .dbline 296
0534 769A sbi 0xe,6
0536 .dbline 297
0536 01E0 ldi R16,1
0538 10E0 ldi R17,0
053A 0E940000 xcall _delay_loop
053E .dbline 298
053E 8EB1 in R24,0xe
0540 8F7B andi R24,191
0542 8EB9 out 0xe,R24
0544 .dbline 299
0544 01E0 ldi R16,1
0546 10E0 ldi R17,0
0548 0E940000 xcall _delay_loop
054C .dbline 300
054C L77:
054C .dbline 294
054C 6395 inc R22
054E L79:
054E .dbline 294
054E 6830 cpi R22,8
0550 88F3 brlo L76
0552 .dbline 301
0552 ; {
0552 ; SET_SCK; //时钟高
0552 ; delay_loop(1);
0552 ; CLR_SCK; //时钟低
0552 ; delay_loop(1);
0552 ; }
0552 ; for(j=0;j<4;j++)
0552 4427 clr R20
0554 22C0 xjmp L83
0556 L80:
0556 .dbline 302
0556 ; {
0556 .dbline 303
0556 ; for(i=0;i<8;i++)
0556 6627 clr R22
0558 1DC0 xjmp L87
055A L84:
055A .dbline 304
055A ; {
055A .dbline 305
055A ; SET_SCK; //时钟高
055A 769A sbi 0xe,6
055C .dbline 306
055C ; AD_data[j]<<=1;
055C CE01 movw R24,R28
055E 242E mov R2,R20
0560 3324 clr R3
0562 280E add R2,R24
0564 391E adc R3,R25
0566 F101 movw R30,R2
0568 4080 ldd R4,z+0
056A 440C lsl R4
056C 4082 std z+0,R4
056E .dbline 307
056E ; if(SDO)
056E 659B sbis 0xc,5
0570 09C0 rjmp L88
0572 .dbline 308
0572 ; AD_data[j]|=0x01; //从SDO读取数据
0572 CE01 movw R24,R28
0574 242E mov R2,R20
0576 3324 clr R3
0578 280E add R2,R24
057A 391E adc R3,R25
057C F101 movw R30,R2
057E 8081 ldd R24,z+0
0580 8160 ori R24,1
0582 8083 std z+0,R24
0584 L88:
0584 .dbline 309
0584 8EB1 in R24,0xe
0586 8F7B andi R24,191
0588 8EB9 out 0xe,R24
058A .dbline 310
058A 01E0 ldi R16,1
058C 10E0 ldi R17,0
058E 0E940000 xcall _delay_loop
0592 .dbline 311
0592 L85:
0592 .dbline 303
0592 6395 inc R22
0594 L87:
0594 .dbline 303
0594 6830 cpi R22,8
0596 08F3 brlo L84
0598 .dbline 312
0598 L81:
0598 .dbline 301
0598 4395 inc R20
059A L83:
059A .dbline 301
059A 4430 cpi R20,4
059C E0F2 brlo L80
059E .dbline -2
059E L62:
059E 2496 adiw R28,4
05A0 0E940000 xcall pop_gset2
05A4 .dbline 0 ; func end
05A4 0895 ret
05A6 .dbsym l l 1 c
05A6 .dbsym l Conversion_r 1 c
05A6 .dbsym l AD_data 0 A[4:4]c
05A6 .dbsym r j 20 c
05A6 .dbsym r i 22 c
05A6 .dbsym r chunnel 20 i
05A6 .dbend
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -