单片机串行多机通信(共39页).doc
《单片机串行多机通信(共39页).doc》由会员分享,可在线阅读,更多相关《单片机串行多机通信(共39页).doc(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上专心-专注-专业摘要随着电子技术的发展和微处理器技术的应用,带有单片机的智能型测控系统的应用越来越广泛,多个单片机系统之间数据传输已经应用于工业、科研、农业等领域,而单片机之间的数据通信最常用的就是串口通信方式,串口通信可以在使用一根线发送数据的同时利用另一根线接收数据,使用简单且能实现远距离通信。本文介绍了一种单片机多机通信的设计方法,主机与从机之间通过串口实现通信,主机通过按键来选择要进行通信的从机,然后通过数字矩阵键盘控制从机的数码管显示数字0-9,同时该从机可以通过按键控制主机连接的LED灯亮灭,实现全双工通信。本文介绍的方法简单易懂,通过仿真基本上实现了上述
2、功能,操作简单,性能稳定,可广泛应用于各种多机通信系统中。关键字:单片机;多机通信;串口;数码管;LEDAbstractWith the development of electronic technology and the application of microprocessor technology, intelligent measurement and control system with a microcontroller application is more extensive, data transfer between multiple MCU system has b
3、een used in industrial, research, agriculture and other fields, while the microcontroller the most commonly used for data communications between the serial communication, serial communication can use a line to send data at the same time use another line to receive data, using simple and can achieve
4、long-distance communications.This article describes the design method of a single-chip multi-machine communication via the serial communication between the host and slave, to communicate from machine host keys to select, from the machines digital tube display digital and digital matrix keyboard cont
5、rol -9, while the slave can be the key control of the host to connect the LED lights brightly to extinguish, to achieve full-duplex communication.This article describes the method is simple and easy to understand, basically through simulation software to achieve the above functionality, simple opera
6、tion, stable performance, can be widely used in a variety of multi-machine communication system.Key word: Microcontroller;Multi Communication;Serial Port;Nixie tube;LE目 录1引言随着电子技术的不断发展,单片机的应用范围越来越广泛,在工业控制、家电控制、数据采集等多个领域都有着十分重要的作用,由于单片机的使用,越来越多的系统开始向智能化方向发展。而单片机自带的串口功能可以实现其与其他外设MCU或PC机之间的通信,这样就使得控制系统
7、更加的方便实用,利用单片机的串口通信可以实现多单片机之间的数据的远程传输、数据分析与系统综合控制功能,尤其是在数据量比较大的场合下,利用一个主机向各个从机发送控制指令是一个很好的解决方案,在这个过程中,串口通信是实现单片机与单片机之间通信的关键。现在多处理器通信已经在工业、科研、农业等领域广泛地应用。串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。使用串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。串行通信只使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。其只需要少数几条线就可以在系统间交换信息。基于以上
8、原因本文介绍了一种基于单片机的多机通信设计,实现单片机与单片机之间通过串口进行数据传输的功能。1.1题选取的目的及意义目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录相机、摄相机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域随着计算机技术的发展及工
9、业自动化水平的提高,在许多场合采用单机控制已不能满足现场要求,因而必须采用多机控制的形式,而多机控制主要通过多个单片机之间的串行通信实现。串行通信作为单片机之间常用的通信方法之一, 由于其通信编程灵活、硬件简洁并遵循统一的标准, 因此其在工业控制领域得到了广泛的应用。构成较大规模的检测、控制系统,经常要采用多个单片机,组成可以通信的多机系统。MCS一51系列单片机为实现多机通信联网设计了方便的串行通信接口功能。将多个MCS一51单片机组成串行总线形式的相互通道,通过写单片机的串行控制方式寄存器,将串行口置成方式2或方式3,就可以实现主机与分机之间的串行通信。这种多机系统结构简单,应用广泛,但它
10、只能实现由主机呼叫分机,然后实现主机与分机之间的全双工串行通信。我们在监控系统中要求既有主机与分机主动通信,又有分机与主机主动通信,这种结构的多机系统就无法满足要求。多机协同工作已是单片机发展的一个重要趋势,目前单片机多机通信的主要方式仍然是主从式多机通信系统。单片机多机通信的目的是实现分布式处理系统,单片机多机通信的方式有很多种,应用前景广阔,非常具有研究意义!1.2本系统的主要研究内容本文在研究传统的多机通信系统的基础上,设计了一种基于MCS51系列单片机AT89C51的多机通信系统。打开proteus仿真电路图,按下软件下方的“开始”图标,启动系统,按下“1号机”按键,主机与从机1接通,
11、通过主机外接的4*4矩阵键盘控制从机1的数码管,按下标号为0-9的按键时,对应从机1的数码管显示0-9,按下从机1外接的8个开关,可以控制的主机外接的8个LED发光二极管,实现全双工通信。按下“2号机”按键,机与从机2接通,通过主机外接的4*4矩阵键盘控制从机2的数码管,按下标号为0-9的按键时,对应从机2的数码管显示0-9,按下从机2外接的8个开关,可以控制的主机外接的8个LED发光二极管,也可以实现全双工通信。2系统分析2.1串行通信简介串行通信可以分为同步通信和异步通信两类。同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若
12、干个数据字符。它们均由同步字符、数据字符和校验字符(CRC)组成。其中同步字符位于帧开头,用于确认数据字符的开始。数据字符在同步字符之后,个数没有限制,由所需传输的数据块长度来决定;校验字符有1到2个,用于接收端对接收到的字符序列进行正确性的校验。同步通信的缺点是要求发送时钟和接收时钟保持严格的同步。异步通信中,在异步通行中有两个比较重要的指标:字符帧格式和波特率。数据通常以字符或者字节为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,这两个时钟源彼此独立,互不同步。接收端检测到传输线上发送过来的低电平逻辑0(即字
13、符帧起始位)时,确定发送端已开始发送数据,每当接收端收到字符帧中的停止位时,就知道一帧字符已经发送完毕。串口通信最重要的参数是波特率、起始位、数据位、停止位和奇偶校验。波特率:是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。起始位:当通信线上没有数据被传送时处于逻辑“1”状态,当发送设备要发送一个数据时,先发送一个逻辑“0”信号,这个低电平就是起始位,起始位通过通信线传向接收设备,接收端检测到这个低电平后,就确认开始接收数据了。起始位的作用是使通信双方在传送数据前协调同步。数据位:是衡量通信中实际数据位的参数,当计算机发送一个信息包,实际的数据不会是8位的,标准的值是5、7或8位,如何
14、设置取决于要传送的信息。每个包是指一个字节,包括开始/停止位、数据位和奇偶校验位,由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。停止位:用于表示单个包的最后一位。典型的值为1、1.5和2位,它是一个数据的结束标志,接收端接收到停止位后,通信线路上会回复逻辑“1”的状态,知道下一个起始位的到来。奇偶校验位:在串行通信中一种简单的检错方式,有四种方式:偶、奇、高和低。对于偶和检验的情况,串口会设置检验位,用一个值确保传输的数据有偶个或者奇个逻辑高位。高位和低位不真正的检查数据,简单置位逻辑高或者逻辑低校验,这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是
15、否传输和接收数据是否不同步。2.2系统构成主机控制电路显示电路串口从机1从机2控制电路显示电路显示电路控制电路图2.1 系统设计框图2.3系统工作原理打开proteus仿真电路图,按下软件下方的“开始”图标,启动系统,按下“1号机”按键,主机与从机1接通,通过主机外接的4*4矩阵键盘控制从机1的数码管,按下标号为0-9的按键时,对应从机1的数码管显示0-9,按下从机1外接的8个开关,可以控制的主机外接的8个LED发光二极管,实现全双工通信。按下“2号机”按键,机与从机2接通,通过主机外接的4*4矩阵键盘控制从机2的数码管,按下标号为0-9的按键时,对应从机2的数码管显示0-9,按下从机2外接的
16、8个开关,可以控制的主机外接的8个LED发光二极管,也可以实现全双工通信。3系统硬件设计3.1电路设计应用环境简介Protel电子线路设计软件是在TANGO基础上改进的电路CAD软件,它在原理图文件格式、印制板文件格式、原理图器件库文件格式、印制板封装库文件格式、原理图编译和网络表转换与检查等方面保持了与TANGO版本一致或兼容的前提下,对原TANGO版本做了一些改动。Protel电子线路设计软件由原理图编辑、印制板设计、原理图输出、印制板输出、原理图器件库编辑和其他应用程序组成。电路原理图的设计是印制电路板设计中的第一步,也是非常重要的一步。电路原理图设计得好坏将直接影响到后面的工作。首先,
17、原理图的正确性是最基本的要求,因为在一个错误的基础上所进行的工作是没有意义的;其次,原理图应该布局合理,这样不仅可以尽量避免出错,也便于读图、便于查找和纠正错误;最后,在满足正确性和布局合理的前提下应力求原理图的美观。进行原理图设计步骤:一、建立数据库。打开Protel软件后,在“文件”标题栏里选择“新建”选项,在弹出的对话框里选择Document Folder,然后点击OK即可。二、打开Documents,选择“文件”标题栏里选择“新建”选项,在弹出的对话框里选择“Schematic Document”选项,建立原理图文件,并给原理图文件命名。三、设计电路原理图。利用Protel里的元器件库
18、完成电路原理图的绘制。四、检查原理图电性能可靠性。选择工具(Tools)下面的电气规则检查,在“Rule Matrix”中选择要进行电气检查的项目,设置好各项后,在“Setup Electrical Rlues Check”对话框上选择“OK”即可运行电气规则检查,检查结果将被显示到界面上。3.2系统硬件总体设计方案本设计单片机之间通过串口进行通信,主机通过按键来选择要进行通信的从机,进而通过按键控制从机的数码管显示数字;同时从机可以通过按键控制主机连接的LED灯。 数码管与单片机的连接方式采用并行连接方式。系统设计框图如图3-1所示:主机单片机矩阵键盘LED发光二极管串口从机1单片机从机2单
19、片机按键数码管数码管按键图3.1 系统整体电路图3.3主机电路模块3.3.1 单片机AT89C51单片机内部主要由9个部件组成:1个8位中央处理器;4KBFlash存储器;128B的数据存储器;32条I/O口线;2个定时器/计数器;1个具有6个中断源、4个优先级的中断嵌套结构;用于多处理机通信、I/O扩展或全双工UART的串行口;特殊功能寄存器;1个片内振荡器和时钟电路。AT89S51系列单片机完全继承了MCS-51的指令系统,共有111条指令,按其功能可分为五大类:数据传送类指令、算术运算类指令、逻辑运算类指令、控制转移类指令、布尔操作。AT89C51单片机引脚如图3-1所示。图3.1 AT
20、89C51单片机引脚图管脚说明:P0口:8位、漏极开路的双向I/O口。P0能够用于外部程序数据存储器。它可以被定义为数据/地址的第八位。P0口在应用时必须外接上拉电阻,作为输入时,首先应将引脚置1。P1口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则通过内部上拉电阻向外输出电流。P2口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则通过内部上拉电阻向外输出电流。P3口:8位双向I/O口,内部含上拉电阻。作为输入时,应先将引脚置高;若负载为低电平,则通过内部上拉电阻向外输出电流。P3口除了通用I/O口功能外,还有第二功能。P3
21、口的第二功能定义如表3-1所示。引脚定义功能引脚定义功能P3.0-RXD串行输入口P3.1-TXD串行输出口P3.2-外部中断0P3.3-外部中断1P3.4-T0计时器0外部输入P3.5-T1计时器1外部输入P3.6-外部数据存储器写选通P3.7-外部数据存储器读选通表3.1 P3口第二功能定义RST:复位输入,低电平有效。ALE/PROG:地址锁存允许信号输出。在正常操作状态下,该引脚端口输出恒定频率的脉冲。其频率为晶振频率的1/6,可用作外部定时或其他触发信号。如果需要,可通过SFR的第0位置禁止ALE操作,但ALE的禁止位不影响对外部存储器的访问。:片外程序存储器选通信号,低电平有效。当
22、AT89S51执行来自外部程序存储器的指令代码时,PSEN/每个机器周期两次有效。在访问外部数据存储器时,PSEN/无效。:片外程序存储器访问允许信号,低电平有效。XTAL1:外接晶振。在单片机内部是反相放大器的输入及端。XTAL2:外接晶振。在单片机内部是反相放大器的输出端,输入到内部时钟发生器。3.3.2 矩阵键盘电路矩阵键盘电路如图3-2所示。单片机的P1口控制矩阵键盘。本设计采用4*4矩阵键盘。矩阵键盘的行线接P1.0-P1.3引脚,列线接P1.4-P1.7引脚。将P1.0-P1.3引脚置为高电平,P1.4-P1.7引脚依次置为低电平,当按键没有按下时,P1.0-P1.3口各引脚状态不
23、变,一旦有按键按下,则P1.0-P1.3就会有引脚变为低电平,这样,通过读入P1.0-P1.3的状态就可得知是哪一个按键按下了,然后单片机根据该按键代表的功能执行相应的程序。图3.2 矩阵键盘电路3.3.3 主机控制电路该部分电路设计如图3-3所示。单片机的时钟的频率直接影响着单片机的速度和系统的稳定性。AT89S51片内由一个反相放大器构成振荡器,可以通过XTAL1和XTAL2产生时钟。常用的单片机产生时钟的方法有两种:内部时钟方式和外部时钟方式。本设计选用外部时钟方式,单片机内部XTAL1引脚为高增益反向放大器的输入端,XTAL2为输出端,在这2个引脚之间接石英晶振和电容,就可以构成一个稳
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 串行 通信 39
限制150内