經過幾天調試,結果是,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
|