您的位置 首页 动态

PIC单片机完成延时x毫秒的功能设计

PIC单片机实现延时x毫秒的功能设计-DelayMS ; 延时x毫秒,x由变量w寄存器设定

movwf L1 ;

Loop1

movlw .39 ;

movwf L2 ;

Loop2

movlw .31 ;

movwf L3 ;

Loop3

nop ;

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 ; 调用头文件

;***** 变量声明*******************************************************

L1 EQU 0x70 ;延时函数循环变量

L2 EQU 0x71

L3 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 ; 程序完毕

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/dongtai/345072.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部