2347|13

48

帖子

0

TA的资源

一粒金砂(中级)

求分解 [复制链接]

 
Wait 1ms                MOVLW      61                              SUBWF      TMR0 ,W
                               BTFSS       STATUS,C
                              GOTO        Wait 1ms
                               CLRF         TMR0
                               RETLW      0


1ms 是如何延时的?
此帖出自编程基础论坛

最新回复

嗯哼?问题还没解决?怎么又被推了上来?  详情 回复 发表于 2019-2-13 23:00

回复
举报

721

帖子

1

TA的资源

一粒金砂(高级)

这是PIC的汇编指令,明白指令的意思就明白什么意思了。
此帖出自编程基础论坛

回复

6366

帖子

4937

TA的资源

版主

占用CPU运行时间的延时,一般都是用一个变量连续加或者连续减,直到这个变量达到设定值时,就达到了延时目的
此帖出自编程基础论坛

回复

48

帖子

0

TA的资源

一粒金砂(中级)

tiankai001 发表于 2019-1-18 11:01
占用CPU运行时间的延时,一般都是用一个变量连续加或者连续减,直到这个变量达到设定值时,就达到了延时目 ...

是这个意思,我想知到这个初值怎么计算?这里是1MS,初值61,要是5ms呢?
此帖出自编程基础论坛

回复

6366

帖子

4937

TA的资源

版主

小白求科普 发表于 2019-1-18 14:27
是这个意思,我想知到这个初值怎么计算?这里是1MS,初值61,要是5ms呢?

这个要看延时这几句话里面有几条指令,每条指令的时钟周期分别是多少,然后计算出总共多少个时钟周期,根据主频算出延时时长,最后就是倍数的关系了,
此帖出自编程基础论坛

回复

48

帖子

0

TA的资源

一粒金砂(中级)

tiankai001 发表于 2019-1-18 14:37
这个要看延时这几句话里面有几条指令,每条指令的时钟周期分别是多少,然后计算出总共多少个时钟周期,根 ...

非常感谢
此帖出自编程基础论坛

回复

48

帖子

0

TA的资源

一粒金砂(中级)

tiankai001 发表于 2019-1-18 14:37
这个要看延时这几句话里面有几条指令,每条指令的时钟周期分别是多少,然后计算出总共多少个时钟周期,根 ...

我查了下datasheet,除了GOTO、RETLW为2个周期,BTFSS跳转时为2个周期,不跳为1个,其他都是1个周期,4MHZ,分频比1:16,则有  (5ms*60+7ms)*16=4912,不只1ms了。。。。。。
此帖出自编程基础论坛

回复

48

帖子

0

TA的资源

一粒金砂(中级)

小白求科普 发表于 2019-1-18 15:06
我查了下datasheet,除了GOTO、RETLW为2个周期,BTFSS跳转时为2个周期,不跳为1个,其他都是1个周期,4MH ...

应该是5us,7us,写错了
此帖出自编程基础论坛

回复

6366

帖子

4937

TA的资源

版主

小白求科普 发表于 2019-1-18 15:10
应该是5us,7us,写错了

你的时钟是4M,然后16分频,你计算的时候直接乘16不对吧
此帖出自编程基础论坛

回复

48

帖子

0

TA的资源

一粒金砂(中级)

tiankai001 发表于 2019-1-18 16:24
你的时钟是4M,然后16分频,你计算的时候直接乘16不对吧

我觉得不理解
此帖出自编程基础论坛

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

既然是汇编,那就直接数执行周期吧。绝对精准,不需要怀疑,只要你没理解错执行的指令。当然,最靠谱的方法是用示波器或者逻辑分析仪实际量一下,方法是用一个IO翻转,个人推荐逻辑分析仪,便宜且好用。
此帖出自编程基础论坛

回复

7815

帖子

57

TA的资源

裸片初长成(中级)


PIC应该是单周期指令吧?
就是说一条指令如果是一个执行周期,就是一个机器时钟。
你4M主频,16分频,相当于 4M/16 就是你的一个机器时钟周期。
此帖出自编程基础论坛
个人签名

强者为尊,弱者,死无葬身之地


回复

48

帖子

0

TA的资源

一粒金砂(中级)

辛昕 发表于 2019-1-21 23:38
PIC应该是单周期指令吧?
就是说一条指令如果是一个执行周期,就是一个机器时钟。
你4M主频,16分频, ...

刚开始学,分不清楚
此帖出自编程基础论坛

回复

7815

帖子

57

TA的资源

裸片初长成(中级)

嗯哼?问题还没解决?怎么又被推了上来?
此帖出自编程基础论坛

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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

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

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

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