《基于嵌入式温度采集系统的设计.doc》由会员分享,可在线阅读,更多相关《基于嵌入式温度采集系统的设计.doc(9页珍藏版)》请在三一办公上搜索。
1、嵌入式系统基础课程设计论文论文题目: 基于嵌入式温度采集系统的设计 所属系别 信息工程系 专业班级 姓名 学号 指导教师 撰写日期 2012 年 12 一、 开题报告1、选题背景和意义 随着现代经济和社会的发展,信息化程度越来越高,智能化的测控仪器仪表应用越来越广范。其中基于单片机的温度测控系统广范应用于工业、军事、消防等领域。本课题是一个完整控制系统的设计,涉及到电子技术、模拟电子、PC机的通信技术、自动控制检测、信号处理,软件工程等多学科性知识,是一个软硬件相结合的设计性题目。此课题融知识性与实用性于一体,能够提高检索资料、电子系统设计、分析排除故障以及创新设计的能力,有效的训练我们应用所
2、学专业基础知识解决实际问题的能力,具有重要意义2、主要工作思路 第一步:根据题目查找相关文献,了解相关知识; 第二步:根据相关材料初步理顺设计思路; 第三步:初步完成功能设计; 第四步:完成理论设计; 第五步:调整设计,完成相应的实验; 第六步:整体测试,提供测试数据及书写毕业论文,并对其进行修改,直到合格为止。二、课程设计报告1、选题思路本次设计的目的在于学习基于51单片机的多路温度采集系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后吗,发出控制信息改变报警和控制执行
3、模块的状态,同时将当前温度信息发送到LED进行显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。2、设计分析2.1设计方案比较与分析方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接
4、读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.2硬件电路设计及描述(1)硬件电路的组成 硬件电路由:Ds18b20,晶振,复位电路,8051单片机等组成。 Ds18b20外观图:图1 DS18B20外观图DS18b20详细引脚功能描述:GND:地信号。DQ:数据输入/输出引脚,开漏单总线接口引脚。当被用着在寄生电源下时,可 以向器件提供电源。VDD :外接供电电源输入端。当工作于寄生电源时,此引脚必须接地。 DS18B20读出的温度结果的数据为两字节,用16位符号扩展的二进制补码读数形式提供。因此在系
5、统中要将得到的温度值数据进行格式转换才能用于显示。这两个数据格式如图2所示:LSBSSSSS262524MSB LSB232221202-12-22-32-4图2数据格式高8位中的高5位是符号位,表示是零下还是零上。高8位中的低3位D6,D5,D4 和低8位中的高4位D,D,D,D构成温度的整数部分。低位中的D,D,D,D位温度的小数部分。DS18B20的特性: 1、独特的单接口仅需一个端口引脚进行通讯; 2、简单的多点分布应用; 3、无需外部器件; 4、可通过数据线供电,无需外部电源; 5、零待机功耗; 6、测温范围为-55+125,以0.5递增; 7、温度以9位数字量读出; 8、温度数字量
6、转换时间200ms(典型值); 9、用户可定义的非易失性温度报警设置; 10、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 11、应用包括温度控制、工业系统、消费品、温度计或任何热感测系统。 DS18B20有三个主要的数据部件: 1、64位激光(lasered) ROM; 2、温度灵敏元件; 3、非易失性温度告警触发器TH和TL。2.3硬件电路原理图及分析 图3 电路原理图 本电路由89C51单片机、DS18B20温度传感器、和LCD显示电路等组成。由DS18B20温度传感器测量环境温度,将数字量由数据端D7-D0输出到89C51的P0口,89C51的P2.0、P2.1、P2
7、.2分别接入LCD通道地址选择端E、RW、RS。经软件处理后将测量的温度值输出到LCD的显示,用数字形式显示出当前的温度值。3、程序设计3.1温度计算子程序ORG 0400H;CALCU:MOV R2,#01H; R2为数据表的索引值寄存器MOV DPTR,#DATATAB; 温度数据表首地址送DPTRNEXT1:MOV A,R2; 索引值送AMOVC A,A+DPTR; 查表取出某一温度的数字电压值CJNE A,20H,K1; 与当前温度的数字电压值比较DEC R2; 等于当前温度的数字电压值,则查表取出该温度值作为当前温度值MOV A,R2;MOVC A,A+DPTR;LJMP K3;K1
8、:JNC K2; 大于当前温度的数字电压值,则继续取出下一温度的 数字电压进行比较DEC R2; 小于当前温度的数字电压值,则查表取出前一个温度值作为当前温度值DEC R2DEC R2MOV A,R2;MOVC A,A+DPTR;LJMP K3;K2:INC R2;INC R2;LJMP NEXT1;K3:MOV 21H,A; 将当前温度值存于21H单元RET;DATATAB;DB 0,194,1,193,2,192,3,191,4,190;温度数据表DB 5,189,6,188,7,187,8,186,9,185DB 10,184,11,182,12,181,13,180,14,178DB
9、15,177,16,175,17,174,18,173,19,171DB 20,169,21,168,22,166,23,165,24,163DB 25,161,26,159,27,158,28,156,29,154DB 30,152,31,150,32,149,33,147,34,145DB 35,143,36,141,37,139,38,137,39,135DB 40,133,41,131,42,129,43,127,44,125DB 45,123,46,121,47,118,48,116,49,1143.2流程图温度数据表索引值寄存器R2赋初值01H温度数据表首地址送DPTR查表取出某一
10、温度的电压数据取出表中前一温度值将该温度值存于21H单元查表取出该温度值将该温度值存于21H单元索引值加2返回返回当前温度电压值与查表取得的某一温度电压值比较温度计算子程序相等小于大于 图4流程图4、设计结果4.1、实物图 图5实物图4.2总结首先,在此衷心地感谢我们的指导老师及给予我们帮助的同学们,因为在他们的帮助下我们的设计才如此完善。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域, 在生活中可以说得是无处不在。因此作为二十一世纪的
11、大学来说掌握单片机的开发技术是十分重要的。我们的课题是基于嵌入式的温度采集系统设计,刚拿到题目真的是一头雾水,硬件电路不知如何下手,更别谈解决程序那块,因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少。不过,我们四人也没偷下懒,迅速分工去查阅和收集资料。我们去了图书馆借一些参考书,上网找一些相关资料,并且请教指导老师。通过不断努力,终于将我们所需要的各个板块整理清楚。回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在整整一星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学
12、到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说,对单片机汇编语言掌握得不好在完成单片机课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以至于还有一些功能不能被动完成。但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。通过这次单片机课程设计,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为自己的东西。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在张老师的辛勤指导下,终于游逆而解。同时,在张老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我们帮助的所有同学再次表示忠心的感谢!