导航:首页 > 操作系统 > 两个单片机

两个单片机

发布时间:2022-01-21 06:37:41

‘壹’ 可不可以直接将两个单片机的引脚短接在一起

可以的,但是建议你配置下IO口的方向(输入或输出)

‘贰’ 两个51单片机之间的通讯程序

这个取决于你要传输的数据格式,我给你一个相当于库函数的东西,要传输什么数据就调这里的函数好了。
###################################################################
/*
文件名:uart.h
作者:北京交通大学 思源0702 杨孜
更改时间:2009 9 21

程序描述: STC12C5A60S2的串口头文件,适用于所有标准51单片机。
功能: 实现了字符串(字节数组)的发送,和单字节接受。
限制: 其中的接受部分还无法将信息传出去。所以用的时候需要定义全局变量,用于接收中断中的信息。
晶振:11.0592M更改须重新计算定时器值
*/
#ifndef _uart_h
#define _uart_h

#include "STC51.h"

/*
SCON: SM0 SM1 SM2 REN TB8 RB8 TI RI
TCON: TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
TMOD: GATE1 C/T M1 M0 GATE0 C/T M1 M0
TL0
TH0
TL1
TH1
IE: EA - ET2 ES ET1 EX1 ET0 EX0
PCON: SMOD SMOD0 - POF GF1 GF0 PD IDL
x=256-f*(SMOD+1)/384/波特率
本次试验:晶振:11.0592,倍频,定时器1初值0xff,SMOD=1,则波特率为115200

*/
/////////////////////////////////////////////////////////
/*
函数声明
*/
void uart_initial();
void uart_testbusy();
void uart_write(uch *s,uch a);
void uart_writesingle(uch a);
/////////////////////////////////////////////////////////
/*
全局变量声明
*/
uch uart_busy;
uch *uart_s; //字符串指针,接受时只接受命令,所以不涉及RXbuffer
uch uart_p; //字符数量
//////////////////////////////////////////////////////////////////////////////////
/*
功能:用于串口与PC通信,10位异步奇偶校验
入口:
返回:无
说明:模式1、2、3有波特率加倍
模式0:f/12
模式2:f/64
模式1、3:f/32/12/(256-x)
*/
void uart_initial()
{
uart_busy=0;
SCON=0x50; //串口模式1,10位异步无奇偶校验,与PC通信,准备好接受(RI=0)
// PCON|=0x80; //倍频

TMOD|=0x20; //定时器模式2,自动装填
TL1=0xfd;
TH1=0xfd; //19200 晶振:11.0592(与51一样)
TR1=1; //开始计时
IE&=0xf7; //关定时器1的中断
IE|=0x90; //打开串口中断
uart_p=0;
}
void uart_testbusy() //这里以后改成查询缓冲区是否满。
{
uint i=65535;
while(i--)
{
if(!uart_busy)
{
return;
}
}
//这里添加超时处理语句
}
void uart_write(uch *s,uch geshu)
{
uart_s=s;
uart_p=geshu-1; //在中断中检测此位时,已经发了一个字节。
uart_writesingle(s[0]);
}
void uart_writeuint(uint a)
{
uch b;
b=(uch)(a>>8);
uart_writesingle(b);
b=(uch)(a & 0x00ff);
uart_writesingle(b);
}
void uart_writesingle(uch a)
{
uart_testbusy();
uart_busy=1;
SBUF=a;
}
void uart() interrupt 4
{
ES=0;

if(TI==1)
{
TI=0;
if(uart_p)
{
uart_p--;
SBUF=*(++uart_s);
}
else
{
uart_busy=0;
}
}
else if(RI==1)
{
RI=0;
uart_busy=0;
switch(SBUF)
{
case 1:uart_write(hello,11); //这里怎么把信息传出去?
};
}
ES=1;
}
////////////////////////////////////////////////////////////////////////////////////
#endif

‘叁’ 两个单片机之间如何通信

两个单片机可以通过串口通信。
实现方法可见:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b738c5d010b2ce349a5027ee.html
使用了485,可以增加通信距离,据说可达1200米,但是没有试验过。

‘肆’ 两个单片机按在同一个板子上

大致的构思框架这样是可以的,做一个遥控飞机要考虑的很多,具体能否成功就得看后面的具体方案、选择的器件,特别是图像视频的无线传输这是很有难度的。

‘伍’ 两台单片机可以同时使用一个AT24C02芯片吗

AT24C02是I2C总线的EEPROM,I2C总线支持一主多从。你要用两台单片机当主机访问同一个从机是不行的。
两台单片机之间的通信如果电平一样的话是可以直接把IO引脚接起来的

‘陆’ 两个单片机之间的无线传输

选择通讯模块完成传输
1:用rf905进行数据传输,两块单片机都通过串口将数据发送给905,然后通过905发送出去。
2:用PT2262发也可以,如果你不考虑成本的话,你可以用51的一个端口控制一个继电器当按键用
建议nrf24l01这个模块,spi协议,程序不是很难写

‘柒’ 跪求 两个单片机之间的全双工通信 这个后天就要交了, preteus电路图,单片机程序

显然你描述和实际要求是矛盾的,描述来看,要求全双工通讯,这是要用串行通讯方式实现。而描述中内容:“要求全双工通信电路所实现的功能为:将主机 U1的 P0 口依次发送数字 0 ~ 9,由从机 U4 的 P2 口接收数据,接收数据后,从机 U4 将收到的数据加 1,然后通过 P0 口发送到主机 U1 的 P2 口。”这是要用并行通讯方式来实现,显然两者要求矛盾,无法实现了。题目需要修改才行的。我想可能是描述有误。

‘捌’ 如何一个单片机控制两另个单片机

一种是利用总线方式进行主从机通讯实现,还有就是单方控制,也就是说主机改变引脚状态后被控制单片机主动查询此引脚并做出相应的动作即可

‘玖’ 两个单片机之间的通讯,只有普通IO口。

1.两个单片机如果有串口,可使用串口通讯
2、有USB口,可采用USB模拟串口通讯
3、有红外收发,可采用红外收发串行通讯

‘拾’ 如何实现两个单片机互传文件

利用两个单片机的串口就可以了。串口的收发程序也很简单,任何一本书都有实例。

阅读全文

与两个单片机相关的资料

热点内容
php个人简历模板 浏览:911
sshkeygenlinux 浏览:655
java包的创建 浏览:682
vlog用什么app可以拍长视频 浏览:578
安卓手机为什么总是出现蓝屏 浏览:255
u盘超级加密3000加密后 浏览:879
sql插入数据命令 浏览:470
u盘根目录文件夹是哪个 浏览:693
新预算法预算编制 浏览:622
perl怎样遍历文件夹 浏览:636
安卓手机如何更好的保护隐私 浏览:316
程序员书籍知乎 浏览:154
王者安卓v区怎么转移到苹果 浏览:449
加密区卸载 浏览:122
女程序员压力大想辞职 浏览:681
算法体现在哪里 浏览:219
阿里云个人服务器推荐 浏览:363
汽车识别视频文件夹 浏览:110
档案服务器不可用是什么意思 浏览:525
有什么app能看到老婆在哪 浏览:562