为了实现计时功能,有两种常见的方法。一种是在主循环中使用计时器,不在中断函数中使用计时器。这种方法适用于较长的计时间隔。具体实现方法是:在主循环中不断地读取计时器的值,当计时器的值达到所需的时间时,执行相应的任务。
另一种方法是使用另一个中断来实现计时功能,即所谓定时器中断。定时器中断可以在固定时间间隔内定期发生,然后在中断函数中执行计时相关的 *** 作。这种方法适用于需要较高精度的计时任务。但是,需要注意的是,定时器中断的频率不能太高,否则会影响程序的性能。
1、首先编写一段简单的代码,如下图所示,编辑一段简单的输出语句。
2、依次点击菜单栏内的编译→组建→执行,确保这段成率可以正确执行。
3、从运行结果来看程序正确,没有问题,然后找到exe可执行程序看其是否有闪退现象。
4、将C语言代码保存后打开代码所在的文件夹,该文件夹内有一个名为【Debug】的文件夹,exe可执行程序就在此文件夹内。
5、打开【Debug】文件夹内的exe可执行程序,未出现闪退,可清晰查看到程序运行结果。
单片机,采用定时中断方式2,是8位自动重载模式,用低8位寄存器计数定时,高8位保存计数初值。例如用定时器T0,则TL0计数,TH0保存初值。当TL0计数到FFH最大数,再计一个数就溢出,产生中断,单片机响应中断,执行中断程序。同时,TH0会自动把保存的初值送给TL0,那TL0立即重新开始计数定时。即单片机在执行中断程序的同时,新的定时是同时在进行的,不受程序的控制。但是,假如定时很短,而中断程序很长,执行中断程序的时间超过了定时的时间,那么T0定时会照样请求中断的,但因为单片机正在自己的前一个中断的程序,就不会响应这次的中断了,那就等于丢了一次中断。因此,在写定时器中断程序时,一定要尽量短,中断程序千万别写得很长。如果中断程序确实要很长,那就一定要延长定时的时间,一定要大于执行中断程序的时间,否则,定时就不准确的,也就失去了意义。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)