51单片机用计数器中断实现100以内的按键计数,汇编语言程序是怎样的,能帮忙一下么,谢谢啦。。。

急用,还有,最好每个命令语句都有注解,就像书上那样. 再带一个显示的子程序,就是计数到30会有灯闪烁5次之类的

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXTINT0
ORG 0030H
MAIN:
MOV SP,#5FH ;堆栈顶设为5FH
SETB EA ;开中断
SETB IT0 ;外部中断0沿触发
SETB EX0 ;开外部中断0
MOV 30H,#0 ;计数初值为0
SJMP $ ;死循环
EXTINT0:
INC 30H ;计数器加1
RETI ;中断返回
END追问

能在带一个显示的子程序么,就是计满95会在p1口有灯闪烁几次的那种

追答

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP EXTINT0
ORG 0030H
MAIN:
MOV SP,#5FH ;堆栈顶设为5FH
SETB EA ;开中断
SETB IT0 ;外部中断0沿触发
SETB EX0 ;开外部中断0
MOV 30H,#0 ;计数初值为0
LOOP:
MOV A,30H ;计数值送A
CJNE A,#95,LOOP ;是否到95
MOV 30H,#0 ;到则计数清零
MOV R2,#5 ;闪烁5次
LOOP1:
MOV P1,#0FFH ;灯灭
LCALL DELAY ;延时
MOV P1,#00H ;灯亮
LCALL DELAY ;延时
DJNZ R2,LOOP1 ;5次未到继续
SJMP LOOP
DEALY:
MOV R3,#100
DELAY1:
MOV R4,#200
DJNZ R4,$
DJNZ R3,DELAY1
RET

EXTINT0:
INC 30H ;计数器加1
RETI ;中断返回
END

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-11-22
按键计数,是不是应该显示啊?

显示电路,楼主不指定吗?

没有电路,程序可怎么编哪?追问

再带一个显示的子程序,就是计数到30会有灯闪烁5次之类的

第2个回答  2012-11-21
我有不用中断的,要的话家我QQ1072740288追问

我必须要用中断的。。。。。