基于单片机的数字温度计—课程设计_第1页
基于单片机的数字温度计—课程设计_第2页
基于单片机的数字温度计—课程设计_第3页
基于单片机的数字温度计—课程设计_第4页
基于单片机的数字温度计—课程设计_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理课程设计报告题目: 数字温度计 院(系):工学院专 业:电子信息工程年 级:2010级姓 名:xxx学 号:xxxxxx指导教师:xxx2013 年 12 月 6 日电子信息工程专业10级学生单片机原理课程设计任务书课程设计题目三、数字温度计指导教师xxx职称xxx设计任务和要求:1.基本要求(1) 采用ds18b20作为温度传感器进行温度检测(2) 对采集温度进行显示(显示温度分辨率0.1)(3) 采集温度数值应采用数字滤波措施,保证显示数据稳定(4) 显示数据,无数据位必须消隐。2.设计步骤 (1) 使用proteus按设计要求绘制电路图。 (2) 按要求编写相应程序。 (3)

2、使用proteus仿真程序,对程序进行调试。 (4) 撰写课程设计报告3撰写课程设计报告课程设计报告内容包括题目、摘要、目录、正文、结论、致谢、参考文献等。学生在完成上述全部工作之后,应将全部内容以先后顺序写成设计报告一份,阐述整个设计内容,要求重点突出、特色鲜明、语言简练、文字通畅,字迹工整。报告书以a4纸打印,装订成册(文字不少于3000 字)。 目 录1设计目的42设计任务与要求43方案设计与论证44单元电路设计54.1单片机的选择54.2温度传感器的选择64.3温度检测电路75总原理图及元器件清单75.1总原理图85.2元器件清单86软件部分86.1初始化程序86.2读出温度子程序96

3、.3读、写时序子程序96.4温度处理子程序106.5显示程序116.6延时程序12 6.7 proteus软件介绍.137调试与分析138心得与总结149致谢1510参考文献16附件:17数字温度计摘要:随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。它已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,作为电子信息工程专业的学生,我们学习了单片机,就应该把它熟练应用到生活之中来。此次课程设计是一种基于单片机控制的数字温度计,本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。关键词:单片机,数

4、字控制,温度计,ds18b20,proteus。1设计目的单片机原理及接口技术是一门专业技术基础课,是一门实践性很强的课程,单片机课程设计要求将所学的理论知识通过实践加强理解和认识,提高学生们的单片机接口电路的设计能力和实践动手能力。2设计任务与要求(1)采用ds18b20作为温度传感器进行温度检测(2)对采集温度进行显示(显示温度分辨率0.1oc)(3)采集温度数值应采用数字滤波措施,保证显示数据稳定(4)显示数据,无数据位必须消隐3方案设计与论证方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行a/d转换后,就可以用单片机进

5、行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到a/d转换电路,测温电路比较麻烦。 方案二:采用数字温度芯片ds18b20 测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100 摄氏度时,最大线形偏差小于1 摄氏度。ds18b20 的最大特点之一采用了单总线的数据传输,由数字温度计ds18b20和微控制器at89s52构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用52 单片机控制,软件编程的自由度大

6、,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。该系统利用at89s52芯片控制温度传感器ds18b20进行实时温度 从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。4单元电路设计温度计电路设计总体设计方框图如图1所示,控制器采用单片机at89s52,温度传感器采用ds18b20,用4位共阴led数码管以串口传送数据实现温度显示。主控制器led显示单片机复位时钟振荡温度传感器图1 总体设计框图4.1 单片机的选择对于单片机的选择,可以考

7、虑使用8052系列,at89c52 是美国 atmel 公司生产的低功耗,高性能 cmos8 位单片机,片内含 4kbytes 的可编程的 flash 只读程序存储器,兼容标准 8051 指令系统及引脚。它集flash 程序存储器既可在线编程(isp),也可用传统方法进行编程,所以低价位 at89c52单片机可为提供许多高性价比的应用场合,可灵活应用于各种控制领域,对于简单的测温系统已经足够。单片机at89c52 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。4.2 温度传感器的选择dallas 最新单线数字温

8、度传感器ds18b20是一种新型的“一线器件”,其体积更小、更适用于多种场合、且适用电压更宽、更经济。dallas 半导体公司的数字化温度传感器ds18b20是世界上第一片支持“一线总线”接口的温度传感器。温度测量范围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以及用户设定的报警温度存储在eeprom 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个ds18b20可以并联到3 根或2 根线上,cpu只需一根端口线就能与诸多ds18b20 通信,占用微处理器的

9、端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。 ds18b20内部结构主要由四部分组成:64位光刻rom、温度传感器、非挥发的温度报警器th和tl、配置寄存器。ds18b20的管脚排列、各种封装形式,dq 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源;gnd为地信号;vdd为可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。 64位rom和单接口 高速缓存存储器与控制逻辑温度传感器高温触发器th低温触发器tl配置寄存器8位crc发生器图2 ds18b20内部结构4

10、.3 温度检测电路ds18b20 最大的特点是单总线数据传输方式,ds18b20 的数据i/o 均由同一条线来完成。ds18b20 的电源供电方式有2 种: 外部供电方式和寄生电源方式。工作于寄生电源方式时, vdd 和gnd 均接地, 他在需要远程温度探测和空间受限的场合特别有用, 原理是当1 w ire 总线的信号线dq 为高电平时, 窃取信号能量给ds18b20 供电, 同时一部分能量给内部电容充电, 当dq为低电平时释放能量为ds18b20 供电。但寄生电源方式需要强上拉电路, 软件控制变得复杂, 同时芯片的性能也有所降低。因此, 在条件允许的场合, 尽量采用外供电方式。无论是内部寄生

11、电源还是外部供电,i/o口线要接5k左右的上拉电。在这里采用前者方式供电。ds18b20与芯片连接电路如图2所示:图3 ds18b20与单片机的连接电路外部电源供电方式是ds18b20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根vcc引线。在外接电源方式下,可以充分发挥ds18b20宽电源电压范围的优点,即使电源电压vcc 降到3v 时,依然能够保证温度量精度。由于ds18b20 只有一根数据线,因此它和主机(单片机)通信是需要串行通信,而at89s51 有两个串行端口,所以可以

12、不用软件来模拟实现。经过单线接口访问dc18b20 必须遵循如下协议:初始化、rom 操作命令、存储器操作命令和控制操作。要使传感器工作,一切处理均严格按照时序。5总原理图及元器件清单5.1 总原理图5.2 元器件清单 at89c52单片机、ds18b20、7seg-mpx2-ca、 74hc245 6软件部分系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。6.1 初始化程序dq置1短延时dq置0延时450usdq置1延时15-60us延时至少60usx=dq结束x=dq图4 初始化程序流程图6.2 读出温度子程序 读出温度子程序的主要功能是读

13、出ram中的2字节,读出温度的低八位和 八位,在读出时需进行crc校验,校验有错时不进行温度数据的改写。其程序流程图如图5所示初始化发跳过rom指令开始温度转换延时2ms初始化写入跳过rom、读取暂存器和crc字节指令读取温度的低八位和高八位取中间八位结束图5读温度程序流程图6.3 读、写时序子程序读写的程序是本次设计中的重点和难点,通过我们对其时序的分析,从而写出高效的程序。dq置1短延时dq置0延时450usdq置1延时15-60us延时至少60usx=dq结束x=dqdq=0延时15usdat&=0x01dat1延时45usdq=1结束图6 写时序子程序流程 图7 读时序子程序流程图6.

14、4 温度处理子程序 计算温度子程序将ram中读取值进行bcd码的转换运算,并进行温度值正负的判定,其程序流程图如图8所示取反flag=1开始flag=0ht128?求百位、十位、个位和小数位bai=0?shi=0?显示个位和小数位显示十位显示百位结束 图8 温度处理程序流程图6.5 显示程序 此函数实现的对数码管显示的处理,其亮点在于可以直接对数码管进行操作,其本身是个两变量函数,第一个变量是要开通的位选,第二个变量是要显示的数据,这样我们可以直接方便而又简单直观的对数码管进行操作。程序流程图如图9送位选位选值左移n位送段码n=2?p0.7=0延时1ms关断位选结束图9显示数据刷新流程图6.6

15、 延时程序延时程序主要分为短延时和长延时,短延时如果要求十分的精确可以采用定时器,如果要求不太高的话可以采用普通函数的叠加,可以近似时间的延时。长延时同样的道理,不过要求不是很精确的话,可以采取语言结构的循环来实现延时。表1 delay15()延时函数的取值采样n的取值1234101520222324时间(us)174869902163214264684895106.7 proteus软件介绍 proteus软件是英国labcenter electronics公司出版的eda工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件

16、。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理

17、器模型。在编译方面,它也支持iar、keil和mplab等多种编译器。proteus软件具有其它eda工具软件的功能。这些功能是: (1)原理布图;(2)pcb自动或人工布线;(3)spice电路仿真。革命性的特点:(1)互动的电路仿真用户甚至可以实时采用诸如ram,rom,键盘,马达,led,lcd,ad/da,部分spi器件,部分iic器件。(2)仿真处理器及其外围电路可以仿真51系列、avr、pic、arm、等常用主流单片机。还可以直接在基于原理图的虚拟原型 上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪、示波器等,proteus建立了完备的电子设计开

18、发环境。7调试与分析系统的调试以程序调试为主,软件调试可以先编写显示程序并进行硬件的正确性检验,然后分别进行主程序、读出温度子程序、温度转换命令子程序、计算温度子程序和显示数据刷新子程序等的编写及调试。本设计应用proteus及keil软件,首先根据自己设计的电路图用proteus软件画出电路模型,关于这个软件的使用通过查一些资料和自己的摸索学习;然后用keil软件对所编写的程序进行编译、链接,如果没有错误和警告便可生成程序的hex文件,调试好程序后将目标文件导入proteus的at89c52芯片中进行软件调试。由于ds18b20与单片机采用串行数据传送,因此,对ds18b20进行读/写编程时

19、必须严格地保证读/写时序;否则将无法读取测量结果。本程序采用单片机汇编语言编写,用keil c51编译器编程调试。软件调试到能显示温度值,而且在有温度变化时显示温度能改变,就基本完成。数字温度计的仿真电路图如图10所示。图10 调试运行图8心得与总结经过将近两周的单片机课程设计,在老师和同学的帮助下,我终于完成了数字温度计的设计,虽然没有完全达到设计要求,但从心底里说,还是高兴的,毕竟这次设计我已经尽力了。在设计期间,我每天都在接触新的东西,每天都会有新的问题等待我去探讨去解决,每天都有新收获。 回想课设第一天,我们做点电脑前,不知道自己能干点什么,对于指导老师的讲解也是云里雾里的。因为头一回

20、接触proteus和keil这两个软件。但是我相信,只要自己用心了,没有办不成的事。于是,我静下心来,仔细研究老师下发的教程。我珍惜每一次的上机机会,勤加练习,课下积极研究手册和相关书籍。两天过后,才算有点眉目了。到这时心里才算稍微安稳了一些,再加上以前学过名为protel的电路设计软件,所以我的自信心加强了。本次设计涉及两个方面,c语言程序设计和单片机工作电路设计。软件设计方面,我们在参考别人成功先例的基础上根据自己设计的需要编制程序,其中历经不少曲折,最让我们感叹的是:编程c语言一定要细心,稍有疏忽,程序就没办法正常工作。硬件是在同学的帮助下完成的。对于这次课程设计,主要是利用了keil和

21、proteus软件设计和仿真统。过程中所用到的主要电路由我们自主设计制作,通过查阅资料和借助指导老师最终设计出结构合理、美观,主要电气指标良好,性能稳定可靠的电路。以培养我们严谨的科学态度,正确的设计思想,科学的设计方法和良好的工作作风,掌握一定的专业技能及综合运用基础理论、基本知识的能力。在这次设计过程中,体现出了设计电路的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。同时,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中。9致谢在此感谢我们的刘宏老师,舒昌老师,老师严谨细致、一

22、丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;这次基于单片机的数字温度计设计的每个实验细节和每个数据,都离不开老师您的细心指导。而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。老师无论在理论上还是在实践中,都给予了本人很大的帮助,使自己的理论和技术水平都得到很大的提高,这对于自己以后的工作和学习都是一种巨大的鼓舞。在本课程设计的过程和论文编写过程中,很多同学和朋友给予了我许多无私的帮助,给我的设计和论文提出了很多宝贵的修改意见,在这里,我向这些无私帮助我的人表示衷心的感谢和良好的祝愿。谢谢你们对我的帮助和支持,让我感受到同学的友谊

23、。至此,衷心感谢各位老师及同学的帮助!10参考文献1 余发山,王福忠.单片机原理及应用技术.徐州:中国矿业大学出版社,20032 李朝青.单片机原理及接口技术(简明修订版).杭州:北京航空航天大学出版社,2005.3 张有德,赵志英.单片微型机原理、应用于实验.复旦大学出版社,2000.4 ds18b20数据手册.5 求是科技编著8051系列单片机c程序设计完全手册北京: 人民邮电出版社, 2006.6 阎石.数字电子技术基础(第三版). 北京:高等教育出版社,2004.附件:源程序代码:#include#include#define uint unsigned int /宏定义#define

24、 uchar unsigned char sbit tem=p32; /18b20数据口uchar temp4; /温度转化时用/*共阴数码管*/uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40;/*ms级延时*/void delayms(uint ms) uint i,j;for(i=ms;i0;i-)for(j=120;j0;j-); /*us级延时*/ void delay_1(uint t) while( t-) ; /*写*/ void xie_qianduan(uchar k) uchar

25、 n;for(n=8;n0;n-)tem=0;tem=k&0x01; delay_1(5); tem=1; k=1;/*读*/uchar du_qianduan() uchar u;uchar g=0;for(u=8;u0;u-) tem=0; g=1; tem=1; if(tem) g|=0x80; delay_1(4); return g; /*初始化*/void init_1820()uchar x=0; tem=1;/复位delay_1(8);/延时大于1ustem=0;delay_1(80); /延时大于480ustem=1;delay_1(14);x=tem;delay_1(20);/*读取数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论