单片机通信问题,下面这段程序是什么意思?

2025-05-14 13:29:00
推荐回答(2个)
回答(1):

这是两段通讯发送子程序,目的是将5AH、00H及R7的内容通过串口发送出去。奇怪的是tongxun1和tongxun2是两个完全一样的不知为什么。

tongxun1: MOV SBUF,#5AH ;将#5AH写入SBUF开始通过串口发送数据
JNB TI,$ ;原地循环等待发送完成;完成后TI=1,再执行下一条语句
CLR TI ;清除TI ,准备下一次发送
MOV SBUF,#01H ;发送#01H
JNB TI,$ ;原地循环等待发送完成
CLR TI ;清除TI ,准备下一次发送
MOV SBUF,R7 ;将工作寄存器R7中的内容送到SBUF中发送
JNB TI,$ ;原地循环等待发送完成
CLR TI ;清除TI ,准备下一次发送
RET ;发送结束,退出子程序
;=====================================================
tongxun2: MOV SBUF,#5AH (与tongxun1完全一样)
JNB TI,$
CLR TI
MOV SBUF,#01H
JNB TI,$
CLR TI
MOV SBUF,R7
JNB TI,$
CLR TI
RET

回答(2):

没啥好说的,两段一模一样,都是依次用串口送出5a 01和R7里面的数