




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机 AT89C52 的大棚温度控制系统 目目 录录 第 1 章 绪 论 1 1 1 系统的概述 1 1 2 系统的要求 1 1 3 系统的主要模块 2 1 3 1 本系统的主要组成部分 2 1 3 2 各部分的功能 2 1 3 3 工作原理 2 第 2 章 设计的理论基础 3 2 1 AT89C52 的工作原理 3 2 1 1 CPU 的结构 3 2 1 2 CPU 的结构 I O 口结构 3 2 1 3 程序存储器 3 2 1 4 定时器 4 2 1 5 中断系统 4 2 2 单总线数字温度传感器 DS18B20 检测电路 5 2 2 1 DS18B20 简单介绍 5 2 2 2 DS18B20 的性能特点 5 2 2 3 DS18B20 的测温原理 6 2 3 LCD1602 液晶显示器 6 2 3 1 LCD1602 简介 6 2 3 2 1602LCD 的指令说明及时序 7 2 4 直流马达 9 2 4 1 马达工作的原理 9 2 4 2 马达的基本构造 9 2 5 蜂鸣器 9 第 3 章 系统的硬件组成电路设计 11 3 1 系统总硬件设计 11 3 2 时钟电路 11 3 3 AT89C52 的复位电路 12 3 4 单总线数字温度传感器 DS18B20 检测电路 12 3 5 LCD1602 显示模块 13 3 6 驱动电路 13 3 7 报警电路 14 第 4 章 系统软件的设计 15 4 1 主程序设计 15 4 2 温度检测 16 4 2 1 读取温度设计 16 4 2 2 温度数据处理设计 17 4 3 液晶显示器 LCM1602 19 4 3 1 LCM1602 初始化 19 4 4 马达的控制 20 4 5 报警器的启动 21 第 5 章 总结与展望 22 5 1 总结 22 5 2 展望 22 参考文献 23 致 谢 24 附录 A 25 附录 B 30 附录 C 实物照片 33 基于单片机 AT89C52 的大棚温度控制系统 摘 要 蔬菜的生长与温度息息相关 对于蔬菜大棚来说 最重要的一个管理因素 是温度控制 温度太高 则停止生长或者生长速度减慢 所以要将温度始终控 制在适合蔬菜生长的范围内 如果仅靠人工控制既耗人力 又容易发生差错 为此 在现代化的蔬菜大棚管理中通常有温度自动控制系统 以控制蔬菜大棚 温度 适应生产需要 本设计是通过单片机控制 来实现对蔬菜大棚温度进行自动控制 系统以 AT89C52 单片机为基础 通过数字及模拟式对温度进行检测 通过显示屏显示当 前温度 当采集到的温度高于 20 马达将带动风扇的转动 实现自动控制大 棚里的温度 并且随着温度每升高 5 马达的转动速率提高一倍 当检测到的 温度高于 35 时 发出报警信号 关键词 大棚温度控制系统 AT89C52 18B20 LCD1602 马达 The Greenhouse Temperature Control System Based on AT89C52 MCU Abstract The growth of vegetables is closely related to the temperature for vegetable greenhouses the most important factors of the managements are the temperature control The temperature is too high the growth rate will stop or slow down That is why it is necessary to always control temperature within the context of growing vegetables in suitable If only depends on the manual control both to consumer the manpower and easy to have mistaken Therefore usually there are automatic control systems of temperature in modernized vegetable canopy management in order to control the temperature of vegetable canopy adapt to producing the need This design is controlled through the microcontroller to achieve automatic control of vegetable greenhouse temperature The system based on the AT89C52 MCU through digital and analogue temperature to be detected by display shows the current temperature When the collected temperature higher than 20 the motor will drive the rotation of the fan and automatic control the temperature of the greenhouse And as the temperature is increased by 5 the motor rotation speed doubled When the detected temperature is higher than 35 send out the alarm signal Key words Temperature control of the greenhouses system AT89C52 18B20 LCD1602 motor 第第 1 1 章章 绪绪 论论 我国南方温度严热而漫长 大力推广大棚蔬菜的种植来满足人们日常生活 对蔬菜的需要 随着人们生活水平的日益增长 对蔬菜的要求也较高 对大棚 蔬菜的温度控制就是一个重要因素 温度过高 蔬菜就会停止生长或者糜烂 本系统就基于单片机 AT89C52 实现对大棚温度的自动化控制 用数字温度 计 18B20 采集 将采集到的温度用显示屏显示 再根据采集到的温度 控制马 达的转速 从而实现对大棚温度的控制 当温度大于 35 喇叭产生报警信号 1 1 系统的概述 应用自动控制和电子计算机实现农业生产和管理的自动化 是农业现代化 的重要标志之一 近年来电子技术和信息技术的飞速发展 带来了温室控制与 管理技术方面的一场革命 随着 设施农业 虚拟农业 等新名称的出现 温度计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方 法 结合温室作物种植的特点 不断创新 逐步完善 从而使温室种植业实现 真正意义上的现代化 产业化 国内外度计算机控制技术的发展善计算机的发 展最早可以追溯到上个世纪的 40 年代 但将计算机用于环境控制则开始于 20 世纪 60 年代 20 世纪 80 年代初诞生了第一批温室控制计算机 此后温度计算 机控制及管理技术便函先在发达国家得到广泛应用 后来各发展中国家也都纷 纷引进 开发出适合自己的系统 这在给各国带来了巨大的经济效益的同时 也极大地推动了各国农业的现代化进程 本系统以 AT89C52 单片机为控制核心的测控仪 主要是为了对蔬菜大棚内 的温度 地检测与控制而设计的 该测控仪具有检测精度高 使用简单 成本 较低和工作稳定可靠等特点 所以具有一定的应用前景 1 2 系统的要求 本系统通过单片机 AT89C52 控制 用 18B20 数字温度计采集温度 通过 LCD1602 液晶显示屏显示当前温度 当温度高于 20 马达将带动风扇的转动 实现自动控制大棚里的温度 并且随着温度每升高 5 马达的转动速率提高一 倍 当检测到的温度高于 35 时 发出报警信号 本设计将实现大棚温度的自 动化控制 用 protues 软件绘制电路原理图 再根据电路原理图捍接电路板 捍接的电 路板实现温度的自动化控制 1 3 系统的主要模块 1 3 1 本系统的主要组成部分 本系统为一个全自动温度检测与控制系统 由以下几个部分组成 AT89C52单片机 温度检测 显示电路 马达 及报警装置等组成 组成图如 图1 1 温度检测 装置 AT89C52 显示设备 马达控制 报警装置 图 1 1 温度自动控制主要组成部分 由图1 1所示 本系统的核心部分是AT89C52 此芯片是该电路的枢纽 由 它先控制着温度的检测 用检测到的温度实现马达的自动控制 以及显示 若 检测到的温度高于设定的值 则发出报警信号 1 3 2 各部分的功能 AT89C52单片机 它是系统的中央处理器 担负着系统的控制和运算 温 度检测装置 18B20数字温度计对大棚内温度进行采集 将温度转换成数字 显示设备 主要是用于显示检测到的大棚温度 马达 主要用于带动风扇的转 动 报警装置 产生报警信号 1 3 3 工作原理 首先对硬件系统 18B20 定义端口为 P1 3 P2 4 P2 5 P2 6 和 P0 口控制液晶 LCM1602 的显示 定义端口 P1 5 为马达控制端口 P1 7 为喇叭控制端口 首 先对温度采集 将采集到的温度转换数字 采集到的温度由 LCM 液晶显示屏 显示 再将采集到的温度所属软件设置的哪个范围 而控制 P1 5 的电平输出 第第 2 2 章章 设计的理论基础设计的理论基础 整个控制系统分为硬件电路设计和软件程序设计两部分 根据系统具体要 求 可以对每一个具体部分进行分析设计 但要实现对各部分的设计 需要充 分了解各部分的理论基础 本设计系统的基本组成单元包括 单片机控制单元 18B20 温度检测电路 LCD1602 显示屏 直流马达 蜂鸣器报警装置 本章将 逐一进行介绍 2 1 AT89C52 的工作原理 2 1 1 CPU 的结构 CPU 是单片机内部的核心部分 是单片机的指挥和执行机构 它决定了单 片机的主要功能特性 从功能上看 CPU 包括两个基本部分 运算器和控制器 下面说明控制器和运算器 1 运算器包括算术逻辑运算部件 ALU 累加器 ACCC B 寄存器 暂存寄存 器 TMP1 和 TMP2 程序状态寄存器 PSW BCD 码运算调整电路等 为了提高 数据处理和位操作能力 片内设有一些专用的寄存器 而且还增强了为处理逻 辑电路的功能 在进行位操作是 进位位 CY 作为位操作累加器 整个位操作 系统构成一台布尔处理机 2 1 2 CPU 的结构 I O 口结构 AT89C52 单片机有 4 个 8 位并行 I O 接口 记作 P0 P1 P2 和 P3 每个 端口都是 8 位准双向口 共占 32 根引脚 每一条 I O 线都能独立地用作输入或 输出 每个端口都包括一个锁存器 一个输出驱动器和输入缓冲器 作输出时 数据可以锁存 作输入时数据可以缓冲 但是这四个通道的功能完全不同 在无片外扩展存储器的系统中 这四个端口的每一位都可以作为准双向 I O 端口使用 在具有片外扩展存储器系统中 P2 口送出高 8 位地址 P0 口为双向 总线 分时送出低 8 位地址和数据的输入 输出 2 1 3 程序存储器 程序存储器用于存放编好的程序和表格常数 通常该区域具有不同的保护 措施 以防止该区域的内容被破坏 程序存储器通过 16 位程序计数器寻址 寻 址能力为 64K 字节 这似的能在 6K 地址空间内任意寻址 但没有指令使程序 能控制从程序存储器空间转移到数据存储空间 对 AT89C52 芯片来说 片内有 4K 字节 ROM EPROM 片外可扩展 60K 字节 EPROM 片内和片外程序存储 器统一编址 在程序存储器中 有 6 个地址单元被保留用于某些特定的地址 如表 2 1 所示 表 2 1 AT89C52 的复位 中断入口地址 入口地址说明 0000H复位后 PC 0000H 0003H外部中断入口 000BH定时器 T0 溢出中断入口 0013H外部中断入口 001BH定时器 T1 溢出中断口 0023H串行口中断入口 数据存储器用于存放运算的中间结果 数据暂存和缓冲以及标志位等 AT89C51 数据存储器空间也分为内片和外片两大部分 即片内数据存储器 RAM 和片外数据存储器 RAM 片内数据存储器最大可以寻址 256 个单元 片 外最大可扩展 64K 字节 RAM 并且片内使用的是 MOV 指令 片外 64K ROM 空间专门为 MOVX 指令所用 2 1 4 定时器 AT89C51 单片机的内部有两个 16 位可变成定时器 0 和定时器 1 它们都有 定时或是事件计数的功能 可用于定时控制 延时 对外部事件计数和检测等 场合 它们具有计数和定时两种工作方式以及四种工作模式 两个特殊功能寄 存器用于确定定时器 计数器的功能和操作方式 定时器 T0 的核心是一个加 1 计数器 它由 8 位寄存器 TH0 和 TH1 组成 可被变成为 13 位 16 位 两个分 开的 8 位等不同的结构 计数器的输入脉冲源可以是外部脉冲源或系统时钟震 荡器 计数器对着两个输入脉冲之一进行递增计数 定时器 T0 具有方式 0 方式 1 方式 2 和方式 3 四种工作方式 T1 具有方 式 0 方式 1 和方式 2 三种工作方式 不管是定时工作方式还是计数方式 定 时器 T0 和 T1 在对内部时钟或对外部时间计数时 不占用 CPU 时间 除非定 时器 计数器溢出 才可能中断 CPU 的当前操作 由此可见 定时器是单片机 中效率最高而且工作灵活的部件 2 1 5 中断系统 中断是指中央 CPU 正在处理某事情的时候 外部发生了某一事件 请求 COU 迅速去处理 于是 CPU 暂时中断当前的工作 转入处理所发生的事件 中断服务处理完成以后 再回到原来被中断的工作 这样的过程称为中断 2 AT89C52 单片机有五个中断请求源 其中 两个外部中断源 两个片内定 时器 计数器的溢出中断源 TE0 和 TF1 一个片内串行口接受或发送中断源 RI 或 TI 这些中断请求分别由单片机的特殊功能寄存器 TCON 和 SCON 的相应位 锁存 当几个中断源同时向 CPU 请求中断 要求 CPU 提供服务的时候 就存 在 CPU 优先响应哪一个中断请求 于是一些微处理器和单片机规定了每个中断 源的优先级别 2 2 单总线数字温度传感器 DS18B20 检测电路 由于传统的热敏电阻等测温元件测出的一般都是电压 再转换成对应的温度 需要比 较多的外部元件支持 且硬件电路复杂 制作成本相对较高 这里采用DALLAS公司的数 字温度传感器DS18B20作为测温元件 2 2 1 DS18B20 简单介绍 DALLAS 最新单线数字温度传感器DS18B20是一种新型的 一线器件 其体积更小 更适用于多种场合 且适用电压更宽 更经济 DALLAS 半导体 公司的数字化温度传感器DS18B20是世界上第一片支持 一线总线 接口的温 度传感器 温度测量范围为 55 125 摄氏度 可编程为9位 12 位转换精度 测温分辨率可达0 0625摄氏度 分辨率设定参数以及用户设定的报警温度存储 在EEPROM 中 掉电后依然保存 被测温度用符号扩展的16位数字量方式串行 输出 其工作电源既可以在远端引入 也可以采用寄生电源方式产生 多个 DS18B20可以并联到3 根或2 根线上 CPU只需一根端口线就能与诸多 DS18B20 通信 占用微处理器的端口较少 可节省大量的引线和逻辑电路 因 此用它来组成一个测温系统 具有线路简单 在一根通信线 可以挂很多这样 的数字温度计 十分方便 3 2 2 2 DS18B20 的性能特点 独特的单线接口方式 DS18B20在与微处理器连接时仅需要一条口线即可 实现微处理器与DS18B20的双向通讯 DS18B20支持多点组网功能 多个 DS18B20可以并联在唯一的三线上 实现组网多点测温 DS18B20在使用中不 需要任何外围元件 全部传感元件及转换电路集成在形如一只三极管的集成电 路内 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由数据 线供电 温范围 55 125 在 10 85 时精度为 0 5 零待机功耗 可编程的分辨率为9 12位 对应的可分辨温度分别为0 5 0 25 0 125 和0 0625 可实现高精度测温 在9位分辨率时最多在93 75ms内把温度转换 为数字 12位分辨率时最多在750ms内把温度值转换为数字 速度更快 用户 可定义报警设置 报警搜索命令识别并标志超过程序限定温度的器件 测量结 果直接输出数字温度信号 以 一线总线 串行传送给CPU 同时可传送CRC校 验码 具有极强的抗干扰纠错能力 负电压特性 电源极性接反时 温度计不 会因发热而烧毁 但不能正常工作 以上特点使DS18B20非常适用与多点 远 距离温度检测系统 DS18B20内部结构主要由四部分组成 64位光刻ROM 温度传感器 非挥 发的温度报警触发器TH和TL 配置寄存器 DS18B20的管脚排列 各种封装形 式如图 4 所示 DQ 为数据输入 输出引脚 开漏单总线接口引脚 当被用着 在寄生电源下 也可以向器件提供电源 GND为地信号 VDD为可选择的VDD 引脚 当工作于寄生电源时 此引脚必须接地 2 2 3 DS18B20 的测温原理 DS18B20的测温原理 低温度系数晶振的振荡频率受温度的影响很小 用于 产生固定频率的脉冲信号送给减法计数器1 高温度系数晶振随温度变化其震荡 频率明显改变 所产生的信号作为减法计数器2的脉冲输入 还隐含着计数门 当计数门打开时 DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数 进而完成温度测量 计数门的开启时间由高温度系数振荡器来决定 每次测量前 首先将 55 所对应的基数分别置入减法计数器1和温度寄存器中 减法计数器1 和温度寄存器被预置在 55 所对应的一个基数值 4 减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数 当减法计数 器1的预置值减到0时温度寄存器的值将加1 减法计数器 1的预置将重新被装入 减 法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到 减法计数器2计数到0时 停止温度寄存器值的累加 此时温度寄存器中的数值 即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用 于修正减法计数器的预置值 只要计数门仍未关闭就重复上述过程 直至温度 寄存器值达到被测温度值 这就是DS18B20的测温原理 另外 由于DS18B20单线通信功能是分时完成的 它有严格的时隙概念 因此读写时序很重要 系统对DS18B20的各种操作必须按协议进行 操作协议 为 初始化DS18B20 发ROM功能命令 发存储器操作命令 处理数据 5 2 3 LCD1602 液晶显示器 2 3 1 LCD1602 简介 字符型LCD1602通常有14条引脚线或16条引脚线的LCD 多出来的2条线是 背光电源线VCC 15脚 和地线GND 16脚 其控制原理与14脚的LCD完全一样 引脚定义如表2 2所示 表 2 2 引脚接口说明表 编号符号引脚说明编号符号引脚说明 1VSS电源地9D2数据 2VDD电源正极10D3数据 3VL液晶显示偏压11D4数据 4RS数据 命令选择12D5数据 5R W读 写选择13D6数据 6E使能信号14D7数据 7D0数据15BLA背光源正极 8D1数据16BLK背光源负极 第 1 脚 VSS 为地电源 第 2 脚 VDD 接 5V 正电源 第 3 脚 VL 为液晶显示器对比度调整端 接正电源时对比度最弱 接地时对比 度最高 对比度过高时会产生 鬼影 使用时可以通过一个 10K 的 电位器调整对比度 第 4 脚 RS 为寄存器选择 高电平时选择数据寄存器 低电平时选择指令寄存 器 第 5 脚 R W 为读写信号线 高电平时进行读操作 低电平时进行写操作 当 RS 和 R W 共同为低电平时可以写入指令或者显示地址 当 RS 为低电 平 R W 为高电平时可以读忙信号 当 RS 为高电平 R W 为低电平时可 以写入数据 第 6 脚 E 端为使能端 当 E 端由高电平跳变成低电平时 液晶模块执行命令 第 7 14 脚 D0 D7 为 8 位双向数据线 第 15 脚 背光源正极 第 16 脚 背光源负极 2 3 2 1602LCD 的指令说明及时序 1602 液晶模块内部的控制器共有 11 条控制指令 6 如表 2 3 所示 表 2 3 控制命令表 序号指令RSR WD7D6D5D4D3D2D1D0 1清显示0000000001 2光标返回000000001 3置输入模式00000001I DS 4显示开 关控制0000001DCB 5光标或字符移位000001S CR L 6置功能00001DLNF 7置字符发生存贮器地址0001字符发生存贮器地址 8置数据存贮器地址001显示数据存贮器地址 9读忙标志或地址01BF 计数器地址 10写数到 CGRAMDDRAM 10要写的数据内容 11CGRAM 或 DDRAM 读数11读出的数据内容 1602 液晶模块的读写操作 屏幕和光标的操作都是通过指令编程来实现 的 1 为高电平 0 为低电平 指令 1 清显示 指令码 01H 光标复位到地址 00H 位置 指令 2 光标复位 光标返回到地址 00H 指令 3 光标和显示模式设置 I D 光标移动方向 高电平右移 低电平左移 S 屏幕上所有文字是否左移或者右移 高电平表示有效 低电平则无效 指令 4 显示开关控制 D 控制整体显示的开与关 高电平表示开显示 低 电平表示关显示 C 控制光标的开与关 高电平表示有光标 低电平 表示无光标 B 控制光标是否闪烁 高电平闪烁 低电平不闪烁 指令 5 光标或显示移位 S C 高电平时移动显示的文字 低电平时移动光标 指令 6 功能设置命令 DL 高电平时为 4 位总线 低电平时为 8 位总线 N 低电平时为单行显示 高电平时双行显示 F 低电平时显示 5x7 的点阵 字符 高电平时显示 5x10 的点阵字符 指令 7 字符发生器 RAM 地址设置 指令 8 DDRAM 地址设置 指令 9 读忙信号和光标地址 BF 为忙标志位 高电平表示忙 此时模块不能 接收命令或者数据 如果为低电平表示不忙 指令 10 写数据 指令 11 读数据 LCD1602 读写时序如表 2 4 所示 表 2 4 基本操作时序表 读状态输入RS L R W H E H输出D0 D7 状态字 写指令输入RS L R W L D0 D7 指令码 E 高脉冲 输出无 读数据输入RS H R W H E H输出D0 D7 数据 写数据输入RS H R W L D0 D7 数据 E 高脉冲输出无 2 4 直流马达 电动马达 又称为马达或电动机 是一种将电能转化成机械能 并可再使 用机械能产生动能 用来驱动其他装置的电气设备 电动机种类非常繁多 但 可大致分为交流电动机及直流电动机以用于不同的场合 2 4 1 马达工作的原理 马达的旋转原理的依据为佛来明左手定则 当一导线置放于磁场内 若导 线通上电流 则导线会切割磁场线使导线产生移动 电流进入线圈产生磁场 利用电流的磁效应 使电磁铁在固定的磁铁内连续转动的装置 可以将电能转 换成力学能 与永久磁铁或由另一组线圈所产生的磁场互相作用产生动力 直 流马达的原理是定子不动 转子依相互作用所产生作用力的方向运动 7 电枢 可以绕轴心转动的软铁芯缠绕多圈线圈 场磁铁 产生磁场的强力永 久磁铁或电磁铁 集电环 线圈约两端接至两片半圆形的集电环 随线圈转动 可供改变电流方向的变向器 每转动半圈 线圈上的电流方向就改变一次 电 刷 通常使用碳制成 集电环接触固定位置的电刷 用以接至电源 2 4 2 马达的基本构造 电动机的种类很多 以基本结构来说 其组成主要由定子和转子所构成 定子在空间中静止不动 转子则可绕轴转动 由轴承支撑 定子与转子之间会 有一定空气间隙 以确保转子能自由转动 定子与转子绕上线圈 通上电流产 生磁场 就成为电磁铁 定子和转子其中之一亦可为永久磁铁 8 2 5 蜂鸣器 蜂鸣器是一种一体化结构的电子讯响器 蜂鸣器主要分为压电式蜂鸣器和 电磁化蜂鸣器两种类型 本系统采用的是电磁式蜂鸣器 9 电磁式蜂鸣器由振荡器 电磁线圈 磁铁 振动腊片及外壳等组成 接通 电源后 振荡器产生的音频信号电流通过电磁铁圈 使电磁铁线圈产生磁场 振动膜片在电磁线圈和磁铁的相互作用下 周期性地振动发声 蜂鸣器发声原 理是电流通过电磁铁圈 使电磁线圈产生磁场来驱动振动膜发声的 程序中改 变单片机引脚输出波形的频率 就可以调整控制蜂鸣器音调 产生各种不同音 色 音调的声音 另外 改变输出电平的高低电平占空比 则可以控制蜂鸣器 的声音大小 第第 3 3 章章 系统的硬件组成电路设计系统的硬件组成电路设计 系统的硬件组成部分包括 主控制器AT89C52单片机 温度传感器 DS18B20 显示电路LCD1602 马达 报警装置等构成 AT89C52连接各模块 的主控制端口 初步选定将要运用到的电子元器件 再用Protues绘制原理图 再根据原理图捍接电路板 3 1 系统总硬件设计 首先对硬件系统 18B20 定义端口为 P1 3 P2 4 P2 5 P2 6 和 P0 口控制液晶 LCM1602 的显示 定义端口 P1 5 为马达控制端口 P1 7 为喇叭控制端口 首 先对温度采集 将采集到的温度转换数字 采集到的温度由 LCM 液晶显示屏 显示 再将采集到的温度所属软件设置的哪个范围 而控制 P1 5 的电平输出 电路原理图如 3 1 所示 图 3 1 电路原理图 电路原理图用 Protues 软件绘制而成 用 Protues 软件绘制电路原理图方便 快捷 Protues 软件有丰富的元件库 智能的器件搜索 智能化的连线 可输出 高质量的图纸 电路原理图清晰明了 9 3 2 时钟电路 AT89C52 芯片内部有一个高增益反向放大器 用于构成震荡器 反向放大 器的输入端为 XTAL1 输出端为 XTAL2 在 TXAL1 和 XTAL2 两端跨接由石 英晶体及两个电容构成的自激震荡器 10 如图 3 2 所示 电容器 C1 和 C2 取 22pF 选用不同的电容量对震荡频率有微调作用 但石英晶体本身的标定频率 才是单片机震荡频率的决定因素 图 3 2 时钟电路 时钟电路中 两个电容都选择 22pF 的电容 电容各一端接与晶振相连 各一端接地 选择的晶振是频率为 12MHZ 此模块就是产生象时钟一样准确的 振荡电路 3 3 AT89C52 的复位电路 AT89C52 单片机通常采用上电自动复位和开关手动复位两种方式 本系统 采用上电复位电路 如图 3 3 所示 所谓上电复位 是指单片机只要一上电 便自动地进入复位状态 在通电瞬间 电容 C 通过电阻 R 充电 RST 端出现正 脉冲 用以复位 10 图 3 3 复位电路 复位电路的基本功能是 系统上电时提供复位信号 直至系统电源稳定后 撤销复位信号 为可靠起见 电源稳定后还要经一定的延时才撤销复位信号 以防电源开关或电源插头分 合过程中引起的抖动而影响复位 RC 复位电路可 以实现上述基本功能 但解决不了电源毛刺和电源缓慢下降等问题 而其调整 RC 常数改变延时会令驱动能力变差 3 4 单总线数字温度传感器 DS18B20 检测电路 DQ 为数据输入 输出引脚 连接 P1 3 开漏单总线接口引脚 当被用着在 寄生电源下 也可以向器件提供电源 GND 为地信号 VCC 为电源信号 图 3 4 为 DS18B20 检测电路 图 3 4 DS18B20 检测电路 3 5 LCD1602 显示模块 用 AT89C52 的 P0 口作为数据线 用 P2 4 P2 5 P2 6 分别作为 LCD 的 E R W RS 其中 E 是下降沿触发的片选信号 连接 P2 6 R W 是读写信号 连接 P2 5 RS 是寄存器选择信号 连接 P2 4 图 3 5 为 LCD1602 的硬件连接 图 3 5 LCD1602 的硬件连接 VEE 用连接一阻值为 10K 的电阻 主要用于调节对比度的调整 接正电源 时对比度最落 接地电源时 对比度最高 对比度过高时 会产生 鬼影 因 此连接一 10K 的电阻用以调整 当 P0 口作为 I O 用时需要上拉电阻 如图 3 5 接一排阻 用于上拉 11 3 6 驱动电路 系统使用的是直流马达 包含周围磁场 电刷 整流子等元件 电刷和整 流子將外部所供应的直流电源 持续地供应给转子的线圈 並适时地改变电流 的方向 使转子能以同一方向持续旋转 直流马达的优点有速度调整容易 启 动转矩较大等 但是电刷与整流子保养维修不易 直流马达广泛的用在消费电 子产品及玩具 如电动刮胡刀 录音机 CD 唱机等 而大输出功率的直流电 动机则是用在电车 快速电梯 工作母机等 图 3 6 为硬件连接图 图 3 6 驱动电路 图中三极管采用的是 S9012 用于放大电流 基极接 P1 5 口 用于控制输 出信号 集电极按电源正极 发射极接马达正极 三极管 S9012 三极管最基本 的作用是放大作用 它可以把微弱的电信号变成一定强度的信号 当然这种转 换仍然遵循能量守恒 它只是把电源的能量转换成信号的能量罢了 三极管有 一个重要参数就是电流放大系数 当三极管的基极上加一个微小的电流时 在集电极上可以得到一个是注入电流 倍的电流 即集电极电流 集电极电流 随基极电流的变化而变化 并且基极电流很小的变化可以引起集电极电流很大 的变化 这就是三极管在此处的作用 用于 P1 5 口输出的微弱信号经过放大 输出到马达中 这样就可以很好的控制马达了 3 7 报警电路 系统采用的报警器件是蜂鸣器 用引脚 P1 7 控制 如图 3 7 所示 图 3 7 报警电路 蜂鸣器和普通扬声器相比 最重要一个特点是只要按照极性要求加上合适 的直流电压 就可以发出固有频率的声音 因此使用起来比扬声器简单 由此 可知 蜂鸣器的控制和 LED 的控制对单片机而言是没有区别的 第第 4 4 章章 系统软件的设计系统软件的设计 一个应用系统要完成各项功能 首先必须有较完善的硬件做保证 同时还 必须得到相应设计合理的软件的支持 尤其是微机应用高速发展的今天 许多 由硬件完成的工作 都可通过软件编程而代替 甚至有些必须采用很复杂的硬 件电路才能完成的工作 用软件编和有时会变得很简单 因此充分利用其内部 丰富的硬件资源和软件资源 程序设计语言有三种 机器语言 汇编语言 高级语言 本系统运用的是 高级语言所编写 也就是 C 语言 4 1 主程序设计 从软件的功能不同可分为四大类 一是检测软件 它是用来检测温度 二 是显示部分 用来显示所检测到的温度 三是调控部分 用来控制马达的转速 四是当温度大于 35 蜂鸣器发出报警信号 每一个执行软件也就是一个小的 功能执行模块 这里将各执行模块一一列出 并为每一个执行模块进行功能定 义 图 4 1 为软件设计流程图 开 始 18B20 温度检测 初始化 马达带动 风扇 LCD1602 显 示温度 发出报警 信号 结 束 温度大于 20 温度大于 35 图 4 1 软件设计流程图 4 2 温度检测 4 2 1 读取温度设计 DSl8B20 可以从单总线获取电源 当信号线为高电平时 将能量贮存在内 部电容器中 当单信号线为低电平时 将该电源断开 直到信号线变为高电平 重新接上寄生电源为止 此外 还可外接 5 V 电源 给 DS18B20 供电 12 图 4 2 DS18B20 的初始化 跳过读序列号的操作 读取温度寄存器 启动温度转换 跳过读序列号的操作 开 始 DS18B20 的初始化 RET LOW 低八位 HIGH 高八位 图 4 2 18B20 读取温度流程图 读取温度子程序的主要功能是读出 RAM 中的 9 个字节 在读出时需进行 CRC 校验 校验有错时不进行温度数据的改写 DS18B20 的各个命令对时序的 要求特别严格 所以必须按照所要求的时序才能达到预期的目的 同时 要注 意读进来的是高低位在后 低位在前 共 12 位数 小数 4 位 整数 7 位 还有 一位符号位 读取温度的主程序如下 unsigned int ReadTemperature void unsigned char a 0 unsigned int b 0 unsigned int t 0 Init DS18B20 WriteOneChar 0 xCC 跳过读序号列号的操作 WriteOneChar 0 x44 启动温度转换 delay 200 Init DS18B20 WriteOneChar 0 xCC 跳过读序号列号的操作 WriteOneChar 0 xBE 读取温度寄存器等 共可读 9 个寄存器 前两个就是温 度 a ReadOneChar 低位 b ReadOneChar 高位 b 4 TempL temp TempL TempL 6 10 小数近似处理 flag get 0 4 3 液晶显示器 LCM1602 4 3 1 LCM1602 初始化 端口定义如下 sbit RS P2 4 Pin4 sbit RW P2 5 Pin5 sbit E P2 6 Pin6 define Data P0 数据端口 函数显示子码 用数组和指针将字符逐个显示出来 14 void ShowChar unsigned char pos unsigned char c unsigned char p if pos 0 x10 p pos 0 xb0 是第二行则命令代码高 4 位为 0 xc else p pos 0 x80 是第二行则命令代码高 4 位为 0 x8 WriteCommand p write command WriteData c write data void ShowString unsigned char line char ptr unsigned char l i l line 4 for i 0 i20 mDelay 30 Fan 0 mDelay 150 占空比为 0 9375 4 5 报警器的启动 当温度低于 35 时 蜂鸣器不工作 当检测到的温度高于 35 时 蜂鸣器 发出频率为 2HZ 的报警声 报警声控制的主程序如下 if TempH 35 产生报警信号 Tru 0 mDelay 10 频率为 2HZ Fan 0 mDelay 150 第第 5 5 章章 总结与展望总结与展望 这次设计硬件已完成 且能基本实现要求 5 1 总结 通过这次对大棚温度自动控制的设计与制作 让我自主完成了一个完整的 设计 虽然这次的实习做的温度显示以及马达的控制都相对比较简单 但是也 给将来进入硬件开发有了一个起点的基础 在这次实习的过程 刚开始的时候 真的有点不知所措 因为学习完单片机已有数日 以及微机原理课程 一些知 识已忘记 幸好有三个星期的时间来准备 画电路原理图 一开始就觉得有点 烦 因为 protues 软件安装的版本较低 做起来非常的费时又费力 一些芯片 还不可以仿真 画电路图 自己学习捍接板 开始第一个板 没有捍成功 研 究数日 后来才发现是一些线路捍接不良导致电路连接出现错误 后来重新开 始动工 才捍成功 常常有解决不了的问题 就上网查询 或者阅览资料书 虽此项工作枯燥无味 但可缎练其意志 耐性 坚韧 因为常会碰到很难解决 的问题 所以要坚持不懈 这个程序的软件程序都是使用 C 语言编写的 毕竟 使用汇编对于我们来说难度都是比较大啊 这次设计是一个学习新知识 巩固 加深所学课本理论知识的过程 它培养了我们综合运用知识的能力 独立思考 和解决问题的能力 它不仅加深了我对单片机技术课程的理解 还让我感受到 了电子设计的乐趣 对我来说 这次毕业设计是非常有意义的 5 2 展望 本系统使用的温度控制器结构简单 测温准确 具有一定的实际应用价值 该智能温度控制器只是 DS18B20 在温度控制领域的一个简单实例 还是许多需 要完善的地方 例如可以将测得的温度通过单片机与通讯模块相连接 以手机 短消息的方式发送给用户 使用户能够随时对温度进行监控 还可以增加对湿 度的自主控制 此外 还能广泛地应用于其他一些工业生产领域 测温控温系统得到快速的发展 国外的测量控制系统已经成熟 产品也较 多 近两年 国内也出现了许多高精度的温度控制产品 但相对于用户来说 价格还是偏高 而由于竞争越来越激烈 现在企业发展的趋势是如何最有效的 提高生产效率 降低生产成本 寻求性能可靠 价格低廉 应用广泛的元器件 是生产过程的首先要考虑的问题 参考文献参考文献 1 谢自美 尹仕 肖看 赵云娣 罗杰 电子线路综合设计 M 武汉 华中科 技大学出版社 2007 2 杨旭方 单片机控制与应用实训教程 M 北京 电子工业出版社 2010 5 3 夏继强 单片机应用设计培训教程 M 北京 北京航空航天大学出版社 2008 4 高峰 单片机微型计算机与接口技术 M 北京 科学出版社 2003 5 李广弟 朱月秀 王秀山 单片机基础 M 北京 北京航空航天大学出版社 2001 7 6 胡汉才 单片机原理及其接口技术 M 北京 清华大学出版社 2004 7 求是科技 单片机典型模块设计实例导航 M 北京 人民邮电出版社 2004 8 王化详 张淑英 传感器原理 M 天津 天津大学出版社 2002 5 9 王港元 电工电子实践指导 M 江西 江西科学技术出版社 2005 6 10 杨素行著 模拟电子技术基础 第二版 M 北京 高等教育出版社 2006 11 陈静 单片机应用系统中的编程语言 J 淮北职业技术学院学报 2009 8 1 43 44 12 仝庆华 基于 Proteus 单片机虚拟实验室 J 山西大同大学学报 自然科学版 2009 25 2 23 25 13 包敬海 侯昭武 吴国辉 基于 AT89C52 单片机设计智能锅炉控制系统 J 北京 中国科技信息 2009 14 周红丽 张天开等 基于单片机的九路温度监控系统 J 青岛 微计算 机信息 2008 15 刘华东 张亚华 单片机原理与应用 第二版 M 北京 电子工业出版社 2006 1 5 致致 谢谢 毕业设计完成了 在这个过程中我学到了很多东西 首先我要感谢我的导 师邵金侠老师 他在我完成论文的过程中 给予了我很大的帮助 从毕业设计 选题到设计完成 邵老师给予了我耐心的指导与细心关怀 此外 此系统能顺利完成 也得到了寝室的朋友的帮忙 有些我不了解的 知识 在她们悉心指导下 得已解决 在此 我深表感谢 最后要感谢的是我的父母 他们让培养了我在遇到困难前 不倒下 让我 在漫长的人生旅途是使心灵有虔敬的归依 在未来的日子里 我会更加努力工 作和做一名优秀的人 不辜负父母对我的期望 我一定会好好的孝敬和报答他 们 附录附录 A A 名称 基本单片机 AT89C52 的大棚温度自控系统 include include stdio h include include include lcd1602 h define uchar unsigned char define uint unsigned int 定义端口 sbit DQ P1 3 ds18b20 端口 sbit Fan P1 5 风扇端口 sbit Tru P1 7 喇叭的端口 sfr dataled 0 x80 显示数据端口 全局变量 uint temp i TempH uchar flag get count num minute second x long str 6 函数声明 void delay1 uchar MS unsigned int ReadTemperature void void Init DS18B20 void unsigned char ReadOneChar void void WriteOneChar unsigned char dat void delay unsigned int i 延时函数声明 void mDelay unsigned char j unsigned int i for j 0 j for i 0 i20 mDelay 10 Fan 0 mDelay 150 for i 1 i 4 TempL temp TempL TempL 6 10 小数近似处理 flag get 0 定时器中断 void tim void interrupt 1 using 1 中断 用于温度检测间隔 TH0 0 xef 定时器重装值 TL0 0 xf0 num if num 50 num 0 flag get 1 标志位有效 second if second 60 second 0 延时函数 void delay unsigned int i 延时函数 while i 初始化 void Init DS18B20 void unsigned char x 0 DQ 1 DQ 复位 delay 8 稍做延时 DQ 0 单片机将 DQ 拉低 delay 80 精确延时 大于 480us DQ 1 拉高总线 delay 10 x DQ 稍做延时后 如果 x 0 则初始化成功 x 1 则初始化失败 delay 5 读一个字节 unsigned char ReadOneChar void unsigned char i 0 unsigned char dat 0 for i 8 i 0 i DQ 0 给脉冲信号 dat 1 DQ 1 给脉冲信号 if DQ dat 0 x80 delay 5 return dat 写一个字节 void WriteOneChar unsigned char dat unsigned char i 0 for i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出租车租赁公司车辆调度管理协议
- 上市公司业绩预测与财务指标分析合作协议
- 研发机构专用厂房租赁合同范本
- 电信运营商财务代理与通信费用结算合同
- 插班生入学协议及校园文化融入及社会实践协议
- 地下管线测绘数据保密协议书
- 俄罗斯金环城市之旅出境旅游协议
- 互联网医疗项目参股合作协议范本
- 家居建材品牌全国总经销及售后服务协议
- 矿产资源采矿权出让与地质环境监测合同
- 动物生理学血细胞计数实验报告
- 高血压患者的健康管理随访
- 2024版银行业数字化转型策略培训课件
- 发那科注塑机讲义
- 初中英语词汇表(带音标)
- LKJ系统车载设备换装作业指导书
- 【小米公司战略成本管理分析6500字(论文)】
- 《钢质锻件锻造生产能源消耗限额及评价方法》
- 采用新技术、新工艺、新材料、新设备的安全管理措施
- 第二讲 坚持和发展中国特色社会主义的总任务PPT习概论2023优化版教学课件
- 危险化学品品名及编号规则
评论
0/150
提交评论