使用P0进行8051微控制器串行端口循环

时间:2016-03-25 22:07:27

标签: port uart 8051

为8051和外部设备之间的串行通信列出了部分代码,但我不了解子程序X00D6。程序如何突破循环,因为代码将R7设置为FF然后比较为0?将P0设置为#10然后设置为0有什么作用? P0与R7有什么关系?似乎R7只是在其余代码中使用了寄存器。

    mov r7,#0ffh    ; 00cf   7f ff      
    mov sbuf,a      ; 00d1   f5 99
    acall   X00d6   ; 00d3   11 d6 
    ret             ; 00d5   22        
X00d6:
    mov p0,#10h     ; 00d6   75 80 10   
    mov p0,#0       ; 00d9   75 80 00   
    cjne r7,#0,X00d6    ; 00dc   bf 00 f7   
    ret         ; 00df   22         

1 个答案:

答案 0 :(得分:1)

想出xood6子程序将等到串行传输线上触发中断线(在sbuf上发送的数据)。中断会将R7复位为0,从而结束循环。