基于RS-485的单片机通信系统设计.doc
《基于RS-485的单片机通信系统设计.doc》由会员分享,可在线阅读,更多相关《基于RS-485的单片机通信系统设计.doc(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 专业 课程设计任务书20132014 学年 第 2 学期第 16 周 19 周 题目基于RS-485的单片机通信系统设计内容及要求1.利用RS485实现单片机的双向通讯;2.通过键盘实现从机的选择、发送数据的输入;3.主机显示发送的数据及从机编号。4提高要求:通过键盘实现循环工作模式、指定从机这2种工作方式的切换。进度安排 16周:查找资料,进行系统硬件设计、软件方案设计; 17周:硬件制作、软件的分模块调试; 19周:系统联调; 19周:设计结果验收,报告初稿的撰写。学生:11042104万娇 11042109赵佳慧指导时间:周一、周三、周五指导地点:E楼 610 室任务下达2014年 6
2、 月 3 日任务完成2014年 6月 27 日考核方式1.评阅 2.答辩 指导教师张小林系部主任注:1、此表一组一表二份,课程设计小组组长一份;任课教师授课时自带一份备查。2、课程设计结束后与“课程设计小结”、“学生成绩单”一并交院教务存档。学习文档 仅供参考摘要串口通信是一种广泛应用于各个领域的通信方式,在远距离数据传输和控制系统中,可以根据RS-485协议实现远距离传输。此次课设即利用MAX485芯片实现半双工串行通信的双向通信系统。系统主要由主机控制模块、通信模块、数据输入模块、数据显示模块和模数转换模块五个部分组成,实现了 利用RS-485实现单片机的双向通信,通过键盘实现从机的选择、
3、发送数据,主机显示发送的数据及从机编号,通过键盘实现循环工作模式、指定从机这两种工作方式的切换。此系统具有使用方便、操作简单、便于实现、成本低、可靠性高、可拓展性强、易于维护等特点,具有较广泛的应用前景。关键字:单片机;RS-485总线;串行通信;数模转换学习文档 仅供参考目录前言1第一章 设计内容及要求222第二章 系统组成及工作原理332.2 工作原理3第三章 硬件电路方案设计43.1 主机控制模块43.2 数据显示模块53.3 模数转换模块63.4 键盘输入模块73.5 通信模块83.5.1 RS485通信协议83.5.2 RS485通信格式9103.6.1 单片机最小系统103.6.2
4、 显示模块11第四章 软件设计124.1 通信协议124.1.1 串行通信协议的比较RS232 RS422 RS485124.1.2 通信过程144.2 主机程序144.2.1 主程序流程图144.2.2 矩阵键盘输入子程序154.2.3 数码管显示子程序164.2.4 传输模块子程序174.3 从机程序17174.3.2 接收并显示子程序18第五章 实验调试和测试结果与分析19第六章 结论20第七章 参考文献21附录一 电路图22附录二 程序代码23学习文档 仅供参考前言单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器RO
5、M、多种I/O口和中断系统、定时器/计数器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅片上构成的一个小而完善的微型电脑系统。而在以单片机为基础的数据采集和实时控制中,通过电脑中的RS-232接口进行电脑与单片机之间的命令和数据传送,就可以对现场进行监测和控制。由于电脑上的RS-232所传送的距离不超过30m,所以在远距离数据传送和控制时,可以利用MAX485的接口芯片将RS232协议转换成RS-485协议进行远距离传送。RS-485是双向、半双工通信协议,允许多个驱动器和接收器挂接在总线上,其中每个驱动器都能够脱离总线。接收器输入灵敏度为200mV
6、,这就意味着假设要识别符号或者间隔状态,接收端电压必须高于+200mV或者低于-200mV。最小接收器输入阻抗为12K,驱动器输出电压为1.5V最小值、5V最大值。学习文档 仅供参考第一章 设计内容及要求设计一个基于RS-485的单片机通信系统。1.通过键盘输入数据和显示要传输的数据;2通过串口利用RS-485总线,将数据发给单片机主机,并显示。 单片机1 RS-485 RS-485 单片机2 图1.1 系统设计方案图 第二章 系统组成及工作原理系统主要由主机控制模块、通信模块、数据输入模块、数据显示模块和数模转换模块五个部分组成。其系统框图如下: 通信从机 通信主机 数据显示 数据显示通信模
7、块数据输入数模转换键盘图2.1 系统框图在本系统中,通信主机是核心部分,主要完成对数据的处理、操作和运算;数据输入模块主要完成数据的输入,所有人机交换的数据都从该模块中输入;数据显示模块完成了通信双方的数据显示;通信模块即完成数据的接受和发送,实现数据远距离传输。2.2 工作原理基于RS-485的单片机通信系统设计的原理是:利用数模转换模块或者键盘输入模块通过P3口或者P1口将数据输入到C51单片机主机里,C51单片机主机通过程序来控制共阴数码管显示数据并利用MAX485芯片将数据传输到C51单片机从机中,C51单片机从机再通过程序控制另一个共阴数码管显示传输过来的数据。第三章 硬件电路方案设
8、计3.1 主机控制模块图3.1 主机控制模块89C51是一种带4K字节闪烁可编程可擦除只读存储器FPEROMFalsh Programmable and Erasable Read Only Memory的低电压、高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器。 片内为128个字节,片外最多可外扩至64k字节,用来存储程序在运行期间的工作变量、运算的中间结果、数据暂
9、存和缓冲、标志位等,所以称为数据存储器。由于受集成度限制,片内只读存储器一般容量较小,如果片内的只读存储器的容量不够,则需用扩展片外的只读存储器,片外最多可外扩至64k字节。具有5个中断源,2级中断优先权。片内有2个16位的定时器/计数器, 具有四种工作方式。e. 串行口1个全双工的串行口,具有四种工作方式。可用来进行串行通讯,扩展并行I/O口,甚至与多个单片机相连构成多机系统,从而使单片机的功能更强且应用更广。P1口、P2口、P3口、P4口为4个并行8位I/O口。共有21个,用于对片内的个功能的部件进行管理、控制、监视。实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区。该单片
10、机中有一个8位的微处理器,与通用的微处理器基本相同,同样包括了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可处理数据,还可以进行位变量的处理。由于集成度的限制,最小应用系统只能用作一些小型的控制单元。其应用特点:(1) 有可供用户使用的大量I/O口线。(2) 内部存储器容量有限。(3) 应用系统开发具有特殊性。3.2 数据显示模块本次课设采用八段共阴极数码管显示,利用51单片机程序来控制数码管的显示。图3.2 数据显示模块3.3 模数转换模块本次课设利用ADC0832来实现数模转换。图3.3 模数转换模块ADC0832 是美国国家半导体公司是生产的一种 8 位分辨率、双通道 A/
11、D 转换芯片。其分辨率可达256级,芯片转换时间仅为32S,转换速度快且稳定性强,其芯片如下列图所示:图3.4 ADC0832芯片其中各管脚功能为:片选使能,低电平芯片使能。CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。GND 芯片参考0 电位地。DI 数据信号输入,选择通道控制。DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。Vcc/REF 电源输入及参考电压输入复用。3.4 键盘输入模块图3.5 键盘输入模块本次课设采用矩阵式键盘,其突出优点是I/O端口利用率高,可循环操作,而且扫描键盘时占用CPU时间少,操作灵活,矩阵键盘控制状态
12、多,编写程序较方便,故此模块采用矩阵式键盘。3.5 通信模块图3.6 通信模块MAX485接口芯片是Maxim公司的一种RS-485芯片。MAX485是用于RS-485与RS-422通信的低功耗收发器,器件中都具有一个驱动器和一个接收器。其驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。采用单一电源+5 V工作,额定电流为300 A,采用半双工通讯方式。它完成将TTL电平转换为RS485电平的功能。MAX485芯片的结构和引脚都非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;和DE端分别为接
13、收和发送的使能端,当为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100的电阻。两个RS485的1脚和4脚接在对应的单片机上以实现功能。3.5.1 RS485通信协议由于RS485通讯是一种半双工通讯,发送和接收共用同一物理信道。在任意时刻只允许一台单机处于
14、发送状态。因此要求应答的单机必须在侦听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答。半双工通讯对主机和从机的发送和接收时序有严格的要求。如果在时序上配合不好,就会发生总线冲突,使整个系统的通讯瘫痪,无法正常工作。要做到总线上的设备在时序上的严格配合,必须要遵从以下几项原则;1) 复位时,主从机都应该处于接收状态。SN75176芯片的发送和接收功能转换是由芯片的 RET,DE端控制的。RET=1,DE=1时,SN75176发送状态;RET=0,DE=0时,SN75176处于接收状态。一般使用单片机的一根口线连接RET,DE端。在上电复位时,由于硬件电路稳定需要一定
15、的时间,并且单片机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息。因此,如果用一根口线作发送和接收控制信号,应该将口线反向后接入SN75176的控制端,使上电时SN75176处于接收状态。另外,在主从机软件上也应附加假设干处理措施,如:上电时或正式通讯之前,对串行口做几次空操作,清除端口的非法数据和命令。2) 控制端RET,DE的信号的有效脉宽应该大于发送或接收一帧信号的宽度。在RS232,RS422等全双工通讯过程中,发送和接收信号分别在不同的物理链路上传输,发送端始终为发送端,接收端始终为接收端,不存在发送、接收控制信号切换问
16、题。在RS485半双工通讯中,由于SN75176的发送和接收都由同一器件完成,并且发送和接收使用同一物理链路,必须对控制信号进行切换。控制信号何时为高电平,何时为低电平,一般以单片机的TI,RI信号作参考。发送时,检测TI是否建立起来,当TI为高电平后关闭发送功能转为接收功能;接收时,检测RI是否建立起来,当RI为高电平后,接收完毕,又可以转为发送。3.5.2 RS485通信格式RSS485协议的信息格式如下:(1) 编码格式;二进制代码。(2) 波特率:9600 bs。(3) 通信方式:半双工。(4) 每个字符由u 位组成;1位:起始位(0);8位:数据位;l位:停止位(1)。(5)主机询问
17、的一般格式如下:从机地址码命令码 数据个数数据 校验和 表3.1 主机询问的一般格式(6)从机应答的一般格式如下:返回地址码命令码 数据个数数据校验和 表3.2 从机应答的一般格式按照要求,只需要实现双机通信即可,并无要求主从机特定地位,但是原理是相同的。3.6.1 单片机最小系统图3.7 单片机最小系统单片机最小系统主要包括电源、复位电路和时钟电路等。单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由按键复位和上电复位两部分组成。
18、1上电复位:STC89系列单片及为高电平复位,通常在复位引脚RST上连接一个电容到VCC,再连接一个电阻到GND,由此形成一个RC充放电回路保证单片机在上电时RST脚上有足够时间的高电平进行复位,随后回归到低电平进入正常工作状态,这个电阻和电容的典型值为10K和10uF。2按键复位:按键复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。单片机时钟电路是由方向放大器构成。XTAL1为时钟电路的输入端,XTAL2为时钟电路的输出端。3.6.2 显示模块从机的显示模块与主机原理一致,这里就不再次表达。 第四章 软
19、件设计4.1 通信协议 串行通信协议的比较RS232 RS422 RS485RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件、电缆或协议,在此基础上用户可以建立自己的高层通信协议。例如:视频服务器都带有多个RS422串行通讯接口,每个接口均可通过RS422通讯线由外部电脑控制实现记录与播放。视频服务器除提供各种控制硬件接口外,还提供协议接口,如RS422接口除支持RS422的Profile协议外,还支持Louth、Odetics、BVW等通过RS422控制的协议。RS-232、RS-422与RS-485都是串行数据接口标准,都是由电子工业协会EIA制订并发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 RS 485 单片机 通信 系统 设计
限制150内