


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.单片机定时中断的精确定时编程方法种种引 言MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为38个机器周期1。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。文中以定时器T1工作在定时方式1为例,晶振频率为12MHz 。1 方法1在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常
2、定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的7个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7)是汇编符号,分别表示-1000+7=0FC1FH这个立即数的低位字节(1FH)和高位字节(0FCH)。作 者: 南京农业大学 蹇兴亮引 言MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为38个机器周期1。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影
3、响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。文中以定时器T1工作在定时方式1为例,晶振频率为12MHz 。1 方法1在定时器溢出中断得到响应时,停止定时器计数,读出计数值(反映了中断响应的延迟时间),根据此计数值算出到下一次中断时,需多长时间,由此来重装载和启动定时器。例如定时周期为1ms,则通常定时器重装载值为-1000(0FC18H)。下面的程序在计算每个定时周期的精确重装载值时,考虑了由停止计数(CLR TR1)到重新启动计数(SETB TR1)之间的7个机器周期时间。程序中#LOW(-1000+7)和#HIGH(-1000+7)是汇编符号,分别表
4、示-1000+7=0FC1FH这个立即数的低位字节(1FH)和高位字节(0FCH)。.CLR EA ;禁止所有中断CLR TR1 ;停止定时器T1MOV 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,#0F0HMO
5、V TH1,#0D8H.这里用ORL TL1,#0F0H代替MOV TL1,#0F0H 可提高定时精度。此方法只适用于重装载值低位字节的低4位为零,且中断响应的延迟时间小于16个机器周期的情况。类似的定时器重装载值有0FFF0H,0FFE0H等。3 方法3假如定时周期为1ms,通常定时器重装载值为0FC18H,中断子程序如下:MOV A,#LOW(-1000+4) ;期望数的低位字节ADD A,TL1MOV TL1,AMOV A,#HIGH(-1000+4) ;对高位字节处理ADDC A,TH1MOV TH1,ADEC TL1 ;恢复提前了的2个机器周期.这种方法中不停止定时器计数过程,若在执
6、行指令ADDC A,TH1 或MOV TH1,A时,恰好产生TL1溢出向TH1进位的情况,则TH1的值就不对了,会产生更大的误差。为此,程序段开头为重装载值加4,若有溢出进位,则可提前发生,其中2个机器周期是考虑到为TL1重装载占用的时间。此方法适用于系统中无其它更高优先级中断源的情况。若类似方法1,在程序段开头和结尾分别加上禁止所有中断(CLR EA)和开中断(SETB EA)指令,则将适用于所有情况。4 方法4假如定时周期不确定,只知道定时器重装载值存放在寄存器R3、R2中,中断子程序如下:MOV A,#05H ;3个机器周期装载TL1,2个周期提前ADD A,TL1 ADD A,R2MOV TL1,A MOV A,R3 ;处理高位字节ADDC A,TH1MOV TH1,ADEC TL1 ;恢复提前了的2个机器周期.此法适用于定时周期不确定的情况,其它同方法3。5 方法5当定时中断发生的位置可预知时,通常出现在主程序的AJMP $ (或SJMP $)等待指令处,中断延迟时间为3个或4个机器周期。取固定值4可简化补偿程序。以定时周期1ms为例,中断子程序如下:ORG 001BHMOV TL1,#LOW(-1000+4)MOV TH1,#HIGH(-1000+4).此方法适用于定时中断总发生在同一条指令位置,且无其它中断源的情
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年城市绿化带使用权租赁合同范本
- 2025年度绿色环保型墙体广告材料质量检测及安全认证合同
- 2025年医疗机构废弃物规范化处置与运输合作合同
- 2025年度高端科技博览会展位租赁服务合同
- 2025年化妆品品牌全国分销权代理合作协议
- 2025型环保车库门购销及全方位售后保障合同
- 2025年高标准医院病房装修与设施安装工程合同
- 2025年国际市场拓展代理合同范本汇编
- 2025年区块链底层技术源代码许可与维护服务合同
- 2025年新型墙体广告设施环保性能评估与认证服务协议
- 医保网络安全培训
- 老年急危重症容量管理急诊专家共识解读
- 直肠癌放射治疗进展讲课件
- 丙酮安全管理制度
- JG/T 174-2014建筑铝合金型材用聚酰胺隔热条
- 胎膜早破的护理
- 更换纱窗协议书
- T/CIIA 015-2022智慧工地建设规范
- 财务人员离职时财务信息保密及竞业禁止协议
- 分包单位退场协议书
- 自建光伏电站合同协议
评论
0/150
提交评论