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

📄 main.lis

📁 LTC2449 AD转换 LTC2449 AD转换 LTC2449 AD转换
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 0106                   .dbline 99
 0106           ;               //average[j][average_l] =       LTC2449_RW(c);  //读取AD值
 0106           ;               average[j][average_l] = CS5532_RW(c);
 0106 0C2D              mov R16,R12
 0108 1127              clr R17
 010A 0E940000          xcall _CS5532_RW
 010E 1801              movw R2,R16
 0110 2901              movw R4,R18
 0112 8EE1              ldi R24,30
 0114 0C80              ldd R0,y+4
 0116 809D              mul R24,R0
 0118 3001              movw R6,R0
 011A 80E0              ldi R24,<L13
 011C 90E0              ldi R25,>L13
 011E 680E              add R6,R24
 0120 791E              adc R7,R25
 0122 80900000          lds R8,L12
 0126 82E0              ldi R24,2
 0128 889D              mul R24,R8
 012A F001              movw R30,R0
 012C E60D              add R30,R6
 012E F71D              adc R31,R7
 0130 3182              std z+1,R3
 0132 2082              std z+0,R2
 0134                   .dbline 100
 0134           ;               sum = 0;
 0134 40E0              ldi R20,0
 0136 50E0              ldi R21,0
 0138 60E0              ldi R22,0
 013A 70E0              ldi R23,0
 013C FE01              movw R30,R28
 013E 4083              std z+0,R20
 0140 5183              std z+1,R21
 0142 6283              std z+2,R22
 0144 7383              std z+3,R23
 0146                   .dbline 101
 0146           ;               for (jj=0; jj<average_quantity; jj++)   //求平均值
 0146 AA24              clr R10
 0148 20C0              xjmp L21
 014A           L18:
 014A                   .dbline 102
 014A                   .dbline 103
 014A 8EE1              ldi R24,30
 014C 0C80              ldd R0,y+4
 014E 809D              mul R24,R0
 0150 1001              movw R2,R0
 0152 80E0              ldi R24,<L13
 0154 90E0              ldi R25,>L13
 0156 280E              add R2,R24
 0158 391E              adc R3,R25
 015A 82E0              ldi R24,2
 015C 8A9D              mul R24,R10
 015E F001              movw R30,R0
 0160 E20D              add R30,R2
 0162 F31D              adc R31,R3
 0164 2080              ldd R2,z+0
 0166 3180              ldd R3,z+1
 0168 4424              clr R4
 016A 5524              clr R5
 016C FE01              movw R30,R28
 016E 6080              ldd R6,z+0
 0170 7180              ldd R7,z+1
 0172 8280              ldd R8,z+2
 0174 9380              ldd R9,z+3
 0176 620C              add R6,R2
 0178 731C              adc R7,R3
 017A 841C              adc R8,R4
 017C 951C              adc R9,R5
 017E FE01              movw R30,R28
 0180 6082              std z+0,R6
 0182 7182              std z+1,R7
 0184 8282              std z+2,R8
 0186 9382              std z+3,R9
 0188                   .dbline 104
 0188           L19:
 0188                   .dbline 101
 0188 A394              inc R10
 018A           L21:
 018A                   .dbline 101
 018A 8A2D              mov R24,R10
 018C 8F30              cpi R24,15
 018E E8F2              brlo L18
 0190                   .dbline 105
 0190           ;                       {
 0190           ;                               sum += average[j][jj];
 0190           ;                       }
 0190           ;               send_data.AD_data[j] = sum/average_quantity;
 0190 82E0              ldi R24,2
 0192 0C80              ldd R0,y+4
 0194 809D              mul R24,R0
 0196 F001              movw R30,R0
 0198 80E0              ldi R24,<_send_data+1
 019A 90E0              ldi R25,>_send_data+1
 019C E80F              add R30,R24
 019E F91F              adc R31,R25
 01A0 4FE0              ldi R20,15
 01A2 50E0              ldi R21,0
 01A4 60E0              ldi R22,0
 01A6 70E0              ldi R23,0
 01A8 DE01              movw R26,R28
 01AA 2D90              ld R2,x+
 01AC 3D90              ld R3,x+
 01AE 4D90              ld R4,x+
 01B0 5C90              ld R5,x
 01B2 7A93              st -y,R23
 01B4 6A93              st -y,R22
 01B6 5A93              st -y,R21
 01B8 4A93              st -y,R20
 01BA 8101              movw R16,R2
 01BC 9201              movw R18,R4
 01BE 0E940000          xcall div32u
 01C2 1183              std z+1,R17
 01C4 0083              std z+0,R16
 01C6           L23:
 01C6                   .dbline 107
 01C6                   .dbline 107
 01C6                   .dbline 107
 01C6           L24:
 01C6                   .dbline 107
 01C6 20902F01          lds R2,_mcu_loop_time
 01CA E214              cp R14,R2
 01CC E1F3              breq L23
 01CE                   .dbline 108
 01CE           L15:
 01CE                   .dbline 94
 01CE 0C80              ldd R0,y+4
 01D0 0394              inc R0
 01D2 0C82              std y+4,R0
 01D4           L17:
 01D4                   .dbline 94
 01D4 8C81              ldd R24,y+4
 01D6 8530              cpi R24,5
 01D8 08F4              brsh X1
 01DA 92CF              xjmp L14
 01DC           X1:
 01DC                   .dbline 109
 01DC 80910000          lds R24,L12
 01E0 8F5F              subi R24,255    ; addi 1
 01E2 80930000          sts L12,R24
 01E6                   .dbline 110
 01E6 8EE0              ldi R24,14
 01E8 20900000          lds R2,L12
 01EC 8215              cp R24,R2
 01EE 18F4              brsh L26
 01F0                   .dbline 110
 01F0 2224              clr R2
 01F2 20920000          sts L12,R2
 01F6           L26:
 01F6                   .dbline -2
 01F6           L11:
 01F6 2596              adiw R28,5
 01F8 0E940000          xcall pop_gset5
 01FC                   .dbline 0 ; func end
 01FC 0895              ret
 01FE                   .dbsym r c 12 c
 01FE                   .dbsym r unlikeliness 14 c
 01FE                   .dbsym l sum 0 l
 01FE                   .dbsym l j 4 c
 01FE                   .dbsym r jj 10 c
 01FE                   .dbend
 01FE                   .dbfunc e pb_check _pb_check fV
 01FE           ;              k -> R16
                        .even
 01FE           _pb_check::
 01FE                   .dbline -1
 01FE                   .dbline 114
 01FE           ;               //send_data.AD_data[j] = average[j][average_l];
 01FE           ;               while (unlikeliness == mcu_loop_time){;}//等待1ms
 01FE           ;       }
 01FE           ;       average_l++;
 01FE           ;       if (average_l > (average_quantity-1)) average_l = 0;
 01FE           ; }
 01FE           ; //************取8个按键值************************
 01FE           ; void pb_check()
 01FE           ; {
 01FE                   .dbline 116
 01FE           ;       unsigned char k;
 01FE           ;       k=PINB;
 01FE 03B1              in R16,0x3
 0200                   .dbline 117
 0200           ;       k=k<<1;
 0200 000F              lsl R16
 0202                   .dbline 118
 0202           ;       if((PINE&0B01111111)!=0)
 0202 8CB1              in R24,0xc
 0204 8F77              andi R24,127
 0206 11F0              breq L29
 0208                   .dbline 119
 0208           ;               k|=1;
 0208 0160              ori R16,1
 020A 01C0              xjmp L30
 020C           L29:
 020C                   .dbline 121
 020C           ;       else 
 020C           ;               k&=254;
 020C 0E7F              andi R16,254
 020E           L30:
 020E                   .dbline 122
 020E           ;               k ^= 0xff;
 020E 8FEF              ldi R24,255
 0210 90E0              ldi R25,0
 0212 202E              mov R2,R16
 0214 3324              clr R3
 0216 2826              eor R2,R24
 0218 3926              eor R3,R25
 021A 022D              mov R16,R2
 021C                   .dbline 123
 021C           ;       send_data.exterior_switch=k;
 021C 0093F000          sts _send_data,R16
 0220                   .dbline -2
 0220           L28:
 0220                   .dbline 0 ; func end
 0220 0895              ret
 0222                   .dbsym r k 16 c
 0222                   .dbend
 0222                   .dbfunc e main _main fV
                        .even
 0222           _main::
 0222                   .dbline -1
 0222                   .dbline 126
 0222           ; }
 0222           ; void main(void)
 0222           ; {
 0222                   .dbline 127
 0222           ;       init_devices();
 0222 53DF              xcall _init_devices
 0224                   .dbline 138
 0224           ;               /*SET_CS;       //PE3
 0224           ; CLR_CS ;      //PE3
 0224           ; SET_SCK;      //PE6
 0224           ;  CLR_SCK ;    //PE6
 0224           ;  SET_SDI;     //PE4
 0224           ;  CLR_SDI;     //PE4
 0224           ;  SET_SDO;     //PE5
 0224           ;  CLR_SDO ;    //PE5
 0224           ;  SDO ;        //PE5 */
 0224           ;       //LTC2449_init();
 0224           ;       Init5532();
 0224 0E940000          xcall _Init5532
 0228                   .dbline 139
 0228           ;       relay_init();
 0228 0E940000          xcall _relay_init
 022C                   .dbline 140
 022C           ;       load_init();
 022C 0E940000          xcall _load_init
 0230                   .dbline 141
 0230           ;       updating=0;
 0230 2224              clr R2
 0232 20920601          sts _updating,R2
 0236 16C0              xjmp L33
 0238           X2:
 0238                   .dbline 143
 0238           ;       while(1)
 0238           ;       {
 0238           L35:
 0238                   .dbline 145
 0238                   .dbline 145
 0238                   .dbline 145
 0238           L36:
 0238                   .dbline 145
 0238           ;               //主程序循环定时
 0238           ;               while(mcu_loop_time<20){;}
 0238 80912F01          lds R24,_mcu_loop_time
 023C 8431              cpi R24,20
 023E E0F3              brlo L35
 0240                   .dbline 146
 0240           ;               mcu_loop_time=0;
 0240 2224              clr R2
 0242 20922F01          sts _mcu_loop_time,R2
 0246                   .dbline 147
 0246           ;               data_load_manage();
 0246 0E940000          xcall _data_load_manage
 024A                   .dbline 148
 024A           ;               if(updating==1)
 024A 80910601          lds R24,_updating
 024E 8130              cpi R24,1
 0250 31F4              brne L38
 0252                   .dbline 149
 0252           ;                       {
 0252                   .dbline 151
 0252           ;                               //**********继电器刷新****************
 0252           ;                               RELAY_out(&(Down_load.Relay_out[0]));
 0252 00E0              ldi R16,<_Down_load
 0254 10E0              ldi R17,>_Down_load
 0256 0E940000          xcall _RELAY_out
 025A                   .dbline 153
 025A           ;                               //*********上传数据********************
 025A           ;                               data_send();
 025A 0E940000          xcall _data_send
 025E                   .dbline 154
 025E           ;                       }
 025E           L38:
 025E                   .dbline 155
 025E CFDF              xcall _pb_check
 0260                   .dbline 156
 0260 0E940000          xcall _AD_sample
 0264                   .dbline 158
 0264           L33:
 0264                   .dbline 142
 0264 E9CF              xjmp L36
 0266           X3:
 0266                   .dbline -2
 0266           L31:
 0266                   .dbline 0 ; func end
 0266 0895              ret
 0268                   .dbend
                        .area bss(ram, con, rel)
 00F0                   .dbfile E:\mysoft\DH980\main.c
 00F0           _send_data::
 00F0                   .blkb 17
 0101                   .dbfile E:\mysoft\DH980/main.h
 0101                   .dbsym e send_data _send_data X
 0101           _Down_load::
 0101                   .blkb 5
 0106                   .dbsym e Down_load _Down_load X
 0106           _updating::
 0106                   .blkb 1
 0107                   .dbsym e updating _updating c
 0107           _load_no::
 0107                   .blkb 1
 0108                   .dbsym e load_no _load_no c
 0108           _load_time::
 0108                   .blkb 2
 010A                   .dbsym e load_time _load_time i
 010A           _PB_in::
 010A                   .blkb 1
 010B                   .dbsym e PB_in _PB_in c
 010B           _relay_out::
 010B                   .blkb 4
 010F                   .dbsym e relay_out _relay_out A[4:4]c
 010F           _AD_channels_data::
 010F                   .blkb 32
 012F                   .dbsym e AD_channels_data _AD_channels_data A[32:8]l
 012F           _mcu_loop_time::
 012F                   .blkb 1
 0130                   .dbsym e mcu_loop_time _mcu_loop_time c

⌨️ 快捷键说明

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