MOV TMOD,#20H MOV TL1,#0EBH MOV TH1,#0E8H SETB TR1 MOV SCON,#0C0H MOV PCON,#00H MOV R0,#50H MOV R7,#10H TRS:MOV A,@R0 MOV C,P MOV TB8,C MOV SBUF,A WAIT:JNB TI,$ CLR TI INC R0 DJNZ R7,TRS RET 这是一段串行发送子程序,有如下疑问,各位帮忙解答一下,谢谢 1.采用方式2进行串行通讯,使用定时器1作为波特率发生器,是不是TF1每次溢出置位后发送一个二进制位 2.SETB TR1启动定时器1,溢出后TF1置1,对于TF1的清0操作是通过软件完成还是硬件自动清TF1,如果是硬件自动清,那么哪条指令会使硬件自动清TF0 3.MOV SBUF,A启动发送之前需要不需要判断接收端是否空闲 4.一帧数据发送完了,发送端如何判断接收端接收的数据是否正确 |