访问电脑版页面

导航:老古开发网手机版51单片机51单片机中断系统

MCS-51单片机定时中断不同应用情况

导读: 根据定时中断的不同应用情况,应选择不同的精确定时编程方法。MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行
关键字:
定时中断,MCS-51,51单片机

  根据定时中断的不同应用情况,应选择不同的精确定时编程方法。MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期.文中以定时器T1工作在定时方式1为例,晶振频率为12MHz 。

  1 方法1

  在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的7个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7)是汇编符号,分别表示-1000+7=0FC1FH这个立即数的低位字节(1FH)和高位字节(0FCH)。

  ……

  CLR EA ;禁止所有中断

  CLR TR1 ;停止定时器T1

  MOV A,#LOW(-1000+7) ;期望数的低位字节

  ADD A,TL1 ;进行修正

  MOV TL1,A ;重装载低位字节

  MOV A,#HIGH(-1000+7) ;对高位字节处理

  ADDC A,TH1

  MOV TH1,A

  SETB TR1 ;重启动定时器

  SETB EA ;重开中断

  ……

  此方法适用于各种原因造成的定时误差的情况,为通用方法。

  2 方法2

  假如定时周期为10ms,通常定时器重装载值为0D8F0H,中断子程序如下[2]:

  ORL TL1,#0F0H

  MOV TH1,#0D8H

  ……

  这里用ORL TL1,#0F0H代替MOV TL1,#0F0H 可提高定时精度。此方法只适用于重装载值低位字节的低4位为零,且中断响应的延迟时间小于16个机器周期的情况。类似的定时器重装载值有0FFF0H,0FFE0H等。

  3 方法3

  假如定时周期为1ms,通常定时器重装载值为0FC18H,中断子程序如下:

  MOV A,#LOW(-1000+4) ;期望数的低位字节

  ADD A,TL1

  MOV TL1,A

  MOV A,#HIGH(-1000+4) ;对高位字节处理

  ADDC A,TH1

  MOV TH1,A

  DEC TL1 ;恢复提前了的2个机器周期

  ……


4 方法4

假如定时周期不确定,只知道定时器重装载值存放在寄存器R3、R2中,中断子程序如下:

MOV A,#05H ;3个机器周期装载TL1,2个周期提前

ADD A,TL1

ADD A,R2

MOV TL1,A

MOV A,R3 ;处理高位字节

ADDC A,TH1

MOV TH1,A

DEC TL1 ;恢复提前了的2个机器周期

……

此法适用于定时周期不确定的情况,其它同方法3。

5 方法5

当定时中断发生的位置可预知时,通常出现在主程序的AJMP $ (或SJMP $)等待指令处,中断延迟时间为3个或4个机器周期。取固定值4可简化补偿程序。以定时周期1ms为例,中断子程序如下:

ORG 001BH

MOV TL1,#LOW(-1000+4)

MOV TH1,#HIGH(-1000+4)

……

此方法适用于定时中断总发生在同一条指令位置,且无其它中断源的情况。

  

来源:   作者:叶子  2012/6/1 15:43:00
栏目: [ 51单片机中断系统]

相关阅读

8051单片机是几位机_8051单片机共有几个中断源

51单片机中断优先级的设置方法解析

51单片机的中断方法以及对LED显示器的控制设计

AT89S51单片机扩充外部中断源系统的设计

51单片机中断服务子程序的设计

8051单片机定时器溢出中断与CPU响应中断的时间误差分析

80C51单片机中断的编程使用方法介绍

51单片机中断系统的重要性

C51单片机中断函数的修饰方法

MCS-51单片机定时中断不同应用情况

MCS-51单片机定时中断的编程方法解析

MCS-51单片机中断响应的三种方法解析

51单片机外部中断请求源与内部中断请求源的用法解析

8051单片机中断系统结构及中断控制原理

C51单片机中断函数的定义及应用

8051单片机定时器溢出中断误差补偿示例

C51单片机的中断号以及中断向量

如何设置51单片机的中断优先级

8051单片机的中断响应过程解析

51单片机中断用法实例解析