导航:首页 > 操作系统 > 单片机与pc机通信

单片机与pc机通信

发布时间:2022-10-19 12:45:26

1. PC机与单片机通信问题

多个单片机与PC机通讯是可以,但是这种方法个人觉得不稳定、不够完善 如果需要远距离传输的话,可以使用RS485 RS-485最大的通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。 因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。 以上就是RS485的有点,它的应用也多 希望我的回答能带给楼主一点帮助。

2. 89c52单片机怎么实现与PC机之间通信(详细点)

有两种方法与PC通信:

1,同1楼观点。加接一个USB转串口的硬件设备(网上很容易买到),这样既解决了数据线的连接又解决了单片机供电问题,但PC端可能需要安装USB驱动,而且要碰运气,往往因USB驱动问题无法一次成功;
2,通过RS232接口与PC通信,当然也少不了硬件支持,自己做或到网上买一RS232模块,步骤1:将模块9针D型接口连接至电脑COM1或COM2,按模块的标注将RXD和TXD及公共地连接至单片机相关电路,步骤2:通过PC端USB接口取电并连接至单片机相关电路,USB接口的PIN1通常为VCC(正电源端)PIN4通常为GND(负电源端)。这样做可能麻烦一些,但一次成功的概率会高很多。
如果你的电脑硬件配置中没有RS232接口的COM1或COM2,那你只能采用第1种方法了。

3. 单片机和PC机可以通过哪些方式进行通信(新人)

8位机一般不带网口,可以外接网口芯片如RTL8019等在TCP、IP协议的基础上通信...

4. 单片机与PC机的通讯有哪些方式

串口,并口,usb,jtag.一般串口都很好通信,因为单片机里有这样的寄存器,只要把数写入这些寄存器然后设置一下,让单片机开始串口通信就行了。当然,PC机上要有串口接收软件才能读到这些数的。

5. 单片机跟PC机通信 PC机发送数据,单片机收到后将数据在数码管显示,同时将数据返回给PC机,求程序

单片机与PC机串口通信,单片机的串口收发程序很简单,网上也非常多,对串口初始后,设置好波特率,开串口中断,就可以等待接收PC的数据了,如果PC发单字节数据,收到后原样发送即可。

6. 单片机和pc机通过rs232进行串口通信

这个简单,俺就送你一个串口发送反馈的程序吧


利用电脑上的串口助手,向单片机发送数据,单片机原封不动的再反馈回来


若满意,请记得采纳,谢谢



/***************************************************************************/

//串口波特率 9600 ,单片机晶振 11.0592

#include <REG52.h> //通用89C52头文件

char aa,fe=0;

/***************************************************************************/

void MScomm(void)//串口初始化

{

TMOD=0x20; //定时器1工作方式2,8位,,定时器0工作方式1,16位

PCON=0x00; //SMOD=0,不加倍

SCON=0x50; //串口工作方式1,允许接收

IE=0x92; //启用串口中断与定时器0中断,并开启总中断

TH1=0xfd; //定时器1设置初值,波特率9600bit/s,

TL1=0xff; //晶振频率 11.0592

TR1=1; //启动定时器T1

}

/***************************************************************************/

void main(void)//主函数

{

MScomm(); //串口初始化

while(1) //主循环

{

if(fe==1) //如果接收过数据

{

SBUF=aa; //把接收到的字符发送出去

while(!TI);//等待发送完成

TI=0; //清空发送标志位

fe=0; //设置标识符

}

}

}

/***************************************************************************/

void ser() interrupt 4//串口接收,中断方式

{

if(fe==0) //如果没接收过数据

{

aa=SBUF; //接收一个字符

while(!RI); //等待接收完成

RI=0; //清空接收标志位

fe=1; //设置标识符

}

}

/***************************************************************************/

7. 怎么实现单片机和PC机进行SPI通讯

实现单片机和PC机进行SPI通讯方法:
1:电路设计
设计的电路,利用两片AT89C52芯片,一片做为发送模块,一片做为接收模块。分别编写发送和接收程序,实现数据的发送和接受。通过LED显示接收到的数据。通过示波器观察输出的波形。
2:编写程序
根据设计好的电路及题目要求分别编写数据发送程序和数据接收程序。 ①:数据发送程序 #define
uchar unsigned char
#define uint unsigned int

#define ulong unsigned long
//--------------------------- #include <REG52.H>
#include<STDIO.H>
//--------------------------- sbit SPICLK = P1^0; //时钟信号 sbit MOSI = P1^1; //主器件数据输出,从器件数据输入 sbit MISO = P1^2; //主器件数据输入,从器件数据输出
sbit SS = P1^3; //从器件使能信号
void Dat_Transmit(uchar dat) //发送数据程序
{ uchar i,datbuf;
datbuf=dat;
SS=1; while(SS){;} for(i=0;i<8;i++) {
while(SPICLK){;} if(datbuf&0x80) MISO=1; else
MISO=0;
datbuf=(datbuf<<1); while(~SPICLK){;}
}
}
void main(void)
{ uchar i; while(1) {
for(i=0;i<10;i++) {
Dat_Transmit(i);
}
}
}
②:数据接收程序 #define uchar unsigned char
#define uint unsigned int #define ulong
unsigned long
//--------------------------- #include <REG52.H>
#include<STDIO.H>
//--------------------------- sbit SPICLK = P1^0; //时钟信号 sbit MOSI = P1^1; //主器件数据输出,从器件数据输入 sbit MISO = P1^2; //主器件数据输入,从器件数据输出 sbit SS = P1^3; //从器件使能信号

//--------------------------- void Nop(void)
{ ;
}
void Delay(uchar t) { while(t--){;}
}

uchar Data_Receive(void) //数据接收程序
{ uchar i,dat=0,temp; bit
bt;

SPICLK=1; MISO=1; SS=0;
//选中器件
Nop(); Nop();
for(i=0;i<8;i++) { SPICLK=1;
Nop()
Nop(); Nop(); SPICLK=0; Nop(); Nop();
bt=MISO; if(bt)
temp=0x01;
else
temp=0x00;
dat=(dat<<1);

dat=(dat|temp);
}
SS=1; SPICLK=1;
return dat;

}
void main(void)
{ uchar exdat; uchar i=0;

uchar code
table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F}; P2=0;
while(1) { exdat=Data_Receive(); P0=table[exdat];
for(i=0;i<200;i++)
Delay(200);
}
}
3:电路仿真
将数据发送程序生成的HEX文件载入到发送数据的模块,将数据接收程序生成的HEX文件载入到接收数据的模块。在输出端口连接LED灯等到输出信息,利用示波器观察输出波形。
4:SPI总线简介
SPI ( Serial Peripheral Interface ——串行外设接口) 总线是Motorola公司推出的一种同步串行接口技术。SPI总线系统是一种同步串行外设接口,允许MCU(微控制器)与各种外围设备以串行方式进行通信、数据交换。外围设备包括FLASHRAM、A/ D 转换器、网络控制器、MCU 等。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。其工作模式有两种:主模式和从模式。SPI是一种允许一个主设备启动一个从设备的同步通讯的协议,从而完成数据的交换。也就是SPI是一种规定好的通讯方式。这种通信方式的优点是占用端口较少,一般4根就够基本通讯了(不算电源线)。同时传输速度也很高。一般来说要求主设备要有SPI控制器(也可用模拟方式),就可以与基于SPI的芯片通讯了。
利用SPI总线可在软件的控制下构成各种系统。如1个主MCU和几个从MCU、几个从MCU相互连接构成多主机系统(分布式系统)、1个主MCU和1个或几个从I/O设备所构成的各种系统等。在大多数应用场合,可使用1个MCU作为主控机来控制数据,并向1个或几个从外围器件传送该数据。从器件只有在主机发命令时才能接收或发送数据。其数据的传输格式是高位(MSB)在前,低位(LSB)在后。
当一个主控机通过SPI与几种不同的串行I/O芯片相连时,必须使用每片的允许控制端,这可通过MCU的I/O端口输出线来实现。但应特别注意这些串行I/O芯片的输入输出特性:首先是输入芯片的串行数据输出是否有三态控制端。平时未选中芯片时,输出端应处于高阻态。
若没有三态控制端,则应外加三态门。否则MCU的MISO端只能连接1个输入芯片。其次是输出芯片的串行数据输入是否有允许控制端。因为只有在此芯片允许时,SCK脉冲才把串行数据移入该芯片;在禁止时,SCK对芯片无影响。若没有允许控制端,则应在外围用门电路对SCK进行控制,然后再加到芯片的时钟输入端;当然,也可以只在SPI总线上连接1个芯片,而不再连接其它输入或输出芯片。
SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。
5:SPI总线工作原理
SPI总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器。外围设备、网络控制器、LCD显示驱动器、A/D转换器和MCU等。
接口包括以下四种信号:
(1)MOSI – 主器件数据输出,从器件数据输入;

(2)MISO – 主器件数据输入,从器件数据输出;

(3)SCLK – 时钟信号,由主器件产生;
(4) SS –从器件使能信号,由主器件控制,有的IC会标注为CS(Chip select)。 在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。

8. pc机与单片机通信

1、不知道你用什么单片机,无论什么单片机,串口通信都是标准的RS232,你在单片机中开串口通信,设置好数据位数和波特率,发送数据即可。

2、串口调试只是一个简单的上位机小软件,你网上随便搜索一下,一大堆。这种类似的软件可以接收外部传输给电脑的串口数据,当然,电脑也可以通过此软件将数据传输给外部设备,在这里就是指你的单片机,它们的协议是RS232。

3、PL2303网上有很多资料的,你要学会自己先搜索资料,尝试自己解决问题,不要一遇到问题就先去问人,实在自己解决不了再去求助,否则会阻碍你的进步。当然,不是说你不会进步,只是进步得会慢很多很多。

自已解决问题,也是一种能力的体现。

PL2303的图,我给你一份吧,我一直用着的,保证是可以实现的,请放心使用。就在文件里面有,你找一下PL2303那个模块电路就可以找到了。

有问题互相交流,大家一起进步!

9. 如何实现(电脑)PC机与单片机的串行通信

硬件部分有二种情况
1、电脑带有原生串口,就是主板上带有串行口,这个情况就太好办了。用“串口调试助手”测试一下就可以用VB写程序了。电脑和单片机用232芯片进行接口转换。
2、电脑没有原生串口,就是主板上没有串行口,这个情况有点麻烦。要用USB转串口的模块,装好驱动后会在“设备管理器”中出现一个串口,直接当原生串口用就行了,而且经过USB转出来的串口一般都TTL电平的,也就是可以直接接单片机不用232芯片的。不过这也要看你用的是哪种模块了,具体的要看模块说明书。
最后要注意的是波特率和单片机晶振的选用,不知道你用的是什么型号的单片机。

软件部分,可以用简单的VB编写上位机软件,这方面网上有很多的代码。单片机部分只要按照普通的串行写程序就行了,测试时可以用“串口调试助手”这款软件,调试好后再写VB程序。
上述是我们做项目和产品的经验,希望对你有所帮助。

10. pc机和单片机的串行通信怎样实现!

pc机是上位机,单片机是下位机,首先确定单片机同pc连接号232
接口的或者usb转232 视你的单片机类型而定下载个软件串口调试助手或者windows自带的超级终端调试,写好的程序将字符串发送给pc机或者用软件将字符串写如单片机通过数码管或者液晶显示,其中牵涉通讯协议和串口设置,程序生活如歌如上已经说了,可以借鉴下。是在没有明了,找些串口调试的资料在单片机开发版里面,许多都带了!

阅读全文

与单片机与pc机通信相关的资料

热点内容
python迭代是累计吗 浏览:415
程序员哪些平台接私活 浏览:173
单片机充电电路原理图 浏览:1000
android软件云服务器地址 浏览:213
如何用服务器做内网穿透服务 浏览:401
oracle加密表空间重置密码 浏览:302
mdk编译后目标文件 浏览:615
老人动手解压 浏览:720
小米sd卡解压 浏览:996
程序员那么可爱陆漓替老袁说情 浏览:28
当女程序员遇见问题 浏览:746
32位编译器什么意思 浏览:355
php多参数函数 浏览:17
通达信板块动作源码 浏览:751
matlab完全自学一本通pdf 浏览:251
php源码本地安装 浏览:961
服务器怎么用不会断电 浏览:302
主从服务器有什么用 浏览:213
jstlpdf 浏览:16
安卓原神在哪个app下载 浏览:810