历史上的今天
返回首页

历史上的今天

今天是:2025年01月13日(星期一)

正在发生

2021年01月13日 | MCS-51单片机中断响应的三种方法解析

2021-01-13 来源:eefocus

MCS-51单片机的中断响应延迟时间,取决于其它中断服务程序是否在进行,或取决于正在执行的是什么样的指令。单中断系统中的中断响应时间为3~8个机器周期[1]。无论是哪一种原因引起的误差,在精确定时的应用场合,必须考虑它们的影响,以确保精确的定时控制。根据定时中断的不同应用情况,应选择不同的精确定时编程方法。


文中以定时器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个机器周期


这种方法中不停止定时器计数过程,若在执行指令ADDC A,TH1 或MOV TH1,A时,恰好产生TL1溢出向TH1进位的情况,则TH1的值就不对了,会产生更大的误差。为此,程序段开头为重装载值加4,若有溢出进位,则可提前发生,其中2个机器周期是考虑到为TL1重装载占用的时间。


此方法适用于系统中无其它更高优先级中断源的情况。若类似方法1,在程序段开


推荐阅读

史海拾趣

Epistar Corp公司的发展小趣事

近年来,随着OLED(有机发光二极管)技术的兴起,LED行业面临着巨大的挑战。Epistar敏锐地意识到了这一点,开始积极调整战略方向,加大在OLED技术领域的研发力度。同时,公司还通过优化产品结构、提高生产效率等措施降低成本、提升竞争力。这些努力使Epistar在OLED技术浪潮中保持了稳健的发展态势。

Burr-Brown公司的发展小趣事

Burr-Brown公司,成立于1956年,初期仅有两名雇员,并得益于房地产开发商的支持。公司起初专注于制造模拟集成电路,第一年的销售总额为1600美元。创始人布朗怀揣雄心壮志,提出在一年内将厂房扩大到1200平方英尺,并期望销售收入能增长到7200美元。随着销售的稳步增长,公司不断迁往更大的设施,最终在1965年购买了附近的机场,为公司未来的成长奠定了坚实的基础。

Efficient Power Conversion公司的发展小趣事

EPC公司成立于2007年,由三位拥有六十年先进功率管理技术经验的资深工程师共同创立。公司的创始人们认识到,随着技术的不断发展,传统的硅功率技术已接近其性能极限。他们决定专注于氮化镓技术的研究与开发,这是一种新型的半导体材料,具有比硅更高的电子迁移率和更低的电阻。经过数年的研究和试验,EPC公司成功开发出了基于氮化镓的高效功率半导体器件,这一突破性的技术为公司的未来发展奠定了坚实的基础。

Beta Dyne Inc公司的发展小趣事

随着国内市场的饱和,Beta Dyne开始将目光投向海外市场。公司制定了一套完整的国际化战略,包括在海外设立研发中心、建立销售渠道以及与当地企业建立合作关系等。通过不断的努力,Beta Dyne的产品逐渐打入国际市场,公司的知名度和影响力也得到了显著提升。

南晶电子(DGNJDZ)公司的发展小趣事

在产品质量和技术水平得到认可后,南晶电子开始积极拓展市场。公司参加了多场国内外电子展会,与众多客户建立了合作关系。同时,南晶电子还加大了营销力度,通过线上线下相结合的方式,提高了品牌知名度和市场占有率。在短短几年内,公司实现了从国内市场到国际市场的跨越式发展。

Brite-Led Optoelectronics Inc公司的发展小趣事

随着市场竞争的加剧,Brite-Led意识到单凭自身力量难以持续保持领先。于是,公司积极寻求与其他企业和研究机构的合作研发机会。通过与一家知名高校的合作,Brite-Led成功开发出一种新型的LED封装技术,大幅提高了产品的可靠性和耐用性。这一合作不仅加强了Brite-Led的技术实力,也为其带来了更多的商业机会和合作伙伴。

问答坊 | AI 解惑

国外手机资费标准一览

近年来,我国移动电话资费问题一直是人们关注的焦点。国外的移动电话资费处于何种状况呢? 英国:单向收费标准细分 目前,英国实行的是单向收费。英国移动电话市场主要由4家运营商占领,收费形式均采取一年为期的合同制,按月交费,交费标准有多个 ...…

查看全部问答>

单片机数字电压表设计论坛

单片机数字电压表设计论坛…

查看全部问答>

蓝牙资料

下载不够分,再传一份…

查看全部问答>

请问MSFLASH删除文件后还能检索到文件内容么?

昨天实验了下使用createfile DSK1:,然后调用IOCONTOL的方法,能够读取簇内容。 分别在存储卡和RAM上建了个文件,都能检索到内容,然后删除这个文件,在RAM上就检索不到了,而在存储卡会上还能检索到。 请问谁知道这是怎么回事。 在网上搜索了下 ...…

查看全部问答>

编译问题

有一个文件系统,和一个操作系统  怎样编译 怎么弄在一起…

查看全部问答>

我想买一块FPGA开发板,有什么要注意的没

在淘宝上看到好多,价格相差也很多啊,一百多到几千块钱都有,买什么样的合适?…

查看全部问答>

请教怎么关闭STM32外围模块电源

                                   是这么函数吗? ADC_Cmd(ADC1,DISABLE);  ADC_Cmd(ADC2,DISABLE); 主要我是我关 ...…

查看全部问答>

菜鸟求助,在STM32上调试卡住,大家帮忙看看

使用的是RTT1.0,MDK4.2,芯片是STM32F103RBT6程序跑到rt_system_heap_init((void*)&Image$$RW_IRAM1$$ZI$$Limit, (void*)STM32_SRAM_END);这个函数之后就卡住了。跑飞了,请问怎么解决。…

查看全部问答>

双通道MCU意义何在?

上次在IIC上与富士通的半导体工程师聊,他给我推荐了一款适合小家电应用的他们最新8位双通道FLASH MCU。性能非常不错,工作电流仅为110微安/ MHz,待机电流5 µA,关键是价格还是挺有竞争力。当时他提到了采用新工艺实现双通道Flash功能,搞忘 ...…

查看全部问答>