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

📄 uart.lis

📁 LTC2449 AD转换 LTC2449 AD转换 LTC2449 AD转换
💻 LIS
📖 第 1 页 / 共 2 页
字号:
 00E6                   .dbfunc e data_load_manage _data_load_manage fV
 00E6           ;              p -> R20,R21
 00E6           ;          sum_c -> R22
 00E6           ;              t -> R10
                        .even
 00E6           _data_load_manage::
 00E6 0E940000          xcall push_gset3
 00EA                   .dbline -1
 00EA                   .dbline 60
 00EA           ; }
 00EA           ; void data_load_manage()
 00EA           ; {
 00EA                   .dbline 63
 00EA           ;       unsigned char sum_c, t; //和验算,循环次数
 00EA           ;       unsigned char *p;
 00EA           ;       if((load_no==5))        //下载完成条件
 00EA 80910000          lds R24,_load_no
 00EE 8530              cpi R24,5
 00F0 09F0              breq X0
 00F2 44C0              xjmp L17
 00F4           X0:
 00F4                   .dbline 64
 00F4           ;               {
 00F4                   .dbline 65
 00F4           ;                       load_init();    //初始下载
 00F4 E9DF              xcall _load_init
 00F6                   .dbline 66
 00F6           ;                       sum_c = 0;
 00F6 6627              clr R22
 00F8                   .dbline 67
 00F8           ;                       for (t=0; t<4; t++)     //和验算
 00F8 AA24              clr R10
 00FA 0DC0              xjmp L22
 00FC           L19:
 00FC                   .dbline 68
 00FC                   .dbline 69
 00FC E0910000          lds R30,_load
 0100 F0910100          lds R31,_load+1
 0104 2080              ldd R2,z+0
 0106 620D              add R22,R2
 0108                   .dbline 70
 0108 CF01              movw R24,R30
 010A 0196              adiw R24,1
 010C 90930100          sts _load+1,R25
 0110 80930000          sts _load,R24
 0114                   .dbline 71
 0114           L20:
 0114                   .dbline 67
 0114 A394              inc R10
 0116           L22:
 0116                   .dbline 67
 0116 8A2D              mov R24,R10
 0118 8430              cpi R24,4
 011A 80F3              brlo L19
 011C                   .dbline 72
 011C           ;                               {
 011C           ;                                       sum_c += (*load);
 011C           ;                                       load++;
 011C           ;                               }
 011C           ;                       if (sum_c == (*load))
 011C E0910000          lds R30,_load
 0120 F0910100          lds R31,_load+1
 0124 2080              ldd R2,z+0
 0126 6215              cp R22,R2
 0128 49F5              brne L23
 012A                   .dbline 73
 012A           ;                               {                                                       //刷新继电器值
 012A                   .dbline 74
 012A           ;                                       load = &relay_temp[0];
 012A 80E0              ldi R24,<_relay_temp
 012C 90E0              ldi R25,>_relay_temp
 012E 90930100          sts _load+1,R25
 0132 80930000          sts _load,R24
 0136                   .dbline 75
 0136           ;                                       p = Down_load.Relay_out;
 0136 40E0              ldi R20,<_Down_load
 0138 50E0              ldi R21,>_Down_load
 013A                   .dbline 76
 013A           ;                                       for (t=0; t<5; t++)
 013A AA24              clr R10
 013C 13C0              xjmp L28
 013E           L25:
 013E                   .dbline 77
 013E                   .dbline 78
 013E E0910000          lds R30,_load
 0142 F0910100          lds R31,_load+1
 0146 2080              ldd R2,z+0
 0148 FA01              movw R30,R20
 014A 2082              std z+0,R2
 014C                   .dbline 79
 014C 4F5F              subi R20,255  ; offset = 1
 014E 5F4F              sbci R21,255
 0150                   .dbline 80
 0150 80910000          lds R24,_load
 0154 90910100          lds R25,_load+1
 0158 0196              adiw R24,1
 015A 90930100          sts _load+1,R25
 015E 80930000          sts _load,R24
 0162                   .dbline 81
 0162           L26:
 0162                   .dbline 76
 0162 A394              inc R10
 0164           L28:
 0164                   .dbline 76
 0164 8A2D              mov R24,R10
 0166 8530              cpi R24,5
 0168 50F3              brlo L25
 016A                   .dbline 82
 016A           ;                                               {
 016A           ;                                                       *p = *load;
 016A           ;                                                       p++;
 016A           ;                                                       load++;
 016A           ;                                               }
 016A           ;                                       updating=1;
 016A 81E0              ldi R24,1
 016C 80930000          sts _updating,R24
 0170                   .dbline 83
 0170           ;                                       load = &relay_temp[0];
 0170 80E0              ldi R24,<_relay_temp
 0172 90E0              ldi R25,>_relay_temp
 0174 90930100          sts _load+1,R25
 0178 80930000          sts _load,R24
 017C                   .dbline 84
 017C           ;                               }
 017C           L23:
 017C                   .dbline 85
 017C           ;               }
 017C           L17:
 017C                   .dbline 88
 017C 84EF              ldi R24,500
 017E 91E0              ldi R25,1
 0180 20900000          lds R2,_load_time
 0184 30900100          lds R3,_load_time+1
 0188 8215              cp R24,R2
 018A 9305              cpc R25,R3
 018C 18F4              brsh L29
 018E                   .dbline 89
 018E                   .dbline 90
 018E 9CDF              xcall _load_init
 0190                   .dbline 91
 0190 0E940000          xcall _relay_init
 0194                   .dbline 92
 0194           L29:
 0194                   .dbline -2
 0194           L16:
 0194 0E940000          xcall pop_gset3
 0198                   .dbline 0 ; func end
 0198 0895              ret
 019A                   .dbsym r p 20 pc
 019A                   .dbsym r sum_c 22 c
 019A                   .dbsym r t 10 c
 019A                   .dbend
 019A                   .dbfunc e data_send _data_send fV
 019A           ;       sum_temp -> R20
 019A           ;              l -> R22
 019A           ;           send -> R10,R11
                        .even
 019A           _data_send::
 019A 0E940000          xcall push_gset3
 019E                   .dbline -1
 019E                   .dbline 96
 019E           ;  
 019E           ;       //长时间没收到上位机信号处理
 019E           ;       if (load_time>500)
 019E           ;               {
 019E           ;                       load_init();
 019E           ;                       relay_init();   //关闭全部继电器
 019E           ;               }
 019E           ; }
 019E           ; 
 019E           ; void data_send()
 019E           ; {
 019E                   .dbline 99
 019E           ;       unsigned char *send;    //发送数据用指针
 019E           ;       unsigned char l;                        //发送12字节循环
 019E           ;       unsigned char sum_temp=0;//和效验
 019E 4427              clr R20
 01A0                   .dbline 100
 01A0           ;       send=&send_data.exterior_switch;
 01A0 80E0              ldi R24,<_send_data
 01A2 90E0              ldi R25,>_send_data
 01A4 5C01              movw R10,R24
 01A6                   .dbline 101
 01A6           ;       for (l=0; l<17; l++)
 01A6 6627              clr R22
 01A8 09C0              xjmp L35
 01AA           L32:
 01AA                   .dbline 102
 01AA                   .dbline 103
 01AA F501              movw R30,R10
 01AC 2080              ldd R2,z+0
 01AE 420D              add R20,R2
 01B0                   .dbline 104
 01B0 0081              ldd R16,z+0
 01B2 37DF              xcall _put_c
 01B4                   .dbline 105
 01B4 C501              movw R24,R10
 01B6 0196              adiw R24,1
 01B8 5C01              movw R10,R24
 01BA                   .dbline 106
 01BA           L33:
 01BA                   .dbline 101
 01BA 6395              inc R22
 01BC           L35:
 01BC                   .dbline 101
 01BC 6131              cpi R22,17
 01BE A8F3              brlo L32
 01C0                   .dbline 107
 01C0           ;               {
 01C0           ;                       sum_temp+=*send;
 01C0           ;                       put_c(*send);
 01C0           ;                       send++;
 01C0           ;               }       
 01C0           ;       put_c(sum_temp);
 01C0 042F              mov R16,R20
 01C2 2FDF              xcall _put_c
 01C4                   .dbline -2
 01C4           L31:
 01C4 0E940000          xcall pop_gset3
 01C8                   .dbline 0 ; func end
 01C8 0895              ret
 01CA                   .dbsym r sum_temp 20 c
 01CA                   .dbsym r l 22 c
 01CA                   .dbsym r send 10 pc
 01CA                   .dbend
                        .area bss(ram, con, rel)
 0000                   .dbfile E:\mysoft\DH980\uart.c
 0000           _load::
 0000                   .blkb 2
 0002                   .dbsym e load _load pc
 0002           _relay_temp::
 0002                   .blkb 7
 0009                   .dbsym e relay_temp _relay_temp A[7:7]c

⌨️ 快捷键说明

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