资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
自动化与电气工程学院单片机课程设计目录1. 引言12. 设计方案及原理23. 硬件设计33.1 单片机最小系统33.2 液晶(1602)显示电路33.3 DS18B20数字温度计43.4 AT89C51单片机43.5 系统主电路图54. 软件设计64.1 主程序流程图64.2 初始化流程图64.3 显示函数85. 总结96. 参考文献11附录 A 1602内部的字符集12附录 B 源程序代码13 I自动化与电气工程学院单片机课程设计1. 引言随着“信息时代”的到来,作为获取信息的手段传感器技术得到了显著的进步,其应用领域越来越广泛,对其要求越来越高,需求越来越迫切。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。由于传感器能将各种物理量、化学量和生物量等信号转变为电信号,使得人们可以利用计算机实现自动测量、信息处理和自动控制,但是它们都不同程度地存在温漂和非线性等影响因素。传感器主要用于测量和控制系统,它的性能好坏直接影响系统的性能。因此,不仅必须掌握各类传感器的结构、原理及其性能指标,还必须懂得传感器经过适当的接口电路调整才能满足信号的处理、显示和控制的要求,而且只有通过对传感器应用实例的原理和智能传感器实例的分析了解,才能将传感器和信息通信和信息处理结合起来,适应传感器的生产、研制、开发和应用。另一方面,传感器的被测信号来自于各个应用领域,每个领域都为了改革生产力、提高工效和时效,各自都在开发研制适合应用的传感器,于是种类繁多的新型传感器及传感器系统不断涌现。温度传感器是其中重要的一类传感器。其发展速度之快,以及其应用之广,并且还有很大潜力。为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本文利用单片机结合传感器技术而开发设计了这一温度采集监控系统。美国DALLAS公司的DS18B20数字温度传感器是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20数字温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。为了便于观察,即监控,读回来的温度值会在液晶屏上显示。单片机芯片使用的是ATMEL公司的AT89C51单片机。它的时钟频率可达24MHz。而本设计所使用的时钟频率为12MHz,这个频率在其它型号的单片机上也能使用,便于系统移植。2. 设计方案及原理在温度采集系统中,传统的测温方法是将模拟信号远距离采样进行A/D转换,而为了获得较高的测温精度,就必须采用措施解决由长线传输,多点测量切换及放大电路零点漂移等造成的误差补偿问题。采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在-10+85时的测量精度为-0.5。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89C51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大,且由于单总线上可以带多个DS18B20,因此可以非常容易实现多点测量.轻松的组建传感器网络。本文为说明DS18B20的采集过程就用一个DS18B20,做单点温度采集。采用温度芯片DS18B20测量温度,可以体现系统芯片化这个趋势。部分功能电路的集成,使总体电路更简洁,搭建电路和焊接电路时更快。而且,集成块的使用,有效地避免外界的干扰,提高测量电路的精确度。所以集成芯片的使用将成为电路发展的一种趋势。本文应用这一温度芯片,也是顺应这一趋势。下面是系统整体框图:图 2-1 系统设计原理图3. 硬件设计3.1 单片机最小系统所谓单片机最小系统是指能让单片机运行程序的最小配置,包括时钟电路和复位电路。复位是单片机应用系统中不可或缺的操作,复位是使单片机处于某种确定的初始状态。单片机的工作就是从复位开始的。下面是复位操作的一种电路图:图 3-1 复位电路微型计算机执行指令是通过按序完成各种微操作,达到实现指令功能目的的。各指令的微操作在时间上是有严格的次序,这种微操作的时间次序称为时序。单片机的正常运行需要片外的时钟信号来为内部的各种微操作提高时间基准。而外部的时钟信号是由外部的时钟电路产生的,如下图:图 3-2 时钟电路3.2 液晶(1602)显示电路液晶显示技术在我们的日常生活中应用的很多。它的显著特点是:低压微功耗、平板型结构、被动显示、显示信息量大、易于彩色化、没有电磁辐射、寿命长等等。其原理图如下:图 3-3 1602液晶屏3.3 DS18B20数字温度计美国 DALLAS公司的DS18B20数字温度传感器是世界上第一种单总线设备。DQ端接在单总线上。与传统上的模拟温度计相比它所需的硬件资源少,连线简洁,可靠性高,抗干扰能力强。DS18B20的外部电源供电方式电路图如下:图 3-4 DS18B20的外部电源供电方式电路图3.4 AT89C51单片机当我们使用P0口作为I/O口时,必须在单片机外部添加上拉电阻,如下图排阻所示。图 3-5 接在P0口的上拉电阻下面是AT89C51单片机的管脚图,及与本设计有关的单片机管脚的定义:图 3-6 AT89C51的管脚及相关引脚定义3.5 系统主电路图通过对系统各个模块的分析设计,然后用总线将各个模块与单片机连接在一起,形成系统的主电路。本文硬件设计的特点是硬件接线简单、清楚。虽然硬件的复杂度得到降低,但却是通过一系列软件模块的加强来加以弥补。图 3-7 系统主电路图4. 软件设计本设计的软件设计部分都是采用C语言开发的。相比汇编语言来说,C语言开发的软件移植性好,容易阅读,更便于缩短开发周期。软件的整体设计是自底向上进行的,即先将各个子功能开发出来,然后将这些子功能嵌在一起。并且在后期的功能扩展时也比较方便,在单片机外围添加相应的外围电路,在程序中添加相应的模块就可以实现系统的扩展。4.1 主程序流程图下图是本设计的主流程图,它的流程简洁,让读者一阅便知系统的清晰结构:图 4-1 系统主程序流程图4.2 初始化流程图系统中的初始化分为系统初始化init_system(),DS18B20芯片的初始化init_DS18B20(),以及液晶的初始化init_LCD()。下面是它们各自的流程图:图 4-2 init_system()函数的流程图在初始化DS18B20的过程中,总线控制器(单片机)会将总线电位拉低,当低电平持续时间在480us到960us之间时复位信号有效。然后DS18B20等待15us到60us后在接下来的60us到240us产生应答信号。如下图初始化时序所示。图 4-3 初始化时序图下面的流程图就是根据上面的时序图来的。图 4-4 DS18B20初始化流程图对于液晶屏来说,初始化的目的是设定它的工作方式。液晶的控制以及数据的传输都是以字节为单位进行的,它的初始化流程图如下图所示。图 4-5 LCD初始化流程图4.3 显示函数显示函数的做用是将时间、日期、温度等信息显示在液晶屏上。因此,这部分也有三个部分组成,即,时间显示、日期显示、温度显示。下面是这三个函数的流程图。显示函数的主要功能是将时间、日期、温度函数的数据信息转换成相应的字符存放在字符数组中,然后将这些数据通过一定的顺序输入到液晶内部的RAM中,这样液晶得到信息后就将相应的信息显示在屏幕上。下面是它们的流程图。图 4-6 时间显示流程图图 4-7 日期显示流程图图 4-8 温度显示流程图5. 总结通过本次温度监控系统的设计,我大有收获,在制作过程中,一定要注意的每个工作步骤的检查,确保制作成功。比如在编写程序时一个微小的错误将导致程序不能正常运行,在仿真过程中将连线搭错将在仿真过程中得不到想要的结果。当系统真正出现错误时,首先从相对简单的电路原理图检查起(在程序通过编译后)看看电路是否出现问题,当电路连接无误后就要对程序的各个模块进行检查看看是不是算法及程序书写是不是存在问题,最后看看是不是设计过程中存在原理性错误。当然在实际过程中以上罗列的错误仅仅是比较常见的,其它的错误就不在这里赘述了,遇到后根据个人经验,有针对性的进行解决。这次课程设计历时2周,从一开始的确定课题,到后来的资料查找、理论学习,再有就是近来的调试和测试过程,这一切都使我的理论知识和动手能力进一步得到提高。在这次课程设计中我学会了单片机项目的开发过程,认识和掌握了1602液晶屏的控制以及DS18B20单线总线器件的控制。软件方面更加熟悉了Keil C51软件和Protues仿真软件的使用及将这两个软件联合起来快速开发单片机应用系统,为后面的学习积累了很多宝贵的经验。从得到题目到查找资料,从对题目的研究设定到Protues仿真调试失败后再一次全部重新开始在这一个充满挑战伴随挫折,充满热情伴随打击的过程中,我感触颇深,它已不仅是一个对我单片机学习情况和我的应用动手能力的检验,而且还是对我的钻研精神,面对困难的心态,做事的毅力和耐心的考验。我在这个过程中深刻的感受到了做课程设计的意义所在。本课题的重点、难点是:(1) 初步接触数字温度传感器,要对传感器的原理、结构、应用等各方面从头开始琢磨;(2) 初次尝试应用液晶做监控显示界面;(3) 熟悉单片机C语言编程;(4) 对DS18B20来说,它的控制先对较难,应为它有严格的时序要求,如果时序不对,那么控制器就不能将温度的数字量读到芯片内,更不能对DS18B20写控制指令,而液晶的显示要了解液晶的字符表(见附录A)。通过做本课题,我了解并掌握了传感器的基本理论知识,更深入的掌握单片机的开发应用和PC编程控制。为以后从事单片机软硬件产品的设计开发、PC软件开发打下了良好的基础,树立独立从事产品研发的信心,并在这种能力上得到了比较充分的锻炼。6. 参考文献1 周兴华.手把手教你学单片机C程序设计.北京航空航天大学出版社.20072 张天凡.51单片机C语言开发详解.电子工业出版社.20083 江志红.51单片机技术与应用系统开发案例精选.清华大学出版社.20084 汤竞南、沈国琴.51单片机C语言开发与实例.人民邮电出版社.20085 李华、王思明、张金敏.单片机原理及应用.兰州大学出版社.20016 李广弟.单片机基础.北京航空航天大学出版社.19947 丁向荣、贾萍.单片机应用系统与开发技术.清华大学出版社.20098 张萌、和湘、姜斌.单片机应用系统开发综合实例.清华大学出版社.2007 附录 A 1602内部的字符集 附录 B 源程序代码/*/* 工程名称:基于DS18B20的温度采
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号