经过几天调试,结果是,5片STC12的RX并联输出到一片STC12的TX是可行的,不必经过什么晶体管隔离,乱码问题是由于单片机的软件还有些问题,前端单片机输出时除了必须等待允许输出的脚的高电位,在输出完毕后还必须检测允许输出的脚回到低电位才可以离开,否则在剩余时间里若缓冲里还有数据要输出就会再输出而因为时间不够而产生乱码,程序更正如下:
SENTOUTWAIT: ;THIS IS FOR MERGE WAIT ;CHECK INPUT STATUS BEFORE SENT
JNB P1.5,SENTOUTWAIT
SETB P1.7
MOV R4, 31H ;STORE DATA FOR CLOCK OUT IN R4
LCALL SENTONEBYTE2
MOV R4, 32H ;STORE DATA FOR CLOCK OUT IN R4
LCALL SENTONEBYTE2
JB 38H, SENTOUTWAITEXIT ;ONLY 2 VALID BYTES
MOV R4, 33H ;STORE DATA FOR CLOCK OUT IN R4
LCALL SENTONEBYTE2
SENTOUTWAITEXIT:
JB P1.5, SENTOUTWAITEXIT ;WAIT FOR LOW
CLR 38H
RET
|