中易网

如何用C语言对单片机进行精确延时?

答案:2  悬赏:40  
解决时间 2021-10-17 18:51
  • 提问者网友:贪了杯
  • 2021-10-17 02:58
如何用C语言对单片机进行精确延时?
最佳答案
  • 二级知识专家网友:逐風
  • 2021-10-17 04:33
用 定时器/计数器 实现, 给定时器 寄存器设个初值, 选个工作方式,

时间一到 溢出 产生中断, 在中断 子程序中 调用串口 可以输出延时的时间.

至于初值 设为多少, 那就要看你到底定时多少了.

12M晶震 的机器周期 是 1us
自己算酸

分单字节单周期指令, 双字节单周期指令, 单字节双周期指令.

单片机在执行 指令时 首先要取指令和执行指令2步.

单周期指令的执行时间 为一个机器周期.
比如:
如果想要知道 for(;;)这个循怀 到底用了多长时间来执行. 那么你可以 查编译器 这条语句所对应的 操作码和操作数. 然后再区分其到底是什么类型的指令.最后把时间加加 就可以了  .
全部回答
  • 1楼网友:骨子里都是戏
  • 2021-10-17 05:16
用 定时器/计数器 实现, 给定时器 寄存器设个初值, 选个工作方式, 时间一到 溢出 产生中断, 在中断 子程序中 调用串口 可以输出延时的时间. 至于初值 设为多少, 那就要看你到底定时多少了. 12M晶震 的机器周期 是 1us 自己算酸 分单字节单周期指令, 双字节单周期指令, 单字节双周期指令. 单片机在执行 指令时 首先要取指令和执行指令2步. 单周期指令的执行时间 为一个机器周期. 比如: 如果想要知道 for(;;)这个循怀 到底用了多长时间来执行. 那么你可以 查编译器 这条语句所对应的 操作码和操作数. 然后再区分其到底是什么类型的指令.最后把时间加加 就可以了  . 0
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息