•  * PC机与单片机间串行通信的实现  * 设计方案的介绍  * 硬件设计  * 软件设计 解决方案:  * 有线传输  * 无线传输  * 采用CCll00收发器通过串口实现PC机与单片机之间的双工无线通信 单片...


    中心议题:
        *  PC机与单片机间串行通信的实现
        *  设计方案的介绍
        *  硬件设计
        *  软件设计
    解决方案:
        *  有线传输
        *  无线传输
        *  采用CCll00收发器通过串口实现PC机与单片机之间的双工无线通信

    单片微型计算机简称单片机,它是将中央处理器(CPU)、存储器(RAM,ROM)、定时/计数器和各种接口电路都集成到一块集成电路芯片上的微型计算机。随着计算机技术尤其是单片机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、湿度等参数进行检测和控制。PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC机的RS 232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。针对一些远距离控制或者是危险性比较高的数据采集和控制的应用情况,本文主要介绍一种用双工方式实现PC机与单片机之间的串行通信。
      
    1 设计方案
      
    为了通过串口实现PC机与单片机间的双工通信,可有如下设计方案。
      
    (1)设计方案一:有线传输
      
    此方案是指PC机与单片机之间通过电缆线传输数据。有线传输的优势是性能比较稳定,调试简单,而不足之处在于它的应用范围不够广、性能不够好,而且传输距离受限,这样就大大影响了系统的应用范围。
      
    (2)设计方案二:无线传输
      
    此方案是指PC机与单片机通过无线信道传输数据。无线传输的最大优势是应用范围广,受距离约束较小,在一定范围内可以不用考虑距离问题,还可以应用在一些高温、危险的场合。
      
    因此,本文选用无线传输方案通过串口来实现PC机与单片机之间的双工通信。无线传输可以用不同的方式来实现,常用的有红外方式、蓝牙方式,其他的还有射频收发芯片如CC1100,PT2262/2272芯片等。
      
    红外通信是利用950 nm近红外波段的红外线作为传递信息的载体,通过红外光在空中的传播来传递信息,由红外发射器和接收器实现。发射端将二进制数字信号调制成某一频率的脉冲序列,经电光转换电路,驱动红外发射管以光脉冲的形式发送到空中。接收端将接收到的光脉冲转换成电信号,再经解调和译码后恢复出原二进制数字信号。其最大优点是:不易被人发现和截获,保密性强;几乎不会受到电气、天电、人为干扰,抗干扰性强。此外,红外线通信机体积小、重量轻、结构简单、价格低廉。不足之处在于它必须在视距内通信,且传播受天气的影响。
      
    CCll00是一种低成本真正单片的UHF收发器,为低功耗无线应用而设计。CCll00构建高性能射频无线数据传输技术方案应用无线通讯模块采用透明模式进行通讯,即所收即所发,具有通讯距离远、低功耗、接口灵活等优点,使用者无需编码和控制。CCll00通信距离(视距)大于300 m,而且能隔墙遥控,操作方便。
      
    综合上述分析,本文介绍的是采用CCll00收发器通过串口来实现PC机与单片机之间的双工无线通信。
      
    2 硬件设计
      
    2.1 总体框图
      
    此双工无线通信系统的总体框图如图1所示。由于此系统可实现双工通信,因此它可分为两个通信过程:PC机(上位机)通过上位机程序界面发送数据给单片机,并送给液晶屏显示相应的数据;键盘输入数据传给单片机,接着发送给PC机,并在PC机上位机程序界面上显示出来。



    2.2 实现电路图
      
    对应于上述框图的电路实物图如图2所示。其左右两个电路分别对应上述框图中的左右两个部分。总体来说,它包括电平转换电路、单片机处理部分、无线收发部分(CCll00收发器)、液晶显示模块和键盘输入模块五个部分。

      
    (1)电平转换电路
      
    PC机的串行口采用的是标准的RS 232接口,单片机的串行口电平是FTL电平,而TTL电平特性与RS 232的电气特性不匹配,因此为了使单片机的串行口能与RS 232接口通信,必须将串行口的输入/输出电平进行转换。通常用MAX232芯片来完成电平转换。
      
    (2)单片机部分
      
    单片机部分包括单片机、复位电路和时钟电路。它将串口送过来的数据传输给CC1100收发器,或者将CCll00收发器传送过来的数据通过串口给PC机。单片机的复位电路和时钟电路是单片机工作所必需的。
      
    (3)无线收发部分
      
    无线收发部分由CC1100收发器组成,它将接收到的数据通过天线发射出去或从天线接收发送过来的数据。
      
    (4)液晶显示模块
      
    此处选用LCDl602液晶模块,其内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。
      
    (5)键盘输入模块
      
    在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4×4=16个按键,比之直接将端口用于键盘多出了一倍。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是比较好的。矩阵式键盘的按键识别方法为行扫描法。此处选用4×4的矩阵键盘来输入O~9的数字和a~f的字母。

    3 软件设计
      
    本系统的软件设计方面包括上位机程序和单片机程序的设计。上位机程序要实现的功能是在电脑上显示一个操作界面,它可代替串口调试工具。
      
    3.1 上位机程序
      
    上位机程序可以用VB,VC++等语言来编程,但本方案采用比较方便的C#来编程实现,其流程图如图3所示。

     

    2.2 实现电路图
      
    对应于上述框图的电路实物图如图2所示。其左右两个电路分别对应上述框图中的左右两个部分。总体来说,它包括电平转换电路、单片机处理部分、无线收发部分(CCll00收发器)、液晶显示模块和键盘输入模块五个部分。

      
    (1)电平转换电路
      
    PC机的串行口采用的是标准的RS 232接口,单片机的串行口电平是FTL电平,而TTL电平特性与RS 232的电气特性不匹配,因此为了使单片机的串行口能与RS 232接口通信,必须将串行口的输入/输出电平进行转换。通常用MAX232芯片来完成电平转换。
      
    (2)单片机部分
      
    单片机部分包括单片机、复位电路和时钟电路。它将串口送过来的数据传输给CC1100收发器,或者将CCll00收发器传送过来的数据通过串口给PC机。单片机的复位电路和时钟电路是单片机工作所必需的。
      
    (3)无线收发部分
      
    无线收发部分由CC1100收发器组成,它将接收到的数据通过天线发射出去或从天线接收发送过来的数据。
      
    (4)液晶显示模块
      
    此处选用LCDl602液晶模块,其内部的字符发生存储器已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号和日文假名等,每一个字符都有一个固定的代码。
      
    (5)键盘输入模块
      
    在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4×4=16个按键,比之直接将端口用于键盘多出了一倍。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是比较好的。矩阵式键盘的按键识别方法为行扫描法。此处选用4×4的矩阵键盘来输入O~9的数字和a~f的字母。

    3 软件设计
      
    本系统的软件设计方面包括上位机程序和单片机程序的设计。上位机程序要实现的功能是在电脑上显示一个操作界面,它可代替串口调试工具。
      
    3.1 上位机程序
      
    上位机程序可以用VB,VC++等语言来编程,但本方案采用比较方便的C#来编程实现,其流程图如图3所示。

     


    3.2 单片机程序
      
    单片机程序主要包括主程序、单片机发送子程序、单片机接收子程序、液晶显示子程序、键盘输入子程序五部分,均采用C语言进行模块化编程。由于篇幅原因,下面只给出了单片机发送子程序和接收子程序,如图4,图5所示。

      
    4 测试结果
      
    测试时,连接好硬件打开串行口COM1,并设波特率为9 600 b/s。单片机发送字符串“675”给PC机,其液晶显示如图6所示,相应的PC机界面显示如图7所示。PC机发送"69asd"给单片机,液晶屏上即可接收到“69asd",如图8,图9所示。测试结果说明:基于串行口的PC机与单片机之间的双工无线通信是切实可行的,而且无线传输的距离至少可达到100 m。

      
    5 结语
      
    采用CCll00收发器通过串口实现了PC机与单片机之间的双工无线通信。此系统可应用到一些远距离控制或者是危险性比较高的数据采集和控制的场合,用于采集温度、湿度等参数,还可扩展到无线传感器网络领域,实现诸如无线抄表、智能家居等系统。

     

     

    展开全文
  • 51单片机与蓝牙模块连接 2018-02-22 12:17:38
    不久前开始学习使用蓝牙模块,在模块51单片机连接的过程中出现了非常多的问题,我想应该也是很多新手和我一样会遇到这样的问题,因此特地写这篇文章,想分享下在学习过程中遇到的问题以及解决方法。此次学习用到...
  • 这两天正好做完超声波后,要调试使用蓝牙模块自己的电路板一起联合使用,需要给客户写个详细的说明书。遂将说明书分享如下,希望对大家有所帮助。   1、通信前必须具备东西: (1) 蓝牙串口模块;   ...
  • Hc-06,BT-06 都是在淘宝常见的蓝牙模块,价格在20元左右,分主从模块。所谓“主从一体模块”,就是可以发出配对请求,又可以接受配对请求的。所谓“从模块”,就是只能接受配对请求而不能发出配对请求。我们的手机...
  • HC-05蓝牙串口通信模块应该是使用最广泛的一种蓝牙模块之一了。为什么呢? 因为HC05模块是一款高性能主从一体蓝牙串口模块,可以不用知道太多蓝牙相关知识就可以很好的上手。说白了,只是个蓝牙转串口的设备,你...
  • 如题,蓝牙模块BT05,支持BLE透传。 现在想实现数据从单片机经过蓝牙模块向手机APP的信息传输。发个信号高低电平也可以。 写代码的话是应该往APP里写还是蓝牙模块里写还是在单片机里写? 因为蓝牙支持透传...
  • 说明需要注意的几点: ...蓝牙与单片机,任何时候都是 rx-tx,tx-rx。但是stm32精英版中uart3有个很奇怪的错误?上图 这也就是说,在板子上的rx接的单片机实际引脚是TX,所以接线的时候是对应相接。 ...
  • 蓝牙串口模块就是使用单片机的TX ,RX与蓝牙模块通信单片机通过TX发送数据给蓝牙模块,然后蓝牙模块在通过蓝牙协议把数据发送出去,蓝牙模块Android的通信方式使用spp协议。 2.蓝牙通信 蓝牙通信需要服务端和...
  • #include <reg52.h> #include "xs.h" #include "xs1.h" #include "delayms.h" #define uchar unsigned char #define uint unsigned int sbit si=P3^4; sbit s2=P3^6;...uchar code suzu[]={0xc0...
  • 单片机实现蓝牙功能 2019-07-07 16:36:37
    下面的文字只是关于蓝芽技术的调制算法方面,我认为只需要将蓝芽模块加在单片上就可以了,而不必通过单片机编程来实现具体的算法,只需要编写使两个模块的接口就可以,也就是单片机发送信号时的激励程序,接受外来...
  • 1.蓝牙核心模块使用HC-06从模块,引出接口包括VCC,GND,TXD,RXD,预留LED状态输出脚,单片机可通过该脚状态判断蓝牙是否已经连接 2.led指示蓝牙连接状态,闪烁表示没有蓝牙连接,常亮表示蓝牙已连接并打开了端口 ...
  • Linux串口通信 | Ubuntu与单片机通信 | 测量HC-05蓝牙模块的传输延迟 主要思想 从PC端通过蓝牙发送一个数据给单片机单片机再发送回来,计算时间差除以2,记录多次取平均。 蓝牙和电脑通过USB转TTL连接,串口...
  • 目前安卓手机跟单片机通信都是通过蓝牙或者wifi的方式无线通信,好处是可以分开长距离通信,但是往往使用的时候安卓板子跟单片机都在一块的,这样子就会增加成本而且可靠性没有有线方式可靠。大多数安卓手机都是具有...
  • 基于Windows的蓝牙通讯 2020-07-06 18:48:13
    基于Windows的蓝牙通讯 实现下列功能: 搜索(本地设备) 搜索(远程设备) 连接(远程设备) 发送信息 接收信息
  • 树莓派USB与PC实现串口通信 最近小编又在瞎折腾,用血泪史写下此文,小编购买的器件有:CH340和HC-08的zigbee无线蓝牙,两套(一个使用在树莓派,一个使用在PC端),确保多能用,需要购买后先在电脑测试端配置好...
  • 通过蓝牙助手(或串口调试助手)调试,HC-05与PC机能正常通信89C51相连接,HC-05也能接收到数据,但接收到的是乱码。 二、解决办法 波特率一致(我设置的是4800); 波特率加倍(不知道为啥要加倍,或者可能是...
  • 基于STM32F407+蓝牙模块(HC-05)电脑蓝牙通信(含代码) 在许多基于STM32控制方面,很多时候需要我们获得许多数据,而这些数据很多时候不能有线传输,要进行必要的无限传输,在无限传输方面蓝牙有着许多的优点,...
  • HC-06蓝牙模块设置使用 2016-11-28 10:19:25
    由于项目需要用到Android手机控制... 本文主要介绍蓝牙模块与单片机(本文以Arduino为例)以及PC的连接通信 先上连接示意图 为了配置蓝牙模块,我们先让单片机与蓝牙模块正常通信,这里需要在代码里控制数据传输显示
  • 本人以前常用的HC-06蓝牙模块可以通过串口将数据发送至电脑,但需要两个蓝牙模块,如下图: 由于经常带产品出差测试,得一直把上图右边那个带在身上,容易弄丢。 我就想既然笔记本上带有蓝牙,为何不直接使用...
  • 要实现串口通信主要分为两个部分,下位和上位机,下位主要完成的功能是数据的生成和发送,上位机主要需要将传送来得数据进行存储和处理,这里分为这两部分分别来说 下位 我这里要实现的功能是通过使用光敏...
1 2 3 4 5 ... 20
收藏数 592
精华内容 236