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

📄 spoker.src

📁 motor_control.zip
💻 SRC
📖 第 1 页 / 共 3 页
字号:
	SETB 	IN4
; 	START=0;
			; SOURCE LINE # 222
	CLR  	START
; 	time1=1;
			; SOURCE LINE # 223
	MOV  	time1,#01H
; 	time2=1;
			; SOURCE LINE # 224
	MOV  	time2,#01H
; 	counter1=170;
			; SOURCE LINE # 225
	MOV  	counter1,#0AAH
; 	counter2=30;
			; SOURCE LINE # 226
	MOV  	counter2,#01EH
?C0037:
; 	//BACK=0;         	
; 	while(1)
			; SOURCE LINE # 228
; 	{	 
			; SOURCE LINE # 229
; 		LEDG=~LEDG;
			; SOURCE LINE # 230
	CPL  	LEDG
; 		EA=1;
			; SOURCE LINE # 231
	SETB 	EA
; 		avge=pingjun();
			; SOURCE LINE # 232
	LCALL	pingjun
	MOV  	avge+03H,R7
	MOV  	avge+02H,R6
	MOV  	avge+01H,R5
	MOV  	avge,R4
; 		BCD_H_L(avge-200,0); 	   
			; SOURCE LINE # 233
	MOV  	A,R7
	ADD  	A,#038H
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,#0FFH
	MOV  	R6,A
	CLR  	A
	MOV  	R5,A
	LCALL	_BCD_H_L
; 		a=IN0;
			; SOURCE LINE # 234
	MOV  	C,IN0
	CLR  	A
	RLC  	A
	MOV  	a?,A
; 		bb=IN1;
			; SOURCE LINE # 235
	MOV  	C,IN1
	CLR  	A
	RLC  	A
	MOV  	bb,A
; 		c=IN2;
			; SOURCE LINE # 236
	MOV  	C,IN2
	CLR  	A
	RLC  	A
	MOV  	c?,A
; 		d=IN3;
			; SOURCE LINE # 237
	MOV  	C,IN3
	CLR  	A
	RLC  	A
	MOV  	d,A
; 		e=IN4;
			; SOURCE LINE # 238
	MOV  	C,IN4
	CLR  	A
	RLC  	A
	MOV  	e,A
; 	   if(black==1)		
			; SOURCE LINE # 239
	MOV  	A,black
	CJNE 	A,#01H,?C0039
; 	   {
			; SOURCE LINE # 240
; 	    START=1;
			; SOURCE LINE # 241
	SETB 	START
; 	    TR1=1;
			; SOURCE LINE # 242
	SETB 	TR1
; 		time2=0;	    
			; SOURCE LINE # 243
	CLR  	A
	MOV  	time2,A
; 		judgement(80,20);
			; SOURCE LINE # 244
	MOV  	R5,#014H
	MOV  	R7,#050H
	LCALL	_judgement
; 		}
			; SOURCE LINE # 245
?C0039:
; 	   if(keykey==1) 
			; SOURCE LINE # 246
	MOV  	A,keykey
	CJNE 	A,#01H,?C0037
;   		{
			; SOURCE LINE # 247
; 			chazhi1=abs((int)(avge-avge0));
			; SOURCE LINE # 248
	CLR  	C
	MOV  	A,avge+03H
	SUBB 	A,avge0+03H
	MOV  	R7,A
	MOV  	A,avge+02H
	SUBB 	A,avge0+02H
	MOV  	R6,A
	LCALL	_abs
	MOV  	chazhi1?852,R7
; 			if(chazhi1>=20)    
			; SOURCE LINE # 249
	MOV  	A,chazhi1?852
	CLR  	C
	SUBB 	A,#014H
	JC   	?C0041
; 			{
			; SOURCE LINE # 250
; 	  			START=1;
			; SOURCE LINE # 251
	SETB 	START
; 				counter2=30;
			; SOURCE LINE # 252
	MOV  	counter2,#01EH
; 				if(avge>(avge0+chazhi-3)) 
			; SOURCE LINE # 253
	MOV  	A,chazhi?851
	ADD  	A,avge0+03H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,avge0+02H
	MOV  	R6,A
	CLR  	A
	ADDC 	A,avge0+01H
	MOV  	R5,A
	CLR  	A
	ADDC 	A,avge0
	MOV  	R4,A
	MOV  	A,R7
	ADD  	A,#0FDH
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,#0FFH
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,#0FFH
	MOV  	R4,A
	MOV  	R3,avge+03H
	MOV  	R2,avge+02H
	MOV  	R1,avge+01H
	MOV  	R0,avge
	SETB 	C
	LCALL	?C?ULCMP
	JC   	?C0042
; 		 		{ 
			; SOURCE LINE # 254
; 		   			BACK=0;
			; SOURCE LINE # 255
; 					judgement(50,0);
			; SOURCE LINE # 256
	LCALL	L?0065
; 		 		}
			; SOURCE LINE # 257
?C0042:
; 	   			if(avge<(avge0-chazhi)) 
			; SOURCE LINE # 258
	MOV  	R7,chazhi?851
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	CLR  	C
	MOV  	A,avge0+03H
	SUBB 	A,R3
	MOV  	R7,A
	MOV  	A,avge0+02H
	SUBB 	A,#00H
	MOV  	R6,A
	MOV  	A,avge0+01H
	SUBB 	A,#00H
	MOV  	R5,A
	MOV  	A,avge0
	SUBB 	A,#00H
	MOV  	R4,A
	MOV  	R3,avge+03H
	MOV  	R2,avge+02H
	MOV  	R1,avge+01H
	MOV  	R0,avge
	CLR  	C
	LCALL	?C?ULCMP
	JC   	$ + 5H
	LJMP 	?C0037
; 		  		{
			; SOURCE LINE # 259
; 		  
; 		   			BACK=1;
			; SOURCE LINE # 261
; 					judgement(50,0);
			; SOURCE LINE # 262
; 		  
; 		  		}	
			; SOURCE LINE # 264
; 	 		}		
			; SOURCE LINE # 265
	SJMP 	?C0064
?C0041:
; 			else if((chazhi1<20)&&(chazhi1>10))
			; SOURCE LINE # 266
	MOV  	A,chazhi1?852
	CLR  	C
	SUBB 	A,#014H
	JNC  	?C0045
	MOV  	A,chazhi1?852
	SUBB 	A,#0AH
	JC   	?C0045
; 	 		{	
			; SOURCE LINE # 267
; 			    counter2=30;
			; SOURCE LINE # 268
	MOV  	counter2,#01EH
; 			  	if(avge>(avge0+chazhi-3)) 
			; SOURCE LINE # 269
	MOV  	A,chazhi?851
	ADD  	A,avge0+03H
	MOV  	R7,A
	CLR  	A
	ADDC 	A,avge0+02H
	MOV  	R6,A
	CLR  	A
	ADDC 	A,avge0+01H
	MOV  	R5,A
	CLR  	A
	ADDC 	A,avge0
	MOV  	R4,A
	MOV  	A,R7
	ADD  	A,#0FDH
	MOV  	R7,A
	MOV  	A,R6
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,#0FFH
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,#0FFH
	MOV  	R4,A
	MOV  	R3,avge+03H
	MOV  	R2,avge+02H
	MOV  	R1,avge+01H
	MOV  	R0,avge
	SETB 	C
	LCALL	?C?ULCMP
	JC   	?C0046
; 		 		{ 
			; SOURCE LINE # 270
; 		  			 START=1;
			; SOURCE LINE # 271
	SETB 	START
; 					 
; 		  			 BACK=0;
			; SOURCE LINE # 273
; 		   			 judgement(50,0);
			; SOURCE LINE # 274
	LCALL	L?0065
; 		 		}
			; SOURCE LINE # 275
?C0046:
; 	   			if(avge<(avge0-chazhi)) 
			; SOURCE LINE # 276
	MOV  	R7,chazhi?851
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	CLR  	C
	MOV  	A,avge0+03H
	SUBB 	A,R3
	MOV  	R7,A
	MOV  	A,avge0+02H
	SUBB 	A,#00H
	MOV  	R6,A
	MOV  	A,avge0+01H
	SUBB 	A,#00H
	MOV  	R5,A
	MOV  	A,avge0
	SUBB 	A,#00H
	MOV  	R4,A
	MOV  	R3,avge+03H
	MOV  	R2,avge+02H
	MOV  	R1,avge+01H
	MOV  	R0,avge
	CLR  	C
	LCALL	?C?ULCMP
	JC   	$ + 5H
	LJMP 	?C0037
; 		  		{
			; SOURCE LINE # 277
; 		   			START=1;
			; SOURCE LINE # 278
	SETB 	START
; 		   			BACK=1;
			; SOURCE LINE # 279
?C0064:
	SETB 	BACK
; 		   			judgement(50,0);
			; SOURCE LINE # 280
	LCALL	L?0066
; 				 }	
			; SOURCE LINE # 281
; 	 		}		
			; SOURCE LINE # 282
	LJMP 	?C0037
?C0045:
; 	 		else     
; 			{
			; SOURCE LINE # 284
; 				START=0;
			; SOURCE LINE # 285
	CLR  	START
; 				TR1=1;
			; SOURCE LINE # 286
	SETB 	TR1
; 				time1=0;
			; SOURCE LINE # 287
	CLR  	A
	MOV  	time1,A
; 				time2=1;
			; SOURCE LINE # 288
	MOV  	time2,#01H
; 				
; 			
; 			}	
			; SOURCE LINE # 291
;     	}
			; SOURCE LINE # 292
; 	   //AMX0SL    =  0x03;
; 	   //state=(AD_IN(1,1));
; 	   //result=(int)state;
; 	   //BCDdisplay(result);
; 	   //delayms(20);
; 	}
			; SOURCE LINE # 298
	LJMP 	?C0037
; END OF main

CSEG	AT	0004BH
	LJMP	PCA_ISR

; }
; 
; 
; /*PCA中断子程序*/
; void PCA_ISR (void) interrupt 9

	RSEG  ?PR?PCA_ISR?SPOKER
	USING	0
PCA_ISR:
			; SOURCE LINE # 303
; {
; 	
; 	CCF0 = 0;			/*清匹配中断标志*/
			; SOURCE LINE # 306
	CLR  	CCF0
; 
; } 
			; SOURCE LINE # 308
	RETI 	
; END OF PCA_ISR

CSEG	AT	0009BH
	LJMP	led

; 
; 
;  /*键盘中断子程序*/
; void led(void)  interrupt 19

	RSEG  ?PR?led?SPOKER
	USING	0
led:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	MOV  	A,R0
	PUSH 	ACC
	MOV  	A,R1
	PUSH 	ACC
	MOV  	A,R2
	PUSH 	ACC
	MOV  	A,R3
	PUSH 	ACC
	MOV  	A,R4
	PUSH 	ACC
	MOV  	A,R5
	PUSH 	ACC
	MOV  	A,R6
	PUSH 	ACC
	MOV  	A,R7
	PUSH 	ACC
	USING	0
			; SOURCE LINE # 312
; { 
;    uchar key;
;    EA=0;
			; SOURCE LINE # 315
	CLR  	EA
;    
;    key=CH452_Read();
			; SOURCE LINE # 317
	LCALL	CH452_Read
	MOV  	key?1053,R7
;    
;    if(0x62==key)
			; SOURCE LINE # 319
	MOV  	A,key?1053
	CJNE 	A,#062H,?C0051
;    {
			; SOURCE LINE # 320
;    	delayms(2);
			; SOURCE LINE # 321
	MOV  	R7,#02H
	MOV  	R6,#00H
	LCALL	_delayms
; 	avge0=avge;
			; SOURCE LINE # 322
	MOV  	avge0+03H,avge+03H
	MOV  	avge0+02H,avge+02H
	MOV  	avge0+01H,avge+01H
	MOV  	avge0,avge
; 	black=0;	
			; SOURCE LINE # 323
	MOV  	black,#00H
; 	BCD_H_L(avge0-200,1); 
			; SOURCE LINE # 324
	MOV  	A,avge0+03H
	ADD  	A,#038H
	MOV  	R7,A
	MOV  	A,avge0+02H
	ADDC 	A,#0FFH
	MOV  	R6,A
	MOV  	R5,#01H
	LCALL	_BCD_H_L
;     }
			; SOURCE LINE # 325
?C0051:
;   if(0x63==key)
			; SOURCE LINE # 326
	MOV  	A,key?1053
	CJNE 	A,#063H,?C0052
; 	  {	
			; SOURCE LINE # 327
; 	  delayms(2);
			; SOURCE LINE # 328
	MOV  	R7,#02H
	MOV  	R6,#00H
	LCALL	_delayms
; 	  black=1;
			; SOURCE LINE # 329
	MOV  	black,#01H
; 	  //START=1;
; 	  	  }	
			; SOURCE LINE # 331
?C0052:
; 	   EA=1;
			; SOURCE LINE # 332
	SETB 	EA
;   }
			; SOURCE LINE # 333
	POP  	ACC
	MOV  	R7,A
	POP  	ACC
	MOV  	R6,A
	POP  	ACC
	MOV  	R5,A
	POP  	ACC
	MOV  	R4,A
	POP  	ACC
	MOV  	R3,A
	POP  	ACC
	MOV  	R2,A
	POP  	ACC
	MOV  	R1,A
	POP  	ACC
	MOV  	R0,A
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF led

CSEG	AT	0001BH
	LJMP	TIMER1_ISR

; 
; /*定时器中断子程序*/
; void TIMER1_ISR (void) interrupt 3 using 1

	RSEG  ?PR?TIMER1_ISR?SPOKER
	USING	1
TIMER1_ISR:
	PUSH 	ACC
	PUSH 	B
	PUSH 	DPH
	PUSH 	DPL
	PUSH 	PSW
	USING	1
	MOV  	PSW,#08H
			; SOURCE LINE # 336
; {
; 	
; 	TF1=0;
			; SOURCE LINE # 339
	CLR  	TF1
; 	TH1=0x7D;
			; SOURCE LINE # 340
	MOV  	TH1,#07DH
; 	TL1=0xFB;
			; SOURCE LINE # 341
	MOV  	TL1,#0FBH
; 	if(time1==1)
			; SOURCE LINE # 342
	MOV  	A,time1
	CJNE 	A,#01H,?C0054
; 	{
			; SOURCE LINE # 343
; 	   if(--counter1==0)
			; SOURCE LINE # 344
	DJNZ 	counter1,?C0054
; 	   {
			; SOURCE LINE # 345
; 	       TR1=0;
			; SOURCE LINE # 346
	CLR  	TR1
; 		   time1=0;
			; SOURCE LINE # 347
	MOV  	time1,#00H
; 		   keykey=1;
			; SOURCE LINE # 348
	MOV  	keykey,#01H
; 		   black=0;
			; SOURCE LINE # 349
	MOV  	black,#00H
; 	   }
			; SOURCE LINE # 350
; 	  
; 	}
			; SOURCE LINE # 352
?C0054:
; 	if(time2==1)
			; SOURCE LINE # 353
	MOV  	A,time2
	CJNE 	A,#01H,?C0058
; 	{ if(--counter2==0)
			; SOURCE LINE # 354
	DJNZ 	counter2,?C0058
; 	   {
			; SOURCE LINE # 355
; 	       TR1=0;
			; SOURCE LINE # 356
	CLR  	TR1
; 		   time2=0;
			; SOURCE LINE # 357
	MOV  	time2,#00H
; 		   confirm();
			; SOURCE LINE # 358
	LCALL	confirm
; 		   
; 	   } 
			; SOURCE LINE # 360
; 	}
			; SOURCE LINE # 361
; }			; SOURCE LINE # 362
?C0058:
	POP  	PSW
	POP  	DPL
	POP  	DPH
	POP  	B
	POP  	ACC
	RETI 	
; END OF TIMER1_ISR

	END

⌨️ 快捷键说明

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