梦的飞翔 发表于 2012-4-12 11:30:21

单片机与单片机之间的多机通信问题,求解

如何将两个单片机连接在一块,分别给两个单片机下载一个串口通信的程序,使它们之间可以互相进行通信,串口通信的程序要怎么写???我用的是51单片机STC89C52

OyutianO 发表于 2012-4-12 11:34:51

写一个协议 给两个片子编号 一个编为1 一个编为2 就可以控制了

longwu537 发表于 2012-4-12 14:17:40

对着两块单片机大喊一声:你们给我通讯,然后它们就能互相通讯了……

tcw_xny 发表于 2012-4-12 14:23:49

串口收发,分配地址

梦的飞翔 发表于 2012-4-12 15:07:21

你手上有现成的程序吗???

梦的飞翔 发表于 2012-4-12 15:07:57

tcw_xny 发表于 2012-4-12 14:23 static/image/common/back.gif
串口收发,分配地址

你手上有现成的程序吗?

tcw_xny 发表于 2012-4-12 15:20:49

梦的飞翔 发表于 2012-4-12 15:07 static/image/common/back.gif
你手上有现成的程序吗?

我的程序中双机通信是485的

梦的飞翔 发表于 2012-4-12 15:38:04

tcw_xny 发表于 2012-4-12 15:20 static/image/common/back.gif
我的程序中双机通信是485的

我用的是51单片机,发一个给我吧,我学习学习,这是我的邮箱454363448@qq.com

梦的飞翔 发表于 2012-4-12 15:38:51

longwu537 发表于 2012-4-12 14:17 static/image/common/back.gif
对着两块单片机大喊一声:你们给我通讯,然后它们就能互相通讯了……

他们要是不通信我就把它砸了

shi_90 发表于 2012-4-12 16:26:06

串口不能并着用,通过TTL好像不好使,可以转成485就行了~!!

tcw_xny 发表于 2012-4-12 16:35:14

梦的飞翔 发表于 2012-4-12 15:38 static/image/common/back.gif
我用的是51单片机,发一个给我吧,我学习学习,这是我的邮箱

等我晚上回去的,现在手里没有

梦的飞翔 发表于 2012-4-12 21:14:38

tcw_xny 发表于 2012-4-12 16:35 static/image/common/back.gif
等我晚上回去的,现在手里没有

嗯,谢谢啦

bangbangji 发表于 2012-4-12 21:19:51

上面的怎么这么多哥都不看文章回帖的么?可能是lz初学,标题描述得有点不对,lz问的是两个单片机“它们之间可以互相进行通信”,不是你们常讨论的多机通信好吧。

tcw_xny 发表于 2012-4-13 08:09:25

梦的飞翔 发表于 2012-4-12 21:14 static/image/common/back.gif
嗯,谢谢啦

几年前写的程序,风格啊思路啊什么的很差,看看吧

#include<STC12C5A60S2.h>
#include "delay.h"
#include "CTR485.h"
#include "UART.h"


sbit signal=P3^7;

sbit key0=P1^0;
sbit key1=P1^1;
sbit key2=P1^2;
sbit key3=P1^5;
sbit key4=P1^6;
sbit key5=P1^7;

unsigned char num;
unsignedcharRec_Byte;


void main()
{
        USART_PORT1();
        signal=1;
        num=0x00;
        delay_ms(2000);
        /******************key0*/
        if(key0==1)
                num=num|0x01;
        else
                num=num;delay_ms(2000);
        /*********************/
        /******************key1*/
        if(key1==1)
                num=num|0x02;
        else
                num=num;delay_ms(2000);
        /*********************/
                /******************key2*/
        if(key2==1)
                num=num|0x04;
        else
                num=num;delay_ms(2000);
        /*********************/
                /******************key3*/
        if(key3==1)
                num=num|0x08;
        else
                num=num;delay_ms(2000);
        /*********************/
                /******************key4*/
        if(key4==1)
                num=num|0x10;
        else
                num=num;delay_ms(2000);
        /*********************/
                /******************key5*/
        if(key5==1)
                num=num|0x20;
        else
                num=num;delay_ms(2000);
        /*********************/
        //TXbuf(num);
        rec();
        while(1)
        {
                if(Rec_Byte==num)
                {
                        send();
                        Rec_Byte=0;
                        delay_ms(2000);
                        if(signal==0)
                                TXbuf(0xbb);
                        else
                                TXbuf(0xaa);
                        run=1;
                  rec();
                }
        }
}

longwu537 发表于 2012-4-13 08:27:24

梦的飞翔 发表于 2012-4-12 15:38 static/image/common/back.gif
他们要是不通信我就把它砸了

其实我发这个帖子不是想要讥讽你什么的,主要是觉得你发帖子问这事,不如在论坛搜搜,之前这类讨论很多,还有就是论坛很讨厌伸手党,等着别人给程序,留邮箱要代码,或者QQ私下交流什么的,你还是在 论坛里搜搜吧

lingaogang 发表于 2012-4-13 08:31:24

对的。坛子里面有些有现成的,找一下就好了。不过也不要责怪人家,大家都是这样走过来的
页: [1]
查看完整版本: 单片机与单片机之间的多机通信问题,求解