- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
简易温度计的项目的报告
简易温度计
团队成员:蒋颂
刘其聪
摘要
【关键词】 单片机 DS18B20 LCD1602
使用STC89C52控制处理温度传感器DS18B20的信号,并驱动1602显示实时温度。
[keyword] single-chip DS18B20 LCD1602
Using STC89C52 to control and process signal that DS18B20 generates ,meanwhile it drive LCD1602 display contemporary temperature
目录
摘要 ………………………………………………………………………………1
前言 ………………………………………………………………………………3
设计要求…………………………………………………………………………3
任务分析…………………………………………………………………………总体设计…………………………………………………………………………硬件设计…………………………………………………………………………软件设计…………………………………………………………………………检测调试…………………………………………………………………………7………………………………………………………………………………8
参考文献…………………………………………………………………………8
附录 ………………………………………………………………………………9
前言
本作品电源部分采用一块节3.7V 18650锂电池,温度测量范围-55℃~+55℃,电路板及各元件使用厚纸板固定及包装定型。
设计要求
利用单片机软硬件资源控制温度传感器完成温度检测,并将转换结果在液晶显示屏上显示。具体要求如下:
温度测量范围-30℃
测量精度:0.1℃
利用字符型液晶模块显示当前温度值任务分析
根据设计要求可知在该系统中单片机控制功能比较简单,因此从成本上考虑选用STC。
由于热电偶电路硬件接口复杂、调试难度大、检测精度较低且元器件参数变化影响等等缺点,所以本系统设计拟采用单总线数字式温度传感器
显示模块选用
总体设计
据任务分析,该测温系统设计需一个温度检测电路、一个液晶显示电路、单片机最小系统电路、电源电路。系统结构图如下:
硬件设计
软件设计
检测调试
电路板检查: 对照元器件表,检查所有元器件的规格、型号有无装配错误。按照原理图检查接线是否有错,集成电路模块有无反接等故障。
接通电源:检查电源电压和极性无误后给电路板上电。上电后检查各引脚电位是否正常。
Proteus仿真:打开proteus,装载本系统的硬件仿真图,将keil软件开发环境下编译生成的
将符合设计要求的源程序编译后生成的
设计总结
参考文献[1] 杨志忠 《数字电子技术》[M] 高等教育出版社[2]张筱云 李淑萍《单片机原理及接口技术项目教程》 [M] 苏州大学出版2012.8
[3]李金祥 顾小晶 《实用C语言程序设计教程》 [M] 中国电力出版社 2010.6
附录:
#includereg51.h
#includelcd.h
#includetemp.h
void LcdDisplay(int);
void main()
{
LcdWriteData(C);
while(1)
{
LcdDisplay(Ds18b20ReadTemp());
// Delay1ms(1000);//1s钟刷一次
}
}
void LcdDisplay(int temp) //lcd显示
{
unsigned char datas[] = {0, 0, 0, 0, 0}; //定义数组
float tp;
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] = te
您可能关注的文档
最近下载
- 中医气功学导论期末试卷.docx
- 请你谈一下你为什么要加入中国共产党谈谈为什么加入中国共产党.pptx VIP
- 2024南方电网广西电网公司校园招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- DB37T19976—2011山东物业服务规范第1部分住宅物业.doc
- 七年级心理健康教案完整版.docx
- 赤泥综合利用项目可行性研究报告(完整案例).pdf
- 2024款比亚迪海豹06DM-i豪华型尊贵尊荣尊享旗舰_用户手册驾驶指南车主车辆说明书电子版.pdf
- 企业技术改造资金绩效评价总结报告.doc
- 《生物化学》全套教学课件(共13章完整版).pptx
- 15-彭向刚-学习领导科学提升领导力(清华)__(全国各校课件参考).ppt
文档评论(0)