课程名称:电子技术课程设计设计题目:院系:专业:年级:姓名:指导教师:XXXX大学XX校区XX 年X月X日课程设计任务书专业: 姓名: 学号:开题日期: XX年X月X日完成日期:XX年X月X日题目: 数字温度计一、设计的目的1、设计一个简易的数字温度计满足一定的测量范围并通过LED显示出来;2、了解常用电子器件的类型和特性,并掌握合理选用的原则;3、进一步熟悉电子仪器的使用方法;4、学会撰写课程设计总结报告;5、培养独立分析问题和解决实际问题的能力;6、培养严肃认真的工作作风和严谨的科学态度。
二、设计的内容及要求1、测温范围为—30℃~+120℃,精度为±0.5℃;2、LED数码管直读显示,当温度为“负”则最高位显示“—”号,最低位显示单位“C”;3、当温度不在测量范围内(<—30℃或>+120℃)时,蜂鸣器报警且发光二极管闪烁。
三、指导教师评语四、成绩:指导教师(签章)年月日摘要:本设计以AT89C51单片机为核心,DS18B20数字式温度传感器为温度传感器,7段LED数码管构成显示电路;单片机控制DS18B20进行温度采集,在接收DS18B20传回数据后进行处理,通过74LS245驱动数码管显示实时温度的动态显示。
由于采用的是可编程器件作为控制核心,与传统的温度计相比该温度计具有示数直观,精度可调,功能易扩展等优点。
关键词:数字温度计、AT89C51 、DS18B20 、74LS245 、LED设计背景随着人们生活水平的不断提高,数字化无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,科学技术向着数字化、智能化控制方向发展,其中数字温度计就是一个典型的例子。
数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
温度计是常用的热工仪表,常用于工业现场作业过程的温度测量,在工业生产过程中,不仅需要了解当前温度读数,而且还希望能了解过程中的温度变化情况。
随着工业现代化的发展,对温度测量仪表的要求越来越高,而数字温度计具有结构简单,抗干扰能力强,功耗小,可靠性高,速度快等特点,更加适合于工业过程中以及科学试验中对温度进行在线测量的要求。
数字温度计的高速发展,使它已成为实现测量自动化、提高工作效率不可缺少的仪表;温度计在实际生产和人们的生活中都有广泛应用,为此我选择了设计一个数字温度计。
一、设计任务与要求1、测温范围为—30℃~+120℃,精度为±0.5℃;2、LED数码管直读显示,当温度为“负”则最高位显示“—”号,最低位显示单位“C”;3、当温度不在测量范围内(<—30℃或>+120℃)时,蜂鸣器报警且发光二极管闪烁。
二、方案设计与论证1、方案一由于本设计是测温电路,可以使用热敏电阻之类的器件,将随被测温度变化的电压或电流采样,进行A/D转换后就可以用单片机进行数据处理,实现温度显示。
这种设计需要用到A/D转换电路,增大了电路的复杂性,而且要做到高精度也比较困难。
2、方案二考虑到单片机属于数字系统,容易想到数字温度传感器,可选用DS18B20数字温度传感器,此传感器为单总线数字温度传感器,体积小、构成的系统结构简单,它可直接将温度转化成串行数字信号给单片机处理,即可实现温度显示。
另外DS18B20具有3引脚的小体积封装,测温范围为-55~+125℃,测温分辨率可达0.0625℃,其测量范围与精度都能符合设计要求。
以上两种方案相比较,第二种方案的电路、软件设计更简单,此方案设计的系统在功耗、测量精度、范围等方面都能很好地达到要求,故本设计采用方案二。
方案总体设计方框图三、单元电路设计与参数计算1、电源电路本设计采用的7805稳压电源,线路简单,价格低廉、性能稳、使用方便。
7805是三端稳压器件,顾名思义05就是输出电压为5v,还可以微调,7805输出波纹很小。
它的样子象是普通的三极管,7805三端固定集成稳压器有三个端子:输入端UI、输出U0和公共端COM。
输入端接整流滤波电路,输出端接负载;公共端接输入、输出的公共连接点。
其内部由采样、基准、放大、调整和保护等电路组成;7805集成稳压器可将不稳定的直流电压变为稳定的直流电压的集成电路。
由于集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等显著优点,在各种电源电路中得到了普遍的应用。
7805三端集成稳压器可直接用于各种电子设备作电压稳定器,无须外接任何元件,即可达到标准的稳压值,也可在公共端(GND)接分压元件改变输出电压值;由于内部带有过流、过热保护等电路,所以使用非常方便、可靠,电子制作中经常采用。
2、主控电路主控制器采用单片机AT89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C51单片机可为您提供许多较复杂系统控制应用场合。
AT89C51有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2 个读写口线,AT89C51可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要。
3、时钟、复位电路本电路选石英晶振作为时钟组件,接至AT89S51的XTAL1,XTAL2引脚组成时钟电路,如设计图所示。
石英晶片所以能做振荡电路(谐振)是基于它的压电效应,从物理学中知道,若在晶片的两个极板间加一电场,会使晶体产生机械变形;反之,若在极板间施加机械力,又会在相应的方向上产生电场,这种现象称为压电效应。
如在极板间所加的是交变电压,就会产生机械变形振动,同时机械变形振动又会产生交变电场。
一般来说,这种机械振动的振幅是比较小的,其振动频率则是很稳定的。
石英晶体振荡器是利用石英晶体的压电效应来起振,振荡器直接应用于电路中,采用内部时钟方式,选石英晶振作为时钟组件,接至AT89S51的XTAL1,XTAL2引脚组成时钟电路,如设计图所示,其中石英晶振选12MHz,C1、C2为负载电容,选C1=C2=22pF的瓷介电容。
4、温度传感器电路DS18B20管脚图DS18B20的性能特点如下:•独特的单线接口仅需一个端口引脚进行通讯;•无需外部器件;•可通过数据线供电;•零待机功耗;•测温范围-55~+125℃,以0.5℃递增;•温度数字量转换时间200ms(典型值);•报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
.TM R11R01111..图3 DS18B20字节定义由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表2是一部分温度值对应的二进制温度数据。
表1 DS18B20温度转换时间表R0R10 00 1 0 11 19101112分辨率/位温度最大转向时间/ms93.75187.5375750....DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM 的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
表2一部分温度对应值表温度/℃二进制表示十六进制表示+125 0000 0111 1101 0000 07D0H+85 0000 0101 0101 0000 0550H+25.0625 0000 0001 1001 0000 0191H+10.125 0000 0000 1010 0001 00A2H+0.5 0000 0000 0000 0010 0008H0 0000 0000 0000 1000 0000H-0.5 1111 1111 1111 0000 FFF8H-10.125 1111 1111 0101 1110 FF5EH-25.0625 1111 1110 0110 1111 FE6FH-55 1111 1100 1001 0000 FC90H 另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。