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

📄 interrupt.s

📁 与GPS模块连接
💻 S
📖 第 1 页 / 共 2 页
字号:
	sts _JWD_ptr,R24
	.dbline 148
L69:
	.dbline 143
	inc R20
L71:
	.dbline 143
;   for(i=0;i<26;i++){
	cpi R20,26
	brlo L68
	.dbline 149
;   CharTOASC(*JWD_ptr);
;    DJWDINFO[i*2]=comm_t;
;    DJWDINFO[(i*2)+1]=comm_b;
;    JWD_ptr++;
;   }
;   DJWDINFO[52]=0;
	clr R2
	sts _DJWDINFO+52,R2
	.dbline 150
;    DJWD_ptr=DJWDINFO;
	ldi R24,<_DJWDINFO
	ldi R25,>_DJWDINFO
	sts _DJWD_ptr+1,R25
	sts _DJWD_ptr,R24
	.dbline -2
L63:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r i 20 c
	.dbend
	.dbfunc e Buf_Sub _Buf_Sub fV
;              k -> R22
;              i -> R20
;             ch -> R10,R11
;              j -> R12
	.even
_Buf_Sub::
	rcall push_gset4
	.dbline -1
	.dbline 217
;   // Send_Test();
;  }
; 
; /*void Send_Test(void){
;       uchar i;
;   //  (!Fbit.Send_GInfoFlag)return;
;       //   Fbit.Send_GInfoFlag=FALSE;
;      while(*DJWD_ptr){
;                       PSendChar(*DJWD_ptr);
;                       DJWD_ptr++;                  
;                       }
;       PSendChar(0x0d);
;       //EN_RxGps;
;  }*/
; 
; /*void Parse_GpsData(void)
; {	uchar i;
; 	uchar temp;
; 	Clear_GpsData();
;      	//Read_byte();
; 	//temp = Read_byte();
; 	if(',' != temp) {
;             WD[0] = temp;
; 		for(i=0; i<3; i++)
; 		{
; 			WD[i+1] = Read_byte();
; 		}
; 		Read_byte();  //.
; 		for(i=0; i<5; i++)
; 		{
; 			WD[4+i] = Read_byte();
; 		}
; 		Read_byte();    //,
;                  }
; // END WD,START SN.............................................................................	
;       temp = Read_byte();    //S/N
; 	if(',' != temp)
; 	{
; 		SN= temp;
; 		Read_byte();// ,
; 	}
; //END SN.START JD................................................................................	
;     temp = Read_byte();
; 	if(',' != temp)
; 	{
; 		JD[0] = temp;
; 		for(i=0; i<4; i++)
; 		{
; 			JD[i+1] = Read_byte();
; 		}	
; 		Read_byte();
; 		for(i=0; i<5; i++)
; 		{
; 			JD[5+i] = Read_byte();
; 		}	
; 		Read_byte();
; 	}
;   //......................................................................................................................................
;      temp = Read_byte();
; 	if(',' != temp)
; 	{	EW = temp;
; 		Read_byte();
; 	                     }*/
;      // Fbit.Send_GInfoFlag=TRUE;
;     //		}	
; 
; void Buf_Sub(void){
	.dbline 220
;  uchar  i,j,k;
;  uint ch;
;  if(!Fbit.Timer_Start)return;
	lds R2,_Fbit
	lds R3,_Fbit+1
	sbrc R3,5
	rjmp L75
	.dbline 220
	rjmp L74
L75:
	.dbline 221
;  Fbit.Timer_Start=FALSE;
	lds R24,_Fbit
	lds R25,_Fbit+1
	andi R25,223
	sts _Fbit+1,R25
	sts _Fbit,R24
	.dbline 222
;  i=0;
	clr R20
	rjmp L78
L77:
	.dbline 223
;  while(++i<10){
	.dbline 224
;  	k=i-1;ch=Buf_plus[k];
	mov R22,R20
	subi R22,1
	.dbline 224
	ldi R24,<_Buf_plus
	ldi R25,>_Buf_plus
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	ldd R10,z+0
	clr R11
	.dbline 225
	mov R12,R20
	rjmp L83
L80:
	.dbline 225
; 	for(j=i;j<10;j++){
	.dbline 226
; 		if(Buf_plus[j]>ch){k=j;ch=Buf_plus[j];}
	ldi R24,<_Buf_plus
	ldi R25,>_Buf_plus
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	cp R10,R2
	cpc R11,R3
	brsh L84
	.dbline 226
	.dbline 226
	mov R22,R12
	.dbline 226
	mov R30,R12
	clr R31
	add R30,R24
	adc R31,R25
	ldd R10,z+0
	clr R11
	.dbline 226
L84:
	.dbline 227
L81:
	.dbline 225
	inc R12
L83:
	.dbline 225
	mov R24,R12
	cpi R24,10
	brlo L80
	.dbline 228
	ldi R24,<_Buf_plus-1
	ldi R25,>_Buf_plus-1
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	ldi R24,<_Buf_plus
	ldi R25,>_Buf_plus
	mov R30,R22
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R2
	.dbline 229
	ldi R24,<_Buf_plus-1
	ldi R25,>_Buf_plus-1
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	std z+0,R10
	.dbline 230
L78:
	.dbline 223
	mov R24,R20
	subi R24,255    ; addi 1
	mov R20,R24
	cpi R20,10
	brsh X1
	rjmp L77
X1:
	.dbline 231
	ldi R20,3
	rjmp L91
L88:
	.dbline 231
	ldi R24,<_Buf_plus
	ldi R25,>_Buf_plus
	mov R30,R20
	clr R31
	add R30,R24
	adc R31,R25
	ldd R2,z+0
	clr R3
	lds R4,_Total_ADK
	lds R5,_Total_ADK+1
	add R4,R2
	adc R5,R3
	sts _Total_ADK+1,R5
	sts _Total_ADK,R4
L89:
	.dbline 231
	inc R20
L91:
	.dbline 231
; 		}
; 	Buf_plus[k]=Buf_plus[i-1];
; 	Buf_plus[i-1]=ch;
;  	}
;  for(i=3;i<8;i++)Total_ADK+=Buf_plus[i];
	cpi R20,8
	brlo L88
	.dbline 232
;  Get_Num=(Total_ADK/5);
	ldi R18,5
	ldi R19,0
	lds R16,_Total_ADK
	lds R17,_Total_ADK+1
	rcall div16u
	sts _Get_Num+1,R17
	sts _Get_Num,R16
	.dbline 233
;     Total_ADK=0;
	clr R2
	clr R3
	sts _Total_ADK+1,R3
	sts _Total_ADK,R2
	.dbline 234
;     if(Get_Num>=130){Get_Num=130;}
	cpi R16,130
	ldi R30,0
	cpc R17,R30
	brlo L92
	.dbline 234
	.dbline 234
	ldi R24,130
	ldi R25,0
	sts _Get_Num+1,R25
	sts _Get_Num,R24
	.dbline 234
L92:
	.dbline 235
;     if((Get_Num<=50)&&(Get_Num!=0)){Get_Num=50;}
	ldi R24,50
	ldi R25,0
	lds R2,_Get_Num
	lds R3,_Get_Num+1
	cp R24,R2
	cpc R25,R3
	brlo L94
	tst R2
	brne X0
	tst R3
	breq L94
X0:
	.dbline 235
	.dbline 235
	ldi R24,50
	ldi R25,0
	sts _Get_Num+1,R25
	sts _Get_Num,R24
	.dbline 235
L94:
	.dbline 236
;     Data_Ptr();
	rcall _Data_Ptr
	.dbline -2
L74:
	rcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r k 22 c
	.dbsym r i 20 c
	.dbsym r ch 10 i
	.dbsym r j 12 c
	.dbend
	.dbfunc e Timer_Function _Timer_Function fV
	.even
_Timer_Function::
	.dbline -1
	.dbline 239
;  }
; 
; void Timer_Function(void){
	.dbline 240
; if(!Fbit.Time_ms)return;
	lds R24,_Fbit
	lsr R24
	andi R24,1
	brne L97
	.dbline 240
	rjmp L96
L97:
	.dbline 241
;     Fbit.Time_ms=FALSE;
	lds R24,_Fbit
	andi R24,253
	sts _Fbit,R24
	.dbline 242
;      if(++Flag_LED>40){Flag_LED=0;
	lds R24,_Flag_LED
	subi R24,255    ; addi 1
	mov R2,R24
	sts _Flag_LED,R2
	ldi R24,40
	cp R24,R2
	brsh L99
	.dbline 242
	.dbline 242
	clr R2
	sts _Flag_LED,R2
	.dbline 243
;                               if(Fbit.Init_com){Fbit.Com_start=TRUE;
	lds R24,_Fbit
	andi R24,1
	breq L101
	.dbline 243
	.dbline 243
	lds R24,_Fbit
	ori R24,16
	sts _Fbit,R24
	.dbline 244
;                                                                           Fbit.Init_com=FALSE;} 
	andi R24,254
	sts _Fbit,R24
	.dbline 244
L101:
	.dbline 245
;                        }
L99:
	.dbline 246
;     Init_Gmodule();   //Send_sms();
	rcall _Init_Gmodule
	.dbline 247
;     TCP_reg();
	rcall _TCP_reg
	.dbline -2
L96:
	.dbline 0 ; func end
	ret
	.dbend
	.dbfunc e Key_Process _Key_Process fV
;           temp -> R20
	.even
_Key_Process::
	rcall push_gset1
	.dbline -1
	.dbline 252
;      //Send_Data();
;      //Send_GpsInfo();
;     }
; 
; void Key_Process(void){
	.dbline 254
; uchar temp;
;   if(!Fbit.En_keyproc)return;
	lds R24,_Fbit
	lsr R24
	lsr R24
	lsr R24
	lsr R24
	lsr R24
	andi R24,1
	brne L104
	.dbline 254
	rjmp L103
L104:
	.dbline 255
;   Fbit.En_keyproc=FALSE;
	lds R24,_Fbit
	andi R24,223
	sts _Fbit,R24
	.dbline 256
;   temp=Key_Value;
	lds R20,_Key_Value
	.dbline 257
	clr R21
	cpi R20,3
	ldi R30,0
	cpc R21,R30
	breq L107
	cpi R20,5
	ldi R30,0
	cpc R21,R30
	breq L110
	cpi R20,6
	ldi R30,0
	cpc R21,R30
	breq L109
	rjmp L107
X2:
	.dbline 257
;    switch(temp){
L109:
	.dbline 259
;        case 6:
;                     Fbit.En_Tcp=TRUE;//connect to PC;
	lds R24,_Fbit
	ori R24,128
	sts _Fbit,R24
	.dbline 260
;                    Idx_TCP=ctcp0;
	clr R2
	sts _Idx_TCP,R2
	.dbline 261
;                     	break;
	rjmp L107
L110:
	.dbline 264
;                     
;           case 5:
;                  if(Idx_TCP==tcp_next){Send_Char_Ptr("Tel:15812605369!Data is:");}
	lds R24,_Idx_TCP
	cpi R24,9
	brne L111
	.dbline 264
	.dbline 264
	ldi R16,<L113
	ldi R17,>L113
	rcall _Send_Char_Ptr
	.dbline 264
L111:
	.dbline 265
	lds R24,_Fbit
	lds R25,_Fbit+1
	ori R25,8
	sts _Fbit+1,R25
	sts _Fbit,R24
	.dbline 266
	.dbline 270
	.dbline 273
L107:
	.dbline -2
L103:
	rcall pop_gset1
	.dbline 0 ; func end
	ret
	.dbsym r temp 20 c
	.dbend
	.dbfunc e Scan_Key _Scan_Key fV
	.even
_Scan_Key::
	.dbline -1
	.dbline 277
;                         Fbit.En_SendData=TRUE;
; 		break;
;                     
; 	  case 3:
;                    // Fbit.Send_GInfoFlag=TRUE;
;                     	break;
;                           
; 	default:
;                			break;
;       }   
; }
; 
;  void Scan_Key(void){
	.dbline 278
;   if(!Fbit.key_count)return;
	lds R24,_Fbit
	lsr R24
	lsr R24
	andi R24,1
	brne L116
	.dbline 278
	rjmp L115
L116:
	.dbline 279
;   Fbit.key_count=FALSE;
	lds R24,_Fbit
	andi R24,251
	sts _Fbit,R24
	.dbline 280
;      Key_Value=(PINC&0x07);
	in R24,0x6
	andi R24,7
	sts _Key_Value,R24
	.dbline 281
; 	 Delay(50);
	ldi R16,50
	ldi R17,0
	rcall _Delay
	.dbline 282
;        if( Key_Value>=0x07){Fbit.En_keyproc=TRUE;}
	lds R24,_Key_Value
	cpi R24,7
	brlo L118
	.dbline 282
	.dbline 282
	lds R24,_Fbit
	ori R24,32
	sts _Fbit,R24
	.dbline 282
	rjmp L119
L118:
	.dbline 283
	.dbline 283
	rcall _Key_Process
	.dbline 283
L119:
	.dbline -2
L115:
	.dbline 0 ; func end
	ret
	.dbend
	.area bss(ram, con, rel)
	.dbfile E:\RXTest\interrupt.c
_write_Count::
	.blkb 2
	.dbfile E:\RXTest/Interrupt.h
	.dbsym e write_Count _write_Count I
_read_Count::
	.blkb 2
	.dbsym e read_Count _read_Count I
_DJWDINFO::
	.blkb 53
	.dbsym e DJWDINFO _DJWDINFO A[53:53]c
_JWDINFO::
	.blkb 26
	.dbsym e JWDINFO _JWDINFO A[26:26]c
_g_Maxcount::
	.blkb 1
	.dbsym e g_Maxcount _g_Maxcount c
_g_count::
	.blkb 1
	.dbsym e g_count _g_count c
_Count_Plus::
	.blkb 1
	.dbsym e Count_Plus _Count_Plus c
_Get_Num::
	.blkb 2
	.dbsym e Get_Num _Get_Num i
_Total_ADK::
	.blkb 2
	.dbsym e Total_ADK _Total_ADK i
_Idx_Plus::
	.blkb 1
	.dbsym e Idx_Plus _Idx_Plus c
_Buf_plus::
	.blkb 10
	.dbsym e Buf_plus _Buf_plus A[10:10]c
_count_20ms::
	.blkb 1
	.dbsym e count_20ms _count_20ms c
_Count_ms::
	.blkb 1
	.dbsym e Count_ms _Count_ms c
_Power_Time::
	.blkb 1
	.dbsym e Power_Time _Power_Time c
_Flag_LED::
	.blkb 1
	.dbsym e Flag_LED _Flag_LED c
_Flag_TX::
	.blkb 1
	.dbsym e Flag_TX _Flag_TX c
_Timer_key::
	.blkb 1
	.dbsym e Timer_key _Timer_key c
_Key_Value::
	.blkb 1
	.dbsym e Key_Value _Key_Value c
_EW::
	.blkb 1
	.dbsym e EW _EW c
_SN::
	.blkb 1
	.dbsym e SN _SN c
_Fbit::
	.blkb 3
	.dbstruct 0 3 .1
	.dbfield 0 Init_com F[0:1]
	.dbfield 0 Time_ms F[1:1]
	.dbfield 0 key_count F[2:1]
	.dbfield 0 Tx_start F[3:1]
	.dbfield 0 Com_start F[4:1]
	.dbfield 0 En_keyproc F[5:1]
	.dbfield 0 En_Sms F[6:1]
	.dbfield 0 En_Tcp F[7:1]
	.dbfield 0 En_Rx F[8:1]
	.dbfield 0 En_Tx F[9:1]
	.dbfield 0 Close_tcp F[10:1]
	.dbfield 0 En_SendData F[11:1]
	.dbfield 0 Rx_f F[12:1]
	.dbfield 0 Timer_Start F[13:1]
	.dbfield 0 Timer_Stop F[14:1]
	.dbfield 0 Sec_1s F[15:1]
	.dbfield 2 Send_GInfoFlag F[0:1]
	.dbend
	.dbsym e Fbit _Fbit S[.1]
	.area data(ram, con, rel)
	.dbfile E:\RXTest/Interrupt.h
L113:
	.blkb 25
	.area idata
	.byte 'T,'e,'l,58,49,53,56,49,50,54,48,53,51,54,57,33
	.byte 'D,'a,'t,'a,32,'i,'s,58,0
	.area data(ram, con, rel)
	.dbfile E:\RXTest/Interrupt.h

⌨️ 快捷键说明

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