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