数字式温度计总结报告_第1页
数字式温度计总结报告_第2页
数字式温度计总结报告_第3页
数字式温度计总结报告_第4页
数字式温度计总结报告_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、数字式温度计总结报告ARM板专业:电气工程及其自动化班级:电气111姓名:顾云峰学号:1130114104组员:华雷 邵志达课题名称:数字式温度计用传统的水银温度计或酒精温度计来测量温度,不仅测量时间长,读书不方便,而且功能单一,已经不能满足人们在数字化时代的要求。于是数字式温度计已越来越得到广泛应用,测量电路利用温度传感器检测外界温度的变化,温度传感器讲温度变化转换为电压信号,实现非电量的转换,然后利用数字信号处理方法计算得出温度值,实现温度的测量;并设置了报警装置,使功能更加完善。本设计实验测量温度,温度显示,报警装置三部分来具体实现上述目的。设计任务与要求:用程序实现:1、测温范围099

2、.9,分辨率0.1 2、3位数码管显示,实时显示当前温度 3、键盘设置温度上、下限报警值,当温度达到设定值,LED灯闪烁报警方案选择:本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,而所用飞思卡尔ARM正好有所需A/D转换电路和热敏电阻,多以采用热敏电阻测温。工作原理:根据热敏电阻随温度变化阻值会相应变化的特性,通过与普通电阻串联实用AD芯片测量其中点的电压,得出电压与温度的对应关系,运用单片机编程,讲温度显示到数码管上。原

3、理框图:热敏电阻按键设置单片机KL25Z128LV温度显示灯光报警单片机KL25Z128LV 芯片KL25Z128LV是整个电路的核心器件。实现巡回监视温度信号。当温度超过给定的限值时出现报警信号(液晶显示器显示当前温度值,LED灯闪烁报警)。其电路图如下热敏电阻 热敏电阻实现温度信号的采集及A/D转换,可以将检测到的温度直接显示在数码管上。其电路图如下:按键设置:按键用于设置温度的报警上下限。键盘模块采用独立按键方式。分别由单片机的两个接口驱动。两个按键分别代表不同作用。按键S1按第一下进入温度上限设置模式,然后按键S1用于上下限设定时的增,按键S2用于上下限设定时的减。同时按下S1,S2温

4、度报警值设定完成,退出设置模式。同理按键S2可用于温度下限设置。考虑到系统要求并不高,所以采用独立键盘,简单实用,降低了软件的要求,并且硬件电路复杂度也降低。其电路图如下:温度显示:数码管显示温度采用直接用单片机接口PTB2,PTB3 直接外界LED数码管,三极管驱动显示。因为考虑到系统简单,及程序的简单化,我们使用单片机接口驱动,灵活方便,减少了成本和硬件电路的复杂程度,易于修改和调试。其电路图如下:灯光报警:灯光报警为单片机PTB17驱动LED灯,用于温度上限到达时,单片机驱动,提供报警。LED灯闪烁,成本低,效率高,反映直观。其电路图如下:程序流程图及说明:主函数完成常量的初始化,读取温

5、度转换值,调用数据处理的子函数然后生成显示温度值,然后通过按键设置温度报警值,根据显示的温度值判断温度是否超出了预设范围,如果超出,则LED灯会闪烁报警。主函数流程图:初始化,设置常量读取温度转换值调用数据处理子函数报警灯闪烁按键设置报警值显示温度值开始YN判断温度是否超出预设源代码:主程序:在程序中完成对温度的测量,并显示在数码管上,按键设置上下限报警值,温度超过预设则LED闪烁报警。 main()word val; /AD测热敏电阻温度 float v,r,T; /定义浮点数v,r,T int i,d,e; /定义整型变量i,上,下限变量d,e int num = 0; /上限计数变量初始

6、化值 int num1 = 0; /下限计数变量初始化值 int a=0; /进入上限报警值设置初始化值 int b=1; /设置跳跃点,用于退出设置模式 int c=0; /进入下限报警值设置初始化值 for(;) AD1_Measure(TRUE); AD1_GetValue16(&val); /AD转换温度电压值 v = val; r = 10/(v/65536)-10; /电压转换电阻 /R25=10K, T2=273.15+25,B=3270, /RT=10*EXP(3270*(1/T1-1/(273.15+25) T = 1/(log(r/10)/3270+1/(273.1

7、5+25)-273.15; /电阻转换温度 display_num(T); /数码管显示温度值 display(T); /用浮点数显示温度值 for(i=0;i<200000;i+); while(BitS1_GetVal()=0) /按键S1设置上限报警值 display_num(a); delay(); if(b=0) break; while(1) if(BitS1_GetVal()=0) delay();if(BitS1_GetVal()=0)display_num(+num); if(BitS2_GetVal()=0)delay();if(BitS2_GetVal()=0)di

8、splay_num(-num); if(num<0) num = 0; display_num(num); if(num>99) num = 99; display_num(num); d=num; if(BitS1_GetVal()=0 && BitS2_GetVal()=0) delay(); if(BitS1_GetVal()=0 && BitS2_GetVal()=0) b=0; break; while(BitS2_GetVal()=0) /按键S2设置下限报警值 display_num(c); delay(); if(b=0) break

9、; while(1) if(BitS1_GetVal()=0) delay(); if(BitS1_GetVal()=0) display_num(+num1); if(BitS2_GetVal()=0) delay(); if(BitS2_GetVal()=0) display_num(-num1); if(num1<0) num1 = 0; display_num(num1); if(num1>99) num1 = 99; display_num(num1); e=num1; if(BitS1_GetVal()=0 && BitS2_GetVal()=0) de

10、lay(); if(BitS1_GetVal()=0 && BitS2_GetVal()=0) b=0; break; if(T>d) /温度上限报警判断 BitDS1_PutVal(0); delay(); BitDS1_PutVal(1); if(T<e) /温度下限报警判断 BitDS1_PutVal(0); delay(); BitDS1_PutVal(1); 子函数:void disp(int d) /数码管显示char segments10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;char ch

11、 =segmentsd%10;int i;for(i=0;i<8;i+)if(ch & 0x80)=0)Bit164Data_PutVal(0);elseBit164Data_PutVal(1);Bit164Clk_PutVal(1);Bit164Clk_PutVal(0);ch <<= 1;void display_num(int n) /取百,十,个位disp(n/100%10);disp(n/10%10);disp(n%10);void delay() /延时int i;for(i=0;i<500000;i+);void display(float f)

12、/浮点数char seg10 = 0xc0,0xf9, 0xa4, 0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;char ch3,ch2,ch1;int i, val;if(f<10)val = f * 100;ch3 = segval/100%10 & 0x7f;ch2 = segval/10%10;ch1 = segval%10;else if(f<100)val = f * 10;ch3 = segval/100%10;ch2 = segval/10%10 & 0x7f;ch1 = segval%10;elseval = f;ch3

13、= segval/100%10;ch2 = segval/10%10;ch1 = segval%10;for(i=0;i<8;i+)Bit164Data_PutVal(ch3 & 0x80);Bit164Clk_PutVal(1);Bit164Clk_PutVal(0);ch3 <<= 1;for(i=0;i<8;i+)Bit164Data_PutVal(ch2 & 0x80);Bit164Clk_PutVal(1);Bit164Clk_PutVal(0);ch2 <<= 1;for(i=0;i<8;i+)Bit164Data_PutVal(ch1 & 0x80);Bit164Clk_PutVal(1);Bit164Clk_PutVal(0);ch1 <<= 1;课程设计心得体会: 通过这一次的课程设计程序的编写让我体会良多,温度测试和灯光报警部分难度不大,经过几次试验、修改,程序

温馨提示

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

评论

0/150

提交评论