当前位置:文档之家› 利用VB实现PC机与多单片机远程无线通讯

利用VB实现PC机与多单片机远程无线通讯

利用VB实现PC机与多单片机远程无线通讯
利用VB实现PC机与多单片机远程无线通讯

摘要:本文给出了一种以数传电台为通讯媒体,由控制中心PC机和多个AT89C51单片机系统组成的远程无线通信系统,重点介绍了利用VB实现PC机与多个单片机控制系统远程无线通讯程序设计方法,实现了PC机对多个远端单元的实时控制与管理。

关键词:Visual Basic、串行通讯、数传电台、单片机、远程控制

1 引言

随着现代电子与信息技术的不断发展,计算机与单片机控制系统之间的远程无线通讯技术得到了广泛的应用,而数传电台目前已发展成为远程无线通信的一种重要工具,它使用灵活、性价比高,环境适应能力强,非常适用于大范围、分散控制系统及在恶劣环境中,不适于铺设有线网络的实时监控系统,数传电台已成功应用于电力设备监控、计算机实时监控与数据采集(SCADA)以及实时交易数据遥测遥控等领域。同时VB6.0具有界面友好、编程简便高效、数据处理及驱动底层硬件功能强等优点,成为许多用户开发PC 机与单片机串行通信程序的首选工具。

本文以美国MDS OEM EL705数传电台为通讯媒体,利用VB6.0的通讯控件MSComm实现了控制中心PC机与多个远端AT89C51单片机控制系统之间远程无线通讯,实现了控制中心PC机对多个远端单元的实时控制与管理,并应用于工程设计中,通过实际应用,取得了满意的效果。

2 系统的组成及工作原理

2.1系统的组成

系统由控制中心和多个远端单元RTU(Remote Terminal Unit)组成。控制中心主要由上位机PC和数传电台组成,各远端单元由数传电台、AT89C51单片机系统及现场设备组成,各远端单元根据实际需要分布在距控制中心一定距离的范围内,控制中心及远端单元结构分别如图1、图2所示。

2.2工作原理

控制中心作为系统的数据终端设备DTE(Data Terminal Equipment),负责实现对远端单片机系统的实时控制与管理,打印单片机系统工作状态信息、自检信息、记录报表信息及远程单片机系统故障报警信息

等,并可通过局域网与其它PC机进行信息传递。

PC机与数传电台通过RS232通讯电缆相连接,电台采用连续相位频移键控(CPFSK)调制方式,数据直接启动电台发射,空中无线传输速率为9600bps,端口数据传输速率可根据系统需要设置为1200bps~

19200bps。

各远端单元数传电台通过RS232通讯电缆与单片机系统相连接,单片机系统通过固态继电器以离散量的形式控制现场设备。单片机系统(图2虚线框中部分)采用MAX232芯片实现与数传电台之间信号的电平转换,并通过2片8位移位寄存器74LS164和2片74LS373锁存器,实现串行输入并行输出16位开关量,分别控制16个固态继电器的通断,从而控制16路现场设备。单片机系统还有复位、故障报警及高能蓄电

池供电等系统。

图1 控制中心结构示意图

图2 远端单元结构示意图

综上所述,系统是以数传电台为通信媒体,组成点到多点的主从式远程无线通信网络系统。控制中心PC 机和远端单元之间通过数传电台以同频异步半双工方式进行数据信息传输,PC机通过串口发送信息到数传电台,数传电台通过高频载波信号将控制信息发送给远端单元,收到正确信息的远端单元向控制中心回送正确接收信息,并执行控制命令控制现场设备的接通与关断,从而实现控制中心对各远端现场设备的实时控制与管理。

为实现最大的传输距离并防止各远端单元之间的相互干扰,系统控制中心的电台使用全向天线,远端单元电台使用定向天线,并保证控制中心电台天线高于各远端电台天线的高度。

3 无线串行通信程序设计

3.1通信协议

1、一帧数据位由1位起始位、8位数据位、0位校验位、1位停止位共10位组成。

2、波特率为9600bps。单片机串行口按方式1工作,波特率用定时器T1控制,为得到准确的波特率,单片机采用振荡频率为11.0592MHz的晶振。PC机串口波特率通过VB通讯控件MSComm的Settings属性设置,为保证数据传送的准确性,两者的波特率必须一致。

3、PC机发送的信息为固定5个字节:第1和第2字节分别为远端单元地址信息标志(以AAH表示)和具体地址号(本系统有8个远端单元,可分别编址为01H、02H、…08H),第3和第4字节为开关量控制信息(第3字节数据信息控制1到8路继电器,第4字节控制9到16路继电器),第5字节为校验码(CheckSum)数据。

4、远端单片机回送的信息为固定3个字节:第1和第2字节为远端单元地址,第3字节为回送的信息,EEH为接收完毕确认信息,FFH为接收出错重发信息等。

3.2远端AT89C51单片机串行通讯程序设计

远端AT89C51单片机采用中断方式、基于MCS-51汇编语言与上位机进行通讯,中断子程序流程图如图3所示。

控制中心上位机PC每次发送控制信息前必须先发送指定远端单元的地址信息,单片机进入数据接收子程序,如果收到的地址与本机地址相同,置接收数据标志位,连续接收上位机发送过来的控制信息。数据接收完毕,开始对控制信息进行校验码确认操作,校验正确则回送上位机确认信息,并对两字节控制数据进行移位操作等必要处理,最后输出开关量并返回中断入口处;若校验错误,回送上位机重发信息。如果远端单片机收到的地址与本机地址不同,程序也返回中断入口处,继续执行其它操作或等待接收新的信息。这样,就确保上位机把控制信息可靠地传给指定的远端单元,各远端单元回送的信息只能被上位机接收。由于每个数传电台时刻处于待机状态(也可以根据实际需要,使电台进入休眠状态等待),所以只有先对远端单元地址进行确认,才能保证在某一时刻只有一个远端单元完全接收了上位机发出的数据信息,避免了不必要的资源耗费。

图3 单片机中断子程序流程图

3.3 上位机PC串行通讯程序设计方法及实现

上位机利用VB6.0编程,用VB6.0开发串行通信程序普遍采用以下两种方法:一种是利用Windows的API函数;另一种是采用VB6.0的通讯控件MSComm。利用API函数编写串行通信程序较为复杂,需要调用许多繁琐的API函数,而VB6.0的MSComm通讯控件提供了标准的事件处理函数、事件和方法,用户不必了解通信过程中的底层操作和API函数,从而比较容易、高效地实现了串口通信。

MSComm控件提供了两种功能完善的串口数据发送和接收功能:一种是查询法,通过检查CommEvent 属性的值来轮询(Polling)事件和通信状态,可以使用定时器或DO…Loop程序实现;另一种是事件驱动法(Event-driven),利用MSComm控件的OnComm事件捕获串口通信错误或事件,并在OnComm事件中编写程序进行相应处理,这种方法响应及时,可靠性高,本软件系统采用了此方法来接收远端单片机的回执信息,以使PC机作出更快的反应。

数传电台基于透明传输,不改变系统原来的通讯程序及传输格式,编程时只需适当考虑无线传输引起的信号时延。

软件采用定时器Timer1控件来实现在数据信息送出30秒后(Timer1.Interval = 30000),PC机仍未收到任何回执信息时,程序自动跳出系统。

实现同样的功能,程序代码会因不同人的编写而略有不同,并且篇幅所限,在此仅给出在VB中对MSComm控件初始化和数据发送与接收的部分源程序,代码如下:

……

初始化MSComm控件程序:

With Comm1 …控件名为Comm1

.CommPort=1 …使用串行端口1

.Settings=“9600,n,8,1”…设置初始化参数

.InputLen=0 …读取缓冲区的全部数据

.InputMode=comInputModeBinary …以二进制方式接收数据

.RThreshold=3 …接收缓冲区达到3个字节时产生OnComm事件

End with …其它属性值为默认即可

……

发送数据程序:

……

Dim Send As Variant …定义变量

Dim OutByteD(5) As Byte …定义发送数据数组

………获取发送数据

Send=OutByteD …将发送的数据赋给发送变量

Comml.Ouput=Send …发送数据

……

数据接收程序:

Private Sub Comm1_OnComm()

Select Case https://www.doczj.com/doc/7f4018256.html,mEvent

Case comEvReceive

Dim Jshuju() As Byte , i%, count%

Dim Rec As Variant

Rec=Comm1.Input

count=UBound(Rec)

ReDim Jshuju(count-1) As Byte

For i=0 to count-1

Jshuju(i)=Rec(i)

Next i

………判断回执信息并进行相应处理,如处理指定远端单元数据接收完毕、数据接收有误请求重发信息、显示、打印自检信息等

End Select

End Sub

4 结论

通过采用上述通讯方法实现了基于数传电台的控制中心上位机对各远端单片机系统的远程实时控制,实现了高速、实时数据的发送和接收。经过实际应用,系统工作稳定可靠,满足了预期的控制要求。可以预见,数传电台以其使用灵活简便、全数字化无线通讯及环境适应能力强等优点必将在信息采集、远程监控等领域得到更加广泛的应用。

参考文献:

[1]范逸之,陈立元.Visual Basic与RS-232串行通信控制最新版.北京:中国青年出版社,2002

C51单片机和电脑串口通信电路图

C51单片机和电脑串口通信电路图与源码 51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 串口通讯的硬件电路如上图所示 在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错,下图就是MAX232的基本接线图。

按图7-3加上MAX232就可以了。这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

为了能够在电脑端看到单片机发出的数据,我们必须借助一个WINDOWS软件进行观察,这里我们利用一个免费的电脑串口调试软件。本串口软件在本网站https://www.doczj.com/doc/7f4018256.html,可以找到 软件界面如上图,我们先要设置一下串口通讯的参数,将波特率调整为4800,勾选十六进制显示。串口选择为COM1,当然将网站提供的51单片机实验板的串口也要和电脑的COM1连接,将烧写有以下程序的单片机插入单片机实验板的万能插座中,并接通51单片机实验板的电源。

汇编语言实现串口通信(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机与下位单片机异步串行通信的通信协议

VB与单片机连接控制LED灯

控件初始化: Private Sub Form_Load() ,窗体加载时运行 MSComm1.InBufferSize = 40,获得或接受缓冲区的大小,字节数为单位 MSComm1.InBufferCount = 0 MSComm1.InputMode = comInputModeBinary '二进制方式 https://www.doczj.com/doc/7f4018256.html,mPort = 4,设置串口号,由单片机决定 MSComm1.Settings = "9600,N,8,1",设置波特率(与单片机相同)、奇偶校验,数据位、停止位 MSComm1.RThreshold = 1,设置要接受的字符数 MSComm1.InputLen = 0,设置从输入属性从缓冲区读取的数据 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True,打开串口 End If End Sub 输出控制: Private Sub Check1_Click() Dim D If Check1.V alue = 1 Then If check0.V alue = 0 Then,判定(若第一个灯没亮,则只亮第二个,否则两个都亮) D = 2 End If If check0.V alue = 1 Then D = 3 End If If MSComm1.PortOpen = False Then,确保端口已打开 MSComm1.PortOpen = True End If MSComm1.OutBufferCount = 0 MSComm1.Output = Chr(CInt(D)),向单片机输出数据,二进制 End If Private Sub Command1_Click(),用commond指令控制 Dim B B = check0.V alue + Check1.V alue * 2 + Check2.V alue * 4 + Check3.V alue * 8,计算几个灯一起亮时,对应输出的值,得到十进制的数 If MSComm1.PortOpen = False Then MSComm1.PortOpen = True End If MSComm1.OutBufferCount = 0 MSComm1.Output = Chr(CInt(B)) '向单片机发送数据 End Sub

51单片机与PC串口通讯

目录 第1章需求分析 ............................................................................................................................ - 1 - 1.1课题名称 (1) 1.2任务 (1) 1.3要求 (1) 1.4设计思想 (1) 1.5课程设计环境 (1) 1.6设备运行环境 (2) 1.7我在本实验中完成的任务 (2) 第2章概要设计 ............................................................................................................................ - 2 - 2.1程序流程图 (2) 2.2设计方法及原理 (3) 第3章详细设计 ............................................................................................................................ - 3 - 3.1电路原理 (3) 3.1.1STC89C52芯片 ............................................................................................................. - 3 -3.2串口通信协议 (4) 3.3程序设计 (5) 3.3.1主程序模块 .................................................................................................................... - 5 - 3.3.2串口通讯模块 ................................................................................................................ - 6 - 3.3.3控制部分文件 ................................................................................................................ - 8 - 3.3.4公共部分模块 .............................................................................................................. - 11 -3.4电路搭建 (12) 3.4.1电路原理图 .................................................................................................................. - 12 -第4章上位机关键代码分析 ...................................................................................................... - 12 - 4.1打开串口操作 (12) 4.2后台线程处理串口程序 (15) 4.3程序运行界面 (18) 第5章课程设计总结与体会 ...................................................................................................... - 19 -第6章致谢 .................................................................................................................................. - 19 -参考文献........................................................................................................................................... - 19 -

利用VB实现电脑与单片机通讯

VB实现电脑跟单片机通讯 任务说明: 电脑端通过串口将数字(00,01,….,FF,十六进制)发送给单片机,单片机收到后回传这个数字,电脑接收到回传数据后显示出来,若发送的数据和接受的数据一致,则串口通讯正常,否则错误。起始符是数字00,结束符是数字FF。 一、软件界面设计如下: 二、VB程序代码如下: '将数字(0,1,2,3...255,转换为16进制)传给单片机,单片机收到后回传这个数字,PC机接收到回传数据后显示出来, '若发送和接收的数据相同,显示通信正常,否则通信不正常 '发送以00开始,以FF结束 '定义变量 Dim data, data1 As V ariant '串口初始化 '在窗体的Load事件中加入下列代码对串口进行初始化: Private Sub Form_Load() https://www.doczj.com/doc/7f4018256.html,mPort = 1 MSComm1.InputMode = 1 MSComm1.RThreshold = 1 MSComm1.SThreshold = 1 MSComm1.Settings = "9600,n,8,1" MSComm1.PortOpen = True senddata.Text = "00" End Sub '单击清空文本框 Private Sub senddata_Click() senddata.Text = "" Cmdsend.Enabled = True End Sub Private Sub senddata_Change() senddata.Text = UCase(senddata.Text) End Sub Private Sub senddata_KeyPress(KeyAscii As Integer) If (KeyAscii >= Asc("a") And KeyAscii <= Asc("f")) Then

基于单片机控制的蓝牙无线通信系统

基于单片机控制的蓝牙数据传输系统的设计 1 引言 蓝牙作为一种支持设备短距离通信的无线电技术,可以在众多设备之间进行无线信息交换。蓝牙技术设计一系列软硬件技术、方法和理论,包括:无线通信与网络技术,软件工程及软件可靠性理论,协议测试技术,规范描述语言,嵌入式实时操作系统,跨平台开发和用户界面图形化技术,软硬件接口技术,高集成芯片技术等[1]。由于蓝牙体积小,功耗低,其应用已经不再局限于计算机外设,几乎可以被集成在任何型号的数字设备中,特别是在那些对传输速率要求不高的小型移动设备和便携设备中应用广泛。随着现代化数字技术的发展,我们的生活中,各种设备与计算机之间的无线数据交换已经非常频繁,特别在工业现场控制和数据采集场合中,单片机与计算机的无线通信尤为突出。本文基于这一问题,提出了一种由单片机控制的蓝牙无线通信系统方案,主要是实现了由单片机控制蓝牙系统,与接入蓝牙网络的其他设备,如:移动电话、PDA、以及其他具有蓝牙功能的无线通信设备进行通信。 2 蓝牙协议栈概述 2.1 蓝牙技术的协议标准和协议规范 蓝牙无线通信的协议标准是由SIG制定的,它规定了蓝牙应用产品应遵循的标准和需要达到的要求。目前颁布的蓝牙规范有1.0、1.1、2.0、2.1等几个版本[2]。 蓝牙技术规范抱愧和信息一和应用框架两个部分。协议规范部分定义了蓝牙的各层同学那些以,应用框架指出了如何采用这些协议实现具体的应用产品。 协议栈由上至下可分为3个部分:传输协议、中介协议和应用协议。传输协议负责蓝牙设备间的相互位置确认,以及建立和管理蓝牙设备间的物理和逻辑链路,包括LMP、L2CAP、HCI;中介协议为高层应用协议或程序在蓝牙逻辑链路上工作提供了支持,为应用层提供了各种标准接口,包括:RFCOMM、SDP、IrDA、PPP、TCP/IP、UDP、TSC和AT指令集等;应用协议是指那些位于蓝牙协议栈之上的应用软甲和其中涉及的协议,包括开发驱动和其他蓝牙应用程序等。 2.2 蓝牙技术的核心协议 蓝牙技术的核心协议分为四个部分,如下: (1)基带协议(Baseband) 基带和链路控制层确保网络内部蓝牙设备单元之间由射频构成的物理连接。 (2)连接管理协议(LMP) 负责蓝牙网络内各设备之间连接的建立。 (3)逻辑链路控制和适配协议(L2CAP) 是一个为高层传输层和应用层协议屏蔽基带协议的适配协议,为高层应用传输提供了更加有效和更有利于实现的数据分组格式。 (4)服务发现协议(SDP) 发现服务在蓝牙技术框架中起到了至关重要的作用,它是所有用户模式的基础,是为实现网络中蓝牙设备之间相互查询及访问提供的服务。在蓝牙系统中,客户只有通过服务发现协议,才能获得设备信息、服务信息以及服务特征,从而在设备单元之间建立不同的SDP 层连接[3]。 2.3 HCI协议 HCI(Host Controller Interface)协议,即主机控制接口协议,属于蓝牙协议栈的

单片机和蓝牙模块无线传输的数据采集系统

单片机和蓝牙模块无线传输的数据采集系统

1.引言 蓝牙技术是近年来发展迅速的短距离无线通信技术,可以用来替代数字设备间短距离的有线电缆连接。利用蓝牙技术构建数据采集无线传输模块,与传统的电线或红外方式传输测控数据相比,在测控领域应用篮牙技术的优点主要有[1][2][3]: 1.采集测控现场数据遇到大量的电磁干扰,而蓝牙系统因采用了跳频扩频技术,故可以有效地提高数据传输的安全性和抗干扰能力。 2.无须铺设线缆,降低了环境改造成本,方便了数据采集人员的工作。 3.可以从各个角度进行测控数据的传输,可以实现多个测控仪器设备间的连网,便于进行集中监测与控制。 2.系统结构原理 本课题以单片机和蓝牙模块ROK 101 008为主,设计了基于蓝牙无线传输的数据采集系统,整个装置由前端数据采集、传送部分以及末端的数据接受部分组成(如PC机)。前端数据采集部分由位于现场的传感器、信号放 大电路、A/D转换器、单片机、存储器、串口通信等构成,传送部分主要利用自带微带天线的蓝牙模块进行数据的无线传输;末端通过蓝牙模块、串口通信传输将数据送到上位PC机进一步处理。整个系统结构框架图如图1所示。 AT89C51单片机作为下位机主机,传感器获得的信号经过放大后送入12位A/D转换器AD574A进行A/D 转换,然后将转换后的数据存储到RAM芯片6264中。下位机可以主动地或者在接收上位机通过蓝牙模块发送的传送数据指令后,将6264中存储的数据按照HCI-RS232传输协议进行数据定义, 通过MAX3232进行电平转换后送至蓝牙模块,由篮牙模块将数据传送到空间,同时上位机的蓝牙模块对此数据进行接收,再通过MAX3232电平转换后传送至PC 机,从而完成蓝牙无线数据的交换。

实验单片机与PC机串口通信

实验单片机与PC机串口通信(C51编程)实验 要求: 1、掌握串行口的控制与状态寄存器SCON 2、掌握特殊功能寄存器PCON 3、掌握串行口的工作方式及其设置 4、掌握串行口的波特率(bondrate)选择 任务: 1、实现PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。 采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和PROTEUS分别仿真。 需要用到以下软件:KEIL,VSPDXP5(虚拟串口软件),串口调试助手,Proteus。 (1)虚拟串口软件、串口调试助手和KEIL C的联调 首先在KEIL里编译写好的程序。

打开VSPD,界面如下图所示:(注明:这个软件用来进行串口的虚拟实现。在其网站上可以下载,但使用期为2周)。 左边栏最上面的是电脑自带的物理串口。点右边的addpair,可以添加成对的串口。一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。 接下来的一步很关键。把KEIL和虚拟出来的串口绑定。现在把COM3和KEIL绑定。在KEIL中进入DEBUG模式。在最下面的COMMAND命令行,输入 modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验 位、数据位、停止位 assigncom3sout %把单片机的串口和COM3绑定到一 起。因为所用的单片机是

(以上参数设置注意要和所编程序中设置一致!) 打开串口调试助手 可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率9600,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。打开COM4。 现在就可以开始调试串口发送接收程序了。可以通过KEIL发送数据,在串口调试助手中就可以显示出来。也可以通过串口调试助手发送数据,在KEIL中接收。 实验实现PC机发送一个字符给单片机,单片机接收到后将其回发给PC机。在调试助手上(模拟PC)发送数据,单片机收到后将收到的结果回送到调试助手上。 2、以下在Proteus和串口调试助手实现的结果: 将编译好的HEX程序加载到Proteus中,注意这里需要加上串口模块,用来进行串行通信参数的设置。 点击串口,可以对串口进行设置: 用串口调试助手发送数据,即可看到仿真结果。 实验参考程序源文件在exp2-comm文件夹中。

用VB实现基于USB的虚拟串口通讯

VB6.0环境下基于USB的虚拟串口通讯实现电路图以FTDI公司的FT232BL芯片为核心设计并实现了基于USB接口的计算机与单片机之间的虚拟串口通讯。单片机采用Philips公司P89系列单片机,完成数据的存储。计算机在Windows 环境下利用MSComm通讯控件实现上位机与下位机之间的数据传输。在此提出了PC机对虚拟串口的自动识别方法,并提供了程序的源代码。实验结果表明,用虚拟串口实现计算机与单片机之间的USB通信,具有速度快,软件实现简单等优点。 0引言 数据传输是现代通讯过程中的一个重要环节,在数据传输过程中,不仅要求数据传输的准确率要高,而且要求速度快、连接方便。传统的RS232串口通讯和并口通讯都存在传输速度低、扩展性差、安装麻烦等缺点,而基于USB接口的数据传输系统能够较好地解决这些问题。目前,USB接口以其传输速率高、即插即用、支持热插拔等优点,逐步成为PC机的标准接口。 本文中的数据传输系统采用了USB接口进行上位机与下位机之间的数据通讯。下位机采用Philips公司P89系列单片机,完成数据的存储。上位机通过VB6.0编程,实现上位机与下位机之间的数据传输。 1数据传输系统的总体设计 系统的硬件部分主要包括2部分:上位机端和下位机端。上位机采用PC机或笔记本电脑,操作系统为Windows XP,实现上位机和下位机之间的数据传输、显示、处理、存储及查询功能。系统的下位机采用philips公司P89系列单片机,完成数据的存储。下位机为一个手持的数据存储仪,由USB转串口数据转换模块、TTL转RS422总线模块、中央处理模块、显示模块、存储模块、电源模块等组成。上位机与下位机的连接利用PC机自带的USB接口,原理框图如图1所示。 图1数据传输系统原理框图 把数据记录卡插入数据存储仪内,可把卡内数据转存到存储模块。数据存储仪通过USB

基于单片机的红外无线控制

中国矿业大学徐海学院 技能考核培训 姓名:陈思彤学号: 22110838 专业:信息11-2班 题目:基于单片机的红外无线控制 专题:音乐播放器 指导教师:有鹏老师翟晓东老师 设计地点:电工电子实验室 时间: 2014 年 4 月

通信系统综合设计训练任务书 学生姓名陈思彤专业年级信息11-2班学号22110838 设计日期:2014年4 月5日至2014 年4 月10 日 设计题目: 基于单片机的红外无线控制 设计专题题目: 音乐播放器 设计主要内容和要求: 1. 主要内容: 单片机内部结构 红外遥控解码 C语言程序设 2. 功能扩展要求 实现音乐播放器的功能 指导教师签字:

摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入。红外线技术也被广泛应用于各个电子领域,先设计一种基于单片机的红外遥控的简易音乐播放器。通信蜂鸣器来发声,来完成音乐播放器的功能。该系统可实现对音乐播放的远距离遥控,且结构简单,速度快,抗干扰能力强。通过本次课程设计,我对单片机中断系统等知识有了进一步的了解,对单片机的相关知识做到理论联系实际。 关键词:单片机,中断系统,红外遥控,音乐播放

目录 1 绪论 (4) 1.1概述 (4) 1.2功能 (4) 2 硬件电路 (5) 2.1总体设计方 (5) 2.2单片机最小系统 (5) 2.3红外遥控收发电路 (5) 2.3.1 红外遥控发射电路 (6) 2.3.2 红外遥控接收电路 (7) 2.4蜂鸣器电路 (7) 2.5 LED指示灯电路 (8) 3软件编程 (9) 3.1 C语言实现系统设计 (9) 3.2乐谱的改编 (10) 参考文献 (11) 附录 (12)

基于单片机Wifi无线通信方案-Demo(参考模板)

基于单片机Wifi无线通信方案第一部分:功能介绍 通过手机发送指令控制LED亮与灭 单片机原理图 第二部分:硬件接法 1.连接实验相关模块连线 如图:

JP10(P0)接J12 J21跳线帽接左边 A→ P22 B→P23 C→P24 J10与J12相连接(即是P0口控制LED) 单片机与ESP8266连接:由于单片机的串口通常配置成9600,而ESP8266初始的波特率为115200,所以先用PC通过PL2303去配置ESP8266模块的波特率为9600

ESP8266图示PL2303图示 PC与ESP8266通过PL2303连接 PL2303绿线-----------ESP8266的URXD脚 PL2303白线-----------ESP8266的UTXD 脚 注意:用PC机上的串口助手测试时,由于ESP8266的电源是3.3V,所以先要把开发板的电源配置成3.3V ,如下图J-PWR,跳线冒连接3.3V。PL2303 的电源(红线)不接!ESP8266引脚的VCC和CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!!!!!!

在PC上打开软件sscom42.exe,界面如下: 注意:发送新行选择上,波特率默认为115200,8,1,None 串口号选择PL2303的COM口(查看设备管理器) 打开串口即可测试(软件的发送新行要打勾) 第一步:配置波特率 然后在字符串输入框中输入:AT+UART=9600,8,1,0,0 发送给ESP8266 ,若返回OK,表示成功(注意最后一位不要选择流控) 第二步:ESP8266配置AP的SSID和密码 然后在字符串输入框中输入:AT+CWSAP="ESP8266-gigi","1234567890",5,3 注意:操作第二步时,要把串口软件的波特率设置成9600。

用VB来实现单片机与PC之间通信

VB入门中 最简单入门教程

基于VB单片机与PC通信 一、目的和要求 1、掌握利用VB软件制做出通信界面; 2、掌握在VB中添加程序并能够写出发送数据的程序; 3、掌握单片机串行口通信原理; 4、掌握单片机接受串行口通信数据程序; 二、设备 1、Keilc51软件及电脑一台; 2、89C51单片机开发板一块; 3、Microsoft Visual Basic 6.0软件; 三、实验内容 本次课程设计就是利用Microsoft Visual Basic 6.0软件制作一个通信界面在界面上添加三个按钮,当按第一个按钮时单片机上的LED灯正转,当按第二个按

钮时单片机上的LED灯反转,当按第三个按钮时单片机上的LED灯闪烁。单片机能正确接受并显示。 四、原理 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆)。大多数计算机包含两个基于RS232的串口。串口同时也是仪器仪表设备通用的通信协议;很多GPIB兼容的设备也带有RS-232口。同时,串口通信协议也可以用于获取远程采集设备的数据。 串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总常不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。 五、步骤 1、在桌面上启动Microsoft Visual Basic 6.0软件 弹出对话框,点击标准EXE确定。 2、添加串口控件 点击工程-部件-Microsoft Comm control 6.0 即可

用VB控制单片机串口(正确版)

如何用VB实现电脑串口通信 无协技术顾问:陈文斯 什么是串口,为何要学习串口 串口是计算机上一种非常通用设备通信的协 议。大多数台式计算机包含两个基于RS232的串口 (一般用9针公头接出其中一个接口,如图1所示)。 串口同时也是仪器仪表设备通用的通信协议;很多 GPIB兼容的设备也带有RS-232口。鉴于串口应用 如此广泛,大多数单片机也内置了串口。通过串口, 单片机可以很轻松地与其它设备交换信息。 用VB编写串口通信的好处 Windows操作系统由于其友好的用户界面赢得了很多用户的青睐。Visual Basic 即是微软公司基于Windows操作系统的可视化编程平台。有些同学会疑问:我又不是计算机专业的,学习VB是不是十分痛苦。我告诉你们,非也!要是你对它感兴趣,很快,你会爱上它的。VB十分容易入门。设计用户界面就像我们平时制作PPT的界面一样。只需把你需要的控件拖到界面上并调整即可。VB的代码也很通俗易懂。其实基本上都是调用系统函数的。为抛砖引玉,现举个例子,简要介绍一下VB编写。(以下的所有例程都是基于VB6.0的,对于较高.net版本,可能有所不同) 任务1:软件界面上有一个文本框和按钮,当点击按钮时,文本框上显示“爱电子, 爱生活。华南理工大学电子爱好者协会” 1、运行VB,在新建程序的界面上画出一个 文本框(textbox)和按钮(command botton)。如图2所示; 2、双击按钮,出现代码编辑窗口。并在其中 输入代码,如图3所示; 3、运行程序,点击按钮,即可看到如图4 所示的效 果:是不是很简单呢?! 图2 图3 图1

图4 个人建议大一大二的师弟师妹应该学习如何用VB操作串口,特别是学会如何实现电脑跟单片机的通信。这样子,我们日后设计的电子作品必定增色不少。现在详细讲解一下如何用VB操作串口。(读者可去图书馆借阅相关图书,掌握串口跟VB的基础知识) 要用VB操作串口,需要用到Mscomm控件。VB的工具箱默认是没有该控件的。可通过“工程—>“部件”—>“Microsoft Comm Control6.0”,添加该控件。 在开始使用MSComm控件之前,需要先了解其主要的属性和事件 属性描述 CommPort设置或返回通信端口号 Settings以字符串的形式设置或返回波特率、奇偶校验、数据位和停止位PortOpen设置或返回通信端口的状态。也可以打开和关闭端口 Input返回和删除接收缓冲区中的字符 Output将字符串写入发送缓冲区 通信事件包含了下面的设置: 常量值描述 ComEvSend1发送缓冲区中的字符数比Sthreshold值低ComEvReceive2接收到了Rthreshold个字符。持续产生该事件,直到使 用了Input属性删除了接收缓冲区中的数据 ComEvCTS3CTS(Clear To Send)线改变 ComEvDSR4DSR(Data Set Ready)线改变。当DSR从1到0改变时, 该事件发生 ComEvCD5CD(Carrier Detect)线改变 ComEvRing6检测到响铃信号 ComEvEOF7收到了EOF字符(ASCII字符26) 以上的事件中,我们一般只用到ComEvSend和ComEvReceive事件。 学习过单片机串口通讯的同学都知道,读写串口数据有两种方法:事件驱动(中断)和查询方式。VB方面也是如此。另外,Mscomm控件还有一个重要的属性,那就是InputMode。当其值为0时,为文本模式;为1时,为二进制模式。这两种模式,区别很大。下面我用几个简单实例工程来详解这两种模式的要点和注意事项。 任务2:电脑显示单片机发送过来的文本数据 单片机端:使用51系列单片机AT89S52。如果单片机与电脑端的RS-232串口通信,需要在其间连接电平转换芯片(如MAX232)。当然,也可以使用USB转串口芯片完成单片

基于单片机Wifi无线通信方案-Demo

基于单片机W i f i无线通信方案第一部分:功能介绍 通过手机发送指令控制LED亮与灭 单片机原理图 第二部分:硬件接法 1.连接实验相关模块连线 如图: JP10(P0)接J12 J21跳线帽接左边 A? P22 B?P23 C?P24 J10与J12相连接(即是P0口控制LED) 单片机与ESP8266连接:由于单片机的串口通常配置成9600,而ESP8266初始的波特率为115200,所以先用PC通过PL2303去配置ESP8266

模块的波特率为9600 ESP8266图示 PL2303图示PC与ESP8266通过PL2303连接 PL2303绿线-----------ESP8266的URXD脚

PL2303白线-----------ESP8266的UTXD 脚 注意:用PC机上的串口助手测试时,由于ESP8266的电源是,所以先要把开发板的电源配置成 ,如下图J-PWR,跳线冒连接。PL2303 的电源(红线)不接!ESP8266引脚的VCC和CH_PD连接开发板JPWR的vcc两个脚,ESP8266的地与PL2306的地连接开发板JPWR的GND两个脚(共地)!!!!!! 在PC上打开软件,界面如下: 注意:发送新行选择上,波特率默认为115200,8,1,None 串口号选择PL2303的COM口(查看设备管理器) 打开串口即可测试(软件的发送新行要打勾) 第一步:配置波特率 然后在字符串输入框中输入:AT+UART=9600,8,1,0,0 发送给ESP8266 ,若返回OK,表示成功(注意最后一位不要选择流控) 第二步:ESP8266配置AP的SSID和密码 然后在字符串输入框中输入:AT+CWSAP="ESP8266-gigi 注意:操作第二步时,要把串口软件的波特率设置成9600。

单片机与RS-232的串口通信+VB程序

单片机与RS-232的串口通信+VB程序 单片机部分程序采用C语言编写(C51) //-----------------------函数声明,变量定义-------------------------------------------------------- #include #define COUNT 10 // 定义接收缓冲区大小 unsigned char buffer[COUNT]; //定义接收缓冲区 unsigned char point; //定义接收数据个数指示变量 void UART_init(); //串口初始化函数 void COM_send(void); //串口接收函数 unsigned char CLU_checkdata(void);//计算校验位函数 //-------------------------------------------------------------------------------------------------- // 函数名称: UART_init()串口初始化函数 // 函数功能:在系统时钟为11.059MHZ时,设定串口波特率为9600bit/s // 串口接收中断允许,发送中断禁止 //-------------------------------------------------------------------------------------------------- void UART_init() { //初始化串行口和波特率发生器 SCON =0x58; //选择串口工作方式,打开接收允许 TMOD =0x21; //定时器1工作在方式2,定时器0工作在方式1 TH1 =0xfd; //实现波特率9600(系统时钟11.0592MHZ) TR1 =1; //启动定时器T1 ET1 =0; ES=1; //允许串行口中断 PS=1; //设计串行口中断优先级 EA =1; //单片机中断允许 } //-------------------------------------------------------------------------------------------------- // 函数名称: com_interrup()串口接收中断处理函数 // 函数功能:接收包括起始位’S’在内的十位数据到数据缓冲区 //-------------------------------------------------------------------------------------------------- com_interrupt(void) interrupt 4 using 3 { unsigned char RECEIVR_buffer; if(RI) //处理接收中断 {

《单片机应用设计-基于单片机的433M无线通信系统》廖永斌

课程设计 题目基于单片机的433M无线通信系统学院 专业 班级 姓名 指导教师 2018年 1月 13日

《单片机应用设计》任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: 基于单片机的433M无线通信系统 课程设计目的: 1、熟悉单片机应用系统的硬件设计及软件设计的基本方法; 2、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中; 3、训练单片机应用技术,锻炼实际动手能力 4、提高正确地撰写论文的基本能力。 课程设计内容和要求 1、完成硬件电路的设计,其中包括单片机和CC1101模块的设计; 2、完成无线通信模块的程序设计与实现,上机运行调试程序,记录实验结果(如图表等), 并对实验结果进行分析和总结; 3、课程设计报告书按学校统一规范来撰写,报告主要包括以下内容:目录、摘要、关键 词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论献等; 4、查阅不少于6篇参考文献。 初始条件: 1、STC89C52和CC1100H模块; 2、先修课程:单片机原理与应用。 时间安排: 第19周,安排设计任务,完成硬件设计; 第20周,完成软件设计、撰写报告,答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 摘要 (Ⅰ) Abstract (Ⅱ) 1基本原理 (1) 1.1无线通信系统 (1) 1.2芯片简介 (1) 1.2.1单片机STC89C52 (1) 1.2.2 无线通信CC1101芯片 (3) 2方案论证与设计 (5) 2.1无线通信模块选择 (5) 2.2 单片机最小系统选择 (5) 2.3整体方案设计 (6) 3 硬件电路设计 (6) 4软件程序设计 (8) 4.1发送端编程 (8) 4.2接收端编程 (9) 4.3程序调试与下载 (10) 5硬件仿真 (12) 6实物制作与调试 (12) 6.1 STC89C52单片机最小系统 (12) 6.2无线通信模块CC1101 (13) 6.3稳压电路模块 (13) 7心得体会 (15) 8参考文献 (16) 附录 (17)

单片机与PC机串口通信实现正文

毕业设计(论文)课题:单片机与PC机串口通信实现 学生: 孙波系部: 通信工程 班级: 通信1301 学号: 2013120325 指导教师: 童华 装订交卷日期: 2016年x月x日 装订顺序: (1)封面(2)毕业设计(论文)成绩评定记录(3)标题、中文摘要及关键词(4)正文(5)附录(6)参考文献

毕业设计(论文)成绩评定记录表 注:1.此表适用于不参加毕业答辩学生的毕业设计(论文)成绩评定; 2.平时成绩占40%、卷面评阅成绩占60%,在上面的评分表中,可分别按40分、60分来量化评分,二项相加所得总分即为总评成绩,总评成绩请转换为优秀、良好、中等、及格、不及格五等级计分。 教务处制

重庆电子工程职业学院 毕业设计(论文)开题报告 系别通信工程专业通信技术班级通信1301 学生姓名孙波学号2013120325 指导教师童华 一、毕业设计的内容和意义: 目前,随着计算机和微电子技术的高速发展,单片机在国民经济的各个领域的智能化控制中得到了非常广泛的应用。单片机已成为信息处理、物联网络、通信设备、工业控制、家用电器等各个领域不可缺少的智能部件。在一些工业控制中,经常需要以单片机作为下位机执行对被控对象的直接控制,以PC机为上位机完成复杂的数据处理,组成主从式控制系统。 为了提高系统管理的先进性,计算机工业自动控制和监测系统越来越多的采用主从式系统。较为常见的形式是由一台做管理用的上位机计算机(主机)和一台直接参与控制检测的下位机单片机(从机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。主机的作用一是向从机发送各种命令及参数;二是要及时收集、整理和分析从机发回的数据,供进一步的决策。从机被动的接收、执行主机发

基于WIFI模块和单片机的无线数据传输附代码

工业大学 计算机科学与技术学院 Project3课程设计 2014-2015学年第二学期 班级:浦电子1203 组员: 组员学号: 指导老师:武晓光,胡方强,包亚萍 袁建华,毛钱萍 2015年7月8日

目录 第一章阶段任务 第二章基于WIFI模块的无线数据传输的原理 1.1 时钟模块 1.2 最小单片机系统的原理 1.3 温度传感器DS18B20 1.4 串口 1.5 WIFI模块 第三章基于WIFI模块的无线数据传输的实现 2.1 WIFI模块设置 2.2 串口部分设置 2.3 调试与运行过程 第四章程序与框图 第五章小结

第一章阶段任务:

第四阶段:2天(2天)写报告 第二章基于WIFI模块的无线数据传输的原理 1.1时钟DS1302模块: 电路原理图:DS1302与单片机的连接也仅需要3条线:CE引脚、SCLK串行时钟引脚、I/O 串行数据引脚,Vcc2为备用电源,外接32.768kHz晶振,为芯片提供计时脉冲。 读写时序说明:DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。控制字总是从最低位开始输出。在控制字指令输入后的下一个SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位( 0位)开始。同样,在紧跟8位的控制字指令后的下一个SCLK脉冲的下降沿,读出DS1302的数据,读出的数据也是从最低位到最高位。数据读写时序如图

1.2单片机最小系统的原理: 说明 复位电路:由电容串联电阻构成,由图并结合"电容电压不能突变"的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位. 晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作) 单片机:一片AT89S51/52或其他51系列兼容单片机 特别注意:对于31脚(EA/Vpp),当接高电平时,单片机在复位后从部ROM的0000H开始执行;当接低电平时,复位后直接从外部ROM的0000H开始执行. 1.3温度传感器DS18B20的原理(连接到单片机最小系统,并将温度发送给WIFI模块):

相关主题
文本预览
相关文档 最新文档