简易温度计项目报告.docx
- 文档编号:27694143
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:8
- 大小:106.43KB
简易温度计项目报告.docx
《简易温度计项目报告.docx》由会员分享,可在线阅读,更多相关《简易温度计项目报告.docx(8页珍藏版)》请在冰豆网上搜索。
简易温度计项目报告
简易温度计
团队成员:
蒋颂
刘其聪
摘要
【关键词】单片机DS18B20LCD1602
使用STC89C52控制处理温度传感器DS18B20的信号,并驱动1602显示实时温度。
[keyword]single-chipDS18B20LCD1602
UsingSTC89C52tocontrolandprocesssignalthatDS18B20generates,meanwhileitdriveLCD1602displaycontemporarytemperature
摘要………………………………………………………………………………1
前言………………………………………………………………………………3
设计要求…………………………………………………………………………3
任务分析…………………………………………………………………………3
总体设计…………………………………………………………………………4
硬件设计…………………………………………………………………………5
软件设计…………………………………………………………………………6
检测调试…………………………………………………………………………7
总结………………………………………………………………………………8
参考文献…………………………………………………………………………8
附录………………………………………………………………………………9
前言
本作品电源部分采用一块节3.7V18650锂电池,温度测量范围-55℃~+55℃,电路板及各元件使用厚纸板固定及包装定型。
设计要求
利用单片机软硬件资源控制温度传感器完成温度检测,并将转换结果在液晶显示屏上显示。
具体要求如下:
1.温度测量范围-30℃~+60℃
2.测量精度:
<0.1℃
3.利用字符型液晶模块显示当前温度值
任务分析
根据设计要求可知在该系统中单片机控制功能比较简单,因此从成本上考虑选用STC89C52。
由于热电偶电路硬件接口复杂、调试难度大、检测精度较低且元器件参数变化影响等等缺点,所以本系统设计拟采用单总线数字式温度传感器DS18B20,其具有硬件电路结构简单、转换精度高、成本低等特点。
显示模块选用LCD1602,它具有体积小、功耗低、显示内容丰富、使用方便等优点。
总体设计
据任务分析,该测温系统设计需一个温度检测电路、一个液晶显示电路、单片机最小系统电路、电源电路。
系统结构图如下:
硬件设计
据任务分析,该温度计的硬件原理图如下图所示:
软件设计
检测调试
1.电路板检查:
对照元器件表,检查所有元器件的规格、型号有无装配错误。
按照原理图检查接线是否有错,集成电路模块有无反接等故障。
2.接通电源:
检查电源电压和极性无误后给电路板上电。
上电后检查各引脚电位是否正常。
3.Proteus仿真:
打开proteus,装载本系统的硬件仿真图,将keil软件开发环境下编译生成的HEX文件装载到proteus的仿真单片机里,运行软件,观察结果,若有不符合设计要求的情况,调整源程序并重复上述步骤,直到仿真结果符合设计要求为止。
4.将符合设计要求的源程序编译后生成的HEX文件通过ISP烧写到单片机的ROM中。
接上电源启动运行,观察结果,若实际结果不符合设计要求,对硬件电路和软件进行再次检查重复调试,直至出现正确结果为止。
设计总结
在本次作品从整体构思、功能设计、场景美化设计、可行性评估、制作成品等过程中,我遇到了许多最优解问题及材料特性限制问题,锻炼提高了我整体团队协作能力、程序设计能力、电子设计能力、封装与美化能力。
参考文献:
[1]杨志忠《数字电子技术》[M]高等教育出版社2013.7
[2]张筱云李淑萍《单片机原理及接口技术项目教程》[M]苏州大学出版2012.8
[3]李金祥顾小晶《实用C语言程序设计教程》[M]中国电力出版社2010.6
附录:
#include
#include"lcd.h"
#include"temp.h"
voidLcdDisplay(int);
voidmain()
{
LcdInit();//初始化LCD1602
LcdWriteCom(0x88);//写地址80表示初始地址
LcdWriteData('C');
while
(1)
{
LcdDisplay(Ds18b20ReadTemp());
//Delay1ms(1000);//1s钟刷一次
}
}
voidLcdDisplay(inttemp)//lcd显示
{
unsignedchardatas[]={0,0,0,0,0};//定义数组
floattp;
if(temp<0)//当温度值为负数
{
LcdWriteCom(0x80);//写地址80表示初始地址
LcdWriteData('-');//显示负
//因为读取的温度是实际温度的补码,所以减1,再取反求出原码
temp=temp-1;
temp=~temp;
tp=temp;
temp=tp*0.0625*100+0.5;}
else
{
LcdWriteCom(0x80);//写地址80表示初始地址
LcdWriteData('+');//显示正
tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量
//如果温度是正的那么,那么正数的原码就是补码它本身
temp=tp*0.0625*100+0.5;}
datas[0]=temp/10000;
datas[1]=temp%10000/1000;
datas[2]=temp%1000/100;
datas[3]=temp%100/10;
datas[4]=temp%10;
LcdWriteCom(0x82);//写地址80表示初始地址
LcdWriteData('0'+datas[0]);//百位
LcdWriteCom(0x83);//写地址80表示初始地址
LcdWriteData('0'+datas[1]);//十位
LcdWriteCom(0x84);//写地址80表示初始地址
LcdWriteData('0'+datas[2]);//个位
LcdWriteCom(0x85);//写地址80表示初始地址
LcdWriteData('.');//显示‘.’
LcdWriteCom(0x86);//写地址80表示初始地址
LcdWriteData('0'+datas[3]);//显示小数点
LcdWriteCom(0x87);//写地址80表示初始地址
LcdWriteData('0'+datas[4]);//显示小数点}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简易 温度计 项目 报告