版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录第1章概述......................................................31.1课题研究的目的和意义...........................................31.2烘干炉温度自动控制系统现状和发展趋势...........................41.3本文的主要内容..................................................6第2章系统总体方案设计.............................................72.1系统的组成......................................................72.2控制系统结构和功能特点.........................................72.3系统总体方案设计...............................................82.3.1系统控制器的选择............................................82.3.2检测元件的选择.............................................102.3.3输入通道方案选择...........................................112.3.4输出通道方案选择:.........................................122.3.5外围接口设备的选择:.......................................12第3章系统硬件设计................................................143.1控制单元电路设计..............................................143.1.1.引脚特性..................................................163.1.2.晶振电路设计..............................................183.2信号检测电路设计..............................................193.3前向通道电路设计..............................................203.4控制电路设计..................................................223.5外围设备接口电路的设计.......................................233.5.1显示器接口电路设计.........................................233.5.2.键盘接口电路设计...........................................253.6报警电路.......................................................26第4章系统软件设计................................................284.1总体设计思想..................................................284.2主程序设计....................................................294.3数据采集及处理子程序设计.....................................324.3.1.数据采集子程序设计.........................................324.3.2.数字滤波子程序.............................................334.4控制算法子程序设计............................................3514.4.1PID算法程序...............................................354.4.2输出控制程序设计...........................................364.4.3采样值调整程序.............................................364.5键盘显示子程序................................................374.5.1显示子程序设计.............................................374.5.2键盘子程序设计.............................................38总结.............................................................40致谢.............................................错误!未定义书签。参考文献........................................................41附录A硬件原理图...................................................42附录B单片机系统软件源程序清单......................................432第1章 概 述1.1 课题研究的目的和意义在工业生产中,涂装工艺占据着举足轻重的地位。烘干是涂装工艺的三大主要工序之一,它使液态(湿态或粉状)的涂膜快速转化为固态的漆膜,对生产效率、涂层质量和涂装成本等有直接的影响。烘干是用加热设备(烘干室或烘干炉)来实现的。因此烘炉是涂装生产线必不可少的设备之一。在干燥固化过程中,烘炉内各点的温度是否能保证在规定的工艺要求的范围内,将对被涂装的材料、产品、工件的质量、降低能耗以及提高生产效率和经济效益都会产生重要的影响,而且随着整机度的提高和元器件的微型化、复杂化在各种工业过程中对·温度工艺的要求越来越高。烘炉温度一时间曲线是根据被烘干涂料的固化特性,由涂料厂家和涂装厂商定的,必须严格遵守。这就需要一种可移动的温度数据采集仪器,可以连续追踪烘炉温度。而我国目前采用的传统的定点式烘炉测温方法,己经显得比较落后,无法满足生产工艺对温度测量的要求。烘炉温度追踪仪(可移动式温度数据采集仪)就是在这种情况下提出的。近年来,随着计算机技术的飞速发展,给烘炉炉温的检测提供有力的技术支持。目前,计算机应用控制领域采用三种配置:(1)可编程序控制器(PLC),(2)微型计算机,(3)单片机。〔,〕本烘炉温度追踪系统,作为检测系统的一种,采用单片机作为前段数据采集单元,对炉温及炉内工件温度进行采集和处理,监控烘炉的热加工过程及产品的质量状态。应用微型计算机实现数据保存、分析统计。本课题研究开发的目的,就是要通过借鉴国外的先进技术,研究出具有我国自主知识产权的烘炉温度自动检测系统。研制的烘炉温度自动温度检测系统,可用来连续测量各点的温度变化,准确的绘制出烘炉长度区间上的时间一温度曲线,以及测量出被加工的零件产品木身的温度状态变化,掌握不同温度下的固化时间、最大温差、变化斜率和参考曲线等技术指标,以此来优化生产过程,提高烘炉热加工的产品质量和生产效率,降低能耗,同时该装置也为快速查找烘炉故障提供了便利的条件。3该课题研究的意义在于目前国内尚没有生产采用隔热装置的烘炉温度自动检测系统的企业,因此通过本文的研究,希望对我国该类仪器仪表的开发能起到抛砖引玉的作用。研制烘炉温度自动检测仪,可以把国外的先进的温度测量技术和方法引入我国,一是可以改变我国热加工领域测温技术相对落后的状态,二是填补了我国在该技术领域的空白。目前,国内代理销售的该项产品是英国“DATAPAQ”(达塔帕克)公司制造的“OvenTracker(炉温追踪仪)”,其每台零售价格卖到约4到5万元人民币),由于其价格 l一分昂贵,一般企业以承受,因此限制了它的推广和应用。如果该课题的研究能获得成功,那么研制出的产品会以优越的性能 /价格比占领国内市场(每台在1万元人民币以内),同!l寸还可以参与国际市场竞争,为国家外汇创收做出贡献。并且该项技术不仅局限于烘炉热加工过程的温度测量,只要略加改进,就可以应用于其它领域的热加工过程的温度测量。因此说,该项目的研究对改变我国目前在热加工技术领域的落后状态具有极其深远的意义。1.2 烘干炉温度自动控制系统现状和发展趋势生产管理一体化、网络化是当今工业自动化控制领域的大趋势, 要实现这些功能,必须借助于工业计算机、现场网络及开放的工业数据库。利用先进技术手段监测各种复杂生产环境的被控参数 (如温度、流量及压力等),使生产和管理一体化,可以有效地提高生产和管理的自动化水平。温度追踪测量(也可以称作是温度分布测定技术)是一种利用微机来实现数据采集、数据通讯传输和数据分析处理的一门新技术,是在生产过程中一记录和说明热加工产品与空气温度关系的技术,追踪测量得到的数据被显示为图表或数字。这个过程最简单的形式就是它可以告诉生产者所生产的产品的温度、保持这个温度有多长时间以及在什么时间达到了什么温度。通过分析数据,生产人员可以保证产品达到最好的质量、解决产品存在问题、优化生产工艺路线及节约能耗。无论是在电子产品的生产、食品加工、其它工业生产,还是在医疗器械生产方面,只要在生产过程中温度是重要的控制指标,温度检测(也称追踪)技术就具有非常广阔的应用前景。4国外的温度检测技术起于 80年代,其先进的技术可以以 1984年成立的英国达塔帕克公司为代表。该公司是世界上最先进的温度追踪技术的代表,于 1985年首次生产出温度追踪的产品,是温度追踪技术的开拓者。目前它的产品已遍布世界各地,主要生产精加工工业用烘炉温度追踪器、电子工业用回焊追踪仪、热处理工业用高温炉温追踪仪、陶瓷工业用炉窑温度追踪器、食品加工业用的多功能温度追踪器等,可见该项技术在工业领域的应用十分广泛。国外的温度追踪技术除了在理论上进行先进的研究外,在实践中更是日益成熟。国际上,另一个在该领域的先进技术的代表就是波兰,早在1992年就利用连续温度监测法预报煤井的瓦斯状态。国外的温度追踪技术从普通的室温监测到高温监测技术, 从遥感监测到各种炉膛的内部监测技术,正随着新技术的出现在不断的更新及完善。随着科技进步,计算机检测技术的发展,我国从 90年代开始对温度监测进行理论上的研究,在生产实践中也进行了一系列的应用。比如在 2001年杭州商学院计算机与信息工程系用 VB6.0开发出粮库温度监测系统的监控软件,利用微机来实现串行通信、数据处理的温度监测系统。而我国采用的烘炉温度测量方法一般是定点测量,既在炉内留出测量孔,把传感器通过测量孔伸到炉膛内,对温度进行测量。这种测量方法的缺点一是测量孔多了将影响烘炉的保温性能, 二是它测量的温度,在烘炉长度区间分布上,不是连续的量和存在测量死区,另外它无法测量烘炉内产品自身的温度。由于在工业现场的外部环境很不好, 抗干扰问题就成为计算机检测技术中必须要解决的问题,而我国在此方而的技术与国外相比有很大的差距。虽然我国在理论方面紧跟国外的步伐,但研究的方向是针对专门的行业,技术的应用没有普遍性。而且目前我国尚无烘炉温度追踪仪方面的研究报道,更无生产该类型温度追踪仪的产品的厂家,而国内代理销售的进口温度追踪仪,最便宜一台也要4至5万元人民币左右。进口产品的昂贵价格,使国内企业难以承受,其销路难以推广,以致使我国烘炉热加领域的检测技术和工艺水平长期处于落后状态使热加工的产品质量难以提高。因此,可以说烘炉温度检测系统的研究与开发的前景广阔,同时也可带来巨大的经济效益和社会效益。它不仅可以大大降低我国烘炉热加_〔产品的成本和提高产品的质量,还将生产出第一台国产的温度追踪仪,它可以广泛的应用于使用烘炉以及其它5热加工的行业,满足国内市场的需求,推动我国烘炉温度测量技术的发展,使其早日跨入世界先进行列。1.3本文的主要内容设计一个适用的烘干炉,主要参数如下:机体尺寸:3500*540*1250(L*W*H)额定功率:30KW工作电压:220V温度可调可控,4点测温温度范围:80~150℃恒温精度:±0.5%具有四位数字显示功能,分别显示路数、预置值、实测值6第2章 系统总体方案设计2.1系统的组成根据系统基本要求,将本系统划分为:温度测量电路,A/D转换电路,键盘输入部,控制处理电路,显示电路,微处理器。2.2 控制系统结构和功能特点烘干炉温度控制系统主要由温度检测、温度控制和调节、图文显示、语音报警以及数据通信等部分组成 . 其结构框图如图1所示.系统以89C51单片机作为控制CPU,对炉温进行检测,依据相应的控制算法,通过分析计算, 得到合适的控制量以控制加热元件,从而实现对温度的控制. 控制系统的主要功能特点如下 :采用高速单片机作为系统的控制核心,确保系统的运行速度;启用看门狗以及上电延时复位和掉电检测功能,增强了系统的可靠性,简化了电路设计.采用更适于现场安装的平板式结构液晶显示器,以文本和图形两种方式实现了温度的实时显示.3)采用12位高速A/D转换器以及新型的模拟信号隔离放大器,保证了模拟信号的完整性,具有放大器体积小、隔离电压高、非线性失真小等突出优点.实现了和车间级监控计算机之间的通讯.在数据通讯设计中,采用了独特的高速光电隔离耦合技术,以及数据正确性鉴别等软件技术,通讯可以在现场电路干扰严重、传输距离长的条件下高速、可靠进行.语音报警单元采用ISD4004作为控制核心,为工作人员提供告警提示.结构化程序设计增强了系统软件的可移植性,也易于调试和检验.7加热元件烘干控制隔离电路炉电路LCD显示屏A/D转AT89C518255A温度单片机换器传感系统器语音警报 键盘输入图2-1烘干炉温度控制系统结构图2.3 系统总体方案设计传感器部分将模拟输入量——温度转换成电量值。由于R-V转换后的输出电压很微弱,所以采用运算放大电路使输出电压扩大到0~5V。A/D转换电路主要是将模拟信号转化为与温度相对应的数字量,每当采样周期到达,即可将炉温值与键盘设定值比较,然后通过比较结果去改变可控硅在固定控制周期内的导通时间,从而达到控制炉温的目的。2.3.1 系统控制器的选择单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。8单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行PLC主要是指数字运算操作电子系统的可编程逻辑控制器,用于控制机械的生产过程。也是公共有限公司、电源线车等的名称缩写。PLC=ProgrammableLogicController ,可编程逻辑控制器,一种数字运算操作的电子系统,专为在工业环境应用而设计的。它采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算,顺序控制,定时,计数与算术操作等面向用户的指令,并通过数字或模拟式输入 /输出控制各种类型的机械或生产过程。是工业控制的核心早期的可编程控制器称作可编程逻辑控制器PLC,它主要用来代替继电器实现逻辑控制。随着技术的发展,这种采用微型计算机技术的工业控制装置的功能已经大大超过了逻辑控制的范围,因此,今天这种装置称作可编程控制器,简称 PC。但是为了避免与个人计算机(Personal Computer)的简称混淆,所以将可编程序控制器简称 PLC,plc自19669年美国数据设备公司(DEC)研制出现,现行美国,日本,德国的可编程序控制器质量优良,功能强大部分。工控机(IndustrialPersonalComputer —IPC)是一种加固的增强型个人计算机,它可以作为一个工业控制器在工业环境中可靠运行。早在80年代初期,美国 AD公司就推出了类似 IPC的MAC-150工控机,随后美国IBM公司正式推出工业个人计算机 IBM7532。由于IPC的性能可靠、软件丰富、价格低廉,而在工控机中异军突起,后来居上,应用日趋广泛。工控机的内部结构图图2-2现在国内品牌主要有研祥 EVOC,公司产品丰富。综上所述的种种特点,所以系统控制器我们选择单片机。2.3.2 检测元件的选择由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在10温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。根据设计总要求:我们要用到A/D转换的部分所以我们要选择模拟的温度传感器,温度控制范围为25℃~150℃、最小区分温度为0.5℃,温度传感器是检测温度的器件,其种类最多,应用最广,发展最快。众所周知,日常使用的材料及电子元件大部分特性都随温度而变化,最常用的热电阻和热电偶两类产品。热电偶具有构造简单、适用温度范围广、使用方便、承受热、机械冲击能力强以及响应速度快快特点,常用于高温区域、振动冲击大等恶劣环境以及适合于微小结构测温场合;采用热敏电阻,这种电阻是利用对温度敏感的半导体材料制成,其阻值随温度变化有明显的改变。负温度系数热敏电阻器通常是由锰, 钴的氧化物烧制成半导体陶瓷制成。其特点是在工作温度范围内电阻阻值随温度的上升而降低。 可满足40℃~90℃测量范围,但热敏电阻精度、重复性、可靠性较差,不适用于检测小于1℃的信号;而且线性度很差,不能直接用于A/D转换,应该用硬件或软件对其进行线性化补偿。综上所述的种种特点,所以测温传感器我们选择热电偶。2.3.3 输入通道方案选择在本设计中,A/D转换是要把一路模拟信输入转换为八路数字信号输出。MC14433是美国Motorola公司推出的单片31/2位A/D转换器,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的 A/D转换器,其主要功能特性如下:1.精度:读数的 ±0.05%±1字2.模拟电压输入量程: 1.999V和199.9mV两档3.转换速率:2-25次/s4.输入阻抗:大于 1000MΩ5.功耗:8mW(±5V电源电压时,典型值)11MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。2.3.4 输出通道方案选择:固体继电器(SSR)是一种全部由电子元器件组成的新型无触点开关器件,具有高可靠性、长寿命、低噪音、开关速度快、抗干扰能力强、耐振动、耐冲击、防湿、防潮、防腐蚀、能与TTL、CMOS等逻辑电路兼容的优点,逐渐被越来越多的应用领域所接受。在电力无功补偿的控制领域中,对于免维护设备的操作要求,传统的交流接触器控制容性负载受到了巨大的挑战。虽然通用交流SSR以其独特的过零导通的特点被广大用户所青睐,但是对于高电压高冲击电流的容性负载,通用交流SSR难以满足控制要求,制约着SSR在这一领域的推广应用。SSR的优点:1)高寿命,高可靠:固态继电器没有机械零部件,有固体器件完成触点功能,由于没有运动的零部件,因此能在高冲击,振动的环境下工作,由于组成固态继电器的元器件的固有特性,决定了固态继电器的寿命长,可靠性高。2)灵敏度高,控制功率小,电磁兼容性好:固态继电器的输入电压范围较宽,驱动功率低,可与大多数逻辑集成电路兼容不需加缓冲器或驱动器。3)快速转换:固态继电器因为采用固体器件,所以切换速度可从几毫秒至几微妙。4)电磁干扰小:固态继电器没有输入“线圈”,没有触点燃弧和回跳,因而减少了电磁干扰。大多数交流输出固态继电器是一个零电压开关,在零电压处导通,零电流处关断,减少了电流波形的突然中断,从而减少了开关瞬态效应。2.3.5 外围接口设备的选择:由于89C51是一种高性能低价位单片机,但因其引脚少,只有15根I/0口线,去掉信号输入、信号输出和按键输入以及复位电路等常规接口线外,一般所剩只有三至五根I/0口线,给系统设计尤其是LED显示接口电路的设计带来一定难度。2051余下的并行I/0口线不足8根,数据并行输出已不可能,但可以考虑串行输出的方法,所以这里我们选用采用串入并出移位寄存器74LS123圆满地解决了这一问题。12由于显示的位数只有四位,所以在这里我们采用静态显示来实现。13第3章系统硬件设计3.1 控制单元电路设计本系统由89C51单片机、74HC373、74HC138、EPROM27C512构成最小应用系统,外扩一片8255A(RAM,32KB)用以存储工作参数及检测数据.硬件电路主要包括温度检测电路、输出控制电路、液晶显示和语音输出电路、串行通信电路等 .温度检测电路采用K型热电偶作为温度检测元件 , 变送器将热电偶输出的毫伏级信号转换为0~10mA的电流信号, 再将电流信号转换为0~5V的电压信号, 以满足A/D转换器MC14433的输入要求. 图3-1所示为89C51最小系统图14图3-1 单片机最小系统图输出控制电路设置隔离电路部分 , 采用光电耦合隔离放大器保证单片机输出的信号与外界隔离.温度控制则采用SSR固体继电器.由于系统不仅要以文本形式显示温度及烘干炉工作状态信息 , 还需显示时间!温度曲线,所以采用点阵式液晶显示屏,通过液晶显示控制器SED13305控制和驱动显示.报警信息以语音方式输出,用以提示操作人员.串行通信电路通过485总线将采集记录的温度数据送到车间级监控机,以建立烘干炉的检修数据库,既为保证检修质量提供了可靠依据,也使人机交互更为便捷.由于PC机的RS232电平与单片机的TTL电平不兼容,系统中配置MAX48515和RS 485/232转换器, 进行TTL电平和RS 485电平、RS 485电平和RS 232电平间的转换。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能 CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,89C2051是它的一种精简版本。89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。89C51的特性与MCS-51兼容4K字节可编程闪烁存储器寿命:1000写/擦循环数据保留时间:10年全静态工作:0Hz-24MHz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路。3.1.1.引脚特性VCC:供电电压。GND:接地。P0口:P0口为一个 8位漏级开路双向 I/O口,每脚可吸收 8TTL门电流。当P1口的管脚第一次写 1时,被定义为高阻输入。 P0能够用于外部程序数据存储器,它可以被定义为数据 / 地址的低八位。在 FIASH编程时,P0口作为原码输入口,当 FIASH进行校验时, P0输出原码,此时 P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的 8位双向I/O口,P1口缓冲器能接收输出 4TTL门电流。P1口管脚写入 1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时, 将输出电流,这是由于内部上拉的缘故。 在FLASH编程和校验时, P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的 8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当 P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时, P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或 16位地址外部数据存储16器进行存取时, P2口输出地址的高八位。在给出地址“ 1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2口输出其特殊功能寄存器的内容。 P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是 8个带内部上拉电阻的双向 I/O口,可接收输出 4个TTL门电流。当 P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平, P3口将输出电流( ILL)这是由于上拉的缘故。P3口也可作为 AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE脉冲。如想禁止 ALE的输出可在 SFR8EH地址上置 0。此时,ALE只有在执行 MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态 ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次 /PSEN有效。但在访问外部数据存储器时, 这两次有效的 /PSEN17信号将不出现。/EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式 1时,/EA将内部锁定为 RESET;当/EA端保持高电平时,此间内部程序存储器。在 FLASH编程期间,此引脚也用于施加 12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。图3-289C51 引脚图3.1.2.晶振电路设计XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。183.2 信号检测电路设计根据系统总体方案,本系统需要进行温度检测,目前,非电量转化为电量的测量均采用传感器技术。热电偶是温度测量仪表中常用的测温元件,是由两种不同成分的导体两端接合成回路时,当两接合点热电偶温度不同时,就会在回路内产生热电流。如果热电偶的工作端与参比端存有温差时,显示仪表将会指示出热电偶产生的热电势所对应的温度值。热电偶的热电动热将随着测量端温度升高而增长,它的大小只与热电偶材料和两端的温度有关,与热电极的长度、直径无关。各种热电偶的外形常因需要而极不相同,但是它们的基本结构却大致相同,通常由热电极、绝缘套保护管和接线盒等主要部分组成,通常和显示仪表,记录仪表和电子调节器配套使用。热电偶是一种感温元件,是一种仪表。它直接测量温度,并把温度信号转换成热电动势信号,通过电气仪表(二次仪表)转换成被测介质的温度。热电偶测温的基本原理是两种不同成份的材质导体组成闭合回路,当两端存在温度梯度时,回路中就会有电流通过,此时两端之间就存在电动势——热电动势,这就是所谓的塞贝克效应(Seebeckeffect)。两种不同成份的均质导体为热电极,温度较高的一端为工作端,温度较低的一端为自由端,自由端通常处于某个恒定的温度下。根据热电动势与温度的函数关系,制成热电偶分度表;分度表是自由端温度在0℃时的条件下得到的,不同的热电偶具有不同的分度表。在热电偶回路中接入第三种金属材料时,只要该材料两个接点的温度相同,热电偶所产生的热电势将保持不变,即不受第三种金属接入回路中的影响。因此,在热电偶测温时,可接入测量仪表,测得热电动势后,即可知道被测介质的温度。热电偶测量温度时要求其冷端(测量端为热端,通过引线与测量电路连接的端称为冷端)的温度保持不变,其热电势大小才与测量温度呈一定的比例关系。若测量时,冷端的(环境)温度变化,将严重影响测量的准确性。在冷端采取一定措施补偿由于冷端温度变化造成的影响称为热电偶的冷端补偿。193.3 前向通道电路设计MC14433是美国Motorola公司推出的单片31/2位A/D转换器,其中集成了双积分式A/D转换器所有的CMOS模拟电路和数字电路。具有外接元件少,输入阻抗高,功耗低,电源电压范围宽,精度高等特点,并且具有自动校零和自动极性转换功能,只要外接少量的阻容件即可构成一个完整的 A/D转换器,其主要功能特性如下:精度:读数的±0.05%±1字模拟电压输入量程:1.999V和199.9mV两档转换速率:2-25次/s输入阻抗:大于1000MΩ输入阻抗:大于1000MΩ功耗:8mW(±5V电源电压时,典型值)功耗:8mW(±5V电源电压时,典型值)MC14433最主要的用途是数字电压表,数字温度计等各类数字化仪表及计算机数据采集系统的A/D转换接口。MC14433的引脚说明:图 3—5图3—5Pin1(VAG)—模拟地,为高科技阻输入端,被测电压和基准电压的接入地。[2]. Pin2(VR)—基准电压,此引脚为外接基准电压的输入端。 MC14433只要一个正基准电压即可测量正、负极性的电压。此外, VR端只要加上一个大于5个时钟周期的负脉冲 (VR),就能够复为至转换周期的起始点。[3].Pin3(Vx) —被测电压的输入端, MC14433属于双积分型 A/D转换器,20因而被测电压与基准电压有以下关系:式(1)因此,满量程的 Vx=VR。当满量程选为 1.999V,VR可取2.000V,而当满量程为199.9mV时,VR取200.0mV,在实际的应用电路中,根据需要,VR值可在200mV—2.000V之间选取。Pin4-Pin6(R1/C1,C1)—外接积分元件端。次三个引脚外接积分电阻和电容,积分电容一般选 0.1uF聚脂薄膜电容,如果需每秒转换 4次,时钟频率选为66kHz,在2.000V满量程时,电阻R1约为470kΩ,而满量程为200mV时,R1取27kΩ。[5]. Pin7、Pin8(C01、C02)—外接失调补偿电容端,电容一般也选 0.1uF聚脂薄膜电容即可。Pin9(DU)—更新显示控制端,此引脚用来控制转换结果的输出。如果在积分器反向积分周期之前,DU端输入一个正跳变脉冲,该转换周期所得到的结果将被送入输出锁存器,经多路开关选择后输出。否则继续输出上一个转换周期所测量的数据。这个作用可用于保存测量数据,若不需要保存数据而是直接输出测量数据,将DU端与EOC引脚直接短接即可。[7].Pin10、Pin11(CLK1、CLK0)—时钟外接元件端,MC14433内置了时钟振荡电路,对时钟频率要求不高的场合,可选择一个电阻即可设定时钟频率,时钟频率为66kHz时,外接电阻取300kΩ即可。LC电路,参考附若需要较高的时钟频率稳定度,则需采用外接石英晶体或图,图3—6图3—6Pin12(VEE—负电源端。VEE是整个电路的电压最低点,此引脚的电21流约为0.8mA,驱动电流并不流经此引脚,故对提供此负电压的电源供给电流要求不高。Pin13(Vss)—数字电路的负电源引脚。Vss工作电压范围为VDD-5V≥Vss≥VEE。除CLK0外,所有输出端均以Vss为低电平基准。Pin14(EOC)—转换周期结束标志位。每个转换周期结束时,EOC将输出一个正脉冲信号。Pin15(OR非)—过量程标志位,当|Vx|>VREF时,输出为低电平。Pin16、17、18、19(DS4、DS3、DS2、DS1)—多路选通脉冲输出端。DS1、DS2、DS3和DS4分别对应千位、百位、十位、个位选通信号。当某一位DS信号有效(高电平)时,所对应的数据从 Q0、Q1、Q2和Q3输出,两个选通脉冲之间的间隔为 2个时钟周期,以保证数据有充分的稳定时间。Pin20、21、22、23(Q0、Q1、Q2、Q3)—BCD码数据输出端。该A/D转换器以BCD码的方式输出,通过多路开关分时选通输出个位、十位、百位和千位的BCD数据。同时在DS1期间输出的千位BCD码还包含过量程、欠量程和极性标志信息,这些信息所代表的意义见下表。Pin24(VDD)—正电源电压端。3.4 控制电路设计固态继电器(SolidStateRelay,缩写SSR),是由微电子电路,分立电子器件,电力电子功率器件组成的无触点开关。用隔离器件实现了控制端与负载端的隔离。固态继电器的输入端用微小的控制信号,达到直接驱动大电流负载。固态继电器有三部分组成:输入电路,隔离(耦合)和输出电路。按输入电压的不同类别,输入电路可分为直流输入电路,交流输入电路和交直流输入电路三种。有些输入控制电路还具有与TTL/CMOS兼容,正负逻辑控制和反相等功能。固态继电器的输入与输出电路的隔离和耦合方式有光电耦合和变压器耦合两种。固态继电器的输出电路也可分为直流输出电路,交流输出电路和交直流输出电路等形式。交流输出时,通常使用两个可控硅或一个双向可控硅,直流输出时可使用双极性器件或功率场效应管。它是用半导体器件代替传统电接点作为切换装置的具有继电器特性的无触点开关器件,单相SSR为四端有源器件,其中两个输入控制端,两个输出端,输入输出间为光隔离,输入端加上直流或脉冲信号到一定电流值后,输出端就能从断态转变成通态。交流固态继电器按开关方式分有电压过零导通型(简称过零型)和随机导通型(简称随机型);按输出开关元件分有双向可控硅输出型(普通型)和单向可控硅反并联型(增强型);按安装方式分有印刷线路板上用的针插式(自然冷却,不必带散热器)和22固定在金属底板上的装置式(靠散热器冷却) ;另外输入端又有宽范围输入( DC3-32V)的恒流源型和串电阻限流型等。SSR固态继电器以触发形式,可分为零压型(Z)和调相型(P)两种。在输入端施加合适的控制信号IN时,P型SSR立即导通。当IN撤销后,负载电流低于双向可控硅维持电流时(交流换向),SSR关断。Z型SSR内部包括过零检测电路,在施加输入信号IN时,只有当负载电源电压达到过零区时,SSR才能导通,并有可能造成电源半个周期的最大延时。Z型SSR关断条件同P型,但由于负载工作电流近似正弦波,高次谐波干扰小,所以应用广泛。北京灵通电子公司的SSR由于采用输出器件不同,有普通型(S,采用双向可控硅元件)和增强型(HS,采用单向可控硅元件)之分。当加有感性负载时,在输入信号截止t1之前,双向可控硅导通,电流滞后电源电压90O(纯感时)。t1时刻,输入控制信号撤销,双向可控硅在小于维持电流时关断(t2),可控硅将承受电压上升率dv/dt很高的反向电压。这个电压将通过双向可控硅内部的结电容,正反馈到栅极。如果超过双向可控硅换向dv/dt指标(典型值10V/s,将引起换向恢复时间长甚至失败。单向可控硅(增强型SSR)由于处在单极性工作状态,此时只受静态电压上升率所限制(典型值200V/s),因此增强型固态继电器HS系列比普通型SSR的换向dv/dt指标提高了5-20倍。由于采用两只大功率单向可控硅反并联,改变了电流分配和导热条件,提高了SSR输出功率。增强型SSR在大功率应用场合,无论是感性负载还是阻性负载,耐电压、耐电流冲击及产品的可靠性,均超过普通固态继电器,并达到了进口产品的基本指标,是替代普通固态继电器的更新产品。3.5 外围设备接口电路的设计3.5.1 显示器接口电路设计这部分硬件设计利用 AT89C2051的串行口和移位寄存器 8255A作为四位静态显示的驱动接口,其所需显示的字符的各字段连续通过电流, 从而使显示的字段连续发光。由于显示位数只有四位,故采用静态显示,在发光二极管导通电流一定的情况下显示器的亮度大,显示稳定。 8255A是一个串行输入并行输出的移位寄存器。并带有清除端。8255A在使用前要写入一个方式控制字,选择 A、B、C三个端口各自的工作方式,共有三种 ;方式0:基本的输入输出方式,即无须联络就可以直接进行的 I/O 方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出。23方式1:选通I/O,此时接口和外围设备需联络信号进行协调,只有 A口和B口可以工作在方式 1,此时C口的某些线被规定为 A口或B口与外围设备的联络信号,余下的线只有基本的 I/O功能,即只工作在方式 0.方式2:双向I/O方式,只有 A口可以工作在这种方式,该 I/O线即可输入又可输出,此时 C口有5条线被规定为 A口和外围设备的双向联络线, C口剩下的三条线可作为 B口方式1的联络线,也可以和 B口一起方式 0的I/O线。8255A是一个并行输入、输出器件,具有 24个可编程设置的 I/O口,包括3组8位的I/O为PA口、PB口、PC口,又可分为 2组12位的I/O口:A组包括A口及C口高4位,B组包括B口及C组的低4位。系统在运行过程中,仅在需要更新显示内容时CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率。其串行口工作在方式0,数据由RXD串行的输出,TXD输出移位脉冲,使外部的移位寄存器移位,完成一个字节的输出,此时CPU自动置位发送中断标志TI,但此标志必须有软件清“0”。其显示电路图3-9:24图3-9显示电路图数码管的发光二极管电流不宜太大,以免被烧坏,因此需对其进行限流,一般电路是采用驱动加限流电阻,而数码管公共端接 +5V的电压(这里采用共阳级七段LED),这样每个数码管的每一段将挂上一个限流电阻,即有 32个限流电阻,硬件电路将被复杂化,占据了不少空间,故采用三端可调稳压器LM317进行分压处理,使其输出电压控V0=VR(1+R2/R1),输出端所接电容用于防止输出端自激,改善负载的瞬间响应。3.5.2. 键盘接口电路设计25键盘的输入部分主要作用是用键盘设定温度以及温度的上下限设定。温度的上下限设定包括四个按键。模式切换键:进行模式之间的切换,模式包括设置上限模式、设置温度下限模式,每次按下该键就在返两种模式之间切换。温度上下限增加键:增加温度上下限的值。温度上下限减少键:减少温度上下限的值。温控开关键:是温控与非温控之间的切换键。它用于设置,是否进行温度控制即是否让越界的温度值触发加热器的启动或停止。3.6报警电路报警电路由一个三极管和蜂呜器组成。当温度值在设定的范围时,单片机AT89C51的P3.7口高电平引脚始终保持高电平.当所采集的温度越限时, P3.7口便由高电平改为低电平,使三极管导通从而发山蜂鸣声进行报警来提醒操作人员实施相应的捕施。如图 3-10所示:26图3-10 报警模块27第4章系统软件设计4.1 总体设计思想烘干炉温控制是这样一个反馈调节过程:比较实际炉温和需要炉温得到偏差,通过对偏差的处理获得控制信号, 再去调节炉内的加热功率,从而实现对温度的控制。系统由温度传感器测温后,把电信号通过放大电路、A/D转换器传入到单片机,使用PID控制算法,由执行机构进行温度控制。温度控制电路采用可控硅调功率的方式。双向可控硅串在 50Hz交流电源和电加热管电路中,只要在给定周期里改变可控硅开关的接通时间,就能达到改变加热功率的目的,从而实现温度调节,如图5-1所示。为了达到过零触发的目的,需要交流电过零检测电路。此电路输出对应于50Hz交流电压过零时刻的脉冲,作为触发双向可控硅的同步脉冲,使可控硅在交流电压过零时刻触发导通。 此脉冲一路作为触发同步脉冲加到温控电路, 一路作为计数脉冲加到单片机 89C51的P3.4(T0)和P3.5(T1)输出端。28u12.5%0u
t25%0u
t50%0u
t...
100%0t图4-1可控硅调功器输出功率与通断电时间的关系系统控制程序采用两重中断嵌套方式来设计。首先使 T0定时器产生每秒一次的定时中断,作为本系统的采样周期。在其中断服务程序中启动 A/D,读入采样数据,进行数字滤波,上下限报警处理, PID计算等,然后输出控制脉冲信号。脉冲的宽度则有T1计数器溢出中断决定。在等待T1中断时,将本次采样数值转换成对应的温度值放入显示缓冲区,然后调用显示子程序。从 T1中断返回后,再从 T0中断返回主程序并继续显示本次采样温度,等待下次中断 T0。4.2 主程序设计本次系统包括主程序、初始化(8255A)、键盘/显示等程序。其中需要说明的是T1中断嵌套在T0中断之内,而T1的初值是由PID计算值决定的,所以PID的最大输出必须小于250,即保证在T0再次溢出中断之前,T1中断服务结束,并以T0中断返回到主程序,否则程序不能正常工作。图4-2单片机系统主程序流程图。图4-3T1中断程序。开始29设堆栈图4-2 单片机系统主程序流程图T1中断程序30清标志D5图4-3T1中断程序主程序模块包含的主要函数定义及功能 :初始化部分:函数定义:voidInitial(void);功能:对AT89C51CPU的主要寄存器进行初始化和全局变量赋初值,串口初始化。数据采集模块:A/D转换函数定义:intReadAD574(void)功能:启动刀D转换,将模拟电压信号转换成数字量。数据采集函数定义:voidDataGether(void)功能:完成对四通道数据的采集。3.数据存储函数定义:voidDataStore(void)功能:把四通道的数据存入外部数据存储器,并形成串行通讯协议要求的数据包。串行通讯中断模块:函数定义:voidserial()interrupt4using1功能:采用单片机的串口中断的方式进行通一讯,串口通讯采用方式 1。函数定义:voidsend_char_com(ucharch)功能:向串口发送个字节函数定义:voidsend_string_com(xdatauchar*str,uintstrlen)功能:向串日发送一个字符串314.3 数据采集及处理子程序设计4.3.1. 数据采集子程序设计测控系统中离不开传感器,由于各种传感器的工作原理不同,其最终输出的电量形式各不相同,为便于系统连接,通常要将传感器的输出变换成标准电压(如OV-10V)或标准电流(4mA-20mA),即便是这样,在与计算器相连时,还必须增加一个A/D环节MC14433模/数转换器为串行A/D,由它转换好的8位二进制数放在输出口寄存器中,且必须按一定的时序关系串行从DO端输出,因此必须编程将MC14433的输出读出来。其采样流程图如图4-3所示。这里采样连续进行了10次,以便对其采样值进行滤波处理,采样10次的只存在55H~5EH单元内.32采样值起始地址送 R0采样次数送 R2选通IN0启动mc14433延时NA/D完成?N所有采样结束Y返回图4-4采样流程图4.3.2. 数字滤波子程序生产现场由传感器检测到的信号不可避免地要混杂一些干扰信号, 在模拟控制系统里,都是由硬件组成的各种各样滤波器滤除干扰信号。在数字控制系统里,除一些必要的硬件滤波器外,很多滤波任务还需要由软件进行滤波。332CH)送AN2CH)≠(2DH)?YY2CH)>(2DH)?N2CH)和(2DH)互换N2DH)≠(2EH)?(2DH)送2AHYY2DH)>(2EH)?(2DH)送2AHNN2CH)≠(2EH)?(2EH)送2AHYN2EH)>(2CH)?Y(2EH)送2AH2(CH)送2AH返 回图4-6数字滤波子程序344.4 控制算法子程序设计4.4.1PID 算法程序(式2)式中:e(t)=r(t)-y(t)e(t)为偏差值;r(t)为给定值y(t)为控制变量的测值;u(t)为控制变量.式(1)经离散化后可得ui=ui+KP(ei-ei-1)+KIei+KD(ei-2ei-1+ei-2)=ui-1+a0ei-a1ei-1+a2ei-2 式中:a0=Kp+KD+KD;a1=Kp+2KD;a=KD.由于软件的灵活性,使数字PID具有很大的灵活性和适用性.本系统根据采样时刻的偏差值计算控制量,通过编程实现数字PID控制器,达到调节温度的目的.式(2)中系数a0,a1,a2可以离散化算出,加快了算法程序的运算速度.利用本系统的检测数据对烘干炉的工作进行针对性的检查,对检修质量进行统一监控,将为机务部门进行机车从计划修到状态修过渡提供科学依据.为此,必须提高检测和记录数据的精度以及可信性,并使数据格式化、标准化.检测数据的精度以及可信性主要受检测过程中误差的影响:如由随机干扰所引起的随机误差的影响,以及由作用时间较短的快速干扰(如A/D转换器的偶然出错等)所引起的粗大误差的影响.因此,充分利用误差的性质和特征,正确处理测得数据,减小或消除误差的影响,不仅可以提高记录数据的精度,而且可以提高偏差值的精度,从而保证检测工作质量和温度控制效果.实际数据处理过程中,采用不同方法减小和消除误差.粗大误差采用剔除法进行消除,而随机误差由于具有抵偿性,则采用加权平均值滤波的方法加以消除..加权平均值滤波方法的关键问题是确定检测次数n和权值p.根据随机误差的特征,可知n#10时,随机误差的标准差迅速递减,此时,n愈大,测量数据精度愈高,所以选取n=10;另外,为便于编程,各测得值的权值取整数。如图4-535图4-5PID算法流程图4.4.2 输出控制程序设计控制输出程序是根据中断服务程序中得到的采样温度值与键盘设定值比较的结果,对外部接口作控制处理,以决定可控硅电路的开端时间,只有在采样温度值和设定温度值达到相等时,才不再对可控硅进行控制。单片机的P1.7引脚用来为控制输出电路提供一电平信号。4.4.3 采样值调整程序热电偶传感器得到的电信号经模/数转换器后,成为对应的温度数值。由于TLC0831位8位逐次℃逼近式A/D,抗干扰性好。其输出范围在OOH~FFH(十六进制),即十进制O-255,而微电脑温度控制系统要求控制的温度范围在 25℃~150℃,因此必须对采样值进行换算,而不能直接采用。这样才能充分利用 A/D转换器的量程,保证控制的精度。采样调整程序流程图如图 4-6所示:36图4-6 采样调整程序流程图4.5 键盘显示子程序4.5.1 显示子程序设计显示硬件电路采用串行口上扩展多片串行输入并行输出的移位寄存器作为静态显示器接口,由于利用了 AT89C51的串行口,因此,在程序中当一个字节的数据输出完毕后,CPU硬件自动置位判断标志 T1,这样就需要通过软件查询来判断是否完成发送任务。同时,在显示程序中,字形码是通过查表的方式得到。由于显示值要求保留小数点后一位,因此在42H显缓区单元做了固定小数点显示的软件处理。此外显示为静态显示,为了维持显示效果,保持连续电流,所以采用了定时0.5S显示一次的程序控制。程序流程图如图 4-7所示:37显示子程序入口送设定值(70H)到A 送采集值(7H)到A带C标志移位 带C标志移位送C到I/O口 送C到I/O口否否(8次)字节送完?(8次)字节送完?是 是子程序结束图4-7 显示程序流程图4.5.2 键盘子程序设计键盘处理主要是对温度进行设定,由于硬件设计的键盘采用并行独立式,其中个键的功能分别为:加值、数字清零、移位和确定。因此软件上没有查键值的设计,38这样整个程序大大减小了复杂性。程序流程图如图 4-8所示:开始有键闭合否?N Y调用子程序延迟 12msN有键闭合否?Y判断闭合键键号→栈N闭合键释放?Y键入键号→A返回图4-8 键处理流程图39总 结烘干炉温控系统在实际工业生产中是十分普遍的,重要的一环,但也是很难做到真正精确控制的系统。本次毕业设计所设计的温控系统主要特点是体积小, 成本低,测量转换速度快,控制精度高。本系统采用了目前微机技术中最先进的小型化单片机 AT89C2051,它不仅与MCS-51单片机兼容,同时片内集成了 2K字节的闪烁程序存储 FLASHPEROM,且工作速度更高。根据采集到的温度值存在个别数据有较大偏差因此本软件采用比较取舍法有效地抑制了信号通道的干扰。 而PID非线性的整数点校正法更是将测量精度有效控制在±0.5范围内。这些都保证了系统有较高的可靠性和稳定性。然而,温度测量电路采用了传统的不平衡电桥法, 由于提供电桥基准电压的漂移和电桥测量本身具有非线性,因此给测量带来了误差,降低了测量精度.若能加入和软件相配合的硬件非线性改善电路,则高精度的测量结果将非常容易实现。因此这部分设计还有待于提高。同时,本程序的非线性调整只对整数点温度校正,所以它仅适用于温度变化范围较窄的测量系统。40参考文献《汽车电气电子控制系统》[J]人民交通出版社,1998《MCS-51单片机实用接口技术》[J]北京航空航天大学出版社,2001《转矩转速传感器》,[J]北京航空航天出版社,1998《微型计算机控制技术》[J]北京:清华大学出版社,2001《工业仪表与自动化装置》第2版.北京:机械工业出版社,2000《MSC-51单片机原理开发》第1版.北京:机械工业出版社,1997《模拟电子技术基础》第3版.北京:人民教育出版社,2000GammaE,HelmR,etal.DesignPatterns:ElementsofReusableObject2Orientedsoftware[M].AddisonWesleyProfessional,1994[9]MetskerSJ.DesignPatternsinC#[M]. 颜炯,译. 北京:中国电力出版社,2005.李时惠.计算机多点温度采集系统的设计与实现.计算技术与白动化.2001[11] 80C51一Baseds一itMicntllers ,PhiliPssemiconduCtors ,[M]1994ONCATempemmentIandk,OmeInrUments,Inc·chac.mr,JieNysuaiC开发工具使用指南.第一版.北京:机械工业出版社,1997赵文敏.用VB6.0开发粮库温度监测系统的监控软件.现代电子技术,2(X)1;胡铸生.我国涂装生产线概况及其发展探讨.涂装技术及其应用,1999:41附录A硬件原理图42附录B单片机系统软件源程序清单#include<reg52.h>#include<stdio.h>#include<stdib.h>#include<absacc.h>#defineADCOMXBYTE[0x4000]//使A0=0,R/C=0,/CS=0#defineADLOXBYTE[0x4003]//使R/C=1,A0=1,/CS=0#defineADHI XBYTE[0x4002]// 使R/C=0,A0=0,/CS=0#defineINBUF_LEN4// 数据长度#defineuint unsignedint#defineucharunsignedchar#defuneulongunsignedlong#defineLOWPOWER3Ucharinbuf1[INBUF_LEN];Ucharchecksum,count3;43Xdataucha*Buff;Uintidatavresult[4];Bitstart:Xdatauchar*verify_address;Xdatauint*Sampcyc;Sbitadbusy=p1^3SbitGether=pl^4Sbitfunush=P1^5向串口发送一个字符Voidsend_char_com(ucharch){Sbuf=chWhilc_T1=0;T1=0}向串口发送一个字符串,strlen为该字符串长度Voidsendstring_com(xdatauchar*str,uintstrlen){Uintk=0;Do{Send_char_com(*(ste+r))K++}while(k<strlen>}//((buff-0x5000)535=1)*35 向串口发送的发送数据的总字节数串口接收中断函数Voidserial()interrupt4using1{44If(ri){Ucharch;Ri=0Ch=sbufInbuf1[count3]=chIf(inbuf1[0]=0xAA{Xdatauchar*datahead:Xdataulong*datatai};Datahead=0X8000;Datatail=0x8004Sendstring com(*datahead.((*datatail-0x800)%35+1)*35)// 发送数据Inbuf1[0]=0// 清读数据内存Count3=0// 读数据个数清零}Else{Count3++If(count3==4// 接收数据满足长度{If(inbuf1[0]=char(0xbb){Checksum=0Checksum=inbuf1[1]Checksum=inbuf1[2]If(checksum=inbuf1[3])// 设定采样校验正确{45Xdatauchar*dataheadDatahead=0x8000*datahead=0xAADatahead=0x8001*datahead=0x8002*datahead=inbuf1[1]Datahead=0x8003*datahead=inbuf1[2];//写入设定值。发送正确消息‘CC’IntI;Ucharpf=0Datahead=0x8002For(i=0,i<32;i++){pf+*datahead;Datahead++}*datahead=pf;Send-char_com,char<0xcc);// 发送正确消息“CC”}Else//设定采样间隔校验错误{Send_char_com(char(0xDD));/ 发送错误消息“dd”}}Inbuf1[0]=0;/ 、清读数据内存Count3=0;//读数据个数清零}}If(inbuf1[0]!=0xbb)// 接收数据命令头不正确{46Inbuf1[0]=0;// 清读数据内存Count3=0;// 读数据个数清零 回到初始状态}}}Voidinit_serialcom(void){Scon=0x50;// 串口工作在方式 1Tmod=0x20//设定时器1工作在方式2Pocn=0x00Th1=0xfd// 波特率为9600Tr1=1// 启动定时器1Ie=0x90// 开串口中断}Voidinitia1(void){Checksum=0Count3=0Store_count=0Start=0;Init_serialcomm();}IntReadAD574(void){Inti:Floatsum=0YKFor(i=0I<10i++){ADbusy=1;//启动AD47Delay(1);// 延时ADCOM=0While(adbusy=1):Sum+=ADHI*256+ADLO;//转换为16位二进制数}Y=sum/10;// 均值滤波Returny;}Voiddelay(inttimes)// 毫秒延时{IntiTmod=1;tro=1For(i=0:i<times;i++)[Tho=-(1000/256)Tlo=-(1000%256)While(itfo)Tfo=0;}}Voiddatagether(void){P1=0xf8;/ 选择第一通道Vresult[0]=readad574()// 保存数据Delay(1);// 延时1MSP1=0xf9Vresult[1]=readad574()Delat(1)P1=0xfa48Vresult[2]=readad574()Delay(1)P1=0xfbVresult(3)=readad574()Delay(1)}Voiddatastore()// 将四通道数据存入存储器,并求校验{Uchari:Store_count+=// 数据包存储位置 记录当前数据包的位置If(store_count=1)// 生成数据包头,每包中校验的存储位置{*buff=0xaaBuff++*buff=0xaaBuff++Verify-address=buff;// 每包中校验和的存储位置}*buff=(uchar)vresult[0];// 将1通道的温度值存储到片外数据存储区Buff+=2*buff=(uchar)vresult[1];//j 将2通道的温度值存储到片外数据存储区Buff=2;*buff=(uchar)vresult[2];// 将3通道的温度值存储到片外数据存储区Buff+=2;*buff=(uchar)vresult[3];// 将4通道的温度值存储到片外数据存储区Buff+=2;Ucharpf=0For(i=0;i<32;i++){Pf=*verify_address;49Verify_address++;}*verify_address=pf;If(store_count=4){Store_count=0Buff++;}elseverify_address=32VoidEndprogram(void){Xdataulong*datahead;// 发送数据最后一个字节的地址Ucharpf=0Datahead=0x8004;//%datahead=buff;// 保存发送数据最后一个字节的地址,用来计算要发送数据个数Xdatauchar*circhesumCirchesum=0x8002For(i=0;i<32;i++){Pf+=*circhesum;Circhesum}Circhesum=pf;// 保存第一包数据的校验和Break;}Voidmain(void){Initial()Sampcyc=0x800250Bitgather_start=falseWhile(1){If9gerther=1){Delay(10);// 延时If(gether=10start_1Buff=0x8023;// 数据缓冲区首地址}If(start){P1=0xf8If(readad574<>=2524gatherstar=1Delay(1)}While(gather_start){Datagether()Datasave()Delay(*sampcyc*1000-9)If(finish=1){Delay(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年浙科版高二地理下册月考试卷含答案
- 二零二五年度出租车经营权转让合同范本4篇
- 2025年粤教版选修2地理上册月考试卷含答案
- 2025年上教版六年级数学下册月考试卷含答案
- 二零二五年度海鲜水产直销配送合同3篇
- 2025年苏教版八年级地理上册月考试卷
- 2025年华师大版七年级物理上册月考试卷
- 2025年粤人版九年级历史上册阶段测试试卷含答案
- 2025年度个人与公司承包教育信息化项目承包合同范本2篇
- 2025年统编版2024七年级生物上册阶段测试试卷含答案
- 2024年6月浙江省高考地理试卷真题(含答案逐题解析)
- 医院培训课件:《如何撰写护理科研标书》
- 员工宿舍用电安全培训
- 家庭年度盘点模板
- 河南省郑州市2023-2024学年高二上学期期末考试 数学 含答案
- 2024年北师大版八年级上册全册数学单元测试题含答案
- 江苏省南京市第二十九中2025届数学高二上期末学业质量监测模拟试题含解析
- 八年级下学期期末考试语文试题(PDF版含答案)
- 2024年公需科目培训考试题及答案
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- 2024年江苏鑫财国有资产运营有限公司招聘笔试冲刺题(带答案解析)
评论
0/150
提交评论