在嵌入式和单片机系统中定时和计数是一个比较常见的应用,从本质上看定时和计数的原理是一致的,只不过是一个问题的两种不同表现形式而已。通常实现定时或计数的基本方法有3种。
1.完全硬件方式
在过去的许多仪器仪表或设备中,需要进行定时或外部计数时,经常会使用数字逻辑电路来实现,即完全用硬件电路实现计数和定时功能。该方式虽然电路响应较快,但如果要改变计数或定时要求,就必须改变电路参数,因此通用性和灵活性较差。当微型电子计算机出现以后,特别是随着单片机的发展与普及,这种完全以硬件方式实现定时与计数的方法已较少使用。
2.完全软件方式(www.xing528.com)
在计算机中,通过编程,利用计算机执行指令的时间实现定时,称为完全软件方式。在这种方式中,一般是根据所需要的时间常数来设计一个延时子程序,延时子程序中包含一定的指令,设计者要对这些指令的执行时间进行严密的计算或精确的测试,以便确定延时时间是否符合要求。这种方法的优点是节省硬件,主要缺点是在执行延时程序期间,CPU一直被占用,所以降低了CPU的效率,也不容易提供多作业环境;另外,设计延时子程序时,要用指令执行时间来拼凑延时时间,显得比较麻烦。不过,这种方法在实际应用中还是经常使用的。
3.可编程定时/计数器
利用专门的可编程定时/计数器实现计数与定时,克服了完全硬件方式与完全软件方式的缺点,综合了它们的优点,其计数和定时功能可由程序灵活设置,设定之后与CPU并行工作,不占用CPU的工作时间,在简单的软件控制下,即可产生准确的时间延时。这种方法的主要思路就是根据需要的定时时间,用指令对定时/计数器设置定时常数,并用指令启动定时/计数器开始计数,当计到确定值时,便自动产生一个定时输出。这种方式可大大提高CPU的利用率,在嵌入式应用系统中使用最广泛。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。