打印

急急急急!!!!

[复制链接]
1184|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jakey0225|  楼主 | 2007-10-26 15:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ov, hm, AD, AI, TI
这是串口中断服务程序
UART:    PUSH ACC
    PUSH PSW
    
    JBC TI,OVER    ;UART INTERRUPT
WAIT:    JBC RI,READ
    AJMP WAIT
READ:    MOV R2,#0EH
    MOV R0,#40H
    MOV A,SBUF
     CJNE A,30H,OUT
    ;SETB TB8
    MOV A,#00H
    MOV SBUF,A
    DEC R2
    LJMP OUT
CON:    ;CLR TB8
    MOV A,@R0
    MOV SBUF,A
    INC R0
    LJMP OUT
OVER:    DJNZ R2,CON
OUT:    
    POP PSW
    POP ACC
    RETI
完成接收一个字节的任务,其中这一个字节是地址,须与存放在30H的内容一致,然后发送本机地址加24字节数据,与计算机串口调试程序调试时(用的是串口调试助手),串口收发正常。当我想收两个字节时,程序改成下面所示:
但是调试串口没反映。请帮我找出问题所在,谢谢!!

UART:    PUSH ACC
    PUSH PSW
    
    JBC TI,OVER    ;UART INTERRUPT
WAIT:    JBC RI,READ
    AJMP WAIT
READ:    MOV R2,#1AH
    MOV R0,#40H
    MOV A,SBUF
     CJNE A,30H,REC
    SETB 00H
    LJMP OUT
REC:    JNB 00H,OUT
    MOV A,SBUF
    MOV 80H,A
    CLR 00H
    MOV A,30H
    MOV SBUF,A
    DEC R2
    LJMP OUT
CON:    ;CLR TB8
    MOV A,@R0
    MOV SBUF,A
    INC R0
    LJMP OUT
OVER:    DJNZ R2,CON
OUT:    
    POP PSW
    POP ACC
    RETI
  

相关帖子

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

本版积分规则

25

主题

45

帖子

0

粉丝