我认为有两种可能导致,不知道你指的不准是哪种,需要你再进行详细的描述
1.固有的误差,采用定时器本来就有误差,再加上晶振选择不当的话,误差会更大,这个可以通过选择合适的晶振即可解决。因为你设计的是交通灯,最大定时也就100多秒,不大可能是固定误差累计导致的不准。
2.程序设计不合理导致的,倾向于这个。由于按键和显示的延时放在while循环中,按键扫描或显示中的delay延时导致产生了误差。