永发信息网

51单片机怎么理解这句话? 延时1ms (3j+2)*i=(3×33+2)×10=1010(微秒)

答案:2  悬赏:60  手机版
解决时间 2021-03-23 01:28
51单片机怎么理解这句话? 延时1ms (3j+2)*i=(3×33+2)×10=1010(微秒)
最佳答案
程序中 j 循环 执行了33次,注释中的计算数据 是 3j+2,for 循环中,只有第一句 j=0 被执行一次,判断条件 j<33 及 增量 j++ 均执行了 33次,那么 公式中 的 加2 就是 j=0 的执行时间。
从 注释 的计算中得知,计算单位为 us,赋值语句(j=0)只算了 2个单位(us),可知 单片机机械周期(指令周期)为 1us;
根据 单片机 指令周期时间 ,赋值语句 (等号) Td 占 2个机械周期(2us),自增/自减 语句 Tz 占 1个机械周期(1us),判断语句(>、<、==等)Tp 占 2个机械周期(2us);
在 本程序中,j 的 for循环 赋值语句 执行 1 次(共 Td ×1=2us),自增语句 及 判断语句 均执行 了33 次(共(Tz+Tp)×33=3us×33),j 循环总和为 (Tz+Tp)×j+Td=3j+2=3×33+2;
i for 循环 则决定了 j 循环的次数,初略计算 可以 使用 (3j+2)×i,精确计算 还得考虑 i 的 Td 也=2us,i 的 (Tz+Tp)×10 也=3×10=30us,也就是说,i 循环本身 总时间是 3i+2 =32us。
综上,实际 总时间 是 3i+2+(3j+2)×i=1042us
全部回答
你的外部时钟是12mhz的吗?对于大部分指令, 执行时间为一个机器周期, 即12个时钟周期。举个例子, 如果是12mhz的话, 相当于一条指令的执行时间为12*(1/12mhz)即1us。你把它带到你的延迟函数就明白是延迟多久了追问谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金立185手机桌面有精品应用怎么删除文件
天空为什么会出现彩虹?
—You stop me. —Even if you it, I wont al
长脸适合什么样的龙须
妻子拒绝同房违法吗
小丹冲地址在哪,我要去那里办事
庚金带煞,刚健为最,得水而清,得火而锐,土
关于月圆的诗词,花满酒满?月圆人不圆?是哪
EVE里获得T2图纸的途径有多少 具体些
【成本会计】求大神帮帮忙!!
1元钱买4分一张和8分一张的邮票共20张,应买4
鱼缸50w加热棒能最多加热几升水
道路运输许可证里面两年没有车了还能添新车吗
谁是第一个发明汽车的人
有一种声音,含有点儿挑逗和笑意,这种声音如
推荐资讯
什么动物五根脚趾,这只脚掌是什么动物的。
临河最好的婚纱摄影
我15岁,读初三,我喜欢我们班一个男的,他算
单选题下列因素中不属于对环境人口容量影响较
toto马桶的售后维修费用是多少
美国本土汽车排量是不是都在3.0以上
Here's one very simple yet potentially lif
你好,请问有pudn的免费下载账号,帮忙下载一
下图是欧洲西部农业生产值分布示意图,回答以
车辆违章了,求教违反什么禁令指示
ensure......against ensure from..... 分别
厕所文明标语大全集,比如洗手间,厕所文明标
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?