PC机与两片单片机串行进行通信的集散系统毕业设计.pdf
《PC机与两片单片机串行进行通信的集散系统毕业设计.pdf》由会员分享,可在线阅读,更多相关《PC机与两片单片机串行进行通信的集散系统毕业设计.pdf(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 PC 机与两片单片机串行进行通信的集散系统毕业设计 2 作者:日期:个人收集整理 勿做商业用途 0 分类号 TN919 编号 201125502220 集散系统的设计与模拟 Design and Simulation of Distributed Control System (申请烟台大学学士学位论文)申请学位:工学学士学位 院 系:计算机学院 专 业:自动化 学生姓名:李帅 学 号:200725502220 指导老师 王培进(教授)2011 年 6 月 7 日 烟台大学计算机学院 个人收集整理 勿做商业用途 1 摘要该设计是一个基于串行通信的集散控制系统。该集散控制系统由 PC与 2 个
2、单片机组成,其中 PC 作为上位机对单片机进行控制和监视,采用 Visual Basic 编制界面。两片 AT89C52 单片机作为下位机,用来接收上位机指令并实现相应功能。通信基于 USB 通用串行总线标准,线路由 USBhub 中转扩展.可以实现 PC 和单片机之间主从式半双工通信。本文详细讨论了硬件电路的设计方法、主从式通信协议设计方法、主机人机交互界面的设计方法、下位单片机驱动的设计方法以及开发环境 keil uVision2、Visual Basic6.0 的使用方法,通过以上各种方法,最终实现了 PC 对多个单片机的集散控制。关键词 PC;单片机;集散系统;通信 个人收集整理 勿做
3、商业用途 2 Abstract:This distributed control system based on serial communication protocol is composed of a PC and two MCUs.PC is used as master,whose interface is programed by Visual Basic,and MCUs are used as slave so as to receive the single order from the master。The design of communication protocol
4、and corresponding design of hardware and software of PC and multiple MCUs is described in the article。All the designs mentioned above get together to realize the DCS at last.This article also introduces how to use the editor softwares such as keil uVision2 and Visual Basic 6。0。Some pictures and char
5、ts are given in order to make this article more vividly to read and more easily to understand.个人收集整理,勿做商业用途个人收集整理,勿做商业用途 Keywords:PC;MCU;DCS;serial communication 个人收集整理 勿做商业用途 3 目录 第一章 序言.4 第二章 系统总体设计.5 2.1 系统概述.5 2.2 系统概图.5 2。3 系统总体运行图.6 2。4 系统功能模块.7 2。5 系统设计步骤.7 第三章 系统硬件设计.8 3.1 硬件结构.8 3。2 上位机 PC
6、与 USB 集线器.8 3.3 芯片 PL2303.9 3。4 单片机.10 第四章 系统软件设计.10 4.1 通信协议.10 4。1.1 异步串行通信协议.10 4。1.2 帧.11 4。2 下位机(单片机)串行通信及程序设计.12 4.2.1 单片机开发环境 uVision2 介绍.12 4。2.2 下位单片机驱动程序.12 4.3 上位机(PC)串行通信及程序设计.16 4。3.1 PC 界面开发环境 Visual Basic 6.0 介绍.16 4。3。2 PC 上位机界面程序编制.16 结束语.23 致谢.25 参考文献.26 附录 A 下位机程序代码.27 附录 B 上位机程序代
7、码.33 个人收集整理 勿做商业用途 4 第一章 序言 随着计算机技术尤其是单片微型机技术的发展,随着多微机系统的应用和微机网络的发展,通信功能越来越显得重要1。这里所说的通信既包括计算机与外部设备之间,也包括计算机和计算机之间的信息交换。由于串行通信是把组成信息的各个码位在同一根传输线上,从低位到高位,逐位地、顺序地进行传送的通信方式,所用的传输线少,一个方向上只须一条传输线,并且可以借助现成的电话网进行信息传送,因此,特别适合于远距离传送。对于那些与计算机相距不远的人机交互设备和串行外部设备如终端、打印机、逻辑分析仪、磁盘等,采用串行方式进行近距离交换数据也很普遍。在实时控制和管理方面,采
8、用多台微处理机组成分级分布控制系统中,各 CPU 之间的通信一般都是串行方式.所以串行接口是微机应用系统常用的接口。单片机正朝着高性能和多品种方向发展,具有低功耗,小体积,大容量,高性能,设计灵活、低价格和外围电路内装化等诸多特点。而 PC 具有强大的数据处理功能、监控和管理功能与非常友好的人机交互界面,人们已越来越多地采用 PC单片机系统来对一些工业控制系统中诸如温度、流量和压力等参数进行检测和控制。DCS 能够实现集中管理分散控制的功能,随着工业化的进步,以前传统的采用人工进行数据记录登记已经远远不能满足现在工业化生产的要求,而采用 PC上位机单片机结构实现的数据采集系统具有自动化和无人值
9、守等特点,使得操作人员不必身居生产一线即可得知一线设备状态并且集中控制这些设备,给各领域的生产加工带来极大方便和安全,也使得生产更加合理优化,极大的提高了生产效率和产品质量。本设计是由 PC 和单片机组成的集散系统系统,能够通过 PC 与单片机的串行通信对外部设备进行信息采集和控制,满足以上各种优势,具有很强的实用价值。个人收集整理 勿做商业用途 5 第二章 系统总体设计 2.1 系统概述 本集散控制系统能够实现 PC 与两个单片机之间的串行通信,进而实现集中管理分散控制的功能。该系统是由 PC 与 2 个单片机组成的主从集散控制系统,其中 PC 做为上位机对下位单片机实现控制和监视功能,采用
10、 VB 编制界面,包括通信和控制两个功能模块.单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令并执行相应功能。要实现集散控制,首先要解决的是主从机如何通信的问题,RS485 标准抗干扰能力强,传输速率高,传送距离远,在当今串行通信领域应用比较广泛。但是本设计要求是 DCS,距离近,下位机仅有 2 台,功能简单,精度要求不高,又因为购置的单片机集成了 USB 转串口芯片 PL2303,可直接连接 PC 的 USB 接口,因此我们改用 USB 串行通信,若要控制两台单片机需要2 个 USB 口,USB-Hub 可将一个 COM 扩展成另外数个不同 COM 口,将单片机连接至转换后
11、的 COM 口,PC 就可以通过向不同 COM 口发送指令来控制不同下位机了,一个简单的集散系统就是这样实现的。通信无非就两种方向:(1)PC 向单片机发送(2)单片机向 PC 发送。本系统将以上二者分开实现。前者是 PC 发送指令,单片机执行。例如:在 PC 上选择某个单片机,点击“点亮 LED 灯”,然后该单片机就会点亮相应 LED 灯,通信成功。后者是单片机向 PC 发送数据,PC 接收。注意这里单片机是不能主动发数据的,需要 PC 的控制指令触发.例如:在 PC 操作界面上选择单片机,并且点击“采集数据,被选中的单片机则会采集数据并发送给 PC,PC 接收单片机采集的数据并显示,通信成
12、功。2。2 系统概图 系统的结构主要由三部分组成:(1)上位机系统;(2)下位机系统;(3)通信系统。上位机为 PC,界面用 VB 编制,人机交互良好;下位机为 2 片 AT89C52单片机,驱动程序采用 C 语言编制;通信系统采用 USB 串行通信。如图 2。1所示。图 2.1 系统概图 个人收集整理 勿做商业用途 6 2。3 系统总体运行图 本设计有一台主机,两台从机。各台从机之间不能相互通信.主机通过改变COM 口选择从机,向其发送控制指令和数据指令.从机处于从属地位,接收到上位机命令后进入串口中断,判断对比,要么执行诸如 LED 等亮的功能;要么进行数据采集,向 PC 发送数据。这里从
13、机不能主动向主机发送数据,只能等待主机发送“允许从机发送数据指令”后,方可向主机发送数据。若要实现数据采集功能,主机需采取查询方式,每隔一段时间对从机查询一次。系统的运行过程是这样的:单片机一直在执行着自己的主函数,等待 PC 触发串口中断。PC 在操作员的控制下向单片机发送数据,单片机接收到串行数据,触发串行中断程序,对主机发送的指令数据进行判断对比,执行相应的指令。这里会有两种不同的功能,一种是单片机自己内部执行,仅对诸如 LED 灯、数码管、点阵等输出外设进行操作,另一种是单片机采集输入外设的数据,传送给 PC 上位机。一切执行结束后,单片机会结束中断回到主程序,继续等待 PC 触发中断
14、。运行流程如图 2.2 所示。图 2.2 系统总体运行图 个人收集整理 勿做商业用途 7 2.4 系统功能模块 系统功能共分两个模块,PC 控制单片机模和 PC 采集单片机的键值模块.前者对应 PC 发送数据,单片机接收;后者对应单片机发送数据,PC 接收。(一)PC 控制单片机模块 检测:PC 向某单片机发送检测指令,该单片机返回一串字符串至PC.点亮发光二极管:PC 向某单片机发送该指令,该单片机点亮相应 LED 灯。熄灭发光二极管:PC 向某单片机发送该指令,该单片机熄灭所有LED 灯.点亮数码管时钟:PC 向某单片机发送该指令,该单片机点亮数码管,显示PC 上设定的相应时间,并且开始走
15、秒。熄灭数码管时钟:PC 向某单片机发送该指令,该单片机熄灭数码管.点亮点阵:PC 向某单片机发送该指令,该单片机点阵显示相应的点阵形状。熄灭点阵:PC 向某单片机发送该指令,该单片机熄灭点阵。(二)PC 采集单片机的键值模块 这里的键值是指单片机按键对应的值。在数码管上显示,初值为 0,手动增减,按+键,则数值开始增加,按键则数值减小,该键值可以用来模拟温度压力等物理量经过 AD 转换之后的数值(由于硬件和时间原因,没有用温度传感器进行全真模拟,其实键值模拟采集和它的核心原理是一样的)。PC 定时发送键值采集指令,对两个单片机进行轮换查询。每一个 PC 指令都会触发单片机的中断,让其发送键值
16、数据至 PC。PC 采集之后进行越限报警和绘制图表等处理.2。5 系统设计步骤 系统设计总共分四个步骤:1、硬件选择与连接:设计硬件结构图并且购置相关硬件。2、通信协议的设计:统筹上位机与下位机,设计二者兼容的通信协议。3、单片机下位机的驱动程序 C 编程与调制:根据单片机硬件资源及系统需要实现的功能,设计下位片机的驱动。4、PC 上位机的操作界面 VB 编程与调制:利用 Visual Basic6。0 设计一目了然、通俗易懂的操作界面。个人收集整理 勿做商业用途 8 第三章 系统硬件设计 3.1 硬件结构 本系统硬件组成部件有:PC 上位机、USB 集线器、2 个单片机(这里 PL2303集
17、成在了单片机之上),系统硬件结构如图 3。1 所示。图 3.1 硬件结构图 3.2 上位机 PC 与 USB 集线器 PC 就是众所周知的个人电脑,具有强大的数据处理能力,而且有良好的人机交互界面,很适合于做上位机,实现监控功能,本设计主要利用PC 机 USB通用串行通信接口进行串行通信。USB-HUB2就是一个 USB 接口扩展工具,能将 PC 上的一个 USB 口转换为数个不同 USB 口,单片机自身集成的 USB 驱动芯片可以将 USB 信号转化为单片机可以接收的 TTL 电平,故单片机可以直接连接至 USBHUB 扩展出来的USB 接口。PC 通过查询不同 USB 口即可以控制与该口连
18、接的单片机.像树的主干一样,HUB 是各分枝的汇集点,而根是 PC,叶是单片机。HUB 是一个共享设备,其实质是一个中继器,而中继器的主要功能是对接收到的信号进行再生放大,以扩大网络的传输距离。在网络中,集线器主要用于共享网络的建设,是解决从服务器直接到桌面的最佳、最经济的方案。在交换式网络中,HUB 直接与交换机相联,将交换机端口的数据送到桌面.使用 HUB 组网灵活,它处于网络的一个星型结点,对结点相连的工作站进行集中管理,不让出问题的工作站影响到整个网络的正常运行。由于 HUB 在网络中的重要作用,所以对于它的选型也是非常重要的。本设计选用的是一转四的普通 USB 集线器。个人收集整理
19、勿做商业用途 9 3。3 芯片 PL2303 图3.2 PL2303芯片 PL23033是Prolific 公司生产的一种高度集成的RS232USB 接口转换器,可提供一个RS232全双工异步串行通信装置与USB功能接口便利联接的解决方案。该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号的UART,只需外接几只电容就可实现USB信号与RS232信号的转换,能够方便嵌入到各种设备;该器件作为USB/RS232 双向转换器,一方面从主机接收USB数据并将其转换为 RS232 信息流格式发送给外设;另一方面从RS232外设接收数据转换为USB数据格式传送回主机。这些工作全
20、部由器件自动完成,十分方便。PL2303的高兼容驱动可在大多操作系统上模拟成传统COM端口,并允许基于COM 端口应用可方便地转换成USB接口应用,通讯波特率高达6 Mb/s。在工作模式和休眠模式时都具有功耗低,是嵌入式系统手持设备的理想选择。该器件具有以下特征:完全兼容USB1.1 协议;可调节的35 V 输出电压,满足3V、3。3V和5V不同应用需求;支持完整的RS232接口,可编程设置的波特率:75b/s6 Mb/s,并为外部串行接口提供电源;512 字节可调的双向数据缓存;支持默认的ROM和外部EEPROM存储设备配置信息,具有I2C 总线接口,支持从外部MODEM 信号远程唤醒;支持
21、Windows98,Windows2000,WindowsXP等操作系统;28引脚的SOIC封装,如图3.2所示。本设计采用PL2303作为USB-RS232转换芯片,省去了原本MAX232芯片转换及相关总线的连接.而且PL2303可以同时给单片机供电,使系统线路更加简单.个人收集整理 勿做商业用途 10 3。4 单片机 省略 第四章 系统软件设计 4。1 通信协议 4。1.1 异步串行通信协议(1)串行通信7 串行通信是指所传送数据的各位按顺序一位一位地发送或接收.其特点是只需一对传输线,适合于长距离传输,但通信速度较并行通信时慢。随着通信技术的发展,串行通信速度不断提高,使得计算机网络通信
22、普遍采用串行通信方式.计算机控制系统中各站间的数据传递及与信息管理系统间的数据交换都采用了串行通信方式。(2)波特率 波特率(Baud Rate)是串行通信中的一个重要的指标。它定义为每秒钟传送二进制数码的位数,单位是位每秒,用 bps、bit/s 或 b/s 表示。在串行异步通信中,波特率为每秒传送的字符数与每个字符位数的乘积。例如,如果每秒传送的速率为120字符/s,而每个字符包含10位(1个起始位、7个数据位、l 位奇偶校验、l 位停止位),则波特率为:120字符/s 10b/字符=1200bps 现在异步通信的波特率可达100Mbps,当采用光纤作为传输介质时,传输波特率更高。(3)通
23、信制式 按通信线路上信息传送方向与时间的关系,可分为三种通信制式:单工通信、半双工通信和全双工通信.主要讲述一下半双工制式,因为本设计就是半双工制式。半双工制式系统中的两个站都由一个发送器和一个接收器组成,通过收发开关接到一根通信线上。在这种制式下,数据能从甲站传送到乙站,也能从乙站传送到甲站,但是不能同时在两个方向上传送,只能交替的发送和接收。其收发开关是由软件控制的电子开关,通过半双工协议进行功能切换的。(4)串行异步通信8 串行异步通信 ASYNC(Asynchronous Data Communication)是一个字符一个字符地按帧传送数据的方式。开头一个起始位“0”,接着是58位数
24、据位,且规定低位在前、高位在后,然后是一个奇偶校验位,最后加上一个停止位“1”表示字符的结束。若数据没有准备好则以空闲字符“1”来填充,直到数据准备好形成下一帧。一帧信息包含1个起始位、58个数据位、1个奇偶校验位、12个停止位。无信号传送时,为停止位(高电平)状态,当出现起始位(低电平)时,表示数据传送开始。因此停止位到起始位的电平转换,即为同步信息.进行异步通信时,收发双方必须有两项约定:一是帧信息格式,即字符的编码形式、奇偶校验形式、起始和停止位的格式等;二是传送速率。个人收集整理 勿做商业用途 11 串行异步通信在向外发送字符时,由于在字符的首尾分别附加了一个起始位和停止位。因此,传送
25、效率较低,传送速率较慢。(5)本设计 本设计采用异步串行通信,波特率设为9600bps,一帧数据由1位起始位、8位数据位、无奇偶校验位、1位停止位共10位组成。半双工通信制式,同一时间信号只能单方向流通,但是主从机双方都可以发送和接收.单片机串行口按方式1工作,波特率由定时器 T1控制。设置语句为:TMOD=0 x21;/设置 T1为工作方式2,自动循环装入初值 TH1=0 xfd;/初值设置,比特率为9600bps TL1=0 xfd;PC 串口波特率通过 VB 通讯控件9的 Settings 属性设置,为保证数据传送的准确性,其与单片机的波特率、数据格式必须一致.设置语句为:Mscomm1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- PC 单片机 串行 进行 通信 集散 系统 毕业设计
限制150内