永发信息网

单片机晶振频率为12MHZ,请问下面的这个程序为什么能实现1ms的延时

答案:4  悬赏:10  手机版
解决时间 2021-02-06 04:26
  • 提问者网友:流星是天使的眼泪
  • 2021-02-05 13:16
单片机晶振频率为12MHZ,请问下面的这个程序为什么能实现1ms的延时
最佳答案
  • 五星知识达人网友:雾月
  • 2021-02-05 13:54
逐条分析哦, 第四行,两个FOR 语句,相当于变量J 加一 重复了305次,每次重复一次,都要判断是否超过了条件,这样呢,就相当于使用了 单片机的 两个指令周期。
我们知道,一个指令周期 是 6和机器周期 ,由此,可以大概的 做到 延时,但具体延时的 长度 和精确性,就有第三行的 FOR 来确定。
全部回答
  • 1楼网友:胯下狙击手
  • 2021-02-05 16:36
一条c语言的语句大概执行一段时间(具体多长时间我就不知道了,可以查下资料),一共会执行多少次语句,就能算出延时多长时间
  • 2楼网友:你可爱的野爹
  • 2021-02-05 15:06
你可以在51编译器里跑一下你的这段程序,看看是多少ms。
  • 3楼网友:北方的南先生
  • 2021-02-05 14:20
这个程序不一定能实现1ms延时,这种循环延时与单片机有关,不同的单片机是不一样的。
还与编译器有关,不同的编译器编译出来的结果是不一样的。
还与编译器的设置有关,比如代码优化方式设置,同一种编译器不同的设置方式也是不一样的。
还与程序执行的过程有关,比如程序在延时的过程中经常进中断,也会使延时不准确。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯