用户中心

资讯 > 嵌入式系统

运用Visual Basic实现PC与89C51单片机之间的串行通信

2006.01.30阅读 6531

    1 系统简介
    在中科院等离子体物理研究所受控核聚变物理实验装置控制系统中,我们开发设计了以计算机控制为基础的各种信号予置系统,系统原理如图1所示。

图1 系统原理图
图1 系统原理图

    系统上位机由一台(PC586)微机构成,软件采用Visual Basic编程,作出十分直观的人机界面,并通过串行口将所需的各种予置信号(数字信号)传给单片机系统,再由单片机系统产生实际的模拟信号经线性光电隔离器送到现场。予置数值可以分别显示在PC机软件窗口和单片机系统的予置数字表头上。同时,现场实测信号经过线性光电隔离器,也可以实时显示在本系统的检测数字表头上和PC机的界面上。如此设计界面直观控制工程网版权所有,而且利于对现场信号进行实时监测。因此,采用本系统CONTROL ENGINEERING China版权所有,大大提高了现场信号予置精度,对实验操作人员来说人机界面良好,简单易懂。我们将分硬件和软件两方面分别介绍该系统的情况。

    2 硬件介绍
    从系统原理图上可见,本系统关键的硬件部分是单片机系统的设计,上位机

PC机则直接利用它的RS232串行口即可。

    本系统采用CPU为89C51的单片微机,89C51本身带有2K的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单、方便等优点,而且完全兼容MCS 51系列单片机的所有功能。该单片机系统的工作流程是这样的:89C51单片机利用自身具有的串行通信口,直接接收PC机传送下来的串行数据,然后将所接收的各组数据通过并行口输出,经过数字光隔,送到数据锁存器74LS373,最后将锁存的数据送到D/A转换器进行数模转换并通过运放将模拟信号输出,同时显示在相应的予置数字表上。现场返回的信号通过隔离www.cechina.cn,经过A/D转换器和数据锁存器变成单片机所需的并行数字信号送到单片机的数据存储单元中控制工程网版权所有,再由串行口返送到PC机上,同时显示在PC机界面和本系统相对应的检测数字表上以便于予置和实际情况相对比。利用89C51输出口对不同数据锁存器74LS373和A/D、D/A的片选输出可以实现一台单片机同时对多路不同信号进行予置和检测。

    3 软件结构
    软件分PC机Visual Basic编程和89C51单片机汇编语言编程两部分,现分别介绍如下。

    3.1 PC机部分
    PC机采用Visual Basic(简称VB)编程。目前,VB已成为WINDOWS系统开发的主要语言,以其高效、简单易学及功能强大的特点越来越为广大程序设计人员及用户所青睐。VB支持面向对象的程序设计,具有结构化的事件驱动编程模式并可以使用无限扩增的控件,而且可以十分简便地作出良好的人机界面。在标准串口通信方面CONTROL ENGINEERING China版权所有,VB提供了具有强大功能的通信控件MSCOMM,文件名为MSCOMM.VBX。该控件可设置串行通信的数据发送和接收,对串口状态及串口通信的信息格式和协议进行设置。这是一个标准的十位串口通信,包括8位标准数据和数据的起始位和停止位。在发送或接收数据过程中触发OnComm事件,通过编程访问CommEvent属性了解通信事件的类型,分别进行各自的处理。每个通信控件对应一个串口,可以设计多个通信控件来访问多个通信口。VB通信控件设计软件如下:

    Global comm_time As Integer /定义一些全局变量
    Global data(1000)As Integer
    Global Receive(1000)As Integer
    Private Sub Form_Load()’ /串口初始化
    Comml.CommPort=1 /设置串口1
    Comml.Settings=“9600,N,8,1” /波特率:9600 奇校验,8位数据,1位停止位
    Comml.InputLen=0 /读取接收缓冲区的所有字符
    Comml.InBufferSize=256 /设置接收缓冲区为256字节
    Comml.OutBufferSize=256 /设置发送缓冲区为256字节
 &













版权声明:版权归控制工程网所有,转载请注明出处!

频道推荐

关于我们

控制工程网 & CONTROL ENGINEERING China 全球工业控制、自动化和仪器仪表领域的先锋媒体

CE全球

联系我们

商务及广告合作
任小姐(北京)                 夏小姐(上海)
电话:010-82053688      电话:18616877918
rendongxue@cechina.cn      xiashuxian@cechina.cn
新闻投稿:王小姐

关注我们的微信

关于我们 | 网站地图 | 联系我们
© 2003-2020    经营许可编号:京ICP证120335号
公安机关备案号:110102002318  服务热线:010-82053688