首页 > 学院 > 开发设计 > 正文

PIC单片机实现x ms/1s钟精确延时

2019-11-06 07:45:39
字体:
来源:转载
供稿:网友

1、编写子程序DelayMS,实现延时x毫秒的功能,x由w寄存器中的值设定。

;**************DelayMS**************DelayMS ; 延时x毫秒,x由变量w寄存器设定 movwf L1 ;Loop1 movlw .39 ; movwf L2 ; Loop2 movlw .31 ; movwf L3 ; Loop3 nop ; decfsz L3, f ; goto Loop3 ; decfsz L2, f ; goto Loop2 ; decfsz L1, f ; goto Loop1 ; return ; ;------------------------------------------------------------------------------

2、编写子程序Delay1S,实现1秒钟的精确延时。

list p=16f877A ; 标明所用的处理器类型 #include <p16f877A.inc> ; 调用头文件 ;***** 变量声明*******************************************************L1 EQU 0x70 ;延时函数循环变量L2 EQU 0x71L3 EQU 0x72 ;********************************************************************** org 0x0000 ; 复位入口地址 ;--------------------------------Main的代码-------------------------------------main banksel TRISB; bcf TRISB, RB0; banksel PORTB;Loop bsf PORTB, RB0; movlw .100; call Delay1S; bcf PORTB, RB0; movlw .100; call Delay1S; goto Loop ; ;-----------------------------子函数-------------------------;**************Delay1S**************Delay1S ; 延时x毫秒,x由变量w寄存器设定 movwf L1 ;Loop1 movlw .200 ; movwf L2 ; Loop2 movlw .62 ; movwf L3 ; Loop3 nop ; decfsz L3, f ; goto Loop3 ; decfsz L2, f ; goto Loop2 ; decfsz L1, f ; goto Loop1 ; return ; ;----------------------------------------------------------------------END ; 程序结束
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表