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

📄 jk0061119.lst

📁 Modbus RTU 的C语言程序
💻 LST
📖 第 1 页 / 共 5 页
字号:
    0170 E091      LDI	R25,1
    0171 939001EB  STS	_Time_Interval_JC+1,R25
    0173 938001EA  STS	_Time_Interval_JC,R24
(0171) 	Time_Limited_JC=ram_array+10;
    0175 EB88      LDI	R24,0xB8
    0176 E091      LDI	R25,1
    0177 939001E9  STS	_Time_Limited_JC+1,R25
    0179 938001E8  STS	_Time_Limited_JC,R24
(0172) 	Time_Delay_JC=ram_array+11;
    017B EB8A      LDI	R24,0xBA
    017C E091      LDI	R25,1
    017D 939001E7  STS	_Time_Delay_JC+1,R25
    017F 938001E6  STS	_Time_Delay_JC,R24
(0173) 	v_HM_data_potentiometer=ram_array+12;
    0181 EB8C      LDI	R24,0xBC
    0182 E091      LDI	R25,1
    0183 939001DB  STS	_v_HM_data_potentiometer+1,R25
    0185 938001DA  STS	_v_HM_data_potentiometer,R24
(0174) 	v_KM_data_potentiometer=ram_array+13;
    0187 EB8E      LDI	R24,0xBE
    0188 E091      LDI	R25,1
    0189 939001D9  STS	_v_KM_data_potentiometer+1,R25
    018B 938001D8  STS	_v_KM_data_potentiometer,R24
(0175) 	A_CD_Current_potentiometer=ram_array+14;
    018D EC80      LDI	R24,0xC0
    018E E091      LDI	R25,1
    018F 939001D1  STS	_A_CD_Current_potentiometer+1,R25
    0191 938001D0  STS	_A_CD_Current_potentiometer,R24
(0176) 	A_KM_Load_Current_potentiometer=ram_array+15;
    0193 EC82      LDI	R24,0xC2
    0194 E091      LDI	R25,1
    0195 939001D3  STS	_A_KM_Load_Current_potentiometer+1,R25
    0197 938001D2  STS	_A_KM_Load_Current_potentiometer,R24
(0177) 	v_MK_data_potentiometer=ram_array+16;
    0199 EC84      LDI	R24,0xC4
    019A E091      LDI	R25,1
    019B 939001D7  STS	_v_MK_data_potentiometer+1,R25
    019D 938001D6  STS	_v_MK_data_potentiometer,R24
(0178) 	v_Bat_data_potentiometer=ram_array+17;
    019F EC86      LDI	R24,0xC6
    01A0 E091      LDI	R25,1
    01A1 939001D5  STS	_v_Bat_data_potentiometer+1,R25
    01A3 938001D4  STS	_v_Bat_data_potentiometer,R24
(0179)     v_MK_FC_Voltage=ram_array+20;
    01A5 EC8C      LDI	R24,0xCC
    01A6 E091      LDI	R25,1
    01A7 93900197  STS	_v_MK_FC_Voltage+1,R25
    01A9 93800196  STS	_v_MK_FC_Voltage,R24
(0180) 	v_MK_JC_Voltage=ram_array+21;
    01AB EC8E      LDI	R24,0xCE
    01AC E091      LDI	R25,1
    01AD 93900199  STS	_v_MK_JC_Voltage+1,R25
    01AF 93800198  STS	_v_MK_JC_Voltage,R24
(0181) 	//A_MK_CD_Max_Current=ram_array+22;
(0182) //////////////////////////////////////////////////
(0183) 
(0184) //////////////////////////////////////////////
(0185)     Flag_JC_FC=0;
    01B1 2422      CLR	R2
    01B2 92200126  STS	0x126,R2
(0186) 	JK_IO[0]&=0xFE;
    01B4 91800122  LDS	R24,0x122
    01B6 7F8E      ANDI	R24,0xFE
    01B7 93800122  STS	0x122,R24
(0187) 	Time_Interval_JC_register=0;
    01B9 2433      CLR	R3
    01BA 923001E5  STS	_Time_Interval_JC_register+1,R3
    01BC 922001E4  STS	_Time_Interval_JC_register,R2
(0188) 	Time_Limited_JC_register=0;
    01BE 923001E3  STS	_Time_Limited_JC_register+1,R3
    01C0 922001E2  STS	_Time_Limited_JC_register,R2
(0189) 	Time_Delay_JC_register=0;
    01C2 923001E1  STS	_Time_Delay_JC_register+1,R3
    01C4 922001E0  STS	_Time_Delay_JC_register,R2
(0190) 	AD_Channels=0;
    01C6 9220019C  STS	_AD_Channels,R2
(0191) 	AD_collect_cout=0;
    01C8 9220012F  STS	0x12F,R2
(0192) 	Com0_S_Pointer=Com0_S_Data;
    01CA E28C      LDI	R24,0x2C
    01CB E093      LDI	R25,3
    01CC 9390032A  STS	_Com0_S_Pointer+1,R25
    01CE 93800329  STS	_Com0_S_Pointer,R24
(0193)  }
    01D0 940E1BDE  CALL	pop_gset3
    01D2 9508      RET
FILE: F:\单片机\小监控\新的小监控\连瑞宏达C\JK0061119_IO.h
(0001) char  Var_ASCLL_add(char  char_temp);
(0002) //////////////////////////////////////////////////
(0003) void GL_silicon_control(void)
(0004) {
(0005)     if(v_KM_Voltage>Voltage_GL_Join)
_GL_silicon_control:
    01D3 90200200  LDS	R2,_Voltage_GL_Join
    01D5 90300201  LDS	R3,_Voltage_GL_Join+1
    01D7 90400282  LDS	R4,_v_KM_Voltage
    01D9 90500283  LDS	R5,_v_KM_Voltage+1
    01DB 1424      CP	R2,R4
    01DC 0435      CPC	R3,R5
    01DD F438      BCC	0x01E5
(0006) 	   if(GL_Join_Quit_Count<5)
    01DE 9180012E  LDS	R24,0x12E
    01E0 3085      CPI	R24,5
    01E1 F418      BCC	0x01E5
(0007) 	      GL_Join_Quit_Count++;
    01E2 5F8F      SUBI	R24,0xFF
    01E3 9380012E  STS	0x12E,R24
(0008) 	if(v_KM_Voltage<Voltage_GL_Quit)
    01E5 902001FE  LDS	R2,_Voltage_GL_Quit
    01E7 903001FF  LDS	R3,_Voltage_GL_Quit+1
    01E9 90400282  LDS	R4,_v_KM_Voltage
    01EB 90500283  LDS	R5,_v_KM_Voltage+1
    01ED 1442      CP	R4,R2
    01EE 0453      CPC	R5,R3
    01EF F448      BCC	0x01F9
(0009) 	   if(GL_Join_Quit_Count>0)
    01F0 2422      CLR	R2
    01F1 9030012E  LDS	R3,0x12E
    01F3 1423      CP	R2,R3
    01F4 F420      BCC	0x01F9
(0010) 	      GL_Join_Quit_Count--;
    01F5 2D83      MOV	R24,R3
    01F6 5081      SUBI	R24,1
    01F7 9380012E  STS	0x12E,R24
(0011) 	switch(GL_Join_Quit_Count)
    01F9 9100012E  LDS	R16,0x12E
    01FB 2711      CLR	R17
    01FC 3000      CPI	R16,0
    01FD 0701      CPC	R16,R17
    01FE F0A9      BEQ	0x0214
    01FF 3001      CPI	R16,1
    0200 E0E0      LDI	R30,0
    0201 071E      CPC	R17,R30
    0202 F0A9      BEQ	0x0218
    0203 3002      CPI	R16,2
    0204 E0E0      LDI	R30,0
    0205 071E      CPC	R17,R30
    0206 F0B1      BEQ	0x021D
    0207 3003      CPI	R16,3
    0208 E0E0      LDI	R30,0
    0209 071E      CPC	R17,R30
    020A F0B9      BEQ	0x0222
    020B 3004      CPI	R16,4
    020C E0E0      LDI	R30,0
    020D 071E      CPC	R17,R30
    020E F0D1      BEQ	0x0229
    020F 3005      CPI	R16,5
    0210 E0E0      LDI	R30,0
    0211 071E      CPC	R17,R30
    0212 F0E9      BEQ	0x0230
    0213 C01F      RJMP	0x0233
(0012) 	      {
(0013) 		      case 0:
(0014) 			      PORTD&=0x8F;//1000 1111
    0214 B382      IN	R24,0x12
    0215 788F      ANDI	R24,0x8F
    0216 BB82      OUT	0x12,R24
(0015) 				  break;
    0217 C01B      RJMP	0x0233
(0016) 			  case 1:
(0017) 			      PORTD|=0x40;//0100 0000
    0218 9A96      SBI	0x12,6
(0018) 			      PORTD&=0xCF;//1100 1111
    0219 B382      IN	R24,0x12
    021A 7C8F      ANDI	R24,0xCF
    021B BB82      OUT	0x12,R24
(0019) 				  break;
    021C C016      RJMP	0x0233
(0020) 			  case 2:
(0021) 			      PORTD|=0x20;//0010 0000
    021D 9A95      SBI	0x12,5
(0022) 			      PORTD&=0xAF;//1010 1111
    021E B382      IN	R24,0x12
    021F 7A8F      ANDI	R24,0xAF
    0220 BB82      OUT	0x12,R24
(0023) 				  break;  
    0221 C011      RJMP	0x0233
(0024) 			  case 3:
(0025) 			      PORTD|=0x60;//0110 0000
    0222 B382      IN	R24,0x12
    0223 6680      ORI	R24,0x60
    0224 BB82      OUT	0x12,R24
(0026) 				  PORTD&=0xEF;//1110 1111
    0225 B382      IN	R24,0x12
    0226 7E8F      ANDI	R24,0xEF
    0227 BB82      OUT	0x12,R24
(0027) 				  break; 
    0228 C00A      RJMP	0x0233
(0028) 			  case 4:
(0029) 			      PORTD|=0x30;//0011 0000
    0229 B382      IN	R24,0x12
    022A 6380      ORI	R24,0x30
    022B BB82      OUT	0x12,R24
(0030) 				  PORTD&=0xBF;//1011 1111
    022C B382      IN	R24,0x12
    022D 7B8F      ANDI	R24,0xBF
    022E BB82      OUT	0x12,R24
(0031) 				  break; 
    022F C003      RJMP	0x0233
(0032) 			  case 5:
(0033) 			      PORTD|=0x70;//0111 0000     		       
    0230 B382      IN	R24,0x12
    0231 6780      ORI	R24,0x70
    0232 BB82      OUT	0x12,R24
(0034) 		   }
(0035)  }
    0233 9508      RET
(0036) /////////////
(0037) void error_pickup(void)
(0038) {
(0039)     if(PINA&0x80)
_error_pickup:
    0234 9BCF      SBIS	0x19,7
    0235 C006      RJMP	0x023C
(0040) 	   JK_IO[0]&=0xFD;
    0236 91800122  LDS	R24,0x122
    0238 7F8D      ANDI	R24,0xFD
    0239 93800122  STS	0x122,R24
    023B C005      RJMP	0x0241
(0041) 	else
(0042) 	   JK_IO[0]|=0x02;
    023C 91800122  LDS	R24,0x122
    023E 6082      ORI	R24,2
    023F 93800122  STS	0x122,R24
(0043)     if(PINA&0x40)
    0241 9BCE      SBIS	0x19,6
    0242 C006      RJMP	0x0249
(0044) 	   JK_IO[0]&=0xF7;
    0243 91800122  LDS	R24,0x122
    0245 7F87      ANDI	R24,0xF7
    0246 93800122  STS	0x122,R24
    0248 C005      RJMP	0x024E
(0045) 	else
(0046) 	   JK_IO[0]|=0x08;
    0249 91800122  LDS	R24,0x122
    024B 6088      ORI	R24,0x8
    024C 93800122  STS	0x122,R24
(0047) ////////////////////////////////////////
(0048) 	if((PINA&0x20)&&(JK_IO[2]==0)&&(JK_IO[3]==0))
    024E 9BCD      SBIS	0x19,5
    024F C00E      RJMP	0x025E
    0250 90200124  LDS	R2,0x124
    0252 2022      TST	R2
    0253 F451      BNE	0x025E
    0254 90200125  LDS	R2,0x125
    0256 2022      TST	R2
    0257 F431      BNE	0x025E
(0049) 	   JK_IO[0]&=0xFB;
    0258 91800122  LDS	R24,0x122
    025A 7F8B      ANDI	R24,0xFB
    025B 93800122  STS	0x122,R24
    025D C005      RJMP	0x0263
(0050) 	else
(0051) 	   JK_IO[0]|=0x04;
    025E 91800122  LDS	R24,0x122
    0260 6084      ORI	R24,4
    0261 93800122  STS	0x122,R24
(0052) 	if(JK_IO[0]>1)
    0263 E081      LDI	R24,1
    0264 90200122  LDS	R2,0x122
    0266 1582      CP	R24,R2
    0267 F448      BCC	0x0271
(0053) 	   {PORTB&=0xFE; JK_IO[1]|=0x02;}   
    0268 B388      IN	R24,0x18
    0269 7F8E      ANDI	R24,0xFE
    026A BB88      OUT	0x18,R24
    026B 91800123  LDS	R24,0x123
    026D 6082      ORI	R24,2
    026E 93800123  STS	0x123,R24
    0270 C006      RJMP	0x0277
(0054) 	else
(0055) 	   {PORTB|=0x01; JK_IO[1]&=0xFD;}
    0271 9AC0      SBI	0x18,0
    0272 91800123  LDS	R24,0x123
    0274 7F8D      ANDI	R24,0xFD
    0275 93800123  STS	0x123,R24
(0056) 	   
(0057)  }
    0277 9508      RET
(0058) //////////////////////////////////按键获取
(0059)  char   catch_press_key(void)
(0060)  {
(0061)      char  a,c;
(0062) 	  Time2_press_key_delay=0;
_catch_press_key:
  c                    --> R16
  a                    --> R18
    0278 2422      CLR	R2
    0279 92200133  STS	0x133,R2
(0063)       a=PINC&0x1F;
    027B B323      IN	R18,0x13
    027C 712F      ANDI	R18,0x1F
(0064) 	   if(a==15) 
    027D 302F      CPI	R18,0xF
    027E F411      BNE	0x0281
(0065) 		  c=5;
    027F E005      LDI	R16,5
    0280 C014      RJMP	0x0295
(0066) 	   else if(a==23)
    0281 3127      CPI	R18,0x17
    0282 F411      BNE	0x0285
(0067) 		  c=4;
    0283 E004      LDI	R16,4
    0284 C010      RJMP	0x0295
(0068) 	   else if(a==27)
    0285 312B      CPI	R18,0x1B
    0286 F411      BNE	0x0289
(0069) 		  c=3;
    0287 E003      LDI	R16,3
    0288 C00C      RJMP	0x0295
(0070) 	   else if(a==29)		 
    0289 312D      CPI	R18,0x1D
    028A F411      BNE	0x028D
(0071) 		  c=2;
    028B E002      LDI	R16,2
    028C C008      RJMP	0x0295
(0072) 	   else if(a==30)
    028D 312E      CPI	R18,0x1E
    028E F411      BNE	0x0291
(0073) 	      c=1;
    028F E001      LDI	R16,1
    0290 C004      RJMP	0x0295
(0074)        else
(0075) 	    {
(0076) 		   Time2_press_key_delay=5;
    0291 E085      LDI	R24,5
    0292 93800133  STS	0x133,R24
(0077) 		   c=0;
    0294 2700      CLR	R16
(0078) 		 }	      
(0079) 	  return(c);
    0295 9508      RET
(0080)   }
(0081) void floor_ID_program(void)
(0082) {
(0083)   /*char  temp0,temp1;
(0084)   
(0085)     switch(floor_ID)
(0086) 	   {
(0087) 	       case 2:		
(0088) 		         if(ID_key_pressed==2)
(0089) 				   {
(0090) 				      menu_ID=press_key_value_pc0;
(0091) 				      press_key_value_pc0=1;
(0092) 					  floor_ID=3;
(0093) 				    }
(0094) 				 else if(ID_key_pressed==1)	
(0095) 				        {
(0096) 						  press_key_value_pc0++;
(0097) 					      if(press_key_value_pc0>4)
(0098) 					      press_key_value_pc0=1;
(0099) 						 }
(0100) 				 else  if(ID_key_pressed==3)
(0101) 		                {
(0102) 						  press_key_value_pc0--;
(0103) 					      if(press_key_value_pc0<1)
(0104) 					      press_key_value_pc0=4;
(0105) 						 }
(0106) 		         break;
(0107) 		   case 3:	
(0108) 				 if(ID_key_pressed==2) 
(0109) 				   {
(0110) 				     if(menu_ID==2)
(0111) 				       { 
(0112) 					    press_key_value_pc0=1;
(0113) 					    Password_input=byte_PASSword_1*1000+byte_PASSword_2*100+byte_PASSword_3*10+byte_PASSword_4;
(0114) 					    if(Password_input==Password_Level_2)
(0115) 						   floor_ID=4; 	
(0116) 						 else
(0117) 						   menu_ID=9;
(0118) 				        }
(0119) 					 }
(0120) 				  else if(ID_key_pressed==3) 
(0121) 				    {
(0122) 					    if(menu_ID==2)
(0123) 				        {
(0124) 						   press_key_value_pc2++;
(0125) 						   press_key_value_pc0=0;
(0126) 						   if(press_key_value_pc2>5)
(0127) 					         press_key_value_pc2=1;
(0128) 						 }
(0129) 				        else if(menu_ID==3)
(0130) 				        {
(0131) 						   press_key_value_pc0--;
(0132) 					       if(press_key_value_pc0<1)
(0133) 					         press_key_value_pc0=3;
(0134) 						 }
(0135) 				    
(0136) 					 }
(0137) 				 else if(ID_key_pressed==1)
(0138) 				   {
(0139) 				       if(menu_ID==2)

⌨️ 快捷键说明

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