请大家帮小弟看一段程序,谢谢!

2019-03-24 18:22发布

麻烦哪位帮小弟看一下这段程序呢,现象:串口无输出,检测TI不置位,程序卡在JNB TI,$


YX      EQU     P3.6              ;运行
SR      EQU     P3.2              ;输入 ON=0
JDQ     EQU     P3.3              ;继电器 ON=0
AUXR    EQU     8EH

        ORG     0000H
        SJMP    MAIN
        ORG     000BH
        LJMP    INTT
        ORG     0030H
MAIN:   MOV     P1,#0FFH
        MOV     P3,#0FFH
        LCALL DEL1
        MOV     TMOD,#20H
        ORL     AUXR,#40H  ;定时器1时钟为Fosc,即1T
ORL     AUXR,#80H  ;定时器0时钟1T模式
ANL     AUXR,#0FEH  ;串口1选择定时器1为波特率发生器
        MOV     TH0,#28H
        MOV     TL0,#00H
        MOV     TH1,#0B8H
        MOV     TL1,#0B8H
        CLR     ET1
        SETB    TR1
        MOV     PCON,#80H
        MOV     SCON,#40H
        CLR     TF0
        SETB    TR0
        CLR     ES
        SETB    ET0
        SETB    EA
        SETB    YX
        MOV     R1,#100
LOOP:   JB      SR,$
        CLR     JDQ
        LCALL   SD_KS
        LCALL DEL1
JNB SR,$
        SETB    JDQ
        LCALL   SD_TZ
LCALL DEL2
SJMP LOOP
DEL1: MOV 30H,#183        ;1秒
D1:     MOV 31H,#255
D5:     MOV     36H,#40
        DJNZ    36H,$
DJNZ 31H,D5
DJNZ 30H,D1
RET
DEL2: MOV   32H,#210       ;60秒
D2: MOV 33H,#255
D3: MOV 34H,#255
D4: MOV 35H,#8
DJNZ 35H,$
DJNZ 34H,D4
DJNZ 33H,D3
DJNZ 32H,D2
RET
DEL10MS:MOV     40H,#5
D6:     MOV     41H,#22
D7:     MOV     42H,#248
        DJNZ    42H,$
        DJNZ    41H,D7
        DJNZ    40H,D6
        RET

SD_KS:  CLR     TR0             ;开始录像
        MOV     DPTR,#TAB0
        MOV     R0,#8
SD1:    CLR     A
        MOVC    A,@A+DPTR
        MOV     SBUF,A
        SETB    TI
        ;JNB     TI,$
        LCALL    DEL10MS
        CLR     TI
        INC     DPTR
        DJNZ    R0,SD1
        SETB    TR0
        RET
SD_TZ:  CLR     TR0             ;停止录像
        MOV     DPTR,#TAB1
        MOV     R0,#8
SD2:    CLR     A
        MOVC    A,@A+DPTR
        MOV     SBUF,A
        ;JNB     TI,$
        LCALL    DEL10MS
        CLR     TI
        INC     DPTR
        DJNZ    R0,SD2
        SETB    TR0
        RET
INTT:                           ;每5ms中断一次,500ms取反一下运行指示灯
        DJNZ    R1,RETTI
        CPL     YX
        MOV     R1,#100
RETTI:  RETI
TAB0:   DB      02H,0FEH,00H,00H,01H,00H,00H,01H
TAB1:   DB      02H,0FEH,00H,00H,00H,00H,00H,00H
        END
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。