用C语言控制单片机定时器
定时器编程主要是对定时器进行初始化以设置定时器工作模式,确定计数初值等。使用C语言编程和使用汇编编程方法非常类似,比如用定时器TO实现P1.0输出10方波。
设系统为12M,为IOOms,定时器定时50rns,初值就是3CBOH。当定时时间到后,TF0被自动置为1,因此,我们只需要查询TFO是否等于1就知道了。
我们用“if(TF0){}”来判断,如果TFO=0,则条件不满足,大括号中的程序行不会被执行;如果TFO=1,条件满足,就执行大括号中的程序。并且首先将TFO清零,然后重置定时初值,最后执行取反P1.0的规定动作。用C语言编程如下:
这里使用了查询方式,这种方式比较占用CPU的资源,所以也可以使用中断方式来编程。我们仍然选用定时器TO工作于方式1,由于定时器0的中断编号为1,所以只要简单地在中断函数名后加上interrupt关键字和中断编号就行了。定时器的初始化操作与上面相同。要开启中断,必须将EA(总中断允许)和ET0(定时器TO中断允许)置1。用“EA=1;”和“ETO=1;”语句来实现。在做完这些工作以后,就可以让CPU执行其它主程序,定时器的所有工作均由中断程序来完成。
- 上一篇:C语言的数据类型
- 下一篇:单片机的串口通讯装置