No.96489 作者:riva 邮件:wds165@sina.com ID:57981 登陆:2次 文章数:1篇 最后登陆IP:221.220.241.5 最后登陆:2006/8/27 21:49:10 注册:2006/8/8 9:45:57 财富:105 发帖时间:2006/8/8 16:27:47 发贴者IP:221.221.159.185 标题:riva:求教 两个单片机串口通讯程序的错误 摘要:No.96489求教 两个单片机串口通讯程序的错误 小弟是个菜鸟,写了一个单片机串口通讯程序,硬件连接很简单,两片AT89C2051串口互相连接,发送数据的单片机P1.2口接一个LED,发送数据时点亮。以下是小弟的程序,有详细的注释,请大家看看有没有问题。 这是发送程序: FSBZ BIT 00H ;设定发送标志位 LED BIT 92H ;设定p1.2口的标志位 ORG 000H AJMP START ORG 003H RETI ORG 00BH RETI ORG 013H RETI ORG 01BH RETI ORG 023H RETI START: ACALL INIT ;程序初始化 LOOP: ACALL SYTX ;测试连通程序 ACALL FSCX ;发送数据程序 AJMP LOOP ;跳转循环 INIT: MOV SCON,#40H ;串行方式1 MOV TMOD,#20H ;定时器T1方式2 MOV IE,#00H ;不开中断,采用查询模式 MOV PCON,#00H ;SMOD为0 MOV R0,#40H ;在40-4F字节中放入要发送的数据53H MOV R2,#10H AKM: MOV @R0,#53H INC R0 DJNZ R2,AKM MOV TL1,#0E8H ;定时器T1赋初值,波特率为1200 MOV TH1,#0E8H SETB TR1 ;开启T1 RET SYTX: ACALL DELAY ;延时 MOV A,#66H ;发送测试连接字节 MOV SBUF,A WAIT: JNB TI,WAIT CLR TI SETB REN ;接收回传的字节 WAITA: JNB RI,WAITA CLR RI MOV A,SBUF CLR REN CJNE A,#66H,SSN ;比较与所发的字节是否一致 SETB FSBZ CLR LED ;若一致,发送标志位置1,P1.2口置0 AJMP OUTT0 SSN: SETB LED ......
>>返回讨论的主题
|