Puppy 发表于 2023-4-18 16:57:35

STC8G 延时计算问题


Puppy 发表于 2023-4-18 16:58:37

如图所示,按照ISP中的软件延时算出来的1500ms延时实际在软件中只有1250ms左右的延时,这个差距是什么原因求大佬解答

神农鼎 发表于 2023-4-18 17:15:44




void Delay1500ms()                //@22.1184MHz
{
        unsigned char i, j, k;

        _nop_();
        i = 169;
        j = 80;
        k = 87;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}


乘风飞扬 发表于 2023-4-18 18:40:48

Puppy 发表于 2023-4-18 16:58
如图所示,按照ISP中的软件延时算出来的1500ms延时实际在软件中只有1250ms左右的延时,这个差距是什么原因 ...

实际软件中是指软件模拟仿真时keil计算出来的结果吗?



软件模拟仿真需要在keil里面设置好主频:


建议用硬件方法测量延时时间,在主循环里延时后加一个IO口翻转,通过示波器测量IO口高/低电平时间就知道实际的延时时间。

梁工 发表于 2023-4-28 15:38:05

请将程序下载到MCU运行测试,
IO = 1;
Delay();
IO = 0;
示波器测量IO高电平就是延时时间。

神农鼎 发表于 2023-4-28 17:51:56

这个用户选择,LARGE,SMALL 是有差异的, 忘了这个区别了
页: [1]
查看完整版本: STC8G 延时计算问题