首先设置频率
第一步
第二步,点击Target,设置频率,之后确定
代码设置
我的定时时间
TH0 = (65536-922)/256; //为T0赋初值,定时1ms
TL0 = (65536-922)%256;
进入调试
第一步
第二步,进行复位,清除起始点,使程序从第一步运行
-------------------------------------------------------------------------可跳过-----------------------------------------------------------------------
若是不清除,程序则会从黄标位置开始
黄标位置为可设置的起始点
选择自己需要开始的程序位置,点击右键,选择Set Program Counter,设置自己需要的起点
-------------------------------------------------------------------------可跳过-----------------------------------------------------------------------
第三步,设置终止点,选择1s结束位置
选择自己需要开始的程序位置,点击右键,选择Insert/Remove Breakpoint,设置自己需要的终点。也可双击设置或者取消
效果如图
运行进行调试
第一步,点击运行
第二步,查看时间,单位s
设置的是需要的是1s运行到终点位置,如今多了,则需要进行调整。
第三步,计算调整代码
发现,多了0.0124s,多的值是经过1000次累加之后的,也就是每一次多了0.0124ms
晶振频率选择的11.0592MHz
一个机器周期的时间为: a=12/11059200 s
经 1/a=922 个机器周期到 1ms
但此时每过 1ms 便多出 0.0124ms
故需要减少 0.0124*922≈11 个机器周期,才能减少误差
故调整后需要 922-11=911 个机器周期
代码调整为
TH0 = (65536-911)/256; //为T0赋初值,定时1ms
TL0 = (65536-911)%256;
此时的时间变为如图所示,误差大大减小。