我在调串口通信,是用51和PC通信,可误码太高了<br />连线图<br />51---ADM2483(MAX485)----232转485-----PC。<br />程序如下:<br />ORG 0030H<br />START: MOV SP,#60H ;设置堆栈<br /> MOV SCON,#50H ;模式1,SM1=1,REN=1<br /> MOV TMOD,#20H ;模式2,定时器1<br /> MOV TH1,#0FDH ;波特率9600<br /> MOV TL1,#0FDH<br /> MOV PCON,#00H<br /> SETB TR1 ;启动定时器1<br /><br />A1: JB RI,UART<br /> JMP A1<br /><br />UART: CLR P2.4 ;接收<br /> CLR RI<br /> LCALL DELAY<br /> MOV A,SBUF<br /> MOV R0,A<br /> LCALL DELAY<br />A3: JB RI,A2<br /> JMP A3<br /> <br />A2: SETB P2.4 ;发送 <br /> CLR TI<br /> LCALL DELAY <br /> MOV A,R0<br /> MOV SBUF,A<br /> LCALL DELAY<br />A4: JB TI,UART<br /> JMP A4<br /><br />DELAY: MOV R4,#20<br />D2: MOV R5,#20<br /> DJNZ R5,$<br /> DJNZ R4,D2<br /> RET<br /><br /> END |
|