⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ad.lis

📁 ATmega128和ads7864实现ATP闭环控制
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 04B2 8D7F              andi R24,253
 04B4 80936500          sts 101,R24
 04B8                   .dbline 300
 04B8           ;       NOP();
 04B8 0000              nop
 04BA                   .dbline 301
 04BA           ;       uctemp[0]=PINC;         //first byte
 04BA 23B2              in R2,0x13
 04BC 2886              std y+8,R2
 04BE                   .dbline 302
 04BE           ;       SETBIT(AD_RD_OUT, AD_RD);
 04BE 80916500          lds R24,101
 04C2 8260              ori R24,2
 04C4 80936500          sts 101,R24
 04C8                   .dbline 303
 04C8           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 04C8 80916500          lds R24,101
 04CC 8D7F              andi R24,253
 04CE 80936500          sts 101,R24
 04D2                   .dbline 304
 04D2           ;       NOP();
 04D2 0000              nop
 04D4                   .dbline 305
 04D4           ;       uctemp[1]=PINC;         //second byte
 04D4 23B2              in R2,0x13
 04D6 2986              std y+9,R2
 04D8                   .dbline 306
 04D8           ;       SETBIT(AD_RD_OUT, AD_RD);
 04D8 80916500          lds R24,101
 04DC 8260              ori R24,2
 04DE 80936500          sts 101,R24
 04E2                   .dbline 307
 04E2           ;       sstemp[2]=(uctemp[1]&0x0F)<<8;
 04E2 822D              mov R24,R2
 04E4 9927              clr R25
 04E6 8F70              andi R24,15
 04E8 9070              andi R25,0
 04EA 982F              mov R25,R24
 04EC 8827              clr R24
 04EE 9D83              std y+5,R25
 04F0 8C83              std y+4,R24
 04F2                   .dbline 308
 04F2           ;       sstemp[2]=sstemp[2]|uctemp[0];
 04F2 2884              ldd R2,y+8
 04F4 3324              clr R3
 04F6 2C01              movw R4,R24
 04F8 4228              or R4,R2
 04FA 5328              or R5,R3
 04FC 5D82              std y+5,R5
 04FE 4C82              std y+4,R4
 0500                   .dbline 309
 0500           ;       sstemp[2]=sstemp[2]<<4;
 0500 1201              movw R2,R4
 0502 220C              lsl R2
 0504 331C              rol R3
 0506 220C              lsl R2
 0508 331C              rol R3
 050A 220C              lsl R2
 050C 331C              rol R3
 050E 220C              lsl R2
 0510 331C              rol R3
 0512 3D82              std y+5,R3
 0514 2C82              std y+4,R2
 0516                   .dbline 311
 0516           ; 
 0516           ;       PORTD=PORTD|0x0C;
 0516 82B3              in R24,0x12
 0518 8C60              ori R24,12
 051A 82BB              out 0x12,R24
 051C                   .dbline 312
 051C           ;       PORTD=PORTD&0xE7;       //A2A1A0:001    channel A1
 051C 82B3              in R24,0x12
 051E 877E              andi R24,231
 0520 82BB              out 0x12,R24
 0522                   .dbline 313
 0522           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 0522 80916500          lds R24,101
 0526 8D7F              andi R24,253
 0528 80936500          sts 101,R24
 052C                   .dbline 314
 052C           ;       NOP();
 052C 0000              nop
 052E                   .dbline 315
 052E           ;       uctemp[0]=PINC;         //first byte
 052E 23B2              in R2,0x13
 0530 2886              std y+8,R2
 0532                   .dbline 316
 0532           ;       SETBIT(AD_RD_OUT, AD_RD);
 0532 80916500          lds R24,101
 0536 8260              ori R24,2
 0538 80936500          sts 101,R24
 053C                   .dbline 317
 053C           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 053C 80916500          lds R24,101
 0540 8D7F              andi R24,253
 0542 80936500          sts 101,R24
 0546                   .dbline 318
 0546           ;       NOP();
 0546 0000              nop
 0548                   .dbline 319
 0548           ;       uctemp[1]=PINC;         //second byte
 0548 23B2              in R2,0x13
 054A 2986              std y+9,R2
 054C                   .dbline 320
 054C           ;       SETBIT(AD_RD_OUT, AD_RD);
 054C 80916500          lds R24,101
 0550 8260              ori R24,2
 0552 80936500          sts 101,R24
 0556                   .dbline 321
 0556           ;       sstemp[3]=(uctemp[1]&0x0F)<<8;
 0556 822D              mov R24,R2
 0558 9927              clr R25
 055A 8F70              andi R24,15
 055C 9070              andi R25,0
 055E 982F              mov R25,R24
 0560 8827              clr R24
 0562 9F83              std y+7,R25
 0564 8E83              std y+6,R24
 0566                   .dbline 322
 0566           ;       sstemp[3]=sstemp[3]|uctemp[0];
 0566 2884              ldd R2,y+8
 0568 3324              clr R3
 056A 2C01              movw R4,R24
 056C 4228              or R4,R2
 056E 5328              or R5,R3
 0570 5F82              std y+7,R5
 0572 4E82              std y+6,R4
 0574                   .dbline 323
 0574           ;       sstemp[3]=sstemp[3]<<4;
 0574 1201              movw R2,R4
 0576 220C              lsl R2
 0578 331C              rol R3
 057A 220C              lsl R2
 057C 331C              rol R3
 057E 220C              lsl R2
 0580 331C              rol R3
 0582 220C              lsl R2
 0584 331C              rol R3
 0586 3F82              std y+7,R3
 0588 2E82              std y+6,R2
 058A                   .dbline 326
 058A           ; 
 058A           ;       
 058A           ;       PORTD=PORTD|0x0C;
 058A 82B3              in R24,0x12
 058C 8C60              ori R24,12
 058E 82BB              out 0x12,R24
 0590                   .dbline 327
 0590           ;       PORTD=PORTD&0xEB;       //A2A1A0:010    channel B0
 0590 82B3              in R24,0x12
 0592 8B7E              andi R24,235
 0594 82BB              out 0x12,R24
 0596                   .dbline 328
 0596           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 0596 80916500          lds R24,101
 059A 8D7F              andi R24,253
 059C 80936500          sts 101,R24
 05A0                   .dbline 329
 05A0           ;       NOP();
 05A0 0000              nop
 05A2                   .dbline 330
 05A2           ;       uctemp[0]=PINC;         //first byte
 05A2 23B2              in R2,0x13
 05A4 2886              std y+8,R2
 05A6                   .dbline 331
 05A6           ;       SETBIT(AD_RD_OUT, AD_RD);
 05A6 80916500          lds R24,101
 05AA 8260              ori R24,2
 05AC 80936500          sts 101,R24
 05B0                   .dbline 332
 05B0           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 05B0 80916500          lds R24,101
 05B4 8D7F              andi R24,253
 05B6 80936500          sts 101,R24
 05BA                   .dbline 333
 05BA           ;       NOP();
 05BA 0000              nop
 05BC                   .dbline 334
 05BC           ;       uctemp[1]=PINC;         //second byte
 05BC 23B2              in R2,0x13
 05BE 2986              std y+9,R2
 05C0                   .dbline 335
 05C0           ;       SETBIT(AD_RD_OUT, AD_RD);
 05C0 80916500          lds R24,101
 05C4 8260              ori R24,2
 05C6 80936500          sts 101,R24
 05CA                   .dbline 336
 05CA           ;       sstemp[0]=(uctemp[1]&0x0F)<<8;
 05CA 822D              mov R24,R2
 05CC 9927              clr R25
 05CE 8F70              andi R24,15
 05D0 9070              andi R25,0
 05D2 982F              mov R25,R24
 05D4 8827              clr R24
 05D6 9983              std y+1,R25
 05D8 8883              std y+0,R24
 05DA                   .dbline 337
 05DA           ;       sstemp[0]=sstemp[0]|uctemp[0];
 05DA 2884              ldd R2,y+8
 05DC 3324              clr R3
 05DE 2C01              movw R4,R24
 05E0 4228              or R4,R2
 05E2 5328              or R5,R3
 05E4 5982              std y+1,R5
 05E6 4882              std y+0,R4
 05E8                   .dbline 338
 05E8           ;       sstemp[0]=sstemp[0]<<4;
 05E8 1201              movw R2,R4
 05EA 220C              lsl R2
 05EC 331C              rol R3
 05EE 220C              lsl R2
 05F0 331C              rol R3
 05F2 220C              lsl R2
 05F4 331C              rol R3
 05F6 220C              lsl R2
 05F8 331C              rol R3
 05FA 3982              std y+1,R3
 05FC 2882              std y+0,R2
 05FE                   .dbline 340
 05FE           ;       
 05FE           ;       PORTD=PORTD|0x0C;
 05FE 82B3              in R24,0x12
 0600 8C60              ori R24,12
 0602 82BB              out 0x12,R24
 0604                   .dbline 341
 0604           ;       PORTD=PORTD&0xEF;       //A2A1A0:011    channel B1
 0604 82B3              in R24,0x12
 0606 8F7E              andi R24,239
 0608 82BB              out 0x12,R24
 060A                   .dbline 342
 060A           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 060A 80916500          lds R24,101
 060E 8D7F              andi R24,253
 0610 80936500          sts 101,R24
 0614                   .dbline 343
 0614           ;       NOP();
 0614 0000              nop
 0616                   .dbline 344
 0616           ;       uctemp[0]=PINC;         //first byte
 0616 23B2              in R2,0x13
 0618 2886              std y+8,R2
 061A                   .dbline 345
 061A           ;       SETBIT(AD_RD_OUT, AD_RD);
 061A 80916500          lds R24,101
 061E 8260              ori R24,2
 0620 80936500          sts 101,R24
 0624                   .dbline 346
 0624           ;       CLEARBIT(AD_RD_OUT, AD_RD);
 0624 80916500          lds R24,101
 0628 8D7F              andi R24,253
 062A 80936500          sts 101,R24
 062E                   .dbline 347
 062E           ;       NOP();
 062E 0000              nop
 0630                   .dbline 348
 0630           ;       uctemp[1]=PINC;         //second byte
 0630 23B2              in R2,0x13
 0632 2986              std y+9,R2
 0634                   .dbline 349
 0634           ;       SETBIT(AD_RD_OUT, AD_RD);
 0634 80916500          lds R24,101
 0638 8260              ori R24,2
 063A 80936500          sts 101,R24
 063E                   .dbline 350
 063E           ;       sstemp[1]=(uctemp[1]&0x0F)<<8;
 063E 822D              mov R24,R2
 0640 9927              clr R25
 0642 8F70              andi R24,15
 0644 9070              andi R25,0
 0646 982F              mov R25,R24
 0648 8827              clr R24
 064A 9B83              std y+3,R25
 064C 8A83              std y+2,R24
 064E                   .dbline 351
 064E           ;       sstemp[1]=sstemp[1]|uctemp[0];
 064E 2884              ldd R2,y+8
 0650 3324              clr R3
 0652 2C01              movw R4,R24
 0654 4228              or R4,R2
 0656 5328              or R5,R3
 0658 5B82              std y+3,R5
 065A 4A82              std y+2,R4
 065C                   .dbline 352
 065C           ;       sstemp[1]=sstemp[1]<<4;
 065C 1201              movw R2,R4
 065E 220C              lsl R2
 0660 331C              rol R3
 0662 220C              lsl R2
 0664 331C              rol R3
 0666 220C              lsl R2
 0668 331C              rol R3
 066A 220C              lsl R2
 066C 331C              rol R3
 066E 3B82              std y+3,R3
 0670 2A82              std y+2,R2
 0672                   .dbline 354
 0672           ; 
 0672           ;       SETBIT(AD_CS_OUT, AD_CS);//unselect the ads7864
 0672 80916500          lds R24,101
 0676 8160              ori R24,1
 0678 80936500          sts 101,R24
 067C                   .dbline 356
 067C           ; 
 067C           ;       pusOutBuff[0]=sstemp[0]+32768;
 067C 8881              ldd R24,y+0
 067E 9981              ldd R25,y+1
 0680 8050              subi R24,0  ; offset = 32768
 0682 9048              sbci R25,128
 0684 F801              movw R30,R16
 0686 9183              std z+1,R25
 0688 8083              std z+0,R24
 068A                   .dbline 357
 068A           ;       pusOutBuff[1]=sstemp[1]+32768;
 068A C101              movw R24,R2
 068C 8050              subi R24,0  ; offset = 32768
 068E 9048              sbci R25,128
 0690 9383              std z+3,R25
 0692 8283              std z+2,R24
 0694                   .dbline 358
 0694           ;       pusOutBuff[2]=sstemp[2]+32768;
 0694 8C81              ldd R24,y+4
 0696 9D81              ldd R25,y+5
 0698 8050              subi R24,0  ; offset = 32768
 069A 9048              sbci R25,128
 069C F801              movw R30,R16
 069E 9583              std z+5,R25
 06A0 8483              std z+4,R24
 06A2                   .dbline 359
 06A2           ;       pusOutBuff[3]=sstemp[3]+32768;
 06A2 8E81              ldd R24,y+6
 06A4 9F81              ldd R25,y+7
 06A6 8050              subi R24,0  ; offset = 32768
 06A8 9048              sbci R25,128
 06AA F801              movw R30,R16
 06AC 9783              std z+7,R25
 06AE 8683              std z+6,R24
 06B0                   .dbline -2
 06B0           L62:
 06B0 2A96              adiw R28,10
 06B2                   .dbline 0 ; func end
 06B2 0895              ret
 06B4                   .dbsym l uctemp 8 A[2:2]c
 06B4                   .dbsym l sstemp 0 A[8:4]S
 06B4                   .dbsym r pusOutBuff 16 ps
 06B4                   .dbend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -