📄 main.lis
字号:
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 + -