数字温度计的设计毕业论文_第1页
数字温度计的设计毕业论文_第2页
数字温度计的设计毕业论文_第3页
数字温度计的设计毕业论文_第4页
数字温度计的设计毕业论文_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

黄黄 冈冈 师师 范范 学学 院院 专专 科科 生生 毕毕 业业 论论 文文 题题 目目: 数字温度计的设计数字温度计的设计 专业班级: 应用电业技术 电子 1211 班 学 号: XXX 学生姓名: XX 指导教师: XXX 论文完成日期: 2014 年 11 月 郑郑 重重 声声 明明 本人的毕业论文是在熊杰老师的指导下独立撰写并完成的。毕业论文没有剽窃、抄 袭、造假等违反学术道德、学术规范和侵权行为,如果有此现象发生,本人愿意承担由 此产生的各种后果,直至法律责任;并可通过网络接受公众的查询。特此郑重声明。 毕业论文作者(签名): XX 2014 年 11 月 5 日 目目 录录 第一章第一章 绪论绪论.3 1.1 前言.3 1.2 设计务任和要求.3 第二章第二章 系统总体方案及硬件设计系统总体方案及硬件设计.4 2.1 数字温度计设计方案论证.4 2.1.1 方案一.4 2.1.2 方案二.4 2.2 系统总体设计.4 2.3 模块简介.6 2.3.1 主控制器.6 2.3.2 显示电路.6 2.3.3 温度传感器.7 2.3.4 报警温度调整按键.8 第三章第三章 系统软件算法分析系统软件算法分析.9 3.1 主程序流程图.9 3.2 读出温度子程序.9 3.3 温度转换命令子程序.9 3.4 计算温度子程序.10 3.5 显示数据刷新子程序.10 3.6 按键扫描处理子程序.11 第四章第四章 电路仿真电路仿真.12 第五章第五章 电路板制作过程电路板制作过程.14 5.1 原理图编辑.14 5.2 PCB 制作.15 第六章第六章 电路调试过程电路调试过程.16 总结与体会总结与体会.17 谢谢 辞辞.19 参考资料参考资料.20 附目录附目录.21 第一章第一章 绪论绪论 1.1 前言前言 随着电子技术的不断发展,我们能应用到的电子产品也越来越多。而生活中我 们用的很多电子产品都越来越轻巧,价格也越来越便宜利用电子芯片实现的东西 也越来越来越多,比如数字温度计。当然,非电子产品的常用温度计也很便宜。此 次课设论文所介绍的是自己动手制作的一个高精度数字温度计。本次课设不但丰富 了课余生活,还从实践中学到并了很多新知识,并从中巩固了以前的知识。 用 Protel 99 软件来设计制作电路板PCB(Printed circuit Bound)。在 PCB 上,布置一系列的芯片、电阻、电容等元件,通过 PCB 上的导线相连,构成电 路,一起实现一定的功能。电路通过连接器或者插槽进行输入/输出,有时还有显示 部分(如发光二极管 LED、.数码显示器等) 。可以说,PCB 是一块连接板,它的主要 目的是为元件提供连接,为整个电路提供输入输出端口和显示,电气连接通性是 PCB 最重要的特性之一。PCB 在各种电子设备中有如下功能:(1)提供集成电路等 各种电子元件固定、装配的机械支撑。 (2)实现集成电路等各种电子元件之间的布 线和电气连接或电绝缘,提供所要的电气特性。 (3)为电动装配提供阻焊徒刑,为 元器件插装、检查、维修提供识别符和图形。 1.2 设计务任和要求设计务任和要求 1.2.1、基本范围-20100 1.2.2、精度误差小于 0.5 1.2.3、LED 数码直读显示 1.2.4、可以任意设定温度的上下限报警功能 第二章第二章 系统总体方案及硬件设计系统总体方案及硬件设计 2.1 数字温度计设计方案论证数字温度计设计方案论证 2.1.1 方案一方案一 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将 随被测温度变化的电压或电流采集过来,进行 A/D 转换后,就可以用单片机进行数 据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到 A/D 转 换电路,其中还涉及到电阻与温度的对应值的计算,感温电路比较麻烦。而且在对 采集的信号进行放大时容易受温度的影响从而出现较大的偏差。 2.1.2 方案二方案二 考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是 非常容易想到的,所以可以采用一只温度传感器 DS18B20,此传感器,可以很容易 直接读取被测温度值,进行转换,电路简单,精度高,软硬件都以实现,而且使用 单片机的接口便于系统的再扩展,满足设计要求。 从以上两种方案,很容易看出,采用方案二,电路比较简单,费用较低,可靠 性高,软件设计也比较简单,故采用了方案二。 2.2 系统总体设计系统总体设计 温度计电路设计总体设计方框图如图 2.1 所示,控制器采用单片机 STC89C52, 温度传感器采用 DS18B20,用 4 位 LED 数码管以串口传送数据实现温度显示。 图 2.1 有了总体设计方案后,下面就是原 理图的制作了。原理图如下图 2.2 及图 2.3 示。 为了降低绘制 PCB 是的麻烦度,特意将数码管电路与主控制电路分开画,最后 两者是用导线连接。数码管位选接 P20P23,段选接 P0 口。 图 2.2 数码管电路 图 2.3 单片机控制电路 2.3 模块简介模块简介 系统由单片机最小系统、显示电路、按键、温度传感器等组成。 2.3.1 主控制器主控制器 单片机 STC89C52 具有低电压供电和体积小等特点,四个端口只需要两个口就 能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池 供电。晶振采用 12MHZ。复位电路采用上电加按钮复位。 图 2.4 晶振电路 图 2.5 复位电路 2.3.2 显示电路显示电路 显示电路采用 4 位共阴极 LED 数码管,P0 口由上拉电阻提高驱动能力,作为 段码输出并作为数码管的驱动。P2 口的低四位作为数码管的位选端。采用动态扫描 的方式显示。 2.3.3 温度传感器温度传感器 DS18B20 温度传感器是美国 DALLAS 半导体公司最新推出的一种改进型智能温 度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根 据实际要求通过简单的编程实现位的数字值读数方式。DS18B20 的性能特 点如下: 1、独特的单线接口仅需要一个端口引脚进行通信; 2、多个 DS18B20 可以并联在惟一的三线上,实现多点组网功能 3、无须外部器件; 4、可通过数据线供电,电压范围为 3.05.5; 5、零待机功耗; 6、温度以或位数字; 7、用户可定义报警设置; 8、报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; 9、负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20 可以采用两种方式供电,一种是采用电源供电方式,此时 DS18B20 的 1 脚 接地,2 脚作为信号线,3 脚接电源。 为保证在有效的 DS18B20 时钟周期内提供足够的电流,可用一个 MOSFET 管来 完成对总线的上拉。当 DS18B20 处于写存储器操作和温度 A/D 转换操作时,总线上 必须有强的上拉,上拉开启时间最大为 10us。采用寄生电源供电方式时 VDD 端接地。 由于单线制只有一根线,因此发送接口必须是三态的。 图 2.6 温度传感器与单片机的连接 2.3.4 报警温度调整按键报警温度调整按键 本系统设计三个按键,采用查询方式,一个用于选择切换设置报警温度和当前温度, 另外两个分别用于设置报警温度的加和减。均采用软件消抖。 第三章第三章 系统软件算法分析系统软件算法分析 系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度 子程序,显示数据刷新子程序,按键扫描处理子程序等。 3.1 主程序流程图主程序流程图 主程序的主要功能是负责温度的实时显示、读出并处理 DS18B20 的测量的当前 温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度,其程 序流程见图 3.1 所示。 图 3.1 主程序流程图 3.2 读出温度子程序读出温度子程序 读出温度子程序的主要功能是读出 RAM 中的 9 字节,在读出时需进行 CRC 校 验,校验有错时不进行温度数据的改写。其程序流程图如图 3.2 示 3.3 温度转换命令子程序温度转换命令子程序 温度转换命令子程序主要是发温度转换开始命令,当采用 12 位分辨率时转换 时间约为 750ms,在本程序设计中采用 1s 显示程序延时法等待转换的完成。温度转 换命令子程序流程图如图 3.3 所示 图 3.2 读文读流程图 图 3.3 温度转换流程图 3.4 计算温度子程序计算温度子程序 计算温度子程序将 RAM 中读取值进行 BCD 码的转换运算,并进行温度值正负的 判定,其程序流程图如图 3.4 所示。 3.5 显示数据刷新子程序显示数据刷新子程序 显示数据刷新子程序主要是对分离后的温度显示数据进行刷新操作,当标志位 位为 1 时将符号显示位移入第一位。程序流程图如图 3.5。 图 3.4 计算温度流程图 图 3.5 显示数据刷新流程图 3.6 按键扫描处理子程序按键扫描处理子程序 按键采用扫描查询方式,设置标志位,当标志位为 1 时,显示设置温度,否则 显示当前温度。如下图 3.6 示。 图 3.6 按键扫描处理流程图 第四章第四章 电路仿真电路仿真 通过仿真软件验证该原理图的可行性。采用 protues 软件对电路仿真,可以得 到预期效果。因 protues 软件中没有 STC89C52 故用 AT89C52 代替。仿真图如图 4.1 示。 图 4.1 电路仿真图 右图 4.2 为温度传感器的仿真效果图, 此图验证了传感器的温度与数码管显 示的数字一致。 当按下 SET 键一次时,进入温度报警上线调节,此时显示软件设置的温度报警 上线,按 ADD 或 DEC 分别对报警温度进行加一或减一。当再次按下 SET 键时,进入 温度报警下线调节,此时显示软件设置的温度报警下线,按 ADD 或 DEC 分别对报警 温度进行加一或减一。当第三次按下 SET 键时,退出温度报警线设置。显示当前温 度。验证了电路图正确性后,下面就进入 PCB 的绘制了 第五章第五章 电路板制作过程电路板制作过程 随着计算机技术的发展,电路设计中的很多工作都可以交由计算机来完成。 Protel 99SE 系统是一套建立在 PC 环境下的 EDA 电路集成设计系统,由于其高度的 集成性与扩展性,很快就成为 PC 平台上最流行的电子设计自动化软件。在完成本课 程设计过程中,充分运用了 Protel99SE 的电路及 PCB 设计功能加快了设计进程,下 面将就电路板的制作过程做详细阐述。 Protel 进行电路设计有两个步骤如下图所示: 产生网络表电路原理图设计印刷电路板设计 图9 电路板设计的步骤 图 5.1 PROTEL 设计步骤 5.1 原理图编辑原理图编辑 原理图的设计是整个电路设计的基础,它决定了后面工作的进展。原理图的设 计过程可以按下图所示的设计流程进行。 图 5.2 设计流程图 (1)图纸设置是绘制电路图的第一步,必须根据实际电路的大小来选择合 的图纸设置图纸的大小包括设置图纸尺寸、网络和光标的设置等等。 (2)加载元器件库,在 Protel 99 SE 中,原理图中的元器件符号均存放 在不同的原理图元件库中,在绘制电路原理图之前,必须将所需的原理图元件库装 入原理图编辑器。 (3)放置元器件,即将所需的元件符号从元件库中调入原理图中。 (4)调整元器件布局,将各个元件用具有电气性能的导线连接起来并进一步调 整元器件的位置、元器件标注的位置及连线等。 (5)最后打印存盘。 5.2 PCB 制作制作 在绘制好原理图的情况下要想得到一块电路板还需要绘制一张 PCB 版图,PCB 做的好坏将直接影响电路板的美观和性能,所以要尽量把 PCB 做的合理。我们可以 按以下流程来完成 PCB 的绘制。 开始规划电路板设置参数装入元件网表及封装 保存及打印 手动调整 布线 元件布局 结束 图 5.3 PCB 设计流程图 整个过程中元器件的布局是关键,布局直接影响到最后做板的元件格局,所以 在整个过程中要不断的调整直至最终合理。图 5.4 是本课程设计的最终 PCB 印刷电 路,USB 母座放在边上便于插拔电源线。 。 图 5.4 电路 PCB 图 第六章第六章 电路调试过程电路调试过程 电路板的设计在经过了原理图的引用分析,元件的选取和电路原理的仿真验证 后,通过 PROTEL99 便可以制作成对应的原理图,然后完成 PCB 的版图设计,最后便 制作成完整的电路板。电路板的制作完成只是占课题的一小部分,接下来将进入比 较棘手也是较为需要耐心和细心的电路调试环节。 说实在的,对于电路调试实在有点怕,上一次课设调板的阴影还没散去呢。调 试,要的就是耐性,毅力外加细心。看似完美无缺的电路板,检查了之后却是漏洞 百出,断线的,虚焊的。不过这些都不是大问题,有了多次电路设计经验后这些故 障很快就解决了。接下来最棘手的应该是软件编程了。编程向来都是我的软肋,不 过还好,在广大网友的支持下,最后还是搞定了。 总结与体会总结与体会 本次课程设计即将进入尾声,回想这两周来的电子设计制作经历,我感触甚是 深刻。通过本次课程设计,使我对电子设计及制作产生了较为浓厚的兴趣,这不仅 加强了自己对理论知识的理解和巩固,还能提高自己的动手能力,可以说受益匪浅。 当然更重要的是,激起了我学好单片机的斗志。 本次课程设计主要分为四部分:设计、仿真、制作及调试。这四个步骤在整个 课程设计过程中起着重要的作用。 本次课程设计的任务是:根据老师给出的设计题目的要求选择合适的电路,确 定元件参数,对原理图进行电路仿真,制作 PCB 图等。在整个设计制作过程中用到 了两个软件,PROTUES 仿真软件和 Protel99SE 做板软件。可以说,在此之前自己未 曾使用过 protues 软件。而且 Protel99SE 用起来也是相当的陌生,毕竟已隔将近半 年多没用此软件做板了。本次课设让我学到了如何去运用 protues 软件对电路进行 仿真,仿真出来的效果与理论上的效果以及与实物做出来的效果有何不同或相似。 而在使用 Protel99SE 软件设计时,我也有了不少的学习应用心得。首先,在制作原 理图的时候一定要非常细心,一个小错误都可能影响往后的制板工作。其次,在做 PCB 时,本人不提倡应用自动布线工具。虽然手动布线很烦人,但这可以提高你的 动手能力,同时也可以提升你的耐力。总之,在学习和运用设计电路软件时遇到了 不少问题,在向老师和同学请教后得到了解决,也在这个过程中学到了不少解决问 题的方法。 做板可是说是在考验一个人的耐力以及动手能力。电路设计完之后就是开始真 正的做板了。做板大致来说有六个步骤:买元件印铜腐蚀打孔 安装元器件焊接。买元件时要注意元件的管脚要与封装一致,比如电位器有很 多种,在选择时要注意管脚与自己铜板铜孔对应。印铜时要注意熨斗的温度,温度 不够时印铜很容易失败。而腐蚀过程中腐蚀药品的量以及水的温度则直接影响到腐 蚀时间的长短,这就要自己合理把握了。打孔时最好使用口径稍微大一点的针头, 在打芯片的孔时要注意将孔打在一条直线上,以免在插芯片时有困难。在安装元器 件时一定要做到对号入座,且有些器件要注意正负极,如若不然电路不通是小事, 元件爆炸就危险了。焊接时一定要做到细心+耐心,不要急于求成。当然对于一个初 学者而言,刚开始焊出来的板子确实谈不上美观,不过当熟练之后,焊出美观的板 来就不成什么问题了。 最能体现一个人的耐心程度,也最能学到东西的阶段还是在调试过程。在整个 过程中既要求熟练掌握设计的原理,懂得运用所学电学的基本理论,还要求善于查 错,改错。如果在调试过程中无法达到预期结果,就要从整个设计制作过程中认真 分析,细心查找错误,一步一步仔细排查。在找到错误之后,切不可马上放弃这块 板子重新做,如果不懂如何做,可以请教在这方面能力较强的同学,尽量做到以较 少的改动来改正错误。这样可以节约时间以及做板的成本。当调板不成功,尤其是 花了很久时间都未能成功的时候,大多数人都会显得相当急燥,而我就是其中一个。 后来我去请教同学和老师,在他们的开导和讲解之下,我静下心来重新开始分析, 当检查到电路板时才发现,原来有一根铜线与周边所附的铜被一点点没腐蚀掉的铜 点连在了一起,虽然这只是一小点的铜点,却能造成了比较大的错误,导致有整个 电路处于短路状态。幸亏没把主控芯片给烧咯。在修改之后,终于,一直期盼出现 的结果出来了。 本次课程设计的大概题目是老师给出,当然我们也可以自由选择。我在学校图 书馆以及网上查阅了相关资料之后,确定了一个与目前我所学的知识比较接近且相 对而言比较熟悉的题目。可以说从确定题目,寻找原理图,制作 sch、pcb,到焊接 调试,每一个步骤都付出了努力,倾注了我两周的心血,也从中积累了宝贵的经验, 最后终于大抵上完成了设计任务。从总体上看,这次电路设计制作还是比较成功的, 板子的调试结果与仿真得出的效果图还是比较接近的。拿着自己调试好的板子,心 里总有些许的“成就感” ,这也只有真正是自己动过手的人才能体会到其中的喜悦。 本次课程设计给我的第一大感觉就是:要成功,就要有付出。 从这一次制作过程的心得体会当中,我意识到在以后的设计中我还需要做到再 细心、再耐心、再专心。回想从制作开始到结束,没有哪一步不是注入了自己的心 血,心情就激动不已,此次课程设计必将让自己的理论水平和实践能力上升到一个 新的台阶,同时也让自己认识到实践的重要性。 谢 辞 本设计在选题及研究过程中得到熊杰老师的悉心指导,多次询问设计进程,并 为我指点迷津。也感谢学校及信息与通信学院的老师们为我提供了良好的研究和实 践条件,谨向各位老师们表示诚挚的敬意和谢忱。 在本学期的课程设计中,我能够顺利的完成设计,也离不同学的热心帮助和支 持。在此,我要向他们表示最衷心的感谢,同时也要感谢信息与通信学院科协的所 有朋友带给我的帮助。没有他们在身旁的指点我也不可能完成课设任务。 愿把我这份成功的喜悦和快乐都送给那些关心和支持过我,在最困难时候给予 我帮助的同学以及老师。在此衷心祝愿他们一生如意 参考资料参考资料 1 阎石.数字电子技术基础.高等教育出版社,2006 2 王卫东.模拟电子电路基础M.西安:西安电子科技大学出版社,2003 3 曹丙霞,赵艳华.PROTEL 99SE 原理图与 PCB 设计.电子工业出版社,2007 4 李群芳,张士军,黄建.单片机微型计算机与接口技术.电子工业出版社,2008 5 赵世强.电子电路 EDA 技术M.西安:西安电子科技大学出版社,2000 6 郭天祥.新概念 51 单片机 C 语言教程.电子工业出版社,2009 附目录附目录 程序源代码 #include reg52.h #include intrins.h /_nop_();延时函数用 #define dm P0 /段码输出口 #define uchar unsigned char #define uint unsigned int sbit DQ=P27; /温度输入口 sbit w0=P20; /数码管 4 sbit w1=P21; /数码管 3 sbit w2=P22; /数码管 2 sbit w3=P23; /数码管 1 sbit beep=P17; /蜂鸣器和指示灯 sbit set=P26; /温度设置切换键 sbit add=P24; /温度加 sbit dec=P25; /温度减 int temp1=0; /显示当前温度和设置温度的标志位为 0 时显示当前温度 uint h; uint temp; uchar r; uchar high=35,low=20; uchar sign; uchar q=0; uchar tt=0; uchar scale; /*温度小数部分用查表法*/ uchar code ditab16=0 x00,0 x01,0 x01,0 x02,0 x03,0 x03,0 x04,0 x04,0 x05,0 x06,0 x06,0 x07,0 x 08,0 x08,0 x09,0 x09; /小数断码表 uchar code table_dm12=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00,0 x40; /共阴 LED 段码表0 1 2 3 4 5 6 7 8 9 不亮 - uchar table_dm1=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef; /个位带小数点的断码表 uchar data temp_data2=0 x00,0 x00; /读出温度暂放 uchar data display5=0 x00,0 x00,0 x00,0 x00,0 x00; /显示单元数据,共 4 个数据和一个运算暂用 /*11us 延时函数*/ void delay(uint t) for (;t0;t-); void scan() int j; for(j=0;j0;i-) DQ=1;_nop_();_nop_(); /从高拉倒低 DQ=0;_nop_();_nop_();_nop_();_nop_(); /5 us DQ=val /最低位移出 delay(6); /66 us val=val/2; /右移 1 位 DQ=1; delay(1); /*DS18B20 读 1 字节函数*/ /从总线上取 1 个字节 uchar read_byte(void) uchar i; uchar value=0; for(i=8;i0;i-) DQ=1;_nop_();_nop_(); value=1; DQ=0;_nop_();_nop_();_nop_();_nop_(); /4 us DQ=1;_nop_();_nop_();_nop_();_nop_(); /4 us if(DQ)value|=0 x80; delay(6); /66 us DQ=1; return(value); /*读出温度函数*/ read_temp() ow_reset(); /总线复位 delay(200); write_byte(0 xcc); /发命令 write_byte(0 x44); /发转换命令 ow_reset(); delay(1); write_byte(0 xcc); /发命令 write_byte(0 xbe); temp_data0=read_byte(); /读温度值的第字节 temp_data1=read_byte(); /读温度值的高字节 temp=temp_data1; temp4; / 取中间八位,即整数部分的值 display3=display4/100; / 取百位数据暂存 display1=display4%100; / 取后两位数据暂存 display2=display1/10; / 取十位数据暂存 display1=display1%10; /个位数据 r=display1+display2*10+dis

温馨提示

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

评论

0/150

提交评论