以下是引用guest在2003-8-18 13:30:41的发言: 求助,我的51和串口通信为什么总调不出来?各位大侠帮忙看看下面的51串口通信程序,连发64,检测51和串口的通信 我用串口精灵检测到51发回的数据是下面: 64,ff,fb,ff,f6,ff,ff,ff 偶尔有64出现,其它都是乱七八糟的数据。 串口精灵的设置时4800波特率,8数据,1停止,无校验,rts控制无效。 帮帮看看是程序问题,还是设置问题,还是硬件问题 头一次调51和串口,总也调不出来,都快急死啦 谢谢啦! ;FOR BUTTON TESTR ORG 0000H LJMP START ;ORG 0023H ;LJMP RECVDATA ORG 0050H START: MOV TMOD,#20H ;* MOV TL1,#0FAH ;* MOV TH1,#0FAH;4.8K ;* MOV PCON,#0H ;* MOV SCON,#40H ;* MOV SP,#50H CLR EA CLR ES CLR ET1 SETB TR1 ;* ;SETB EA ;SETB ES ;SETB ET1 MOV R1,#64H TRANDATA: CLR TI ;PUSH A MOV A,R1 MOV SBUF,A WAIT1: JNB TI,WAIT1 ;POP A CLR TI LCALL DELAY LJMP TRANDATA DELAY: MOV R7,#0FFH DELAY1: NOP NOP DJNZ R7,DELAY1 RET |