51单片机延迟程序(汇编语言)解析

DLY1S:MOV35H,#255MOV36H,#0MOV37H,#4DLYB:NOPDJNZ35H,DLYBDJNZ36H,DLYBDJNZ37H,DLYBRET在这个... DLY1S: MOV 35H, #255
MOV 36H, #0
MOV 37H,#4
DLYB: NOP
DJNZ 35H, DLYB
DJNZ 36H, DLYB
DJNZ 37H,DLYB
RET
在这个程序中36H被赋值为0,那减1循环能实现不??假设采用12M晶振,则整个定时程序定时为多少??
展开
 我来答
superwolfsc
2010-05-05 · TA获得超过1129个赞
知道小有建树答主
回答量:225
采纳率:100%
帮助的人:413万
展开全部
DJNZ指令是先减一再判断结果是不是为0,所以36H赋值0是可以的,标识要循环256次.

延时计算:
12M的晶振换算指令周期为1uS

MDLY1S: MOV 35H, #255 ;2uS
MOV 36H, #0 ;2uS
MOV 37H,#4 ;2uS
DLYB: NOP ;1us
DJNZ 35H, DLYB ;2us,第一次循环为255*(1+2)=765,以
;后为256*(1+2)=768
DJNZ 36H, DLYB ;2us 765+(255*768)+(2*256)=197119
DJNZ 37H,DLYB ;2us 197119+(197122*3)+(2*4)=788493
RET ;2us

所以,从进入函数开始到返回调用地址总的延时时间为: 2+2+2+788493+2 = 788501us
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32是一种32位的微控制器,由意法半导体(STMicroelectronics)公司设计和生产。STM32是一种非常常见的嵌入式系统芯片,广泛应用于物联网、汽车、工业控制、医疗设备等领域。STM32具有以下特点:1. 体积小巧:STM... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
majie209
2010-05-05
知道答主
回答量:7
采纳率:0%
帮助的人:3.8万
展开全部
DLYB: NOP
DJNZ 35H, DLYB
35H中为255这块会执行255次 每次三个机器周期
3us
DLYB: NOP
DJNZ 35H, DLYB
DJNZ 36H, DLYB;他会执行256次且每次都包含上一层循环,但是此次的上层循环每次执行的是256次而不是255次因为他是从0开始减的。0-1=255;
DJNZ 37H,DLYB这句执行四次,每次又将前面的两层循环包含在里面
所以粗略的计算延时总计为:3*256*256*4=786432us 也就是大概787毫秒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
忧明00
2010-05-05 · TA获得超过400个赞
知道小有建树答主
回答量:418
采纳率:0%
帮助的人:281万
展开全部
减一循环能实现,12M晶振定时为788493uS,我是在keil上试的一下哈,我也不会算这个时间,不记得每条指令需要的始终周期了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
检妤eh
2010-05-05
知道答主
回答量:39
采纳率:0%
帮助的人:9.6万
展开全部
whju hja
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
夫湛板姣
2019-05-09 · TA获得超过3765个赞
知道大有可为答主
回答量:3126
采纳率:34%
帮助的人:173万
展开全部
DJNZ指令是先减一再判断结果是不是为0,所以36H赋值0是可以的,标识要循环256次.
延时计算:
12M的晶振换算指令周期为1uS
MDLY1S:
MOV
35H,
#255
;2uS
MOV
36H,
#0
;2uS
MOV
37H,#4
;2uS
DLYB:
NOP
;1us
DJNZ
35H,
DLYB
;2us,第一次循环为255*(1+2)=765,以
;后为256*(1+2)=768
DJNZ
36H,
DLYB
;2us
765+(255*768)+(2*256)=197119
DJNZ
37H,DLYB
;2us
197119+(197122*3)+(2*4)=788493
RET
;2us
所以,从进入函数开始到返回调用地址总的延时时间为:
2+2+2+788493+2
=
788501us
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式