基于总线的PC机与多片单片机的通信毕业设计

上传人:仙*** 文档编号:149085386 上传时间:2022-09-06 格式:DOC 页数:47 大小:1.89MB
收藏 版权申诉 举报 下载
基于总线的PC机与多片单片机的通信毕业设计_第1页
第1页 / 共47页
基于总线的PC机与多片单片机的通信毕业设计_第2页
第2页 / 共47页
基于总线的PC机与多片单片机的通信毕业设计_第3页
第3页 / 共47页
资源描述:

《基于总线的PC机与多片单片机的通信毕业设计》由会员分享,可在线阅读,更多相关《基于总线的PC机与多片单片机的通信毕业设计(47页珍藏版)》请在装配图网上搜索。

1、武汉工程大学邮电与信息工程学院 毕业设计(论文)武汉工程大学邮电与信息工程学院毕业设计( 论 文 )说明书论文题目 PC机与多台单片机之间的串行通信 学 号 6402010113 学生姓名 李鹏 专业班级 06电子科技1班 指导教师 陈裕国_(副教授)_ 总评成绩 2010 年 5 月 29 日43目 录摘 要Abstract 第一章 绪论 1第二章 课题实施方案 2第三章 硬件电路设计 53.1 80C51单片机结构及其串行通信原理 53.2 串行接口及其差分转换电路173.3 Protel DXP 2004原理图设计20第四章 软件电路设计 294.1 系统的通信协议 294.2 C51编

2、程实现PC机与单片机之间的串行通信 294.3 Windows集成开发环境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 d

4、etai 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 which PC is used as master, and MCUs is used as slave so as to receive the single order from

5、 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 design, the use of unnecessary painter software and code editor software is depicted so that

6、 realize the communication and administration between PC and multiple MCUs which composed collection terminal.Keywords: PC MCUs RS-485 communication第一章 绪论单片机由于其具有控制功能强、设计灵活和性能价格比高的特点。因此在工业控制领域得到了广泛的应用,在工业控制领域,计算机的数量有一台变为多台,多台计算机组成了多机系统,计算机分布关系可以分为紧密耦合和松散耦合,主从控制系统是一种松散式的多机系统,计算机之间由通信协议来联系。此时往往需要组成上位机

7、对下位机的通讯系统,由一台上位机去控制多台下位机。主从控制就是一台功能较强的主机和32台左右的从机组成的多机系统。上位机一般是PC机,下位机一般是单片机系统,执行单片机与PC机串行通信的问题。本课题计算机的通信由上位机(主机)控制。主机向各个从机发送命令或者接受从机反馈的信息,主机有权修改从机的参数,接受从机的数据,还可以查看从机的状态,可以说主机是主从控制的大脑。在本设计中主机用来监视或查看从机的状态,并向从机发送命令,在系统中起着主导地位。我们通过查看主机界面的状态即可响应的控制发送与接收。从机在系统中处于从属地位,是命令的执行者。从机之间不能直接联系,它们之间必须有主机这个桥梁联系。在设

8、计中我们选用了PC机作为我们的主机,从机为单片机(我们本着可得,性价比采用此选择)。但在选择中出现了通讯接口的问题,我们是串型通讯,在PC机和单片机之间,我们需要电平转换,而且考虑到工业运用问题我们需要考虑总的选用,在常用的RS232和RS485中,不能使用双端信号,因此要求使用较高的输出电压,而且其传输距离仅为15米。RS485通信接口的信号传输是用两根线之间的电压表示逻辑1和0的因为发送端两根传送线,而且接受接收端也是两根传送线.这样RS485接受和发送仅需要2根线就完成了传输.由于传输线采用了差动信道,所以它的干扰抑制性好,又由于它的阻抗低无接地问题.传输距离可高达1200m,传输速度可

9、达1Mbps比较上面的数据,考虑工业要求,我们采用了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总线相连,原理图

10、如图2-1所示。P C机(db9)RS-232/RS-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

13、.2kbps。系统上电或复位后,使所有从机的SM2位置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),但是

16、功耗大。 8051单片机内部包含了作为微型计算机所必须的基本功能部件,各功能部件相互独立而融为一体,集成在同一块芯片上。8051内部结构如图3-1所示: 图3-1 单片机内部结构图一 CPU结构(一)算术逻辑部件ALU8051的ALU是一个性能极强的运算器,能进行加、减、乘、除四则运算,也可进行与、或、非等逻辑运算,还可以实现数据传送、移位、判断和程序转移等功能。(二)定时控制部件OSC OSC是控制器的核心,能为控制器提供时钟脉冲。(三)专用寄存器组1.程序计数器PC程序计数器PC是一个二进制16位程序地址寄存器(编码范围为0000HFFFFH,共64KB),专门用来存放下一条需要执行的指令

17、的内存地址,能自动加1。2.累加器ACC 累加器ACC是一个专门用来存放操作数或运算结果的8位寄存器。3.通用寄存器B 通用寄存器B是专门为乘法和除法设置的8位寄存器,通常用来存放积的高8位或除法的余数。4.程序状态字PSW 程序状态字PSW是用来存放指令执行后有关状态的8位标志寄存器,其各位的定义如图3-2所示:PSW0PSW1PSW2PSW3PSW4PSW5PSW6PSW7CyACF0RS1RS0OV-P图3-2 程序状态字各位定义5.堆栈指针SPSP是一个8位寄存器,能自动加、减1,专门用来存放堆栈的栈顶地址。遵循“先进后出,后进先出”的规律。6.数据指针DPTRDPTR是一个16位的寄

18、存器,由两个八位寄存器DPH和DPL拼装而成。主要用来存放存储器的地址,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

20、端口8051有一个全双工的可编程串行I/O端口。这个串行I/O端口既可以在程序控制下把CPU的八位并行数据变成串行数据一位一位地从发送数据线Txd发送出去,也可以把串行接收到数据变成八位并行数据送给CPU,而且这种串行发送和串行接受可以单独进行,也可以同步进行。8051串行发送和串行接收利用了P3口的第二功能,即P3.1引脚作为串行数据的发送线Txd和P3.0引脚作为串行数据的接收线Rxd。串行I/O口的电路结构还包括串行口控制寄存器SCON、电源及波特率选择寄存器PCON和串行数据缓冲器SBUF等。四 定时器/计数器 8051内部有两个16位可编程的定时器/计数器,命名为T0和T1,都由两个

21、8位寄存器TH和TL拼装而成。定时器/计数器T0和T1有定时器和计数器两种工作模式。 在定时模式下,T0、T1的计数脉冲可以有单片机时钟脉经12分频后提供,故定时时间和单片机时钟频率有关。在计数模式下,T0、T1的计数脉冲可以从P3.4和P3.5引脚上输入。五 中断系统中断是指CPU暂停原程序执行转而为外部设备服务(执行中断服务程序),并在服务完后回到原程序执行的过程。中断系统是指能够处理上述中断过程所需要的那部分电路。8051有三个内部中断源和两个外部中断源内部中断源是指两个定时器/计数器中断源和一个串行口中断源,串行口中断源是在串行口每发送完一个八位二进制数据或接受到一组输入数据八位后自动

22、向中断系统提出的。外部中断源通常指外部设备其产生的中断请求信号可以从P3.2和P3.3(即INT0和INT1)引脚上输入。3.1.2 MCS-51单片机引脚功能及其连接一 MCS-51单片机引脚功能引脚如图3-4所示 图3-4 单片机引脚图(一)端口线(4*8=32条)1. P0口(P0.7P0.0):功能a:不带片外存储器,P0可以作为通用I/O口使用,P0.7P0.0用于传送CPU的输入/输出数据,此时,输入缓冲、输出锁存,不须外接专用锁存器。功能b:带片外存储器,P0.7P0.0在CPU访问片外存储器时显示用于传送片外存储器的低8位,然后传送CPU对片外存储器的读写数据。2.P1口(P1

23、.7P1.0):通用I/O口,用于传送CPU的输入/输出数据。3.P2口(P2.7P2.0):功能a:通用I/O口,用于传送CPU的输入/输出数据。功能b:与P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不能像P0口那样还可以传送存储器的读写数据。4. P3口(P3.7P3.0):功能a:通用I/O口,用于传送CPU的输入/输出数据。功能b:控制功能端如下表:P3.0 RXD (串行口输入)P3.1 TXD (串行口输出)P3.2 INT0 (外部中断0输入)P3.3 INT1 (外部中断1输入)P3.4 T0 (定时计数器0的外部输入)P3.5 T1

24、 (定时计数器1的外部输入)P3.6 WR (片外数据存储器写选通)P3.7 RD (片外数据存储器读选通)(二)电源线(2条)Vcc为+5V电源线,Vss为接地线。(三)控制线(6条)1. ALE/PROG:地址锁存允许/编程线,配合P0口引脚的第二功能使用。在访问片外存储器是,8051CPU在P0.7P0.0引脚线上输出片外存储器低8位地址的同时还在ALE/PROG线上输出一个高电位脉冲,用于把这个片外存储器第8位地址锁存到外部专用地址锁存器,一边空出P0.7P0.0引脚线去传送随后而来的片外存储器读写数据。在不访问片外存储器时,8051自动在ALE/PROG线上输出频率为fosc/6的脉

25、冲序列。2. EA/VPP:允许访问片外存储器/编程电源线。3. PSEN:片外ROM选通线,在执行访问片外ROM的指令MOVC时,8051自动在PSEN线上产生一个负脉冲,用于为片外ROM芯片的选通。4. RST/VPD:复位/备用电源线,可以使8051处于复位工作状态。5. XTAL1和XTAL2:片内振荡电路输入线。如图3-5所示二 单片机地址输入的连接方式 由于单片机的P2口和P0口具有第二功能(即分别输入高低地址),故运用此功能来确定从机的地址,在地址开关与单片机之间还需要添加74LS244进行缓冲具体连接如图3-6所示:图3-5 单片机3个控制端的常用连接方法和参数 P2.7-P2

26、.0 P0.7-P0.0 8051 PSENEA RD WR74LS244多路选择开关图3-6 单片机地址控制图3.1.3 MCS-51 中断系统 中断是指计算机暂时停止原程序执行转而为外部设备服务,并在服务完后自动返回原程序执行的过程。中断由中断源产生,中断源在需要时可以向CPU提出“中断请求。”“中断请求”通常是一种电信号,CPU一旦对这个电信号进行检测和响应便可自动转入该中断源的中断服务程序执行,并在执行完后自动返回原程序继续执行,并且中断源不同中断服务程序的功能也不同。中断系统是指能够实现中断功能的那部分硬件电路和软件程序,对于MCS-51单片机,大部分中断电路都是集成在芯片内部的(即

27、内部中断,包括定时器溢出中断源2个和串行口中断源),只有INT0和INT1中断输入线上的中断请求信号产生电路才分散在各中断源电路或接口芯片电路里(即外部中断)。而本项目中使用的是串行口中断源。3.1.4 MCS-51的串行通信 串行通信是一种能把二进制数据按位传送的通信,故它所需传输线条数极少,特别适用于远程通信之中。一 串行通信基础(一)异步通信中的字符帧字符帧也叫数据帧,由起始位、数据位、奇偶校验位和停止位等四部分组成。在串行通信中,发送端一帧一帧发送信息,接收端一帧一帧接收信息。两相邻字符帧之间可以无空闲位,也可以由若干空闲位,自行定义。图3-7表示每一帧的结构: 8位数据起始位奇偶校验

28、 停止位0D0D1D2D3D4D5D6D70/11 第n字符帧(共11位)图3-7 帧结构(二)波特率 定义是每秒传送二进制数码的位数,单位是bps(位/秒),用于表征数据传输的速度,波特率越高,数据传输速度越快。而实际的字符传输速率是以帧/秒来衡量。(三)通信制式1.半双工制式:A、B只能是一个发送,一个接收,即一条信号线和一条接地线。 2.全双工制式:A、B两站间有两个独立的通信回路,两站都可以同时发送和接收数据,其两站间至少需要三条传输线:一条用于发送,一条用于接收和一条用于信号地。二 MCS-51的串行接口(一) 串行口控制寄存器SCON和PCONMCS-51对串行口的控制是通过SCO

29、N实现的,也和电源控制寄存器PCON有串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等。其位格式为图3-8所示:SM0 SM1相应工作方式说 明所用波特率0 0方式0同步移位寄存器fosc/120 1方式110位异步收发由定时器控制1 0方式211位异步收发fosc/32或 fosc/641 1方式311位异步收发由定时器控制图3-8 特殊功能寄存器SCON其中fosc为晶振频率SM2:多机通讯控制位。在方式0时,SM2一定要等于0。在方式1中,当(SM2)=1则只有接收到有效停止位时,RI才置1。在方式2或方式3当(SM2)=1且接收到的第九位数

30、据RB8=0时,RI才置1。REN:接收允许控制位。由软件置位以允许接收,又由软件清0来禁止接收。TB8: 是要发送数据的第9位。在方式2或方式3中,要发送的第9位数据,根据需要由软件置1或清0。例如,可约定作为奇偶校验位,或在多机通讯中作为区别地址帧或数据帧的标志位。RB8:接收到的数据的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8为接收到的停止位。在方式2或方式3中,RB8为接收到的第9位数据。TI:发送中断标志。在方式0中,第8位发送结束时,由硬件置位。在其它方式的发送停止位前,由硬件置位。TI置位既表示一帧信息发送结束,同时也是申请中断,可根据需要,用软件查询的

31、方法获得数据已发送完毕的信息,或用中断的方式来发送下一个数据。TI必须用软件清0。RI:接收中断标志位。在方式0,当接收完第8位数据后,由硬件置位。在其它方式中,在接收到停止位的中间时刻由硬件置位(例外情况见于SM2的说明)。RI置位表示一帧数据接收完毕,可用查询的方法获知或者用中断的方法获知。RI也必须用软件清0。1. 方式0 在方式0下,串行口的SBUF是作为同步的移位寄存器用的。在串行口发送时,“SBUF(发送)”相当于一个并入串出的移位寄存器,由MCS-51的内部总线并行接收8位数据,并从TxD线串行输出,此时是在TI=0下进行的CPU通过指令给“SBUF(发送)”送出发送字符后,Rx

32、D线上即可发出8位数据,8位数据发送完后TI由硬件置位,并可向CPU请求中断,CPU响应中断后先用软件使TI清零,然后再给“SBUF(发送)”送下一帧的数据。在接收操作时,“SBUF(接收)”相当于一个串入并出的移位寄存器,从RxD线接收一帧串行数据并把它并行的送入内部总线,此时RI=0且REN=1,接收电路接收到8位数据后,RI自动置1并发出串行口中断请求,CPU响应后RI由软件复位。2. 方式1 在方式1下,串行口设定为10位异步通信方式,字符帧中除8位数据外,还可有一位起始位和一位停止位。发送操作时,TI=0,执行指令后,发送电路就自动在8位发送字符前后分别添加一位起始位和一位停止位,并

33、在移动脉冲作用下在TxD线上依次发送一帧信息,发送完后自动维持TxD线高电平。TI也由硬件在发送停止位时置位,并由软件将它复位。接收操作时,RI=0且REN=1,接收电路对高电平的RxD线采样,当接收电路连续8次采样到RxD线为低电平时,相应的检测器便可确认RxD线上有了起始位,在接收数据第9位时,当RI=0和SM2=0或接收到的停止位为1,才能把接收到的8位字符存入“SBUF(接收)”中,把停止位送入RB8,并使RI=1和发出串行口中断请求,若上述条件不满足,则数据被舍去。3. 方式2和方式3方式2和方式3都是11位异步收发。两者的差异仅在于通信波特率有所不同方式2的波特率由MCS-51主频

34、fosc经32或64分频后提供;方式3的波特率有定时器T1或T2的溢出率经32分频后提供,故它的波特率是可调的。方式2和方式3的发送过程和接收过程类似于方式1,只是在发送数据第9位时,将之预先装入SCON的TB8中,而第9位可由用户自定义。一帧数据发送完后,TI=1,CPU便可通过查询TI来以同样方法发送下一个字符帧。 方式2和方式3的接收过程也和方式1类似。所不同的是:方式1时RB8中存放的是停止位,方式2和方式3时RB8中存放的是数据第9位。因此,方式2和方式3时必须满足接收有效字符的条件变为:RI=0和SM2=0或者收到的第9位为1,只有上述条件同时满足时接收到的字符才能送入SBUF,第

35、9位数据位才能装入RB8中,并使RI=1。电源控制寄存器PCON中只有一位SMOD与串行口工作有关,它的位格式为图3-9所示:图3-9电源控制寄存器PCONSMOD:波特率倍增位。串行口工作在方式1、方式2、方式3时,若SMOD=1,则波特率提高一倍;若SMOD=0,则波特率不提高一倍。(二) 串行口的通信波特率串行口的通信波特率恰好反映串行口传输数据的速率。通信波特率的选用,不仅和所选通信设备、传输距离有关,还受传输线状况所制约。波特率设计 1、方式0的波特率 工作方式0时,移位脉冲由机器周期的第6个状态周期S6给出,每个机器周期产生一个移位脉冲,发送或接收一位数据。因此,波特率是固定的,为

36、振荡频率的1/12,不受PCON寄存器中SMOD的影响。用公式表示为: 工作方式0的波特率=fosc/12 (式3.1.1) 2、方式2的波特率 工作方式2时,移位脉冲由振荡频率fosc的第二节拍P2时钟(即fosc/2)给出,所以,方式2波特率取决于PCON中的SMOD位的值,当SMOD=0时,波特率为fosc的1/64;当SMOD=1时,波特率为fosc的1/32,用公式表示为; 工作方式2波特率=(2SMOD/64)fosc (式3.1.2) 3、工作方式1和方式3的波特率 在这两种方式下,串行口波特率是由定时器的溢出率决定的,因而波特率也是可变的。相应公式为: 波特率=(2SMOD/3

37、2)*定时器T1溢出率 (式3.1.3) 定时器T1溢出率=(fosc/12)* 1/(2k 初值) (式3.1.1)实际上定时器T1通常采用方式2,因为定时器T1在方式2下工作,TH1和TL1分别设定为两个8位重装计数器。表3-1 固定波特率与寄存器状态波特率foscSMOD定时器T1C/T所选方式相应初值串行口方式0 0.5M6Mhz* *串行口方式2 187.5K6Mhz 1* * *方式1或3 19.2K6Mhz 10 2FEH9.6K6Mhz 102FDH4.8K6Mhz002FDH2.4K6Mhz002FAH1.2K6Mhz002F4H0.6K6Mhz002E8H1106Mhz00

38、272H556Mhz002FEEBH(三) 串口工作方式2、3的发送接收时序串口工作方式2、3的发送、接收时序如图3-11所示。图3-11发送接收时序图3.2 串行接口及其电平转换电路3.2.1串行接口RS232结构与引脚功能RS232是个人计算机上的通信接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现如图3-12所示。(这里我们运用DB-9,其针孔意义如图3-13所示 )在多数情况下主要使用主通道,对于一般双工通信,仅需

39、几条信号线就可实现,如一条发送线、一条接收线及一条地线。 RS-232标准规定的数据传输速率为每秒150、300、600、1200、2400、4800、9600、19200波特。RS-232 标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于15m以内的通信。同时RS232是点对点(即只用一对收、发设备)的通信,因此PC机无法直接对多个下位机进行远距离通信。图3-12 9针、

40、25针接口 图3-13 9针管脚意义RS232的电器特性、逻辑电平和各种信号线功能的规定。 在TxD和RxD上:逻辑1:-3V -15V 逻辑0:+3V+15V 发送数据(TxD)通过TxD终端将串行数据发送到MODEM,(DTEDCE)。 接收数据(RxD)通过RxD线终端接收从MODEM发来的串行数据,(DCEDTE)。 以上规定说明了RS232标准对逻辑电平的定义。对于数据(信息码):逻辑“1”的电平低于-3V,逻辑“0”的电平高于+3V。也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工

41、作时,应保证电平在(315)V之间。 RS232与TTL转换: RS232是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。今使用MAX3162芯片以实现电平间的转换。 3.2.2 RS485接口的通信原理图3-14 MAX485引脚图 在图3-14中显示出了RS-485的引脚图。RS485采用差分信号负逻辑,2V6V表示“0”,- 6V- 2V表示“1”。RS485有两线制和四线制两种接线,四线制只能

42、实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。 RS485RS485RS485从单片 机 1从单片 机 2从单片 机 32主单片机机图3-15 两线制总线拓扑式结构与RS232相比较RS485有以下几个特点:1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(26) V表示;逻辑“0”以两线间的电压差为-(26)V表示。接口信号电平比RS

43、-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。 2. RS-485的数据最高传输速率为10Mbps 3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。 4. RS-485最大的通信距离约为1219M,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。因RS-485接口具

44、有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。 由于RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。3.2.3 MAX3162E电平转换芯片 由于PC机默认的只带有RS232接口,有一种方法可以得到PC上位机的RS485电路即通过RS232/RS485转换芯片将PC机串口RS232信号转换成RS485信号,即采用MAXIM公司生产的MAX3162E协议转换接口芯片,实现RS232与RS485协议转换的接口电路。图3-16 RS232/RS485协议转换接口电路 MAX3162E功能分为四部分:两路RS232电平信号到T

45、TL电平信号的转换(19脚10脚、20脚9脚,15脚为使能端);两路TTL电平信号到RS232电平信号的转换(21脚8脚、24脚5脚,16脚为使能端);一路TTL逻辑电压信号到RS485差分信号的转换(23脚6脚、7脚,22脚为使能端。使能端无效时,6脚、7脚呈高阻态);一路RS485差分信号到TTL逻辑电压信号的转换(17脚、18脚11脚,12脚为使能端。使能端无效时,11脚呈高阻态)。在图2中利用了RS232的RTS信号来控制总线的方向。当RTS为逻辑电平1(12V)时,9脚输出为TTL的逻辑电平1(5V),使能端DE485(22脚)有效,这样TXD端发送的RS232电平信号就可以由19脚

46、10脚23脚6脚、7脚变为RS485差分信号输出;当RTS为逻辑电平0(12V)时,9脚输出为TTL的逻辑电平0(0V),使能端RE485(12脚)有效,这样RS485输入的差分信号就可以由17脚、18脚11脚24脚5脚变为RS232电平信号输出,RXD端就可以接收数据。3.3 Protel DXP 2004原理图设计3.3.1 Protel 2004的基本操作一 设置文档选项在绘制原理图之前,应该设置图纸的相关参数,包括图纸方向、图纸尺寸,边框及标题栏等。 在Protel 2004中,为自定义图纸大小,执行File/New/Schematic sheet/Design /Document O

47、ptions 命令,打开如图所示对话框。 在Custom Style选项组中的Use Custom Style中设置文本框的高度和宽度如图3-17箭头标记所示:二 使用元器件库原理图设计的基本构件是元器件,为了便于管理,元器件都封装在元器件库中。Protel 2004提供的库很多,并且已预装了两个常用元器件库,即Miscellaneous Device.IntLib和Miscellaneous Connectors. IntLib。图3-17 Document Options查找元器件: 在原理图的设计过程中,为通过元器件库管理器查找需要的元器件,Protel 2004提供了查找原理图元器件的

48、4种方式,即按元器件的名称、按元器件描述栏中的资料、按元器件模块的名称和按元器件模块的类型查找,一般情况下是按元器件的名称查找。 在原理图设计环境中执行Design/Browse Library命令弹出Libraries对话框,如图所示。单击Search按钮打开Search Libraries 对话框,在Results选项卡中显示搜索结果。如图3-19所示。三 元器件操作电路元器件是构成电路原理图的基本组成部分,通过元器件的操作可了解原理图绘制的基本方法和步骤,如下框图3-18所示:阵列式粘贴排列于对齐选择元器件编辑属性移动和拖动图3-18 元器件操作流程单击此处并拖至放置地点在此处直接输入待

49、查元器件的名称图3-19 元器件搜索界面3.3.2绘制原理图一 放置元器件放置元器件是指将元器件放在原理图的所需位置,并且设置元器件的属性。单击所需元器件名称并拖入指定地区,如图3-20所示图3-20 放置元器件二 连接原理图线路通过导线可以连接元器件,形成一个完整的电路原理图。图3-21 原理图连接方式三 放置标注和元件命名(1)放置标注单击此处即可引出标号符号图3-22 放置标注(2)元器件命名电路原理图有时需要放置一些说明性的文字或文本及网络标号。在此处为元件命名和标注图3-23 输入元件名3.3.3制作芯片原理图库由于本原理图中MAX3261芯片无法在库中无法找出,故需要自行制作芯片原

50、理图。在Protel 2004界面中工具栏找到“元件绘制工具”如图3-24元件绘制工具图3-24 元件制作绘制步骤:(1) 新建原理图库文件来启动原理图库文件编辑器 Protel 2004设计系统的主界面上执行菜单命令File/New/Library/Schematic Library此时将会新建一个原理图库文件。(2)单击工具栏中的按钮,系统弹出保存文件对话框。(3)在文件名一栏中填入“My SchLib”,单击按钮,此时在工程【Projects】面板中会出现刚才保存的元器件原理图库文件名,如图3-25所示库文件编辑器面板签新建的库文件图3-25 新建的库文件(4)在上图中单击原理图库文件编

51、辑器面板【SCH Library】标签,打开原理图库文件编辑器面板。(5)在元器件原理图库中新建元器件:单击add按钮,并为元器件设置名称。(6)开始在元器件绘制工作区进行元器件原理图符号的绘制工作。用户需对所要绘制的元器件的管脚按照他们在实际元器件中的位置进行编号单击绘制原器件工具栏中的按钮,绘制MAX3162原理图符号的外部轮廓。Tab 单击绘制元器件工具栏中的放置引脚按钮,根据实际元器件的管脚名称和分布位置,在芯片外观轮廓上添加管脚,单击该按钮后按 键系统弹出管脚属性设置对话框,如图3-26所示设置完毕后单击ok按钮,元器件轮廓上适当位置,单击鼠标左键放置该管脚,用相同的方法,放置其余的

52、管脚,并根据需要调整管脚位置,之后元器件原理图符号的外形图如图3-37所示。图3-26 原件管脚命名 图3-27 MAX3162E引脚最后执行菜单命令File/Save即可将新建的元件“MAX3162”保存在当前的元件库文件“My SchLib. SchLib”中3.3.4串行通信原理图设计与绘制系统结构图:RS485RS485RS485从单片 机 1从单片 机 2从单片 机 3主控制pc机RS232/RS485转换电路图3-28系统结构图系统全局图:8051单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信

53、协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据图3-29系统全局图第四章 软件电路设计4.1 系统的通信协议 在主从时多机系统中,只有一台主机,但从机可以有多台。主机发送的信息可以传送到各个从机或指定从机,从机发送的信息只能为主机所接收,个从机之间不能直接通信。 主机发送并为从机接

54、收的信息由两类:一类是地址,用于指示需要和主机通信的从机地址,由串行数据第9位为“1”标志;另一类是数据,由串行数据第9位为“0”标志。由于所有从机的SM2=1,故每个从机总能在RI=0时收到主机发来的地址(因为串行数据的第9位为“1”),并进入各自的中断服务程序。在中断服务程序中,每台从机把接收到的从机地址和他的本机地址(系统设计时所分配)进行比较。所有比较不相等的从机均从各自的中断服务程序中退出(SM2仍然等于1),只有比较成功的从机才是被主机寻址通信的从机。被寻址从机在程序中使SM2=0,以便接收随之而来的数据。归结起来如下:(1) 所有从机的SM2=1;以便接收主机发来的地址。(2)

55、主机给从机发送地址时,第9数据上发送1,以指示从机接收这个地址。(3) 有从机在SM2=1、RB8=1和RI=0时,接收主机发来的从机地址,进入相应中断服务程序,并和本机地址比较以确认是否为被寻从机。(4)被寻址从机通过指令清除SM2,以正常接收数据,并向主机发回接收到的从机地址,供主机核对,未被寻址从机保持SM2=1,并退出各自中断服务程序。(5)完成主机和被寻址从机之间的数据通信,被寻址从机在通信完成后,重新使SM2=1,并退出中断服务程序,等待下次通信。 在多机通信中,主机通常把从机地址作为8位数据发送的(第9位为1),因此,MCS-51构成的多机通信系统最多允许255台从机(地址为00

56、HFEH),FFH作为一条控制命令由主机发送给从机,以便使被寻址从机SM2=1。4.2 C51编程实现PC机与单片机之间的串行通信单片机通信程序单片机的通信程序采用C51编程2,通信以中断的方式进行。单片机处于从机地位,每台单片机被分配一个节点地址。单片机每收到一个PC机送给本节点的命令帧,则根据命令帧中的命令代码向PC机回送一个响应帧。其系统主程序流图如图4-1所示:开始单片机接收中断初始化串口和波特率接收到PC机发送的数据? N N Y 将接收到的数据发送回PC机单片机发送中断结束 图4-1 系统主程序流图单片机接收中断服务流程:中段开始接收上位机发送的地址同本机地址相符?N发送本机地址

57、N上位机发送数据中断返回图4-2 系统中断服务流图以下是单片机的通信程序。#define NODE_ADDR 1 / 定义本节点地址#define rcv_ snd_COUNT 12 /定义接收发送缓冲区大小unsigned char data rcv_snd_bufferrcv_ snd_COUNT;unsigned char data * rcv_snd_pointer; /定义接收发送指针void main() SCON=0x50;TMOD=0x20;TH1=0xfd; / 初始化串口和波特率TR1=1;ET1=0;ES=1;EA=1;rcv_snd_pointer=rcv_snd_buffer; / 初始化接收发送指针 void comm(void) interrupt 4 using 1 / 通信中断服务函数if(RI=1) /接收中断 RI=0; *rcv_snd_pointer=SBUF; if(*rcv_snd_pointer = *)/接收的字符为

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!