583742402毕业设计(论文)基于单片机的热水控制器设计.doc
《583742402毕业设计(论文)基于单片机的热水控制器设计.doc》由会员分享,可在线阅读,更多相关《583742402毕业设计(论文)基于单片机的热水控制器设计.doc(29页珍藏版)》请在三一办公上搜索。
1、毕业设计(论文)题目: 基于单片机的热水控制器 学生姓名: 学 号: 专 业: 指导教师: 论文完成时间: 2008 年 06 月 05 日目 录摘要31 绪论32 系统的总体设计33 系统的主要硬件介绍43.1 单片机介绍43.1.1单片机概述43.1.2 单片机编程语言介绍63.1.3 系统选择73.1.4 AT89C51引脚功能介绍83.2 温度传感器DS18B20103.2.1 DS18B20简介113.2.2 DS18B20的硬件连接124 热水控制器的系统设计134.1硬件设计134.1.1 温度检测部分134.1.2 LED数码管显示电路134.1.3 报警及控制输出部分144.
2、1.4 单片机及按键电路设计154.2 软件系统设计174.2.1 系统程序流程图174.2.2 单片机软件开发语言184.2.3 DS18B20驱动程序194.2.4 系统的程序源代码23参考文献28附:系统整体硬件电路图29摘要本文以单片机AT89C51为核心,从DS18B20温度检测的数据采集、设定值调整、LED数码管显示电路、报警及输出控制电加热器等几个方面出发,详细研究和设计了基于单片机的热水控制器的各个部分内容,设计了单片机及其外围电路,并结合一套经典的程序算法。给出了一套合理的基于单片机的热水控制器软硬件解决方案。关键字 温度检测 DS18B20 单片机 温度控制1 绪论 单片机
3、在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。基于单片机的热水控制器较传统的温度控制器具有更高的智能性,并且系统的功能更加易于扩展和升级,是一种低成本的温度检测、控制方案。 在一些温控系统电路中,广泛采用的是通过热电偶、热电阻或PN结测温电路经过相应的信号调理电路,转换成AD转换器能接收的模拟量,再经过采样保持电路进行AD转换,最终送入单片机及其相应的外围电路,完成监控。但是由于传统的信号调理电路实现复杂、易受干扰、不易控制且精度不高。本文介绍单片机结合DS18B20热水控制器设计,本系统用一种新型的可编程温度传感器(DS18B20),不需复杂的信号调理电
4、路和AD转换电路能直接与单片机完成数据采集和处理,实现方便、精度高,可根据不同需要用于各种场合。2 系统的总体设计单片机的热水控制器需要完成温度的检测并可以通过按键设定调整最高温度和最低温度值、能够显示当前温度值、最高温度和最低温度值,同时要实现水温超过最高温度+3度时,停止电热棒加热并报警;当水位低于最低温度-3度时,启动电热棒加热等功能。需要系统包括单片机最小系统电路和按键电路、LED显示电路、温度检测部分、报警和控制输出等主要部分,系统地总体设计狂徒如下图所示:LED数码管显示DS18B20温度检测部分单片机报警和输出控制部分按键电路图2.1 系统整体设计框图3 系统的主要硬件介绍3.1
5、 单片机介绍3.1.1单片机概述单片微机(Single-Chip Microcomputer)简称单片机,通常统称微控制器(Micro-Controller 简写C)或微型处理部件(Micro Controller Unit 简写MCU)。一般的说,单片机就是在一块硅片上集成CPU、RAM、ROM、定时器/计数器、和多种I/O的完整的数字处理系统。二十世纪,微电子、IC集成电路行业发展迅速,其中单片机行业的发展最引人注目。单片机功能强、价格便宜、使用灵活,在计算机应用领域中发挥着极其重要的作用。从INTEL公司于1971年生产第一颗单片机Intel-4004开始,开创了电子应用的“智能化”新时
6、代。单片机以其高性价比和灵活性,牢固树立了其在嵌入式微控制系统中的“霸主”地位,在PC机以286、386、Pentium、P高速更新换代的同时,单片机却“始终如一”保持旺盛的生命力。例如,MCS-51系列单片机已有十多年的生命期,如今仍保持着上升的态势就充分证明了这一点。1.单片机的结构与组成目前,单片机的系统结构有两种类型:一种是将程序和数据存储器分开使用, 即哈佛(Harvard)结构,当前的单片机大都是这种结构。另一种是采用和PC机的冯.诺依曼(Von Neumann)类似的原理,对程序和数据存储器不作逻辑上的区分,用来存放用户程序,可分为EPROM、OTP、ROM和FLASH等类。EP
7、ROM型内存编程后其内容可用紫外线擦除,用户可反复使用,故特别适用于开发过程,但EPROM型单片机价格很高。具有ROM型(掩膜型)内存的单片机价格最低,它适用于大批量生产。由于ROM型单片机的代码只能由生产厂商在制造芯片时写入,故用户要更改程序代码就十分不便,在产品未成熟时选用ROM型单片机风险较高。OTP型(一次可编程)单片机介于EPROM和ROM型单片机之间,它允许用户自己对其编程,但只能写入一次。OTP型单片机生产多少完全可由用户自己掌握,不存在ROM型有最小起订量和掩膜费问题,另外,该类单片机价格已同掩膜型十分接近,故特别受中小批量客户的欢迎。Flash型(闪速型)单片机允许用户使用编
8、程工具或在线快速修改程序代码,且可反复使用,故一推出就受到广大用户的欢迎。Flash型单片机,即可用于开发过程,也可用于批量生产,随着制造工艺的改进,Flash型单片机价格不断下降,使用越来越普遍,它已是现代单片机的发展趋势。 随机内存(RAM):用来存放程序运行时的工作变量和数据,由于RAM的制作工艺复杂,价格比ROM高得多,所以单片机的内部RAM非常宝贵,通常仅有几十到几百个字节。RAM的内容是易失性(也有的称易挥发性)的,掉电后会丢失。最近出现了EEPROM或FLASH型的数据存储器,方便用户存放不经常改变的数据及其它重要信息。单片机通常还有特殊寄存器和通用寄存器,它们是单片机中存取速度
9、最快的内存,但通常存储空间很小。2.中央处理器(CPU)是单片机的核心单元,通常由算术逻辑运算部件ALU和控制部件构成。CPU就象人的大脑一样,决定了单片机的运算能力和处理速度。 并行输入/输出(I/O)口:通常为独立的双向口,任何口既可以用作输入方式,又可以作输出方式,通过软件编程来设定。现代的单片机的I/O口也有不同的功能,有的内部具有上拉或下拉电阻,有的是漏极开路输出,有的能提供足够的电流可以直接驱动外部设备。I/O是单片机的重要资源,也是衡量单片机功能的重要指针之一。串口输入/输出口:用于单片机和串行设备或其它单片机的通信。串行通信有同步和异步之分,这可以用硬件或通用串行收发器件来实现
10、。不同的单片机可能提供不同标准的串行通信接口,如UART、SPI、Micro Wire等。3.定时器/计数器(T/C)单片机内部用于精确定时或对外部事件(输入信号如脉冲)进行计数,有的单片机内部有多个定时/计数器。4.系统时钟通常需要外接石英晶体或其它振荡源来提供时钟信号输入,也有的使用内部RC振荡器。 以上是单片机的基本构成,现代的单片机又加入了许多新的功能部件,如模拟/数字转换器(A/D)、数字/模拟转换器(D/A)、温度传感器、液晶(LCD)驱动电路、电压监控、看门狗(WDT)电路、低压检测(LVD)电路等等。3.1.2 单片机编程语言介绍对于51系列单片机,现有四种语言支持,即汇编、P
11、L/M,C和BASIC。BASIC通常附在PC机上,是初学编程的第一种语言。一个新变量名定义之后可在程序中作变量使用,非常易学,根据解释的行可以找到错误而不是当程序执行完才能显现出来。BASIC由于逐行解释自然很慢,每一行必须在执行时转换成机器代码,需要花费许多时间不能做到实时性。BASIC为简化使用变量,所有变量都用浮点值。BASIC是用于要求编程简单而对编程效率和运行速度要求不高的场合。PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言。它很像PASCAL,是一种结构化语言,但它使用关键词去定义结构。PL/M编译器好像汇编器一样可产生紧凑代码。PL/M总的来说是“高级汇编
12、语言”,可详细控制着代码的生成。但对51系列,PL/M不支持复杂的算术运算、浮点变量而无丰富的库函数支持。学习PL/M无异于学习一种新语言。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号 而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的内存结构有初步了解寄存器分配、不同内存的寻址及数据类型等细节可由 编译器管理程序有规范的结构,可分为不同的函数。这种方式可使程序结构化将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性编程及程序调试时间显著缩短,从
13、而提高效率提供的库包含许多标准子程序,具有较强的数据处理能将已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术 C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本 身并不依赖于机器硬件系统,基本上不做修改就可根据单片机不同较快地移植过来。51的汇编语言非常像其它汇编语言。指令系统比第一代微处理器要强一些。51的不同存储区域使得其复杂一些。尽管懂得汇编语言不是你的目的,看懂一些可帮助你了解影响任何语言效率的51特殊规定。例如,懂得汇编语言指令就可以使用在片内RAM作变量的优势,因为片外变量需要几条指令才能设置累加器和数据指针进行存取。要求使用浮点和启用函数时只有具备汇编编程经验
14、才能避免生成庞大的、效率低的程序,这需要考虑简单的算术运算或先算好的查表法。最好的单片机编程者应是由汇编转用C而不是原来用过标准C语言的人。由此来看,单片机有着微处理器所不具备的功能,它可单独地完成现代工业控制所要求的智能化控制功能,这是单片机最大的特征。3.1.3 系统选择本系统以MCS-51单片机成员中的AT89C51为控制核心。AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序内存,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序内存既可在线编程(ISP
15、)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89C51单片机可为您提供许多高性价比的应用场合,它灵活应用于各种控制领域。主要性能参数:(1)与MCS-51产品指令系统完全兼容(2)4K字节在系统编程(ISP)Flash闪速内存(3)1000次擦写周期(4)4.0-5.5V的工作电压范围(5)全静态工作模式:0Hz33MHz(6)三级程序加密锁(7)2568字体内部RAM(8)32个可编程I/O口线(9)3个16位定时/计数器(10)5个中断源(11)全双工串行UART通道(12)低功耗空闲和掉电模式(13)中断可从空闲模唤醒系统(14)看门狗(W
16、DT)及双数据指针(15)掉电标识和快速编程特性(16)灵活的在系统编程(ISP字节或页写模式)其内部结构结构如图3.1所示:图3.1 单片机内部结构图3.1.4 AT89C51引脚功能介绍1.电源引脚Vcc和GND Vcc:电源电压,GND(10脚):接地端。2.时钟电路引脚XTALl和XTAL2 XTAL2(18脚):接外部晶体和微调电容的一端。在内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。要检查单片机的振荡电路是否正确工作,可用示波器查看XTAL2端是否有脉冲信号输出。XTAL 1(19脚):接外部晶体的微调电容的另一端。在片内它是振荡电路反相放大器的输入端。若需
17、采用外部时钟电路时,该引脚输入外部时钟脉冲如图3.2,3.3所示。3.控制信号引脚RST图3.2 AT89S51单片机晶振接法 图3.3 外部时钟电路RES(8脚)“RST是复位信号输入端,高电平有效。当此输入端保持两个机器周期(24个时钟振荡周期)的高电平时,可以完成复位操作。4.I/O(输入/输出) P0、 P1、 P2和 P3标准51单片机,如8051、8031、AT89C51、AT89S51、P89C51等有4个I/O(输入/输出)口,分别为:P0口(3932脚):P0口是一个漏极开路的8位双向埠。作为漏极八路的输出端口,每次能驱动8个Ls型TTL负载。当P0口作为输入口使用时,其先向
18、锁存器(地址80H)写入全1,此时P0口的全部引脚悬空,叫作为高阻抗输入。P1口(18脚):P1口是一个带上拉电阻的8位准双向I/O端口每一位能驱动(吸收成输出电流)4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存器(地址90H)写入全1,上拉电阻接成高电平。P2口(2128脚):P2口是一个带内部上接电阻的8位准双向埠。P2口的每一位能驱动4个LS型TTL负载。P3口(2128脚):P3口是一个带内部上接电阻的8位准双向埠。P3口的每一位能驱动(吸收或输出电流)4个LS型TTL负载。P3口与其它的I/O埠有很大区别,它除作为般准双向I/O口外,每个引脚还具有专门的功能,见表3
19、-1。表3-1 端口引脚功能P1口也是一个准双向口,作通用I/O口使用。其电路结构见图3.4。图3.4 P1口作通用I/O口使用输出驱动部分内部有上拉负载电阻与电源相连。实质上拉电阻是两个场效应管(FET)并在一起,个FET为负载管,其电阻固定;另一个FET可工作在导通或截止两种状态,使其总电阻值变化近为0或阻值很大两种情况。当阻值近似为0时,可将引脚快速上拉至全高电平,当阻值很大时,P1口为高阻输入状态。当P1口输出高电平时,能向外提供拉电流负载,所以不必再接上拉电阻。在埠用作输入时,也必须先向对应的锁存器写入“1”,使FET截止。由于片内负载电阻较大,约20k40k,所以不会对输入的数据产
20、生影响。3.2 温度传感器DS18B20集成式数字温度传感器DS1820的出现开辟了温度传感器技术的新领域,它利用单总线的特点可以方便的实现多点温度的测量。而可组网数字温度传感器DS18B20则是DS1820的更新产品,它在电压、特性及封装方面都更具有优势,给了用户更多的选择,让用户可以更方便的构建适合自己的测温系统。DS18B20充分利用了单总线的独特特点,可以轻松的组建传感器网络,提供系统的抗干扰性,使系统设计更灵活、方便、而且适合于在恶劣的环境下进行现场温度测量。3.2.1 DS18B20简介图3.5 DS18B20的管脚排列图DS18B20是美国DALLAS公司最新推出的一种可组网数字
21、式温度传感器,与DS1820相同,DS18B20也能够直接读取被测物体的温度值,但是与DS1820相比,DS18B20的功能更强大些。它体积小,电压使用范围宽(3V-5V),用户还可以通过编程实现9-12位的温度读数,即具有可调的温度分辨率,因此它的实用性和可靠性比同类产品更高。另外,DS18B20有多种封装可选,如TO-92、SOIC及CSP封装。图3.5即为DS18B20的管脚排列图。 由图3.5可见,DS18B20只是一个数据输入/输出口,属于单总线专用芯片之一。DS18B20工作时被测温度值直接以“单总线”的数字方式传输,大大提高了系统的抗干扰能力。其内部采用在板温度测量专用技术,测量
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 583742402 毕业设计 论文 基于 单片机 热水 控制器 设计
链接地址:https://www.31ppt.com/p-3930750.html