ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:35.37KB ,
资源ID:24679984      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24679984.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(完整版通信工程专业基于89C52RC的MODBUS通信程序设计毕业论文设计.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

完整版通信工程专业基于89C52RC的MODBUS通信程序设计毕业论文设计.docx

1、完整版通信工程专业基于89C52RC的MODBUS通信程序设计毕业论文设计优秀论文 审核通过未经允许 切勿外传通信工程专业毕业论文-基于89C52RC的MODBUS通信程序设计 摘 要单片机具有体积小,功能强,成本低,应用面广等优点,目前的温度控制系统多采用单片机进行系统设计。基于89C52RC的MODBUS通信程序设计就是针对于温度控制系统进行的设计。在这里主要使用AT89C52芯片和AD590温度传感器,实现温度的检测和显示功能,再通过MODBUS通信协议实现单片机与PC的连接程序设计,通过PC对被控现场的温度实现调节和控制。在这里有两方面设计,硬件电路设计和软件程序设计。硬件电路设计包括

2、人机互换模块包括按键模块和数码显示模块。按键模块用来输入设定的温度,数码管显示模块用来显示当前测得的温度。温度传感器模块包括AD转换模块和传感器模块。加热控制模块用来给水加热。上位机通信模块通过串口和PC建立通信渠道。软件设计包括温度检测模块,加热器控制模块,按键模块,数码管显示模块和串口驱动模块。温度检测模块通过AD转换器将温度值转换成数字值存放,加热器控制模块控制加热器开关的通断,按键模块用于设定温度值;数码管模块用于显示检测到的温度值和设定的温度值,串口驱动模块用于从上位机收发数据。关键词:AT89C52 ;MODBUS通信协议;温度控制ABSTRACTThe MCU . 89C52RC

3、 MODBUS communication program is designed for the temperature control system. Mainly use AT89C52 chip AD590 temperature sensor, temperature detection and display functions and programming of MCU and PC connection, and then through the MODBUS protocol to regulate and control the PC charged with the t

4、emperature of the scene. There are two aspects of design, and software programming. The , including the man-machine interchangeable modules including key module and digital display module. The key module is used to enter the set temperature; the digital display module is used to display the current

5、measured temperature. The temperature sensor module consists of the A D converter module and sensor module. Heating control module is used for water module through the serial port and PC to establish communication channels.The software design includes temperature detecting module, the module tempera

6、ture values by the A D converter to convert the numeric value stored, the module is used to set the temperature value; the digital control module is used to display the detected temperature value and the temperature set value, the serial port driver module used to send and receive data from the 公司开发

7、且已是工业领域全球最流行的协议4-5。此协议支持传统的RS-232、RS-422、RS-485AT89C52开发的系统性能可靠、成本较低、软件设计灵活简单、硬件接口功能丰富,具有扩展性好、通用性强等优点6。 本文是基于89C52RC的MODBUS通信程序设计,利用单片机89C52和MODBUS通信程序设计温度控制器,使温度在工业中能够被跟好的控制。第1.2节 选题简介在该温度控制系统中,单片机作为核心部件进行检测控制,增强了设计的通用性,适时性。地铁消防管道温度控制系统使用AT89C52控制器和AD590温度传感器,实现温度的检测功能和显示功能,然后能够通过上位机(PC)是指上下线温度,并且能

8、够对被控制现场的温度实现智能的调节,来保持被控制现场的温度的基本恒定。序进行说明,包括控制算法,偏差计算等。控制是否升温或降温。第2章 总体设计的技术分析第2.1节 AT89C52单片机 单片机的发展随着大规模集成电路的出现及其发展,将计算机的CPU、RAM、ROM、定时计数器和多种IO接口集成在一片芯片上,形成芯片级的计算机,因此单片机早期的含义称为单片微型计算机,直译为单片机 。 单片机7现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应

9、用提供了广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有: 1 微型单片化现在常规的单片机普遍都是将中央处理器(CPU)8、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如AD转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还

10、要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。 2 低功耗CMOS化MCS-51系列9的8031推出时的功耗达630mW,而现在的单片机普遍都在100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。CMOS虽然功耗低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合

11、。所以这种工艺将是今后一段时期单片机发展的主要途径。 3 主流与多品种共存现在虽然单片机的品种繁多,各具特色,但仍以80C51为核心的单片机占主流,兼容其结构和指令系统的有PHILIPS公司的产品,ATMEL公司10的产品和中国台湾的Win bond系列单片机。所以80C51占据了半壁江山。而Microchip公司的PIC精简指令集合(RISC)也有着强劲的发展势头,中国台湾的HOLTEX公司近年的单片机产量与日俱增,与其底价质优的优势,占据一定的市场份额。此外还有MOTOROLA公司的产品,日本几大公司的专用单片机。在一定的时期内,这种情形将得以延续,将不存在某个单片机一统天下的垄断局面,走

12、的是依存互补、相辅相成、共同发展的道路。九十年代以后,单片机在结构上采用双CPU或内部流水线,CPU位数有8位、16位、32位,时钟频率高达20MHZ,片内带有PWM输出、监视定时器WDT、可编程计数器阵列PCA、DMA传输、调制解调器等。芯片向高度集成化、低功耗方向的发展,使得单片机在大量数据的实时处理、高级通信系统、数字信号处理、复杂工业过程控制、高级机器人以及局域网等方面得到大量应用。这类单片机有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。 芯片的选择温度控制系统是通过采用单片机控制,使温度能够在设定值及变化范围内变化。采用单片

13、机来实现温度控制不仅具有控制方便、简单、灵活等优点,而且可以大幅度提高被控温度的技术指标。根据学校毕业设计要求本系统选用ATMEL公司的AT89系列单片机11。AT89系列有AT89C51,AT89C52等。89C5212与89C51的区别是内存大小不同,C51的是4K,C52是8K,并且根据节点所需实现功能的复杂程度和技术需要,在这个系统中采用89C5213芯片。AT89C52 单片机是ATMEL公司的51系列单片机。AT89C52 单片机是一款高性能CMOS 8 位单片机,片内含8KB 可反复擦写的Flash 只读程序存储器和256B随机存取数据存储器(RAM),器件采用ATMEL 公司的

14、高密度、非易失性存储技术生产,兼容标准MCS51 指令系统, 片内置通用8 位中央处理器和Flash 存储单元,AT89C52 单片机可提供较复杂系统控制应用场合。系统使用AT89C52控制器和AD590温度传感器,实现温度的检测和显示功能,能够通过上位机设置上下限温度,并且能够对被控现场的温度实现智能调节,以保持被控现场的温度基本恒定。 AT89C52功能简介AT89C52是51系列的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采

15、用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入输出(IO)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程 S系列的才支持在线编程 。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52兼容MCS51指令系统8k可反复擦写 1000次)Fla

16、sh ROM 32个双向IO口 256x8bit内部RAM 3个16位可编程定时计数器中断 时钟频率0-24MHz 2个串行中断可编程UART串行通道 2个外部中断源共6个中断源 2个读写中断口线 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 (或GND)(20脚):接地端。 (40脚):接电源。正常操作及对Flash ROM 编程和验证时接+5V电源。 2 外接晶体引脚XTAL1和XTAL2XTAL1(19脚):接外部晶体和微调电容的一端。在AT89C52单片机内,它是振荡电路反向放大器的输入端及内部时钟发生器的输入端,振荡电路的频率就是晶体的固有频率。当采用外部振荡器时,此引脚

17、输入外部时钟脉冲。XTAL2(18脚):接外部晶体和微调电容的另一端。在AT89C52单片机片内,它是振荡电路反相放大器的输出端。在采用外部振荡器时,此引脚应悬浮。 3 控制信号引脚RST、ALE、和RST(9脚):复位信号输入端,高电平有效。当振荡器工作时,在此引脚上出现两个机器周期以上的高电平,就可以使单片机复位。ALE(30脚):地址锁存允许信号。当AT89C52单片机上电正常工作后,ALE端不断向外输出正脉冲信号,此信号频率为振荡器频率的16。AT89C52单片机在并行扩展外部存储器(包括并行扩展IO接口)时,P0口用于分时传送低8位地址和数据信号。当ALE信号有效时,P0口传送的是低

18、8位地址信号;ALE信号无效时,P0口传送的是8位数据信号。在ALE信号的下降沿,锁定P0口传送的低8位地址信号,这样可以实现低8位地址与数据的分离。ALE信号可以用作对外输出的时钟或定时信号。需注意的是每当访问外部数据存储器时,将跳过一个ALE脉冲。ALE端可以驱动(吸收或流出电流)8个TTL门电路。在对AT89C52单片机片内8KB Flash ROM编程(固化)时,此引脚用于输入编程脉冲。(29脚):外部程序存储器的读选通信号。当AT89C52单片机由外部程序存储器取指令(或常数)时,每个机器周期内两次有效输出。当访问外部数据存储器时,这两次有效的信号将不出现,端同样可以驱动8个TTL们

19、电路。(31脚):内部外部ROM选择端。当端接高电平时,CPU访问并执行内部程序存储器的指令;但当PC(程序计数器)值超过8KB(1FFFH)时,将自动转去执行外部程序存储器中的程序。当端接低电平时,CPU只访问并执行外部程序存储器中的指令,而不管是否有内部程序存储器。需要注意的是,如果保密位LB1被编程,复位时在内部会锁存端的状态。在对AT89C52单片机片内Flash ROM编程(固化)时,此引脚用于实施编程电源。高电压编程时,为+12V,低电压编程时,为+5V。 4 输入和输出引脚P0口、P1口、P2口、P3口P0 口:P0 口是一组8 位漏极开路型双向IO 口, 也即地址数据总线复用口

20、。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1 口:P1 是一个带内部上拉电阻的8 位双向IO 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 I

21、IL 。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时计数器2 的外部计数输入(P1.0T2)和输入(P1.1T2EX),P2 口:P2 是一个带有内部上拉电阻的8 位双向IO 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流 IIL 。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOV

22、X RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。P3 口:P3 口是一组带有内部上拉电阻的8 位双向IO 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的IO 口线外,更重要的用途是它的第二功能。此外,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。AT89C52 20共有6 个中断向量:两个外中断(INT0 和INT1),3 个定时器中断(定

23、时器0、1、2)和串行口中断。所有这些中断源如图9 所示。这些中断源可通过分别设置专用寄存器IE 的置位或清0 来控制每一个中断的允许或禁止。IE 也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意表5 中的IE.6 为保留位,在AT89C51 中IE.5 也是保留位。程序员不应将“1”写入这些位,它们是将来AT89 系列产品作为扩展用的。定时器2 的中断是由T2CON 中的TF2 和EXF2 逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2 或EXF2 产生中断,而由软件清除中断标志位。定时器0 和定时器1 的标志位TF0 和TF1 在定时器

24、溢出那个机器周期的S5P2 状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2 的标志位TF2 在定时器溢出的那个机器周期的S2P2 状态置位,并在同一个机器周期内查询到该标志。AT89C52内部结构图如下图1?1所示。图1?1 AT89C52内部结构图第2.2节AD590温度传感器AD590是美国模拟器件公司生产的单片集成两端感温电流源。 1 主要特性流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: AK 2?1 式中: 流过器件(AD590)的电流,单位为mA; T热力学温度,单位为K。 AD590的测温范围为-55+150。 AD590的电源电压范围为

25、4V30V。电源电压可在4V6V范围变化,电流 变化1mA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 输出电阻为710MW。 精度高。AD590共有I、J、K、L、M五档,其中M档精度最高,在-55+150AD590的引脚共有3个,查各种资料里,只用了两个引脚 即+ - 第三个脚可以不用,是接外壳做屏蔽用的测量温度是把整个器件放到需要测温度的地方。 AD590的输出电流值说明如下: 其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout (273+25) 298A。 AD590注

26、意事项Vo的值为Io乘上10K,以室温25而言,输出值为10K298A 2.98V测量Vo时,不可分出任何电流,否则测量值会不准。?2所示图2?2 AD0804管脚图第2.4节 MODBUS协议MODBUS是OSI模型第7层上的应用层报文传输协议,它在连接至不同类型总线或网络的设备之间提供客户机服务器通信。自从1979年21出现工业串行链路的事实标准以来,MODBUS使成千上万的自动化设备能够通信。目前,继续增加对简单而雅观的MODBUS22结构支持。互联网组织能够使TCPIP栈上的保留系统端502 访问MODBUS。MODBUS 是一个请求应答协议23,并且提供功能码规定的服务。MODBUS

27、 功能码是MODBUS请求应答PDU 的元素。这里描述MODBUS 事务处理框架内使用的功能码。 通讯传送方式通讯传送分为独立的信息头,和发送的编码数据。以下的通讯传送方式定义也与MODBUS RTU通讯规约相兼容:地址码:地址码为通讯传送的第一个字节。这个字节表明由用户设定地址码的从机将接收由主机发送来的信息。并且每个从机都有具有唯一的地址码,并且响应回送均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机发送的地址码表明回送的从机地址。功能码:通讯传送的第二个字节。M通讯规约定义功能号为1到127。作为主机请求发送,通过功能码告诉从机执行什么动作。作为从机响应,从机发送的功

28、能码与从主机发送来的功能码一样,并表明从机已响应主机进行操作。如果从机发送的功能码的最高位为 比如功能码大与此同时127 ,则表明从机没有响应操作或发送出错。数据区:数据区是根据不同的功能码而不同。数据区可以是实际数值、设置点、主机发送给从机或从机发送给主机的地址。通讯规约当通讯命令发送至仪器时,符合相应地址码的设备接通讯命令,并除去地址码,读取信息,如果没有出错,则执行相应的任务;然后把执行结果返送给发送者。返送的信息中包括地址码、执行动作的功能码、执行动作后结果的数据以及错误校验码。如果出错就不发送任何信息。?1所示。表2?1 信息帧结构地址码 功能码 数据区 错误校验码 8位 8位 N

29、8位 16位 地址码:地址码是信息帧的第一字节 8位 ,从0到255。这个字节表明由用户设置地址的从机将接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回送。当从机回送信息时,相当的地址码表明该信息来自于何处。 功能码:主机发送的功能码告诉从机执行什么任务。表2?2列出的功能码都有具体的含义及操作。2?2 功能码含义及操作代码含义操作03 读取数据读取当前寄存器内一个或多个二进制值06 重置单一寄存器把设置的二进制值写入单一寄存器数据区:数据区包含需要从机执行什么动作或由从机采集的返送信息。这些信息可以是数值、参考地址等等。例如,功能码告诉从机读取寄存器的

30、值,则数据区必需包含要读取寄存器的起始地址及读取长度。对于不同的从机,地址和数据信息都不相同。错误校验码:主机或从机可用校验码进行判别接收信息是否出错。有时,由于电子噪声或其它一些干扰,信息在传输过程中会发生细微的变化,错误校验码保证了主机或从机对在传送过程中出错的信息不起作用。这样增加了系统的安全和效率。错误校验采用CRC-16校验方法。Modbus帧描述Modbus 26应用协议定义了简单的独立于其下面通信层的协议数据单元 PDU - Protocol Data Unit :图2?1 Modbus 协议数据单元在不同总线或网络的Modbus27 协议映射在协议数据单元之外引入了一些附加的域

31、。发起Modbus 事务处理的客户端构造Modbus PDU,然后添加附加的域以构造适当的通信PDU。图2?2 串行链路上的Modbus 帧在Modbus 串行链路,地址域只含有子节点地址。如前文所述,合法的子节点地址为十进制0-247。每个子设备被赋予1-247范围中的地址。主节点通过将子节点的地址放到报文的地址域对子节点寻址。当子节点返回应答时, 它将自己的地址放到应答报文的地址域以让主节点知道哪个子节点在回答。功能码指明服务器要执行的动作。功能码后面可跟有表示含有请求和响应参数的数据域。错误检验域是对报文内容执行冗余校验 的计算结果。根据不同的传输模式 RTU or ASCII 使用两种

32、不同的计算方法28。第2.4节RS232简介RS-23229是个人计算机上的通讯接口之一,由电子工业协会 Electronic Industries Association,EIA 所制定的异步传输标准接口。通常RS-232接口以9个接脚 DB-9 或是25个接脚 DB-25 的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和COM2。RS-232-C 是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS 是英文“推荐标准”的缩写,232为标识号,C 表示修改次数。RS-232-C 总线标准设有25条信号线,包括一个主通道和一个辅助通道。在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1