下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 温度传感器电路

温度传感器电路.doc

温度传感器电路

王弥茂
2017-09-26 0人阅读 举报 0 0 暂无简介

简介:本文档为《温度传感器电路doc》,可适用于综合领域

DSB温度传感器电路设计默认分类::阅读评论  字号:大中小 订阅《单片机原理及应用》项目设计 DSB温度传感器电路设计  一  项目设计方案概述温度是一种最基本的环境参数人民的生活与环境的温度息息相关在工业生产过程中要实时测量温度在农业生产中也离不开温度的测量因此研究温度的测量方法和装置具有重要意义。在单片机的应用中一个很重要的应用就是对温度进行检测。测量温度的关键是温度传感器采用智能温度传感器以实现温度数字化既能以数字形式直接输出被测温度值具有测量误差小分辨力高抗干扰能力强能够远程传输数据带串行总线接口等优点。温度的数字输出显示LCD液晶显示器上。单片机、温度传感器DSB与LCD液晶显示器等电子元器件的互联可以研制和开发出具有高性价比的新一代测温系统基于单片机ATS的数字温度计。基于单片机的数字温度计设计即对温度进行实时测量使用单线数字温度传感器DSB把温度信号直接转换成数字信号输入单片机。经单片机处理后将实时温度显示LCD液晶显示器上。 二  项目设计具体模块分析、    总控模块ATS是一种低功耗、高性能CMOS位微控制器具有K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造与工业C产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程亦适于常规编程器。在单芯片上拥有灵巧的位CPU和在系统可编程Flash使得ATS为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。ATS具有以下标准功能:k字节Flash字节RAM位IO口线看门狗定时器个数据指针三个位定时器计数器一个向量级中断结构全双工串行口片内晶振及时钟电路。另外ATS可降至Hz静态逻辑操作支持种软件可选择节电模式。空闲模式下CPU停止工作允许RAM、定时器计数器、串口、中断继续工作。掉电保护方式下RAM内容被保存振荡器被冻结单片机一切工作停止直到下一个中断或硬件复位为止。 、电源模块电源采用了芯片。他的封装形式为TO他有一系列固定的限制以及过热保护和安全工作区的保护使它基本上不会损坏。如果能够提供足够的散热片它们就能提供大于A的输出电流。虽然是按照固定电压值来设计的但是当接入适当的外部器件后就能获得各种不同的电压和电流。它的特点有:最大输出电流为A输出电压为V拥有热过载保护、短路保护以及输出晶体管安全工作区保护。 、传感器模块本项目的传感器模块采用了DSB芯片。传统的温度检测可以使用热敏电阻作为温度敏感元件热敏电阻主要优点是成本低但需后续信号处理电路而且可靠性相对较差准确度和精度都较低。美国Dallas公司最新推出的DSB数字式温度传感器与传统的热敏电阻温度传感器不同它能够直接读出被测温度并且可根据实际要求通过简单的编程实现~位的数字值读数方式可以分别在ms和ms内将温度值转化位和位的数字量。因而使用DSB可使系统结构更简单可靠性更高。芯片的耗电量很小从总线上“偷”一点电存储在片内的电容中就可正常工作一般不用另加电源。最可贵的是这些芯片在检测点已把被测信号数字化了因此在单总线上传送的是数字信号这使得系统的抗干扰性好、可靠性高、传输距离远。系统有如下特点:()单线接口只有一根信号线与CPU连接单总线器件具有线路简单体积小的特点()不需要备份电源可通过信号线供电电源电压范围从~V()传送串行数据不需要外部元件()温度测量范围从℃~℃~℃时测量精度为±℃()通过编程可实现~位的数字值读数方式(出厂时被设置为位)()零功耗等待()现场温度直接以“一线总线”的数字方式传输大大提高了系统的抗干扰性适合于恶劣环境的现场温度测量如环境控制、设备或过程控制、测温类消费电子产品等。 、           显示模块显示模块采用了型号为的LCD。它体积小、功耗低、超薄轻巧等优点在袖珍式仪表和低功耗应用系统中得到广泛的应用。它分为带背光和不带背光两种基控制器大部分为HD本设计中应用的是带背光的带背光的比不带背光的厚但两者在应用中并无差别。LCD主要技术参数:显示容量:×个字符芯片工作电压:V工作电流:mA(V)模块最佳工作电压:V字符尺寸:×(W×H)mm。 、项目展望本设计也有许多可以改进的地方首先可以安装报警器当温度超过温度测量范围时就可报警。其次也可以安装一个可以在可变范围内调节温度上下限的按钮。本电路也存在缺点由于将传感器焊接在板子上板子不能绝缘密封的所以不适合测量液体的温度。限制了此温度计的使用。  四、项目设计的理解单片机的接口信号是数字信号。要想用单片机获取温度这类非电信号的信息,必须使用温度传感器,将温度信息转换为电流或电压输出。如果转换后的电流或电压输出是模拟信号,还必须进行AD转换,以满足单片机接口的需要。传统的温度检测大多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度准确率低,而且还必须经专门的接口电路转换成数字信号后才能由单片机进行处理。 附件一:、           原理图  附件二:、    仿真图  附件三:、    程序代码#include<regh>#defineucharunsignedchar#defineuintunsignedint sbitDQ=P^dsb与单片机连接口sbitRS=P^sbitRW=P^sbitEN=P^unsignedcharcodestr={"temperature:"}unsignedcharcodestr={"             "}unsignedcharcodestr={"Hello!DaLian"} uchardatadisdatauinttvalue温度值uchartflag温度正负标志*************************lcd程序**************************voiddelayms(unsignedintms)延时毫秒(不够精确的){unsignedinti,j  for(i=i<msi)  for(j=j<j)}voidwrcom(unsignedcharcom)写指令{delayms()  RS=  RW=  EN=  P=com  delayms()  EN=  delayms()  EN=}voidwrdat(unsignedchardat)写数据{delayms()  RS=  RW=  EN=  P=dat  delayms()  EN=  delayms()  EN=}voidlcdinit()初始化设置{delayms()wrcom(x)delayms()wrcom(x)delayms()wrcom(x)delayms()wrcom(x)delayms()wrcom(xc)delayms()}  voiddisplay(unsignedchar*p)显示{while(*p!=''){wrdat(*p)pdelayms()}}voidinitplay()初始化显示{ lcdinit()   wrcom(x)display(str)wrcom(xc)display(str)} voidinitplay()初始化显示{lcdinit()   wrcom(x)display(str)wrcom(xc)   delayms()display(str)}*************************dsb程序**************************voiddelayB(unsignedinti)延时微秒{  while(i)}voiddsrst()*ds复位*{unsignedcharx=DQ=         DQ复位delayB()延时DQ=         DQ拉低delayB()精确延时大于usDQ=         拉高delayB()} uchardsrd()*读数据*{unsignedchari=unsignedchardat=for(i=i>i){  DQ=给脉冲信号      dat>>=      DQ=给脉冲信号      if(DQ)      dat|=x      delayB()}  return(dat)}voiddswr(ucharwdata)*写数据*{unsignedchari=   for(i=i>i)   {DQ=       DQ=wdatax       delayB()       DQ=       wdata>>=   }}readtemp()*读取温度值并转换*{uchara,bdsrst()   dswr(xcc)*跳过读序列号*dswr(x)*启动温度转换*dsrst()   dswr(xcc)*跳过读序列号*dswr(xbe)*读取温度*a=dsrd()b=dsrd()tvalue=btvalue<<=tvalue=tvalue|a  if(tvalue<xfff)  tflag=   else  {tvalue=~tvaluetflag=  }tvalue=tvalue*()温度值扩大倍精确到位小数return(tvalue)}*******************************************************************  voiddsdisp()温度值显示{ucharflagdat  disdata=tvaluex百位数  disdata=tvaluex十位数  disdata=tvaluex个位数  disdata=tvaluex小数位  disdata=xdf  disdata='C'     disdata='H'  if(tflag==)  flagdat=x正温度不显示符号  else  flagdat=xd负温度显示负号:  if(disdata==x)     {disdata=x如果百位为不显示         if(disdata==x)         { disdata=x如果百位为十位为也不显示          }     }  wrcom(xc)  wrdat(flagdat)显示符号位  wrcom(xc)  wrdat(disdata)显示百位  wrcom(xc)  wrdat(disdata)显示十位  wrcom(xc)  wrdat(disdata)显示个位  wrcom(xc)  wrdat(xe)显示小数点  wrcom(xc)  wrdat(disdata)显示小数位  wrdat(disdata)  wrdat(disdata)}********************主程序***********************************voidmain(){initplay()  initplay()初始化显示   while()  {readtemp()读取温度      dsdisp()显示}} 

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/9

温度传感器电路

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利