单片机延时计算程序源代码

源代码在线查看: ◆a51软件延时◆精确分析◆.txt

软件大小: 64 K
上传用户: lonelysnow
关键词: 单片机 延时计算 程序 源代码
下载地址: 免注册下载 普通下载 VIP

相关代码

				〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
				File:	◆A51软件延时◆精确分析◆.TXT		〓
				Time:	10:53-11:30                        	〓
				Date:	08-7-26 				〓
				Note:	MOV	Rn,#Data  为一个机器周期	〓
				〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
				
				MAIN:			     ;机器周期
					MOV	P1,#0FFH	;1'
					ACALL	DELAY		;2'
					MOV	P1,#00H		;1'	设置断点
					ACALL	DELAY		;2'
					MOV	P1,#0FFH	;1'	设置断点
				
				DELAY:
					MOV	R7,#20		;1'
				D1:	MOV	R6,#248		;1'
					DJNZ	R6,$		;2'	248*2=496
					DJNZ	R7,D1		;2'	2*20=40	  (496+1)*20=9940    9940+40=9980
					RET			;2'	9980+2+1+1+2=9986
					
					END			
				
				
				▲Keil C 测试结果:
				20(x)
				248(y)
				0.000 000 00
				0.009 987 00
				0.019 974 00   ◆0.009 987 00
				
				
				
				▲计算分析如下:
				延迟时间为:	(2*248+1)*20+2*20+2+1+1+2=9986	(包括ACALL 2')
						由于MOV	P1,#0FFH	1'
						故延迟时间为:	9986+1=9987
				
				
				
				----------------------------------------------------------------
				▲测试结论:
				延迟时间:	Delay_Time=(2*y+1)*x+2*x+6	(包括ACALL 2')	
				----------------------------------------------------------------
				
				
				
				------------------------------------
				▲程序代码:
				DELAY:
					MOV	R7,#x		
				D1:	MOV	R6,#y	
					DJNZ	R6,$			
					DJNZ	R7,D1			
					RET				
				
				
				
				-----------------------------------
				▲故延迟时间10ms的程序代码为:
				DELAY:
					MOV	R7,#38		
				D1:	MOV	R6,#130
					DJNZ	R6,$			
					DJNZ	R7,D1			
					RET				
					
				
				
				-----------------------------------
				▲故延迟时间1ms的程序代码为:
				DELAY:
					MOV	R7,#2		
				D1:	MOV	R6,#247	
					DJNZ	R6,$			
					DJNZ	R7,D1			
					RET	
							

相关资源