打印

51单片机汇编语言编程时遇到一些问题,请大神指教!

[复制链接]
1866|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
changzhouwj|  楼主 | 2013-5-5 16:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ORG 0000H
AJMP START
ORG 000BH
AJMP TIME0
ORG 0013H
AJMP INTE1
ORG 001BH
AJMP TIME1
ORG 100H
TABLE: DB 7EH,0BDH,0DBH,0E7H,0DBH,0BDH,7EH,0AAH,55H,00H,0FFH
START:
TIMERINIT:
MOV TMOD,#11H
MOV TH1,#3CH
MOV TL1,#0B0H
SETB TR1
SETB ET1
SETB EA
INTERRUINIT:
SETB EX1
SETB IT1
MAIN:
LOOP1:
MOV R2,#0BH
MOV DPTR,#100H
LOOP2:
MOV A,R1
MOVC A,@A+DPTR
MOV P1,A
DJNZ R2,LOOP1
AJMP LOOP2

TIME0:
MOV TH0,#3CH
MOV TL0,#0B0H
INC R4
CJNE R4,#64H,AAA
MOV R5,#0FH
MOV R4,#00H
AAA:
RETI


TIME1:
MOV TH1,#3CH
MOV TL1,#0B0H
INC R3
CJNE R3,#14H,AA
INC R1
CJNE R1,#0BH,BB
MOV R1,#00H
BB:
MOV R3,#00H
AA:
RETI

INTE1:
MOV P1,#0C3H
MOV P2,#00H
SETB TR0
SETB ET0
TEST:
CJNE R5,#0FH,TEST
MOV R5,#00H
CLR TR0
CLR ET0
RETI

END


题目是:程序开始后P1口的LED按规则亮灭(此处没有问题),当按下键触发中断时P1.2,P1.3,P1.4,P1.5亮,并持续五秒然后跳出中断继续最初的动作,我用PROYEUS仿真发现进入中断后程序一直停在
TEST:
CJNE R5,#0FH,TEST
处跳不出中断,多次检查,修改无果,希望朋友们能帮我看一下问题出在哪里了~

相关帖子

沙发
qx19921014| | 2013-5-5 17:59 | 只看该作者
抱歉我还没学到中断..........................

使用特权

评论回复
板凳
zyfsyy| | 2013-5-5 20:09 | 只看该作者
我学的C语言编程的

使用特权

评论回复
地板
teddeng| | 2013-5-5 21:34 | 只看该作者
没设中断嵌套。同级中断之间,只有响应优先级,而没有嵌套优先级。当外部中断正在执行时,T0中断是不会发生的。其他小毛病很多,先说关键。

使用特权

评论回复
5
mht820413| | 2013-5-5 21:44 | 只看该作者

使用特权

评论回复
6
changzhouwj|  楼主 | 2013-5-6 14:21 | 只看该作者
teddeng 发表于 2013-5-5 21:34
没设中断嵌套。同级中断之间,只有响应优先级,而没有嵌套优先级。当外部中断正在执行时,T0中断是不会发生 ...

先谢谢您百忙之中抽空帮我看了程序。但是我记得51单片机的中断不是已经定好优先级   外部中断0>定时器0>外部中断1>定时器1>串行中断  的吗?

使用特权

评论回复
7
oldzhang| | 2013-7-13 09:57 | 只看该作者
本帖最后由 oldzhang 于 2013-7-13 10:02 编辑

你说的不是优先级,是同时发生中断的响应查询次序,51默认只有一个优先级,高优先级要设置的。

你的程序谁来改变R5,没有改变当然死在那里了。在TEST:后加一句 INC R5

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

10

帖子

0

粉丝