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

📄 key_display.src

📁 motor_control.zip
💻 SRC
📖 第 1 页 / 共 3 页
字号:
	MOV  	n?1455,R4
;   		t=(int)(n*10);
			; SOURCE LINE # 284
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1455+03H
	MOV  	R2,n?1455+02H
	MOV  	R1,n?1455+01H
	MOV  	R0,n?1455
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	MOV  	t?1459,R7
;   		n=n*10-t;
			; SOURCE LINE # 285
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1455+03H
	MOV  	R2,n?1455+02H
	MOV  	R1,n?1455+01H
	MOV  	R0,n?1455
	LCALL	?C?FPMUL
	MOV  	A,R4
	PUSH 	ACC
	MOV  	A,R5
	PUSH 	ACC
	MOV  	A,R6
	PUSH 	ACC
	MOV  	A,R7
	PUSH 	ACC
	MOV  	R4,t?1459
	MOV  	A,R4
	LCALL	?C?FCASTC
	XCH  	A,R0
	MOV  	A,R4
	XCH  	A,R0
	XCH  	A,R1
	MOV  	A,R5
	XCH  	A,R1
	XCH  	A,R2
	MOV  	A,R6
	XCH  	A,R2
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	POP  	ACC
	MOV  	R7,A
	POP  	ACC
	MOV  	R6,A
	POP  	ACC
	MOV  	R5,A
	POP  	ACC
	MOV  	R4,A
	LCALL	?C?FPSUB
	MOV  	n?1455+03H,R7
	MOV  	n?1455+02H,R6
	MOV  	n?1455+01H,R5
	MOV  	n?1455,R4
;   		t=abs(t);
			; SOURCE LINE # 286
	MOV  	R7,t?1459
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	MOV  	R6,A
	LCALL	_abs
	MOV  	t?1459,R7
;   		if(  (int)(  n*10  )>=5 || (int) ( n * 10  ) <=-5 ) t++;
			; SOURCE LINE # 287
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1455+03H
	MOV  	R2,n?1455+02H
	MOV  	R1,n?1455+01H
	MOV  	R0,n?1455
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#05H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0062
	MOV  	A,R7
	SUBB 	A,#0FBH
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#07FH
	JNC  	?C0061
?C0062:
	INC  	t?1459
?C0061:
;   		CH452_Write(CH452_DIG0|t);
			; SOURCE LINE # 288
	MOV  	R7,t?1459
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	ORL  	A,#08H
	MOV  	R6,A
	LJMP 	_CH452_Write
; END OF _BCDdisplay_l

; 	//}
; }
; /***********在数码管上4-7显示数字(包括小数点和负数)*****************/
; void BCDdisplay_h(float n)

	RSEG  ?PR?_BCDdisplay_h?KEY_DISPLAY
_BCDdisplay_h:
	USING	0
			; SOURCE LINE # 292
	MOV  	n?1560+03H,R7
	MOV  	n?1560+02H,R6
	MOV  	n?1560+01H,R5
	MOV  	n?1560,R4
; { 
			; SOURCE LINE # 293
; 	signed int x;
; 	signed char a[4],b,t;
; 	x=abs((int)n);
			; SOURCE LINE # 296
	LCALL	?C?CASTF
	LCALL	_abs
	MOV  	x?1561,R6
	MOV  	x?1561+01H,R7
; 	for(t=4;t<8;t++)
			; SOURCE LINE # 297
	MOV  	t?1564,#04H
?C0064:
;   		CH452_Write((CH452_DIG0+ (t<<8))|16);
			; SOURCE LINE # 298
	MOV  	R7,t?1564
	LCALL	L?0093
	INC  	t?1564
	CLR  	C
	MOV  	A,t?1564
	XRL  	A,#080H
	SUBB 	A,#088H
	JC   	?C0064
?C0065:
; 	//if( ( n < 0.00000001 ) || ( n > -0.00000001 ) )  	CH452_Write((CH452_DIG4));
; 	//else 
; 	//{
; 		for(t=0;t<4;t++)
			; SOURCE LINE # 302
	CLR  	A
	MOV  	t?1564,A
?C0067:
; 		{ 
			; SOURCE LINE # 303
; 			a[t]=x%10;
			; SOURCE LINE # 304
	MOV  	R6,x?1561
	MOV  	R7,x?1561+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?SIDIV
	MOV  	A,#LOW (a?1562)
	ADD  	A,t?1564
	MOV  	R0,A
	XCH  	A,@R0
	MOV  	A,R5
	XCH  	A,@R0
;     		x=x/10;
			; SOURCE LINE # 305
	MOV  	R6,x?1561
	MOV  	R7,x?1561+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?SIDIV
	MOV  	x?1561,R6
	MOV  	x?1561+01H,R7
; 			if(a[t]) b=t;
			; SOURCE LINE # 306
	MOV  	A,#LOW (a?1562)
	ADD  	A,t?1564
	MOV  	R0,A
	MOV  	A,@R0
	JZ   	?C0069
	MOV  	b?1563,t?1564
; 		}
			; SOURCE LINE # 307
?C0069:
	INC  	t?1564
	MOV  	A,t?1564
	CJNE 	A,#04H,?C0067
?C0068:
; 
; 		x=abs((int)n);
			; SOURCE LINE # 309
	MOV  	R7,n?1560+03H
	MOV  	R6,n?1560+02H
	MOV  	R5,n?1560+01H
	MOV  	R4,n?1560
	LCALL	?C?CASTF
	LCALL	_abs
	MOV  	x?1561,R6
	MOV  	x?1561+01H,R7
; 		if(x-(int)n)
			; SOURCE LINE # 310
	MOV  	R7,n?1560+03H
	MOV  	R6,n?1560+02H
	MOV  	R5,n?1560+01H
	MOV  	R4,n?1560
	LCALL	?C?CASTF
	CLR  	C
	MOV  	A,x?1561+01H
	SUBB 	A,R7
	MOV  	R7,A
	MOV  	A,x?1561
	SUBB 	A,R6
	ORL  	A,R7
	JZ   	?C0071
;   		{   
			; SOURCE LINE # 311
; 			x=b+5;x<<=8;
			; SOURCE LINE # 312
	MOV  	R7,b?1563
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	MOV  	R6,A
	MOV  	A,R7
	ADD  	A,#05H
	MOV  	x?1561+01H,A
	CLR  	A
	ADDC 	A,R6
	MOV  	x?1561,A
	MOV  	A,x?1561+01H
	MOV  	x?1561+01H,#00H
	MOV  	x?1561,A
;       		CH452_Write((CH452_DIG1+x)|18);
			; SOURCE LINE # 313
	CLR  	A
	ADD  	A,x?1561+01H
	MOV  	R7,A
	MOV  	A,x?1561
	ADDC 	A,#09H
	MOV  	R6,A
	MOV  	A,R7
	ORL  	A,#012H
	MOV  	R7,A
	LCALL	_CH452_Write
;       		DELAY_1US;
			; SOURCE LINE # 314
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 315
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 316
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 317
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 318
	NOP  	
	NOP  	
;   		}
			; SOURCE LINE # 319
?C0071:
;   		for(t=0;t<=b;t++)
			; SOURCE LINE # 320
	CLR  	A
	MOV  	t?1564,A
?C0072:
	SETB 	C
	MOV  	A,b?1563
	XRL  	A,#080H
	MOV  	R0,A
	MOV  	A,t?1564
	XRL  	A,#080H
	SUBB 	A,R0
	JNC  	?C0073
;   		{ 
			; SOURCE LINE # 321
;      		x=t;x<<=8;
			; SOURCE LINE # 322
	MOV  	R7,t?1564
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	MOV  	x?1561,A
	MOV  	x?1561+01H,R7
	MOV  	A,x?1561+01H
	MOV  	x?1561+01H,#00H
	MOV  	x?1561,A
;       		CH452_Write((CH452_DIG5+x)|a[t]);
			; SOURCE LINE # 323
	MOV  	A,#LOW (a?1562)
	ADD  	A,R7
	MOV  	R0,A
	MOV  	A,@R0
	MOV  	R7,A
	RLC  	A
	SUBB 	A,ACC
	MOV  	R6,A
	CLR  	A
	ADD  	A,x?1561+01H
	MOV  	R5,A
	MOV  	A,x?1561
	ADDC 	A,#0DH
	ORL  	A,R6
	MOV  	R6,A
	MOV  	A,R5
	ORL  	A,R7
	MOV  	R7,A
	LCALL	_CH452_Write
;       		DELAY_1US;
			; SOURCE LINE # 324
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 325
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 326
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 327
	NOP  	
	NOP  	
;       		DELAY_1US;
			; SOURCE LINE # 328
	NOP  	
	NOP  	
;     
;   		}
			; SOURCE LINE # 330
	INC  	t?1564
	SJMP 	?C0072
?C0073:
;   	
;   		CH452_Write(0x1fd);//写小数点
			; SOURCE LINE # 332
	MOV  	R7,#0FDH
	MOV  	R6,#01H
	LCALL	_CH452_Write
;   		n=(n-(int)n);
			; SOURCE LINE # 333
	MOV  	R7,n?1560+03H
	MOV  	R6,n?1560+02H
	MOV  	R5,n?1560+01H
	MOV  	R4,n?1560
	MOV  	A,R4
	PUSH 	ACC
	MOV  	A,R5
	PUSH 	ACC
	MOV  	A,R6
	PUSH 	ACC
	MOV  	A,R7
	PUSH 	ACC
	LCALL	?C?CASTF
	XCH  	A,R5
	MOV  	A,R7
	XCH  	A,R5
	XCH  	A,R4
	MOV  	A,R6
	XCH  	A,R4
	MOV  	A,R4
	LCALL	?C?FCASTI
	XCH  	A,R0
	MOV  	A,R4
	XCH  	A,R0
	XCH  	A,R1
	MOV  	A,R5
	XCH  	A,R1
	XCH  	A,R2
	MOV  	A,R6
	XCH  	A,R2
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	POP  	ACC
	MOV  	R7,A
	POP  	ACC
	MOV  	R6,A
	POP  	ACC
	MOV  	R5,A
	POP  	ACC
	MOV  	R4,A
	LCALL	?C?FPSUB
	MOV  	n?1560+03H,R7
	MOV  	n?1560+02H,R6
	MOV  	n?1560+01H,R5
	MOV  	n?1560,R4
;   		t=(int)(n*10);
			; SOURCE LINE # 334
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1560+03H
	MOV  	R2,n?1560+02H
	MOV  	R1,n?1560+01H
	MOV  	R0,n?1560
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	MOV  	t?1564,R7
;   		n=n*10-t;
			; SOURCE LINE # 335
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1560+03H
	MOV  	R2,n?1560+02H
	MOV  	R1,n?1560+01H
	MOV  	R0,n?1560
	LCALL	?C?FPMUL
	MOV  	A,R4
	PUSH 	ACC
	MOV  	A,R5
	PUSH 	ACC
	MOV  	A,R6
	PUSH 	ACC
	MOV  	A,R7
	PUSH 	ACC
	MOV  	R4,t?1564
	MOV  	A,R4
	LCALL	?C?FCASTC
	XCH  	A,R0
	MOV  	A,R4
	XCH  	A,R0
	XCH  	A,R1
	MOV  	A,R5
	XCH  	A,R1
	XCH  	A,R2
	MOV  	A,R6
	XCH  	A,R2
	XCH  	A,R3
	MOV  	A,R7
	XCH  	A,R3
	POP  	ACC
	MOV  	R7,A
	POP  	ACC
	MOV  	R6,A
	POP  	ACC
	MOV  	R5,A
	POP  	ACC
	MOV  	R4,A
	LCALL	?C?FPSUB
	MOV  	n?1560+03H,R7
	MOV  	n?1560+02H,R6
	MOV  	n?1560+01H,R5
	MOV  	n?1560,R4
;   		t=abs(t);
			; SOURCE LINE # 336
	MOV  	R7,t?1564
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	MOV  	R6,A
	LCALL	_abs
	MOV  	t?1564,R7
;   		if(  (int)(  n*10  )>=5 || (int) ( n * 10  ) <=-5 ) t++;
			; SOURCE LINE # 337
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,n?1560+03H
	MOV  	R2,n?1560+02H
	MOV  	R1,n?1560+01H
	MOV  	R0,n?1560
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	CLR  	C
	MOV  	A,R7
	SUBB 	A,#05H
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#080H
	JNC  	?C0076
	MOV  	A,R7
	SUBB 	A,#0FBH
	MOV  	A,R6
	XRL  	A,#080H
	SUBB 	A,#07FH
	JNC  	?C0075
?C0076:
	INC  	t?1564
?C0075:
;   		CH452_Write(CH452_DIG4|t);
			; SOURCE LINE # 338
	MOV  	R7,t?1564
	MOV  	A,R7
	RLC  	A
	SUBB 	A,ACC
	ORL  	A,#0CH
	MOV  	R6,A
	LJMP 	_CH452_Write
; END OF _BCDdisplay_h

; 	//}
; }
; 
;  /***********显示(包括数)******************/
; void BCDdisplay1(uint n)		

	RSEG  ?PR?_BCDdisplay1?KEY_DISPLAY
_BCDdisplay1:
	USING	0
			; SOURCE LINE # 343
;---- Variable 'b?1669' assigned to Register 'R3' ----
;---- Variable 'n?1665' assigned to Register 'DPTR' ----
	MOV  	DPL,R7
	MOV  	DPH,R6
; { uint x;
			; SOURCE LINE # 344
;   uchar a[8],t,b;
;  x=n;
			; SOURCE LINE # 346
	MOV  	x?1666,DPH
	MOV  	x?1666+01H,DPL
;   //CH452_Write(CH452_RESET);
;   CH452_Write(CH452_SYSON2);//打开键盘显示
			; SOURCE LINE # 348
	MOV  	R7,#03H
	MOV  	R6,#04H
	LCALL	_CH452_Write
; 	CH452_Write(CH452_BCD);   // BCD译码,8个数码管
			; SOURCE LINE # 349
	MOV  	R7,#080H
	MOV  	R6,#05H
	LCALL	_CH452_Write
; 	for(t=0;t<8;t++)
			; SOURCE LINE # 350
;---- Variable 't?1668' assigned to Register 'R2' ----
	CLR  	A
	MOV  	R2,A
?C0078:
;           CH452_Write((CH452_DIG0+ (t<<8))|16);
			; SOURCE LINE # 351
	MOV  	A,R2
	LCALL	L?0094
	INC  	R2
	CJNE 	R2,#08H,?C0078
?C0079:
;   if(n==0) 	CH452_Write((CH452_DIG0));
			; SOURCE LINE # 352
	MOV  	A,DPL
	ORL  	A,DPH
	JNZ  	?C0081
	MOV  	R7,A
	MOV  	R6,#08H
	LJMP 	_CH452_Write
?C0081:
;   else 
; {
			; SOURCE LINE # 354
;   for(t=0;t<8;t++)
			; SOURCE LINE # 355
	CLR  	A
	MOV  	R2,A
?C0083:
;   { a[t]=x%10;
			; SOURCE LINE # 356
	MOV  	R6,x?1666
	MOV  	R7,x?1666+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	A,#LOW (a?1667)
	ADD  	A,R2
	MOV  	R0,A
	XCH  	A,@R0
	MOV  	A,R5
	XCH  	A,@R0
;     x=x/10;
			; SOURCE LINE # 357
	MOV  	R6,x?1666
	MOV  	R7,x?1666+01H
	MOV  	R4,#00H
	MOV  	R5,#0AH
	LCALL	?C?UIDIV
	MOV  	x?1666,R6
	MOV  	x?1666+01H,R7
; 	if(a[t]) b=t;
			; SOURCE LINE # 358
	MOV  	A,#LOW (a?1667)
	ADD  	A,R2
	MOV  	R0,A
	MOV  	A,@R0
	JZ   	?C0085
	XCH  	A,R3
	MOV  	A,R2
	XCH  	A,R3
;   }
			; SOURCE LINE # 359
?C0085:
	INC  	R2
	CJNE 	R2,#08H,?C0083
?C0084:
;   
;   for(t=0;t<=b;t++)
			; SOURCE LINE # 361
	CLR  	A
	MOV  	R2,A
?C0087:
	MOV  	A,R2
	SETB 	C
	SUBB 	A,R3
	JNC  	?C0090
;   { 
			; SOURCE LINE # 362
;      x=t;x<<=8;
			; SOURCE LINE # 363
	MOV  	A,R2
	MOV  	x?1666,#00H
	MOV  	x?1666+01H,A
	MOV  	x?1666+01H,#00H
	MOV  	x?1666,A
;       CH452_Write((CH452_DIG0+x)|a[t]);
			; SOURCE LINE # 364
	MOV  	A,#LOW (a?1667)
	ADD  	A,R2
	MOV  	R0,A
	MOV  	A,@R0
	MOV  	R7,A
	CLR  	A
	ADD  	A,x?1666+01H
	MOV  	R5,A
	MOV  	A,x?1666
	ADDC 	A,#08H
	MOV  	R6,A
	MOV  	A,R5
	ORL  	A,R7
	MOV  	R7,A
	LCALL	_CH452_Write
;       DELAY_1US;
			; SOURCE LINE # 365
	NOP  	
	NOP  	
;       DELAY_1US;
			; SOURCE LINE # 366
	NOP  	
	NOP  	
;       DELAY_1US;
			; SOURCE LINE # 367
	NOP  	
	NOP  	
;       DELAY_1US;
			; SOURCE LINE # 368
	NOP  	
	NOP  	
;       DELAY_1US;}
			; SOURCE LINE # 369
	NOP  	
	NOP  	
	INC  	R2
	SJMP 	?C0087
;  }
			; SOURCE LINE # 370
; }			; SOURCE LINE # 371
?C0090:
	RET  	
; END OF _BCDdisplay1

	END

⌨️ 快捷键说明

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