您现在的位置: 主页 > 手机最快现场开奖直播 >  正文
8051单片机的中断响应过程解析
发布日期:2019-08-12 01:09   来源:未知   阅读:

  在每个机器周期期间,顺序采样每个中断源,CPU在下一个机器周期按优先级顺序查询中断标志,如查询到某个中断标志为1,将在下一个机器周期期间按优先级来进行中断处理。在下列任一种情况存在时,中断申请将被封锁。

  1、CPU正在执一个同级或高级的中断服务程序2、当前机器周期不是当前指令周期的最后一个机器周期,即要保证把当前指令执行完。

  CPU响应中断, 由硬件自动将相应的中断矢量地址装入程序程序计数器PC,转入该中断服务程序进行处理。

  对于有些中断源,CPU在响应中断后会自动清除中断标志,如定时器溢出标志TF0,TF1,以及部中断标志IE0,IE1。

  而有些中断标志,不会自动清除,只能由用户用户软件清除,如串行口接收发送中断标志RI,T1。CPU执行中断服务程序之前,自动将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向该中断矢量地址单元中,以执行中断服务程序,中断服务程序从矢量地址开始执行,一直到返回指令“RETI”为止。“RETI”指令的操作,一方面告诉中断系统中断服务程序以执行完毕,另一方面把原来压入堆栈保护的断电地址从栈顶弹出,装入程序计数器PC,使程序返回被中断的程序断点处,以便继续执行。

  外部中断响应时间外部中断INT0和INT1的电平在每个机器周期,经反向后锁存到IE0和IE1的标志位,CPU在下一个机器周期才会查询到新置入的IE0和IE1,这时如果满足响应条件,CPU响应中断时,要用二个机器周期执行一条硬件长调用指令“LCALL”。所以,从产生外部中断到开始执行中断程序至少需要三个完整的机器周期。如果在中断申请时,CPU正在长指令,如乘法和除法指令等四周期指令,则额外等待时间增加三个周期;若正在执行“RETI”指令或访问IE,IP的指令,则额外等待时间又增加两个周期。综上估计,在单一中断系统里,外部中断响应时间约在3-8个机器周期之间。

  下面我们仍以打印机为例来说明外中断源的使用方法 。硬件连接和查询方式基本一致,只是因为程序中对外中断进行了初始化,所以,8051的端口引脚P3.2在这个例子中不再是一个普通的端口而是外中断的输入,另一个,打印机多了一个选通信号STB。对打印机来说,这个信号是个输入信号,其意义为:当打印机检测到该引脚上出现一个负跳变,即由高电平时,表示单片机以把打印数据送上数据总线,则打印机将BUSY引脚设置为1,告诉单片机打印机正在打印,然后,开始打印。

  本例中,单片机并行接口P3的一位T0输出作为该信号的输入,打印缓冲区仍就在内部数据存储器的10H-11H单元,共三字节。下面我们来看看程序:

  第一条指令ORG 0000H是一条伪指令,意义是:告诉编译系统紧跟其后的那条指令从程序存储器的0000H单元开始存放。

  第二条指令LJMP MAIN的意义是:跳转到标号为MAIN的地址去运行。

  第三条指令ORG 0003H是一条伪指令,意义是:告诉编译系统紧跟其后的那条指令从程序存储器的0003H单元开始存放。

  指令ORG 0050H的意义是:告诉编译系统紧跟其后的那条指令从程序存储器的0050H单元开始存放。

  指令SETB EA意义为:对位地址EA置1,EA是8051单片机中断系统是总允许位,所以,该指令的物理意义是开放8051的中断系统。

  指令CLR EX0意义为:对EX0位置1,其物理意义为允许外中断0中断。

  指令CLR IT0意义为:对IT0位清1,其物理意义是设置外中断0的触发方式为边沿触发。

  指令MOV R0,#11H的意义是:将数据11H送入工作寄存器R0中,物理意义为设定在中断服务程序中发送的一个数据的地址,即打印机缓冲区的第二字节 。因为必须在主程序上发送第一个字节之后,打印机才能发出第一次中断请求,如果单片机将所有数据都放在中断服务程序中发送,则会引起单片机和打印机相互等待,即打印机等待单片机将数据送上数据总线引脚发送一个负脉冲选通信号到打印机的STB引脚,打印机要在检测到该引脚上的负脉冲前沿后,才开始打印 。另一方面,单片机却在等待打印机打印完一个数据后,提出中断申请,才能在中断服务程序中发送第一个数据。

  指令MOV P2,10H的意义是:将内部数据存储器10H单元送上并行接口P2,其物理意义是发送第一打印数据。

  指令CLR P3.4的意义为:对端口P3.4,即T0引脚清0,其物理意义向打印机发送选通信号的前沿,打印机检测到选通信号的前沿后,置引脚BUSY的状态为高电平,然后开始打印。

  指令SETB P3.4的意义为:对端口P3.4置1,其其物理意义向打印机发送选通信号的后沿。

  指令LJMP §的意义是:跳转到本条指令,即主程序到此就进入死循环。请大家注意只要用户不关机的话,CPU就会不停的运行下去,不会因为用户程序到此结束,如果没有这条死循环指令的话,CPU就会从程序存储器的下一个单元取出一个数,把它当下一个指令的操作码处理,这样,程序就会出错,甚至死机 。所以,如果一个系统中本身没有死循环的话,一定要在主程序的最后认为加上一条死循环指令。

  指令MOV P2,@R0的意义是,把R0的内容作为内部数据存储器的地址,再把该地址的数据去出来送到端口P2,起物理意义是发送第二个打印数据。

  指令CLR P3.4的意义是,对端口P3.4清0,物理意义是发送STB选通信号的前沿,打印机检测到该信号,置引脚BUSY为高电平,然后开始打印。

  指令SETB P3.4的意义是 ,对端口P3.4置1,物理意义是发送STB选通信号的后沿。

  指令INC R0的意义是:对R0的内容加1,物理意义是改变打印缓冲区中下一个待打数据的指针,这条指令运行后,R0中的内容为12H,即下一个待打印数据在12H单元中。

  指令CJNE RO,#13H LAB1的意义是:判断R0的内容是否为13H,如是则继续往下运行,否则跳转到标号为LAB1的地方,物理意义为如果待打印数据的指针向13H,即表示所有的数据都打印完毕,则运行关中断指令,否则表示数据末打印完,则跳过关中断指令。

  指令RETI的意义是:中断返回,物理意义是清除外中断0的中断请求标志,并返回主程刚才被中断的地方,这是本程序经编译后的机器码指令,用仿真器把它固化到程序存储器后,就可以运行了。

  11月29日,在珠海举行的中国集成电路设计业2018年会暨珠海集成电路产业创新发展高峰论坛上,中国半...

  据透露,苹果的这一计划代号为“卡拉马塔”(Kalamata),目前仍处于早期的探索阶段,但却苹果打造...

  昨日,期盼已久的ARM服务器CPU终于正式量产了!---贵州华芯通半导体技术有限公司 (以下简称 “...

  AVR单片机是ATMEL公司研发的增强型内置Flash的RISC精简指令集高速8位单片机,设计时吸取...

  这时候很多就会说,这不是很简单,让软件用调试器加断点跟踪啊,说对了,我们firmware工程师还是很...

  此算法是基于操作系统的,理论上不限于任何操作系统,只要有任务调度就可以。本文将以FreeRTOST为...

  8051单片机与80C51单片机从外形看是完全一样的,其指令系统、引脚信号、总线等完全一致(完全兼容...

  11月28日晚间,景嘉微发布公告称将与中国长城科技集团股份有限公司签署《战略合作框架协议》。此次合作...

  CPU卡:也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器...

  工业平板电脑代表了下一代移动商务电脑。 从微软提出的工业平板电脑的概念产品来看,工业平板电脑是一款功...

  工业平板电脑是专供工业界面使用的工业控制计算机,因为在工业的使用与普通商用的使用环境存在着一定的差异...

  工控机接通电源能听见CPU风扇在转,但显示器却不亮,主板也没有报警的提示,如何处理?答:工控机通电后...

  随着我国工业自动化领域的不断发展,工控机已经成为一种普遍的自动化设备。工控机的市场需求非常大,如今它...

  关于工控机,相信大家都了解,其实就是计算机的一种,只不过它是专用于工业控制方面的,也是专门因工业控制...

  目前公司已与CPU厂商飞腾及操作系统厂商银河麒麟进行了技术适配,适配过程中JM7200产品性能、研发...

  整整50年来,计算机的底层元件都遵从着“摩尔定律”:在价格不变的情况下,集成在芯片上的晶体管数量每隔...

  近日,全球前十大IC设计厂商第三季营收及排名出炉。TrendForce旗下拓墣产业研究院21日数据显...

  当前石油储备逐步减少,石油勘探、开发难度增大,借助数据技术提高石油勘探的效率成为推动石油行业增长的关...

  GPU即图形处理器,又称显示核心、视觉处理器、显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移...

  11月15日,AMD在北京召开大中华区合作伙伴峰会,分享了AMD在过去一年取得的显著成果,展望了AM...

  该演示强调了使用SDSoC™开发环境进行工业控制的优势。 它在磁场中显示悬浮的铁球,并进行连续的位...

  Intel的CPU缺货问题已经发酵了相当长一段时间,前不久,华硕CEO沈振来毫不客气地表示,缺货局面...

  同样的麒麟970处理器,现在版本的即使在分辨率高出很多(1080x2340 vs 108...

  距离双十一“剁手”还剩一周。3A游戏大作接连不断,NVIDIA GeForce RTX显卡推波助澜,...

  NGCodec的AWS F1实例视频编码解决方案可通过云技术帮助更多客户以低时延,低成本的方式访问高...

  CPU是一台电脑的大脑,CPU的性能高低,直接影响整个平台的性能,直接反映出来的效果,就是用户用电脑...

  本周四就是西方的感恩节,第二天即大名鼎鼎的“黑色星期五(The Black Friday)”,26号...

  Intel这两年被AMD逼得相当紧,各条产品线也是大幅度提速,但前些年挤牙膏太多,想骤然大变脸也不太...

  2017年,AMD推出了全新的锐龙处理器,凭借高性能低功耗的Zen架构与八核心十六线程的巨大优势打了...

  Core i9-9900K也出来了一段时间了,这个号称“地表最强游戏U”也成了很多人最新的目标。

  浮点运算一直是定点CPU的难题,比如一个简单的1.1+1.1,定点CPU必须要按照IEEE-754标...

  单片机的能力的关键就在软件设计者编写的软件上。只有充分地了解到单片机的能力,才不会做出“冗余”的系统...

  西门子S7-200CPU的通信口可以设置为自由口模式。选择自由口模式后,用户程序就可以完全控制通信端...

  第一个问题是由于 nn-X 采用了固定的 10x10 卷积引擎,而当它在执行 3x3 卷积时,只有 ...

  数据采集器的别称为手持数据终端,又或是盘点机。 它具有集成,移动,体积小,重量轻,性能高等特点,适用...

  国产存储器厂商最近一段时间更是没有闲着,在国内呼唤芯片等科技自主的声音里,早就开始加快科研与投产进度...

  CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作...

  cpu温度高经常会导致系统不稳定,死机,蓝屏等现象发生?那么CPU温度高怎么办呢?其实解决办法我们一...

  电脑CPU温度高原因:CPU散热器灰尘导致.清理CPU散热器的风扇无疑是解决CPU发热现象最直接有效...

  正常情况下45~65℃(或更低),高于75-80℃则要检查CPU和风扇间的散热硅脂是否失效、更换CP...

  中央处理器是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control ...

  Naveen认为谷歌、微软等巨头自己造芯的做法不会持久,终将重回英特尔怀抱。

  PIC单片机有计算功能和记忆内存像CPU并由软件控制允行。然而,处理能力—存储器容量却很有限,这取决...

  1、PIC单片机程序的基本格式 先介绍二条伪指令: EQU ——标号赋值伪指令 O...

  美国能源部(DOE)果然傲娇,一次性公布了AMD和NVIDIA尚未官宣的新架构产品。

  昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直...

  2017年,注定是不平凡的一年,英特尔近几代处理器挤牙膏般的升级以及科技以换针脚数量为本的做法让玩家...

  从2009年发布1156平台开始,Intel的主流级平台经历了一个超级漫长的稳ya定gao期。i5四...

  据外媒报道,三星半导体销售额,预计会连续第二年超越英特尔。去年,英特尔痛失从1993年一直占领的宝座...

  TMS320VC5501(5501)定点数字信号处理器(DSP)基于TMS320C55xDSP生成CPU处理器内核。 C55xDSP架构通过增加并行性和全面关注降低功耗来实现高性能和低功耗。 CPU支持内部总线结构,该结构由一个程序总线,三个数据读总线,两个数据写总线以及专用于外设和DMA活动的附加总线组成。这些总线能够在一个周期内执行最多三次数据读取和两次数据写入。并行,DMA控制器可以独立于CPU活动执行数据传输。 C55xCPU提供两个乘法累加(MAC)单元,每个单元能够进行17位×17位乘法运算。单循环。额外的16位ALU支持中央40位算术/逻辑单元(ALU)。 ALU的使用受指令集控制,提供优化并行活动和功耗的能力。这些资源在C55x CPU的地址单元(AU)和数据单元(DU)中进行管理。 C55x DSP代支持可变字节宽度指令集,以提高代码密度。指令单元(IU)从内部或外部存储器执行32位程序提取,并为程序单元(PU)排队指令。程序单元解码指令,将任务指向AU和DU资源,并管理完全受保护的管道。预测分支功能可避免执行条件指令时的管道刷新。 5501外设...香港马会开奖结果直播