51单片机延时函数的问题。晶振是12MHz..需要延时1秒
51单片机延时函数的问题。晶振是12MHz..需要延时1秒
日期:2017-09-15 16:27:42 人气:2
很简单, for循环也是需要时间的.
当你使用仿真的时候,通常可以在编译器里面查看这段代码的汇编指令.
你可以看书它的用到了多少个汇编指令, 然后在你的芯片手册上查询,每一个汇编指令执行需要多少个最小指令周期. 最小指令周期才是你说的1um, 全部加起来, 你就知道你这句话用掉了多少个最小指令.
很明显 远远超过了1个最小指令.9秒的的误差算少的了...
所以说,假如你要做1s的延迟, 最好使用内部时钟中断来做,直接在程序内部delay延时的话,占用系统资源还算不准...
具体解释下上图, 为了拿