最简短且高效的中断处理程序

2019-04-15 18:03发布

通过用手动逐个向8051单片机的 /INT0 输入单脉冲,向单片机申请中断。
单片机每中断一次,依次向 P1 口输出 55H,AAH,55H,AAH……。
悬赏分:50 | 解决时间:2011-9-28 08:22 |
;============================================
最佳答案:下列程序,经过调试,完全符合题目要求。    ORG   0000H
    LJMP  START
    XRL   P1,  #255
    JNB   P3.2,  $
    RETI
START:
    SETB  IT0
    SETB  EX0
    SETB  EA
    MOV   P1,  #55H
    SJMP  $
END
;============================================
回答时间:2011-9-27 15:26 |
回答者: 做而论道 | 十五级采纳率:43% 
原题网址:http://zhidao.baidu.com/question/323891444.html
;============================================
后记:
这里给出的程序,可以说是最简短且高效的外部中断处理程序。
程序中的指令,仅仅9行,经过编译,长度仅仅有21个字节!
题目已经强调了,输入到外部中断的信号,是单脉冲,故此,程序中可不必加入延时消抖部分。
那么,中断处理部分,就很简短,也就可以直接放在中断向量区域。只有用汇编语言编写程序,才能达到如此精练的水平。
有些人,用C编写程序,编译后发现,单片机芯片的存储空间的都不够用的,呵呵建议,还是应该掌握汇编语言,才能上升到较高的层次。
;============================================