标题: 向大神求助关于单片机中断程序的问题,求解惑 [打印本页]

作者: a66    时间: 2018-12-13 20:25
标题: 向大神求助关于单片机中断程序的问题,求解惑
这是本人自己写的代码,本意是无中断到来时单片机控制#1 数码管循环显示 0~F,时间间隔为 0.5s;外中断 0 (INT0)和外中断 1(INT1)分别接开关 K1 和 K2,其中 INT1 为高优先级, INT0 为低优先级。按下 K1 时#1 数码管停止显示,#2 数码管静态显示片外 RAM 地址为 1000H单元的低 4位数值;按下 K2 时#3数码管静态显示片外 RAM地址为 1000H单元的高 4位数值。但是仿真后的结果却是按下k1数码管显示的是F,按下k2数码管全灭了。实在不知道到底哪里有问题。代码和仿真图如下,急求解答。


单片机汇编语言源码:

ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0INT
ORG 0013H
LJMP INT1INT
ORG 0040H
MAIN:
MOV SP,#6FH
SETB PX1
SETB IT1
SETB EX1
CLR PX0
SETB IT0
SETB EX0
SETB EA
MOV 00H,#00
ACALL DISPLAY
LOOP:ACALL DELAY
ACALL DISPLAY
MOV A,00H
SUBB A,#0FH
JNC OUT
INC 00H
AJMP LOOP
OUT:AJMP MAIN
DISPLAY:MOV A,00H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV P0,A
RET
TABLE:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H
DELAY:  
         MOV     R7,#50
DEL:  
         MOV     R6,#20
DE:   
         MOV     R5,#248
   DJNZ    R5,$
   DJNZ    R6,DE
   DJNZ    R7,DEL
   RET
INT0INT:
        
  MOV A,#7FH
  MOV DPTR,#1000H
  MOVX @DPTR,A
  MOVX A,@DPTR
  ANL A,#0FH
        MOV DPTR,#TABLE
        MOVC A,@A+DPTR
        MOV P0,A  
  
  AJMP $
INT1INT:
  MOV A,#7FH
  MOV DPTR,#1000H
  MOVX @DPTR,A
  ANL A,#0F0H
        MOV DPTR,#TABLE
        MOVC A,@A+DPTR
        MOV P0,A
  CLR EA  

  AJMP $
END
//////////////////////////////////////////////



作者: yzwzfyz    时间: 2018-12-13 22:49
图中哪个是#1 数码管?哪个是#2 数码管?
作者: a66    时间: 2018-12-14 10:27
yzwzfyz 发表于 2018-12-13 22:49
图中哪个是#1 数码管?哪个是#2 数码管?

我只用了一个数码管,接的p0口,为什么我的开关的功能和题目不一样?我觉得代码没问题啊




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1