选修课终期报告_第1页
选修课终期报告_第2页
选修课终期报告_第3页
选修课终期报告_第4页
选修课终期报告_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、电子创新设计与实践终期报告设计题目数字温度计学号1101014122姓名周 贵 龙一、设计目的与内容随着科学技术的不断发展, 温度的检测、 控制应用于许多行业,数字温度计就是其中一例,它的反应速度快、操作简单,对环境要求不高,因此得到广泛的应用。传统的温度测量大多使用热敏电阻,但热敏电阻的可靠性差,测量温度准确率低, 而且必须经过专门的接口电路将模拟信号转换成数字信号才能由单片机进行处理。数字温度计与传统温度计相比具有结构简单、可靠性高、成本低、测量范围广、体积小、功耗低、显示直观等特点。该设计使用 AT89C51, DS18B20 以及通用液晶显示屏 1602LCD 等。通过本次设计能够更加

2、了解数字温度计工作原理和熟悉单片机的发展与应用,巩固所学的知识。数字温度计主要运用在工业生产和实验研究中, 如电力、化工、机械制造、粮食存储等领域。温度是表征其对象和过程状态的重要参数之一。 比如:发电厂锅炉温度必须控制在一定的范围之内,许多化学反应必须在适当的温度下才能进行。 没有合适的温度环境,许多电子设备就不能正常工作。因此,温度的测量和控制是非常重要的。温度测量范围为 0119,精确度 0.1。可以手动设置温度上下限报警值,当温度超出所设报警值时将发出报警鸣叫声,并显示温度值, 该温度计适用于人们的日常生活和工、 农业生产领域。二、工作原理由于温度计的应用很广, 所以温度计的设计也不完

3、全一样。 以前一般采用热电偶、玻璃液体温度计、双金属温度计、压力式温度计、热电阻和非接触式温度计等进行温度测量。 其中热电偶的温度测量范围较宽,它无需使用驱动电源即可直接产生电压(温差电势)信号,该信号既可用直流测量仪器(如电位差计、数字电压表、毫伏计等)读取,以通过热电偶温度特性分度表查出对应的温度;也可以用线性校正电路将小信号电压放大后,通过显示仪表的刻度读数。 在某些输油、输气管道应用中,往往要求对温度进行长时间监测,且要求能够快速准确地读数。此时,上述各类温度计则难以胜任。而如果将热电偶产生的热电动势转换成数字信号后由单片机进行数据处理,并通过液晶来显示其温度结果,这种方法反应迅速,测

4、量精度高,功耗小,显示直观。因此,由热电偶、 A/D 转换电路、单片机和液晶模块组成的数字式低功耗高精度温度计可以代替各种机械式温度计来完成特殊情况下的温度测控工作,且便于实现小型化设计。但在本设计中,数字温度计应用的对象是一般家庭里,主要包括以下几部分:(1).取样电路温度传感器就是能将温度信号反映到电信号上去,这个我们可以用热敏电阻及一些热传感器来实现, 由于热敏电阻的阻值与温度不成线性关系,所以这里主要是用温度传感器将温度信号线性地反映到电压上来实现温度取样,测量温度信号为模拟量。(2).放大电路放大电路可以有三极管放大或是用集成运算放大器放大, 由于在这里放大器的功能是为了调节传感器与

5、 A/D 转换器的关系,故可以用集成运算放大器通过负反馈组成任意比例电路, 根据芯片的参数需要而选择适当的放大(3).驱动电路驱动电路是为了让显示器将A/D 所转换的数据无误地表现出来。这里主要是驱动LED 显示及保护 LED 的电路,要想让LED 正常工作,必需提供适当的电压,保证电流不能超过LED 的最大电流,以免烧坏LED 管。在这里主要包括一些三极管及电阻,配合驱动电路来制LED 控显示。(4).A/D 转换及分析A/D 转换主要的任务是对模拟电信号进行分析,将其信号转换成数码显示出来,可能的话还可以对信号进行分析预处理。这里也主要是采用 MC14433 芯片,采用这个芯片可以大大减少

6、 A/D 转换及译码电路,因为它本身输出就是 BCD 码,而且是按十进制位串行输出的,同时它还包含了时序电路即用来串行输出用扫描显示用的电路及超过适用范围时发出提示信号, 极大简化了电路, 从而提高了电路的稳定性及减少功耗。(5).显示电路显示电路可以用各种类型的七段LED 显示,出于对器件考虑,在这里仅用最常见的7 段码显示即可。三、电路图设计本设计主要构成部分应该是由模拟传感器、线性放大电路、 A/D 转换分析、驱动电路及显示五部分组成。 下面主要详细介绍各个电路的具体功能。1.取样电路设计 。National Semiconductor 公司的 LM35A 温度传感器集成芯片,它能将温度

7、与电流形成线性关系, 以电压的形式输入 A/D 转换器进行转换与分析。 转换公式如式 (1),0 時输出为 0V ,每升高1°,输出电压增加 10mV 。LM35 有多种不同封裝型式。在常温下, LM35 不需要额外的校准处理即可达到 C°、CC41°±的准确率。 其电源供应模式有单电源与正、负双电源两种,正、负双电源的供电模式可提供负温度的量測;两种接法的静默电流-温度关系,单电源模式在 25°下静默电流約50A,非常省电。Vout_lm35(T)=10mV/ °C×T° C(1)2.信号放大电路这里的放大电路采

8、用的中 LM307N 集成运算放大器,根据 A/D 转换的需要而设计, R4 与 R6 相同,从而构成两倍放大电路。3.译码驱动电路为了让LED 正常工作,设计了这个译码驱动电路,这里采用的是74LS48 芯片。4.A/D 转换电路在这部分电路里面,主要就是用MC14433 集成 A/D 转换器,这与其强大的功能是离不开的。如图4 中 R1、R1/C1、C01、C02、CLKI 、CLKO 分别为构成积分器、 自动调零补偿电路及改变电路时钟频率电路。这里用的是常用的参数,时钟频率是66KHz,UI,UAG 则为输入信号的两极, UR 为参照电压, 即转换最大电压, 能过对 UAG与 UR 的调

9、节,可以将传感器输出的电压信号正确地从零开始线性增加,这也是本电路设计的核心部分,通过这个设置,还可以扩大数字温度计的适用范围, 对显示部分电路稍作修改就可以对开尔文温度直接显示,只是精度有改变了。 D1 稳压管是为确保输入的电压不超过A/D 转换器的转换范围。另外,芯片工作采用的是双电压工作的。5.显示电路显示电路主要是由三个LED 七段显示器,从左到右分别为十位、个位及小数位。1U71U81U9aaa222bababa333cccfbfbfb444ddd5g5g5geeceeceec666fff7d7d7dgdpgdpgdp888dpdpdpGNDGNDGND999选通控制Q6Q7Q8R2

10、22总体电路图+5VVCCC1R1470KC20.1uF0.1uF45678R9U10300k+5VR7VCC100R4R6100k100k04D1Q51Vs2U6As1R8VR53OUTPUT2D80.6k2kNGR31LM3551k11-VCCiii 12C RC0/03iC CRCLKIUi1CLKOUagOR9DUQ014EOCQ1Q22MC14433Q3UrUss4321eUddSSSSeDDDDU67892111111011U7U8U9154BI/RBOa131a1a1a512222RBIbbababa311333VCCLTccfbcfbcfb71044423Adddd201U11

11、95g5g5gBeeeceeceec212156f6f6fCf226147d7d7dD74LS48gdpgdpgdp13g888dpGNDdpGNDdpGND24+5VVCC999Q9D2-5V-VCCQ6Q7Q8-5V温度过高指示Q10D3R10R2温度过低指示2222Q11四、程序设计1. 整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类:一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、 显示、通讯等。每一个执行软件也

12、就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后, 就可以规划监控程序了。 首先要根据系统的总体功能选择一种最合适的监控程序结构, 然后根据实时性的要求, 合理地安排监控软件和各执行模块之间地调度关系。主程序流程见图开始MCU初始化DS18B20初始化大于某一值小于某一值判定温度是否在设定范围内黄灯亮灯灭绿灯亮显示温度结束2 DS18B20 初始化18B20 初始化流程图见图5-2。开始C51寄存器初始化N18B20存在?Y温度转换命令读取温度温度数据处理温度显示N温度比较超出范围?Y报警#include<reg51.h&g

13、t;#define uchar unsigned char#define uint unsigned intuchar i;sbit lcdrs=P30;sbit lcdrw=P31;sbit lcden=P32;sbitd1=P10;sbitd2=P11;uchar code t0="the temperature "uchar code t1=" is"uchar code wendu="0123456789"/ 利用一个温度表解决温度显示乱码sbit DQ = P37;/ 定义 ds18B20 总线 IO/液晶显示模块void

14、delay(uint z)uint x,y;for(x=100;x>1;x-)for(y=z;y>1;y-);void write_com(uchar com)lcdrs=0;P2=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)lcdrs=1;P2=date;delay(5);lcden=1;delay(5);lcden=0;void init_lcd()lcden=0;lcdrw=0;write_com(0x38);write_com(0x01);write_com(0x0c);write_com

15、(0x06);write_com(0x80);for(i=0;i<16;i+)write_date(t0i);delay(0);write_com(0x80+0x40);for(i=0;i<16;i+)write_date(t1i);delay(0);/温度采集模块void tmpDelay(int num)/ 延时函数while(num-) ;/*/void Init_DS18B20()/ 初始化 ds1820unsigned char x=0;DQ = 1;/DQ 复位tmpDelay(8);/ 稍做延时DQ = 0;/ 单片机将 DQ 拉低tmpDelay(80); / 精确

16、延时大于DQ = 1;/ 拉高总线tmpDelay(14);x=DQ;/稍做延时后如果tmpDelay(20);480usx=0 则初始化成功x=1则初始化失败unsigned char ReadOneChar()/ 读一个字节unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i-)DQ = 0; /给脉冲信号dat>>=1;DQ = 1; /给脉冲信号if(DQ)dat|=0x80;tmpDelay(4);return(dat);void WriteOneChar(unsigned char dat)/ 写一个字节un

17、signed char i=0;for (i=8; i>0; i-)DQ=0;DQ = dat&0x01;tmpDelay(5);DQ=1;dat>>=1;unsigned int Readtemp()/读取温度unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0x44); /启动温度转换Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号

18、的操作WriteOneChar(0xBE); / 读取温度寄存器a=ReadOneChar();/ 连续读两个字节数据b=ReadOneChar();/读低 8 位/读高 8 位t=b;t<<=8;t=t|a; /两字节合成一个整型变量。tt=t*0.0625;/得到真实十进制温度值,因为DS18B20 可以精确到0.0625以读回数据的最低位代表的是0.0625 度t= tt*10+0.5; / 放大十倍, 这样做的目的将小数点后第一位也转换为可显示数字,度,所同时进行一个四舍五入操作。return(t);void display()unsigned int num,num1;unsigned int shi,ge,xiaoshu;符号整数来表示,用unshigned char/ 定义的时候用/ 这里的 num,shi,ge,xiaoshu字符型则显示错误uchar 宏定义就会出错必须用 unsigned int 无num=Readtemp();num1=num/10;if(num1>37)d1=0;d2=1;delay(500);if(num1<10)d1=1;d2=0;delay(500);elsed1=1;d2=1;shi=num/1

温馨提示

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

评论

0/150

提交评论