两个单片机之间的通信,要求一个单片机按键控制另一个单片机的小灯亮?跪求!
用c给你编一下
#include//89s52单片机头文件
#define K1 = P0^0 ; //用宏定义定义按键1
#define K2 = P0^1 ; //用宏定义定义按键2
#define LED = P3^7 ; //用宏定义定义小灯
void LED_shuanshuo (char a );
void main (void)
{
char a ;
while(1)
{
if(k1) a = 5; //此处的值可以从0 - 255 次之间闪烁
if(k2) a = 10 ;//此处的值可以从0 - 255 次之间闪烁
LED_shuanshuo (a );
}
}
void LED_shuanshuo (char a )
{
char b;
for(b = 0 ; b < a * 2 ; b ++)
{
LED ^= 1 ;
}
LED = 1 ; //1 代表灯亮 0 代表灯灭
}
#include
#define uint unsigned int
sbit LED = P1^0;
sbit KEY1 = P1^2;
void delay(uint);
void main(void)
{
LED = 1; //初始化LED熄灭
KEY1 = 1; //赋值KEY1高电平
while(1)
{
if(!KEY1) //检测到按键按下
{
LED = ~LED; /*LED取反,此时LED = 0,灯亮。当松手时,KEY1 = 1,不满足if语句不
进入循环,LED继续保持当前状态即LED = 0,如果再次按下按键,此时检测到KEY1 = 0,进入循
环,LED取反得到LED = 0,灯亮。*/
delay(500); /*此处延迟,保证连续两次按键动作处在程序的延时过程中,不进行其他程序从而不会影响小灯。*/
}
}
}
void delay(uint z) //延时函数
{
uint x, y;
for(x=85; x>0; x--)
for(y=z; y>0; y--);
}
可下载到单片机验证。
刚才考虑一下。不复杂,主从机的设置问题
这个好像要组态吧
#include<reg51.h>
sbit key=P1^0;
main()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
while(1)
{
while(key==1);
SBUF=0x55;
while(!TI);
TI=0;
while(key==0);
SBUF=0xaa;
while(!TI);
TI=0;
}
}
#include<reg51.h>
sbit led=P1^0;
main()
{
TMOD=0x20;
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
while(1)
{
if(RI)
{
RI=0;
if(SBUF==0x55)led=0;
else led=1;
}
}
}
三个单片机互相通信
单片机多机通信,可以设置 一个为 主机,其余为 从机,从机之间 通过 主机进行通讯,主机 TXD 与 从机 TXD 连接, 主机 TXD 与 从机 RXD 连接 ,从机 TXD 连在一起 , RXD 也连在一起。用 令牌协议 设计通讯协议。
两个单片机之间实现通信
1.可以地址与数据共用一个8位口,其他用于控制。2.如果只有一位控制口,可以参考I2C通讯协议,把这一位作为CLOCK,地址和数据线看成DATA,按I2C设计。
基于双口RAM的单片机间通信应该怎么做?
也可从双口RAM读取数据。从通讯的角度看,如果单片机A要将某个信息传递给单片机B,只需按预先约定的地址将相关信息写入RAM,单片机B则可通过双口RAM从该地址读取信息,反之亦然。可以说,双口RAM是单片机之间通讯最高速,最可靠的通讯方式,缺点是连线多,成本偏高。
两个单片机之间的通信,要求一个单片机按键控制另一个单片机的小灯亮?跪...
。。两个单片机要串口通讯才行。。程序很简单,主要做好串口这块能够互传就没问题了。。如果不想做串口,可以直接点,控制那块单片机输出脉冲信号,另一块接收到后点亮led就可以了。。不过这个最好还是串口做。。
两个单片机之间通讯,每个都是单片机+max3232,连接无法通讯,分别和PC...
如果两个单片机串口引脚排布是一样,那么就要使用交叉线。如果两个单片机串口引脚一个是公接头,一个是母接头,那么就要使用直通线。都能和PC通信,那么它们之间要换另一种线。否则就是Tx接Tx,Rx接Rx,自然不能通信
您好请问一下,两个单片机互相传数据的程序怎么写
两个单片机互相传数据,其实很简单的 就是两个单片机的串口通信,当然需要一个串口通信的协议,如指令码、数据长度、数据等等,就是什么指令需要怎么操作、操作数据是什么。如这是两个单片机简单通信操作的仿真实例可以作为参考。include <reg52.h> \/\/ 单片机1 define uchar unsigned char include <stdio...
两个单片机之间如何通信?
两个单片机可以通过串口通信。实现方法可见:http:\/\/hi.baidu.com\/%D7%F6%B6%F8%C2%DB%B5%C0\/blog\/item\/b738c5d010b2ce349a5027ee.html 使用了485,可以增加通信距离,据说可达1200米,但是没有试验过。
三个51单片机实现通信
你好:暂且想到两种办法:通用IO口通信:因为三个单片机通信,一个主机两个从机,那么主机壳引出两个io口作为从机的工作使能信号,比如主机引出P1.0和P1.1,然后两个从机分别接入一io,当主机发出高或低电平使能从机工作,在从机的while里判断接收的io口的电平,当满足条件执行之后的程序;数据传送的...
单片机的几种传输方式的总结
等待受控单元发出一个应答信号,CPU 接收到应答信号后,根据实际情 况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单 元出现故障。 SPI允许单片机和外围设备或者单片机之间高速同步数据传输,SPI可以有主机和从机模式之选,通信的主从机之间通过移位寄存器同时...
51单片机之间能用i2c协议通信吗
可以,两个51单片机之间可以用I2C通信,有同步和异步两种,郭天祥的51书里有具体的讲解,你可以去看看
潜宁核糖: #include sbit key=P1^0; main() { TMOD=0x20; SCON=0x50; TH1=0xfd; TL1=0xfd; TR1=1; while(1) { while(key==1); SBUF=0x55; while(!TI); TI=0; while(key==0); SBUF=0xaa; while(!TI); TI=0; } }#include sbit led=P1^0; main() { TMOD=0x20; SCON=0x...
榆树市13339799516: 单片机与单片机之间怎么通信? - ?
潜宁核糖: 单片机 与 单片机 通讯, 直接串口对接 就可以( TXD1 - RXD2 , RXD1 - TXD2 ). 多机 通讯 设置一主机 ,( TXD1 - RXD2 - RXD3 --- RXDn , RXD1 - TXD2 - TXD3 --- TXDn ). 方式与 PC 与 单片机 相似.注意 波特率 要相同.
榆树市13339799516: 怎样实现两片单片机之间的并行通信 - ?
潜宁核糖: 1.直接使用一个8位口就可以实现. 2.使用8位口以及一个中断和使能端,每个单片机使用10个端口 3.使用8位口以及一个时钟输出和使能端,每个单片机使用10个端口 你也可以参照一些ad/da的使用.
榆树市13339799516: 两个单片机做一个系统,单片机之间用什么方式通信最好啊!! - ?
潜宁核糖: 1、一般采用单片机串口通讯就可以.2、串口通讯采用什么信号,要根据实际情况确定.3、如果单片机之间通讯距离远的话,可以采用RS485通讯方式;如果单片机之间通讯距离近的话,两个单片机串口可以直接通讯.4、如果对通讯速度要求不高的话,也可以用单片机的普通口做,通过外搭电路,实现两个单片机的通讯.5、不论采用什么方式的通讯,通讯协议都是自己定义.
榆树市13339799516: 单片机双机通信是不是要对两个单片机分别写程序? - ?
潜宁核糖: 是啊.针对发送和接受的单片机都要进行编程. 现在的单片机应该都有串口模块(TXD和RXD两个管脚),通过串口发送数据的流程一般都是:1,设置串口模块的相关寄存器,如格式寄存器(8位,有无校验位等),波特率寄存器;2,发送的话就向发送数据寄存器写入数据,接收数据则不需要;3,通过标志位或中断的方式表明发送或接收动作完成. 你用的单片机如果有仿真器就用仿真器验证,或者单片机支持在线调试就使用在线验证的方式.
榆树市13339799516: 如何完成两个80C51单片机之间的通信 - ?
潜宁核糖: 就利用单片机的串口吗.如果两个单片机比较近,1米以内,就可以用TTL方式连接,即是两个单片机的TXD,TXD对接,GND相连,共地. 如果距离再远的,就是RS232接口,实现标准 的串口通信,这很容易的,电路也简单,是最典型的串口通信电路了.
榆树市13339799516: 单片机与单片机之间如何进行串行通信 - ?
潜宁核糖: 1、将两个单片机的RXD与TXD相连2、根据需要传输的数据编写传输协议3、编写串行通信程序,将自己需要发送的数据按照协议进行发送4、编写接收程序,按照协议进行接收5、将两个程序分别写入两个单片机,运行.
榆树市13339799516: 基于双口RAM的单片机间通信应该怎么做? - ?
潜宁核糖: 双口RAM是单片机之间数据交互/共享有效手段(当然也可理解为通讯).其优点就是数据交互/共享非常容易,两个单片机公用一片双口RAM,任何一片可在任意时刻将数据写入双口RAM,也可从双口RAM读取数据.从通讯的角度看,如果单片机A要将某个信息传递给单片机B,只需按预先约定的地址将相关信息写入RAM,单片机B则可通过双口RAM从该地址读取信息,反之亦然.可以说,双口RAM是单片机之间通讯最高速,最可靠的通讯方式,缺点是连线多,成本偏高.
榆树市13339799516: 关于两个89s52单片机之间通信的问题 - ?
潜宁核糖: 两个单片机可以共地,当然,如果有必要的话可以用光耦隔离一下就不用共地了(看你对干扰要求高不高了),两个单片机通信可以直接用串口通信(也可以用SPI,看你用什么单片机了),通信倒是很简单,制定一个通信协议就行了,32个传感器和电机控制稍有点难度,不过只要你用心搞,应该也不成什么问题
榆树市13339799516: 两个不同型号的单片机可以双机通讯吗 - ?
潜宁核糖: 可以通过串口通信.51跟ARM都有串口 调整好波特率就可以直接通信了 电平兼容串联一个电阻就可以了.