《基于集成温度传感器AD590的温度测试仪设计(LCD) .doc》由会员分享,可在线阅读,更多相关《基于集成温度传感器AD590的温度测试仪设计(LCD) .doc(37页珍藏版)》请在三一办公上搜索。
1、目 录第一章 绪论11.1课题产生的背景11.2本课题的内容安排2第二章 方案论证22.1任务的分析与实现22.2测温仪的硬件方案设计32.3测温仪的软件方案设计3第三章 硬件设计53.1传感器的选择53.2放大电路的设计53.3数据采集电路设计63.4显示电路的设计73.5键盘电路的设计83.6报警电路的设计9第四章 软件的设计94.1概述94.2监控子程序的设计104.3数据处理子程序的设计104.4显示子程序的设计112.3.1 数字显示子程序112.3.2 汉字显示子程序114.5键盘扫描子程序的设计124.6 报警子程序的设计134.7报警子程序的设计13第五章 调试与分析145.1
2、 调试系统简介145.2调试故障及原因分析14结 论15致 谢15参考文献16附录1 硬件原理图17附录2 软件程序清单18附录3 设备清单34基于集成温度传感器AD590的温度测试仪设计(LCD) 摘要:本文设计了一个基于集成温度传感器AD590的温度测试仪设计(LCD),它的主要功能是利用集成温度传感器AD590作为传感元件,集成放大器作为放大电路,A/D转换器作为数据采集器件,单片机作为数据处理器件,LCD液晶屏作为显示器件,用于实现集成温度测试仪的设计。设计最终目的为了要实现一个能对重量信息进行实时数据采集、处理及显示,并可用键盘设定阈值且具有超值报警功能的温度仪。关键字:AD590;
3、数据采集;单片机;键盘扫描第一章 绪论1.1课题产生的背景随着工业生产效率的不断提高,自动化水平与范围也不断扩大,因而对温度检测技术的要求也愈来愈高,一般可以归纳以下几方面。(1)扩展检测范围现在工业上通用的温度检测范围为200-3000,而今后要求能测量超高温与超低温。尤其是液化气体的极低温度检测更为迫切,如1 OK以下的温度检测是当前重点研究课题。(2)扩大测温对象温度检测技术将会由点测温发展到线、面,甚至立体的测量。应用范围己经从土业领域延伸到环境保护、家用电器、汽车工业及航天工业领域。(3)发展新型产品利用以前的检测技术生产出适应于不同场合、不同工况要求的新型产品,以满足用户需要。同时
4、利用新的检测技术制造出新的产品。(4)适应特殊环境下的测温对许多场合中的温度检测器有特殊要求,如防硫、防爆、耐磨等性能要求;又如移动物体和高速旋转物体的测温、钢水的连续测温、火焰温度检测等。(5)显示数字化温度仪表向数字化方向发展。其最大优点是直观、无读数误差、分辨率高、测量误差小,因而有广阔的销售市场。(6)标定自动化应用计算机技术,快速、准确、自动地标定温度检测器。根据上述要求,国内外温度仪表制造商将向以下几方面发展。(1)继续生产量大面广的传统的温度检测元件,如:热电偶、热电阻、热敏电阻等。(2)加强新原理、新材料、新加工工艺的开发。如近来己开发的炭化硅薄膜热敏电阻温度检测器,厚膜、薄膜
5、铂电阻温度检测器,硅单晶热敏电阻温度检测器等.(3)向智能化、集成化、适用化方向发展。新产品不仅要具有检测功能,又要具有判断和指令等多功能,采用微机向智能化方向发展。向机电一体化方向发展。 因此,本课题设计的方向就是在温度检测的智能化、集成化方面进行有效的探索。1.2本课题的内容安排根据设计题目的要求,基于集成温度传感器AD590的温度测试仪,利用AD590温度传感器每升高1输出电流就升高1uA的特性,输出微弱的电信号,在通过信号调理电路之后,变成稳住A/D转换要求的信号,然后在LCD液晶显示器将测量的温度显示出来。本次设计的测温仪具有设定使用键盘在一定范围内设定阈值,并且超值报警功能,并且设
6、定界面亲切二年且人性化。论文共五部分:第一章简要介绍课题产生的背景;第二章进行方案论证,包括硬件方案论证和软件方案论证;第三章介绍硬件的设计,对应变式单臂电桥传感器进行测评,以及放大电路和报警电路的介绍;第四章介绍软件的设计,对软件的各个模板进行分析介绍;第五章是程序调试与结果分析部分。第二章 方案论证2.1任务的分析与实现本次课程设计是利用集成温度传感器AD590、单片机实验箱、单片机仿真器等设计一个能用LCD实时显示温度的智能温度测试仪。显示为XX。主要内容是利用集成温度传感器AD590为测温元件通过信号调理电路将AD590输出的微弱电信号放大调理到0V5V范围内,在通过ADC0809把模
7、拟信号转换成数字信号,利用单片机控制键盘进行阈值设定,并对A/D转换后的信号进行处理蜂鸣器由单片机控制,以实现超值报警功能,并可以用LCD显示测量的温度值。设计最终目的为了要实现一个能对重量信息进行实时数据采集、处理及显示,并可用键盘设定阈值且具有超值报警功能的测温仪。技术指标:(1)重量显示为XXX。(2)测量范围:0100。2.2测温仪的硬件方案设计对于单片机控制的温度测试仪,在实际使用中需要亲切的开始界面,人性化阈值设定界面,和清晰简明的测试界面。单片机的程序不仅要分别对A/D转换、LCD显示、键盘、报警等电路控制,还要对A/D转换的结果与阈值比较,实现超 值报警的功能,还有就是要对A/
8、D转换后的数字量进行线性变换,以达到转换成温度值的目的。基于以上的分析,正确地计算出采样信息中所对应的温度值,用单片机汇编语言编写程序,先设定阈值,再对采样后数据A/D转换,线性变换成温度值,与阈值比较,实现超值报警的功能。按照以上的要求设计,不仅要完成以上的各个功能,并且实现了对前面板设计的美观大方、操作方便,后面板审计的简洁、布线合理、功能完善。流程方框图如图1.AD590集成温度传感器采集信号调理电路键盘扫描输入阈值 LCD液晶显示电路单片机ADC0809模/数转换图1 流程方框图2.3测温仪的软件方案设计对于单片机控制的温度测试仪,在实际使用中需要亲切的开始界面,人性化阈值设定界面,和
9、清晰简明的测试界面。单片机的程序不仅要分别对A/D转换、LCD显示、键盘、报警等电路控制,还要对A/D转换的结果与阈值比较,实现超 值报警的功能,还有就是要对A/D转换后的数字量进行线性变换,以达到转换成温度值的目的。基于以上的分析,正确地计算出采样信息中所对应的温度值,用单片机汇编语言编写程序,先设定阈值,再对采样后数据A/D转换,线性变换成温度值,与阈值比较,实现超值报警的功能。按照以上的要求设计,不仅要完成以上的各个功能,并且实现了对前面板设计的美观大方、操作方便,后面板审计的简洁、布线合理、功能完善。如图2总程序流程图。Y报警设定阈值?NY数据采样数据处理大于阈值?开始阈值设定是否完成
10、?NNY图2 总程序流程图第三章 硬件设计3.1传感器的选择本此次课设选用的传感器型号是AD590温度传感器。AD590是单片集成两端感温电流源。它的主要特性有: 1、流过器件的电流(uA)等于器件所处环境的热力学温度(开尔文)度数,即:uA/K式中: 流过器件(AD590)的电流,单位为uA; T热力学温度,单位为K。 2、AD590的测温范围为-55+150。 3、AD590的电源电压范围为4V30V。电源电压可在4V6V范围变化,电流变化1uA,相当于温度变化1K。AD590可以承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。 3.2放大电路的设计本设计利用集成温度传感器A
11、D590,因为其输出电流是以绝对温度零度(-273)为基准,每增加1,它会增加1A输出电流,因此在室温25时,其输出电流Iout=(273+25)=298A。由于一般电源供应教多器件之后,电源是带杂波的,因此我们使用齐纳二极管作为稳压元件,再利用可变电阻分压,其输出电压V1需调整至2.73V,接下来我们使用差动放大器其输出Vo为(100K/10K)(V2-V1)=T/10,如果现在为摄氏28,输出电压为2.8V,输出电压接AD转换器,那么AD转换输出的数字量就和摄氏温度成线形比例关系。温度传感器放大电路图如图3图3 温度传感器的放大电路 3.3数据采集电路设计ADC0809是带有8位A/D转换
12、器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。 ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。在此实验中我们用0到5V变化的滑动变阻器代替温度传感器的0到5V电压。实验电路图如图4所示。模拟的电信号由ADC0809的IN0口进入,进行模数转换得到的A/D转换结果为:A/D转换结果=Vo255/5图4 模数
13、转换电路3.4显示电路的设计显本设计采用的液晶显示模块是12864点阵的汉字图形型液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16X16点阵)、128个字符(8X16点阵)及64X256点阵显示RAM(GDRAM)。可与CPU直接接口,提供两种界面来连接微处理机:8-位并行及串行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。本部分设计的电路图如图4所示。图4 显示电路3.5键盘电路的设计Intel公司的8279芯片是一种通用课编程键盘/显示器接口电路芯片,它能完成监视键盘输入和显示控制两种功能。8279对键盘部分提供一种扫描工作的方式,能对64个按键键盘阵列不断扫描,
14、自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。图5 键盘电路原理图 如图5所示,键盘电路原理图。3.6报警电路的设计报警电路的设计是基于如图7所示的蜂鸣器,在低电平接入BELL端是蜂鸣器报警的特点设计的将单片机的P1.1口连接,当温度超限的时候P1.1口是低电平,蜂鸣器报警,不超限时P1.1口为高电平不报警。图6 报警电路图第四章 软件的设计4.1概述在新一代的一起系统中,计算机软件和测试一起将更加紧密地结合在一起,随着仪器系统的不断完善及仪器设计思想的发展,软件的重要性及进一步发展的迫切性越来越突出,为了使仪器系统硬件设备尽量少,传统仪器的许多硬件乃至整个仪器都可以
15、被计算机软件所代替,在新一代的仪器系统中,计算机将处于核心地位。 所以,软件在智能仪器的设计中至关重要,下面简要给出这次课设各个部分的软件设计。4.2监控子程序的设计数据采样子程序是将调理过的传感器采样数据通过IN0通道把模拟量通过A/D转换成数字量然后暂存在3FH地址里。采样的流程框图如图9 图7 数据采样的流程图4.3数据处理子程序的设计数据处理子程序是将已存在3FH中的数字量的采样信号通过线性变换、BCD转换,变成十进制的温度值,。图8 转换子程序流程图4.4显示子程序的设计显示子程序是将数字、汉字等数据通过LCD显示出来。所以显示子程序分数字显示子程序和汉字显示子程序。2.3.1 数字
16、显示子程序数字显示子程序是将数字在LCD屏上显示出来。图8 数字显示子程序流程图2.3.2 汉字显示子程序汉字显示子程序是将汉字在LCD屏显示出来图9 汉字显示子程序流程图4.5键盘扫描子程序的设计键盘扫描子程序是用与阈值的输入和设定。开始设定阈值,按两次数字键,输入阈值,如果输入三次则重新输入,输入结束后按D键确定。输入的十位和个位存在51H中。图10 键盘扫描的流程图4.6 报警子程序的设计报警子程序是通过蜂鸣器的发声,提示测量值是否超出阈值,可以通过P1.1口控制。是将已经采样完存在40H中的信号与存在50H中的阈值比较,如果40H中的数据大于50H中的数据蜂鸣器发声,否则否这不发声。4
17、.7报警子程序的设计报警子程序是通过蜂鸣器的发声,提示测量值是否超出阈值,可以通过P1.1口控制。键盘值存在50H起始的单元中,A/D值存放在30H起始的单元中。首先是30H中的数减去50H中的数(百位相减),结果大于零,报警,不大于零,就用同样的原理比较十位和个位。流程图如图4-7所示。40H减50H结果大于零零?键盘值存在50H,A/D值存放在40H返回不报警报警图11 报警子程序流程图第五章 调试与分析5.1 调试系统简介本课设使用的调试仪器是北京启东微晶科技发展中心组织多位单片机科研人员根据多年从事教学实践和从事单片机应用开发研究的经验,历时数年,共同研制开发出一种超新型MCS-51/
18、96/AVR单片机实验开发系统-LJD-2008+。5.2调试故障及原因分析本课程设计在软件、硬件调试方面都出现过问题。(1)在软件方面出现过只能采样一次不能多次采样的问题,后来通过增加一个循环解决了不能多次采样的问题。(2)在软件方面出现了无法进行键盘扫描的问题,通过后来的不断调试,不断修改键盘扫描的程序,最终在软件方面解决了键盘扫描的故障。(3)在硬件方面键盘扫描同样出现了问题,但是通过更换原件等方法,最终实现了键盘扫描设定阈值的功能。结 论本次课程设计完成的是基于集成温度传感器AD590的温度测试仪设计,并通过LCD显示温度值,通过三周的不断努力,克服各种问题,最终实现了任务目标,本课程
19、设计主要是对在温度测试的智能化、集成化方面的探索,这也是温度测试发展的趋势。同时,也是测控技术未来发展的趋势。课程设计是理论知识与实践完美的结合,对于现代大学生的实践能力是个很好的培养。致 谢首先感谢我的指导教师苏晓雯老师在此次课程设计过程中对我的悉心指导,同时还要感谢和我奋战在一起的同学,因为你们的帮助我才有今天的成果。在这里真心的感谢你们!参考文献1 赵茂泰.智能仪器原理及应用.电子工业出版社.1999:233-2502 吴宁.80X86/Pentium微型机算计原理及应用.电子工业出版社,2000:150-2303 张毅刚 彭喜元 姜守达.MCS-51单片机应用设计.哈尔滨工业大学出版社
20、.1997:333-3763 康华光.电子技术基础数字部分(第四版).华南理工大学电子学教研室4李秉操 张登举.单片机接口技术及在工业控制中的应用.陕北电子编辑部 5贾伯年 俞朴.传感器技术.东南大学出版社.2003:38-62 6方彦军 孙健.智能仪器技术及其应用.化学工业出版社.2004:267-289附录1 硬件原理图附录2 软件程序清单;定义 中文LCD液晶 128X64 的地址W_C_GLCD XDATA 0E000HW_D_GLCD XDATA 0E001HR_B_GLCD XDATA 0E002HR_D_GLCD XDATA 0E003H;=TIMER0 DATA 30H ;延时
21、时间的初值TIMER1 DATA 31H ;调用延时子程序的次数DATA1 DATA 32H ;点阵显示的变量1DATA2 DATA 33H ;点阵显示的变量2X DATA 34H ;X方向的位置Y DATA 35H ;Y方向的位置COUNTER DATA 36H ;计数器N DATA 37H ;行数变量D1 DATA 38H ;点变量1D2 DATA 39H ;点变量1ADDR DATA 3AH ;起始的显示位置ADDR1 DATA 3BH ;起始的显示位置临时变量N1 DATA 3CH ;行数的临时变量;*;* 主程序开始 *;* ORG 0000H AJMP START ORG 0030
22、HSTART: CLR P1.0 SETB P1.1 MOV SP,#60H LCALL INITIAL_GLCD ; 调用LCD初始化 LCALL KAIJI ; 显示开机画面 LCALL DELAY500 LCALL DELAY500 LCALL DELAY500 LCALL TISHI ; 显示主界面 LCALL INI_8279;-;判断是否继续;-KEY_A: MOV DPTR,#8101H ; 8101H为8279命令 MOVX A,DPTR ; 读状态字 ANL A,#07H ; 判断低三位是否为0 CJNE A,#00H,LP1 ; 不为0(有键按下)则跳转 SJMP KEY_
23、A ; 为0(没键按下)则继续查询LP1: MOV DPTR,#8100H ; 8100H为8279数据口 MOVX A,DPTR ; 读键值 CJNE A,#0DBH,KEY_A ; 判断是否按D键 AJMP K1K1: LCALL YUZHI ; 阈值设定 LCALL celianjieguo ; 结果显示界面 LCALL CELIANGJIEGUO ; 结果显示 AJMP $;*;* 主程序开始;*;=;各界面显示内容;=DHTABLE1: DB 欢 迎 使 用 DHTABLE2: DB 温度计 DHTABLE3: DB 设计学生: 靳思文 DHTABLE4: DB 指导教师: 苏晓雯D
24、HTABLE5: DB *DHTABLE6: DB 设置报警上限温度DHTABLE7: DB 确定请按 D键DHTABLE8: DB *DHTABLE9: DB *DHTABLE10: DB 报警上限温度为: DHTABLE11: DB DHTABLE12: DB 确定请按(E) 键CELIANG1: DB 温 度 计 CELIANG2: DB 测量结果为: CELIANG3: DB CELIANG4: DB 返回请按 (F)键;=;开机界面子程序;=KAIJI: MOV ADDR1,#00H ; 第一行显示 MOV N1,#08H ; 数量 8 个 MOV DPTR,#DHTABLE1 ;
25、需要显示的汉字位置 CALL DHZ ; 调用汉字子序 MOV ADDR1,#10H ; 第二行显示 MOV N1,#08H MOV DPTR,#DHTABLE2 CALL DHZ MOV ADDR1,#08H ; 第三行显示 MOV N1,#08H MOV DPTR,#DHTABLE3 CALL DHZ MOV ADDR1,#18H ; 第四行显示 MOV N1,#08H MOV DPTR,#DHTABLE4 CALL DHZ CALL DELAY500 CALL DELAY500 CALL DELAY500 CALL DELAY500 RET;=;提示界面子程序;=TISHI: LCALL
26、 CLEAR_GLCD ; 清除LCD显示屏幕 MOV ADDR1,#00H MOV N1,#08H MOV DPTR,#DHTABLE5 CALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHTABLE6 CALL DHZ MOV ADDR1,#08H MOV N1,#08H MOV DPTR,#DHTABLE7 CALL DHZ MOV ADDR1,#18H MOV N1,#08H MOV DPTR,#DHTABLE8 CALL DHZ RET;=;阈值设定界面子程序;=SHEDING: LCALL CLEAR_GLCD MOV ADDR1,#00
27、H MOV N1,#08H MOV DPTR,#DHTABLE9 CALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#DHTABLE10 CALL DHZ MOV ADDR1,#08H MOV N1,#08H MOV DPTR,#DHTABLE11 CALL DHZ MOV ADDR1,#18H MOV N1,#08H MOV DPTR,#DHTABLE12 CALL DHZ RET;=;测量界面子程序;=celianjieguo: LCALL CLEAR_GLCD MOV ADDR1,#00H MOV N1,#08H MOV DPTR,#CELIANG
28、1 CALL DHZ MOV ADDR1,#10H MOV N1,#08H MOV DPTR,#CELIANG2 CALL DHZ MOV ADDR1,#08H MOV N1,#08 MOV DPTR,#CELIANG3 CALL DHZ MOV ADDR1,#18H MOV N1,#08 MOV DPTR,#CELIANG4 CALL DHZ RET;=;8279初始化子程序;=INI_8279: MOV DPTR,#8101H MOV A,#00H MOVX DPTR,A MOV A,#32H MOVX DPTR,A MOV A,#0DFH MOVX DPTR,A RET;=;键盘设定阈值
29、子程序;=YUZHI: LCALL SHEDING MOV 44H,#00H ; 44H单元存按键次数,先清0;*键盘按键存储空间* MOV 55H,#00H ;存入三次设定值 MOV 56H,#00H MOV 57H,#00H MOV 50H,#00H ; 存阈值百位 MOV 51H,#00H ; 存阈值十位和个位;*KEY_09: MOV DPTR,#8101H ; 判断是否有键按下 MOVX A,DPTR ANL A,#07H CJNE A,#00H,LPP1 AJMP KEY_09;=;各个键的处理;=LPP1: MOV DPTR,#8100H MOVX A,DPTRB0: CJNE
30、A,#0D8H,B1 AJMP KK0B1: CJNE A,#0D0H,B2 AJMP KK1B2: CJNE A,#0D1H,B3 AJMP KK2B3: CJNE A,#0D2H,B4 AJMP KK3B4: CJNE A,#0C8H,B5 AJMP KK4B5: CJNE A,#0C9H,B6 AJMP KK5B6: CJNE A,#0CAH,B7 AJMP KK6B7: CJNE A,#0C0H,B8 AJMP KK7B8: CJNE A,#0C1H,B9 AJMP KK8B9: CJNE A,#0C2H,BA AJMP KK9BA: CJNE A,#0C3H,BE AJMP KKA ;A键按下BE: CJNE A,#0DAH,YUZHI AJMP KKEKK0: MOV 5BH,#00H ; 5BH存键值 AJMP COUNT_1KK1: MOV 5BH,#01H AJMP COUNT_1KK2: MOV 5BH,#02H AJMP COUNT_1KK3: MOV 5BH,#03H AJMP COUNT_1KK4: MOV 5BH,#04H AJMP COUNT_1KK5: MOV 5BH,#05H AJMP COUNT_1KK6: MOV 5BH,#06H AJMP COUNT_1KK7: MOV 5BH,#07H AJMP COUNT_