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

📄 main.lis

📁 AVR16源代码 ICC编译器
💻 LIS
📖 第 1 页 / 共 4 页
字号:
 0226 3B82              std y+3,R3
 0228 2A82              std y+2,R2
 022A 80E0              ldi R24,<_SendBuf
 022C 90E0              ldi R25,>_SendBuf
 022E 9983              std y+1,R25
 0230 8883              std y+0,R24
 0232 2227              clr R18
 0234 00E0              ldi R16,<_SendData
 0236 10E0              ldi R17,>_SendData
 0238 0E940000          xcall _PC_Send_Ok
 023C                   .dbline 189
 023C           ;       
 023C           ;       return 0x00;
 023C 0027              clr R16
 023E                   .dbline -2
 023E           L17:
 023E 2696              adiw R28,6
 0240 0E940000          xcall pop_gset5
 0244                   .dbline 0 ; func end
 0244 0895              ret
 0246                   .dbsym r CRC_Value 10 s
 0246                   .dbsym r Wrong_Cnt 12 c
 0246                   .dbsym r Rec_Len 14 c
 0246                   .dbsym l bPiont 4 I
 0246                   .dbend
 0246                   .dbfunc e Setting_Param _Setting_Param fc
 0246           ;     ReceiveBuf -> R20,R21
                        .even
 0246           _Setting_Param::
 0246 0E940000          xcall push_gset1
 024A A801              movw R20,R16
 024C 2497              sbiw R28,4
 024E                   .dbline -1
 024E                   .dbline 203
 024E           ; }
 024E           ; 
 024E           ; //============================================================
 024E           ; //函  数:void Setting_Param(unsigned char *ReceiveBuf)
 024E           ; //功  能:设置参数
 024E           ; //入口参数:接收到的数据
 024E           ; //返 回 值:执行结果
 024E           ; //设 计 者:覃道堂 
 024E           ; //创作时间:2006-03-16
 024E           ; //修改时间:
 024E           ; //修改目的:
 024E           ; //============================================================
 024E           ; unsigned char Setting_Param(unsigned char *ReceiveBuf)
 024E           ; {
 024E                   .dbline 204
 024E           ;       Write_EEPROM(&ReceiveBuf[5],2,EE_WT_ID);//设置节点地址
 024E 81E0              ldi R24,1
 0250 90E0              ldi R25,0
 0252 9983              std y+1,R25
 0254 8883              std y+0,R24
 0256 22E0              ldi R18,2
 0258 8A01              movw R16,R20
 025A 0B5F              subi R16,251  ; offset = 5
 025C 1F4F              sbci R17,255
 025E 0E940000          xcall _Write_EEPROM
 0262                   .dbline 206
 0262           ;       
 0262           ;       Write_EEPROM(&ReceiveBuf[7],1,EE_WT_GD);//设置组地址
 0262 83E0              ldi R24,3
 0264 90E0              ldi R25,0
 0266 9983              std y+1,R25
 0268 8883              std y+0,R24
 026A 21E0              ldi R18,1
 026C 8A01              movw R16,R20
 026E 095F              subi R16,249  ; offset = 7
 0270 1F4F              sbci R17,255
 0272 0E940000          xcall _Write_EEPROM
 0276                   .dbline 208
 0276           ;       
 0276           ;       if(Write_Time_Data(&ReceiveBuf[8],Time_Address,7))//设置系统时钟
 0276 87E0              ldi R24,7
 0278 8883              std y+0,R24
 027A 2227              clr R18
 027C 8A01              movw R16,R20
 027E 085F              subi R16,248  ; offset = 8
 0280 1F4F              sbci R17,255
 0282 0E940000          xcall _Write_Time_Data
 0286 0023              tst R16
 0288 31F0              breq L48
 028A                   .dbline 209
 028A           ;               PC_Send_Err(ERR_SETTING,SendBuf);
 028A 20E0              ldi R18,<_SendBuf
 028C 30E0              ldi R19,>_SendBuf
 028E 05E1              ldi R16,21
 0290 0E940000          xcall _PC_Send_Err
 0294 0DC0              xjmp L49
 0296           L48:
 0296                   .dbline 211
 0296           ;       else
 0296           ;               PC_Send_Ok(SendData,0x00,SendBuf,0);    //向上位机发送设置表具信息结果
 0296 2224              clr R2
 0298 3324              clr R3
 029A 3B82              std y+3,R3
 029C 2A82              std y+2,R2
 029E 80E0              ldi R24,<_SendBuf
 02A0 90E0              ldi R25,>_SendBuf
 02A2 9983              std y+1,R25
 02A4 8883              std y+0,R24
 02A6 2227              clr R18
 02A8 00E0              ldi R16,<_SendData
 02AA 10E0              ldi R17,>_SendData
 02AC 0E940000          xcall _PC_Send_Ok
 02B0           L49:
 02B0                   .dbline 213
 02B0           ;       
 02B0           ;       return 0;
 02B0 0027              clr R16
 02B2                   .dbline -2
 02B2           L47:
 02B2 2496              adiw R28,4
 02B4 0E940000          xcall pop_gset1
 02B8                   .dbline 0 ; func end
 02B8 0895              ret
 02BA                   .dbsym r ReceiveBuf 20 pc
 02BA                   .dbend
 02BA                   .dbfunc e Read_Param _Read_Param fc
 02BA           ;       SendData -> R20,R21
                        .even
 02BA           _Read_Param::
 02BA 0E940000          xcall push_gset1
 02BE A801              movw R20,R16
 02C0 2497              sbiw R28,4
 02C2                   .dbline -1
 02C2                   .dbline 227
 02C2           ; }
 02C2           ; 
 02C2           ; //============================================================
 02C2           ; //函  数:unsigned char Read_Param(unsigned char *SendData)
 02C2           ; //功  能:读取参数
 02C2           ; //入口参数:读取存放的地址
 02C2           ; //返 回 值:执行结果
 02C2           ; //设 计 者:覃道堂 
 02C2           ; //创作时间:2006-03-16
 02C2           ; //修改时间:
 02C2           ; //修改目的:
 02C2           ; //============================================================
 02C2           ; unsigned char Read_Param(unsigned char *SendData)
 02C2           ; {
 02C2                   .dbline 228
 02C2           ;       Read_EEPROM(SendData,2,EE_WT_ID);       //读取节点地址
 02C2 81E0              ldi R24,1
 02C4 90E0              ldi R25,0
 02C6 9983              std y+1,R25
 02C8 8883              std y+0,R24
 02CA 22E0              ldi R18,2
 02CC 8A01              movw R16,R20
 02CE 0E940000          xcall _Read_EEPROM
 02D2                   .dbline 230
 02D2           ;       
 02D2           ;       Read_EEPROM(&SendData[2],1,EE_WT_GD);   //读取组地址
 02D2 83E0              ldi R24,3
 02D4 90E0              ldi R25,0
 02D6 9983              std y+1,R25
 02D8 8883              std y+0,R24
 02DA 21E0              ldi R18,1
 02DC 8A01              movw R16,R20
 02DE 0E5F              subi R16,254  ; offset = 2
 02E0 1F4F              sbci R17,255
 02E2 0E940000          xcall _Read_EEPROM
 02E6                   .dbline 232
 02E6           ;       
 02E6           ;       PC_Send_Ok(SendData,0,SendBuf,3);       //向上位机发送读取表具信息结果
 02E6 83E0              ldi R24,3
 02E8 90E0              ldi R25,0
 02EA 9B83              std y+3,R25
 02EC 8A83              std y+2,R24
 02EE 80E0              ldi R24,<_SendBuf
 02F0 90E0              ldi R25,>_SendBuf
 02F2 9983              std y+1,R25
 02F4 8883              std y+0,R24
 02F6 2227              clr R18
 02F8 8A01              movw R16,R20
 02FA 0E940000          xcall _PC_Send_Ok
 02FE                   .dbline 234
 02FE           ;       
 02FE           ;       return 0;
 02FE 0027              clr R16
 0300                   .dbline -2
 0300           L50:
 0300 2496              adiw R28,4
 0302 0E940000          xcall pop_gset1
 0306                   .dbline 0 ; func end
 0306 0895              ret
 0308                   .dbsym r SendData 20 pc
 0308                   .dbend
 0308                   .dbfunc e Read_SystemTime _Read_SystemTime fc
 0308           ;       SendData -> R20,R21
                        .even
 0308           _Read_SystemTime::
 0308 0E940000          xcall push_gset1
 030C A801              movw R20,R16
 030E 2497              sbiw R28,4
 0310                   .dbline -1
 0310                   .dbline 248
 0310           ; }
 0310           ; 
 0310           ; //============================================================
 0310           ; //函  数:unsigned char Read_SystemTime(unsigned char *SendData)
 0310           ; //功  能:读取参数
 0310           ; //入口参数:读取存放的地址
 0310           ; //返 回 值:执行结果
 0310           ; //设 计 者:覃道堂 
 0310           ; //创作时间:2006-03-16
 0310           ; //修改时间:
 0310           ; //修改目的:
 0310           ; //============================================================
 0310           ; unsigned char Read_SystemTime(unsigned char *SendData)
 0310           ; {
 0310                   .dbline 249
 0310           ;       if(Read_Time_Data(SendData,Time_Address,7))
 0310 87E0              ldi R24,7
 0312 8883              std y+0,R24
 0314 2227              clr R18
 0316 8A01              movw R16,R20
 0318 0E940000          xcall _Read_Time_Data
 031C 0023              tst R16
 031E 31F0              breq L52
 0320                   .dbline 250
 0320           ;               PC_Send_Err(ERR_READTIME,SendBuf);
 0320 20E0              ldi R18,<_SendBuf
 0322 30E0              ldi R19,>_SendBuf
 0324 06E1              ldi R16,22
 0326 0E940000          xcall _PC_Send_Err
 032A 0CC0              xjmp L53
 032C           L52:
 032C                   .dbline 252
 032C           ;       else
 032C           ;               PC_Send_Ok(SendData,0,SendBuf,7);       //向上位机发送读取表具信息结果
 032C 87E0              ldi R24,7
 032E 90E0              ldi R25,0
 0330 9B83              std y+3,R25
 0332 8A83              std y+2,R24
 0334 80E0              ldi R24,<_SendBuf
 0336 90E0              ldi R25,>_SendBuf
 0338 9983              std y+1,R25
 033A 8883              std y+0,R24
 033C 2227              clr R18
 033E 8A01              movw R16,R20
 0340 0E940000          xcall _PC_Send_Ok
 0344           L53:
 0344                   .dbline 254
 0344           ;       
 0344           ;       return 0;
 0344 0027              clr R16
 0346                   .dbline -2
 0346           L51:
 0346 2496              adiw R28,4
 0348 0E940000          xcall pop_gset1
 034C                   .dbline 0 ; func end
 034C 0895              ret
 034E                   .dbsym r SendData 20 pc
 034E                   .dbend
 034E                   .dbfunc e main _main fV
 034E           ;      Crc_Value -> <dead>
 034E           ;      Ret_Value -> R22
 034E           ;        Rec_Len -> R20,R21
                        .even
 034E           _main::
 034E 2497              sbiw R28,4
 0350                   .dbline -1
 0350                   .dbline 268
 0350           ; }
 0350           ; 
 0350           ; //============================================================
 0350           ; //函  数:void main(void)
 0350           ; //功  能:主函数
 0350           ; //入口参数:无
 0350           ; //返 回 值:无
 0350           ; //设 计 者:覃道堂 
 0350           ; //创作时间:2006-03-16
 0350           ; //修改时间:
 0350           ; //修改目的:
 0350           ; //============================================================
 0350           ; void main(void)
 0350           ; {
 0350                   .dbline 269
 0350           ;       int             Rec_Len = 0;
 0350 4427              clr R20
 0352 5527              clr R21
 0354                   .dbline 270
 0354           ;       unsigned char   Ret_Value = 0;
 0354 6627              clr R22
 0356                   .dbline 273
 0356           ;       unsigned short  Crc_Value;
 0356           ; 
 0356           ;       Init_Com();
 0356 0E940000          xcall _Init_Com
 035A                   .dbline 274
 035A           ;       Reset_R8025();
 035A 0E940000          xcall _Reset_R8025
 035E                   .dbline 276
 035E           ;       
 035E           ;       PC_Send_Ok(SendData,0x00,SendBuf,1);                            //向PC 发送接收握手信号
 035E 81E0              ldi R24,1
 0360 90E0              ldi R25,0
 0362 9B83              std y+3,R25
 0364 8A83              std y+2,R24
 0366 80E0              ldi R24,<_SendBuf
 0368 90E0              ldi R25,>_SendBuf
 036A 9983              std y+1,R25
 036C 8883              std y+0,R24
 036E 2227              clr R18
 0370 00E0              ldi R16,<_SendData
 0372 10E0              ldi R17,>_SendData

⌨️ 快捷键说明

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