首页 理论教育 任务分析:解决精确时间问题的实现方法

任务分析:解决精确时间问题的实现方法

时间:2023-06-28 理论教育 版权反馈
【摘要】:根据任务描述,我们必须解决如下几个问题。二是时间准确性问题,“延时函数”一般只用在要求不高的场合,要实现精确的1s时间,需要花费很多精力去拼凑或计算。结论是:使用延时函数实现1s的延时,是低效率、不准确的做法,必须另谋出路。对比之下,使用硬件定时器无疑是一种飞跃。在熟悉发光二极管控制的基础上,数码管的显示其实是十分容易的。

任务分析:解决精确时间问题的实现方法

根据任务描述,我们必须解决如下几个问题。

1)如何产生精确的1s的时间,以实现每隔1s变换一次?

2)什么是数码管

3)如何让数码管显示数字0~9?

在前面章节中,我们使用“延时函数”来实现延时,其基本原理是单片机通过“数绵羊”的方式以消磨时间。使用“延时函数”势必带来两个很现实的问题:一是CPU效率问题,要实现1s的延时,CPU只能不断执行“空操作”指令,意味着CPU要“浪费”这段时间,而不能去处理其他“有意义”的事情,它浪费时间在“数绵羊”。二是时间准确性问题,“延时函数”一般只用在要求不高的场合,要实现精确的1s时间,需要花费很多精力去拼凑或计算。(www.xing528.com)

结论是:使用延时函数实现1s的延时,是低效率、不准确的做法,必须另谋出路。

使用“延时函数”实现延时的做法,可称为“软件延时法”。事实上,单片机内部集成了一个非常重要的部件----“硬件定时器”。通过合理配置,CPU只要告诉“定时器”要定时多长时间,然后启动它,之后CPU就可以去忙其他事情,等设定的时间到达时,定时器会报告时间到。对比之下,使用硬件定时器无疑是一种飞跃。

数码管本质上是发光二极管组成的具有一定形状的组合体,它把多个发光二极管的阳极或阴极连接在一起,形成公共端,另外一极独立控制,用户通过控制这些发光二极管的亮灭,从而使得数码管显示不同的符号。在熟悉发光二极管控制的基础上,数码管的显示其实是十分容易的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈