汇编语言单片机中断

ORG00H;开始地址JMPMAIN;跳转到主程序ORG03H;外部中断0地址JMPEXT1;跳转ORG13H;外部中断1地址JMPEXT2;跳转MAIN:MOVIE,#... ORG 00H ;开始地址
JMP MAIN ; 跳转到主程序
ORG 03H ; 外部中断0地址
JMP EXT1 ; 跳转
ORG 13H ;外部中断1地址
JMP EXT2 ;跳转

MAIN :
MOV IE ,#85H ; 使能中断 0,1
SETB TCON.2 ; 边沿触发
setb TCON.0; 边沿触发

EXT1:
MOV A,#00H; 累加器置0
MOV P2,A ; 点亮发光二极管
JMP EXT1 ; 循环
EXT2:
MOV A,#0FFH;累加器置1
MOV P2,A ;关闭
JMP EXT2 ;循环
END
程序编译过去了,但是没有实现我要的功能,
我不明白问什么单片机一上电二极管就亮了,我程序没点亮,
另外我给低电平过去触发不了中断,求帮助
展开
 我来答
做而论道
高能答主

推荐于2017-11-26 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
ORG 00H ;开始地址
JMP MAIN ;跳转到主程序
ORG 03H ;外部中断0地址
JMP EXT1 ;跳转
ORG 13H ;外部中断1地址
JMP EXT2 ;跳转

MAIN:
MOV IE, #85H ;使能中断 0,1
SETB TCON.2 ;边沿触发
SETB TCON.0 ;边沿触发

SJMP $ ;--没有这一句,程序,自己就去执行中断函数了

EXT1:
MOV P2, #0 ;清0,点亮发光二极管
RETI

EXT2:
MOV P2, #0FFH ;置1,关闭
RETI

END
更多追问追答
追问
我说说我想实现的功能吧,首先P2口上的二极管全部发光,然后有一个中断来,全部灭,一直等到下一个中断来又全部亮,怎么实现呢? 

只用一个中断能实现吗?怎么写啊,用一个中断时因为我还要弄上位机,他给了一个下载器我,两根杜邦线,我觉得只能用上一根因为下载器那里就一个TXD,SO
求用一个中断实现这个功能的汇编语言
另外很感谢你的帮忙~!
追答
一个中断来,全部灭,一直等到下一个中断来又全部亮。
只用一个中断,如下即可:
;

ORG 00H ;开始地址
MOV IE, #84H
SETB IT1 ;边沿触发
SJMP $

ORG 13H ;外部中断1地址
XRL P2, #0FFH
RETI
END
匿名用户
2014-01-04
展开全部
51单片机,每个可以触发中断的引脚,都有固定的地址去寻找处理中断的程序就拿 计数器0 来说,当51单片机的内部触发这个中段的时候,就去寻找 0bh 这个地址里的跳转指令如果0bh里放的是 jmp #500h 这时候,单片机就会去 500h这个地址里处理 这个计数器中断SETB EA ;全局中断允许 SETB ET0;计算器0中断允许 SETB TR0 ;开启计数器 MOV TL0,#0FFH ;初始化计数器的值,开始计数
MOV TH0,#0FFH 当计数器为0的时候,就会触发中断,去0bh,寻找跳转指令大概就这样了~~~~ 多琢磨琢磨,就会理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
狼战dwO
2014-07-27 · TA获得超过714个赞
知道答主
回答量:200
采纳率:100%
帮助的人:70.9万
展开全部
主程序是:流水灯0到7依次点亮、流水灯7到0依次点亮,反复循环。
外部中断程序是:灯全亮、全灭3次。
但是,程序没有开中断的指令,中断程序是不会执行的。
START: ;在下面添加:
SETB EA ;开总中断.
SETB EX0 ;开INT0中断.
CLR IT0 ; 设置INT0为电平触发.
MOV A,#00H
……
外部中断就可以实现了。
追问
main是我的主程序,Ext1和EXT2是我的中的程序。而且我是设置了两个中断,另外我通过设置MOV IE ,#85H  ;就能打开中断了,和你的setb EA 是一样的。 我说说我想实现的功能吧,首先P2口上的二极管全部发光,然后有一个中断来,全部灭,一直等到下一个中断来又全部亮,怎么实现呢?  另外很谢谢你的帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式