弱电论坛

标题: 两个单片机之间通讯[转] [打印本页]

作者: cark715    时间: 2006-2-23 09:21
标题: 两个单片机之间通讯[转]

两个单片机之间通讯,用的是串口工作方式3。

1、接好两个单片机之间的三根线:
 单片机A 单片机B
 GND ------- GND
 TXD ------- RXD
 RXD ------- TXD

2、两个单片机用相同的晶振,串行口都采用方式0。
 单片机A发一个字节,单片机B收一个字节。
 如果单片机B能收那个字节,硬件OK!
 单片机A参考程序:
 ORG 0
 MOV TMOD,#0; 可以不写。
 MOV SBUF,#87H; 立即数是你想发的字节。
 SJMP $
 END

 单片机B参考程序:
 ORG 0
 MOV TMOD,#0; 可以不写。
 SETB REN; 允许接受。
LOOP:MOV P1,SBUF; 在P1口显示接受到的数据。
 SJMP LOOP ;循环等待。因为单片机A一个字节发过来需要10个机器周期。
 END

 单片机A不需要硬件。
 单片机B硬件如下:

 元件:
 LED发光二极管8只,即LED0、LED1、LED2 ... LED7。
 1K欧姆1/4W电阻8只,即R0、R1、R2 ... R7。

 连接:
 R0、R1、R2 ... R7一端连接+5V,另一端连接LED0、LED1、LED2 ... LED7阳极,
 LED0、LED1、LED2 ... LED7阴极连接 P1.0、P1.1、P1.2 ... P1.7。
 
 如此连接后,收到的数据是0的,对应的LED亮;收到的数据是1的,对应的LED灭。
 
3、在第二步OK的基础上调试你的程序。 


作者: 沧海骗子    时间: 2006-2-23 20:06
标题: Re:两个单片机之间通讯[转]

单片机串口通讯要点:

1.单片机必须接成至少最小系统.

2.双方设成相同的模式,波特率.

3.分别读写通讯缓冲.

4.等待标志位翻转.

5.设置标志位.

如果是中断方式还须设置中断允许.

这样才能互相交换串口缓冲区数据.


作者: cark715    时间: 2006-2-25 11:59
标题: Re:两个单片机之间通讯[转]
谢谢老师
作者: xinxin4006    时间: 2006-3-15 09:21
标题: Re:两个单片机之间通讯[转]
thanks !!
作者: wow830526    时间: 2007-1-4 17:49
标题: Re:两个单片机之间通讯[转]

fine,thanks!^-^


作者: 红崖    时间: 2009-4-8 19:25
谢谢!




欢迎光临 弱电论坛 (http://bbs.rdzjw.com/) Powered by Discuz! X3.2