温度检测系统设计说明书_第1页
温度检测系统设计说明书_第2页
温度检测系统设计说明书_第3页
温度检测系统设计说明书_第4页
温度检测系统设计说明书_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

单机课设计说明书题系专班

目:部:业:级:

温度检测系统设计学生姓名指导教师

号年

日目

设计任务与要求1.1设计任务.....................................................11.2设计要求.....................................................1设计方案硬件电路设计3.1最小系统电路.................................................13.2温度采集模块.................................................33.3显示模块.....................................................43.4硬件总体仿真图...............................................7主要参数计算与分析4.1DS18B20的主要参数...........................................74.2STC89C52RC的主要参数........................................84.3LCD1602的主要参数...........................................8软件设计5.1主程序流程图.................................................95.2温度测量系统各子模块.........................................9心得体会参考文献附录8.1实物图......................................................128.2元件清单....................................................138.3C语言程序..................................................设计任务要求设任设计一个温度检测系统。设要用温度传感器测环境温度,用LCD1602显示测量结果。用PROTEUS仿真。焊接电路板并调试运行。设计方案总体设计方案采用单片机作控制器,温度传感器选用来设计数字温度计。主控制器由单片实现,测温电路由温度传感器S18B实现,显示电路液晶显示器直读显示。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。该设计控制器使用单片机,测温传感器使用D实现温度显示,能准确达到以上要求。如图一所示。图一

总体设计方硬件电路计3.1

最系电单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统51系列单片机来说系统包括机钟电路位电路。如图二所示:图二最小系统电路3.1.1时钟电路STC89C52内部有一个用于构成振荡器的高增益反相放大器,引TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生引脚上外接定时元件荡器就产生自激振荡件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以之间选择,电容值5~30pF间选择,电容值的大小可对频率起微调的作用。外部方式的时钟接地接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时和P2,供单片机使用。如图三所示:图三

时钟电路3.1.2复位及复位电路复位是单片机的初始化操作。其主要功能是始化为0000H,使单片机从0000H元开始执行程序进入系统的正常初始化之外序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应振荡周(即二个机器周以上若使用颇率6MHz晶振则复位信号持续时间应超4us才能完成复位操作。整个复位电路包括芯片内分部电路产生的复位信至施密特触发器由片内复位电路在每个机器周期时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。复位操作有上电自动复位相按键手动复位两种方式。复位电路如图四所示:图四复位电路3.2

温采模3.2.1温度传感器的选择DS18B20是常用的温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同温度转换时的延时时间由2s减为750msDS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1温度系数晶振随温度变化其振荡率明显改变产生的信号作为计数器2的脉冲输入器1和温度寄存器被预置在55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时温度寄存器的值将加1计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器计数到0,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。3.2.2DS18B20管脚功能及接线方法管脚功能:GND为电源地、DQ为数字信号输入/输出端、VDD为外接供电电源输入端(在寄生电源接线方式时接地)接线方法:面对着平的那一面,左负右正,一旦接反就会立刻发热,有可能烧毁!同时,接反也是导致该传感器总是显示℃的原因。实际操作中将正负反接,传感器立即发热,液晶屏不能显示读数,正负接好后显示℃。另外,如果使用51单片机的话,那么中间那个引脚必须接上—10K的上拉电阻,否则,由于高电平不能正常输入/输出要么通电后立即显示85℃要么用几个月后温度在85℃与正常值上乱跳。DS18B20管脚如图五所示。图五DS18B20管脚DS18B20与单片机的连接电路,如图六所示。图六DS18B20与单片机的连接电路3.3

显模3.3.1LCD的选择LCD是一种工业型字符液晶,它能够显32个字符16列×2行作电压为3.3V或5V,对比度可自行调节,LCD内部内部含有复位电路,用来提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。由于LCD1602功耗低、体积小、显示多样,常用在微型仪表和低功耗应用中。市面上字符液晶绝大多数是基于液芯片,LCD1602制原理也基于。LCD1602采用标准14脚(无背光)或16脚(有背光)接口。3.3.2LCD1602显示器的管脚功能LCD1602采用标准的脚(无背光)16脚(带背光)接口,各引脚接口说明如下表一所示。表

LCD1602显示器引脚说明编号

符号VSSVDDVLRSR/WED0D1

引脚说明电源地电源正极液晶显示偏压数据/命令选择读/写选择使能信号数据数据

编号

符号D2D3D4D5D6D7BLABLK

引脚说明数据数据数据数据数据数据背光源正极背光源负极图七LCD1602管脚图第1脚:VSS为地电源。第2脚:VDD接正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚端为使能端当E端由高电平跳变成低电平时晶模块执行命令。第7~14脚:D0为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。液晶与单片机的连接电路如图八所示。图八

液晶与单片机的连接电路3.4

硬总仿图本设计大体可分为三个部分,处理模块、温度采集模块、显示模块处理模块采用单片STC89C52RC,包括时钟电路、复位电路;温度采集模块采用温度传感D进行温度采集P3.6管脚发送CPU进行处理模块采用16管脚L,数据通过单片机P2口输到,最LCD1602将温度显示出来。如图九所示。图九硬件总体仿真图主要参数算与分析的主参独特的单线接口方式DS18B20在微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。测温范围℃~+125℃,固有测温误差(注意,不是分辨率,这里之前是错误的)1℃。支持多点组网功能,多个可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。工作电源:3.0~5.5V/DC(以数据线寄生电源)在使用中不需要任何外围元件测量结果以位数字量方式串行传送不锈钢保护管直径Φ6适用于DN15~25,DN40~DN250种介质工业管道和狭小空间设备测温(9)标准安装螺纹M10X1,M12X1.5,G1/2"任选(10)PVC电缆直接出线或德式球型接线盒出线便于与其它电器设备连接。的主参增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.[2]?工作电压:~3.3V(5V单片机)/3.8V~2.0V(3V单片机)工作频率范围:~40MHz,相当于普通80510~80MHz,实际工作率可达48MHz用户应用程序空间为字节片上集成512字节RAM通用I/O(32个后为P0/P1/P2/P3是准双向口弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。ISP(在系统可编程)(在应用可编程需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1直接下载用户程序,数秒即可完成一片具有EEPROM功能具有看门狗功能共3个16位定时器/计数器。即定时器T0、T1、T2外部中断4路,下降沿中断或低电平触发电路,PowerDown式可由外部中断低电平触发中断方式唤醒通用异步串行口(可用定时器软件实现多个UART工作温度范围:~+85℃(工业级)/0~75℃(商业级)的主参显示容量:16×2个字符芯片工作电压:4.5工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm软件设计主序程图十

主程序流程图温测系各模5.2.1DS18B20读取温度部分读温度值模块需要调用4个子程序,分别为:DS18B20初始化子程序:让单片机知道在总线上且已准备好操作DS18B20写字节子程序:对发出命令DS18B20读字节子程序:读取存储器的数据延时子程序:对操作时的时序控制读温度值模块流程,如图十一所示:图十一

读温度值模块流程DS18B20初始化子程序流程图,如图十二所示:图十二

DS18B20初始化子程序流程本系统中液晶显示器初始化程序流程,如图十三所示:图十三

液晶显示器初始化程序流程6

心得体会经过两周时间的努力,基于单片机的简易温度系统设计基本完成。但设计中的不足之处仍然存在。这次设计是我第一次设计电路,并用现了仿真。在这过程中,我对电路设计,单片机的使用等都有了新的认识。通过这次设计学会了Proteus和KeilC51软件的使用方法,掌握了从系统的需要、方案的设计、功能模块的划分、原理图的设计和电路图的仿真的设计流程,积累了不少经验。基于单片机的简易温度系统设计使用性强、结构简单、成本低、外接元件少。在实际应用工作应能好,测量温度准确,精度高。系统功能、指标达到了课题的预期要求、系统在硬件设计上充分考虑了可扩展性,经过一定的改造,可以增加功能。本文设计主要实现了简易温度测量的功能,详细说明了从原理图的设计、电路图的仿真再到软件的调试。通过本次设计,我对单片机这门课有了进一步的了解。无论是在硬件连接方面还是在软件编程方面。本次设计采用了STC89C52RC片机芯片,以前在学单片机课程时只是对其理论知识有了初步的理解。通过这次设计,对它的工作原理有了更深的理解。在调试过程中遇到很多问题,硬件上的理论知识学得不够扎实,对电路的仿真方面也不够熟练。总之这次电路的设计和仿真,基本上达到了设计的功能要求。在以后的实践中,我将继续努力学习电路设计方面的理论知识,并理论联系实际,争取在电路设计方面能有所提升。参考文献[1]单片机原理及应用.张兰红,邹华主编.机械工业出版社,2016.[2]数字电子技术基础(第5版).阎石编.等教育出版社,2006.[3]模拟电子技术基础(第五版).童诗白编高等教育出版社,2006.[4]电路(第5版).邱关源编.高等教育出版社,[5]电子技术课程设计指导.彭介华编.高等教育出版社,2005年出版.[6]

电子技术基础实验-电子电路实验、设计、仿真.陈大钦主.高等教育出版社,2002年出版.附录实图元清温度检测单机用元器件明细表名称

封装

型号

参数

数量瓷片电容石英晶体电阻电解电容CPUCPU座电阻温度传感器电位器液晶显示器

直插直插直插直插双列直插双列直插直插直插直插

1/4WSTC89C52RCDIP-401/4WDS18B203296W-103LCD1602

30PF11.0592MHZ10K22UF/16VHD4.7K10K

21111111111P杜邦线彩母对母两头插好杜

孔对孔40根单根长度30色

邦头

一排

20cm

针排针

直插

脚距2.54高1X40单插30最小系统板洞洞板

119X7CM

针单面

线11C语言程序#include"reg51.h"#include"intrins.h"#defineucharunsignedchar#defineuintunsignedintucharcodetable1[]={""};//迎显示ucharcodetable2[]={""};//迎显示ucharcodestr1[]={"Temperature"};ucharcodestr2[]={""};//************管脚定义************************sbitlcd_rs=P3^0;//晶数据命令选择端sbitlcd_en=P3^1;//晶使能sbitDQ=P3^6;//晶使能//************参数定义************************uinttvalue;//温度值uchartflag;//温度正负标志uchardatadisdata[5];//************子函数定义************************voiddelay(uintz);voidinit_lcd();

//delay延时子程序//LCD1602初始化函数voidwrite_com(ucharcom);//LCD1602写指令函数voidwrite_data(uchardate);//LCD1602数据函数voidlcd1602_display(uchar*q,uchar*p);//LCD1602示函数voidwelcome_1();//LCD1602显示欢迎函数voiddelay_DS18B20(uinti);//delay_DS18B20函数voidInit_DS18B20_display();//DS18B20始化显示voidInit_DS18B20();//DS18B20初始化ucharReadOneByte();//DS18B20读一字节voidWriteOneByte(uchardat);//DS18B20一字节Read_Temperature();//DS18B20读取温度值并转换voidDS18B20_display();//DS18B20度显示//************主函数************************voidmain(){welcome_1();Init_DS18B20_display();while(1){Read_Temperature();DS18B20_display();}}//************delay延时子程序************************voiddelay(uintz){uintx,y;for(x=0;x<z;x++)for(y=0;y<114;y++);}//************LCD1602初始化函数************************voidinit_lcd(){write_com(0x38);//设置16*2显示,5*7点阵,8位数据接口write_com(0x08);//写一个字符后地址指针加1write_com(0x01);//显示清零,数据指针清零write_com(0x06);//写一个字符后地址指针加1write_com(0x0c);//关显示,光标不显示不闪烁}//************LCD1602写指令函数************************voidwrite_com(ucharcom){delay(5);lcd_rs=0;lcd_en=0;P2=com;delay(5);

//选择写指令//将使能端置0//将要写的命令送到数据总线上//延时5ms,待数据稳定lcd_en=1;//由于初始化已将lcd_en置为0,使能端给一个高脉冲,delay(5);lcd_en=0;

//延时5ms,待数据稳定//将使能端置0以完成脉冲}//************LCD1602写数据函数************************voidwrite_data(uchardate){delay(5);lcd_rs=1;lcd_en=0;P2=date;delay(5);lcd_en=1;一个高脉冲,delay(5);lcd_en=0;

//选择写数据//将使能端置0//将要写的数据送到数据总线上//延时5ms,待数据稳定//由于初始化已将lcd_en置为,使能端给//延时5ms,待数据稳定//将使能端置0以完成脉冲}//************LCD1602显示函数******************voidlcd1602_display(uchar*q,uchar*p){write_com(0x80);//现将数据指针定位到第一行第一个字处while(*q!='\0'){write_data(*q);q++;delay(1);}write_com(0xc0);//现将数据指针定位到第二行第一个字处while(*p!='\0'){write_data(*p);p++;delay(1);}}//************LCD1602显示欢迎函数1******************voidwelcome_1(){init_lcd();lcd1602_display(table1,table2);delay(300);}//************DS18B20初始化显示**************voidInit_DS18B20_display(){init_lcd();lcd1602_display(str1,str2);}//************LCD1602显示函数******************voiddelay_DS18B20(uinti){while(i--);}//************DS18B20初始化******************voidInit_DS18B20(){DQ=1;//DQ复位delay_DS18B20(4);//延时DQ=0;//DQ拉低delay_DS18B20(100);DQ=1;//拉高delay_DS18B20(40);}//************DS18B20读一字节******************ucharReadOneByte(){uchari,dat=0;for(i=8;i>0;i--){DQ=0;

//给脉冲信号dat>>=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;delay_DS18B20(10);}return(dat);}//************DS18B20写一字节******************voidWriteOneByte(uchardat){uchari;for(i=8;i>0;i--){DQ=0;DQ=dat&0x01;delay_DS18B20(10);DQ=1;dat>>=1;}}//************DS18B20读取温度值并转换******************Read_Temperature(){uchara,b;Init_DS18B20();WriteOneByte(0xcc

温馨提示

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

评论

0/150

提交评论