您当前的位置:五五电子网电子知识单片机-工控设备51单片机C8051F020定时器中断使用 正文
C8051F020定时器中断使用

C8051F020定时器中断使用

点击数:7939 次   录入时间:03-04 11:48:48   整理:http://www.55dianzi.com   51单片机
      C8051F020内部有5 个计数器/定时器:其中三个16 位计数器/定时器与标准8051 中的计数器/定时器兼容,还有两个16 位自动重装载定时器可用于ADC、SMBus、UART1 或作为通用定时器使用。这些计数器/定时器可以用于测量时间间隔,对外部事件计数或产生周期性的中断请求。
 
  将定时器与中断系统的结合将给我们编程带来很大的帮助,程序条理性强易编写易读。

  下面我将利用可装载的计数器中断程序编写流程总结如下:

  一:定时器初始化

    1:停止定时器,清中断溢出位。

      通过设置SFR中TMRnCN,停止将TMRnCN^2置0,清中断溢出位TMRnCN^7。

    2:计数值和装载值的设置

      通过SFR中TMRnL,TMRnH,TMRnRLL, TMRnRLH设置。

    3:打开中断系统允许位

      通过SFR中的IE,EIE1,EIE2实现,将对应定时中断位置1即可允许。

    4:打开定时器

      通过TMRnCN^2置1启动。

 二:中断部分

    1:打开全局中断

      将IE^7置1。一般将该部分写在定时器初始化前面。

    2:中断服务程序(ISR)

     以C语言为例

     void ADD (void) interrupt  N

     {  具体程序  }

    其中ADD位程序名,N为中断优先级(具体详见相应MCU说明书)

    注意:由于定时器溢出位不能硬件清零,需要在中断程序编写清零程序,如所使用定时器为非重载,可以在中断程序中编写计数值的初始化。


本文关键字:定时器  51单片机单片机-工控设备 - 51单片机