基于proteus的多点温度计仿真设计.docx

上传人:b****5 文档编号:7371407 上传时间:2023-01-23 格式:DOCX 页数:27 大小:405.74KB
下载 相关 举报
基于proteus的多点温度计仿真设计.docx_第1页
第1页 / 共27页
基于proteus的多点温度计仿真设计.docx_第2页
第2页 / 共27页
基于proteus的多点温度计仿真设计.docx_第3页
第3页 / 共27页
基于proteus的多点温度计仿真设计.docx_第4页
第4页 / 共27页
基于proteus的多点温度计仿真设计.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于proteus的多点温度计仿真设计.docx

《基于proteus的多点温度计仿真设计.docx》由会员分享,可在线阅读,更多相关《基于proteus的多点温度计仿真设计.docx(27页珍藏版)》请在冰豆网上搜索。

基于proteus的多点温度计仿真设计.docx

基于proteus的多点温度计仿真设计

摘要

环境温度对工业、农业、商业和人们的日常生活都有很大的影响,而温度的测量也就成为人们生产生活中一项必不可少的工作。

传统的测温仪测量费时,准确度也较低,数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。

本设计所介绍的多点数字温度计使用AT89C52单片机,测温传感器使用DS1621,LCD1602液晶显示屏实现温度显示。

DS1621数字温度传感器与AT89C52单片机组成的测温系统,具有线路简单、体积小等特点,而且可以挂接多个DS1621,因此可以构成多点温度测控系统。

关键词:

单片机;DS1621;多点;数字温度计

Abstract

Theambienttemperaturehasagreatimpactonindustry,agriculture,businessandpeople'sdailylives,andtemperaturemeasurementhasbecomeanessentialworkforpeopletoproducelife.Traditionalthermometermeasuringtime-consuming,accuracyisalsolow,digitalthermometercomparedwiththetraditionalthermometer,witheasyreading,temperaturewiderange,accuratetemperaturemeasurement,theoutputtemperaturedigitaldisplay.

Multi-pointdigitalthermometersystemdescribedinthisdesignincludeAT89C52microcontroller,theDS1621temperaturesensorandLCD1602liquidcrystaldisplay.Thissystemhassimplelines,smallsizeandothergoodcharacteristics,itcanbeattachedtomultipleDS1621.

Keywords:

Microcontroller; DS1621; multi-point; digitalthermometer

 

第1章绪论

1.1研究背景

21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。

我们已经进入了高速发展的信息时代,测量技术也成为当今科技的一个主流,广泛地深入到研究和应用工程的各个领域。

温度计作为测温器件广泛应用于日常生活、工业、农业、军事、教育、航天

航空等领域,是应用最广泛的产品之一。

传统温度计采用水银热胀冷缩原理制成,

价格便宜,但使用、保存、运输、携带都十分不便,并伴有环境污染。

而数字温

度计正好满足了这个需求。

电子数字温度计以单片机为核心,以温度传感器为基

础,具有使用方便,操作简单,测温范围大,测量精确,输出温度数字显示等特

点。

它不仅使用方便,而且调节灵活,给人们的生产生活带来极大方便,近几年

来被广泛用于单片机控制的仪器仪表和低功耗电子产品中,是未来工业生产家庭

显示器发展的主流方向。

分布式温度传感器在电力工业、煤矿、森林、火灾、高层建筑、航空、航天飞行器等有着重要的应用前景,引起研究人员的广泛关注。

近年来,已经有不少分布式温度传感器的报道,包括基于光纤非线性效应的拉曼温度传感器等,但由于其昂贵的成本而无法得到广泛的应用。

1.2温度计的原理与发展

两个冷热不同的物体放在一起,互相接触,经过一段时间后,两个温度就会达到相同的冷热程度。

这时用科学术语说,它们相互达到了热平衡。

再进一步,如果有三个物体A、B、C,其冷热程度不同,A和B互相隔开,并使A和B与物体C相接触。

经过一段时间后,A和C及B和C都达到了热平衡。

这时,如果再使A和B相接触,则会发现A和B之间不发生热传递,各自的温度也不发生变化。

这说明A和B在开始接触时就处于热平衡状态。

由此会得到一个结论:

如果物体A和B都跟第三个物体C处于热平衡状态,则A和B也必定处于热平衡状态,即一切互为热平衡的物体都具有相同的温度。

这就是用温度计测定物体温度的依据。

最早的温度计是在1593年由意大利科学家伽利略(1564~1642)发明的。

他的第一只温度计是一根一端敞口的玻璃管,另一端带有核桃大的玻璃泡。

使用时先给玻璃泡加热,然后把玻璃管插入水中。

随着温度的变化,玻璃管中的水面就会上下移,根据移动的多少就可以判定温度的变化和温度的高低。

这种温度计,受外界大气压强等环境因素的影响较大,所以测量误差大。

以后荷兰人华伦海特在1709年利用酒精,在1714年又利用水银作为测量物质,制造了更精确的温度计。

他观察了水的沸腾温度、水和冰混合时的温度、盐水和冰混合时的温度,经过反复实验与核准,最后把一定浓度的盐水凝固时的温度定为0℉,把纯水凝固时的温度定为32℉,把标准大气压下水沸腾的温度定为212℉,用℉代表华氏温度,这就是华氏温度计。

在华氏温度计出现的同时,法国人列缪尔(1683~1757)也设计制造了一种温度计。

他认为水银的膨胀系数太小,不宜做测温物质。

他专心研究用酒精作为测温物质的优点。

他反复实践发现,含有1/5水的酒精,在水的结冰温度和沸腾温度之间,其体积的膨胀是从1000个体积单位增大到1080个体积单位。

因此他把冰点和沸点之间分成80份,定为自己温度计的温度分度,这就是列氏温度计。

华氏温度计制成后又经过30多年,瑞典人摄尔修斯于1742年改进了华伦海特温度计的刻度,他把水的沸点定为零度,把水的冰点定为100度。

后来他的同事施勒默尔把两个温度点的数值又倒过来,就成了现在的百分温度,即摄氏温度,用℃表示。

华氏温度与摄氏温度的关系为:

℉=9/5℃+32,或℃=5/9(℉-32)。

现在英、美国家多用华氏温度,德国多用列氏温度,而世界科技界和工农业生产中,以及我国、法国等大多数国家则多用摄氏温度。

随着科学技术的发展和现代工业技术的需要,测温技术也不断地改进和提高。

由于测温范围越来越广,根据不同的要求,又制造出满足不同需要的测温仪器。

1.3电子温度计的概述

电子温度计以单片机为核心,以温度传感器为基础,具有使用方便,操作简单,测温范围大,测量准确,输出温度数字显示等特点,它不仅使用方便,而且调节灵活,给人们的生活带来极大的方便。

近几年来被广泛用于单片机控制的仪器仪表和低功耗电子产品,是未来工业生产和家庭显示器发展的主流。

温度测量涉及各行各业,而传统的温度测量仪器有酒精温度计、煤油温度计、水银温度计等,都需人工手动测量。

在科学技术发展的今天很多场合(有毒、高温、无人等),用传统的温度测量技术就显得比较麻烦,所以数字化温度计的需求就变得非常迫切。

单片机的出现,电子技术的飞速发展,使温度计的自动化、数字化就变得容易实现。

数字温度计的应用主要是在温度控制上。

凡需加热的场合,往往都需要对加热功率、加热温度和加热时间进行控制、调节和显示。

而电热控制元件按其控制目的分成温度控制、功率控制和时间控制三种方式。

其中温度控制又分热双金属温控元件、磁性温控元件,功率控制分开关调位和可控硅调位。

时间控制分机械式定时器和电子式定时器。

热双金属温控元件控温精度±l0℃,本身结构和应用系统均较简单,价格便宜,控温点调节方便。

但精度较差,适用于家用电热器。

磁性温控元件控温精度±1℃,结构简单,温度控制精度高,但是控温点调节不方便。

热电阻和热电偶温控元件温控精度分别可达±1℃、±0.5℃,温度控制精度高,本身结构不复杂,但系统复杂,价格较贵,控温点调节方便,可实现自动化,适合于工业电热装置。

特别是热电阻能够真实地反映被测点的温度,信号传输受干扰较小,应用最趋于广泛。

热电阻的Rt=R0(1+At+Bt2+Ct3+……),式中R0—0℃时的电阻件(Ω),t—被测介质温度,A、B、C—分度常数。

开关调位控温精度约±10℃,温度控制精度低、温度波动较大,但系统简单、价格低、故障少、可靠性强。

可控硅调位温度控制精度±3℃,比开关调位高、无噪声、无触点,但移相能发电路对电网波形有干扰。

零位触发线路系统较复杂。

机械式定时控温精度±10℃,定时精度不高,但动作可靠性较高。

维修方便,价格便宜。

电子定时器控温精度士5%,定时精度较高,但系统较复杂,价格较贵。

此外,还有温包式温控元件,电接点水银温度计温控元件等等。

数字显示温度调节仪还有TA091~097、DB500、DBl000等型号。

为了满足生产工艺的要求。

还有数字式程序调节仪,如上海大华仪表公司的KP系列产品。

可最多贮藏19种程序段,每个程序段最多能由19个步进组成,程序段可以随意连接和反复。

可灵活地进行程序段的组合,在每个步进中8种PID常数可任意选择,另8种PID常数由SV值自动选择,在广泛的温度范围内可实现最佳的程序控制。

1.4开发软件

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

下面详细介绍KeilC51开发系统各部分功能和使用。

C51工具包的整体结构,uVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。

开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。

然后分别由C51及C51编译器编译生成目标文件(.OBJ)。

目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。

ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。

Keil的优点:

1.KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。

在开发大型软件时更能体现高级语言的优势。

2.与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

用过汇编语言后再使用C来开发,体会更加深刻。

KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。

1.5仿真软件

目前,存在的仿真软件有WAVE、SKYEYE、ARMULATOR、KEIL等。

其中南京伟福实业有限公司的WAVE软件既可配合仿真器使用,也可脱机仿真,仿真的是51、PIC、ARM等系列单片机。

SKYEYE是一个在Linux和Windows平台上实现纯软件仿真的IDE,是指令级仿真器,可仿真多款MCU硬件系统,但要针对相应的开发板硬件。

ARM公司的IDE-ADS中的指令集模拟器ARMULATOR,仿真的对象是ARM核,仿真了特定的硬件。

德国KEIL公司的KEIL软件是基于5051的单片机编译、仿真软件,其功能强大,但价格昂贵。

本次设计使用的是Proteus仿真软件。

Proteus是英国Labcenter公司开发的电路分析与仿真软件,用于仿真、分析各种模拟器件和集成电路,该软件的特点是:

1)实现了单片机仿真和Spice电路仿真相结合。

具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。

2)支持主流单片机系统的仿真。

目前支持的单片机类型有:

68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。

3)提供软件调试功能。

在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51μVision2等软件。

4)具有强大的原理图绘制功能。

启动Proteus后将出现ISIS的设计窗口。

包括:

标题栏、主菜单、标准工具栏、绘图工具栏、状态栏、对象选择按钮、预览对象方位控制按钮、仿真进程控制按钮(最下面一行)、预览窗口、对象选择器窗口、图形编辑窗口。

Proteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。

因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。

对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。

同时,当硬件调试成功后,利用ProteusARES软件,很容易获得其PCB图,为今后的制造提供了方便。

1.6本论文主要工作

本文将介绍一种基于单片机AT89C52控制的多点数字温度计,以DS1621为温度传感器、LCD1602液晶显示器显示温度。

通过Keil软件来进行程序编写,最后通过proteus软件对整个系统进行仿真。

第2章系统总体方案设计

2.1引言

随着计算科学的迅速发展,设计一个数字温度计的方法也变的多种多样。

可以用ARM,有的基于数字电路,有的则是利用CPLD设计温度计,像这样的设计很多,而本设计所选择的方案是利用单片AT89C52来设计一个简单的多点数字温度计。

2.2系统概述

此设计介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,

测温准确的优点。

控制器使用的是单片机AT89C52,测温传感器使用的是DS1621,LCD液晶显示屏实现温度显示。

系统构成如图

图2.1

2.3硬件电路介绍

2.3.1单片机

单片机采用美国ATMEL公司生产的AT89C52单片机。

AT89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

AT89C52使用Atmel公司高密度非易失性存储器技术制造,与工业89C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,AT89C52拥有灵巧的8位CPU和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89C52主要功能参数:

1、兼容MCS51指令系统

  2、8k可反复擦写(大于1000次)FlashROM;

  3、32个双向I/O口;

  4、256x8bit内部RAM;

  5、3个16位可编程定时/计数器中断;

  6、时钟频率0-24MHz;

  7、2个串行中断,可编程UART串行通道;

  8、2个外部中断源,共8个中断源;

  9、2个读写中断口线,3级加密位;

  10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能;

  11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。

AT89C52的引脚图如图2.1所示:

图2.2AT89C52引脚示意图

2.3.2复位电路

复位电路采用RC充电电路组成上电复位单片机电路,当系统上电时,在上电初期,电容C充电,使复位脚持续高电平,当C充电到达一定程度复位脚电位会慢慢变低,最后被电阻R完全拉低,高电平复位的时间由充电的时间决定,充电时间又由R与C的阻值和容值之积决定。

在复位输入端出现高电平的时候实现单片机复位和初始化。

在振荡器运行的情况下,要实现复位操作,必须使复位脚至少保持两个机器周期(24个振荡周期)的高电平。

CPU在第二个机器周期内执行内部复位操作,以后每个机器周期重复一次,直到复位端电平变低。

复位期间不产生ALE和PSEN信号。

内部复位操作使得堆栈指示器SP为07H,各端口都为1(P0—P3口全部都是0FFH)。

特殊功能寄存器都复位为0,但不影响内部RAM的状态,当RST脚返回低电平以后,CPU从0地址开始执行程序。

加电瞬间复位端的电位与VCC相同,随着RC电路充电电流减小,复位端的电位逐渐下降。

只要复位端保持10豪秒以上的高电平就能使AT89C52单片机有效的复位。

复位电路中的RC参数通常都由实验调整,当振荡频率选用11.0592M的时候,C选用10u电容,R选用200,便能可靠地实现加电自动复位。

若采用RC电路接斯密特电路的输入端,斯密特电路输出端接AT89C52单片机和外围电路的复位端,能使系统可靠的同步复位。

图2.3

2.3.3时钟振荡电路

AT89C52内部有一个用于构成震荡器的高增益反向放大器,此放大器的输入端和输出端分别是XTAL1和XTAL2,在XTAL1和XTAL2上外接晶振可构成时钟电路。

时钟电路在单片机系统中起着非常重要的作用,是保证系统正常工作的基础。

晶振频率的大小决定了单片机系统工作的快慢。

本次设计采用内部方式的外部时钟接法。

为达到振荡周期是12MHZ的要求,这里要采用12MHZ的晶振,电容C1、C2对频率有微调作用,故外接晶振时,C1和C2在本设计中选择20pF,振荡频率取12MHz。

晶振的两个引脚分别连到XTAL1和XTAL2振荡脉冲输入引脚。

具体连接图如图所示:

图2.4

2.3.4按键电路

按键电路主要功能是对多个温度传感器进行切换,从而是各个温度传感器的温度可以显示在LCD屏幕上。

按键采用动态扫描方式得到键值。

如图:

P1.0的电位在没有按键按下的时候是高电平,当KEY1按下后,P1.0会迅速拉低成低电平,然后再判断KEY1键是不是松开,若松开得到键值后调用键盘按下功能程序。

图2.5

2.3.5显示电路

显示屏是最常用的输出设备。

特别是发光二极管显示器(LED)和液晶显示器(LCD),由于结构简单,价格便宜,接口容易等特点得到广泛的应用。

尤其

是单片机系统中大量使用。

本设计选用的LCD1602液晶显示屏,1602LCD微功耗、体积小、显示内容丰富、超薄轻巧,常用在袖珍式仪表和低功耗应用系统中。

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。

每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。

1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。

1602LCD特性:

●+5V电压,对比度可调

●内含复位电路

●提供各种控制命令,如:

清屏、字符闪烁、光标闪烁、显示移位等多种功能

●有80字节显示数据存储器DDRAM

●内建有192个5X7点阵的字型的字符发生器CGROM

●8个可由用户自定义的5X7的字符发生器CGRAM

图2.6

2.3.6数字温度传感器DS1621

DS1621是DALLAS公司生产的一种功能较强的数字式温度传感器和恒温控制器。

与同系列的DS1620相比控制更为简单,接口与I2C总线兼容,且可以使用一片控制器控制多达8片的DS1621。

其数字温度输出达9位,精度为0.5℃。

通过读取内部的计数值和用于温度补偿的每摄氏度计数值,利用公式计算还可提高温度值的精度。

DS1621可工作在最低2.7V电压下,适用于低功耗应用系统。

利用DS1621和一片2051单片机即可构成一个简洁但功能强大的低电压温度测量控制系统。

1.DS1621基本特性

DS1621无需外围元件即可测量温度,将结果以9位数字量(两字节传输)给出,测量范围为-55℃~+155℃,精度为0.5℃;典型转换时间为1s;用户可自行设置恒温计的温度值,且将该设置值存储在非易失存储器中。

数据的读出和写入通过一个2-线串行接口完成,DS1621采用8脚DIP或SOIC封装。

DS1621的引脚描述如下所示:

引脚

符号

描述

1

SDA

2-线串行数据输入/输出端

2

SCL

2-线串行时钟端

3

Tout

恒温计输出端。

当温度超过TH时置位,当温度降到TL之下是复位

4

GND

接地端

5

A2

片选地址输入A2

6

A1

片选地址输入A1

7

A0

片选地址输入A0

8

Vdd

电源端

2.DS1621的工作方式

DS1621既可独立工作(此时作为恒温控制器),也可通过2-线接口在MPU的控制下完成温度的测量和计算。

DS1621的工作方式是由片上的设置/状态寄存器来决定的,该寄存器的定义如下:

其中DONE为转换完成位,温度转换结束时置1,正在进行转换时为0;THF为高温标志位,当温度超过TH预置值时置1;TLF为低温标志位,当温度低于TL预置值时置1;NVB为非易失存储器忙位,向片内E2PROM写入时置1,写入结束后复位写入E2PROM通常需要10ms;PCL为输出极性位,为1时激活状态为逻辑高电平,为0时激活状态为逻辑低电平,该位是非易失的;1SHOT为一次模式位,该位为1时每次收到开始转换命令执行一次温度转换,为0时执行连续温度转换,该位亦是非易失的。

DS1621在嵌入一个系统前,需由MPU将设置/状态寄存器值通过2-线接口写入该寄存器,之后DS1261或作为恒温计独立工作,或在MPU控制下进行温度测量和计算。

MPU对DS1621的控制和写入是通过2-线接口进行数据传输的,MPU对DS1621发命令字,之后完成对DS1621的读或写。

由于数据传输协议满足I2C总线规范,MPU可将DS1621作为具有I2C总线接口的从器件对待,器件地址为1001A2A1A0R/W,通过A2A1A0编码,一次可控制最多8片DS1621,完成8点温度采样。

写入和读出数据格式和时序完成按串行通讯接口规范,SCL和SDA线满足串口通讯启动条件,MPU发出器件地址字节,其中R/W决定读/写方向。

MPU发出DS1621的命令字,DS1621发出ACK信号,之后为从器件的数据字节,主器件的ACK信号,……,最后为串口通讯结束条件,完成一次数据通讯。

DS1621的命令集包含下述8个命令字:

DONE

THF

TLF

NVB

1

0

PCL

1SHOT

 ●读温度命令[AAh]

  该命令读出最近一次温度转换的结果。

DS1621将送出两字节数据:

第一字节为8位二进制温度值(摄氏温度),该数据以二进制补码形式给出,其中最高位为温度符号位(0为

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

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

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