1、武汉工程大学邮电与信息工程学院毕业设计( 论 文 )说明书论文题目 PC 机与多台单片机之间的串行通信 学 号 6402010113 学生姓名 李鹏 专业班级 06 电子科技 1 班 指导教师 陈裕国_(副教授)_总评成绩 2010 年 5 月 29 日武汉工程大学邮电与信息工程学院 毕业设计(论文)I目 录摘 要Abstract 第一章 绪论 1第二章 课题实施方案 2第三章 硬件电路设计 53.1 80C51 单片机结构及其串行通信原理 53.2 串行接口及其差分转换电路 173.3 Protel DXP 2004 原理图设计20第四章 软件电路设计 294.1 系统的通信协议 294.2
2、 C51 编程实现 PC 机与单片机之间的串行通信 294.3 Windows 集成开发环境 uVision2 33总结 39致谢 41参考文献 42武汉工程大学邮电与信息工程学院 毕业设计(论文)II摘要本文详细介绍了基于 RS-485 总线的 PC 机与多台单片机间的串行通信原理、实现方法和相应的通信硬件、软件设计。该设计是由 PC 机与单片机组成的主从控制系统,其中 PC 机做为上位机对下位单片机是实现控制和监视功能。它包括通信和控制两个功能模块。单片机作为下位机在整个系统中属于从属地位,主要用来接收上位机的命令。由于此通信的 PC 接口是 RS232 的 9 针接口,且下位机数目有限(
3、32 台) 。所以本设计采用了 RS485 总线以及 RS232 转 RS485 的协议芯片以满足长距离多机通信,本文讨论了总线接口转换、主从式通信协议设计方法,给出了采用中断式处理的通信过程流程图,并叙述了设计过程中必备的绘图软件 Protel DXP 的应用,以及编辑源代码软件 keil uVision2 的应用,实现了 PC 机对多个单片机组成采集终端的通信与管理。关键词: PC 机 单片机 RS-485 通信武汉工程大学邮电与信息工程学院 毕业设计(论文)IIIAbstractThe communication 、realized method and corresponding de
4、sign of hardware and software between PC and multiple MCUs based on RS-485 is described in detai in the article. This design instroduces a pincipal and subordinate control system which is composed of PC and single chip. Divided from its function, it includes two parts: communication and control, in
5、which PC is used as master, and MCUs is used as slave so as to receive the single order from the master.The bus interface conversion and the design of master-slave communication protocol is introduced and The program flowchart of communication with interrupt process is also given. In the process of
6、design, the use of unnecessary painter software and code editor software is depicted so that realize the communication and administration between PC and multiple MCUs which composed collection terminal.Keywords: PC MCUs RS-485 communication武汉工程大学邮电与信息工程学院 毕业设计(论文)1第一章 绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。
7、因此在工业控制领域得到了广泛的应用,在工业控制领域,计算机的数量有一台变为多台,多台计算机组成了多机系统,计算机分布关系可以分为紧密耦合和松散耦合,主从控制系统是一种松散式的多机系统,计算机之间由通信协议来联系。此时往往需要组成上位机对下位机的通讯系统,由一台上位机去控制多台下位机。主从控制就是一台功能较强的主机和 32 台左右的从机组成的多机系统。上位机一般是 PC 机,下位机一般是单片机系统,执行单片机与 PC 机串行通信的问题。本课题计算机的通信由上位机(主机)控制。主机向各个从机发送命令或者接受从机反馈的信息,主机有权修改从机的参数,接受从机的数据,还可以查看从机的状态, 可以说主机是
8、主从控制的大脑。在本设计中主机用来监视或查看从机的状态,并向从机发送命令,在系统中起着主导地位。我们通过查看主机界面的状态即可响应的控制发送与接收。从机在系统中处于从属地位,是命令的执行者。从机之间不能直接联系,它们之间必须有主机这个桥梁联系。在设计中我们选用了 PC 机作为我们的主机,从机为单片机(我们本着可得,性价比采用此选择) 。但在选择中出现了通讯接口的问题,我们是串型通讯,在PC 机和单片机之间,我们需要电平转换,而且考虑到工业运用问题我们需要考虑总的选用,在常用的 RS232 和 RS485 中,不能使用双端信号,因此要求使用较高的输出电压,而且其传输距离仅为 15 米。RS485
9、 通信接口的信号传输是用两根线之间的电压表示逻辑 1 和 0 的因为发送端两根传送线,而且接受接收端也是两根传送线.这样 RS485 接受和发送仅需要 2 根线就完成了传输. 由于传输线采用了差动信道, 所以它的干扰抑制性好,又由于它的阻抗低无接地问题.传输距离可高达 1200m,传输速度可达 1Mbps 比较上面的数据,考虑工业要求,我们采用了 RS485 方式。武汉工程大学邮电与信息工程学院 毕业设计(论文)2第二章 课题实施方案2.1 系统硬件设计PC 机的串行接口为 RS-232 或 USB 总线,现阶段应用更多的是将 RS-232 接口转换成 RS-485 接口,然后采用 RS-48
10、5 进行长距离、高速的串行异步通信。单片机采用 RS-485 进行串行通信,只需要将 TTL 电平的串行接口通过芯片转换为RS-485 串行接口,这种转换比较简单,本系统采用的是 MAX485 芯片。利用 PC现有的 RS-232 接口,系统中采用专用的 RS-232/485 标准转换芯片 MAX3162E 来实现。此转换芯片一边与 RS-232 标准 9 针接口相连,另一边与 RS-485 总线相连,原理图如图 2-1 所示。P C 机(db9)RS-485 RS-485 RS-485Rxd Txd8051Rxd Txd8051Rxd Txd8051图 2-1 系统结构图在多媒体网络广播系统
11、中,利用 PC 机与单片机够成的多机通信系统,采用主从式结构:主从控制多个从机,作为从机的单片机不主动发送命令或数据,一RS-232/RS-485 标准转换芯片武汉工程大学邮电与信息工程学院 毕业设计(论文)3切都由主 PC 机控制;并且在一个多级系统中,只有一台主机,各台从机之间不能相互通信,即使有信息交换也必须通过主从转发。采用 RS-485 构成的多机通信系统原理框图、在总线末端接一个匹配电阻,吸收总线上的反射信号,使得正常传输信号无毛刺。匹配电阻的取值应该与总线的特性阻抗相当。在总线上没有信号传输时,总线处于悬浮状态,容易受干扰信号的影响。将总线上的差分信号的正端 A+和负端 B-之间
12、接一网络。当总线上没有传输时,正端 A+的电平大约为 3.2V,负端 B-的电平大约为 1.6V,即使有干扰信号,也很难产生串行通信的起始信号 0,从而增加了总线抗干扰的能力。在该系统中,由于采用 MAX487 差分平衡收发器芯片,半双工传输方式,因此驱动器可接的下位机根据需要最多可扩展至 128 个。2.2 系统软件设计(一)通信协议设计为保证通信进行,首先做到单片机的串行口与主控机串行口的设置保持一致,即数据格式一致、通信波特率相同。如果是多点通信,每个从机要分配一个地址码。系统中协议有三种帧格式:呼叫帧、应答帧和数据帧。呼叫帧由主机发出。应答帧只能由从机发出。当从机收到呼叫帧后,把本机地
13、址和当前状态回发给主机。设置开机自检、自诊断程序,机器不能带病工作;如果需要,还可以设置在工作空闲时或定时自检程序。PC 机与单片机构成的多机通信系统采用主从结构。数据通信总是有主机发起。主机处于发送状态“说”时从机总是处于“听”状态。若主机发送的地址信息与本地从机相符,则接受该数据,否则,继续“听”总线上的数据。若从机需要发送数据,则必须等到主机轮询本地从机时,才可以提出请求。这种网络模式下从机不会“侦听”其他从机对主机的响应,这样就不会对其他从机产生错误的响应。主从式多机通信协议中,通信速率设为 19.2kbps。系统上电或复位后,使所有从机的 SM2 位置 1 处于只接收地址帧监听状态。
14、主机向从机发送一帧地址信息,从机接收到地址帧后,将其与本地地址比较,判断是否一致。若与本地地址相符,则清除 SM2,同时发送应答帧,进入通信状态;其他与本地地址不相符的从机则保持 SM2 位不变,继续监听。主从机均以中断方式进行通武汉工程大学邮电与信息工程学院 毕业设计(论文)4信,程序流程如图 2-2 所示:否图 2-2 通信流程图(二)多机发送是的分时说、听多机传送时,通信协议要合理地协调总线的分时公用,通信波特率的计算要有冗余。采用 RS-485 总线连接的多个站点,由于 485 总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,即任一时刻只有一个站点在“说” ,则数据将
15、在通信总线里碰撞,结果是处于接受状态的站点不能收到正确的数据。在 RS-485 总线通信网络中,必须控制好每个站点的“听” 、 “说”状态,即收、发状态,对总线的使用权必须进行分配,以使各个从机的发送控制信号在时间上完全隔离,保证能及时、正确地传输数据。要做到总线上设备在时序上的严格配合,必须要遵从一下几点:1.复位时,主从机都应该处于接受状态。2.控制端 RE、DE 的信号有效脉冲宽应该大于发送或接收一帧信号的宽度。3.总线上所连接的各从机的发送控制信号在时序上完全隔开。通信方式一般是主节点循环轮询各个从节点。各个从节点都有自己的网络通信识别号,即本机地址。当朱节点的轮询信息中包含自己的网络
16、通信识别号,此从节点对此帧进行应答,其他节点则忽略此帧,不做处理。开始系统初始化发从机地址接收从机的应答帧响应正确?允许串行中断返回武汉工程大学邮电与信息工程学院 毕业设计(论文)5第三章 硬件电路设计3.1 80C51 单片机结构3.1.1 MCS-51 单片机内部结构在 MCS-51 系列里,所有产品都是以 8051 为核心电路发展起来的,它们都具有 8051 的基本结构和软件特征。从制造工艺来看,MCS-51 系列中的器件基本上可分为 HMOS 和 CMOS 两类。CMOS 器件的特点是电流小和功耗低(掉电方式下消耗 10uA 电流) ,但对电平要求高(高电平大于 4.5V,低电平小于
17、0.45V) ,HMOS 对电平要求低(高电平大于 2.0V,低电平小于 0.8V) ,但是功耗大。8051 单片机内部包含了作为微型计算机所必须的基本功能部件,各功能部件相互独立而融为一体,集成在同一块芯片上。8051 内部结构如图 3-1 所示: 图 3-1 单片机内部结构图一 CPU 结构(一)算术逻辑部件 ALU8051 的 ALU 是一个性能极强的运算器,能进行加、减、乘、除四则运算,也可进行与、或、非等逻辑运算,还可以实现数据传送、移位、判断和程序转移等功能。(二)定时控制部件 OSCOSC 是控制器的核心,能为控制器提供时钟脉冲。武汉工程大学邮电与信息工程学院 毕业设计(论文)6
18、(三)专用寄存器组1.程序计数器 PC程序计数器 PC 是一个二进制 16 位程序地址寄存器(编码范围为 0000HFFFFH,共 64KB) ,专门用来存放下一条需要执行的指令的内存地址,能自动加1。2.累加器 ACC累加器 ACC 是一个专门用来存放操作数或运算结果的 8 位寄存器。3.通用寄存器 B通用寄存器 B 是专门为乘法和除法设置的 8 位寄存器,通常用来存放积的高8 位或除法的余数。4.程序状态字 PSW程序状态字 PSW 是用来存放指令执行后有关状态的 8 位标志寄存器,其各位的定义如图 3-2 所示:PSW0 PSW1 PSW2 PSW3 PSW4 PSW5 PSW6 PSW
19、7Cy AC F0 RS1 RS0 OV - P图 3-2 程序状态字各位定义5.堆栈指针 SPSP 是一个 8 位寄存器,能自动加、减 1,专门用来存放堆栈的栈顶地址。遵循“先进后出,后进先出”的规律。6.数据指针 DPTRDPTR 是一个 16 位的寄存器,由两个八位寄存器 DPH 和 DPL 拼装而成。主要用来存放存储器的地址,DPH 用来存放高 8 位,DPL 用来存放低 8 位。二 ROM 存储器8051 内部仅有 4KB ROM 存储器,地址范围为 0000H0FFFH。8051 可外接ROM,但一定保证片内和片外之和不能超过 64KB(即 8051 有 64KB 的寻址区0000HFFFFH) ,在 4KB 地址范围为 0000H0FFFH 里还可供片外使用,其取决于控制线 EA,如图 3-3 所示