数字温度计的设计与测量.doc_第1页
数字温度计的设计与测量.doc_第2页
数字温度计的设计与测量.doc_第3页
数字温度计的设计与测量.doc_第4页
数字温度计的设计与测量.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

数字温度计的设计与测量 摘要: 根据8051 的特点及APD 转换器的原理,实现温度测量的数字化和自动化.并且熟悉数字温度传感器DS18B20的使用,掌握用单片机口线进行1-wire串行通信的方法;根据DS18B20工作时序要求进行程序设计,能够通过软件调试正确得到采集的温度值;将单片机采集温度程序和显示程序结合起来,通过系统软硬件整体调试正确得到采集的温度值并进行显示。关键词:8051 单片机;数字温度计;APD 转换;温度传感器;数码管正文:温度测量涉及各行各业,而传统的温度测量仪器有酒精温度计、煤油温度计、水银温度计等,都需人工手动测量. 在科学技术发展的今天很多场合(有毒、高温、无人等) ,用传统的温度测量技术就显得比较麻烦. 单片机的出现,电子技术的飞速发展,使温度计的自动化、数字化就变得容易实现. 本文着重研究用单片机控制的数字温度计,采用LED 七段数码管显示温度值,实现一目了然的测量被测物的温度大小. 设计一个8051 单片机控制的数字式测温仪,测量温度0 50 ,并要求将温度在两个数码管上显示,分别显示十位数和个位数,最小温度变化量为1 ,每变化一个温度值在数码管上显示6秒.硬件结构如下所示制做简单的电路板,电路图如下所示关于A/D转换单元,由ADC0809 转换器及温度传感器电路组成. 温度传感器电路如图2 示,RT 为热敏电阻,起检测被测物温度的作用,将温度物理量变成电压物理量. 而ADC0809 是8 位APD 转换器,将温度传感器得到的模拟信号变成数字信号送入CPU. 从图2 可知APD 转换器的模拟输入端电压:Vi = 15R8P(R8 + RT) ,由热敏电阻特性可知,温度越高阻值越小,而获得的模拟电压值越高. 因ADC0809 具有通道地址锁存功能,所以这里采用P0. 0P0. 2 直接与模拟输入通道地址译码输入A、B、C 相接. 模拟电压Vi 从IN0 输入,因此模拟通道地址为F7F8H. 转换典型时钟频率为640KHz ,由于ADC0809 内部无时钟电路,在此通过8051 的ALE 端提供时钟信号. P0 口也作为ADC0809 的数据口用,数据信号就是通过P0 口送到8051 内部进行处理的.关于显示接口单元,由两个七段数码管显示器及一块七段锁存译码驱动器组成,并用P1 口作十进制调整后的二十进制数的输出口及显示控制口. 而数据信号只用上了P1. 0 P1. 3 ,P1. 4 和P1. 5 用作显示控制信号端. 4 位BCD 码再经CD4511 转换成七段显示码去驱动两个共阴七段数码管.通过计算机进行编程如下所示数值转换程序XJM: MOV DPTR , # DATA1 ; 取表首地址MOV R5 ,AMOV R6 , # 00HLOOP : CLR AMOVC A , A + DPTR ; 查表CLR C ; 清借位零SUBB A ,R5 ; 比较MOV A ,R6JNC JM1ADDC A , # 1DA A ; 温度值十进制调整MOV R6 ,AINC DPTR ; 取下一个表地址AJMP LOOP ; 进行下一次比较JM1 : RETA/D 输出值对照表:DATA1 : 58 0 61 1 63 2 :255 50 A/D转换程序START: MOV DPTR , # F7F8H ; 发APD 启动脉冲MOVX DPTR ,AMOV 30H , # 0AHDELY: DJNZ 30H ,DELY ; 延时,等EOC 变为低电平WEND: JB P3. 3 ,WEND ; 查APD 转换结束否MOVXA , DPTR ; 若结束,读取APD 转换值ACALL XJM ; 调数值转换子程序:显示程序MOV R0 ,AANL A , # 0FH ; 取低四位值ORL A , # 0E0HMOV R3 ,A ; 送个位数字到R3 中MOV A ,R0RR A ; 右移四位(高低四位交换位置)RR ARR ARR AANL A , # 0FHORL A , # 0D0HMOV R4 ,A ; 送十位数字到R4 中:如果用C程序则如下所示#include#include #define uchar unsigned char #define uint unsigned intsbit DATA = P37; /DS18B20接入口uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;char bai,shi,ge; /定义变量/*延时子函数*/void delay(uint num)while(num-) ;/*DS18b20温度传感器函数*/Init_DS18B20(void) /传感器初始化 uchar x=0; DATA = 1; /DQ复位 delay(10); /稍做延时 DATA = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us /450 DATA = 1; /拉高总线 delay(20); x=DATA; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(30);/读一个字节ReadOneChar(void)uchar i=0;uchar dat = 0;for (i=8;i0;i-) DATA = 0; / 给脉冲信号 dat=1; DATA = 1; / 给脉冲信号 if(DATA) dat|=0x80; delay(8); return(dat);/写一个字节WriteOneChar(unsigned char dat) uchar i=0; for (i=8; i0; i-) DATA = 0; DATA = dat&0x01; delay(10); DATA = 1; dat=1; delay(8);/读取温度int ReadTemperature(void)uchar a=0;uchar b=0;int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();/低位b=ReadOneChar();/高位t=b;t=8;t=t|a;tt=t*0.0625;t= tt*10+0.5; return(t);/*显示子函数*/void display(int bai,int shi,int ge)P2=0XFB; /显示小数点P0=0X80; /显示小数点delay(50);/显示小数点P2=0xf7;P0=tablebai;/显示千位delay(50);/一小段延时动态显示P2=0xfb;P0=tableshi;/显示百位delay(50);P2=0xfd;P0=tablege;/显示十位delay(100);P2=0xfe;P0=table0;/显示个位delay(50);void main()int temp;while(1) temp=ReadTemperature();/读温度bai=temp%1000/100;/显示百位shi=temp%100/10;/显示十位ge=temp%10;/显示个位display(bai,shi,ge);/显示函数 用计算机软件仿真如下电路结果分析实验需要的仪器设备如下所示1、单片机实验板 1套2、电脑1台 、示波器1台、焊接工具1套、万用表1台3、DS18B20 1个,通用板 1块,4.7k电阻1个,电线若干在该系统设计中送“个位数”或“十位数”后,需调用2 ms 的延时子程序,而显示一个温度值后应轮流显示6 秒的循环程序,程序设计较容易实现.有个别问题:数码管不能正常显示温度;或电路输出有闪烁不明的问题。前者可能是程序问题,也可能是板子问题,还有可能是单片机板与ds18b20板子的连接问题,后者多为需加个去抖动程序即可。本次实验过程中焊板较为简单,只是由两个电阻和一个DS18B20组成 即可完成程序,该系统设计运用了延时程序来表示十位和个位,程序较容易实现,成本低,适用范围广,应用于一般的数字温度测量已经达到要求,是一个入门实验的首选。增加了我的动手能力。 参考文献:1 蔡美琴,张为民,沈新群等.MCS 51 系列单片机系统及其应用M . 北京:高等教育出版社,1992.2 王振伟. 51P98 单片计算机原理及应用技术M . 长沙:湖南师范大学出版社,1996.3 瞿星志

温馨提示

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

评论

0/150

提交评论