求各位大神告诉我这个延迟时间是怎么算的?
时间: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);
}
}
这个延迟时间具体是怎么算的?
#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 ,设置断点 就可以看延时了吧,刚学会