MCS51单片机初学者,关于汇编语言中断程序设计
在SST51开发板上,用跳线将SST89E58RDA单片机的P3.2(INT0)引脚与按键K1脚连接,用汇编语言实现:按一次K1外部中断INT0响应一次,LED显示值加1...
在SST51开发板上,用跳线将SST89E58RDA单片机的P3.2(INT0)引脚与按键K1脚连接,用汇编语言实现:按一次K1外部中断INT0响应一次,LED显示值加1(十进制),谢谢,最好有适当的文字说明,万分感谢
展开
展开全部
不知道你要显示几位,我写了个1位显示的。前提是共阴数码LED且一端已接地,由P1口控制。
ORG 0000H
LJMP START
ORG 0003H
LJMP INTT0
ORG 0600H
START: SETB EA
SETB EX0 ; 打开外部中断0
CLR IT0 ; 令中断0为电平触发
MOV @R0,#00H
DISPLAY: MOV DPTR,#TAB;给字形表的初地址
MOV A,R0; 将要显示的数给A
MOVC A,@A+DPTR ;在字形表中取数放到A
MOV P1,A; 假设是P1口输出要显示的数据把A放到P1中
SJMP DISPLAY ;循环显示等待中断
INTT0:INC @R0; ;中断中有按键着加1
RETI
TAB:DB 3FH,06H,5BH,4FH,66H ;字形表
DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H
END
ORG 0000H
LJMP START
ORG 0003H
LJMP INTT0
ORG 0600H
START: SETB EA
SETB EX0 ; 打开外部中断0
CLR IT0 ; 令中断0为电平触发
MOV @R0,#00H
DISPLAY: MOV DPTR,#TAB;给字形表的初地址
MOV A,R0; 将要显示的数给A
MOVC A,@A+DPTR ;在字形表中取数放到A
MOV P1,A; 假设是P1口输出要显示的数据把A放到P1中
SJMP DISPLAY ;循环显示等待中断
INTT0:INC @R0; ;中断中有按键着加1
RETI
TAB:DB 3FH,06H,5BH,4FH,66H ;字形表
DB 6DH,7DH,07H,7FH,6FH
DB 77H,7CH,39H,5EH,79H
END
展开全部
这个我也学得不是很好,希望能帮到你
Main: MOV TCON ,#0H;外部中断0采用电平触发方式
MOV IE,#81H;打开外部中断0;
MOV IP,#1H; 设置中断优先级为最高
L:
MOV R0,P3.2;
JZ R0 ,L1;
L1: INC R1;
MOV P0,R1;
LOOP L;
LED灯是二进制吧 十进制怎么实现? 要么是数码管
我理解大概就是这样的 这个东西学了好久了 忘记很多 可能有很多错误
Main: MOV TCON ,#0H;外部中断0采用电平触发方式
MOV IE,#81H;打开外部中断0;
MOV IP,#1H; 设置中断优先级为最高
L:
MOV R0,P3.2;
JZ R0 ,L1;
L1: INC R1;
MOV P0,R1;
LOOP L;
LED灯是二进制吧 十进制怎么实现? 要么是数码管
我理解大概就是这样的 这个东西学了好久了 忘记很多 可能有很多错误
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在电子人单片机开发板 网站上可以看到中断程序设计的 例子,你自己看看吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键在于键盘的防抖吧... 一个部件一个部件地学 先流水灯 然后数码管 键盘 LED 之后就都懂了
不用纠结
不用纠结
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询