您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 485双机通信案例原理与测试说明
“485双机通信”功能实现说明1程序设计目标及程序运行效果说明程序设计目标:通过本例程理解RS485通信方式,实现双机通信。程序运行效果:将两块带有485模块的51单片机通过485外接引脚A、B连接起来,单片机上电烧写程序后485模块的D/R引脚所对应的二极管均点亮,然后通过按键KEY3、KEY2控制数码管上的数值进行加减处理,两块单片机起始都默认为接收状态,最后按下KEY1发送键,将数据传送给另一块单片机,而此时接收方数码管上的数值发生相应的改变,与发送方数码管上的数值一致。2程序相关电路及工作原理说明2.1RS485通信原理RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。针对RS232的不足,于是不断出现了新的接口标准,RS485就是其中的一种。RS485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS232接口在总线上只允许连接1个收发器,即单站能力。而RS485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS485接口方便地建立起设备网络。RS485属于半双工通信,数据可以在一个信号载体的两个方向上传输,但是不能同时进行传输。电平转换采用差分电路方式,A、B两线的电压差大于0.2认为是逻辑“1”,小于-0.2认为是逻辑“0”,方便与TTL电路连接。使用RS485进行通信与RS232通信的逻辑是一致的,但RS485抗干扰性更强,传输距离更远。RS485广泛运用在工业自动化控制、视频监控、门禁对讲以及楼宇报警等各个领域。图1485模块电路原理图MAX485芯片的功能是将TTL电平转换为RS485电平,引脚功能如下:(1)485D/R输出、接收信号控制引脚:当该引脚为低电平时,485为接收态,MAX485通过485_RXD把来自总线的信号输出给单片机;当该引脚为高电平时,485为发送态,来自485_TXD的输出信号通过A、B引脚加载到总线上。(2)485_RXD引脚接收数据,RX1LED点亮时表示正在接收数据。(3)485_TXD引脚发送数据,TX1LED点亮时表示正在发送数据。(4)A、B端口与另一个开发板上的MAX485的A、B连接实现双机通信。使用RS485进行通信的大致步骤为:(1)初始化波特率,设置好串口通信模式;(2)发送数据时将数据放入S2BUF,并软件清零S2RI;(3)接收数据时从S2BUF读取数据,并软件清零S2TI。2.2数码管显示原理通过LED_SEL控制74HC138的使能信号E3,并结合A0、A1、A2三个位选控制信号确定八个数码管中的哪一个数码管被点亮;该模块采用八段共阴极数码管,P0口的八个段选控制信号确定任意一个数码管八段中的哪一段被点亮。图2数码管显示原理图2.3按键控制原理本案例中,按键1引脚对应触发外部中断0,通过设定寄存器设置按键1下降沿触发外部中断,当按键1被按下时启动数据发送;按键2和按键3实现数码管上的数值加减,当单片机检测到引脚为低电平时,对数码管数值进行操作。按键部分需要考虑按键的消抖问题,本程序采用延时消抖。另外在本案例中使用按键中断服务程序实现数据发送的,因此串口中断的优先级高于按键中断。图3按键原理图3测试方法1.将两块带485模块的板子通过485外接引脚连接起来;注意不要交叉连接(数据传输错误)2.按照“工程建立及下载到开发板整个流程指导.doc”文件将当前目录的Hex文件下载到两块开发版上,两块开发板默认最右边数码管均显示0;485模块的D/R对应二极管均点亮;3.通过key2或者key3调整数值(数码管会显示出来)如“c”,按下key1,完成一块单片机向另一块单片机发送数据。
本文标题:485双机通信案例原理与测试说明
链接地址:https://www.777doc.com/doc-5363779 .html