标题:
51单片机之间的通讯问题
[打印本页]
作者:
zxc5230
时间:
2016-5-3 00:00
标题:
51单片机之间的通讯问题
小弟想用51单片机搞个多机通讯,可是proteus仿真里面一直没反应。问下单片机之间的收发就只需要把RXD和TXD交叉连接起来就好了可是却没反应。下面是我的程序。求帮忙!主机程序 /*************** writer:shopping.w ******************/#include <reg51.h>
#define uchar unsigned char
#define zj1 1 //从机1
#define zj2 2 //从机2
uchar KeyValue=0; //键值
uchar code str[]="0123456789ABCDEF";
uchar pointer_1=0,pointer_2=0;
void delay(uchar x)
{
uchar i ,j;
while(x--)
{
for(i=0;i<130;i++)
for(j=0;j<x;j++);
}
}
void proc_key(uchar nobe_number) //发送程序
{
delay(200);
SCON=0xc0; // 串行方式3.多机通讯
TMOD=0x20; // T1方式2
TH1=TL1=0xfd;
TR1=1;
TB8=1;
SBUF=nobe_number;
while(TI==0);
TI=0;
TB8=0;
switch(nobe_number){ //切换从机
case 1:{
SBUF=str[pointer_1++];
if(pointer_1>=16)pointer_1=0;
break;
}
case 2: {
SBUF=str[pointer_2++];
if(pointer_2>=16)pointer_2=0;
break;
}
default :break;
while(TI==0);
TI=0;
} }
void main()
{
while(1)
{
P1=0xff;
while(P1==0xff);
switch(P1) //切换从机
{
case 0xef : proc_key(zj1);break;
case 0xfe : proc_key(zj2);break;
}
}
}
作者:
zxc5230
时间:
2016-5-3 00:05
下面是从机的程序,因为想先搞个简单的所以我从机1和从机2只是前面的宏定义的序号不同可以让主机来区分从机。程序都是一样的。求帮忙
/*************** writer:shopping.w ******************/
#include <reg51.h>
#define uchar unsigned char
#define zj1 1
sbit P3_7=P3^7;
uchar code table[16]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
void display(uchar ch){
if((ch>=48)&& (ch<=57))P2=table[ch-48];
else if ( ( ch>=65)&&(ch<=70)) P2=table[ch-55] ;
}
void main()
{
SCON = 0xf0; //串行方式3多机通讯,允许接受,中断标志清零
TMOD = 0x20; //T1方式2
TH1 = 0xfd;
TL1 = 0xfd;
TR1=1;
EA= 1;
ES = 1;
while(1);
}
void receive (void) interrupt 4
{
RI=0;
if(RB8==1){
if(SBUF==zj1){ //如果选择了次从机引脚就翻转
SM2=0;
P3_7=!P3_7; }
return;
}
display(SBUF); //将主机穿过来的型号通过查表来输出
SM2=1;
}
作者:
51mcu
时间:
2016-5-3 06:57
单片机通信的程序实例网上比较多,你百度一下,应该可以找到很多的。
作者:
cjjcjj1
时间:
2016-5-3 12:07
提示:
作者被禁止或删除 内容自动屏蔽
作者:
zxc5230
时间:
2016-5-3 12:19
cjjcjj1 发表于 2016-5-3 12:07
你好!你最后需要几个从机一起工作
其实想搞3个从机
作者:
cjjcjj1
时间:
2016-5-3 12:20
提示:
作者被禁止或删除 内容自动屏蔽
作者:
火星人坏坏
时间:
2016-5-3 12:30
cjjcjj1 发表于 2016-5-3 12:20
留下你的联,系,方,式,我加你
我加你
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1