以PC为上位机,单片机为下位机双向通信
PC 机与单片机通信(RS232 协议).doc
PC 机与单片机通信(RS232 协议)目录:1、单片机串口通信的应用2、PC控制单片机IO口输出3、单片机控制实训指导及综合应用实例4、单片机给计算机发送数据:[实验任务]单片机串口通信的应用,通过串口,我们的个人电脑和单片机系统进行通信。
个人电脑作为上位机,向下位机单片机系统发送十六进制或者ASCLL码,单片机系统接收后,用LED显示接收到的数据和向上位机发回原样数据。
[硬件电路图][实验原理]RS-232是美国电子工业协会正式公布的串行总线标准,也是目前最常用的串行接口标准,用来实现计算机与计算机之间、计算机与外设之间的数据通讯。
RS-232串行接口总线适用于:设备之间的通讯距离不大于15m,传输速率最大为20kBps。
RS-232协议以-5V-15V表示逻辑1;以+5V-15V 表示逻辑0。
我们是用MAX232芯片将RS232电平转换为TTL电平的。
一个完整的RS-232接口有22 根线,采用标准的25芯插头座。
我们在这里使用的是简化的9芯插头座。
注意我们在这里使用的晶振是11.0592M的,而不是12M。
因为波特率的设置需要11.0592M的。
“串口调试助手V2.1.exe”软件的使用很简单,只要将串口选择‘CMO1’波特率设置为‘9600’数据位为8 位。
打开串口(如果关闭)。
然后在发送区里输入要发送的数据,单击手动发送就将数据发送出去了。
注意,如果选中‘十六进制发送’那么发送的数据是十六进制的,必须输入两位数据。
如果没有选中,则发送的是ASCLL码,那么单片机控制的数码管将显示ASCLL码值。
[C语言源程序]#include "reg52.h" //包函8051 内部资源的定义unsigned char dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容sbit gewei=P2^4; //个位选通定义sbit shiwei=P2^5; //十位选通定义sbit baiwei=P2^6; //百位选通定义unsigned char code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,}; //1~10 void Delay(unsigned int tc) //延时程序{while( tc != 0 ){unsigned int i;for(i=0; i<100; i++);tc--;}}void LED() //LED显示接收到的数据(十进制){gewei=0; P0=table[dat%10]; Delay(10); gewei=1;shiwei=0; P0=table[dat/10]; Delay(10); shiwei=1;baiwei=0; P0=table[dat/100]; Delay(10); baiwei=1;}///////功能:串口初始化,波特率9600,方式1/////////void Init_Com(void){TMOD = 0x20;PCON = 0x00;SCON = 0x50;TH1 = 0xFd;TL1 = 0xFd;TR1 = 1;}/////主程序功能:实现接收数据并把接收到的数据原样发送回去///////void main(){Init_Com();//串口初始化while(1){if ( RI ) //扫描判断是否接收到数据,{dat = SBUF; //接收数据SBUF赋与datRI=0; //RI 清零。
pc机和单片机之间的通信
pc机和单片机之间的通信在当今信息化社会中,计算机技术得到了广泛应用和发展,而PC 机和单片机作为计算机的两个重要组成部分,对于信息传输和通信起着至关重要的作用。
本文将重点探讨PC机和单片机之间的通信方式以及相互之间的优缺点。
一、串口通信串口通信是PC机和单片机之间最常见的通信方式之一。
通过串口通信,PC机和单片机可以进行双向数据传输。
串口通信主要通过串行接口来实现,传输速度相对较慢,但稳定可靠,适用于数据量较小且对实时性要求不高的应用场景。
同时,串口通信具有成本低、易于实现的优点,因此在一些简单的嵌入式系统中得到了广泛应用。
二、并口通信并口通信是PC机和单片机之间另一种常见的通信方式。
并口通信通过并行接口来实现,传输速度相对较快,适用于数据量较大且对实时性要求较高的应用场景。
并口通信相对于串口通信而言,不仅传输速度更快,而且还可以一次传输多个数据位,提高了数据传输效率。
但与之相对的是,并口通信所需引脚较多,设计和布线相对复杂,因此在一些对硬件成本和实现难度要求较高的场景下使用较少。
三、USB通信USB通信作为一种常见的通信方式,具有较高的传输速度和较强的兼容性。
对于PC机和单片机之间的通信而言,通过USB接口连接PC机和单片机,可以实现双向数据传输。
USB通信支持热插拔和即插即用的特性,因此使用非常方便。
同时,USB接口还支持供电功能,可以为单片机提供电源。
但需要注意的是,USB通信相对于串口和并口通信而言,实现难度较大,需要借助专门的USB芯片或模块。
四、网络通信随着互联网的快速发展,PC机和单片机之间的网络通信越来越常见。
通过网络通信,PC机和单片机能够实现远程数据传输和控制。
网络通信可以基于以太网、Wi-Fi等多种网络协议进行,其传输速度和稳定性相对较高。
但与之相对应的是,网络通信的实现相对较为复杂,需要考虑网络协议、安全性等诸多因素,同时还需要保证网络的可靠性和稳定性。
五、无线通信无线通信作为一种便捷的通信方式,得到了广泛应用。
PC与51单片机串口通信
PC与51单片机串口通信串行通信是计算机和外设进行通讯、对外设进行监控并获取由外设采集到的监测数据的一个非常重要的手段。
由于其所用的传输线少,成本低,实现起来方便易行,因而得到广泛的应用。
STC89C52RC有一个可编程的全双工串行通信接口,可以方便的实现PC机与其之间的串行通信。
一、总体方案系统中采用STC89C52RC/STC89C54RD+单片机作为下位机,PC机为上位机,二者通过CH340将PC的USB口转成RS232的串行口接收或上传数据。
单片机部分的程序采用C语言编程,用Keil uVision4编译后产生HEX文件下载到单片机内,从而实现数据收发。
PC端采用一个串口调试助手(sscom4.2)或MATLAB GUI 实现数据的收发。
二、具体方案1、简单通信测试程序本程序为了测试通信方式是否合适,以便于下一步增加程序的内容。
(1)利用STC提供STC-ISP-V4.83软件检查MCU选项MCU Type is: STC89C54RD+MCU Firmware Version: 3.2CChinese:MCU 固件版本号: 3.2CDouble speed / 双倍速: 12T/单倍速振荡放大器增益: full gain下次下载时 P1.0/P1.1 与下载无关内部扩展AUX-RAM: 允许访问(强烈推荐)下次下载用户应用程序时将数据Flash区擦除: NO用户软件启动内部看门狗后: 复位关看门狗ALE pin 仍为 ALE内部时钟频率:11.061806M外部时钟频率:11.061806M(2)串行口初始参数设定串行口工作方式为方式1(10位异步收发),波特率为9600bps,用定时器1作波特率发生器,选用定时器模式2,其它详见程序及说明。
(3)程序功能说明通过串口调试助手,向单片机发送字符,发送字符的末尾需加“!”,让单片机识别数据接收完毕,返回“Wait command!”字符串。
单片机与PC机多机通讯的程序
下面是我写的一个实现多个下位机(单片机)与一个上位机(PC机)的一主多从串口通讯程序,用的STC89C52RC,定时器2做串口通信波特率发生器。
实现功能是这样的:用调试助手向单片机发送一个数据包。
通讯协议是这样的:数据包的格式如下所示(共10个字节组成):0x2A,0xEB,0x8D,地址码,指令码,数据长度码,数据码,数据码,校验码,0xAD前面三个字节为帧头,即开始符。
地址码:欲传送的目的地址,即选定哪一个单片机。
指令码:向单片机发送的指令数据长度码:用于指示后面有效数据的个数数据码:传送的数据,配合指令码的纯数据。
校验码:累加和校验,对地址码,指令码,数据长度码,数据码进行累加,用来检验数据的完整性和正确性。
0xAD :帧尾,即结束符。
本程序实现功能是这样的:用调试助手向单片机发送一个数据包,单片机收到后对数据解析,再回传指定的数据。
例如发送:2a eb 8d 01 03 01 01 06 ad指令码为01,单片机接收到后解析,回传0xce 0x7b 0x11 0xed。
其中前两个字节为开始符,最后一个字节为结束符。
同理,若收到的指令码为02,回传0xce 0x7b 0x12 0xed。
以此模拟控制单片机操作。
若接收错误,即累加校验码不等于单片机实际计算的累加和,回传0xce 0x7b 0x02 0xed,提示接收错误,要求PC重发数据(模拟,需要上位机软件配合才行)。
单片机开机初始化后即向PC发送一个数据0xce 0x7b 0x00 0xed,用于指示单片机与PC通信已连接。
下面是程序:#define ID 0x01 //单片机地址uint8 rec_data; //串口通信接收数据uint8 state_flag=0; //通信协议解析状态标志,初始化为0uint8 retval=0; //通信协议解析函数返回值,初始化为0uint8 cmd; //指令码uint8 Data[2]; //数据码uint8 data_count; //数据长度码程序大体思想是:首先定义了几个全局变量,接收到数据后,串口中断子程序中用变量rec_data存储一个字节的数据,随后对数据进行解析:首先判断数据包的完整性,正确性,然后提取指令码,数据码等数据,存放起来用于主程序处理。
WINDOWS环境下PC机与单片机的通信
WINDOWS环境下PC机与单片机的通信摘要:本文介绍了当前自动控制系统中PC机与单片机之间常用的几种通讯方法,如基于串口RS-232和RS-485、基于USB接口与PC机的通讯。
文中给出了部分程序。
关键词: PC机单片机通讯接口VC++在自动控制系统中,PC机与单片机组成上位机和下位机,其基本构成是:下位机(单片机系统)完成信号检测、A/D转换和简单的控制功能,通过系统总线(如RS-232、RS-485、USB)与上位机(PC机)相连,进行监测、控制,形成主从式结构。
下面就上位机和下位机之间目前几种常用的通讯方法作一些介绍。
1、RS-232的串行通讯在工业控制中,串口是常用的计算机与外部串行设备之间的数据传输通道,由于串行通信方便易行,成本低,且完全能满足要求,所以应用广泛。
1.1、利用VC++的标准通信函数利用VC++的标准通信函数_inp和_outp可实现串口通信。
下面是一个串口初始化的程序:Void init_com (PORT){char i;outp(PORT+3,0x80);outp(PORT,0x0C);outp(PORT+1,0);outp(PORT+3 ,0x3a);outp(PORT+3 ,0x03);i=inp(PORT+5) && 0xfe;outp(PORT+5,i);}1.2、使用串行通信控件MSCommMSCOMM控件,即Microsoft Communication Control,是Microsoft为简化Windows下串行通信编程而提供的ActiveX控件。
它提供了一系列标准通信命令的使用接口,利用它可以建立与串口的连接,并可以通过串口连接到其他通信设备(如调制解调器),发出命令,交换数据以及监视和响应串行连接中发生的事件和错误。
MSCOMM控件可用于创建电话拨号程序、串口通信程序和功能完备的终端程序。
串行通信控件MSComm32.OCX提供了使用RS-232来进行数据通信的所有协议,VC编程语言为该控件提供了标准的事件处理函数、过程,并通过属性和方法提供了串行通信的设置。
单片机与PC机的串行通信系统
单片机与PC机的串行通信系统作者:李晓蕊吕朝萍来源:《中国新通信》 2015年第14期李晓蕊吕朝萍南京邮电大学【摘要】我们研究了单片机与PC 机之间串行通信的方式,设计了一个串行通信系统,该系统的上位机为PC 机,下位机为MCS—51 单片机,本文主要介绍了采取专用电平转换芯片MAX232 实现了上位机与MCS-51 单片机间串行通信的有关技术方法。
并对此进行了具体实现,给出了下位机基于Keil μ Vision4 通信的核心控制代码。
【关键词】 MAX232 串口通信波特率单片机一、前言随着计算机网络技术与数据终端的普及,计算机的通信功能越来越重要。
计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。
通信有并行通信和串行通信两种方式。
在单片机系统以及现代测控系统中信息的交换多采用串行通信方式。
本文介绍了在Windows 环境下,利用串口调试助手实现PC 机与MCS—51 单片机之间串行通信的方法。
二、硬件接口设计1、串行通信接口标准:RS-232C 是EIA(美国电子工业协会)1969 年修订RS-232C 标准。
RS-232C 定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。
目前PC机上均为RS-232C 接口。
单片机的逻辑电平(TTL 电平)与RS-232C 规定的逻辑电平不一致,因此需要使用专用电平转换芯片MAX232 芯片实现RS-232 电平与TTL 电平之间的转换[1][2]。
2、MAX232 芯片实现RS-232 电平与TTL 电平之间的转换。
MAX232 芯片是MAXIM 公司生产的、包含两路接收器和驱动器的IC 芯片,它的内部有一个电源电压变换器,可以把输入的+5V/0V 电源电压变换成RS-232 输出电平所需的+10V/-10V 电压。
所以,采用此芯片接口的串行通信系统只需要单一的+5V 就可以了。
在没有+12V 电源的场合,实用性更强,并且价格适中,硬件接口简单。
PC机与单片机多机双向通信的设计应用
制命 令 , 控制现场设备 。 而 在 工 业 现 场 经 常 要 实 现 多 点 分 布式 数 据采集或控制 , 因此 , 必 须 实 现 上 位 机 和 多 个 单 片机 之 间 的 双 向 通 信 。上 位 机 和 单 片 机 之 间 的 双 向通 信 涉 及 到 硬 件 和软 件 两 方
信。 第 6步 中 , 如 果 主机 收到 的数 据 错 误 , 则结束通信。 在 通 信 开 始以后 , 从 机 每 一 次 通 信 都 会 加 上 超 时处 理 , 避 免 通 信 错 误 导 致
通信的死锁。 2 P C 机 端软 件 通 信 接 口设 计 P C 机 端 程 序 主 要 处 理 来 自单 片 机 的 数 据 , 并 以 合 适 的 方 式 展示给用户 , 因此 用 户 体 验 非 常 重 要 。 为 了保 证 用 户 接 1 3 的响 应
n e s s o f s o f t war e .
K e y wo r d s : P C, MCU。 t wo - wa y c o mmu n i c a t i o n , a r c h i t e c t u r e
由 于 单 片 机 的处 理 能力 较 弱 ,适 合 通 过 各 类 传 感 器 采 集 数 据 或 向设 备 发送 控 制命 令 等 , 不适合做数据处理 , 因此 实 践 中通 常 由 单 片 机 与 上 位 机( 一般采用 P C机) 联合构成 完整的系统 , 单
面 的工 作 。 硬 件 方 面 主要 关 注 采 用 何 种 通 信 接 口。 常 用 的 接 口有 串行 口 、 F C接 口、 S P I 接 口及 以太 网接 口等 。实 践 中 , 根据 环 境 、 传输距离 、 实 现 成本 等 因 素选 择 接 口。 软 件 方 面 主 要 关 注 如 何 设 计 双 方 的高 层 通 信 协 议 以正 确 及 时 地 完 成 数 据 交换 。 硬 件 方 面 一 旦 确 定 了接 口类 型 , 则 相 应 的 电路 也 就 确 定 了 。 软件 可 通 过 合 理 的架 构 设 计 , 以 适 应 不 同 的接 口 , 为 系 统 提 供 更 多 的灵 活 性 。 1 通 信 协 议 设 计
PC_机与单片机间串行通信优化控制方法
- 39 -高 新 技 术在工业控制中,需要经常建立一个由上位机和下位机组成的系统,并通过上位机实现对多个下位机的控制。
由于上位机与下位机之间的距离较远,因此需要进行上位机与下位机间的串行通信。
上位机通常为PC 机,下位机通常为单片机,因此经常会不可避免地出现PC 机与单片机之间的串行通信问题[1]。
目前PC 机的研发与应用已经使其具备了极强的监控和管理能力,而单片机在实际应用中具备了快速和容易被控制等特点。
因此在实际应用中,通常都是通过PC 机串行接口与多个单片机相连接来实现对数据的传输[2-3]。
基于该特点,为了实现PC 机与单片机间的串行通信控制,该文提出了一种全新的优化控制方法。
1 PC 机与单片机通信连接设计为了实现PC 机与单片机之间的串行通信,采用RS-485接口,该解耦器与TTL 电平相兼容,具有10Mbit/s 的数据传输速度,并具有较强的抗共模噪声干扰能力,将其引入PC 机与单片机通信连接结构上。
PC 机与单片机通信连接结构示意图如图1所示。
此外,RS-232接口只能在总线上与一个收发机相连,也就是一个单站的功能。
而RS-485的接口最多可以连接128台收发信机,即具备多个基站的功能,使使用者能够较容易地使用一个RS-485接口来组建一个设备网络[4]。
因此,RS-485接口是PC 和MCU 间串行通信的首选。
根据上述论述,由于PC 机的串口选用了RS 232电平信号,因此在单片机与PC 机之间需要加装一个能够实现RS-232与RS-485转换的接口。
根据上述内容,完成对PC 机与单片机通信连接设计。
2 通信程序优化设计在下位机中,通过查找和中断2种方式实现数据的发送和接收。
不管采用何种方法,它的串行数据的传输仅(利用MOVSBUF.A 指令)将数据从累加器转移到串口缓冲区寄存器即可。
其串行数据的接收仅需将数据从串口缓冲区寄存器传输到累加器(采用MOVA 、SBUF 指令)[5]。
汇编语言实现串口通信(PC和单片机间)
8.用C语言或汇编语言实现串口通信(PC和单片机间)上位机和下位机的主从工作方式为工业控制及自动控制系统所采用。
由于PC 机分析能力强、处理速度更快及单片机使用灵活方便等特点,所以一般都将PC 机作为上位机,单片机作为下位机,二者通过RS-232或者RS-485接收、发送数据和传送指令。
单片机可单独处理数据和控制任务,同时也将数据传送给PC机,由PC机对这些数据进行处理或显示1 硬件电路的设计MCS-51单片机有一个全双工的串行通讯口UART,利用其RXD和TXD与外界进行通信,其内部有2个物理上完全独立的接收、发送缓冲器SBUF,可同时发送和接收数据。
所以单片机和PC机之间可以方便地进行串口通讯。
单片机串口有3条引线:TXD(发送数据),RXD(接收数据)和GND(信号地)。
因此在通信距离较短时可采用零MODEM方式,简单三连线结构。
IBM-PC机有两个标准的RS-232串行口,其电平采用的是EIA电平,而MCS-51单片机的串行通信是由TXD(发送数据)和RXD(接收数据)来进行全双工通信的,它们的电平是TTL电平;为了PC机与MCS-51机之间能可靠地进行串行通信,需要用电平转换芯片,可以采用MAXIM公司生产的专用芯片MAX232进行转换。
电路如图1所示。
硬件连接时,可从MAX232中的2路发送器和接收器中任选一路,只要注意发送与接收的引脚对应关系即可。
接口电路如图3.5所示。
总体设计按照整体设计思路方案绘制原理图如下所示:2 系统软件设计软件设计分上位机软件设计和下位机软件设计。
这两部分虽然在不同的机器上编写和运行,但它们要做的工作是对应的:一个发送,另一个接收。
为了保证数据通信的可靠性,要制定通信协议,然后各自根据协议分别编制程序。
现约定通信协议如下:PC机和单片机都可以发送和接收。
上位机和下位机均采用查询方式发送控字符和数据、中断方式接收控制字符和数据。
采用RS-232串口异步通信,1上位PC机与下位单片机异步串行通信的通信协议其中,单片机号代表现场第几台单片机,占用1个字节,发送两次的目的是为了防止干扰;命令码则代表上位机向下位机发布的工作命令,它也占用1个字节,发送两次的目的也是为了防止干扰。
集散控制系统中实现PC机与单片机的串行通信
集散控制系统中实现PC机与单片机的串行通信摘要:本文提出了一种在小型集散控制系统中应用mscomm控件实现pc机与单片机的串行通信方法。
这种通信方法具有投资小、硬件连接简单、软件设计简单和操作方便的特点,能够满足通讯的要求,对于工业监控系统和数据采集系统具有一定的参考价值。
关键词:集散系统 mscomm 单片机串行通信在工业检测控制领域中,集散控制系统的结构通常是上位机采用pc机,目的是利用pc的强大数据计算功能,下位机可以是plc,也可以是单片机,主要进行数据采集和控制操作。
上位机与下位机的通讯可以采用工业总线,也可以采用串行通信。
工业总线主要用于大型的集散控制系统;对于小型集散控制系统,采用工业总线的投资过大,并且需要对单片机和pc机进行工业总线接口设计。
1 系统硬件设计系统硬件如图1所示,由于89c52单片机的电平是ttl电平,与rs-232电平不能直接相连,所以89c52单片机与rs-232的连接通过max232来实现电平转换:max的t2in端接到89c52的txd端,用于89c52单片机发送数据,max232的t2out端接到89c52的rxd 端,用于89c52单片机接收数据;max232的r2out连接到db-9针连接器的第3脚(sd:发送数据脚),r2in连接到db-9针连接器的第2脚(rd:接收数据脚)。
2 串行通讯协议说明计算机采用查询发送、中断接收的通讯方式。
单片机采用中断接收、发送的通讯方式。
pc机向单片机发送的数据以数据串的形式给出。
为了可靠,地址和命令连续发送两遍。
下位的单片机处于中断接收状态,当接收到地址时与自己的地址进行比较,如果与自己的地址相同,就接收控制命令和数据。
单片机根据接收到的命令和数据进行操作:或进行控制操作,或进行数据发送。
pc机中可以在工程中添加mscomm控件,然后进行相应的属性设置(波特率、奇偶校检、停止位、发送与接收的触发方式、发送数据的类型等)就可以用它来实现串行通信。
51单片机与PC机通信
51单片机与PC机通信《专业综合实习报告》专业:电子信息工程年级: 2021级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5.1虚拟串口的设置 5.2下位机电路和程序设计 5.3串口通信仿真六:电路原理框图七:相关硬件及配套软件7.1 AT89C51器件简介 7.2 COMPIN简介 7.3 MAX232器件简介 7.4 友善串口调试助手7.5 虚拟串口软件Virtual Serial Port Driver 6.9 八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机的单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。
目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。
在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。
为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。
较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。
主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。
从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。
PC机与单片机的无线通信
PC机与单片机的无线通信摘要:本文重点介绍了pc机与单片机的无线通信系统。
该系统通过无线收发模块rf418实现pc机与单片机之间的数据异步串行无线传输,可用于小区无线抄表、gps及柱上断路器远程控制等。
本文从工程实际的角度,设计了硬件电路及相应的上下位机程序。
关键词:单片机无线通信 rf418 pc机近年来,随着单片机及微机技术的不断发展,特别是网络技术的广泛应用,采用pc机与多台单片机构成的测控系统越来越多。
但在一些场合,如与移动的测控对象进行通信、较远距离通信不适合布线的地方等,则不适合采用有线通信。
随着无线技术的不断完善和发展,无线通讯技术逐渐应用于pc机与单片机之间。
在本文中的无线通讯主要采用无线收发模块rf418,通过一定频率的电磁波实现pc机与单片机之间的无线通信,由此可以方便地进行数据处理和远程控制。
该无线通信系统可实现的通信距离为6~15公里,完全克服了红外无线传输的直线性、静止性、受环境因素影响等缺点。
一、无线通信系统的构成及工作原理(一)无线通信系统的构成机pc机在该无线通信系统中作为dte(数据终端设备),主要用于接收由下位机部分采集到了数据,并对数据进行计算、处理、动态显示等。
同时可以把一些数据、命令字等数据传给下位机部分,用于与下位机部分的双向信息沟通或对下位机部分控制等。
2.无线收发模块rf418该模块作为dce(数据通信设备),在该无线通信系统中有着重要的作用,主要用于两个或多个数据终端设备之间数据传输。
通过该模块可以把数据的电平信号转换成无线电信号,以一定频率电磁波的方式传送出去。
同时也可以接收电磁波中的无线电信号,并把其转化成数据的电平信号传输到数据终端设备。
总线标准接口板由于计算机内部的数据信号是ttl电平标准,而通信线上的数据信号却是rs-232c电平标准,该接口板主要用于较远距离通信的dce与dte之间的ttl电平和rs-232电平的相互转换。
4.单片机系统单片机通过一定的方式与控制元件相连,起到了数据采集、处理和发出控制指令的作用。
PC机双向并口与单片机之间高速通信的一种实现
PC机双向并口与单片机之间高速通信的一种实现
孙春龙;吴功平
【期刊名称】《现代电子技术》
【年(卷),期】2004(027)012
【摘要】介绍了在PC机上用双向并口与单片机进行8 b双向通信的一种实现方法,并给出了硬件的连接方式和握手信号的工作方法.同时概述了利用LabVIEW在PC机上对并口进行读写的实现.
【总页数】3页(P55-56,60)
【作者】孙春龙;吴功平
【作者单位】武汉大学,动力与机械学院,湖北,武汉,430072;武汉大学,动力与机械学院,湖北,武汉,430072
【正文语种】中文
【中图分类】TP368.1
【相关文献】
1.基于Linux的电火花线切割机床数控系统中PC机-单片机串并口双向通信 [J], 范益民;顾琳;曹锟;张永鑫;赵万生
2.PC机与AVR单片机之间串行通信的实现 [J], 丁易新
3.AVR单片机与PC机打印口高速双向数据通信接口 [J], 胡平平;王晶杰
4.PC机与AVR单片机之间串行通信的实现 [J], 姜文谦
5.PC机与AVR单片机之间串行通信的实现 [J], 夏博锐
因版权原因,仅展示原文概要,查看原文内容请购买。
单片机原理与应用课程设计-单片机与PC机双工通信
等级:课程名称单片机原理与应用课程设计课题名称单片机与PC机双工通信专业班级学号姓名指导老师赵葵银汪超等2016年03月25日电气信息学院课程设计任务书课题名称单片机与PC机双工通信姓名专业班级学号指导老师赵葵银课程设计时间2016年03月14日-2016年03月25日(3、4周)教研室意见意见:同意审核人:汪超一、任务及要求本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。
(1)PC做接收且显示屏幕显示该值,也可由PC键盘发送数据;调试时可用虚拟终端或串口调试助手实现。
P0口接8个发光二级管显示PC键盘的状态。
(2)MCS51采用4*4键盘(0-F);P2口可接8个发光二极管显示4X4键盘对应状态。
设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成应用程序设计;(4)应用系统的硬件和软件的调试。
二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。
周二~周三:完成硬件设计和电路连接周四~周日:完成软件设计第二周:周一~周三:程序调试周四~周五:设计报告撰写。
周五进行答辩和设计结果检查。
三、参考资料[1] 王迎旭等.单片机原理及及应用[M]. 2版.机械工业出版社,2012.[2] 胡汉才.单片机原理及其接口技术[M].3版.清华大学出版社,2010.[3] 戴灿金.51单片机及其C语言程序设计开发实例[M].清华大学出版社,2010.目录第1章设计任务及要求 (1)1.1课程设计目的 (1)1.2 课程设计要求 (1)第2章系统方案设计 (2)2.1 矩阵键盘的设计思路 (2)2.2 串行通信的设计思路 (2)第3章系统硬件电路设计 (3)第4章系统软件设计 (5)4.1 双工通信设计 (5)4.2 矩阵键盘设计 (6)第5章系统仿真及调试 (7)参考文献 (8)附录A 电路仿真图 (9)附录B 汇编程序 (10)第一章:设计任务及要求1.1课程设计目的本课题以MCS-51系列单片机为核心,设计实现MCS51单片机与PC机的双向通信。
上位机PC与单片机通信.
3.波特率:方式2:B=(2SMOD/64)×fosc 。 方式3:B=(2SMOD/32)×T1溢出率 。
4.发送:先装入TB8,写入SBUF并启动发送,发送结束,TI=1。 接收:REN=1,允许接收。 接收完一帧,若RI=0且第9位为1 (或SM2=0),将接收数据
D (0)
Q7 ...Q1 Q0
串入并出
...
74LS164
D (1)
Q7 ...Q1 Q0
...
74LS164
D (7)
Q7 ...Q1 Q0
...
80C51
(0)
(1)
(7)
共阳极
+5V
...
80C51
并入串出
74LS165
RXD
数据
低→高
QH
(2) SIN
S/L CLK
TXD
P1.0
...
74LS165
发送器
接收器 接收发数据线 发送接 接收发
送器
收器 送器
发送接 收器
地线
地线
地线
五、异步串行通信的信号形式:
1、远距离直接传输数字信号,信号会发生畸变,因此要 把数字信号转变为模拟信号再进行传送。可利用光缆、 专用通信电缆或电话线。 方法:通常使用频率调制法(频带传送方式)。
“1”
发方 “0”
电平信号
RS-485
8-2 串行口及控制寄存器
8-2-1 MCS-51串行接口
1个全双工串行接口,可同时进行发送和接收。 串行接口输入/输出引脚:TXD(P3.1)、RXD(P3.0) 数据格式:按不同方式,一帧数据位数 8/10/11
上位机与下位机之间通信编程
摘要本文主要描述了利用PC机与AT89C51单片机之间的通信程序设计实现温度显示。
并详述了在VC6.0环境下,上位机利用MSCOMM通信控件与单片机之间串口通信实现温度显示。
由单片机采集一个温度信号,将采集到的温度信号传送给PC机显示,PC机用VC6.0编写程序,单片机程序用C语言编写,最后用PROTUES软件进行仿真实现温度显示。
关键词:单片机MSCOMM控件VC6.0 AT89C51 温度显示目录摘要1 引言 (1)2 结构设计与方案选择 (2)2.1设计任务 (2)2.1.1单片机的选择 (2)2.1.2电平转换 (2)2.1.1单片机的选择 (2)2.1.3单片机与pc机通信原理 (2)2.2软件方案选择 (2)2.2.1 上位机编程方案选择 (3)2.2.2 单片机编程方案选择 (3)2.3 总体方案选择 (2)3 硬件设计 (8)3.1单片机主要特性 (5)3.2 MAX232电平芯片介绍10 (10)3.3 硬件电路设计图 (11)3.3.1 PC机与单片机通信接口电路设计框图 (11)3.3.2整体设计原理图 (11)4软件设计 (12)4.1上位机程序设计 (12)4.2下位机程序设计 (13)5 软硬件调试部分 (21)5.1 PROTEUS软件仿真 (21)5.1.1 Protues简介 (21)5.1.2 Protues仿真电路图 (22)5.2 VC软件仿真 (21)结束语 (27)致谢 (28)参考文献 (29)1引言随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
现代化集中管理需要对现场数据进行统计、分析、制表、打印、绘图、报警等,同时,又要求对现场装置进行实时控制,完成各种规定操作,达到集中管理的目的。
51单片机与PC机通信
《专业综合实习报告》专业:电子信息工程年级: 2013级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5、1虚拟串口得设置5、2下位机电路与程序设计5、3串口通信仿真六:电路原理框图七:相关硬件及配套软件7、1 AT89C51器件简介7、2PIN简介7、3 MAX232器件简介7、4友善串口调试助手7、5虚拟串口软件Virtual Serial Port Driver 6、9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机得单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机得控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应得前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身得工作状态信息。
目前,随着集成电路集成度得增加,电子计算机向微型化与超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙与太空与太空奥妙复杂系统不可缺少得智能部件.在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象得直接控制,以一台PC机为上位机完成复杂得数据处理,组成一种以集中管理、分散控制为特点得集散控制系统.为了提高系统管理得先进性与安全性,计算机工业自动控制与监测系统越来越多地采用集总分算系统。
较为常见得形式就是由一台做管理用得上位主计算机(主机)与一台直接参与控制检测得下位机(单片机)构成得主从式系统,主机与从机之间以通讯得方式来协调工作。
主机得作用一就是要向从机发送各种命令及参数:二就是要及时收集、整理与分析从机发回得数据,供进一步得决策与报表.从机被动地接受、执行主机发来得命令,并且根据主机得要求向主机回传相应烦人实时数据,报告其运行状态。
用串行总线技术可以使系统得硬件设计大大简化、系统得体积减小、可靠性提高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
//数码管编码
ucharcodeDSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};
//延时
void DelayMS(uint ms)
{
uchar i;
while(ms--) for(i=0;i<120;i++);
2)较为详细了解8051芯片的性能;
3)能够了解到单片机系统的基本原理,了解单片机控制原理;
4)掌握AT89C51程序控制方法;
5)掌握AT89C51 C语言中的设计和学会分析程序,进而能够根据自己的需要编写代码;
6)掌握在PC与单片机在仿真时用到的Virtual Serial Port Driver和串口调试助手的使用方法;
一实验背景
串口通讯对单片机而言意义重大,不但可以实现将单片机的数据传输到电脑端,而且也能实现PC对单片机的控制而且对在机电控制中具有十分重要的地位,掌握串口通信的实现方法以及上下位机的通信原理对日后进行机电控制的开发具有深远意义。
二设计目的
1)提高学生的动手能力,以及能够利用所学的知识来完成作品,达到复习知识的目标;
3)新建文件并另存为计算机控制.c4)在SourceGroop1导入文件 5)编写代码,并生成C语言设计与应用.hex文件6)在Proteus中设计电路如图3-1示
7)在虚拟串口软件Virtual Serial Port Driver中设置串口COM2与COM1(如图3-2示)利用这个软件将PC的模拟串口1与模拟串口3连接一起,这两串口就可以进行通信了。
2)程序流程图
:
3)仿真图
运行前如图4-1示
PC发送字符串至单片机,单片机通过显示管显示发送的数字
如图4-2示
单片机回发给PC机如图4-2示
五程序代码
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
uchar Receive_Buffer[101];//接收缓冲
{
SBUF=s[i];
while(TI==0);
TI=0;
i++;
}
}
六 实验结果
当在串口调试助手软件中输入0123456789时,以及在proteus7.8中运行时,Virtual Terminal-VT1窗口中显示0123456789,同时数码显示管循环显示0,1,2,3,4,5,6,7,8,9。按下按键时,即单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机“这是由8051发送的字符串!”。
ES=1;IP=0x01;
TR1=1;
while(1)
{
for(i=0;i<100;i++)
{//收到-1为一次显示结束
if(Receive_Buffer[i]==-1) break;
P0=DSY_CODE[Receive_Buffer[i]];
DelayMS(200);
}
DelayMS(200);
}
//主程序
void main()
{
uchar i;
P0=0x00;
Receive_Buffer[0]=-1;
SCON=0x50;//串口模式1,允许接收
TMOD=0x20;//T1工作模式2
TH1=0xfd;//波特率9600
TL1=0xfd;
PCON=0x00;//波特率不倍增
EA=1;EX0=1;IT0=1;
七 实验体会
这次的实验提高了我的设计能力与对电路的分析能力。同时在软件的编程方面得到了很大的提高,使编程能力得到加强,在此同时对所学的单片机知识得到很大的巩固与加强。本次实验熟悉单片机的使用功能,熟悉了Keil uVision 进行程序调试,利用proteus7.8进行硬件设计。在本实验中,我明白了以PC为上位机单片机为下位机可以进行通信,通过编写C语言程序显示管是可以反映出PC与单片机的通信过程,在以后的实验中我们可以通过一些可以连接LED、示波器、显示管等来了解如AT89C51、两机之间通信原理、DS12C887等的工作原理及组成部分作用的了解。明白了PC与单片机之间的通信要用max232来连接,以及设置波特率的时候一定要一致。在仿真中设置PC上位机与单片机下位机通信时必须要安装Virtual Serial Port Driver和串口调试助手软件,在其帮助下,才能完成软件设计。
“这是由8051发送的字符串!”。
主要内容
1)PC上位机与C51下位机的通信原理及串口的使用。
2)PC机发送字符给单片机,单片机接收到在数码管上进行显示。
3) 单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机“这是由8051发送的字符串!”。
实验步骤
1) 启动keiuvision32)新建工程命名为单片机的C语言设计与应用
Receive_Buffer[Buf_Index+1]=-1;
Buf_Index=(Buf_Index+1)%100;
}
ES=1;
}
void EX_INT0() interrupt 0//外部中断0
{
uchar *s="这是由8051发送的字符串!\r\n";
uchar i=0;
while(s[i]!='\0')
}
}
//串口接收中断函数
void Serial_INT() interrupt 4
{
uchar c;
if(RI==0) return;
ES=0;//关闭串口中断
RI=39;0'&&c<='9')
{//缓存新接收的每个字符,并在其后放-1为结束标志
Receive_Buffer[Buf_Index]=c-'0';
7)掌握PC作为上位机以及单片机作为下位机的工作原理;
8)通过学习PC与单片机的工作原理及编程方法,提高编程能力以及创新能力;
9)培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;
10)能够按课程设计的要求编写课程设计报告,能够正确反映设计和实验成果。
三设计要求与主要内容:
设计要求
当运行时,会弹出Virtual Terminal-VT1窗口,PC的串口设置为COM2,在串口调试助手软件中设置串口为COM1,开关断开,PC机发送数据到单片机中即当在串口调试助手软件中输入0123456789时,Virtual Terminal-VT1窗口中显示0123456789,同时数码显示管循环显示0,1,2,3,4,5,6,7,8,9。按下按键时,即单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机
8) 在串口调试助手中设置串口为COM1,在仿真的PC中设置串口为COM2,而且波特率与校验位停止位数据位设置一致,设置参数参考图3-2
9) 将计算机控制.hex文件导入Proteus中
10)观察并记录实验数据,得出实验结论。
图3-1
图3-2
四设计程序原理:(包含仿真图和流程图)
1)主程序流程图
YN