最簡短且高效的中斷處理程序
通過用手動逐個向8051單片機的/INT0輸入單脈沖,向單片機申請中斷。
單片機每中斷一次,依次向P1口輸出55H,AAH,55H,AAH……。
;============================================
最佳答案:下列程序,經(jīng)過調(diào)試,完全符合題目要求。
ORG0000H
LJMPSTART
XRLP1,#255
JNBP3.2,$
RETI
START:
SETBIT0
SETBEX0
SETBEA
MOVP1,#55H
SJMP$
END
;============================================
;============================================
后記:
這里給出的程序,可以說是最簡短且高效的外部中斷處理程序。
程序中的指令,僅僅9行,經(jīng)過編譯,長度僅僅有21個字節(jié)!
題目已經(jīng)強調(diào)了,輸入到外部中斷的信號,是單脈沖,故此,程序中可不必加入延時消抖部分。
那么,中斷處理部分,就很簡短,也就可以直接放在中斷向量區(qū)域。
只有用匯編語言編寫程序,才能達到如此精練的水平。
有些人,用C編寫程序,編譯后發(fā)現(xiàn),單片機芯片的存儲空間的都不夠用的,呵呵
建議,還是應(yīng)該掌握匯編語言,才能上升到較高的層次。
;============================================