Proteus仿真keil测频率不准

在用Proteus8仿真keil编写的AT89C51的时候
用单片机定时器定时一个100KHz的方波,占空比就是50%

#include
sbit P1_0=P1^0;
void main()
{
    TMOD=0x01;
    TH0=(65536-5)/256;    
    TL0=(65536-5)%256;
    EA=1;
    ET0=1;
    TR0=1;
    while(1);
}
void time0_int(void) interrupt 1
{
    TH0=(65536-5)/256;    
    TL0=(65536-5)%256;
    P1_0 = ~P1_0;
}

然后采用Proteus仿真,发现频率不太对劲

img


而后我把频率调到100Hz,发现没有偏差,想问一下为什么这个频率越大(周期越小)偏差越大

当然是性能要求越高,偏差就越大了
多大的成本就干多大的活
你看你定时器TH0,TL0的装入值(65536-5),仅剩下5个时钟了,5个时钟你还想要什么精度