教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

基于PC机和AVR单片机的RS485通信系统的设计与实现[1]

来源:网络收集 时间:2026-09-05
导读: 第1期 2008年2月 工矿自动化 IndustryandMineAutomation No.1 Feb.2008 文章编号:1671-251X(2008)01-0108-03 基于PC机和AVR单片机的RS485通信系统的 设计与实现 李 永1, 李芙玲1, 贺秀玲2 (1.华北科技学院,2.防灾科技学院,河北三河 065201) 摘要:介绍了利用V

第1期 2008年2月

工矿自动化

IndustryandMineAutomation

No.1 Feb.2008

文章编号:1671-251X(2008)01-0108-03

基于PC机和AVR单片机的RS485通信系统的

设计与实现

李 永1, 李芙玲1, 贺秀玲2

(1.华北科技学院,2.防灾科技学院,河北三河 065201)

摘要:介绍了利用VB6.0和ICCAVR编程实现PC机与多个ATmega16AVR单片机通信的方法,重点介绍了PC机采用VB6.0控件操作串口实现串行通信、采用SN75176实现RS485信号转换以及实现AVR单片机串口中断发送、接收程序等的方法。

关键词:PC机;多机通信;VB6.0;RS485接口;AVR单片机 中图分类号:TP393 文献标识码:B0 引言

在当今的数据采集和工业控制中多以单片机为基础,在我国以前多用MCS-51系列单片机。近

收稿日期:2007-06-11

作者简介:李 永(1972-),男,河北徐水人,讲师,河北工程大学计算机应用专业在读硕士研究生,现在华北科技学院主要从事供电方面的教学和科研工作。

年来,ATMEL公司推出了AVR单片机,它与51系列单片机相比有更快的运算速度和更强大的功能,更适合于工业控制,因此工业控制系统中AVR单片机应用得越来越普遍。PC机大多通过RS232接口对单片机进行控制,由于计算机上的RS232协议所传输的距离不能超过30m,所以在远距离数据传送和控制时,需将RS232转换成RS485协议进行远距离传输,但这个转换多是通过购买现成的RS 设备的运行参数进行显示和远程控制。实验结果证明,该测控仪具有快速的数据采集、数据处理、稳定的数据传输和远程测控功能,同时,具有很强的移植性和升级空间,不管被测对象是减少或增加,其在硬件结构上不需进行任何改变,只需将具有CAN总线接口的智能仪表设备接在CAN总线上即可。该测控仪可以产品化,具有广泛的应用前景[5]。

参考文献:

[1] 何苏勤.基于DSP技术和CAN总线的多节点远程数

据传输系统[J].仪表技术与传感器,2004(8):38~

图5 数据接收流程图

42.

[2] 刘和平.TMS320LF240xDSP结构、原理及应用[M].

北京:北京航空航天大学出版社,2002.

[3] 史久根.CAN现场总线系统设计技术[M].北京:国

防工业出版社,2004.

[4] 肖踞雄,翁铁成,宋中庆.USB技术及应用设计[M].

北京:清华大学出版社,2003.

[5] 蒋勇英.远程监控系统设计[J].微计算机信息:测控

自动化,2005,21(10):18~20.

也采用VisualC++语言编写,主要是读取硬件系

统所采集的数据,并将采集到的数据进行界面显示。

3 结语

本文介绍了基于DSP和现场总线的测控仪设计。该测控仪可实现对被测对象的数据采集和处理,通过CAN控制器将数据上传到CAN总线上,远端的CAN驱动器从CAN总线上接收数据后送到TMS320LF2407DSP接收邮箱中,再通过RS232-USB转换器与,

2008年第1期李 永等:基于PC机和AVR单片机的RS485通信系统的设计与实现 109

232/485转换器实现,在单片机端通过相应的RS485转换芯片将485信号转换成单片机需要的串口信号,在本文中采用的是SN75176芯片。RS485协议对数据传送来说是透明的,所以在计算机和单

片机的通信程序方面和不用RS485协议时几乎是一样的。PC机与单片机一般采用应答方式通信,当PC机控制多个单片机终端时,PC机发送一个地址帧选中一个终端,再对选中的终端进行一对一的通信,实现这种通信方式需要对发送帧的格式和单片机端的相应寄存器进行设置。1 系统硬件组成

该通信系统由1台PC机作为主控机,以ATmega16AVR单片机为核心作为系统终端,通过RS485总线结构将PC机和各个终端机连接起来。PC机通过RS232/485转换器连接到485总线,PC机通过查询方式与各个终端通信,完成监测、控制等功能,PC机也可以连接到局域网,实现信息的网络传输。各个终端接受主控机指令,完成就地调整、控制、测量以及信息回传等工作。ATmega16AVR单片机通过SN75176连接到485总线实现与主控机通信。系统硬件结构如图1

所示。

时间内接收到终端机返回的地址后,发送数据帧;终端机接收到主控机的数据后,完成主机要求的任务,并回传主控机要求的数据,通信结束后终端机重新设置成地址接收方式。3 通信实现

3.1 采用VisualBasic6.0实现串行通信

采用VisualBasic6.0实现串行通信有2种方式:(1)通过调用WindowsAPI函数来实现,这种方法需要对API函数有比较深的认识,软件编写比较复杂;(2)通过VB6.0的MSComm控件实现,它能方便地实现对串口的设置和操控。使用该控件关键是对它的Settings属性进行设置,该属性格式为 BBBB,P,D,S ,其中BBBB表示传输速率,P表示校验检查方式,D表示数据位数,S表示停止位数。VB6.0的校验检查种类如表1所示。

表1 VB6.0校验检查种类表

设置 E M NNone O S

偶数

记号(相当于TB8=1)默认值无校验位检查奇数

空白(相当于TB8=0)

说明

该系统中如果设置波特率为1200bps,按前面通信协议的要求,则传输地址帧时Settings属性

图1 系统硬件结构图

应设置为 1200,M,8,1 (第9位为1),传输数据帧时该属性应设置为 1200,S,8,1 (第9位为0)。

MSComm控件其它几个重要属性的说明如下:CommPort属性:该属性用于设置或返回通信连接端口号码,程序必须指定所要使用的串行端口的号码,Windows系统使用所设置的通信端口与外界通信。

InputMode属性:用于设置或返回MSComm控件接收数据的类型,该属性设置为0,则接收的是ASCII码字符类型。本文所设计的通信系统传输的数据超过了ASCII字符的范围,所以设置该属性为1,MSComm控件以二进制方式取得数据。

PortOpen属性:用于设置或返回通信端口的状态。在使用串行端口之前必须首先打开该端口,而在使用完毕后,也必须执行关闭操作。

Output属性:用于将要发送的数据输入传输缓2 通信协议及数据传输过程

本系统的通信对波特率没有特殊要求,在保证通信可靠的情况下尽量采用较高的通信波特率,对于传输信息的帧,要求有1位起始位、8位数据位、1位标志位(0表示数据,1表示地址)和1位停止位。

每个终端机有一个地址编号,各个终端通过寄存器设置成接收地址。通信时主控PC机首先发送地址帧,数据是所要操控的终端机的编号,标志位是1,这时各个终端都接收这个地址帧;各终端接收到地址帧后,把收到的地址数据与本身的地址编号进行比较,如果不相等,则设置成地址接收方式,继续等待接收地址;如果收到的地址数据与本机的地址编号相同,则该终端单片机设置成数据接收方式,并,

110 工矿自动化2008年2月

以将包含该串数据的字节数组附给MSComm控件的Output属性,计算机就会自动地将这些数据发送出去。

Input属性:返回输入缓冲区中的数据,并清空输入缓冲区。该属性用于接收终端机返回PC机的数据,并将数据存入到字节数组中。

PC机与终端机通信的程序流程如图2

所示。

AVR单片机在初始化后要保持接收地址状态,当接收到本机地址后回送地址并设置本机为接收数据状态,接收完数据后作出相应的反应,最后回到接收地址的状态。ATmega16AVR单片机串口通信程序流程如图4所示。

图2 PC机与终端机通信的程序流程图

3.2 ATmega16AVR单片机与SN75176的接线本系统中ATmega16AVR单片机通过RS485转换器SN75176连接到485网络,其接线如图2所

示。

图4 ATmega16AVR单片机串口通信程序流程图

ATmega16 …… 此处隐藏:2742字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于PC机和AVR单片机的RS485通信系统的设计与实现[1].doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1891690.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)