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

📄 pic-延时程序集.txt

📁 PIC汇编各个时间延时小程序
💻 TXT
字号:
PIC-延时程序集
;********************************************************** 
; 脉冲延时程序
;**********************************************************
DELAY
  MOVLW  1FH     ;CLK时序廷时
  MOVWF  F7
  DECFSZ F7 ,1
  GOTO $-1
  RETURN
;********************************************************** 
; 1MS延时程序
;********************************************************** 
DELAY1MS:

 	MOVLW 	02H 
	MOVWF 	20H 
LOOP2: 
	MOVLW 	0A5H 
	MOVWF 	21H 
LOOP1:
 	DECFSZ 	21H,F 
	GOTO 	LOOP1 
	DECFSZ 	20H,F 
	GOTO 	LOOP2 
	RETURN 
;实际测试为1003us

;********************************************************** 
; 10MS延时程序
;********************************************************** 
DELAY10MS:
 	MOVLW 	0eH 
	MOVWF 	20H
LOOP2: 
	MOVLW 	0EDH 
	MOVWF 	21H 
LOOP1: 
	DECFSZ 	21H,F 
	GOTO 	LOOP1 
	DECFSZ 	20H,F 
	GOTO 	LOOP2 
	RETURN 
;实际测试为10.017ms

;********************************************************** 
; 100MS延时程序
;********************************************************** 
DELAY100MS:

 	MOVLW 	90H 
	MOVWF 	20H
LOOP2: 
	MOVLW 	0E7H 
	MOVWF 	21H 
LOOP1: 
	DECFSZ 	21H,F 
	GOTO 	LOOP1 
	DECFSZ 	20H,F 
	GOTO 	LOOP2 
	RETURN 
;实际测试为100.375ms


;********************************************************** 
; 5MS延时程序
;********************************************************** 
DELAY5MS:

 	MOVLW 	07H 
	MOVWF 	20H
LOOP2: 
	MOVLW 	0EDH 
	MOVWF 	21H 
LOOP1: 
	DECFSZ 	21H,F 
	GOTO 	LOOP1 
	DECFSZ 	20H,F 
	GOTO 	LOOP2 
	RETURN 
;实际测试为5.012ms

;********************************************************** 
; 50MS延时程序
;********************************************************** 
DELAY50MS:
 	MOVLW 	48H 
	MOVWF 	20H
LOOP2: 
	MOVLW 	0E6H 
	MOVWF 	21H 
LOOP1: 
	DECFSZ 	21H,F 
	GOTO 	LOOP1 
	DECFSZ 	20H,F 
	GOTO 	LOOP2 
	RETURN 
;实际测试为49.975ms

;********************************************************** 
; 500MS延时程序
;********************************************************** 

DELAY500MS: 
	MOVLW 	03H 	
	MOVWF 	20H 	
LP11: 
	MOVLW 	0EBH 	 
	MOVWF 	21H 	
LP21: 
	MOVLW 	0EBH 	 
	MOVWF 	22H 	
LP31: 
	DECFSZ 	22H 	
	GOTO 	LP31 	 
	DECFSZ 	21H 	 
	GOTO 	LP21 	
	DECFSZ 	20H 	 
	GOTO 	LP11 	 
	RETURN 
实际测试为 499.864 ms

;********************************************************** 
; 1S延时程序
;********************************************************** 
DELAY1S: 
	MOVLW 	03H 	
	MOVWF 	20H 	
LP11: 
	MOVLW 	0EBH 	 
	MOVWF 	21H 	
LP21: 
	MOVLW 	0ECH 	 
	MOVWF 	22H 	
LP31: 
	DECFSZ 	22H 	
	GOTO 	LP31 	 
	DECFSZ 	21H 	 
	GOTO 	LP21 	
	DECFSZ 	20H 	 
	GOTO 	LP11 	 
	RETURN  
;实际测试为1.003秒

;********************************************************** 
; 延时程序
;********************************************************** 

DELAY: 
	MOVLW 	0FFH 	;将外层循环参数值FFH经过W 
	MOVWF 	20H 	;送入用作外循环变量的20H单元
LP0: 
	MOVLW 	0FFH 	;将内层循环参数值FFH经过W 
	MOVWF 	21H 	;送入用作内循环变量的21H单元
LP1: 
	DECFSZ 	21H,1 	;变量21H内容递减,若为0跳跃 
	GOTO 	LP1 	;跳转到LP1处 
	DECFSZ 	20H,1 	;变量20H内容递减,若为0跳跃 
	GOTO 	LP0 	;跳跃到LP0处 
	RETURN 		;返回主程序
;实际测试为196.1ms

;********************************************************** 
; 10US延时程序
;********************************************************** 
DELAY10US
 	NOP 
	NOP 
	NOP 
	NOP 
	RETURN
;实际测试为10us

⌨️ 快捷键说明

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