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

📄 test_int0.src

📁 等精度测频率、测相位 用c语言编程 简单方便
💻 SRC
📖 第 1 页 / 共 2 页
字号:
	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 # 107
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 				
; 				TIME1S_count=0;
			; SOURCE LINE # 109
	CLR  	A
	MOV  	TIME1S_count,A
; 				countn0=0;
			; SOURCE LINE # 110
	MOV  	countn0,A
; 				TH0=0;
			; SOURCE LINE # 111
	MOV  	TH0,A
; 				TL0=0;
			; SOURCE LINE # 112
	MOV  	TL0,A
; 				TR0=1;
			; SOURCE LINE # 113
	SETB 	TR0
; 				display();
			; SOURCE LINE # 114
	LCALL	display
; 			}
			; SOURCE LINE # 115
?C0014:
; 			if(!flag_KHz|(keynum>1))
			; SOURCE LINE # 116
	JB   	flag_KHz,?C0022
	MOV  	R7,#01H
	SJMP 	?C0023
?C0022:
	MOV  	R7,#00H
?C0023:
	MOV  	A,keynum
	SETB 	C
	SUBB 	A,#01H
	JC   	?C0024
	MOV  	R6,#01H
	SJMP 	?C0025
?C0024:
	MOV  	R6,#00H
?C0025:
	MOV  	A,R6
	ORL  	A,R7
	JNZ  	$ + 5H
	LJMP 	?C0012
; 				{EX0=1;TMOD=0X09;}	 
			; SOURCE LINE # 117
	SETB 	EX0
	MOV  	TMOD,#09H
; 		} 
			; SOURCE LINE # 118
	LJMP 	?C0012
?C0026:
; 		while(!flag_KHz)
			; SOURCE LINE # 119
	JNB  	flag_KHz,$ + 6H
	LJMP 	?C0012
; 		{	flag_countT0=0;
			; SOURCE LINE # 120
	CLR  	flag_countT0
; 			if(flag0_5s==1)
			; SOURCE LINE # 121
	JB   	flag0_5s,$ + 6H
	LJMP 	?C0028
; 			{	flag0_5s=0;
			; SOURCE LINE # 122
	CLR  	flag0_5s
; 				if(flag_over0)
			; SOURCE LINE # 123
	JB   	flag_over0,$ + 6H
	LJMP 	?C0029
; 				{ 	EX0=0;
			; SOURCE LINE # 124
	CLR  	EX0
; 					P0=bufth0*256+buftl0+65536*bufn0;
			; SOURCE LINE # 125
	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?541+03H,R7
	MOV  	P0?541+02H,R6
	MOV  	P0?541+01H,R5
	MOV  	P0?541,A
; 					if(keynum==1)
			; SOURCE LINE # 126
	MOV  	A,keynum
	XRL  	A,#01H
	JZ   	$ + 5H
	LJMP 	?C0030
; 					{	display();
			; SOURCE LINE # 127
	LCALL	display
; 						f=5000000./P0;
			; SOURCE LINE # 128
	MOV  	R7,P0?541+03H
	MOV  	R6,P0?541+02H
	MOV  	R5,P0?541+01H
	MOV  	R4,P0?541
	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?543+03H,R7
	MOV  	f?543+02H,R6
	MOV  	f?543+01H,R5
	MOV  	f?543,R4
; 						if(f<10000)
			; SOURCE LINE # 129
	MOV  	R7,#00H
	MOV  	R6,#040H
	MOV  	R5,#01CH
	MOV  	R4,#046H
	MOV  	R3,f?543+03H
	MOV  	R2,f?543+02H
	MOV  	R1,f?543+01H
	MOV  	R0,f?543
	LCALL	?C?FPCMP3
	JNC  	?C0031
; 							{flag_KHz=0;}
			; SOURCE LINE # 130
	CLR  	flag_KHz
	LJMP 	?C0032
?C0031:
; 						else if(f<15000)				  
			; SOURCE LINE # 131
	MOV  	R7,#00H
	MOV  	R6,#060H
	MOV  	R5,#06AH
	MOV  	R4,#046H
	MOV  	R3,f?543+03H
	MOV  	R2,f?543+02H
	MOV  	R1,f?543+01H
	MOV  	R0,f?543
	LCALL	?C?FPCMP3
	JNC  	?C0033
; 							{f=f/10;flag_KHz=0;}
			; SOURCE LINE # 132
	MOV  	R7,f?543+03H
	MOV  	R6,f?543+02H
	MOV  	R5,f?543+01H
	MOV  	R4,f?543
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#020H
	MOV  	R0,#041H
	LCALL	?C?FPDIV
	MOV  	f?543+03H,R7
	MOV  	f?543+02H,R6
	MOV  	f?543+01H,R5
	MOV  	f?543,R4
	CLR  	flag_KHz
	SJMP 	?C0032
?C0033:
; 						else if(f<100000)
			; SOURCE LINE # 133
	MOV  	R7,#00H
	MOV  	R6,#050H
	MOV  	R5,#0C3H
	MOV  	R4,#047H
	MOV  	R3,f?543+03H
	MOV  	R2,f?543+02H
	MOV  	R1,f?543+01H
	MOV  	R0,f?543
	LCALL	?C?FPCMP3
	JNC  	?C0035
; 							{f=f/10;flag_KHz=1;}
			; SOURCE LINE # 134
	MOV  	R7,f?543+03H
	MOV  	R6,f?543+02H
	MOV  	R5,f?543+01H
	MOV  	R4,f?543
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	MOV  	R1,#020H
	MOV  	R0,#041H
	SJMP 	?C0057
?C0035:
; 						else if(f<1000000)
			; SOURCE LINE # 135
	MOV  	R7,#00H
	MOV  	R6,#024H
	MOV  	R5,#074H
	MOV  	R4,#049H
	MOV  	R3,f?543+03H
	MOV  	R2,f?543+02H
	MOV  	R1,f?543+01H
	MOV  	R0,f?543
	LCALL	?C?FPCMP3
	MOV  	R7,f?543+03H
	MOV  	R6,f?543+02H
	MOV  	R5,f?543+01H
	MOV  	R4,f?543
	CLR  	A
	MOV  	R3,A
	MOV  	R2,A
	JNC  	?C0037
; 							{f=f/100;flag_KHz=1;}
			; SOURCE LINE # 136
	MOV  	R1,#0C8H
	MOV  	R0,#042H
	SJMP 	?C0054
?C0037:
; 						else
; 							{f=f/1000;flag_KHz=1;}
			; SOURCE LINE # 138
	MOV  	R1,#07AH
	MOV  	R0,#044H
?C0054:
?C0057:
	LCALL	?C?FPDIV
	MOV  	f?543+03H,R7
	MOV  	f?543+02H,R6
	MOV  	f?543+01H,R5
	MOV  	f?543,R4
	SETB 	flag_KHz
?C0032:
; 						TMPA=(unsigned long)f;
			; SOURCE LINE # 139
	MOV  	R7,f?543+03H
	MOV  	R6,f?543+02H
	MOV  	R5,f?543+01H
	MOV  	R4,f?543
	LCALL	?C?CASTF
	MOV  	TMPA?540+03H,R7
	MOV  	TMPA?540+02H,R6
	MOV  	TMPA?540+01H,R5
	MOV  	TMPA?540,R4
; 						DISPBUF1=TMPA/1000;
			; SOURCE LINE # 140
	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 # 141
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	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 # 142
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	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 # 143
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 					}
			; SOURCE LINE # 144
?C0030:
; 					flag_over0=0;
			; SOURCE LINE # 145
	CLR  	flag_over0
; 					EX0=1;
			; SOURCE LINE # 146
	SETB 	EX0
; 				}
			; SOURCE LINE # 147
?C0029:
; 				if(keynum>1)
			; SOURCE LINE # 148
	MOV  	A,keynum
	SETB 	C
	SUBB 	A,#01H
	JNC  	$ + 5H
	LJMP 	?C0039
; 					if(flag_over1)
			; SOURCE LINE # 149
	JB   	flag_over1,$ + 6H
	LJMP 	?C0039
; 					{
			; SOURCE LINE # 150
; 						flag_over1=0;
			; SOURCE LINE # 151
	CLR  	flag_over1
; 						P1=BUFTH1*256+BUFTL1+BUFn1*65536;
			; SOURCE LINE # 152
	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?542+03H,R7
	MOV  	P1?542+02H,R6
	MOV  	P1?542+01H,R5
	MOV  	P1?542,A
; 						p=P1*1800/P0;
			; SOURCE LINE # 153
	CLR  	A
	MOV  	R7,#08H
	MOV  	R6,#07H
	MOV  	R5,A
	MOV  	R3,P1?542+03H
	MOV  	R2,P1?542+02H
	MOV  	R1,P1?542+01H
	MOV  	R0,P1?542
	LCALL	?C?LMUL
	MOV  	R3,P0?541+03H
	MOV  	R2,P0?541+02H
	MOV  	R1,P0?541+01H
	MOV  	R0,P0?541
	LCALL	?C?ULDIV
	CLR  	A
	LCALL	?C?FCASTL
;---- Variable 'p?544' assigned to Register 'R4/R5/R6/R7' ----
; 											
; 						TMPA=(unsigned long)p;
			; SOURCE LINE # 155
	LCALL	?C?CASTF
	MOV  	TMPA?540+03H,R7
	MOV  	TMPA?540+02H,R6
	MOV  	TMPA?540+01H,R5
	MOV  	TMPA?540,R4
; 						DISPBUF1=TMPA/1000;
			; SOURCE LINE # 156
	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 # 157
	CLR  	A
	MOV  	R3,#0E8H
	MOV  	R2,#03H
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	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 # 158
	CLR  	A
	MOV  	R3,#064H
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	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 # 159
	CLR  	A
	MOV  	R3,#0AH
	MOV  	R2,A
	MOV  	R1,A
	MOV  	R0,A
	MOV  	R7,TMPA?540+03H
	MOV  	R6,TMPA?540+02H
	MOV  	R5,TMPA?540+01H
	MOV  	R4,TMPA?540
	LCALL	?C?ULDIV
	MOV  	R7,AR3
	MOV  	DISPBUF4,R7
; 					}
			; SOURCE LINE # 160
?C0039:
; 			TIME0_5S_count=0;
			; SOURCE LINE # 161
	CLR  	A
	MOV  	TIME0_5S_count,A
; 			}
			; SOURCE LINE # 162
?C0028:
; 			display();
			; SOURCE LINE # 163
	LCALL	display
; 			if(keynum==1)	
			; SOURCE LINE # 164
	MOV  	A,keynum
	XRL  	A,#01H
	JZ   	$ + 5H
	LJMP 	?C0026
; 				if(flag_KHz)
			; SOURCE LINE # 165
	JB   	flag_KHz,$ + 6H
	LJMP 	?C0026
; 					{flag1s=0;EX0=0;TMOD=0X15;}  
			; SOURCE LINE # 166
	CLR  	flag1s
	CLR  	EX0
	MOV  	TMOD,#015H
; 		}
			; SOURCE LINE # 167
	LJMP 	?C0026
; END OF main

; 	}	  
; }
; //////////////////////////////////////
; void mDelay(unsigned int Delay)	

	RSEG  ?PR?_mDelay?TEST_INT0
L?0058:
	USING	0
L?0059:
	MOVX 	@DPTR,A
	MOV  	R7,#01H
	MOV  	R6,#00H
_mDelay:
	USING	0
			; SOURCE LINE # 171
;---- Variable 'Delay?645' assigned to Register 'R6/R7' ----
; {	unsigned int i;
			; SOURCE LINE # 172
; 	for(;Delay>0;Delay--)
			; SOURCE LINE # 173
?C0044:
	SETB 	C
	MOV  	A,R7
	SUBB 	A,#00H
	MOV  	A,R6
	SUBB 	A,#00H
	JC   	?C0050
; 	{	for(i=0;i<124;i++)
			; SOURCE LINE # 174
;---- Variable 'i?646' assigned to Register 'R4/R5' ----
	CLR  	A
	MOV  	R5,A
	MOV  	R4,A
?C0047:
; 		{;}
			; SOURCE LINE # 175
	INC  	R5
	CJNE 	R5,#00H,?C0052
	INC  	R4
?C0052:
	MOV  	A,R5
	XRL  	A,#07CH
	ORL  	A,R4
	JNZ  	?C0047
; 	}
			; SOURCE LINE # 176
?C0046:
	MOV  	A,R7
	DEC  	R7
	JNZ  	?C0044
	DEC  	R6
?C0053:
	SJMP 	?C0044
; }
			; SOURCE LINE # 177
?C0050:
	RET  	
; END OF _mDelay

; /////////////////////////////////////
; void display(void)

	RSEG  ?PR?display?TEST_INT0
display:
	USING	0
			; SOURCE LINE # 179
; {
			; SOURCE LINE # 180
;   DPTR=(DISPBUF1|0X70);
			; SOURCE LINE # 181
	MOV  	A,DISPBUF1
	ORL  	A,#070H
	MOV  	DPTR,#06000H
;   mDelay(1);
			; SOURCE LINE # 182
	LCALL	L?0058
;   DPTR=(DISPBUF2|0Xb0);
			; SOURCE LINE # 183
	MOV  	A,DISPBUF2
	ORL  	A,#0B0H
;   mDelay(1);
			; SOURCE LINE # 184
	LCALL	L?0058
;   DPTR=(DISPBUF3|0Xd0);
			; SOURCE LINE # 185
	MOV  	A,DISPBUF3
	ORL  	A,#0D0H
;   mDelay(1);
			; SOURCE LINE # 186
	LCALL	L?0059
;   DPTR=(DISPBUF4|0Xe0);
			; SOURCE LINE # 187
	MOV  	A,DISPBUF4
	ORL  	A,#0E0H
;   mDelay(1);
			; SOURCE LINE # 188
	LCALL	L?0059
;   DPTR=0Xf0;
			; SOURCE LINE # 189
	MOV  	A,#0F0H
	MOVX 	@DPTR,A
;   mDelay(1);
			; SOURCE LINE # 190
	MOV  	R7,#01H
	MOV  	R6,#00H
	LJMP 	_mDelay
; END OF display

	END

⌨️ 快捷键说明

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