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

📄 test_int0.a51

📁 等精度测频率、测相位 用c语言编程 简单方便
💻 A51
📖 第 1 页 / 共 2 页
字号:
			; SOURCE LINE # 113
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#07AH
	MOV  	R4,#044H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPCMP3
	JC   	?C0027
; 					{f=f/10;flag_KHz=1;} 	 
			; SOURCE LINE # 114
	MOV  	R7,f?745+03H
	MOV  	R6,f?745+02H
	MOV  	R5,f?745+01H
	MOV  	R4,f?745
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#020H
	MOV  	R0,#041H
?C0056:
	LCALL	?C?FPDIV
	MOV  	f?745+03H,R7
	MOV  	f?745+02H,R6
	MOV  	f?745+01H,R5
	MOV  	f?745,R4
	SETB 	flag_KHz
	SJMP 	?C0024
?C0027:
; 				else {flag_KHz=0;}
			; SOURCE LINE # 115
	CLR  	flag_KHz
?C0024:
; 				
; 				TMPA=(unsigned long)(f*10);
			; SOURCE LINE # 117
	CLR  	A
	MOV  	R7,A
	MOV  	R6,A
	MOV  	R5,#020H
	MOV  	R4,#041H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPMUL
	LCALL	?C?CASTF
	MOV  	TMPA?742+03H,R7
	MOV  	TMPA?742+02H,R6
	MOV  	TMPA?742+01H,R5
	MOV  	TMPA?742,R4
; 				DISPBUF1=TMPA/1000;
			; SOURCE LINE # 118
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF1,R7
; 				DISPBUF2=TMPA%1000/100;
			; SOURCE LINE # 119
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF2,R7
; 				DISPBUF3=TMPA%100/10;
			; SOURCE LINE # 120
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF3,R7
; 				DISPBUF4=TMPA%10;
			; SOURCE LINE # 121
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 				
; 				TIME1S_count=0;
			; SOURCE LINE # 123
	CLR  	A
	MOV  	TIME1S_count,A
; 				countn0=0;
			; SOURCE LINE # 124
	MOV  	countn0,A
; 				TH0=0;
			; SOURCE LINE # 125
	MOV  	TH0,A
; 				TL0=0;
			; SOURCE LINE # 126
	MOV  	TL0,A
; 				TR0=1;
			; SOURCE LINE # 127
	SETB 	TR0
; 				display();
			; SOURCE LINE # 128
	LCALL	display
; 			}
			; SOURCE LINE # 129
?C0022:
; 			if(!flag_KHz|(keynum>1))
			; SOURCE LINE # 130
	JB   	flag_KHz,?C0030
	MOV  	R7,#01H
	SJMP 	?C0031
?C0030:
	MOV  	R7,#00H
?C0031:
	MOV  	A,keynum
	SETB 	C
	SUBB 	A,#01H
	JC   	?C0032
	MOV  	R6,#01H
	SJMP 	?C0033
?C0032:
	MOV  	R6,#00H
?C0033:
	MOV  	A,R6
	ORL  	A,R7
	JNZ  	$ + 5H
	LJMP 	?C0020
; 				{EX0=1;TMOD=0X09;}	 
			; SOURCE LINE # 131
	SETB 	EX0
	MOV  	TMOD,#09H
; 		} 
			; SOURCE LINE # 132
	LJMP 	?C0020
?C0034:
; 		while(!flag_KHz)
			; SOURCE LINE # 133
	JNB  	flag_KHz,$ + 6H
	LJMP 	?C0020
; 		{	flag_countT0=0;
			; SOURCE LINE # 134
	CLR  	flag_countT0
; 			if(flag0_5s==1)
			; SOURCE LINE # 135
	JB   	flag0_5s,$ + 6H
	LJMP 	?C0036
; 			{	flag0_5s=0;
			; SOURCE LINE # 136
	CLR  	flag0_5s
; 				if(flag_over0)
			; SOURCE LINE # 137
	JB   	flag_over0,$ + 6H
	LJMP 	?C0037
; 				{ 	EX0=0;
			; SOURCE LINE # 138
	CLR  	EX0
; 					P0=bufth0*256+buftl0+65536*bufn0;
			; SOURCE LINE # 139
	MOV  	R7,bufn0
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
	MOV  	R6,A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#01H
	MOV  	R0,A
	LCALL	?C?LMUL
	MOV  	R0,AR4
	MOV  	R1,AR5
	MOV  	R2,AR6
	MOV  	R3,AR7
	MOV  	A,bufth0
	MOV  	R6,A
	MOV  	R4,#00H
	CLR  	A
	ADD  	A,buftl0
	MOV  	R7,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	R6,A
	CLR  	A
	MOV  	R5,A
	MOV  	A,R3
	ADD  	A,R7
	MOV  	R7,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,R1
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,R0
	MOV  	P0?743+03H,R7
	MOV  	P0?743+02H,R6
	MOV  	P0?743+01H,R5
	MOV  	P0?743,A
; 					if(keynum==1)
			; SOURCE LINE # 140
	MOV  	A,keynum
	XRL  	A,#01H
	JZ   	$ + 5H
	LJMP 	?C0038
; 					{	display();
			; SOURCE LINE # 141
	LCALL	display
; 						f=5000000./P0;
			; SOURCE LINE # 142
	MOV  	R7,P0?743+03H
	MOV  	R6,P0?743+02H
	MOV  	R5,P0?743+01H
	MOV  	R4,P0?743
	CLR  	A
	LCALL	?C?FCASTL
	MOV  	R0,AR4
	MOV  	R1,AR5
	MOV  	R2,AR6
	MOV  	R3,AR7
	MOV  	R7,#080H
	MOV  	R6,#096H
	MOV  	R5,#098H
	MOV  	R4,#04AH
	LCALL	?C?FPDIV
	MOV  	f?745+03H,R7
	MOV  	f?745+02H,R6
	MOV  	f?745+01H,R5
	MOV  	f?745,R4
; 						if(f<10000)
			; SOURCE LINE # 143
	MOV  	R7,#00H
	MOV  	R6,#040H
	MOV  	R5,#01CH
	MOV  	R4,#046H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPCMP3
	JNC  	?C0039
; 							{flag_KHz=0;}
			; SOURCE LINE # 144
	CLR  	flag_KHz
	LJMP 	?C0040
?C0039:
; 						else if(f<15000)				  
			; SOURCE LINE # 145
	MOV  	R7,#00H
	MOV  	R6,#060H
	MOV  	R5,#06AH
	MOV  	R4,#046H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPCMP3
	JNC  	?C0041
; 							{f=f/10;flag_KHz=0;}
			; SOURCE LINE # 146
	MOV  	R7,f?745+03H
	MOV  	R6,f?745+02H
	MOV  	R5,f?745+01H
	MOV  	R4,f?745
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#020H
	MOV  	R0,#041H
	LCALL	?C?FPDIV
	MOV  	f?745+03H,R7
	MOV  	f?745+02H,R6
	MOV  	f?745+01H,R5
	MOV  	f?745,R4
	CLR  	flag_KHz
	SJMP 	?C0040
?C0041:
; 						else if(f<100000)
			; SOURCE LINE # 147
	MOV  	R7,#00H
	MOV  	R6,#050H
	MOV  	R5,#0C3H
	MOV  	R4,#047H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPCMP3
	JNC  	?C0043
; 							{f=f/10;flag_KHz=1;}
			; SOURCE LINE # 148
	MOV  	R7,f?745+03H
	MOV  	R6,f?745+02H
	MOV  	R5,f?745+01H
	MOV  	R4,f?745
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#020H
	MOV  	R0,#041H
	SJMP 	?C0057
?C0043:
; 						else if(f<1000000)
			; SOURCE LINE # 149
	MOV  	R7,#00H
	MOV  	R6,#024H
	MOV  	R5,#074H
	MOV  	R4,#049H
	MOV  	R3,f?745+03H
	MOV  	R2,f?745+02H
	MOV  	R1,f?745+01H
	MOV  	R0,f?745
	LCALL	?C?FPCMP3
	MOV  	R7,f?745+03H
	MOV  	R6,f?745+02H
	MOV  	R5,f?745+01H
	MOV  	R4,f?745
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	JNC  	?C0045
; 							{f=f/100;flag_KHz=1;}
			; SOURCE LINE # 150
	MOV  	R1,#0C8H
	MOV  	R0,#042H
	SJMP 	?C0054
?C0045:
; 						else
; 							{f=f/1000;flag_KHz=1;}
			; SOURCE LINE # 152
	MOV  	R1,#07AH
	MOV  	R0,#044H
?C0054:
?C0057:
	LCALL	?C?FPDIV
	MOV  	f?745+03H,R7
	MOV  	f?745+02H,R6
	MOV  	f?745+01H,R5
	MOV  	f?745,R4
	SETB 	flag_KHz
?C0040:
; 						TMPA=(unsigned long)f;
			; SOURCE LINE # 153
	MOV  	R7,f?745+03H
	MOV  	R6,f?745+02H
	MOV  	R5,f?745+01H
	MOV  	R4,f?745
	LCALL	?C?CASTF
	MOV  	TMPA?742+03H,R7
	MOV  	TMPA?742+02H,R6
	MOV  	TMPA?742+01H,R5
	MOV  	TMPA?742,R4
; 						DISPBUF1=TMPA/1000;
			; SOURCE LINE # 154
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF1,R7
; 						DISPBUF2=TMPA%1000/100;
			; SOURCE LINE # 155
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF2,R7
; 						DISPBUF3=TMPA%100/10;
			; SOURCE LINE # 156
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF3,R7
; 						DISPBUF4=TMPA%10;
			; SOURCE LINE # 157
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 					}
			; SOURCE LINE # 158
?C0038:
; 					flag_over0=0;
			; SOURCE LINE # 159
	CLR  	flag_over0
; 					EX0=1;
			; SOURCE LINE # 160
	SETB 	EX0
; 				}
			; SOURCE LINE # 161
?C0037:
; 				if(keynum>1)
			; SOURCE LINE # 162
	MOV  	A,keynum
	SETB 	C
	SUBB 	A,#01H
	JNC  	$ + 5H
	LJMP 	?C0047
; 					if(flag_over1)
			; SOURCE LINE # 163
	JB   	flag_over1,$ + 6H
	LJMP 	?C0047
; 					{
			; SOURCE LINE # 164
; 						flag_over1=0;
			; SOURCE LINE # 165
	CLR  	flag_over1
; 						P1=BUFTH1*256+BUFTL1+BUFn1*65536;
			; SOURCE LINE # 166
	MOV  	R7,BUFn1
	CLR  	A
	MOV  	R4,A
	MOV  	R5,A
	MOV  	R6,A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#01H
	MOV  	R0,A
	LCALL	?C?LMUL
	MOV  	R0,AR4
	MOV  	R1,AR5
	MOV  	R2,AR6
	MOV  	R3,AR7
	MOV  	A,BUFTH1
	MOV  	R6,A
	MOV  	R4,#00H
	CLR  	A
	ADD  	A,BUFTL1
	MOV  	R7,A
	MOV  	A,R4
	ADDC 	A,R6
	MOV  	R6,A
	CLR  	A
	MOV  	R5,A
	MOV  	A,R3
	ADD  	A,R7
	MOV  	R7,A
	MOV  	A,R2
	ADDC 	A,R6
	MOV  	R6,A
	MOV  	A,R5
	ADDC 	A,R1
	MOV  	R5,A
	MOV  	A,R4
	ADDC 	A,R0
	MOV  	P1?744+03H,R7
	MOV  	P1?744+02H,R6
	MOV  	P1?744+01H,R5
	MOV  	P1?744,A
; 						p=P1*1800/P0;
			; SOURCE LINE # 167
	CLR  	A
	MOV  	R7,#08H
	MOV  	R6,#07H
	MOV  	R5,A
	MOV  	R3,P1?744+03H
	MOV  	R2,P1?744+02H
	MOV  	R1,P1?744+01H
	MOV  	R0,P1?744
	LCALL	?C?LMUL
	MOV  	R3,P0?743+03H
	MOV  	R2,P0?743+02H
	MOV  	R1,P0?743+01H
	MOV  	R0,P0?743
	LCALL	?C?ULDIV
	CLR  	A
	LCALL	?C?FCASTL
;---- Variable 'p?746' assigned to Register 'R4/R5/R6/R7' ----
; 											
; 						TMPA=(unsigned long)p;
			; SOURCE LINE # 169
	LCALL	?C?CASTF
	MOV  	TMPA?742+03H,R7
	MOV  	TMPA?742+02H,R6
	MOV  	TMPA?742+01H,R5
	MOV  	TMPA?742,R4
; 						DISPBUF1=TMPA/1000;
			; SOURCE LINE # 170
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF1,R7
; 						DISPBUF2=TMPA%1000/100;
			; SOURCE LINE # 171
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF2,R7
; 						DISPBUF3=TMPA%100/10;
			; SOURCE LINE # 172
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R4,AR0
	MOV  	R5,AR1
	MOV  	R6,AR2
	MOV  	R7,AR3
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	LCALL	?C?ULDIV
	MOV  	DISPBUF3,R7
; 						DISPBUF4=TMPA%10;
			; SOURCE LINE # 173
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?742+03H
	MOV  	R6,TMPA?742+02H
	MOV  	R5,TMPA?742+01H
	MOV  	R4,TMPA?742
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 					}
			; SOURCE LINE # 174
?C0047:
; 			TIME0_5S_count=0;
			; SOURCE LINE # 175
	CLR  	A
	MOV  	TIME0_5S_count,A
; 			}
			; SOURCE LINE # 176
?C0036:
; 			display();
			; SOURCE LINE # 177
	LCALL	display
; 			if(keynum==1)	
			; SOURCE LINE # 178
	MOV  	A,keynum
	XRL  	A,#01H
	JZ   	$ + 5H
	LJMP 	?C0034
; 				if(flag_KHz)
			; SOURCE LINE # 179
	JB   	flag_KHz,$ + 6H
	LJMP 	?C0034
; 					{flag1s=0;EX0=0;TMOD=0X15;}  
			; SOURCE LINE # 180
	CLR  	flag1s
	CLR  	EX0
	MOV  	TMOD,#015H
; 		}
			; SOURCE LINE # 181
	LJMP 	?C0034
; END OF main

	END

⌨️ 快捷键说明

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