版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I / 38毕业设计基于单片机 AT89C52 的大棚温度控制系统I / 38目录目录第 1 章绪论 11.1 系统的概述 11.2 系统的要求 11.3 系统的主要模块 21.3.1 本系统的主要组成部分 21.3.2 各部分的功能 21.3.3 工作原理 2第 2 章设计的理论基础 32.1 AT89C52 的工作原理 32.1.1 CPU 的结构 32.1.2 CPU 的结构 I/O 口结构 32.1.3 程序存储器 32.1.4 定时器 42.1.5 中断系统 42.2 单总线数字温度传感器 DS18B20 检测电路 52.2.1 DS18B20 简单介绍 52.2.2 DS18B20
2、 的性能特点 52.2.3 DS18B20 的测温原理 62.3 LCD1602 液晶显示器 62.3.1 LCD1602 简介 62.3.2 1602LCD 的指令说明与时序 72.4 直流马达 92.4.1 马达工作的原理 92.4.2 马达的基本构造 92.5 蜂鸣器 9II / 38第 3 章系统的硬件组成电路设计 113.1 系统总硬件设计 113.2 时钟电路 113.3 AT89C52 的复位电路 123.4 单总线数字温度传感器 DS18B20 检测电路 123.5 LCD1602 显示模块 133.6 驱动电路 133.7 报警电路 14第 4 章系统软件的设计 154.1
3、主程序设计 154.2 温度检测 164.2.1 读取温度设计 164.2.2 温度数据处理设计 174.3 液晶显示器 LCM1602194.3.1 LCM1602 初始化 194.4 马达的控制 204.5 报警器的启动 21第 5 章总结与展望 225.1 总结 225.2 展望 22参考文献 23致 24附录 A25附录 B30附录 C:实物照片 33III / 38基于单片机 AT89C52 的大棚温度控制系统摘 要 蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重要的一个管理因素是温度控制。温度太高,则停止生长或者生长速度减慢,所以要将温度始终控制在适合蔬菜生长的围。如果仅靠人工控
4、制既耗人力,又容易发生差错。为此,在现代化的蔬菜大棚管理常有温度自动控制系统,以控制蔬菜大棚温度,适应生产需要。本设计是通过单片机控制,来实现对蔬菜大棚温度进行自动控制.系统以AT89C52 单片机为基础,通过数字与模拟式对温度进行检测,通过显示屏显示当前温度。当采集到的温度高于 20,马达将带动风扇的转动,实现自动控制大棚里的温度.并且随着温度每升高 5,马达的转动速率提高一倍。当检测到的温度高于 35时,发出报警信号。关键词大棚温度控制系统 AT89C52 18B20 LCD1602 马达IV / 38TheThe GreenhouseGreenhouse TemperatureTempe
5、rature ControlControl SystemSystemBasedonBasedon AT89C52AT89C52 MCUMCUAbstractAbstractThe growth of vegetablesis 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
6、 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
7、 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 greenhousetemperature. The system based on the AT89C52 MCU, through digital a
8、nd 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
9、 doubled. When the detected temperature is higher than 35 , send out the alarm signal.Key wordsTemperature control of the greenhouses system AT89C52 18B20LCD1602 motor1 / 38 第第 1 1 章章 绪绪 论论我国南方温度严热而漫长,大力推广大棚蔬菜的种植来满足人们日常生活对蔬菜的需要。随着人们生活水平的日益增长,对蔬菜的要求也较高,对大棚蔬菜的温度控制就是一个重要因素。温度过高,蔬菜就会停止生长或者糜烂。本系统就基于单片机 A
10、T89C52 实现对大棚温度的自动化控制。用数字温度计 18B20 采集,将采集到的温度用显示屏显示,再根据采集到的温度,控制马达的转速,从而实现对大棚温度的控制。当温度大于 35,喇叭产生报警信号。1.1 系统的概述应用自动控制和电子计算机实现农业生产和管理的自动化,是农业现代化的重要标志之一。近年来电子技术和信息技术的飞速发展,带来了温室控制与管理技术方面的一场革命,随着“设施农业” 、 “虚拟农业”等新名称的出现。温度计算机控制与管理系统正在不断吸收自动控制和信息管理领域的理论和方法,结合温室作物种植的特点,不断创新,逐步完善,从而使温室种植业实现真正意义上的现代化,产业化。国外度计算机
11、控制技术的发展善计算机的发展最早可以追溯到上个世纪的 40 年代,但将计算机用于环境控制则开始于 20 世纪 60 年代。20 世纪 80 年代初诞生了第一批温室控制计算机,此后温度计算机控制与管理技术便函先在发达国家得到广泛应用,后来各发展中国家也都纷纷引进,开发出适合自己的系统。这在给各国带来了巨大的经济效益的同时,也极推动了各国农业的现代化进程。本系统以 AT89C52 单片机为控制核心的测控仪,主要是为了对蔬菜大棚的温度,地检测与控制而设计的。该测控仪具有检测精度高、使用简单、成本较低和工作稳定可靠等特点,所以具有一定的应用前景。1.2 系统的要求本系统通过单片机 AT89C52 控制
12、,用 18B20 数字温度计采集温度。通过 LCD1602液晶显示屏显示当前温度,当温度高于 20,马达将带动风扇的转动,实现自动控制大棚里的温度.并且随着温度每升高 5,马达的转动速率提高一倍。当检测到的温度高于 35时,发出报警信号。本设计将实现大棚温度的自动化控制。 用 protues 软件绘制电路原理图,再根据电路原理图捍接电路板。捍接的电路板实现温度的自动化控制。2 / 381.3 系统的主要模块1.3.1 本系统的主要组成部分本系统为一个全自动温度检测与控制系统,由以下几个部分组成:AT89C52单片机,温度检测,显示电路,马达,与报警装置等组成。组成图如图1-1。温度检测装置AT
13、89C52显示设备马达控制报警装置 图 1-1 温度自动控制主要组成部分由图1-.1所示,本系统的核心部分是AT89C52,此芯片是该电路的枢纽。由它先控制着温度的检测,用检测到的温度实现马达的自动控制,以与显示。若检测到的温度高于设定的值,则发出报警信号。1.3.2 各部分的功能AT89C52单片机:它是系统的中央处理器,担负着系统的控制和运算。温度检测装置:18B20数字温度计对大棚温度进行采集,将温度转换成数字。显示设备:主要是用于显示检测到的大棚温度。马达:主要用于带动风扇的转动。报警装置:产生报警信号。1.3.3 工作原理首先对硬件系统 18B20 定义端口为 P1.3,P2.4,P
14、2.5,P2.6 和 P0 口控制液晶LCM1602 的显示,定义端口 P1.5 为马达控制端口,P1.7 为喇叭控制端口。首先对温度采集,将采集到的温度转换数字,采集到的温度由 LCM 液晶显示屏显示。再将采集到的温度所属软件设置的哪个围,而控制 P1.5 的电平输出。3 / 38第第 2 2 章章 设计的理论基础设计的理论基础整个控制系统分为硬件电路设计和软件程序设计两部分。根据系统具体要求,可以对每一个具体部分进行分析设计。但要实现对各部分的设计,需要充分了解各部分的理论基础。本设计系统的基本组成单元包括:单片机控制单元,18B20 温度检测电路,LCD1602 显示屏,直流马达,蜂鸣器
15、报警装置。本章将逐一进行介绍。2.1 AT89C52 的工作原理2.1.1 CPU 的结构CPU 是单片机部的核心部分,是单片机的指挥和执行机构,它决定了单片机的主要功能特性。从功能上看,CPU 包括两个基本部分:运算器和控制器。下面说明控制器和运算器1。运算器包括算术逻辑运算部件 ALU、累加器 ACCC、B 寄存器、暂存寄存器TMP1 和 TMP2、程序状态寄存器 PSW、BCD 码运算调整电路等。为了提高数据处理和位操作能力,片设有一些专用的寄存器,而且还增强了为处理逻辑电路的功能。在进行位操作是,进位位 CY 作为位操作累加器,整个位操作系统构成一台布尔处理机。2.1.2 CPU 的结
16、构 I/O 口结构AT89C52 单片机有 4 个 8 位并行 I/O 接口,记作 P0、P1、P2 和 P3,每个端口都是 8 位准双向口,共占 32 根引脚。每一条 I/O 线都能独立地用作输入或输出。每个端口都包括一个锁存器,一个输出驱动器和输入缓冲器,作输出时数据可以锁存,作输入时数据可以缓冲,但是这四个通道的功能完全不同。在无片外扩展存储器的系统中,这四个端口的每一位都可以作为准双向I/O 端口使用,在具有片外扩展存储器系统中,P2 口送出高 8 位地址,P0 口为双向总线,分时送出低 8 位地址和数据的输入/输出。2.1.3 程序存储器程序存储器用于存放编好的程序和表格常数,通常该
17、区域具有不同的保护措施,以防止该区域的容被破坏。程序存储器通过 16 位程序计数器寻址,寻址能力为 64K 字节。这似的能在 6K 地址空间任意寻址,但没有指令使程序能控制从程序存储器空间转移到数据存储空间。对 AT89C52 芯片来说,片有 4K 字节ROM/EPROM,片外可扩展 60K 字节 EPROM,片和片外程序存储器统一编址。4 / 38在程序存储器中,有 6 个地址单元被保留用于某些特定的地址。 如表 2.1所示: 表 2.1 AT89C52 的复位、中断入口地址入口地址说明0000H复位后,PC=0000H0003H外部中断入口000BH定时器 T0 溢出中断入口0013H外部
18、中断入口001BH定时器 T1 溢出中断口0023H串行口中断入口数据存储器用于存放运算的中间结果、数据暂存和缓冲以与标志位等。AT89C51 数据存储器空间也分为片和外片两大部分,即片数据存储器 RAM 和片外数据存储器 RAM。片数据存储器最大可以寻址 256 个单元,片外最大可扩展64K 字节 RAM,并且片使用的是 MOV 指令,片外 64K ROM 空间专门为 MOVX 指令所用。2.1.4 定时器AT89C51 单片机的部有两个 16 位可变成定时器 0 和定时器 1,它们都有定时或是事件计数的功能,可用于定时控制、延时、对外部事件计数和检测等场合。它们具有计数和定时两种工作方式以
19、与四种工作模式。两个特殊功能寄存器用于确定定时器/计数器的功能和操作方式。定时器 T0 的核心是一个加 1 计数器,它由 8 位寄存器 TH0 和 TH1 组成,可被变成为 13 位、16 位、两个分开的 8 位等不同的结构。计数器的输入脉冲源可以是外部脉冲源或系统时钟震荡器,计数器对着两个输入脉冲之一进行递增计数。定时器 T0 具有方式 0、方式 1、方式 2 和方式 3 四种工作方式。T1 具有方式 0、方式 1 和方式 2 三种工作方式。不管是定时工作方式还是计数方式,定时器 T0 和 T1 在对部时钟或对外部时间计数时,不占用 CPU 时间,除非定时器/计数器溢出,才可能中断 CPU
20、的当前操作。由此可见,定时器是单片机中效率最高而且工作灵活的部件。2.1.5 中断系统中断是指中央 CPU 正在处理某事情的时候,外部发生了某一事件,请求COU 迅速去处理,于是,CPU 暂时中断当前的工作,转入处理所发生的事件;中断服务处理完成以后,再回到原来被中断的工作,这样的过程称为中断2。5 / 38AT89C52 单片机有五个中断请求源。其中,两个外部中断源;两个片定时器/计数器的溢出中断源 TE0 和 TF1;一个片串行口接受或发送中断源 RI 或TI。这些中断请求分别由单片机的特殊功能寄存器 TCON 和 SCON 的相应位锁存。当几个中断源同时向 CPU 请求中断,要求 CPU
21、 提供服务的时候,就存在 CPU 优先响应哪一个中断请求,于是一些微处理器和单片机规定了每个中断源的优先级别。2.2 单总线数字温度传感器 DS18B20 检测电路由于传统的热敏电阻等测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部元件支持,且硬件电路复杂,制作成本相对较高。这里采用DALLAS公司的数字温度传感器DS18B20作为测温元件。2.2.1 DS18B20 简单介绍DALLAS 最新单线数字温度传感器DS18B20是一种新型的“一线器件” ,其体积更小、更适用于多种场合、且适用电压更宽、更经济。DALLAS 半导体公司的数字化温度传感器DS18B20是世界上第一片支
22、持“一线总线”接口的温度传感器。温度测量围为-55+125 摄氏度,可编程为9位12 位转换精度,测温分辨率可达0.0625摄氏度,分辨率设定参数以与用户设定的报警温度存储在EEPROM 中,掉电后依然保存。被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可以在远端引入,也可以采用寄生电源方式产生;多个DS18B20可以并联到3 根或2 根线上,CPU只需一根端口线就能与诸多DS18B20 通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便3。2.2.2 DS18B20 的性能特点独特
23、的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件与转换电路集成在形如一只三极管的集成电路。适应电压围更宽,电压围:3.05.5V,在寄生电源方式下可由数据线供电。温围55125,在-10+85时精度为0.5。零待机功耗。可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温。在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时
24、最多在750ms把温度值转换为数字,速度更快。用户可定义报警设置。报6 / 38警搜索命令识别并标志超过程序限定温度的器件。测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。以上特点使DS18B20非常适用与多点、远距离温度检测系统。DS18B20部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列、各种封装形式如图 4 所示,DQ 为数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也
25、可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。 2.2.3 DS18B20 的测温原理DS18B20的测温原理,低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55
26、 所对应的一个基数值4。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对D
27、S18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20发ROM功能命令发存储器操作命令处理数据5。2.3 LCD1602 液晶显示器2.3.1 LCD1602 简介字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如表2.2所示: 7 / 38表 2.2 引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14
28、D7数据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 为低电平
29、时可以写入数据。第 6 脚:E 端为使能端,当 E 端由高电平跳变成低电平时,液晶模块执行命令。第 714 脚:D0D7 为 8 位双向数据线。第 15 脚:背光源正极。第 16 脚:背光源负极。2.3.2 1602LCD 的指令说明与时序 1602 液晶模块部的控制器共有 11 条控制指令6,如表 2.3 所示:8 / 38表 2.3 控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*
30、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:显示开关控制
31、。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令 5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标。指令 6:功能设置命令 DL:高电平时为 4 位总线,低电平时为 8 位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示 5x7 的点阵字符,高电平时显示 5x10 的点阵字符。指令 7:字符发生器 RAM 地址设置。指令 8:DDRAM 地址设置。指令 9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或
32、者数据,如果为低电平表示不忙。9 / 38指令 10:写数据。指令 11:读数据。 LCD1602 读写时序如表 2.4 所示:表 2.4 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无 2.4 直流马达电动马达,又称为马达或电动机,是一种将电能转化成机械能,并可再使用机械能产生动能,用来驱动其他装置的电气设备。 电动机种类非常繁多,但可大致分为交流电动机与直流电动机以用于不同的场合。
33、2.4.1 马达工作的原理马达的旋转原理的依据为佛来明左手定则,当一导线置放于磁场,若导线通上电流,则导线会切割磁场线使导线产生移动。 电流进入线圈产生磁场,利用电流的磁效应,使电磁铁在固定的磁铁连续转动的装置,可以将电能转换成力学能。 与永久磁铁或由另一组线圈所产生的磁场互相作用产生动力 直流马达的原理是定子不动,转子依相互作用所产生作用力的方向运动7。 电枢:可以绕轴心转动的软铁芯缠绕多圈线圈。 场磁铁:产生磁场的强力永久磁铁或电磁铁。 集电环:线圈约两端接至两片半圆形的集电环,随线圈转动,可供改变电流方向的变向器。每转动半圈,线圈上的电流方向就改变一次。 电刷:通常使用碳制成,集电环接触
34、固定位置的电刷,用以接至电源。 2.4.2 马达的基本构造电动机的种类很多,以基本结构来说,其组成主要由定子和转子所构成。 定子在空间中静止不动,转子则可绕轴转动,由轴承支撑。 定子与转子之间会有一定空气间隙,以确保转子能自由转动。 定子与转子绕上线圈,通上电流产生磁场,就成为电磁铁,定子和转子其中之一亦可为永久磁铁8。2.5 蜂鸣器蜂鸣器是一种一体化结构的电子讯响器。蜂鸣器主要分为压电式蜂鸣器和电磁化蜂鸣器两种类型。本系统采用的是电磁式蜂鸣器9。10 / 38电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动腊片与外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁铁圈,使电磁铁线圈产生磁场,振
35、动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。蜂鸣器发声原理是电流通过电磁铁圈,使电磁线圈产生磁场来驱动振动膜发声的。程序中改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。另外,改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。11 / 38第第 3 3 章章 系统的硬件组成电路设计系统的硬件组成电路设计系统的硬件组成部分包括:主控制器AT89C52单片机、温度传感器DS18B20、显示电路LCD1602、马达、报警装置等构成。AT89C52连接各模块的主控制端口,初步选定将要运用到的电子元器件,再用Protues绘制原理图,再根据原理图捍
36、接电路板。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 软件有丰富的元件库,智能的器件搜索,智能化的连线,可输出高质量的图纸。
37、电路原理图清晰明了9。12 / 383.2 时钟电路AT89C52 芯片部有一个高增益反向放大器,用于构成震荡器。反向放大器的输入端为 XTAL1,输出端为 XTAL2。在 TXAL1 和 XTAL2 两端跨接由石英晶体与两个电容构成的自激震荡器10,如图 3-2 所示。电容器 C1 和 C2 取 22pF,选用不同的电容量对震荡频率有微调作用。但石英晶体本身的标定频率才是单片机震荡频率的决定因素。图 3-2 时钟电路 时钟电路中,两个电容都选择 22pF 的电容,电容各一端接与晶振相连,各一端接地。选择的晶振是频率为 12MHZ。此模块就是产生象时钟一样准确的振荡电路。3.3 AT89C52
38、 的复位电路AT89C52 单片机通常采用上电自动复位和开关手动复位两种方式。本系统采用上电复位电路,如图 3-3 所示,所谓上电复位,是指单片机只要一上电,便自动地进入复位状态。在通电瞬间,电容 C 通过电阻 R 充电,RST 端出现正脉冲,用以复位10。图 3-3 复位电路复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。RC 复位电路可以实现上述基本功能,但解决不了电源毛刺和电源缓慢下降等问题,而其调整 RC 常数改变延时会令驱动能力变差。3.4 单
39、总线数字温度传感器 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 是读写信号,13 / 38连接 P2.5,RS 是寄存器选择信号,连接 P2.4。图 3-5 为 LCD1602 的硬件连接。图
40、 3-5 LCD1602 的硬件连接VEE 用连接一阻值为 10K 的电阻,主要用于调节对比度的调整。接正电源时对比度最落,接地电源时,对比度最高。对比度过高时,会产生“鬼影” 。因此连接一 10K 的电阻用以调整。当 P0 口作为 I/O 用时需要上拉电阻,如图 3.5 接一排阻,用于上拉11。3.6 驱动电路系统使用的是直流马达,包含周围磁场、电刷、整流子等元件,电刷和整流子將外部所供应的直流电源,持续地供应给转子的线圈,並适时地改变电流的方向,使转子能以同一方向持续旋转。直流马达的优点有速度调整容易,启动转矩较大等,但是电刷与整流子保养维修不易。直流马达广泛的用在消费电子产品与玩具,如电
41、动刮胡刀、录音机、CD 唱机等,而大输出功率的直流电动机则是用在电车,快速电梯,工作母机等。图 3-6 为硬件连接图。 图 3-6 驱动电路 图中三极管采用的是 S9012,用于放大电流。基极接 P1.5 口,用于控制输出信号。集电极按电源正极,发射极接马达正极。三极管 S9012 三极管最基本的作用是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒,它只是把电源的能量转换成信号的能量罢了。三极管有一个重要参数就是电流放大系数 。当三极管的基极上加一个微小的电流时,在集电极上可以得到一个是注入电流 倍的电流,即集电极电流。集电极电流随基极电流的变化而变化,并且基极
42、电流很小的变化可以引起集电极电流很大的变化,这就是三极管在此处的作用。用于 P1.5 口输出的微弱信号经过放大,输出到马达中,这样就可以很好的控制马达了。14 / 383.7 报警电路系统采用的报警器件是蜂鸣器,用引脚 P1.7 控制。如图 3-7 所示图 3-.7 报警电路蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。由此可知,蜂鸣器的控制和 LED 的控制对单片机而言是没有区别的。第第 4 4 章章 系统软件的设计系统软件的设计一个应用系统要完成各项功能,首先必须有较完善的硬件做保证。同时还必须得到相应设计合
43、理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编和有时会变得很简单。因此充分利用其部丰富的硬件资源和软件资源。程序设计语言有三种:机器语言、汇编语言、高级语言。本系统运用的是高级语言所编写,也就是 C 语言。4.1 主程序设计从软件的功能不同可分为四大类:一是检测软件,它是用来检测温度。二是显示部分,用来显示所检测到的温度。三是调控部分,用来控制马达的转速。四是当温度大于 35,蜂鸣器发出报警信号。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义
44、。图 4-1 为软件设计流程图。15 / 38开 始18B20 温度检测初始化马达带动风扇LCD1602 显示温度发出报警信号结 束温度大于 20温度大于 35图 4-1 软件设计流程图4.2 温度检测4.2.1 读取温度设计DSl8B20 可以从单总线获取电源,当信号线为高电平时,将能量贮存在部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生电源为止。此外,还可外接 5 V 电源,给 DS18B20 供电12。图 4-216 / 38DS18B20 的初始化跳过读序列号的操作读取温度寄存器启动温度转换跳过读序列号的操作开 始DS18B20 的初始化RETLOW-
45、低八位 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()
46、;WriteOneChar(0 xCC); / 跳过读序号列号的操作WriteOneChar(0 x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0 xCC); /跳过读序号列号的操作 WriteOneChar(0 xBE); /读取温度寄存器等(共可读 9 个寄存器) 前两个就是温度17 / 38a=ReadOneChar(); /低位b=ReadOneChar(); /高位b4; TempL=temp&0 x0F; TempL=TempL*6/10;/小数近似处理 flag_get=0;4.3 液晶显示器 LCM16024.
47、3.1 LCM1602 初始化 端口定义如下:sbit RS = P24;/Pin4sbit RW = P25; /Pin5sbit E = P26;/Pin6#define Data P0 /数据端口19 / 38 函数显示子码:用数组和指针将字符逐个显示出来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 WriteCo
48、mmand (p);/write command WriteData (c); /write data/*/void ShowString (unsigned char line,char *ptr) unsigned char l,i; l=line4; for (i=0;i20)&(TempH25)&(TempH30)&(TempH35) /产生报警信号 Tru=0; mDelay(30); Fan=0; mDelay(150);/占空比为 0.9375 4.5 报警器的启动当温度低于 35时,蜂鸣器不工作。当检测到的温度高于 35时,蜂鸣器发出频率为 2HZ 的报
49、警声。 报警声控制的主程序如下:if(TempH35) /产生报警信号 Tru=0; mDelay(10); 频率为 2HZ Fan=0; mDelay(150); 21 / 38第第 5 5 章章 总结与展望总结与展望这次设计硬件已完成,且能基本实现要求。5.1 总结通过这次对大棚温度自动控制的设计与制作,让我自主完成了一个完整的设计,虽然这次的实习做的温度显示以与马达的控制都相对比较简单,但是也给将来进入硬件开发有了一个起点的基础。在这次实习的过程,刚开始的时候,真的有点不知所措,因为学习完单片机已有数日,以与微机原理课程,一些知识已忘记。幸好有三个星期的时间来准备。画电路原理图,一开始就
50、觉得有点烦,因为 protues 软件安装的版本较低,做起来非常的费时又费力,一些芯片,还不可以仿真。画电路图,自己学习捍接板,开始第一个板,没有捍成功,研究数日,后来才发现是一些线路捍接不良导致电路连接出现错误。后来重新开始动工,才捍成功。常常有解决不了的问题,就上网查询,或者阅览资料书。虽此项工作枯燥无味,但可缎练其意志,耐性,坚韧。因为常会碰到很难解决的问题。所以要坚持不懈。这个程序的软件程序都是使用 C 语言编写的,毕竟使用汇编对于我们来说难度都是比较大啊。这次设计是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,独立思考和解决问题的能力。它不仅加深了我
51、对单片机技术课程的理解,还让我感受到22 / 38了电子设计的乐趣。对我来说,这次毕业设计是非常有意义的。5.2 展望本系统使用的温度控制器结构简单、测温准确,具有一定的实际应用价值。该智能温度控制器只是 DS18B20 在温度控制领域的一个简单实例,还是许多需要完善的地方,例如可以将测得的温度通过单片机与通讯模块相连接,以手机短消息的方式发送给用户,使用户能够随时对温度进行监控。还可以增加对湿度的自主控制。此外,还能广泛地应用于其他一些工业生产领域。测温控温系统得到快速的发展,国外的测量控制系统已经成熟,产品也较多。近两年,国也出现了许多高精度的温度控制产品,但相对于用户来说,价格还是偏高。
52、而由于竞争越来越激烈,现在企业发展的趋势是如何最有效的提高生产效率,降低生产成本。寻求性能可靠、价格低廉,应用广泛的元器件是生产过程的首先要考虑的问题。参考文献参考文献1 自美,仕,肖看,云娣,罗杰.电子线路综合设计M.:华中科技大学, 2007.2 旭方.单片机控制与应用实训教程M.: 电子工业, 2010.5.3 夏继强. 单片机应用设计培训教程M.:航空航天大学, 2008.4 高峰.单片机微型计算机与接口技术M.:科学.20035 广弟, 朱月秀, 王秀山. 单片机基础M.:航空航天大学, 2001.7.6 胡汉才.单片机原理与其接口技术M.: 清华大学, 20047 科技.单片机典型
53、模块设计实例导航M.: 人民邮电, 20048 王化详,淑英.传感器原理M: 大学, 2002.59 王港元.电工电子实践指导M: 科学技术, 2005.610 素行著.模拟电子技术基础(第二版) M.: 高等教育, 2006.11 静.单片机应用系统中的编程语言J.职业技术学院学报.2009.8(1):43-44.12 仝庆华.基于 Proteus 单片机虚拟实验室J.大学学报(自然科学版).2009.25(2):23-25.13 包敬海,侯昭武,吴国辉.基于 AT89C52 单片机设计智能锅炉控制系统J.中国科技信息.200914周红丽,天开等基于单片机的九路温度监控系统J :微计算机信2
54、3 / 38息2008.15 华东,亚华.单片机原理与应用(第二版)M.:电子工业.2006:1-5.致致 毕业设计完成了,在这个过程中我学到了很多东西。首先我要感我的导师邵金侠老师,他在我完成论文的过程中,给予了我很大的帮助。从毕业设计选题到设计完成,邵老师给予了我耐心的指导与细心关怀。 此外,此系统能顺利完成,也得到了寝室的朋友的帮忙。有些我不了解的知识,在她们悉心指导下,得已解决。在此,我深表感。 最后要感的是我的父母,他们让培养了我在遇到困难前,不倒下。让我在漫长的人生旅途是使心灵有虔敬的归依。在未来的日子里,我会更加努力工作和做一名优秀的人。不辜负父母对我的期望。我一定会好好的孝敬和
55、报答他们!24 / 38附录附录 A A*-名称:基本单片机 AT89C52 的大棚温度自控系统-*/#include#includestdio.h#include#include#includelcd1602.h#define uchar unsigned char#define uint unsigned int;/*/* 定义端口 */*/sbit DQ=P13;/ds18b20 端口sbit Fan=P15; /风扇端口sbit Tru=P17;/喇叭的端口sfr dataled=0 x80;/显示数据端口/*/* 全局变量 */*/uint temp,i,TempH;uchar fl
56、ag_get,count,num,minute,second,x;long str6;/*/25 / 38/* 函数声明 */*/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
57、i; for(;j0;j-) for(i=0;i20)&(TempH25)&(TempH30)&(TempH35) /产生报警信号 Tru=0; mDelay(10); Fan=0; mDelay(150); for(i=1;i4;27 / 38 TempL=temp&0 x0F; TempL=TempL*6/10;/小数近似处理 flag_get=0; /*/* 定时器中断 */*/void tim(void) interrupt 1 using 1/中断,用于温度检测间隔TH0=0 xef;/定时器重装值TL0=0 xf0;num+;if (num=50)
58、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 拉低28 / 38 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(10); x=DQ; /稍做延时后 如果 x=0 则
59、初始化成功 x=1 则初始化失败 delay(5);/*/* 读一个字节 */*/unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;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=8; i0; i-) DQ = 0; DQ = dat&0 x01; delay(5); DQ = 1; dat=1; delay(5);/*/29 / 38/* 读取温度 */*/unsigned int ReadTemperature(void)unsigned char a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20()
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务协作规范承诺函3篇
- 技术团队文档归档模板支持版本控制与备份
- 农业种植作物管理产量提升手册
- 历史辽、西夏与北宋并立教学课件- -2025-2026学年统编版七年级历史下册
- 历史明朝的统治 课件 - -2025-2026学年统编版七年级历史下册
- 2021-2022学年浙江省宁波市余姚市阳明中学八年级(上)期中科学试卷-带答案详解
- 班组现场管理技能培训手册
- 地理标志申请代理协议书
- 卖肾手术协议书
- 四年级总复习
- 二年级语文拼音教学活动方案
- GB/T 17456.1-2025球墨铸铁管、管件和附件外表面锌基涂层第1部分:带终饰层的金属锌及锌合金涂层
- 乡镇避孕药具培训课件
- 2025年大学侦查学专业题库- 手机取证技术在侦查中的应用
- 静配中心工作总结课件
- 康复医学骨科康复指南
- 2025年金属及金属矿批发行业研究报告及未来行业发展趋势预测
- GB/T 40344.4-2025真空技术真空泵性能测量标准方法第4部分:涡轮分子泵
- 脑梗塞的应急预案演练脚本(3篇)
- 社区养老平台解决方案
- 普外科专科护士考试试题及答案
评论
0/150
提交评论