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

两个单片机

发布时间: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、有红外收发,可采用红外收发串行通讯

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

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

阅读全文

与两个单片机相关的资料

热点内容
程序员上臂式电脑 浏览:56
php检测中文 浏览:101
压缩性骨折半年 浏览:561
如何云服务器解压文件 浏览:932
单片机93加9E的psw 浏览:723
福建少儿频道哪个app可以看 浏览:393
印度加密代币机票 浏览:418
哪个app可以看江西2套 浏览:680
哪个小说app好用还免费 浏览:665
win7ping命令 浏览:507
程序员看图识算法 浏览:949
vs设置远程编译 浏览:600
速腾汽车怎么给安卓手机充电 浏览:270
苹果安卓换机用什么软件好 浏览:262
华为通话加密电话 浏览:62
什么服务器可以代替计算机 浏览:963
服务器当电脑用怎么安装显卡 浏览:523
回女友消息神器python 浏览:52
App分类框怎么添加 浏览:548
海尔帅王子冰箱压缩机启动跳闸 浏览:490