2450|1

72

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

用寄存器写延时8MS程序 [复制链接]

应用89C51,晶振12M 写延时8MS程序
4000=0FA0H 超出一个8位寄存器所能容纳的范围,所以使用两个寄存器R4、R3分别存放高字节0FH与低字节A0H,但在中断服务子程序中.当R4、R3=0101H,再减1,
则R4、R3=0100H,但实际上程序使R4、R3=0000H,即R4多减一次,所以R4的初始值应加1,
HTIME=OFH+1
HTIME  EQU   OFH+1
LTIME  EQU   0A0H
MAIN:  ORG    00H
        MOV    R4,HITME
        MOV    R3,LTIME
        DJNZ   R3,TIM2
        DJNZ   R4,TIM2
TIM2:  RETI
R3、R4设置的延时是怎样算呢????
DJNZ的机器周期为2,计算4000次即是4000*2=8000US  对吗??

最新回复

OK  详情 回复 发表于 2007-3-11 16:46
点赞 关注

回复
举报

54

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
OK
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表