欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    单片机温度检测系统设计.docx

    • 资源ID:2610493       资源大小:902.16KB        全文页数:29页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机温度检测系统设计.docx

    1、单片机温度检测系统设计单片机课程设计说明书 题 目: 温度检测系统设计 系 部: 专 业: 班 级: 学生姓名: 学 号: 指导教师: 2015年 12 月 14 日2.1 设计思路 11 设计任务与要求11 设计任务 利用电阻、瓷片电容、电解电容、12MHz晶振、STC89C52单片机、DS18B20温度传感器、液晶显示器、1P杜邦线彩色、排针、最小系统板、电位器、洞洞板等,完成一个温度检测系统。 1、采用单片机及温度传感器设计温度检测系统; 2、温度检测结果采用液晶显示器输出; 3、必须具有上电自检功能及外接电源,公共地线接口。1. 2 设计思路 1、熟悉此电路工作原理。 2、掌握组装与调

    2、试方法。 3、画出Proteus原理图,PCB图。 4、用Proteus仿真。 5、测量范围099摄氏度,精度误差小于1摄氏度。 6、一份设计说明书。 7、做出所设计的系统的实物。2 设计方案2. 1 设计方案 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以可以采用温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行

    3、转换,就可以满足设计要求。 故针对上述现象,本文设计了一种由单片机控制的温度采集与显示系统,它以STC89C52单片机为核心,采用温度传感器DS18B20实现对温度信号的采集以及运用LCD1602液晶显示器来显示数据。在温度信号的采集方面,采用DS18B20型温度传感器,与传统的热敏电阻相比,它能够直接读出被测温度,并可根据实际要求通过简单的编码实现912位的数字式读数方式,可在-50300范围内显示数据,在-10+85时精度为0.5。2.2 单片机STC89C52RC2.2.1 单片机STC89C52RC功能介绍 STC89C52RC是STC生产的单时钟/机器周期(1T)的单片机,是高速、低

    4、功耗、超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位

    5、为止。最高运作频率35MHz,6T/12T可选。2.2.2 STC89C52RC管脚介绍STC89C52RC单片机,选用PDIP封装。管脚如图3-1所示:图2-1 PDIP封装的STC89C52 单片机的引脚功能说明: 1、电源引脚 VCC(40 脚):电源端,工作电压为5V。 GND(20脚): 接地端。 2、时钟电路引脚XTAL1(19 脚)和XTAL2(18 脚)。 3、复位 RST(9 脚)。 4、输入输出(I/O)引脚 P0.0-P0.7(39脚-32脚):输入输出脚,称为P0 口,是一个8 位漏极开路型双向I/O 口,内部不带上拉电阻。 P1.0-P1.7(1脚 - 8脚):输入输

    6、出脚,称为P1 口,是一个带内部上拉电阻的8 位双向I/0 口。 P2.0-P2.7(21脚28脚):输入输出脚,称为P2 口,是一个带内部上拉电阻的8 位双向I/O 口。 P3.0-P3.7 (10脚17脚):输入输出脚,称为P3 口,是一个带内部上拉电阻的8 位双向I/O 口。P3 端口具有复用功能。 2.2.3 STC89C52RC单片机器件参数 1、增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051。 2、工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)。 3、工作频率范围:040MHz,相当于普通805

    7、1 的080MHz,实际工作 频率可达48MHz 4、用户应用程序空间为8K字节。 5、片上集成512 字节RAM。 6、通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为 I/O 口用时,需加上拉电阻。 7、ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无 需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程 序,数秒即可完成一片 8、具有EEPROM 功能。 9、共3 个16 位定时器/计数器。即定时器T0、T1、T2。 10、外部中断4 路,下降沿中断

    8、或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒。 11、通用异步串行口(UART),还可用定时器软件实现多个UART。 12、工作温度范围:-40+85(工业级)/075(商业级)。 13、PDIP封装。2.3 温度传感器DS18B20 DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。2.3.1 DS18B20的主要特性 1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电。 2、独特的

    9、单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。 4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内。 5、温范围-55+125,在-10+85时精度为0.5。 6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。2.3.2 DS18B20的外形和内部结构 DS18B20内部结构主要由四部分组成:64位光刻ROM 、温度传感器

    10、、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如图3-2所示:图2-2 温度传感器DS18B20 DS18B20引脚定义: (1)GND为电源地; (2)DQ为数字信号输入/输出端; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。2.4 液晶显示器LCD16022.4.1 液晶显示器LCD1602功能介绍 1602液晶显示器也叫1602字符型液晶显示器,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和

    11、行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。如图3-3所示:图2-3液晶显示器LCD16022.4.2 LCD1602管脚介绍LCD1602采用标准的16脚接口,如图3-3所示,其中从左到右为1-16脚: 第1脚:GND为电源地 第2脚:VCC接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电

    12、平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。 第7-14脚:D0D7为8位双向数据端。第15-16脚:空脚或背灯电源,15脚背光正极,16脚背光负极。2.4.3 LCD1602主要特性 1、3.3V或5V工作电压,对比度可调。 2、内含复位电路。 3、提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能。 4、有80字节显示数据存储器DDRAM。 5、内建有192个5X7点阵的字型的字符发生器CGROM。6、8个可由用户自定义的5X7的字符发生器CGRAM。3 硬件电路设计3.1 系统框图温度检测系统由USB接

    13、口电源,DS18B20温度传感器组成的温度检测模块,STC89C52单片机组成的核心电路,复位电路、时钟电路及液晶显示器组成的显示电路构成。如图3-4所示: 图3-1 系统框图3.2 最小的单片机系统单片机最小系统以AT89C52RC为核心,外加时钟电路和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。3.2.1 时钟电路时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器。本系统采用的为12MHz的晶振,一个机器周期为1us,C1、C2为22pF。如图3-5所示图3-2 时钟电路仿真图3.2.2 复位电路复位电

    14、路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效。上电自动复位通过电容C3和电阻R1来实现。如图3-6所示:图3-3 复位电路原理图 按键手动复位是复位键来实现的,上图3-6中未添加复位键,复位键可添加在正5V电源与单片机RST管脚之间。3.3 温度检测系统设计DS18B20采用单线进行数据传输,第2管脚外接一个4.7k上拉电阻与单片机的P3.6口相连进行数据的双向传输,第3管脚外接正5V电源,第1管脚接地。如图3-7所示:图3-4 温度检测仿真图 外部电源供电方式是DS18B20的最佳工作方式,工作温度可靠,抗干扰能力强,电路也简单,并且可以开发出稳定可靠

    15、的多点温度监控系统。3.4 液晶显示电路设计LCD1602液晶显示屏采用标准的16脚接口,VSS管脚接地,VDD管脚接正5V电源,VEE管脚接电位器RV1,RS管脚外接单片机的P1.1口,RW管脚接地,E管脚外接单片机的P1.2口,D0-D7管脚分别接单片机的P2.0-P2.7口,仿真图未标识出的A、K管脚为背光灯电源管脚,分别接正5V电源和地。如图3-8所示: 图3-5液晶显示电路原理图液晶显示器虽然加了驱动电路,但并不发光,液晶显示器发出来的光是由背光发出的,灯管的特性类似于家用日光灯,工作时需要高压。这部分电路通常称为高压背光电路。或叫高压背光驱动电路。液晶显示器所消耗的电能基本全是由背

    16、光消耗。相对而言,这部分电路工作在高压大电流下,很容易出现故障,液晶显示器的自然故障大多数是这个部分出现了电路故障。4 主要参数计算与分析温度显示一共 2 个字节,LSB 是低字节,MSB 是高字节,其中 MSB 是字节的高位,LSB 是字节的低位。大家可以看出来,二进制数字,每一位代表的温度的含义,都表示出来了。其中 S表示的是符号位,低 11 位都是 2 的幂,用来表示最终的温度。DS18B20 的温度测量范围是从-55 度到+125 度,而温度数据的表现形式,有正负温度,寄存器中每个数字如同卡尺的刻度一样分布。如表一所示:TEMPERATUREDIGITAL OUTPUT(Binary)

    17、DIGITAL OUTPUT(Hex)+125度0000 0111 1101 000007D0h+25.0625度0000 0001 1001 00010191h+10.125度0000 0000 1010 001000A2h+0.5度0000 0000 0000 10000008h0度0000 0000 0000 00000000h-0.5度1111 1111 1111 1000FFF8h-10.125度1111 1111 0101 1110FF5Eh-25.0625度1111 1110 0110 1111FF6Fh-55度1111 1100 1001 0000FC90h表一 实际温度对照表

    18、二进制数字最低位变化 1,代表温度变化 0.0625 度的映射关系。当 0 度的时候,那就是0x0000,当温度 125 度的时候,对应十六进制是 0x07D0,当温度是零下 55 度的时候,对应的数字是 0xFC90。反过来说,当数字是 0x0001 的时候,那温度就是0.05,达到了设计要求。5 软件设计5.1 整体系统分析温度检测系统由温度及中断初始化,温度检测,温度输入处理,温度显示等几部分模块组成。如图5-1所示: 图5-1 软件设计5.2 程序流程图程序流程图包括:开始后先进行各个模块的初始化,然后再进行温度(数据)的采样处理,最后由液晶显示器输出温度。如图5-2所示: LCD显示

    19、实时温度等待图5-2 程序流程图6 Proteus软件仿真温度检测系统设计的 Proteus原理图设计,找到12MHz晶振、STC89C52单片机、DS18B20温度传感器、液晶显示器等器件,并用线进行连接,注意电源与地。如图6-1所示:图6-1 温度检测系统仿真图 加载程序液晶屏显示温度。如图6-2所示:图6-2 温度检测系统模拟运行 通过调整DS18B20中的“+”“-”即可改变显示数值。7 实物制作7.1 器材清单 实物制作用到的器件有以下几种,如表二所示: 名称封装型号参数数量瓷片电容直插30PF2石英晶体直插11.0592MHZ1电阻直插1/4W10K1电解电容直插22UF/16V1

    20、CPU双列直插STC89C52RCHD1CPU座双列直插DIP-401电阻直插1/4W4.7K1温度传感器直插DS18B201电位器直插3296W-10310K1液晶显示器LCD160211P杜邦线彩色母对母两头插好杜邦头孔对孔40根一排单根长度20cm30针排针直插脚距2.54高111X40单排插针30线最小系统板1洞洞板9X7CM单面1表二 温度检测单片机元器件明细表7.2 最小系统板制作 焊接最小系统板,把电容、极性电容、12Mhz晶振、电阻、排针、底座插到最小系统板上,因为背面电路都已连接好,只需在各个位置焊上个元器件即可。实物图如图7-1所示:图7-1 最小系统电路实物图7.3 温度

    21、检测系统电路板制作DS18B20焊接时应注意1,2,3脚,电路板最右面焊排针,以便输入信号。输入程序前用杜邦线将各个模块进行连接。实物图如图7-2所示:图7-2 温度检测系统电路实物图7.4 温度检测展示室内温度测量如图7-3所示:图7-3 室温 用手指捏住DS18B20一段时间,再次进行温度的测量。如图7-4所示:图7-4 手指加热7.5 焊接点展示每个焊点以方正,不带刺,均匀为好。当焊好电路后,仔细检查焊点质量与是否导通。如图7-5所示:图7-5 焊接点展示7.6 作品检查 1、首先按照仿真图将实物焊接,注意焊接的质量,不要出现虚焊等现象。 2、通电观察现象。 3、通电后无反应。 4、将单

    22、片机换一块最小系统板,检查是否原来最小系统板有问题及单片机是否有问题。 5、液晶显示器的显示和仿真是否有不同。 6、检查单片机引脚与液晶显示器连接的顺序是否正确.程序是否匹配。 7、液晶显示器不亮或亮的很暗。 8、检查线路的正负极是否接反,检查限流电阻阻值是否正确,检查是否有断路现象。当焊好电路后通电之后,发现电路不亮,检查了一下单片机向外的接口,虚焊了个地方,重新焊好后,接入液晶显示器,发现有一组液晶显示器不亮,原因是未连接背光电路,重新连接后,通电,试验成功。8 结论 本系统充分利用了STC89C52RC芯片的I/O引角。系统统采用MSC-51系列单片机为中心器件来设计温度检测系统,实现了

    23、能根据实际温度通过单片机芯片的P2口控制液晶显示器的显示;系统设计简便、实用性强、操作简单、程序设计简便。系统不足之处在于电路18B20易损坏、以及液晶显示不明显等。由于本设计涉及到的知识面比较广,再加上本人在相关领域知识的缺乏,所以本设计的性能指标还是有待改善的,并让我明白了仿真和真实动手是具有差距的,想的和做的并不一样。要特别注重细节,制作实物时出现液晶屏不显示故障,当时只认为是程序或焊接有问题,最后才发现只是电位器没调节好。这次课程设计,使我对所学的知识与技能、分析和解决问题的能力进行了可贵的锻炼,使我深刻领会了单片机的基本原理以及了解到单片机应用系统开发过程的艰难。在常用编程设计思路技

    24、巧的掌握方面都向前迈了一大步。通过这次的课程设计,我充分意识到了自己所学的东西还是非常有限的,明确了以为要努力的方向,不能只学习课本上的理论知识,还要了解一些书本上无法学到的东西,为自己的以后奠定了一定的基础。 附录:C语言程序:#include#include#define uchar unsigned char #define uint unsigned int#define LCDIO P2 /1602数据口sbit DQ=P36;/ds18b20与单片机连接口sbit rs=P11; /1602数据命令选择引脚/sbit rd=1; /读写选择 sbit lcden=P12; /160

    25、2选通引脚float f_temp; /浮点型温度值 uint tvalue;/温度值uchar tflag;uchar code table= The temperature ; /每行显示16个字符uchar code table1= is: 000.0C wfu;uchar data disdata5;void delay(uint z) /短延时 uint x,y; for(x=z;x0;x-) for(y=110;y0;y-);void write_com(uchar com) /1602写命令子程序 rs=0; /RS是数据命令选择短,高电平写数据,低电平写命令/ rd=1; lc

    26、den=0; /1602选通端,高电平选通,低电平禁止 P2=com; delay(5); lcden=1; delay(5); lcden=0; void write_date(uchar date) /1602写数据子程序 rs=1; /RS是数据命令选择短,高电平写数据,低电平写命令/ rd=1; /? lcden=0; /1602选通端,高电平选通,低电平禁止 P2=date; delay(5); lcden=1; delay(5); lcden=0; void init() /1602初始化程序uchar num; lcden=0; write_com(0x38); /0011 10

    27、00B,功能模式设置,设置为8为数据口,两行显示,5*7点阵 write_com(0x0c); /0000 1011B,显示开及光标设置,关显示,显示光标,光标闪烁 write_com(0x06); /0000 0110B,显示光标移动设置,读或写一个字符,地址指针减一且光标减一,写一个字符屏幕显示不移动 write_com(0x01); /0000 0001B,显示清屏,数据指针和所有显示清屏 write_com(0x80); /1000 000B,关闭显示 delay(5); write_com(0x80); /1000 000B,设置为2行显示,写入第一行字符的地址,第一行地址是00-2

    28、F for(num=0;num16;num+) write_date(tablenum); /写入第一行数据 delay(5); write_com(0x80+0x40); /1100 0000B,设置为2行显示,写入第二行字符的地址,第而行地址是40-67 for(num=0;num0;i-) DQ = 0; /给脉冲信号 dat=1; DQ = 1; /给脉冲信号 if(DQ) dat|=0x80; delay_18B20(10); return(dat);void ds1820wr(uchar wdata)/*写数据*/ unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata=1; read_temp()/*读取温度值并转换*/ uchar a,b; ds1820rst(); ds1820wr(0xCC);/跳过


    注意事项

    本文(单片机温度检测系统设计.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开