新手求问,我这个程序为什么就是进不了中断呢?

2019-03-24 19:36发布

我编了一个小程序,意图通过电脑上的串口控制软件,输出1到8这八个数字来控制版上的8个led灯,灯是共阳极的。   思路很简单   就是计时器用19200波特率,SMOD为1,。   采用中断的方式,来了数字后,进入中断。   然后将A寄存器内的数字和1、2、3、4、5、6、7、8的ASCII码逐个相比。 (这里的实现是通过A一次次减1实现的)   相等就让对应的灯亮。   然后返回等待下一个中断   但是运行中,怎样也无法控制灯亮,用的是hl340 usb转串口的线,检测过,线是没有问题的。也有信号出来,为什么就是不能进入中断呢,或者说就是控制不了呢?跪求各位大神解答。。。                    ORG 0000H;
                 MOV TMOD, #20H;
                 MOV IE,  #90H;
                 MOV TL1, #0FDH;
                 MOV TH1, #0FDH;
                 SETB TR1;
                 MOV P2,#0FFH;
                 MOV SCON,#50H;
                 MOV PCON,#70H;  
                 ORG 0023H                  JNB RI, NEXT;
                 SJMP LIGHT_A; LIGHT_A:MOV A, SBUF;
                MOV R0, A;
                 CLR C;
                 SUBB A, #49;
                 JZ LIGHT0;
                 CLR C;
                 DEC A;
                 JZ LIGHT1;
                 DEC A;
                 JZ LIGHT2;
                 DEC A;
                 JZ LIGHT3;
                 DEC A;
                 JZ LIGHT4;
                 DEC A;
                 JZ LIGHT5;
                 DEC A;
                 JZ LIGHT6;
                 DEC A;
                 JZ LIGHT7;
                 SJMP NEXT;
LIGHT0: CLR P2.0;
              SJMP NEXT;
LIGHT1: CLR  P2.1;
              SJMP NEXT;
LIGHT2: CLR  P2.2;
              SJMP NEXT;
LIGHT3: CLR  P2.3;
              SJMP NEXT;
LIGHT4: CLR  P2.4;
              SJMP NEXT;
LIGHT5: CLR  P2.5;
               SJMP NEXT;
LIGHT6: CLR  P2.6;
              SJMP NEXT;
LIGHT7: CLR  P2.7;
             SJMP NEXT;  NEXT:   CLR RI;
             RETI;
END 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。