求助, 如何在51系统上实现长时间的精确延时?

2020-01-27 11:31发布

大家好,我有一个数据采集监控的设备, 用STC 12C5A60实现的, 主循环里面我自己做了一个任务调度的机制, 在主循环里跑 采集数据到内存缓冲区/ 更新LCD显示 这两个任务, 同时通过一个外部中断输入用来触发MCU进行数据采集, 现在的需求是我需要每隔5分钟周期(具体周期多长需要能够配置)进行数据上报(通过GPRS完成), 可是板上资源没有实时时钟可以用, 大家觉得这种情况下如何实现相对比较精确的定时任务?

我现在想到的是通过片内的定时器做成每隔比如10ms中断一次, 设置一个unsigned long的计数器变量, 在定时器中断里面每次将变量+1, 然后判断是否达到5分钟周期.

用这种方案的话精度怎么样, 能做到多少?  有更好实现方式的麻烦指点一下, 谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。