异步串行通信设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

******************实践教学摘要在计算机技术迅速发展及其广泛应用的今天,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。本次课程设计主要是系统中上位PC机与下位单片机之间进行异步串行通信的解决方案,实现了上位机向下位机发送信息以及下位机接收上位机的数据并能够向上位机发送数据的功能。在此系统中,上、下位机分工明确,作为下位机核心器件的单片机只负责数据的采集和通信,而上位机以基于图形界面的Windows系统为操作平台。在软件设计中,采用VC++6.0设计异步串口通信程序。关键词:串行通信;异步通信;单片机目录前言------------------------------------------------------------------------------------------------------------2第一章异步串行通信系统组成原理---------------------------------------------------------------------31.1串行通信原理---------------------------------------------------------------------------------------------31.2串行通信的传输方式------------------------------------------------------------------------------------31.3通信协议的使用------------------------------------------------------------------------------------------41.451单片机概述---------------------------------------------------------------------------------------------41.551单片机串行接口结构---------------------------------------------------------------------------------5第二章系统设计----------------------------------------------------------------------------------------------72.1系统设计思路---------------------------------------------------------------------------------------------72.2模块组成----------------------------------------------------------------------------------------------------82.3系统组成----------------------------------------------------------------------------------------------------8第三章硬件电路设计---------------------------------------------------------------------------------------103.1RS-232接口电路设计-----------------------------------------------------------------------------------103.2MAX232接口电路---------------------------------------------------------------------------------------113.3异步串行通信总体电路--------------------------------------------------------------------------------12第四章软件设计---------------------------------------------------------------------------------------------14第五章调试---------------------------------------------------------------------------------------------------165.1调试过程---------------------------------------------------------------------------------------------------185.2调试结果---------------------------------------------------------------------------------------------------18设计总结--------------------------------------------------------------------------------------------------------20参考文献--------------------------------------------------------------------------------------------------------21致谢-------------------------------------------------------------------------------------------------------------22附录---------------------------------------------------------------------------------------错误!未定义书签。2前言目前,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。而单片机具有价格低,功能强,抗干扰能力好,以及面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。在许多单片机应用系统中,上、下位机分工明确,作为下位机核心器件的单片机往往只负责数据的采集和通信,而上位机通常以基于图形界面的Windows系统为操作平台。现阶段这种应用的核心便是数据通信,它包括单片机和上位机之间、客户端和服务器之间以及客户端和客户端之间的通信,而在单片机和上位机之间的数据通信则是整个系统的基础。单片机和PC的通信是通过单片机的串口和PC机之间的硬件连接实现。鉴于PC机具有强大的监控和管理功能,单片机则具有快速以及容易控制的特点,在数据量不大、传输要求不高的情况下,一般都采用给PC机配置的RS-232标准串行接口COM1、COM2等相连接来实现应用系统与PC机之间的数据交换。现今我国工业迅速发展的情况下,对工业中的计算机控制提出了较高的要求。比如在常见的现场数据采集中,对各个采集点需要采集不同的数据,比如温度、湿度、压力、照度,这就需要单片机对计算机发出的不同的指令做出不同的反应,并且返回相应的采集到的数据。这就需要单片机和PC机进行双向数据通信。这也是本设计可以应用到的地方之一。3第一章异步串行通信系统组成原理1.1串行通信原理串行通信,是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通信可以分为同步通信和异步通信两类。同步通信是按照软件识别同步字符来实现数据的发送和接收,异步通信是一种利用字符的再同步技术的通信方式。异步通信所传输的数据格式(串行帧)由1个起始位、7个或8个数据位、1~2个停止位(含1.5个停止位)和1个校验位组成。起始位约定为0;空闲位约定为1。异步通信实质是指甲乙通信双方采用独立的时钟,每个数据均以起始位开始,停止位结束,起始位触发甲乙双方同步时钟。每个异步串行帧中的1位彼此严格同步,位周期相同。所谓异步是指发送、接收双方的数据帧与帧之间不要求同步,也不必同步。同步通信所传输的数据格式(也称同步串帧)是由多个数据帧构成的,每帧有两个同步字符作为起始位以触发同步时钟开始发送或接收数据。空闲位需发送同步字符。因此,同步是指发送、接收双方的数据帧与帧之间严格同步,而不只是位与位之间严格同步。异步通信比较灵活,适用于数据的随机发送/接收;而同步通信则是成批数据传送。异步传输一批数据因每个字节均有起始位和停止位控制而使发送/接收速度有所降低,一般适用于每秒50~9600位,而同步传输速度较快,可达每秒80万位。所以本次设计选用串行异步通信。1.2串行通信的传输方式串行通信的传输方式有:(1)单工(Simplex):数据传送是单向的,一端为发送端,另一端为接收端。这种传输方式中,除了地线之外,只要一根数据线就可以了。有线广播就是单工的。4(2)全双工(Full-duplex):数据传送是双向的,且可以同时接收与发送数据。这种传输方式中,除了地线之外,需要两根数据线,站在任何一端的角度看,一根为发送线,另一根为接收线。一般情况下,MCU的异步串行通信接口均是全双工的。(3)半双工(Half-duplex):数据传送也是双向的,但是在这种传输方式中,除地线之外,一般只有一根数据线。任何时刻,只能由一方发送数据,另一方接收数据,不能同时收发。1.3通信协议的使用通信协议是通信设备在通信前的约定。单片机、计算机有了协议这种约定,通信双方才能明白对方的意图,以进行下一步动作。假定我们需要在PC机与单片机之间进行通信,在双方程式设计过程中,有如下约定:0xA1:单片机读取P0端口数据,并将读取数据返回PC机;0xA2:单片机从PC机接收一段控制数据;0xA3:单片机操作成功信息。系统工作过程中,单片机接收到PC机数据信息后,便查找协议,完成相应的操作。当单片机接收到0xA1时,读取P0端口数据,并将读取数据返回PC机;当单片机接收到0xA2时,单片机等待从PC机接收一段控制数据;当PC接收到0xA3时,就表明单片机操作已经成功。1.451单片机概述51单片机是一种集CPU,RAM,FLASHROM,I/O接口和定时中断系统于一体的微型计算机。只要有外加电源和晶体振荡器就可以独立完成对数字信号的算术运算,逻辑控制,串行通信等功能。当需要处理较复杂数据或需要对多个采集数据进行综合处理以及需要进行集散控制时,单片机的算术运算和逻辑运算能力显的不足,这时往往需要借助计算机系统。将单片机采集的数据通过串行口传给PC机,由PC机高级语言或数据库语言进行处理,或者实现PC机对远程单片机进行控制。51系列单片机内部的串行口具有通信的功能,该串行口可以作为通信接口,利用该5串行口与PC机的高级语言或数据库语言进行整理及统计等复杂处理就能满足实际的应用需要。51单片机的开发除了硬件支持外,同样离不开软件。用汇编语言或C语言等高级语言编写的源程序必须转换为机器码才能被执行。1.551单片机串行接口结构1数据缓冲器(SBUF)接受或发送的数据都要先送到SBUF缓存。有两个,一个缓存,另一个接受,用同一直接地址99H,发送时用指

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功