本科论文--锅炉温度监控系统_第1页
本科论文--锅炉温度监控系统_第2页
本科论文--锅炉温度监控系统_第3页
本科论文--锅炉温度监控系统_第4页
本科论文--锅炉温度监控系统_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学士学位论文 I 摘 要 锅炉是人类供热,取暖的主要来源,随着生产力的发展和对锅炉容量,参数要求的不断提高,锅炉容量和技术得到迅速发展,越来越智能化。 本课题的设计正是基于智能化这个目的,在本设计中利用 铂电阻 采集锅炉房内的各个点的温度给单片机,由单片机通过 LED 显示屏直观准确的进行显示,并且把采集到的数据通过 RS485 传输到上位机,使人在电脑面前就能观测到锅炉房内的温度情况,而且监测人员可以通过电脑把监测时间内任意时刻的温度曲线调出,便于前后对照,为以后的维修提供了数据保障。而且在本设计中使用了 DS1302 时钟芯片,使检 测人员可以在现场知道准确的时间,时钟的调节可以通过上位机进行实现。上位机传送给单片机的修正值存储在 E2PROM 93C46 中,单片机每次开机时便读取其中数据修改 PT100 所测得的温度值,减少环境和仪器造成的误差,为监测人员提供更准确的温度数据。 通过本设计监测人员可以远程监控锅炉房内的温度,为锅炉管理提供了方便。 关键词: 铂电阻 ; 单片机;温度采集 学士学位论文 II Abstract Boiler is used to supply heat for people. With automatic technology and information technologys development, the management of boiler will be more and more intelligent. In our designing ,basis on the object of intelligent. we use platinum resistance to collect some pointss temperature of stokenhold, then microcontroller receives the temperature and show it by LED, and microcontroller send the temperature to monitoring computer by RS-485 communication protocol. So the manager can watch boilers condition from monitoring computer,and the watcher can check every times temperature at every moment. And we used DS1302 as time chip, the watchers can know time in locale, even we can adjust time through monitoring computer. Monitoring computer send a correct number to the microcontroller, and the microcontroller save this number to 93C46.While the microcontroller start up again ,it will read the correct number from 93C46 to redress the temperature get by PT100 to reduce error worked by environment and instrument. It will supply more correct temperature number to the managers. Through our designing, the watcher can watch and control stokenhold in long-distance, it provide convenience to managers. Key words: Platinum resistance; Microcontroller ;Temperature collection 学士学位论文 III 目录 引 言 . 1 1 系统硬件组成 . 3 1.1 系统各部分工作原理 . 3 1.1.1 总体硬件架构 . 3 1.1.2 硬件电路工作原理 . 4 1.2 芯片选型及功能简介 . 4 1.2.1 SM8952 内部结构 . 4 1.2.2 12 位 A/D 转换器 MCP3204 . 9 1.2.3 串入并出显示芯片 74HC595 . 14 1.2.4 通信结构 . 15 1.2.5 LED 显示屏 . 16 1.2.6 时钟芯片 DS1302 . 17 1.2.7 存储芯片 93C46. 18 2 软件设计 . 21 2.1 软件开发平台 . 21 2.2 软件设计时序解析 . 23 2.3 主程序流程图 . 24 2.4 串行通讯流程图 . 25 2.5 T0 中断流程图和 74HC595 串入并出温度显示程序流程图 . 26 2.6 74HC595 串入并出时间显示程序流程图 . 27 2.7 时间调节程序流程图 . 28 3 软件调试 . 31 3.1 调试过程概述 . 31 3.2 程序调试中出现的问题及改进方案 . 33 总 结 . 35 致 谢 . 36 参考文献 . 37 附 录 . 38 学士学位论文 IV 附录 A . 38 附录 A.1 英文原文 . 38 附录 A.2 汉语翻译 . 44 沈阳理工大学学士学位论文 1 引 言 在自动控制领域中,温度检测与控制占有很重要地位。温度测控系统在工农业生产、科学研究和人们的生活领域,也得到了广泛的应用。 在大多数测控系统中,温度都是必不可少的检测量,温度传感器也是测控系统中十分 重要的传感器件。随着数字化传感器技术的不断发展,出现了各种类型的数字温度传感器。数字温度传感器可以直接将被检测的温度信息以数字化形式输出,与传统的模拟式温度传感器相比,具有测量精度高、功耗低、稳定性好、外围接口电路简单特点。而 且 单片机微处理器越来越丰富的外围功能模块,更加方便了数字式温度传感器输出信号的处理 。本设计正是用 单片机微处理器来实现对温度的检测。尽管目前市场上针对温度测量的检测仪器不在少数,而且,其制作的水平无论在工艺还是在测量的精度上都不断的在提高,但要得到高精度、宽量程以及多通道的温度检测仪,价 格都十分昂贵,本文的立足点是,运用比较常规的温度传感器以及价格低廉的电子元件构成低成本、高性能的智能系统。 本系统是为北方的供暖锅炉设计的回水温度检测系统。在我国北方绝大部分地区冬天要靠供暖锅炉来解决供暖问题,在供暖锅炉车间需要知道从用户返回来的水的温度,从而对锅炉的运作进行相应的调整。本系统在锅炉车间安装了大的 LED 显示屏,用来给操作工人提供可以参考的信息。同时数据也可以传送给计算机,使得决策者可以不用到车间就能够知道锅炉的回水温度情况。 在本次毕业设计中,我严格按照毕业设计任务书的要求,在指导教师的引导 下,按时完成了设计。用 PT100 与辅助测量电路将 -40100 温度信号转换成 05V 的电压信号, 12 位 A/D 转换器将模拟信号转换成 0 4095 的数字信号,经过查表分段插值转换成温度,总计可以采集现场的 8 路温度,测得温度的精度可以达到 0.1 。通信模块部分将温度值通过 RS485 通信的方式上传给上位机。本设计基于铂电阻测温原理 ,以SM89C52 单片机为控制核心,利用串行接口 12 位 A/D 转换器 MCP3204 等芯片组成来实现铂电阻测温过程,并通过 LED 数码管来实现字符的显示 , ,顺利的完成单片机软件部分的设计 ,并 结合硬件电路原理图根据所要实现的功能利用其程序设计经过调试之后做成了有实用价值的铂电阻测温显示屏,从而实现了从理论与实践相结合的这一过程。 本系统软件采用单片机 C 程序设计,因为随着市场竞争的日趋激烈,电子工程师需要能在短时间内编写出执行效率高、运行可靠的代码。同时,由于实际系统的日趋复杂,使得代码的规范性、模块化的要求越来越高,以方便多个工程师以软件工程的形式进行沈阳理工大学学士学位论文 2 协同开发,而 C 语言的结构化和高效性满足了这样的需要所以选用 C 语言进行嵌入式系统的开发。 沈阳理工大学学士学位论文 3 第 1 章 硬件原理 1.1 系统工作原理 1.1.1 硬件结构 本设计主要以 SM8952 单片机为控制核心 , 利用三线制电桥设计铂电阻测温电路,通过桥式电路转换为电压信号,再经过放大及 A/D 转换后送单片机进行处理。系统主要由铂电阻测温电路、放大电路,时钟电路,复位按扭,电源组成。并通过 LED 数码管来实现字符的显示,用 12 位 A/D 转换器 MCP3204 以实现模数转换。 测温仪的系统硬件结构框图如图 1.1 所示。考虑到功耗及整机的精度和价格等问题 ,测温仪的单片机控制器采用 51 系列单片机。测温系统采用不平衡电 桥测量铂电阻随温度变化的电压信号 ,经过放大、 A/D 转换后 ,送到单片机中进行处理和显示。采集时显示最值温度 ,超过设定值则报警。本测温仪通过 RS485 通信方式与计算机进行通信 ,上位机负责设置采集开始时间、采集间隔时间等参数 ,并读取下位机数据 ,进行数据分析和处理。 图 1.1 系统硬件结构框图 时钟电 路 铂电阻测温电路 放大电路 A/D 转换电路 AT89C52 单片机 LED 显示 计算机通信 ( RS485) 沈阳理工大学学士学位论文 4 1.1.2 硬件工作原理 铂电阻是将 0.05 0.07的铂丝绕在线圈骨架上封装在玻璃或陶瓷管等保护管内构成。温度范围在 -40 650 以内,铂电阻一般是三线制,其中一端接一根引线另一端接二根引线,主要为远距离测量消除引线电阻对桥臂的影响 (近距离可用二线制,导线电阻忽略不计。 )。 由 Pt100 温度传感器采集到锅炉的回水温度电压信号,经过运算放大器、 A/D 转换器,得到相应的数字信号,由单片机对数据进行处理,经通信电路实现对计算机的通信,以及由 LED 数码管组成的显示电路显示所测温度。 由于铂电阻传感器的非线形特性易产生测量误差,本设计通过采用查表线性化法得出温度各点对应的 A/D 转换值 ,并且利用软件算法实现了电路中各参数的自适应调整选取 ,在尽可能 提高分辨率的情况下使设计的电路在给定的温度范围内各点的分辨率近似相等 ,从而方便了硬件电路的设计和电阻的选取 ,也减小了铂电阻测温电路的非线性误差。 1.2 芯片选型及功能简介 1.2.1 SM8952 内部结构 SM8952 是 内含 8 k 内存 的 8 位单片机。它所具有的硬件特性和一套强大的指令集使它成为一种通用并且经济的处理器。这是我们在本设计中选择它的原因。并且它拥有的 32 个 I O 口以及 8k 内存使它适合于混合运算和复数运算。 特性: * 工作电压: 3.0 3.6 V 在 L 版本中 ; 4.5 5.5V 在 C 版本中 ; * 与其他 8952 系列单片机兼容 ; * 一个机器周期包含 12 个时钟周期 ; * 8k 的内部存储空间 ; * 256 bytes 数据储存空间 ; * 3 个 16 bit 定时记数器 ; * 4 组 8 bit I O 口 ; 沈阳理工大学学士学位论文 5 * 全双工串行通讯 ; * 位操作指令集 ; * 内存空间页跳跃 ; * 8 bit 无符号乘法 ; * BCD 算法 ; * 直接寻址 ; * 间接寻址 * 嵌套中断; * 两个中断优先集; * 1 个 串行通讯接 口; * 省电模式 * 代码保护模式; * 1 个看门狗系统; * 低电磁干扰; 芯片结构图 : 图 1.2 8952 的结构图 沈阳理工大学学士学位论文 6 单片机内部结构图 : 图 1.3 单片机内部结构图 看门狗 ( WDT )系统描述: 看门狗系统 ( WDT )是一个一旦溢出便会产生重启信号的 16 位自由执行计数器。看门狗经常用于易受噪声干扰,电源故障,放电影响而产生程序死循环或是失控的系统中。它可以帮助系统使用者将程序从失控状态恢复到正常状态。看门狗不同于 8952 系统的定时器 1,定时器 2,和定时器 3 。为了防止看门狗由于 溢出发出重启信号可以周期性沈阳理工大学学士学位论文 7 的将看门狗系统的计数器清零 7。 SM8952A 的看门狗系统拥有可选择源时钟的输入。可以通过设置看门狗控制寄存器( WDTC )的 PS2 PS0 进行控制。 看们狗系统的执行可以通过将( WDTC )的第 7 个 bit( WDTE ) 置 1 实现。当 WDTE置 1 后, 16 位计数器便从 PS2 PS0 选择的基数开始计时。如果溢出出则产生重启信号。当 SM8951A SM8952A 重启后 WDTE被置 0。硬件重启或 WDT重启也会使 WDTE置 0; 重启 WDT可以通过将 WDTC 的第 5 位( CLEAR )置 1。这可以清空 16 位计数器并且让其从起始点开始计数。 WDTC: 图 1.4 WDTC 内部结构 PS2 PS0 : 图 1.5 PS2 至 PS0 不同值时的选择结果 看门狗系统系 统控制寄存器( SCNOF, $BF): 图 1.6 看门狗系统 系统控制寄存器( SCNOF, $BF)内部结构 沈阳理工大学学士学位论文 8 WDR: 看门狗系统重启位,当系统由于看门狗计数器溢出而重启时 WDR置 1; ALEI: ALE输出抑制位,减少电磁干扰; SCNOF 的第 7 位是看门狗系统重启位。当看 门狗系统因为溢出产生重启信号时这一位便置 1 ;用户可以通过查看这一位检查是否有不可预知的重启产生。 减少电磁干扰功能: SM8952A 允许用户通过将 SCNOF 的第 0 位 ( ALEI )置 1 来实现减少电磁干扰功能。此项功能会将 ALE 口的时钟信号抑制成 Fosc 6Hz 。但此项功能只有在无外部程序存储器或外部数据存储器的情况下才可以使用。 1.2.2 12 位 A/D 转换器 MCP3204 MCP3204 是逐步求近的 12 位模拟数据( A/D)转换器,带有片内采样和保持电路,MCP3204 经编程可以提供两对伪差 分输入通道或者四条单端输入通道,与器件的通信可以使用与 SPI 协议兼容的简易串行接口进行,器件的转换率可达 100Ksps, MCP3204在宽电压范围内( 2.7V 5.5V)工作,低电流设计使器件可在典型值分别为 500nA 和320uA 的待机电流和有效电流条件下工作 8。 MCP3204 同时提供数字与模拟接地连线,这样可以提供另外的方法来减少噪声,模拟与数字电路相对于器件在内部是各自分开的。这样减少了从器件的数字部分耦合到器件模拟部分的噪声。这两条地线通过电路板基低在内部连接,基底电阻为 5-10。如果不使 用接地层,则这两条地线必须连接到电路板上的 VSS。如果有接地层,则数字与模拟接地引脚都要连接到模拟接地层。如果同时具模拟与数字接地层,则数字与模拟接地引脚也应连接到模拟接地层。采取这些步骤可以减少数字噪声的数量,这些数字噪声从电路板其他部分出发将耦合到 A/D 转换器。 MCP3204 的引脚说明如图 沈阳理工大学学士学位论文 9 名称 功能 VDD +2.7V 到 5.5V供电电源 DGND 数字接地 AGND 模拟接地 CH0-CH7 模拟输入 CLK 串行时钟 DIN 串行数据输入 DOUT 串行数据输出 /CS/SHDN 片选 /关断输入 VREF 基准电压输入 图 1.7 MCP3204 引脚说明 由于我们所要测量的温度为 -40100 ,精度要求为 0.1 。所以 MCP3204 的 12 位精度足以满足系统的要求。该芯片的参考电压选择 +5V。 MCP3204 可以编程配置为 2 路伪差分输入偏置或 4 路单端输入 。 其差分非线性度( DNL)和整体非线性度( INL)为 1LSB。该系列工作原理和操作方 简单灵活 ,下面介绍 一下 MCP3204 芯片的 A/D 转换器的特点 : ( 1)单电源工作,工作电压范围宽,可在 2.7V5.5V 电压间工作; ( 2)功耗低,激活工作电流仅为 400A,而维持工作电流仅 0.5A; ( 3)工作方式灵活,单端输入工作方式和准差分输入工作方式可通过命令设置,其中准差分输入工作方式能有效抑制输入端共模干扰的影响; ( 4)与微处理器采用 SPI 接口总线通讯,为微处理器节约了口线,同时也使数据采集更加方便; ( 5)几乎无外围器件,从而 减少了由于外围器件而引入的干扰和误差,同时也提高了可靠性; ( 6) 有 ESD 保护,所有管脚均能随 4kV 静电释放; ( 7)转换速度可达 100kHz; ( 8)适应温度范围宽, 可在 -40 85 摄氏度之间工作 ; ( 9) 性价比高 ,现时零售价低于 30 元人民币 ,且性能较好。 由于 这些特点能够满足系统的要求,因此它成为了本次设计 A/D 部分的首选器件 。 沈阳理工大学学士学位论文 10 MCP3204 主要由输入通道选通开关、采样保持单元、数据转换器( DAC) 、比较器、 12 位逐次逼近寄存器( SAR)、控制逻辑单元和移位寄存器等部分组成,如图 1.5所示。其 转换原理是:通过比较器,利用已知的标准电压与被测电压进行比较,当被测电压与标准电压相等时,则该标准电压即为 A/D 转换的结果。标准电压是按照二进制编码变化的可变量,通常它是由逐次逼近寄存器 SAR 和 DAC 产生的。 SAR 用于产生一个二进制编码的数字量, DAC 将这个数字量转换成模拟电压即为标准电压, SAR的位数决定了 A/D 转换器的分辨率,同时 SAR的位数又决定了 A/D 转换器完成一次转换过程中标准电压与被测电压比较的次数,也就是说决定了完成一次 A/D 转换的所需要的时间。每次进行 A/D 转换的通道号,通过控制逻辑选取。而 转换后的二进制数据,则通过移位寄 存器串行 口 输出。 转换输出数据: (1.1) 式中:inV:从 CH0 CH3 输入的模拟电压; REFV : 输入 5V 参考电压。 图 1.8 MCP3204 内部结构图 REFinV V4096沈阳理工大学学士学位论文 11 A/D 转换的计算公式简介:对所用芯片 MCP3204 的引脚来说,REFV指的是 AD 输出的最大值表示的电压, AGND 指的是 AD 输出最小值表示的电压,因为该芯片的精度为 12,所以其分辨率为 122 即 4096,所谓的分辨率就是可在REFV和 AGND 之间分成 的最小区间的个数,所以每个区间的大小的电压值为 4 0 9 6)( AGN DV R E F (1.2) 则已知的电压 inV=AD 值 4096)( AGNDVREF (1.3) 所以可以得到经过 AD 转换器后的 AD 值。 需要指出的是: ( 1)当 MCP3204 接收命令数据时,时钟 CLK 的上升沿有效;当 MCP3204 输出转换后的数据时,时钟 CLK 的下降沿有效。 ( 2)当采样结束后,读取所有 12 位转换数据必须在 1.2ms 时间内完成,否则将影响转换精度。 ( 3)当 MCP3204 所在电路板有一地线层时,模拟地 AGND 管脚与数字地 DGND管脚应当连接到模拟地线层;当所在电路板有模拟地线层和数字地线层时, AGDN 管脚和 DGND 管脚将连接到模拟地线层;当所在电路板没有地线层时,必须将 AGND 管脚和 DGND 管脚一起连到电路板的地线SSV上,这将有效减少数字噪声耦合到 A/D 转换器上的机会。 A/D 转换原理分析 模数转换是将模拟入信号转换为 N 位二进制数字输出信号的技术。模 数转换包括采样、保持、量化和编程四个过程。采样就是将一个连续变化的信号 x (t) 转换成时间上离散的采样信号 x (n) 。通常采样脉冲的宽度 tw 是很短的 ,故采样输出是断续的窄脉冲。要把一个采样输出信号数字化 ,需要将采样输出所得的瞬时模拟信号保持一段时间 ,这就是保持过程。量化是将连续幅度的抽样信号转换成离散时间、离散幅度的数字信号 ,量化的主要问题就是量化误差。编码是将量化后的信号编码成二进制代码输出。这些过程有些是合并进行的。例如 ,采样和保持就利用一个电路连接完成 ,量化和编码也是在转换过程同时实现的 ,且所用 时间又是保持时间的一部分。 逐次逼近式 A/D转换原理 2 本设计采用 MCP3204逐次逼近型 ADC, 逐次逼近型 ADC 包括 1个比较器、 1个数模转换器、 1个逐次逼近寄存器 ( SAR) 和 1个逻辑控制单元 ,如图 1.13 所示。转换中的逐次沈阳理工大学学士学位论文 12 逼近是按对分原理 ,由控制逻辑电路完成的。其大致过程如下 :启动转换后 ,控制逻辑电路首先把逐次逼近寄存器的最高位置 1 ,其它位置 0 ,逐次逼近寄存器的这个内容经数模转换后得到约为满量程输出一半的电压值。这个电压值在比较器中与输入信号进行比较。比较器的输出反馈到数模转换器 ,并在下一 次比较前对其进行修正。在逻辑控制电路的时钟驱动下 ,逐次逼近寄存器不断进行比较和移位操作 ,直到完成最低有效位 (LSB)的转换。这时逐次逼近寄存器的各位值均已确定 ,逐次逼近转换完成。由于逐次逼近型模数 ADC在 1个时钟周期内只能完成 1位转换。 N位转换需要 N个时钟周期 ,故这种模数转换器采样速率不高 ,输入带宽也较低。它的优点是原理简单 ,便于实现 ,不存在延迟问题 ,适用于中速率而分辨率要求较高的场合。 A/D转换器的性能指标 ( 1)转换速度( Conversion Rate) 转换速度是指完成一次 A/D转换所需时间的倒数, 是一个很重要的指标。 ADC型号不同,转换速度差别很大。通常, 8位逐次比较式 ADC的转换时间为 100us左右选用 ADC型应实现场需要而定。在控制时间允许情况下,应尽量选用便宜的逐次比较式 A/D转换器。 ( 2)转换精度 (Conversion Accuracy) ADC的转换精度有模拟误差和数字误差组成。模拟误差是比较器、解码网络中电阻值以及基准电压波动等引起的误差。数字误差主要包括丢失码误差和量化误差,前者属于非固定误差,由器件质量决定,后者和 ADC输出数字量位数有关,位数越多,误差越小。 在 A/D转换过程中, 模拟量是一种连续变化的量,数字量是断续的量。因此, A/D转换位数固定后,并不会所有模拟电压都能用数字量精确表示的。例如:假定三位二进制 A/D转换器的满量程值为 VFS为 7V,即输入电压为 0V、 1V、 2V、 3V、 4V、 5V、 6V、7V时,三位数字量恰好只能有 8种组合。如果模拟输入电压为其余值就会产生量化误差,输入模拟电压为 0.5V、 1.5V、 2.5V、 3.5V、 4.5V、 5.5V、 6.5V时量化误差最大,应当是0.5V。顾量化误差的定义是分辨率之半,其计算公式为: 2 1 2FSNVQ (1.4) 硬件系统中 PT100 的 A/D 值与温度的关系如下表 : 沈阳理工大学学士学位论文 13 表 1.1 PT100 的 A/D 值与温度的对照表 A/D 值 温度值 A/D 值 温度值 A/D 值 温度值 A/D 值 温度值 360 -111 1275 -5 2232 35 3200 75 407 -40 1372 0 2356 40 3326 80 502 -35 1497 5 2475 45 3440 85 627 -30 1620 10 2600 50 3558 90 752 -25 1746 15 2720 55 3680 95 875 -20 1866 20 2842 60 3799 100 998 -15 1989 25 2960 65 4000 101 1123 -10 2112 30 3084 70 1.2.3 串入并出芯片 74HC595 74HC595 是个 8 位的、带 8 位输出锁存器、三态输出的串行输入 /串行或并行输出的移位寄存器。三态输出是指带有 8 个三态门具有三态输出功能。串行端没有三态输出功能。该器件与 74HC164 相比,突出的优点是:由于有输出锁 存器,当串行数据移入移位寄存器的过程中, 8 位并行输出端 (Q0Q7)的数据不变化。只有当锁存时钟来时,才把移位寄存器中的数据并行地送入 8 位输出锁存器中。 因此 74HC595 中的移位寄存器接收串行的数据输入,同时提供了一个串行的数据输出,移位寄存器还提供并行的数据输出到 8 位输出锁存器,而且移位寄存器和输出锁存器各有自己的时钟输入脚,所以可互不影响。移位寄存器还有一个复位控制输入脚,以便复位(清零)移位寄存器的内容。 74HC595 的主要特性: ( 1) 输出驱动能力: 15 个 LSTTL负载; ( 2) 输出脚可直接 与 CMOS、 NMOS 和 TTL 电路相连; ( 3) 工作电压范围: 2V6V; ( 4) 工作温度范围:对于陶瓷封装(后缀为 J)、塑料封装(后缀为 N)和扁平封装 (后缀为的 D)的产品,均为 -55 +125 ; ( 5) 低的输入电流: 1A ; 沈阳理工大学学士学位论文 14 ( 6) 高的噪声抑制能力。 74HC595 可在串行外围接口上扩展并行输出口,除了可允许再扩展其他串行接口外,还有一个优点,就是在 执行串行数据传送时,输出口上的数据不会产生脉动,它们在 RCLK 上跳时才一次性的改变为新的输出值。 1.2.4 通信电路 本系统采用 RS 485 接口芯 片 MAX487 作为通讯口。 MAX487 是 MAXIM 公司生产的用于 RS 485 和 RS 422 通信的差分总线小功率收发器,它含有一个驱动器和一个接收器,具有驱动器接收器使能功能,输入阻抗为 1 4 负载( 48kW),节点数为 128,即每个 MAX487 的驱动器可驱动 128 个标准负载。 MAX487 的驱动器设计成限斜率方式,使输出信号边沿不至于过陡,以避免在传输线产生过多的高频分量,从而有效扼制了干扰现象。 MAX487 的接收灵敏度为 200mV,即接收端的差分电压200mV 时,接收器输出为高电平, 200mV 时 接收器输出为低电平,介于 200mV之间时接收器输出为不确定状态,因此,一旦某个节点的接收器在总线空闲、传输线开路或短路时产生低电平,将使串行接收器找不到起始位,从而引起通信异常,为此,本系统在硬件上作了处理:将 MAX487 的 A、 B输出端加接上拉、下拉电阻,保证在发出有效数据时所有接收器能接收到完整的数据。 MAX487 静态工作电流为 120 A, 5V单电源工作,在本系统中, MAX487 采用半双工通信方式,各节点间的通信通过一对双绞线作为传输介质,因双绞线的特性阻抗为120,因此系统在 MAX487 的始端和末 端各接一个 120电阻以减少线路上传输信号的反射。由于主机与分机相隔较远,而分机系统上电或复位又常常不在同一时刻完成,如在此时某个 MAX487 处于发送状态,将占用通信总线而使其它分机无法与主机进行通信,本系统在 89C52 与 MAX487 之间加接光耦,保证了系统上电复位时 MAX487 的DE 端为“ 0”,有效解决了这个问题。 RS-485收发器分别采用平衡发送和差分接收,即在发送端驱动器将 TTL电平信号转换成差分信号输出,在输出端将差分信号变成 TTL电平。因此,具有将强的电平信号转换成差分信号的能力,与此同时,提高 接收器的灵敏度,能检测至 200mv的电压,所以数据传输可达千米以外, RS-485许多电器规定与 RS-485相仿,例如,都采用平衡传输方式,都需要在传输线上连接终接电阻等。最简单的 RS-485通信电缆有两条信号线路组成,沈阳理工大学学士学位论文 15 通信电缆必须接大地参考点,这样的连接线路能支持 32对发送 /接收端,为了避免地面电流,每个设备一定要接大地,另外,通信电缆应包括第三信号参考线,连接到每个设备的电缆地,若用屏蔽电缆,屏蔽应接到电缆设备的机壳。 RS-485可采用二线制或四线制连接方式,二线制连接方式能实现真正的多点双向通信,采用 四线制连接方式时,只能实现一对多点的通信,即只能有一个主设备,其余为从设备。无论采用那种方式总线上可连接多达 32个设备。 RS-485驱动器输出电压在 -7+12V之间, RS-485接受器最小输入阻抗为 12K。 RS-485的最大传输速率为 10Mb/s,当波特率为 1200b/s时,最大传输距离理论上可达 15Km。平衡双绞线的长度与传输速率成反比,在 100Kb/s速率下,才可能使用规定最长的电缆长度。 用 51 单片机实现与 PC 机之间的通讯时,必须使用电平转换接口芯片,因为单片机输出的是 TTL电平,必须经过电平转换 才能和 PC 机的一致。本文中采用的是 RS 485 协议,所以单片机需要采用 RS 485 接口;而在 本设计中 PC 机侧使用的是 RS 232 与 RS485 的电平转换接口。 1.2.5 LED 显示屏 LED显示器是用发光二极管构成的显示器 ,为了适应不同电路的需要 ,根据构成 LED显示器的发光二极管公共极的极性 ,有共阴极和共阳极两种形式。对共阴极数码管 ,公共阴极接地 ,当各段阴极上的电平为高电平时 ,该段接通亮 ,电平为 0 时 ,该段关断不亮。对共阳极数码管则刚好相反 ,高电平不亮 ,低电平时亮。这种器件根据显示数位分类 ,可以分为一位 ,双位和多位 LED显示器 ,一位 LED显示器就称作 LED数码管 ,两位以上的一般就称作 LED 显示器。 在本设计中采用的是共阳极 LED 显示器。 要驱动 LED 显示器显示相应字符 ,必须通过接口向其提供字符的笔段字型码和数位代码。当 LED 显示器用于微处理器或微控制器应用系统时 ,利用微处理器的强大功能通过软件查表方式对所需要显示的字符到笔段字型码的变换实现译码不是一件困难的事 ,所以目前大多数嵌入式系统应用都是采用这种软件译码方式。 LED 显示器驱动方式可以分为静态驱动和动态驱动两种。静态显示驱动一般是通过数字集成电路对 所需要显示的字符笔段连续施加电压 ;而动态显示驱动则是利用矩阵扫描方式间断向需要显示的字符笔段轮流施加电压。 沈阳理工大学学士学位论文 16 静态显示 ,就是当显示器显示某一字符时 ,相应段的发光二极管恒定地导通或截止 ,并且显示器的各位可同时显示。静态显示时 ,较小的驱动电流就能得到较高的显示亮度。当LED 显示器工作于静态显示驱动方式时 ,不同数位的 LED 数码管的公共极 (共阳极或共阴极 )将被连接在一起并接地或 +5V,而每个数位的 8 根笔段线分别与一个 8 位锁存器相连。不同数位的数码管相互独立 ,分别用不同的驱动器件进行驱动 ,它们的显示字符一旦确定 ,只要不 改变显示字符 ,相应的锁存器的输出就将一直维持不变。 这种驱动方式的优点是编程容易、管理简单、显示亮度高、稳定性好、占用 CPU时间较少 ,其缺点是占用硬件电路和微处理系统接口资源较多、引线多、印刷板布线复杂 ,硬件投入成本高。 动态显示就是一位一位地轮流点亮显示器的各个位 (扫描 ),对于显示器的每一位而言 ,每隔一端时间点亮一次。显示器的亮度既与导通电流有关 ,也与点亮时间和时间间隔的比例有关 ,当 LED显示器工作于动态显示驱动方式时 ,通常把不同数位的同名笔段互连起来 ,共用一个显示驱动器。每一个数位上的字符显示都需要靠笔 段字形驱动和数位驱动相结合 ,如果需要在不同数位上显示不同的字符 ,可以依次传送需要显示字符笔段的字形码 ,接着选通相应数位显示该位字符 ,利用人眼的视觉暂留现象 ,只要扫描间隔时间恰当 ,就会感觉到不同数位上在同时稳定地显示不同的字符。 动态显示驱动方式的优点是引线少 ,结构简单 ,硬件成本相对较低。其缺点是需要不断刷新 ,当采用软件扫描时 ,占用 CPU 的时间较多 ,当采用硬件扫描时 ,又会增加硬件成本 ,LED 显示数位越多 ,显示亮度越低 ,若处理不好或数位太多将会引起显示闪烁。 显示板设计 单片机将采集的温度信号转化成显示码,传送 到显示板,经由移位寄存器 74HC595芯片控制共阳极 LED 数码管显示。 沈阳理工大学学士学位论文 17 数据输出同步脉冲串行时钟数据输入同步脉冲串行时钟74 HC 595 74 HC 595 74 HC 595符号位 数码管 1 数码管 2 数码管 3其中 7 位控制数码管 11 位控制符号位8 位控制数码管 2有小数点8 位控制数码管 3有小数点图 1.9 显示板设计 1.2.6 时钟芯片 DS1302 DS1302是美国 DALLAS公司推出的一种高性能、低功耗、带 RAM的实时时钟芯片,它可以对年、月、日、周日、时、分、秒进行计时,且具有闰年补偿功能,工作电压宽达 2.5 5.5V。采用三线接口与 CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或 RAM数据。 DS1302内部有一个 318的用于临时性存放数据的 RAM寄存器。 DS1302是 DS1202的升级产品,与 DS1202兼容,但增加了主电源后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。 DS1302共有 12个寄存器,其中有 7个寄存器与日历、时钟相关,存放的数据位为 BCD 码形式。此外, DS1302 还有年份寄存器、控制寄存器、充电寄存器、时钟突发寄存器及与 RAM相关的寄存器等。时钟突发寄存器可一次性顺序读写除充电寄存器外的所有寄存器内容。 DS1302 与 RAM 相关的寄存器分为两类,一类是单个 RAM单元,共 31个,每个单元组态为一个 8位的字节,其命令控制字为 COHFDH,其中奇数为读操作,偶数为写操作;再一类为突发方式下的 RAM寄存器,此方式下可一次性读写所有的 RAM 的31 个字节,命令控制字为 FEH(写)、 FFH(读)。 DS1302在测量系统中的硬件电路如图, DS1302与 CPU的连接仅需要三条线,即沈阳理工大学学士学位论文 18 SCLK( 7)、 I/O(6)、 RST( 5)。 Vcc2在单电源与电池供电的系统中提供低电源并提供低功率的电池备份。 Vcc在双电源系统中提供主电源,在这种运用方式下 B1连接到备份电源,以便在没有主电源的情况下能保存时间信息以及数据。 DS1302由 B1或 Vcc两者中的 较大者供电。当 Vcc大于 B1+0.2V时, Vcc给 DS1302供电。当 Vcc小于 B1时 , DS1302由B1供电。 图 1.10 DS1302 的电路设计 DS1302在应用中注意的几个问题: 1 DS1302每次上电时自动处于暂停状态,必须将秒寄存器的 D7位改置为 0始终电路才开始记时工作。 2 解除写保护寄存器的禁止状态,使之内容为 00。 3 用多字节模式对时钟 /日历寄存器进行写操作时要求必须写满 8个数据否则无效。 4 当 /RST被驱动到 1态时, SCLK必须保护在 0电平。 5 在元件的上电过程中,在电源电压达到 2.5 之前, /RST 必须保持低电平,这可通过单片机先上电, DS1302 后上电的次序或其他附加电路解决。 1.2.7 存储芯片 93C46 93C46 是一种存储器 ,可以定义为 16 位 ORG 引脚接 Vcc,或者定义为 8 位 ORG 引脚接 GND 的 1K 位的串行 E2PROM,每一个的存储器都可以通过 DI 引脚或 DO 引脚进行写入或读出,每一片 93C46 都是采用先进的 CMOS E2PROM 浮动门工艺加工器件。可以经受 1,000,000 次的写入 /擦除操作,片内数据保存寿命达到 100 年,器件可提供的沈阳理工大学学士学位论文 19 封装有 DIP-8 , SOIC-8 , TSSOP-8。 器件特性: 高速度操作; 93C46 1MHz; 低功耗工艺; 电源电压宽 1.8 伏到 6.0 伏; 存储器可选择 8 位或者 16 位结构; 写入时自动清除存储器内容; 硬件和软件写保护; 慢上电写保护; 1,000,000 次写入 /擦除周期; 100 年数据保存寿命; 商业级工业级和汽车级温度范围; 图 1.11 93C46引脚图 说明当注意: ORG 接 Vcc 时存储器为 16 位结构 ,当 ORG 接 GND 是存储器为 8 位结构 ;当 ORG引脚悬空时内部的上拉电阻把存储器选择为 16 位结构。 沈阳理工大学学士学位论文 20 图 1.12 93C46 管脚说明 沈阳理工大学学士学位论文 21 第 2 章 软件设计 2.1 软件开发平台及 C 介绍 KEIL51 是德国 KEIL公司开发的单片机 C 语言编译器,其前身是 FRANKLIN C51,现在的最新版本 V7 功能已经相当不错,特别是兼容 ANSI C 后又增加很多与硬件密切相关的编译特性,使得在 8051 系列单片机上开发应用 程序更为方便和快捷。 u Vision2是一种集成化的文件管理编译环境,本设计使用的编译环境 KEIL51, 集成了文件编辑处理、编译链接、项目管理、窗口、工具管理和软件仿真调试等多种功能,是相当大的C51 开发工具。 在 KEIL 的仿真功能中,有两种仿真模式:软件模拟方式和目标板调试方式。在软件模拟方式下,不需要任何 8051 单片机硬件即可完成用户程序仿真调试,极大地提高了用户程序开发效率。在目标板调试方式下,用户可以将程序装到自己的8051 单 片机系统版上,利用 8051 的串口与 PC 机进行通信来实现用户程序的实时在线仿真 。 6 在国内,汇编语言仍然是比较流行的开发工具。长期以来对编译效率的偏见,以及不少程序员对使用汇编开发硬件系统的习惯性,使 C 语言在不少地方遭到冷落。诚然,优秀程序员写出的汇编语言程序的确有执行效率高的优点,但其可移植性和可读性差,使其开发出来的产品在维护和功能升级方面都有极大的困难,从而导致整个系统的可靠性和可维护性也比较差。而使用 C 语言进行嵌入式系统的开发,有着汇编语言编程所不、可比拟的优势 1 编程调试灵活方便 C 语言编程灵活,同时,当前几乎所有嵌入式系统都有相应的 C 语言级别的仿真调试系统,调试十 分方便。 生成的代码编译效率高 当前较好的 C 语言编译系统编译出来的代码效率只比直接使用汇编低 20%如果使用优化编译选项甚至可以更低。 2 模块化开发 目前的软硬件开发都向模块化、可复用性的目标集中。不管是硬件还是软件,都希望其有比较通用的接口在以后的开发中如果需要实现相同或者相近的功能,就可以直接使用以前开发过的模块,尽量不做或者少做改动,以减少重复劳动。如果使用 C 语言开沈阳理工大学学士学位论文 22 发,数据交换可方便地通过约定实现,有利于多人协同进行大项目的合作开发。同时,C 语言的模块化开发方式使开发出来的程序模块可不经修改,直接被 其他项目所用,这样就可以很好地利用已有的大量 C 程序资源与丰富的库函数,从而最大程度地实现资源共享。 3 可移植性好 由于不同系列的嵌入式系统的 C 语言编译工具都是以 ANSI-C 作为基础进行开发的,因此,一种 C 语言环境下所编写的 C 语言程序,只需将部分与硬件相关的地方和编译连接的参数进行适当修改,就可方便移植到另外一种系列上,例如 , C51 下编写的程序通过改写头文件以及少量的程序行,就可方便移植到 196 或 PIC 系列上。也就是说,基于 C 语言环境下的嵌入式系统能基本达到平台的无关性。 C 语言允许直接访问物理地址,可以 直接对硬件进行操作因此既具有高级语言的 功能,又具有低级语言的许多功能,能够 像 汇编语言一样对位、字节和地址进行操作 ,而这三者是计算机最基本的工作单元,可以用来写系统软件。 4 便于项目维护管理 用 C 语言开发的代码便于开发小组计划项目、灵活管理、分工合作以及后期维护,基本上可以杜绝因开发人员变化而给项目进度、后期维护或升级所带来的影响。从而保证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论