《多点温度巡回检测系统的设计--论文.doc》由会员分享,可在线阅读,更多相关《多点温度巡回检测系统的设计--论文.doc(23页珍藏版)》请在三一文库上搜索。
1、多点温度巡回检测系统的设计 目 录 1 引言 1 1.1 本设计的意义 1 1.2 国内外现状分析 1 1.3 论文的主要内容 2 2 系统总体方案设计 2 3 硬件部分设计 3 3.1 AT89C51 介绍.3 3.1.1 主要性能 3 3.1.2 引脚功能说明 4 3.2 传感器模块部分设计 4 3.2.1 AD590 主要特性.5 3.2.2 与 ADC0809 接口 6 3.3 数模转换部分硬件设计 6 3.3.1 ADC0809 介绍.7 3.3.2 ADC0809 各管脚功能.7 3.3.3 硬件连接电路 8 3.4 LED 显示电路的设计.9 3.4.1 LED 数码管.9 3.
2、4.2 LED 数码管编码方式10 3.4.3 LED 数码管显示方式和典型应用电路11 3.5 报警电路的设计 .12 3.6 整体电路图 .13 4 软件部分设计 .14 4.1 A/D 转换程序流程图14 4.2 显示程序流程图 .14 4.3 报警程序流程图 .15 4.4 主程序流程图 .15 结束语 .18 参考文献 .19 附录 .20 致谢 .23 多点温度巡回检测系统的设计 1 1 引言 1.1 本设计的意义 随着电子技术、计算机技术、通信技术的迅速发展,工业测控领域采用先进的技 术对现场的工业生产参数进行检测,监测是实现工业自动化的重要标志。据不完全统 计,在工业生产中被监
3、测最多的参数应该是压力、流量、温度三大参数。无论在石油、 化工、煤炭、水利等行业,还是电力、机械、航空、国防等部门,都离不开对这些参 数的监测。当然除此之外,还有诸如液位、扭矩、密度、浓度、速度、位移、距离、 电参数等众多物理参数的监测,但用的最多的恐怕还是温度的监测,可以说温度的测 量是一个“永恒”的话题。温度测量的领域十分广泛,其实,不仅在工业领域,而且 在民用领域、军用领域,温度的测量随处可见。在工业领域,电力系统的安全运行关 系到整个工业的发展和人民生活的稳定,其中一个重要的方面是电气设备自身的安全 运行,由于绝大多数的电气设备采用封闭式结构,散热效果差,热积累大,并长期处 于高电压、
4、大电流和满负荷运行,其结果造成热量集结加剧,温升直接危害电器设备 的绝缘,这就要求对电气设备的温度状况进行测量控制。如发电厂的发电机组随着电 压增高和容量增大,解决定子铁心和绕组温升的问题就日益突出。对全封闭的高压开 关电器,也存在对其开关触头温度的监测问题,电机的轴温,胶带滚筒的表面温度, 工业冷却循环水温,加热设备的炉温,啤酒的麦芽发酵温度,各种化工原料在化学反 应时控制的温度等等。在民用领域,超市的食品架内温度,人们生活空间环境的温度, 空调的控制温度,人体繁荣体温检测,冰箱、冰柜的温度测量等等。随着计算机的发 展,程序控制也逐渐成为了工业生产中的主要角色,各种各样的检测系统应运而生。
5、基于单片机的温度检测系统具有以前温度检测所无法具有的优点,因为系统为程序控 制,所以实现形式非常灵活,而且可以实现很多新功能,而且对于日益复杂化的工业 生产,对于多点温度检测的需求也很大程度上提高了。单片机系统具有体积小,功耗 小的特点,而且可以对采集的数据进行软件处理,所以用单片机进行多路温度检测, 具有非常实际的意义。 1.2 国内外现状分析 随着世界进入信息化时代,自动化、信息化成为世界各国发展重要方向之一。传 感器作为自动化和信息系统的前端器件,是制造业自动化和信息化的基础;现代传感 器技术集约了多种学科的尖端成果、是国际上发展最迅速的高新技术之一;是传统产 业技术改造和升级的“功效倍
6、增器”,成为衡量一个国家科技发展的重要指标。单片 机是完全按嵌入式系统要求设计的单芯片形态的嵌入式系统,它广泛应用在中、小型 工控领域,是电子系统智能化的最重要的 多点温度巡回检测系统的设计 2 工具。温度传感器也从传统类型向集成化、微型化、多功能发展,且随着材料行业对 传感器敏感材料进一步的开发,传感器新敏感材料不断推出,高新材料已广泛用于新 型传感器制造研发中,如光纤传感器,光纤传感器等等,我国与国外先进国家相比, 还处于落后状态。本设计主要涉及到微控制器和温度传感器的应用。二者的发展直接 影响着温度检测方面的设计和应用。 1.3 论文的主要内容 本文首先介绍了本设计的现实意义,然后分析了
7、在国内外的现状。从整体方案上 给出介绍,即先介绍系统整体方案,给出系统方框图,按模块化划分,逐个模块介绍, 然后总体说明。第三部分是硬件部分设计,系统详细的介绍设计中的主控单元-单 片机及各个模块,包括传感器模块的设计,数模转换部分硬件设计,显示部分电路设 计,报警电路的设计等等,最后给出整个系统的电路原理图。第四部分是软件部分的 设计,其中涵盖了,主程序流程图、A/D 转换程序流程图、显示程序流程图、报警程序 流程图等及相关流程图的文字说明。 2 系统总体方案设计 温度采集A/D转换 单片机送显示 告警 超 出范围 图 1 设计框图 如图 1 所示,本设计共有五部分组成:温度采集,A/D 转
8、换,单片机,显示电路, 告警电路等,其中温度采集主要由 AD590 组成,把热力学温度信号转换成电流信号, 然后放大,经电阻分压获得电压信号,送入 A/D 转换电路即 ADC0809 后得到 8 位的数 字温度信号,送入单片机,由单片机的 TXD,RXD 串行(高位在前,地位在后)送入显 示电路显示,并且判断是否超出设定范围,若超出设定范围,由单片机启动告警电路, 告警。 本设计是模拟温度的显示,温度经过 AD590 转换为电流信号,经放大器放大后通 过电阻转换成电压信号,进入 ADC0809 进行 A/D 转换成数字量,送入单片机后输出到静 态显示部分,显示其温度值。在该设计中,显示部分采用
9、 74LS164 串联组成驱动 LED 部分,这样既达到显示的目的又节省了 I/O 口,使设计简单明了。 由于本设计的对单 片机可靠性要求不高,本着简单实用出发, 复位电路设计为上电复位 。 多点温度巡回检测系统的设计 3 ADC0809 进行 A/D 转换后,输出的是并行 8 位数据,直接送入单片机节省硬件设施 且使编程简单,为实现多路巡回检测,通过 P0.0P0.2 控制 74LS373 来达到设计目的。 其中温度范围的计算原理:首先把 A/D 转换中电位器顺时针旋到底,即模拟信号 的输入不衰减,选取两个温度状态 T1T2,分别测量出其模拟输出电压 V1V2;根据 ADC0809 的输入范
10、围在 0 到 5 伏,即可计算出温度极限。 0 伏时对应的温度 TL:T1-(V1-0) (T2-T1)/(V2-V1) 5 伏时对应的温度 TH:T1-(V1-5) (T2-T1)/(V2-V1) 本设计中近似计算 TH为 150,TL为-50。 程序中温度的计算原理:首先用温度范围除以 0 到 256(即每个十六进制数的温度 增长率) ,然后乘以模拟转换的数字量,即得到升高的温度,再和最低温度相加,就可 以得到实际的温度值。其公式为:TL+AX(TH-TL)/256 TL:显示的最低温度 TH:显示的最高温度 AX:模拟电压所转换的数字量 在 A/D 转换实验模块中模拟信号输入端的电位器可
11、调节电压输入,用以模拟低温 状态下的温度显示,当电位器顺时针旋到底时,输入信号不衰减,显示温度与室温相 对应,用做数字显示温度表。 3 硬件部分设计 3.1 AT89C51 介绍 AT89C51 是一种低功耗/低电压、高性能的 8 位单片机。片内带有一个 4KB 的 Flash 可编程、可擦除只读存储器(EPROM) 。它采用了 CMOS 工艺和 ATMEL 公司的高密 度非易失性存储器(NURAM)技术,而且其输出引脚和指令系统都与 MSC-51 兼容。片 内的 Flash 存储器允许在系统内改编程序或用常规的非易失性存储器编程器来编程。 因此 AT89C51/LV51 是一种功能强、灵活性
12、高,且价格合理的单片机,可方便地应用在 各种控制领域。 3.1.1 主要性能 4KB 可改编程序 Flash 存储器(可经受 1000 次的写入擦除) 全静态工作:0Hz24MHz 3 级程序存储器保密 1288 字节内部 RAM 32 条可编程 I/O 线 多点温度巡回检测系统的设计 4 2 个 16 位定时器/计数器 6 个中断源 可编程串行通道 片内时钟振荡器 3.1.2 引脚功能说明 图 2 是 AT89C51 的引脚结构图,下面分别简单的介绍这些引脚的功能。 (1) 主电源引脚 VCC:电源端。 1 GND:接地端。 2 (2) 外接晶体引脚 XTAL1 和 XTAL2 (3) 控制
13、或与其他电源复用引脚 RST,ALE/PROG,/EA /Vpp 图 2 AT89C51 的引脚结构 ALE/PROG:当访问外部存储器时,ALE(地址锁存允许)的输出用于锁存地址的 1 低位字节。 在对 Flash 存储器编程期间,该引脚还用于输入编程脉冲(/PROG) 。 /PSEN:程序存储允许(/PSEN)输出是外部程序存储器的读选通信号。 2 /EA/Vpp:外部访问允许端。 3 当/EA 端保持高电平(接 Vcc 端)时,CPU 则执行内部程序存储器中的程序。 在 Flash 存储器编程期间,该引脚也用于施加 12V 的编程允许电源 Vpp(如果选用 12V 编程) 。 (4) 输
14、入/输出引脚 P0. .0P0. .7,P1. .0P1. .7,P2. .0P2. .7 和 P3. .0P3. .7。其中 P3 端口还用于一些复用功能。 3.2 传感器模块部分设计 多点温度巡回检测系统的设计 5 AD590 是美国模拟器件公司的电流输出型温度传感器,供电电压范围为 330V, 输出电流 223A(-50C)423A(+150C),灵敏度为 1A/C。当在电路中串接采 样电阻 R 时,R 两端的电压可作为输出电压。注意 R 的阻值不能取得太大,以保证 AD590 两端电压不低于 3V。AD590 输出电流信号传输距离可达到 1km 以上。作为一种高 阻电流源,最高可达 2
15、0M,所以它不必考虑选择开关或 CMOS 多路转换器所引入的附 加电阻造成的误差。适用于多点温度测量和远距离温度测量的控制。 3.2.1 AD590 主要特性 (1) 流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数,即: Ir/T= mA/K 式中: Ir-流过器件(AD590)的电流,单位为 mA;T-热力学温度, 单位为 K。 (2) AD590 的测温范围为-55C+150C。 (3) AD590 的电源电压范围为 4V30V。 电源电压可在 4V6V 范围变化,电流 变化 1mA,相当于温度变化 1K。AD590 可以 承受 44V 正向电压和 20V 反向电压,因而
16、器件反接也不会被损坏。 (4) 输出电阻为 710MW。 (5) 精度高。 AD590 共有 I、J、K、L、M 五档,其中 M 档精度最高,在-55C+150C 范围内, 非线性误差为0.3C。 AD590 的封装形式和基本应用电路如图 3: a)封装形式 b)基本应用电路 图 3 AD590 的封装及基本应用电路 在本设计中,使用 AD590 对温度进行采集,即通道 AD590 把摄氏温度信号转换成 多点温度巡回检测系统的设计 6 电流信号,经电阻分压,最总转换成电压信号,送到 ADC0809。其电路如图 4 所示。 图 4 温度采集电路图 其中,R1 用来调节运放的输入电压,经运放发大后
17、达到 ADC0809 的转换电压。 3.2.2 与 ADC0809 接口 AD590 作为温度采集器件,把热力学温度转换成电流信号,送入运算放大器放大, 然后经电阻转换成电压信号,送入 ADC0809.图 5 中给出一路温度采集电路与 ADC0809 的方式。要实现多路温度的采集,只需在 ADC0809 的输入端连接多路温度采集电路即 可。 图 5 ADC0809 与 AD590 的接口电路 3.3 数模转换部分硬件设计 多点温度巡回检测系统的设计 7 将模拟信号转换成数字信号的电路,称为模数转换器(简称 A/D 转换器或 ADC,Analog to Digital Converter) ;将
18、数字信号转换为模拟信号的电路称为数模转 换器(简称 D/A 转换器或 DAC,Digital to Analog Converter) ;A/D 转换器和 D/A 转 换器已成为计算机系统中不可缺少的接口电路。 为确保系统处理结果的精确度,A/D 转换器和 D/A 转换器必须具有足够的转换精度; 如果要实现快速变化信号的实时控制与检测,A/D 与 D/A 转换器还要求具有较高的转换 速度。转换精度与转换速度是衡量 A/D 与 D/A 转换器的重要技术指标。 随着集成技术 的发展,现已研制和生产出许多单片的和混合集成型的 A/D 和 D/A 转换器,它们具有 愈来愈先进的技术指标。这里采用 AD
19、C0809 芯片来进行模数转换。 3.3.1 ADC0809 介绍 ADC0809 是 8 位 CMOS 逐次逼近式 A/D 转换器。内部有 8 路模拟量输入和 8 位数字 量输出的 A/D 转换器,它是美国国家半导体公司的产品,是目前国内最广泛的 8 位通 用的 A/D 转换的芯片。其结构图如图 6 所示。 外部时钟输入端,时钟频率高,A/D 转换速度快。允许范围为 101280KHZ,典型 值为 640KHZ,此时,A/D 转换时间为 10us。通常由 MCS-51 型单片机 ALE 端直接或分频 后与其相连。当 MCS-51 型单片机无读写外,RAM 操作时,ALE 信号固定为 CPU
20、时钟频 率的 1/6,若单片机外接的晶振为 6MHZ,则 1/6 为 1MHZ,A/D 转换时间为 64us。 3.3.2 ADC0809 各管脚功能 ADC0809 采用双列直插式封装,共有 28 条引脚,如图 7 所示。 多点温度巡回检测系统的设计 8 图 6 ADC0809 结构图 (1) IN0-IN7:IN0IN7 为 8 路模拟电压输入线,用于输入被转换的模拟电压 (2) ADDA,ADDB,ADDC: 三位地址输入端。八路模拟信号转换选择同由 A,B,C 决定。A 为低位,C 为高位。 (3) CLOCK:时钟信号。最高允许值为 640kHz。 (4) D0-D7:数字量输出端,
21、A/D 转换的结果由这几个端口输出。 图 7 ADC0809 引脚图 (5) OE:A/D 转换结果输出允许控制端,当 OE 端为高电平时,允许将 A/D 转换结 果从 D0D7 端输出。 (6) ALE: 地址锁存允许信号。八路模拟通道地址由 A,B,C 输入在 ADC0809 的 ALE 信号有效时,将该八路地址锁存。 (7) START: 启动 A/D 转换信号。当 START 端输入一个正脉冲时,立即启动 ADC0809 进行 A/D 转换。 (8) EOC: A/D 转换结束信号,是芯片的输出信号。转换开始后,EOC 信号变低; 转换结束时,EOC 返回高电平。这个信号可以作为 A/
22、D 转换器的状态信号来查询,也可 以直接用作中断请求信号。 (9) VREF+,VREF-:正负基准电压输入端。 (10) VCC,GND :正电源电压端和地端。 3.3.3 硬件连接电路 ADC0809 与 89C51 连接可采用查询方式,也可以采用中断方式。图 8 所示 为中断 方式连接电路图。由于 ADC0809 片内有三态输出锁存器,因此,可直接与 89C51 接口。 多点温度巡回检测系统的设计 9 这里将 ADC0809 作为一个外部扩展并行 I/O 口,采用线选法寻址。由 P2.0 和/WR 联合控制启动转换信号端(START)和 ALE 端,低三位地址线加到 ADC0809 的
23、ADDA、ADDB 和 ADDC 端,所以,选中 ADC0809 的 IN0 通道的地址为 0FEFBH。 启动 ADC0809 的工作过程是:先送通道号地址到 ADDA、ADDB 和 ADDC;由 ALE 信号 锁存通道号地址后,让 START 有效;启动 A/D 转换,即执行“MOVX DPTR,A” 。 指令产生/WR 信号,使 ALE 和 START 有效;锁存通道号并启动 A/D 转换。A/D 转换 完毕,EOC 端发出一正脉冲,申请中断。在中端服务程序中, “MOV A,DPTR”指令产生 /RD 信号,使 OE 端有效,打开输出锁存器三态门,8 位数据便读入到 CPU 中。 AD
24、C0809 的时钟取自 89C51 的 ALE 经二分频后的信号。当 A/D 转换完毕,89C51 读 取转换后的数字量时,须使用“MOVX A,DPTR”指令。这样就完成了 ADC0809 与 89C51 的连接及工作过程。 图 8 ADC0809 与单片机的连接图 3.4 LED 显示电路的设计 在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用 LED 数码 管是一种较好的选择。LED 数码管显示清晰、成本低廉、配置灵活,与单片机接口简单 易行。 多点温度巡回检测系统的设计 10 3.4.13.4.1 LEDLED 数码管数码管 LED 数码管是由发光二极管作为显示字段的数码
25、型显示器件。图 9 中 a 为 0.5inLED 数码管的外形和引脚图,其中七只发光二极管分别对应 ag 笔段构成“ ” 字形另一只发光二极管 Dp 作为小数点。因此这种 LED 显示器称为七段数码管或八段数 数码。LED 数码管按电路中的连接方式可以分为共阴型和共型两大类,如图 9 中 b、c 所示。共阳型是将各段发光二极管的正极连在一起,作为公共端 COM,公共端 COM 接高 电平,ag、Dp 各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光, 高电平时不发光。控制某几段笔段发光,就能显示出某个数码或字符。共阴型是将各 数码发光二极管的负极连在一起,作为公共端 COM 接地,
26、某笔段通过限流电阻接高电 平时发光。 LED 数码管按其外形尺寸有多种形式,使用较多的是 0.5in 和 0.8in;按显示颜色 也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电 流显示亮度不一样,这是因发光二极管的材料不一样而引起的。 LED 数码管的使用与发光二极管相同,根据其材料不同正向压降一般为 1.52V 额 定电流为 10mA,最大电流为 40mA。静态显示时取 10mA 为宜,动态扫描显示可加大, 可脉冲电流,但一般不超过 40mA。 a)外形和引脚 b)共阴极结构 c)共阳极结构 图 9 数码管及其结构 3.4.23.4.2 LEDLED 数码管编码方
27、式数码管编码方式 当 LED 数码管与单片机相联时,一般将 LED 数码管的各笔段引脚 a、b、g、Dp 按某一顺序接到 MCS51 型单片机某一个并行 I/O 口 D0、D1、D7,当该 I/O 口输 出某一特定数据时,就能使 LED 数码管显示出某个字符。例如要使共阳极 LED 数码管 显示“0” ,则 a、b、c、d、e、f 各笔段引脚为低电平,g 和 Dp 为高电平。 LED 数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可 多点温度巡回检测系统的设计 11 分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按 a、b、g、Dp 编码顺序是高位
28、在前,还是低位在前,又可分为顺序字段码和逆序字 段码。甚至在某些特殊情况下将 a、b、g、Dp 顺序打乱编码。表 1 为共阴和共阳 LED 数码管几种八段编码表。这里采用共阴极数码管的编码方式。 表 1 共阴和共阳 LED 数码管几种八段编码 共阴顺序小数点暗共阴逆序小数点暗 Dp g f e d c b a 16 进 制 a b c d e f g dp 16 进 制 共阳 顺序 小数 点亮 共阳 顺序 小数 点暗 0 0 0 1 1 1 1 1 1 3FH1 1 1 1 1 1 0 0FCH40HC0 H 1 0 0 0 0 0 1 1 0 06H0 1 1 0 0 0 0 0 60H79
29、HF9 H 2 0 1 0 1 1 0 1 1 5BH1 1 0 1 1 0 1 0DAH24HA4 H 3 0 1 0 0 1 1 1 1 4FH1 1 1 1 0 0 1 0F2H30HB0 H 4 0 1 1 0 0 1 1 0 66H0 1 1 0 0 1 1 066H19 H99 H 5 0 1 1 0 1 1 0 1 6DH1 0 1 1 0 1 1 0B6H12 H92 H 6 0 1 1 1 1 1 0 1 7DH1 0 1 1 1 1 1 0BEH02 H82 H 7 0 0 0 0 0 1 1 1 07H1 1 1 0 0 0 0 0E0H78 HF8 H 8 0 1 1
30、1 1 1 1 1 7FH1 1 1 1 1 1 1 0FEH00 H80 H 9 0 1 1 0 1 1 1 1 6FH1 1 1 1 0 1 1 0F6H10 H90 H 3.4.33.4.3 LEDLED 数码管显示方式和典型应用电路数码管显示方式和典型应用电路 LED 数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。在 本设计中,使用的是静态显示方式,这里主要介绍静态显示方式及其电路连接。静态 多点温度巡回检测系统的设计 12 显示在本设计中如图 10 所示。 一般情况,在静态显示方式下,每一位显示器的字段需要一个 8 位 I/O 口控制, 而且该 I/O 口须有锁存
31、功能,N 位显示器就需要 N 个 8 位 I/O 口,公共端可直接接 +5V(共阳)或接地(共阴) 。显示时,每一位字段码分别从 I/O 控制口输出,保持不 变直至 CPU 刷新显示为止。也就是各字段的亮灭状态不变。此种情况下,静态显示方 式编程较简单,但占用 I/O 口线多,即软件简单、硬件成本高,一般适用显示位数较 少的场合。但是,利用 74LS164 串入并处的特点设计的静态显示,可以轻而易举的解 决静态显示占用 I/O 口多的问题,同时,编程也没动态显示那么复杂! 图 10 显示电路图 图 10 是该应用的典型电路图,也是在本设计中要用到的显示电路,图中 CLOCK 为 74LS164
32、 提供其工作的脉冲信号,SERIAL NUM 是从单片机输出的要显示的串行数据。 3.5 报警电路的设计 告警在设计电路中,被广泛的应用,简单实用。当温度、压力、转速等等超出了 设置的限度,有可能对设备、人或其他造成危害;所以,当检测到温度、压力、转速 等大于期望的范围时,由相关电路触发三极管的基极,使三极管导通,继电器吸合, 指示灯亮,同时蜂鸣器响,发出告警信号。其电路如图 11 所示。 多点温度巡回检测系统的设计 13 图 11 告警电路 在本设计中,告警电路与单片机的连接如图 12 所示 ,单片机把接收来的数字温度 信号与所设置的温度信号比较,一旦发现超出了设定的范围,由单片机的 P3.
33、4 引脚置 高电平,驱动三极管(9013) ,使继电器吸合,二极管亮,同时,蜂鸣器响,发出告警 信号。该报警电路设计简单,成本低。 图 12 报警电路与单片机接口 3.6 整体电路图 多点温度巡回检测系统的设计 14 图 13 系统电路图 系统电路图由前面介绍的各个模块硬件的综合。配以软件,即可实现本设计的功 能。图 13 所示为该设计的系统电路图。 4 软件部分设计 4.1 A/D 转换程序流程图 开始 初始化 温度采样 启动A/D A/D转换 送单片机 是否转化完 N Y 通道选择 图 14 数模转换部分流程 数模转换由 ADC0809 来完成,启动系统后,首先对其进行初始化,然后由单片机
34、 的 P0 口送出通道地址,74LS373 锁存同时送给 ADC0809 的 ADDA、ADDB、ADDC 来选通采 集温度的通道号;接着单片机发出启动 A/D 转换信号,开始转换。转换完毕,ADC0809 多点温度巡回检测系统的设计 15 的 EOC 发出转换完成信号,告诉单片机,单片机进入中断系统。循环往复。其流程图 如图 14 所示。 4.2 显示程序流程图 当数字信号送到单片机后,计算偏移量,查表,然后执行串行传送指令,把数字 温度信号一位一位的发送到串入并出的 74LS164,驱动 LED 显示采样的温度。其流程图 如图 15 所示。 开始 送数据 显示 24位是否送完 Y N 图
35、15 显示子程序流程图 4.3 报警程序流程图 ADC0809 把模拟温度信号转换成数字信号送到单片机的存储后,程序中报警子程 序把数字温度信号(即当前温度信号)与设定的温度信号进行比较,当当前温度超出 了设定的范围,启动报警电路,即由单片机的 P3.4 输出高电平,使晶体管工作,从而 使继电器吸合,报警指示灯亮,蜂鸣器响。其流程图如图 16 所示。 开始 当前数字 温度 告警 与设定值 比较 是否超出范围 Y 图 16 报警子程序流程图 4.4 主程序流程图 在本设计中,单片机处于主导地位,由它控制着整个系统的有序的工作。系统正 常运行之前,单片机要先把程序初始化,使各个模块处于待工作状态,
36、准备相关工作。 然后,单片机的 P0 口送出通道地址,对 ADC0809 初始化,74LS373 锁存通道号,单片 机发出启动 A/D 转换信号,开始模数转换,转换结束后得到 8 位数字温度信号,此时, ADC0809 向单片机发出转换结束信号。由单片机把数字温度信号接收到设置的存储处。 开始 初始化 送通道地址 锁存通道地址 温度采样 启动A/D 是否转换完成 送存储地址 与设定值比较 计算偏移量 告警 是否超出范围 查表 译码送发送缓存 串行数据发送 是否发送完? 显示 Y N N Y A/D转换 N Y 图 17 主程序流程图 N 多点温度巡回检测系统的设计 16 接着,由报警程序实现当
37、前温度值与预先设置的温度值进行比较,当超出了设定范围, 启动报警电路,告警;否者,根据当前温度值计算出其偏移量,查表,获得与之相对 应的译码值;最后,由 P3.3 口在 P3.4 提供移位脉冲下把译码值一位一位的送到 74LS164 中,驱动相应的 LED 显示。单片循环发出通道号,巡回得到相关通道的温度信 号,然后显示出来。这样就完成了整个流程。其流程图如图 17 所示。 多点温度巡回检测系统的设计 17 结束语 在本设计中,主要是对多点温度进行检测,而且在单片机作为主控单元下,进行 一些智能操作,如温度显示、巡回检测、超量程告警等等。研究内容主要分为数据采 集、模数转换、单片机系统设计、软
38、件编程几个方面。针对这几个方面,将研究模块 化,在逻辑上按先后顺序对每个模块进行分别的研究,并对每一个模块进行独立的测 试,在测试达到要求之后,再将所有模块有机的整合为一个整体,然后进行整体调整 测试。最总完成整个设计方案。 该设计与传统的 PID 调节相比,用软件取代了部分硬件,节约了硬件资源,减小 了连线的复杂程度,提高了系统的性能;显示部分采用数据的串行传输连接且为静态 显示,这样既减少了硬件间的连线,节约了 I/O 口,又减少了软件的编程难度;数码 管的静态显示方式与比动态显示,亮度高;同时,在该系统中设置了超量程报警电路, 当检测到当前温度 超出了设定的范围后,报警电路就会被启动,减
39、低不必要的损失。 但是,在本设计中,设定的温度值一旦确定,要想修改,就要重新编程下载,较为麻 烦;显示部分采用数据串行传输,速度相对来说比较慢;AD590 温度采集模块采集到 的温度信号为模拟温度信号,输入单片机前要进行数模转换,需增加数模转换模块, 添加硬件间的连线。 在设计过程当中,遇到很多问题,如初始阶段设计思路不清晰;ADC0809 与单片 机硬件联系结束后,进行软件测试时,无法使二者协同工作;温度超出设置值时,报 警电路不报警;在编程过程中,求数据偏移量时,不清楚如何下手;温度采集模块采 集到的温度信号为电压信号,不清楚如何设置才能和 ADC0809 配合使得转换的结果更 准确等等,
40、最后在老师的指导和同学的帮助下,都一一得以解决。 为进一步提高系统的性能,可以增加相应的键盘模块,配合相应的软件,完成随 时对温度设定范围的修改;同时,把温度采集模块(AD590)和模数转换模块 (ADC0809)用 DS18B20 或其它的相关芯片代替,这样既达到了减少硬件间的连线, 又提高了性能的稳定性和减小了调试的麻烦;除此之外,还可以增加显示部分的数码 管,用来显示设定的温度范围;增加相应的指示模块用来显示当前温度采集的通道。 多点温度巡回检测系统的设计 18 参考文献 1 李朝青.单片机原理及接口技术(第三版)M.北京:北京航空航天大学出版社,2005 2 张靖,刘少强.检测技术与系
41、统设计M 北京:中国电力出版社 2002 3 赖寿宏 微型计算机控制技术M.北京: 机械工业出版社 2004 4 刘祖润,胡俊达 毕业设计指导 M 北京机械工业出版社 1996 5 何立民 单片机应用技术选编M 北京:北京航空航天大学出版社 1993 6 沙占友 智能化集成温度传感器原理与应用 M北京:机械工业出版社 2002 7 李兰友,王勇才,傅景义 单片机开发应用十例 M北京:电子工业出版社 1994 8 余发山,王福忠 单片机原理及应用技术 M 江苏:中国矿业大学 2003 9 张西 基于 MCS-51 单片机的测温系统 D 测控技术与设备学报 2002 10 马江涛 单片机温度控制系
42、统的设计及实现 M 计算机测量与控制学报 2004 Vol(12) 11 胡汉才 单片机原理及其接口技术M 北京:清华大学出版社 1996 12 何立民 MCS-51 系列单片机应用系统设计系统配置与接口技术 M 北京航空航天大学出版社 1990 13 高鹏 ,安涛, 寇怀成 Protel99 入门与提高M 北京:人民邮电出版社 2000 14 张靖,刘少强.检测技术与系统设计M 北京:中国电力出版社 2002 15 赖寿宏 微型计算机控制技术M 北京:机械工业出版社 2004 16 刘祖润,胡俊达 毕业设计指导 M 机械工业出版社 1996 17 TOPSwitch Flyback Tran
43、sformer Construction Guide 1996 18 Gao You Tang ,Zhu Qing Hui,Electronic technology fundamentals M 西安:西安地图 出版社 2003 多点温度巡回检测系统的设计 19 附录 源程序: LOWTEMP EQU -50 ; A/D 0 HIGHTEMP EQU 150 ; A/D 255 ADPORT EQU 0FEFBH ;A/D 端口地址 LEDBUF EQU 30H ;置存储区首址 TEMP EQU 40H ;置缓冲区首址 CURTEMP EQU 60H ; DIN BIT 0B0H ;置串行输
44、出口 CLK BIT 0B1H ;置时钟输出口 ORG 0000H LJMP START LEDMAP: DB 3FH,6,5BH,4FH,66H,6DH ;0,1,2,3,4,5 DB 7DH,7,7FH,6FH,77H,7CH ;6,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, “”- DB 63H,39H ; DISPLAY: ;温度显示 MOV R0,#LEDBUF MOV R1,#TEMP MOV R2,#3 ;3 个 LED DP10: MOV DPTR,#LEDMAP ;段码地址 MOV A,R0 ;取段码偏移量 MOVC A,A+DP
45、TR ;取段码 MOV R1,A INC R0 INC R1 DJNZ R2,DP10 ;段码是否取完 MOV R0,#TEMP MOV R1,#3 DP12: MOV R2,#8 MOV A,R0 ;取段码 DP13: RLC A ;段码左移 MOV DIN,C CLR CLK ;发送一个移位脉冲 SETB CLK DJNZ R2,DP13 ;8 个段码是否输出完 多点温度巡回检测系统的设计 20 INC R0 DJNZ R1,DP12 ;3 个 LED 的段码是否都输出完 RET DISPLAYRESULT: ;将正负值区分显示 MOV A, CURTEMP ;实际值 JNB Acc.7,
46、 GE0 ;判断是正是负 SETB P3.4 ;小于 0C 告警 MOV LEDBUF, #11H ;显示“-”号 DEC A ;求补码 CPL A JMP GOON GE0: MOV LEDBUF, #10H ;显示“ ” MOV RO,A CJNZ A,#32H,WH WH: JC HW HW: SETB P3.4 ;大于 50C 告警 MOV A, RO GOON: ;存入显示内容 MOV B, #10 DIV AB MOV LEDBUF+1, A MOV A, B MOV LEDBUF+2, A MOV LEDBUF+3,#12H MOV LEDBUF+4,#13H RET READA
47、D: MOV DPTR, #ADPORT CLR A MOVX DPTR,A ;START A/D JNB P3.3,$ MOVX A, DPTR ;读入结果 RET READTEMP: ;温度的计算 CALL READAD MOV B, #(HIGHTEMP-LOWTEMP) MUL AB 多点温度巡回检测系统的设计 21 MOV A, B ; /256 ADD A, #LOWTEMP MOV CURTEMP, A RET DELAY: MOV R4,#0FFH AA1: MOV R5,#0FFH AA: NOP NOP DJNZ R5,AA DJNZ R4,AA1 RET START: MOV R6,#00H START1: MOV P0,R6 INC R6 MOV R7,A MOV A,R6 JNB ACC.3,START MOV A,R7 CALL READTEMP CALL DISPLAYRESULT CALL DISPLAY CALL DELAY SJMP START1 END 多点温度巡回检测系统的设计 22 致谢 本次设计,从拿到题目到设计完成,