用LED数码管和DS18B20设计的温度显示器.docx

上传人:王** 文档编号:1285324 上传时间:2024-06-09 格式:DOCX 页数:17 大小:47.38KB
下载 相关 举报
用LED数码管和DS18B20设计的温度显示器.docx_第1页
第1页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第2页
第2页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第3页
第3页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第4页
第4页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第5页
第5页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第6页
第6页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第7页
第7页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第8页
第8页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第9页
第9页 / 共17页
用LED数码管和DS18B20设计的温度显示器.docx_第10页
第10页 / 共17页
亲,该文档总共17页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《用LED数码管和DS18B20设计的温度显示器.docx》由会员分享,可在线阅读,更多相关《用LED数码管和DS18B20设计的温度显示器.docx(17页珍藏版)》请在优知文库上搜索。

1、单片机课程设计说明书用1.ED数码管和DS18B20设计的温度显示器专业电气工程及其白动化学生姓名萱迪班级B电气081学号0810601112指导教师张兰红完成日期2011年6月23日目录1 .概述O1.1 课题设计背景和意义O1.2 课题设计内容12 .课程方案设计12.1 系统总体设计要求12.2 系统模块结构论证1方案一1方案二13 .系统硬件设计33.1 总体设计33.2 单片机最小运行系统33.3 温度传感器(DS18B20)电路33.4 七段数码管显示电路43.5 驱动电路44 .系统软件设计54.1 程序结构分析54.2 系统程序流图55 .软硬件联调75.1 软硬件调试中出现的

2、问题及解决措施75.2 实物图75.3 调试结果7结束语8参考文献9附录附录1:基于单片机的温度显示系统设计原理图11附录2:基于单片机的温度显示系统设计PCB图11附录3:proteus仿真图11附录4:基于单片机的温度显示系统设计C语言程序清单11附录5:基于单片机的温度显示系统设计元器件目录表141.概述1.1 课题设计背景和意义由于现代工艺越来越多的需要对实时温度进行监测和控制,而且需要的精度越来越高。所以温度控制系统国内外许多有关人员的重视,得到了十分广泛的应用。温度控制系统开展迅速,而且成果显著。由于单片微处理器的性能日益提高、价格又不断降低,使其性能价格比的优势非常明显。“用1.

3、ED数码管和DS18B20设计的温度显示器”课程设计,主要设计以一个单片机为控制核心的温度自动测量系统,一方面,本次设计是一个单片机系统,对它的设计和制作可以灵活运用在单片机课程中所学的知识,并使之得到稳固和提高。另一方面,它的测温局部采用了美国Dallas半导体公司的DS18B20一线式数字式温度传感器,DS18B20是最新一代的测温器件,具有许多优点,它正在逐步取代传统的测温元件一一热敏电阻和热电偶。1.2 课题设计内容本课题的主要任务是设计并制作用1.ED数码管和DS18B20设计的温度显示器,即根据温度传感器感受室温,通过数码管显示出来。它能感受微小的温度误差,灵敏度为0.1摄氏度。灵

4、活方便,用途广泛。设计温度显示器的硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的实物。2.课程方案设计2.1 系统总体设计要求该系统组要有STC89C51为核心的主控电路测温电路(DS18B20)、1.ED显示电路。2.2 系统模块结构论证方案一针对钳热电阻传感器测量温度,采用普通稳压源桥式电路而产生非线性误差的问题,运用集成运算放大器工作在线性区域的特性,将恒流源原理应用到测温桥式电路中,并采用集成A/D转换技术的单片机Megal6,通过运算消除了非线性误差,实现了对温度的精确测量。试验结果说明,应用此种测温电路,缩短了单片机计算时间,一定程度

5、上缓解了变送滞后对测量精度的影响,同时降低了误差。图2-1钝电阻桥式测温电路方案二考虑使用数字温度传感器,结合单片机电路设计,采用一只DS18B20温度传感器,直接读取被测温度值,之后进行转换,依次完成设计要求。图1DS18B20温度测温系统框图一方案比拟方案一采用模拟温度传感器,数据处理麻烦,且容易产生信号失真.DS18B20可以直接温度转换为串行数字信号,供单片机进行处理,具有低功耗、高性能、抗干扰能力强等优点。比拟以上两种方案,很容易看出,采用方案二,电路比拟简单,软件设计容易实现,故实际设计中拟采用方案二。在本系统的电路设计方框图如图2-3所示。图2-3温度计电路总体设计方案DS18B

6、20是DaIlaS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成多点温度测控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理,且在同一总线上可以挂接多个传感器芯片,它具有三引脚To-92小体积封装形式,温度测量范围一55+125C,可编程为912位A/D转换精度,测温分辨率可达0.0625C,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,多个DS18B20可以并联到三根或者两根线上,CPU只需一根端口线就能与多个DS18B20通信,占用微处理器的端口较少,可节省

7、大量的引线和逻辑电路。从而可以看出DS18B20可以非常方便的被用于远距离多点温度检测系统。3.系统硬件设计3.1 总体设计根据第2节设计方案,设计的系统总体电路如附录1所示,下面具体介绍每一局部的设计。3.2 单片机最小运行系统a)晶振晶振为单片机提供时钟信号。单片机XIA1.l和机A1.2分别接30PF的电容,中间再并个12MHZ的晶振,形成单片机的晶振电路。图3-1晶振电路b)复位电路单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RS

8、T引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,那么CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位。图3-2复位电路A1.E引脚悬空,复位引脚接到复位电路、VeC接电源、VSS接地、EA接电源3.3 温度传感器(DS18B20)电路DS18B20是美国DA1.1.AS半导体公司推出的第一片支持“一线总线”接口的温度传感器,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号处理器处理。DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流到

9、达ImA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,下列图电路只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCe必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。图3-3温度传感器电路引脚图如图3-2,P3.6引脚接继电器电路的4.7K的限流电阻上。DS18B20有六条控制命令:温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、T1.字节复制暂存器48H把暂存器的TH、T1.

10、字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、T1.字节写到暂存器TH、T1.字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPUDS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图3.1所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个三极管来完成对总线的上拉。本设计采用电源供电方式,P2.2口接单线总线为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个上拉电阻和STC89C52的P2.2来完成对总线的上拉。

11、当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10USo采用寄生电源供电方式是VDD和GND端均接地。由于单线制只有一根线,因此发送接收口必须是三状态的。主机控制DS18B20完成温度转换必须经过3个步骤: 初始化。 ROM操作指令。 存储器操作指令。1.4 七段数码管显示电路当位选翻开时,送入相应的段码,那么相应的数码管翻开,关掉位选,翻开另一个位选,送入相应的段码,那么数码管翻开,而每次翻开关掉相应的位选时,时间间隔低于20ms,从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。图3-4数码管引脚图考虑到实际室温的温度范围,显示需用五

12、位,硬件中用了2个四位数码管,共8个位选,接到P2口.1.5 驱动电路一般也可以用三极管9012来驱动4位数码管,不仅增加了本钱也增加了布线难度,功耗大。这里用锁存器741.S245来驱动数码管显示。图3-5741.S245引脚图741.S245是常用的芯片,用来驱动1.ED或者其他的设备,它是8路双向总线收发器,可双向传输数据。741.S245还具有双向三态功能,既可以输出,也可以输入数据。当AT89C51单片机的PO口总线负载到达或超过PO口最大负载能力时,必须接入741.S245等总线驱动器。DIR为方向控制端。当后端为低电平时,DIR=0,信号由B向A传输(接收);当DIR=1”时,信

13、号由A向B传输(发送);当后为高电平时,A、B均为高组态。A总线端接8位PO口,B总线端接数码管的a、b、c、d、e、f、g、dp引脚。4 .系统软件设计4.1 程序结构分析主程序调用了2个子程序,分别是数码管显示程序、温度信号处理程序。温度信号处理程序:对温度芯片送过来的数据进行处理,进行判断和显示。数码管显示程序:向数码的显示送数,控制系统的显示局部。4.2 系统程序流图系统程序主要包括主程序,读出温度子程序,写入子程序等,按键子程序,串口通信程序,显示子程序。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每IS进行一次。这样可以在一秒之内测量一

14、次被测温度,其程序流程见图4.2所示。通过调用读温度子程序把存入内存储中的整数局部与小数局部开分存放在不的的两个单元中,然后通过调用显示子程序显示出来。图4dDS18B20温度流程图ucharInit_DS18B20()(ucharstatus;DQ=l;Delay(8);DQ=0;Delay(90);DQ=l;Delay(8);Status=DQ;Delay(100);DQ=I;returnstatus;ucharReadOneByteO(uchari,dat=0;DQ=l;_nop_();for(i=0;i8;i+)(DQ=O;dat=1;DQ=1;_nop_();_nop_();if(D

15、Q)dat=0x80;Delay(30);DQ=1;)returndat;)voidWriteOneByte(uchardat)(uchari;for(i=0;i=1;)voidRead-Temperature()(if(Init.DS18B20()=l)DS18B20JS_OK=0;else(WriteOneByte(OxCC);WriteOneByte(Ox44);Init_DS18B20();WriteOneByte(OxCC);WriteOneByte(OxBE);TemP_Value=ReadOneByteO;Temp_Value1=ReadOneByte();DS18B20JS_OK=1;5 .软硬件联调5.1 软硬件调试中出现的问题及解决措施第一次上电调试,设置温度上限为35摄氏度,温度下限为28摄氏度。但温度却不显示出来,后经检查发现原来是DS18B20初始化时间设置不对,导致没法读到DS18B20

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 通信/电子 > 电子设计

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!