微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求各位大神告诉我这个延迟时间是怎么算的?

求各位大神告诉我这个延迟时间是怎么算的?

时间:10-02 整理:3721RD 点击:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED = P1^0;
void DelayMS(uint x)
{
  uchar i;
while(x--)
{
   for(i=120;i>0;i--);
}
}
void main()
{
  while(1)
{
   LED = ~LED;
  DelayMS(100);
}
}
这个延迟时间具体是怎么算的?

粗略地计算为X ms,我是新人,也不知道对不对!

方法: 开个定时器,在函数调用前运行定时器,在函数调用后关闭定时器。通过计算定时器时间来知道调用时间。是不是比数汇编简单啊?
注意,一定要1、2、3、4……这样都试试,然后记录在一张表里面。这就是你对应硬件的测试数据。

可以用keil自带的模拟仿真去计算delay的时间

调试的时候 左边有个second ,设置断点 就可以看延时了吧,刚学会

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top