学海荡舟手机网
导航

主页 > 电子设备技术 > 电器电路基础 > > 详细内容

用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执行其它主程序,定时器的所有工作均由中断程序来完成。

 

 


相关文章