温度计实验报告

上传人:新** 文档编号:560831264 上传时间:2023-04-12 格式:DOCX 页数:15 大小:365.68KB
返回 下载 相关 举报
温度计实验报告_第1页
第1页 / 共15页
温度计实验报告_第2页
第2页 / 共15页
温度计实验报告_第3页
第3页 / 共15页
温度计实验报告_第4页
第4页 / 共15页
温度计实验报告_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《温度计实验报告》由会员分享,可在线阅读,更多相关《温度计实验报告(15页珍藏版)》请在金锄头文库上搜索。

1、滨江学院微电子工艺制作报告学生姓名吴俊、沈阳宸徐伟、李阿欣学 号20092321922200923219132009232192320092321051院 系电子工程专 业电子科学与技术指导教师曹鸿殴二o_二年六月三号温度传感器摘要:温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器 在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器 实现对温度的测试与控制得到更快的开发,随着时代的进步和发展,单 片机技术已经普及到我们生活,工作,科研,各个领域。一种数字式温 度计以数字温度传感器DS18B20作感温元件,它以单总线的连接方式, 使电路大大的简化。传统的温度检测大多以热

2、敏电阻为传感器,这类传 感器可靠性差,测量温度准确率低且电路复杂。因此,本温度计摆脱了 传统的温度测量方法,利用单片机STC89C52对传感器进行控制。这样 易于智能化控制。关键词:数字测温;温度传感器DS18B20;单片机STC89C52;.概述传感器从功能上可分为雷达传感器、电阻式传感器、电阻应变式传感器、 压阻式传感器、热电阻传感器、温度传感器、光敏传感器、湿度传感器、生物传 感器、位移传感器、压力传感器、超声波测距离传感器等,本文所研究的是温度 传感器。温度传感器是最早开发,应用最广泛的一类传感器。温度传感器是利用物 质各种物理性质随温度变化的规律把温度转换为电量的传感器。这些呈现规律

3、性 变化的物理性质主要有半导体。温度传感器是温度测量仪表的核心部分,品种繁 多。随着科学技术的发展,测温系统已经被广泛应用于社会生产、生活的各个 领域,在工业、环境监测、医疗、家庭多方面均有应用。从而使得现代温度传感 器的发展。微型化、集成化、数字化正成为发展的一个重要方向。二.硬件设计1. DS18B20DS1820单线数字温度计特性独特的单线接口仅需一个端口引脚进行通讯简单的多点分布应用无需外部器件可通过数据线供电零待机功耗测温范围-55+125C,以0. 5C递增温度以9位数字量读出温度数字量转换时间200ms (典型值)用户可定义的非易失性温度报警设置报警搜索命令识别并标志超过程序限定

4、温度(温度报警条件)的器件(a)应用包括温度控制、工业系统、消费品、温度计或任何热感测系统DS1820温度传感器外观图(a)和引脚图(b) 引脚1接地 引脚2数字信号输入/输出 引脚3接高电平5V高电平2. STC89C52STC89C52是一种低功耗、高性能CM0S8位微控制器,具有8K在系统 可编程Flash存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程 Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的 解决方案。具有以下标准功能:8k字节Flash, 512字节RAM, 32位I/O 口线,看门狗定时器,内置4KBEEPR0M, MAX810复位电路,

5、三个16位 定 时器/计数器,一个6向量2级中断结构,全双工串行口。另外STC89X52可 降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方 式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个 中断或硬件复位为止。最高运作频率35Mhz, 6T/12T可选。(Bozdn (e二 E n nzdlz (二czdrl 0b:dn gzdrl (?gzdm n S 23 8rl 6rl oc 将 R A 8C 6C7UQZe urlvlx unvlxMEd(l2) u b.Edol u*d.

6、o!N_) LJO.Ed(axa) U1SH uA.azbos) LJ9a:(0s5 SQ:=SOW- uTa:ZJULdZHQ:(x3;:i UO.E图2-2-1 89C52管脚图3.晶振电路为了产生时钟信号,在8052内部设置了一个反相放大器,XTAL1是片内振 荡器反相放大器的输入端,XTAL2是片内振荡器反相放大器的输出端,也是内部 时钟发生器的输入端。当使用自激振荡方式时,XTAL1和XTAL2外接石英晶振, 使内部振荡器按照石英晶振的频率振荡,就产生时钟信号。本系统用12MHZ的石 英晶振,接AT89S52的18和19脚,具体电路如下图所示。U1 10kJ RSTPSEN ALE

7、EAP1.0i=Le R111k图2-3-1单片机的晶振电路4.复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时, 将使单片机复位,只要这个脚保持高电平,52芯片便循坏复位。复位后P0-P3丨1均置1引 脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低 电平时,芯片为ROM的0000H处开始运行程序。该芯片的复位脚为9脚,所以复位电路 接AT89S52的9脚,具体电路如卜图所示。 TR13C310UF 图2-4-1单片机的复位电路5.显示电路fc .mi 4侧2 用R讯务MwrxDiKDMP2.IW Z2A!0 RMt 吃WM2

8、 P珈门 说“ I21AI5QDKXD W1TX0 3jfrnr FtvrT nm图2-5-1整体电路图显示电路采用共阳数码管,数码管的A、DP端接单片机的P0. 00. 7端,1234 端通过三极管接单片机的Pl. 01. 3端,三极管实现放大作用。6.电源本系统电源釆用三节1.5v电池,使用时,用三节电池组成4. 5v的电源。三.软件设计ttinclude ttinclude INTRINS. H tidefine BUSY1(DQ1 二二 0)sbit LED_O二P2”0; sbit LED_1二P2”l; sbit LED_2=P22; sbit LED_3二P23;sbit DQ1

9、 二P6;/定义busy信号/定义数码管控制脚为Pl 口的0-3脚/定义18B20单总线引脚void display (unsigned char dl, unsigned char d2, unsigned char d3, unsigned char d4);声明显示函数void ds_reset_l (void) ;/声明 18B20 复位函数void wr_dsl8_l (char dat) ;/声明 18B20 写入函数void time_delay(unsigned char time) ;/声明延时函数int get_temp_l(void); void delay(unsign

10、ed int x);/声明18B20读入温度函数/声明延时函数void read_R0M(void); int get_temp_d(void); void ds_init(void); void ds_getT(void);/声明18B20读ROM函数/声明获取温度函数/声明18B20初始化函数/声明18B20获得温度显示值函数/* 定义数码管段码二二二二二 0-9 二二二二二 A-G二二二二二 */unsigned char a16 = 0xc0, 0xf9, 0xa4, OxbO, 0x99, 0x92, 0x82, 0xf8,0x80, 0x90, 0x88, 0x83, 0xc6,

11、Oxal, 0x86, 0x8e;/共阳极数码管的段码0123456789ABCDEFunsigned char ResuItSignal;int ResuItTemperatureLH, ResuItTemperatureLL, ResuItTemperatureH;unsigned unsigned unsigned unsigned unsigned unsigned unsigned void mainchar char char char charR0M8; idata TMP; idata TMP_d; f ; rd_dsl8_l ();int TemH, TemL; int co

12、unt;0/温度的整数部分和小数部分/定义小数计算部分ds_init();/18B20 初始化while(1)ds.getT() ;/使用该函数获得温度,整数部分存储到TemH,小数部分存储到count的低8位display(TemH/10)%10, TemH%10, (count/10)%10), (count%10);温度发送到数码管显示void ds_init(void)/reset/skip romunsigned int k=0; ds_reset_l (); ds_reset_l (); wr_dsl8_l(Oxcc); _nop_();wr dsl8 1(0x7f);ds_res

13、et_l (); wr_dsl8_l(Oxcc);_nop_();wr_dsl8_l(0x44);for (k=0;k11000;k+) time_delay (255);ds_reset_l (); 一 void ds_getT(void)wr_dsl8_l(Oxcc);wr_dsl8_l(Oxbe);TemH=get();TemL=get_temp_d();TemH&=0x00ff;TemL&二OxOOff;count二仃emH*256+TemL)*6 25;/*延时程序,单位 us,大于 lOus*/ void time_delay(unsigned char time)time 二 t

14、imeTO; time=time/6;while(time!=0)time一一;void ds_reset_l(void)unsigned char idata count二0;DQ1=O;time_delay(240);time_delay (240);DQ1=1;return;void check_pre_l(void)while(DQ1);whileCDQ1);time_delay(30);void read_R0M(void) int n; ds_reset_l (); check_pre_l(); wr_dsl8_l(0x33);for (n=0; n8; n+) ROM n =rd_ds 18_1 () ;bit tmrbit_l (v

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号