找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1636|回复: 1
打印 上一主题 下一主题
收起左侧

延时编码求助!!!如何添加??

[复制链接]
楼主
ID:149988 发表于 2017-6-17 08:18 | 显示全部楼层

RE: 延时编码求助!!!如何添加??

程序中NOP都起延时作用,但是延时时间很短,下面一段子程序延时时间较长,R7和R6装载数据越大延时时间越长。哪里需要延时,将此子程序在哪里调用即可。具体延时时间计算和延时原理见课本。
       ......
delay:                        ;延时子程序
       MOV  R7,#30H     ;设置R7=20H
L1:  MOV  R6,#0FFH    ;设置R6=FFH
       DJNZ R6,$            ;若R6-1≠0,执行本指令循环,若R6-1=0,执行下一指令
       DJNZ R7,L1           ;若R7-1≠0,执行L2循环,若R7-1=0,执行下一指令
       RET
       ......
如所列举程序中一段程序。
START1:
    NOP
    NOP
    MOV AL,0        ;从PA端口读入开关状态
    MOV DX,IOA
    IN  AL,DX
    NOP
    NOP
    MOV DX,IOB      ;从PB端口输出,控制LED亮灭
    OUT DX,AL
如果延时时间很长,将两个NOP删除,换上ACALL  delay 如:
START1:
    ACALL  delay
    MOV AL,0        ;从PA端口读入开关状态
    MOV DX,IOA
    IN  AL,DX
    ACALL  delay
    MOV DX,IOB      ;从PB端口输出,控制LED亮灭
    OUT DX,AL
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表