




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 设计题目 温度传感器2、 设计背景 温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学实验(如:物体的比热容、汽化热、热功当量、压强温度系数等教学实验)中,有特别重要的意义。目前温度计的发展很快,从原始的玻璃管温度计发展到了现在的热电阻温度计、热电偶温度计、数字温度计、电子温度计等等。现在所使用的温度计通常都是精度为1和0.1的水银、煤油或酒精温度计,这些温度计的刻度间隔通常都很密,不容易准确分辨,读数困难,而且他们的热容量还比较大,达到热平衡所需的时间较长,因此很难读准,并且使用非常不方便。本文所介绍与传统的温度计相比,具有读数方便、测温范围广、测温准确等优点,其输出温度采用数字显示,主要供测温要求准确的场所和科研实验室使用。2、 设计目的 利用单片机及其外围电路完成远程温度检测系统设计。通过本课题设计,学生能够掌握单片机硬件设计及其编程语言,掌握利用protel软件绘制电路图,提高根据实际情况进行单片机开发能力。在电气工程及其自动化学科的培养方向上,提高针对具体问题的资料收集、自我学习、分析及处理能力。 学习protel软件,并绘制本课题的硬件电路图;熟悉单片机编程语言,并能用单片机C语言进行本课题的编程;通过本课题的设计,学习根据实际情况进行合理设计的方法,并能选择合适的器件实现系统功能。3、 设计原理 本设计是以51单片机为核心的温度传感器设计,该系统以STC89C516RD单片机为中心控制单元,由数码管显示模块,蜂鸣器警报模块组成,并预设温度报警上下限,系统启动后可以实时采集环境中的温度,并且当温度超出上下限的值以后蜂鸣器报警.五、设计要求与内容1.用Protel等软件绘制原理图SCH的绘制;2.画出电路原理图,并对元件进行正确的封装、合理布局、布线,完成PCB图。3.小组成员掌握相关操作,完成各自的演示实验;4.进行单片机仿真实验,按照设计任务书的要求对基础实验进行创新,达到预期目的。六、主要过程 1.由老师布置设计任务,并对相关知识进行了讲述,并领取工具; 2.在老师的指导下,安装相关软件,对软件的常用操作进行学习; 3小组成员按照分配的任务展开工作。主要是:搜集相关资料,绘制SCH和PCB图,对程序进行修改完成相关创新; 4.进行仿真实验,对问题进行反馈,小组成员内展开讨论; 5.递交设计结果及设计报告。7、 相关结果 1、设计原理图 2、由protel绘制的SCH图 3、由protel绘制的PCB图4、基础设计仿真结果图5、 创新之后的仿真结果 (1)、程序 见附录 1 (2)、结果8、 设计总结 这次课程设计的完成真的挺不容易的。有的知识不太清楚,网上找的不符合课程设计要求,我们几个又跑到图书馆去找相关书籍,结果还是不太满意,最后还是求教于老师,还好老师有足够的耐心帮助我们完成课题设计。虽然这次课程设计的完成有点吃力,但我还是挺珍惜课程设计的机会,因为它可以暴漏我自身的问题,让我更清楚的认识自己,同时,与组员之间讨论的时间多了,与老师接触的机会多了,锻炼了自己各个方面的能力。而且,它是我们在校期间难得的实践机会。 在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功的做成想做的事,才能在今后的道路上,不断收获喜悦,得到社会及他人对你的认可!九、参考文献 电子CAD(Protel)教程 中南大学出版社 10、 附录 附录1 C+算法仿真程序 (main.c)/*普中科技*实验名 :18B20温度显示试验*实验说明:LCD1602显示温度值。*连接方式:见连接图*注意 :*/#include#includelcd.h#includetemp.hvoidLcdDisplay(int);voiddelay(unsignedinti);/延迟sbitBeep=P15;/定义全局变量unsignedchardatas=0,0,0,0,0;/定义数组/*函数名:main*函数功能 :主函数*输入:无*输出 :无*/voidmain()LcdInit(); /初始化LCD1602LcdWriteCom(0x88); /写地址80表示初始地址LcdWriteData(C);while(1)LcdDisplay(Ds18b20ReadTemp();/ Delay1ms(1000);/1s钟刷一次if(datas1=2&datas2=5|datas12)Beep=1;delay(5);Beep=0;delay(5);/*函数名:delay()*函数功能 :延迟程序*输入:i*输出 :无*/voiddelay(unsignedinti)charj;for(i;i0;i-)for(j=200;j0;j-);/*函数名:LcdDisplay()*函数功能 :LCD显示读取到的温度*输入:v*输出 :无*/voidLcdDisplay(inttemp) /lcd显示floattp;if(temp0) /当温度值为负数 LcdWriteCom(0x80); /写地址80表示初始地址LcdWriteData(-); /显示负/因为读取的温度是实际温度的补码,所以减1,再取反求出原码temp=temp-1;temp=temp;tp=temp;temp=tp*0.0625*100+0.5; /留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算由?.5,还是在小数点后面。 else LcdWriteCom(0x80); /写地址80表示初始地址LcdWriteData(+); /显示正tp=temp;/因为数据处理有小数点所以将温度赋给一个浮点型变量/如果温度是正的那么,那么正数的原码就是补码它本身temp=tp*0.0625*100+0.5; /留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算加上0.5,还是在小数点后面。datas0=temp/10000;datas1=temp%10000/1000;datas2=temp%1000/100;datas3=temp%100/10;datas4=temp%10;LcdWriteCom(0x82); /写地址80表示初始地址LcdWriteData(0+datas0);/百位LcdWriteCom(0x83); /写地址80表示初始地址LcdWriteData(0+datas1);/十位LcdWriteCom(0x84); /写地址80表示初始地址LcdWriteData(0+datas2);/个位LcdWriteCom(0x85); /写地址80表示初始地址LcdWriteData(.); /显示.LcdWriteCom(0x86); /写地址80表示初始地址LcdWriteData(0+datas3);/显示小数点LcdWriteCom(0x87); /写地址80表示初始地址LcdWriteData(0+datas4);/显示小数点附录 2 C+算法仿真程序 (lcd.c)/*普中科技-*实验名 :18B20温度显示试验*实验说明:LCD1602显示温度值。*连接方式:见连接图*注意 :*/#include#includelcd.h#includetemp.hvoidLcdDisplay(int);voiddelay(unsignedinti);/延迟sbitBeep=P15;/定义全局变量unsignedchardatas=0,0,0,0,0;/定义数组/*函数名:main*函数功能 :主函数*输入:无*输出 :无*/voidmain()LcdInit(); /初始化LCD1602LcdWriteCom(0x88); /写地址80表示初始地址LcdWriteData(C);while(1)LcdDisplay(Ds18b20ReadTemp();/ Delay1ms(1000);/1s钟刷一次if(datas1=2&datas2=5|datas12)Beep=1;delay(5);Beep=0;delay(5);/*函数名:delay()*函数功能 :延迟程序*输入:i*输出 :无*/voiddelay(unsignedinti)charj;for(i;i0;i-)for(j=200;j0;j-);/*函数名 :LcdDisplay()*函数功能 :LCD显示读取到的温度*输入:v*输出 :无*/voidLcdDisplay(inttemp) /lcd显示 floattp;if(temp0) /当温度值为负数 LcdWriteCom(0x80); /写地址80表示初始地址LcdWriteData(-); /显示负/因为读取的温度是实际温度的补码,所以减1,再取反求出原码temp=temp-1;temp=temp;tp=temp;temp=tp*0.0625*100+0.5; /留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算由?.5,还是在小数点后面。 else LcdWriteCom(0x80); /写地址80表示初始地址LcdWriteData(+); /显示正tp=temp;/因为数据处理有小数点所以将温度赋给一个浮点型变量/如果温度是正的那么,那么正数的原码就是补码它本身temp=tp*0.0625*100+0.5; /留两个小数点就*100,+0.5是四舍五入,因为C语言浮点数转换为整型的时候把小数点/后面的数自动去掉,不管是否大于0.5,而+0.5之后大于0.5的就是进1了,小于0.5的就/算加上0.5,还是在小数点后面。datas0=temp/10000;datas1=temp%10000/1000;datas2=temp%1000/100;datas3=temp%100/10;datas4=temp%10;LcdWriteCom(0x82); /写地址80表示初始地址LcdWriteData(0+datas0);/百位LcdWriteCom(0x83); /写地址80表示初始地址LcdWriteData(0+datas1);/十位LcdWriteCom(0x84); /写地址80表示初始地址LcdWriteData(0+datas2);/个位LcdWriteCom(0x85); /写地址80表示初始地址LcdWriteData(.); /显示.LcdWriteCom(0x86); /写地址80表示初始地址LcdWriteData(0+datas3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石化化工行业6月看好钾肥、阿洛酮糖、制冷剂、农药、生物柴油的投资方向
- 制造业供应链数字化协同管理在2025年的绿色制造与环保技术应用
- 2025年能源行业报告:碳捕获与封存技术应用前景预测与解析
- 工业互联网平台NFV在智能城市智慧旅游中的应用实践报告
- 直播电商行业主播个人品牌价值评估与市场分析报告
- 2025年音乐流媒体平台版权运营与数字音乐版权市场发展趋势与挑战分析报告
- 城市生活垃圾分类处理公众参与与社区环保活动策划研究报告
- 医疗美容行业消费者心理与服务质量改进策略深度报告
- 评课万能评课稿集合12篇
- 施工成本控制管理制度
- 机柜维修维护方案(3篇)
- 静脉治疗指南解读
- 江苏省南通市海安市2025年七年级下学期期末英语试题及答案
- 有限空间作业通风时间专题
- 广东省广州市天河外国语学校2025年七年级英语第二学期期末综合测试模拟试题含答案
- Java EE-形考任务一-国开(LN)-参考资料
- 西安无人机项目商业计划书
- 2025年公务员综合素质能力考试卷及答案
- TSZGFA-信息通信基础设施工程规划设计规范
- 化工智能控制技术-形考任务4(预备知识:第十~十三章;分值100分;不需辅导老师评阅)测验-国开-参考资料
- 蚂蚁花呗对大学生消费行为的实证分析
评论
0/150
提交评论