通过用手动逐个向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编写程序,编译后发现,单片机芯片的存储空间的都不够用的,呵呵建议,还是应该掌握汇编语言,才能上升到较高的层次。
;============================================