花卉大棚温度自动控制系统设计.doc_第1页
花卉大棚温度自动控制系统设计.doc_第2页
花卉大棚温度自动控制系统设计.doc_第3页
花卉大棚温度自动控制系统设计.doc_第4页
花卉大棚温度自动控制系统设计.doc_第5页
免费预览已结束,剩余36页可下载查看

下载本文档

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

文档简介

2008届毕业设计说明书花卉大棚温度自动控制系统设计摘 要本论文对温度数据的采集与控制温度进行了详细的阐述。主要讲述了一个在计算机远程控制下,利用单片机对远程温度进行采集显示并控制温度的增长。同时通过PC机对PWM波输出进行PID调整。采用了AT89C51单片机,通过DS18B20和按键完成数据的采集温度显示温度设定功能,并完成PID控制算法的实现和控制信号的输出。主频我们选用了11.0592M的晶振(使波特率为整数)。并给出其软硬件设计及调试。在论文完成过程中,主要进行了以下工作: 1对系统要求进行分析,并设计系统的整体结构;2把整体细分化,对每个模块进行详细设计; 3按照硬件电路,编写软件程序;4调试阶段,调试各软、硬件模块,编写测试程序,验证系统的可用性,最后制成系统样机。 本论文主要对远程温度采集与控制系统进行了较详细的阐述。软件的二大模块:采集模块、PID控制,并对主要芯片的使用做了说明。对硬件电路的数据采集、数据设定及显示部分作较详细的阐述。介绍了整体硬件的实现方案。关键词:温度采集 , AT89C51单片机 , DS18B20 , PID控制Flower greenhouse temperature control system designAbstractThis paper on the temperature data acquisition and control temperature carried out a detailed exposition. Mainly tells the story of a computer remote control, using the SCM acquisition of long-range temperature display and control the temperature increase. At the same time, PC-to-output PWM PID adjustment. AT89C51 SCM used by DS18B20 and keys to complete the acquisition temperature data showed that function of temperature settings, and completed the PID algorithm to achieve the output and control signals. We choose the frequency of the crystal 11.0592 M (rounded to the baud rate). And gives its hardware and software design and debugging. Papers in the process of completion, mainly for the following work: 1. System requirements for analysis and design of its overall structure; 2. The overall breakdown of the detailed design of each module; 3. In accordance with the hardware, software programs to prepare; 4. Debugging stage, the debugging software and hardware modules, prepared by the testingprocedures, the verification system availability, made the final prototype system. This paper on the acquisition and long-range temperature control system was described in detail. The two software modules: acquisition module, PID control, and the main chip used to do a note. The hardware circuit data collection, data set and showed that some for more detailed exposition. On the hardware to achieve the overall programme. Keywords: temperature acquisition,AT89C51,SCM DS18B20,PID control目 录1 绪论12 国内外温室控制技术发展概况22.1 手动控制22.2 自动控制22.3 智能化控制33 单片机的组成及原理43.1 单片机的组成43.2 8051单片机执行指令的过程53.3 AT89C51的介绍63.3.1 AT89C51单片机性能73.3.2 功能特性概述:73.3.3 AT89C51引脚功能说明:94 采用K型热电偶的温度传感器205 DS18B20基本知识225.1 DS18B20产品的特点235.2 DS18B20的引脚介绍235.3 DS18B20的读时序245.4 DS18B20的写时序245.5 电路原理图245.6 系统板上硬件连线256 花卉大棚温度自动控制系统设计266.1 应用ATMEL公司的AT89C51作为主控芯片266.1.1 在温度的数据采集方面276.1.2 显示方面286.1.3 控制方面286.2 功能模块设计与电路参数计算286.2.1 温度采集电路286.2.2 控制器296.2.3 显示模块与按键296.2.4 加热器控制电路306.2.5 控制算法的改进306.3 系统调试306.3.1 单片机系统306.3.2 数字PID326.3.3 温度调节326.3.4 系统统调326.4 系统指标测试327 结语34参考文献35致谢36 第I页 共II页1 绪论温度是工农业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油、农业工程中,具有举足轻重的作用。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。单片机具有处理能力强、运行速度快、功耗低等优点,应用在温度测量与控制方面,控制简单方便,测量范围广,精度较高。随着电子技术和微型计算机的迅速发展,微机测量和控制技术得到了迅速的发展和广泛的应用。本课题研究的目的是将单片机对温度控制的基本原理实例化,设计一个实时控制花卉大棚内温度的控制系统。随着农业现代化的发展,设施园艺工程因其涉及学科广、科技含量高、与人民生活关系密切,已越来越受到世界各国的重视,这也为我国大型现代化温室的发展提供了极好的机遇,并产生巨大的推动作用。计算机控制系统在温室种植中得到了越来越广泛的应用,并正在成为温室控制的核心,该系统的使用,可以为植物提供一个理想的生长环境,并能减轻人的劳动强度,提高设备的利用率等。本文设计了一种基于AT89C51单片机的温度测量和控制装置,能对环境温度进行测量,并能根据温度给定值给出调节量,控制执行机构,实现调节环境温度的目的。2 国内外温室控制技术发展概况温室是一种可以改变植物生长环境、为植物生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的场所。它以采光覆盖材料作为全部或部分结构材料,可在冬季或其他不适宜露地植物生长的季节栽培植物。温室生产以达到调节产期,促进生长发育,防治病虫害及提高质量、产量等为目的。而温室设施的关键技术是环境控制,该技术的最终目标是提高控制与作业精度。国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。从国内外温室控制技术的发展状况来看,温室环境控制技术大致经历以下三个发展阶段:2.1 手动控制这是在温室技术发展初期所采取的控制手段,其时并没有真正意义上的控制系统及执行机构。生产一线的种植者既是温室环境的传感器,又是对温室作物进行管理的执行机构,他们是温室环境控制的核心。通过对温室内外的气候状况和对作物生长状况的观测,凭借长期积累的经验和直觉推测及判断,手动调节温室内环境。种植者采用手动控制方式,对于作物生长状况的反应是最直接、最迅速且是最有效的,它符合传统农业的生产规律。但这种控制方式的劳动生产率较低,不适合工厂化农业生产的需要,而且对种植者的素质要求较高。2.2 自动控制这种控制系统需要种植者输入温室作物生长所需环境的目标参数,计算机根据传感器的实际测量值与事先设定的目标值进行比较,以决定温室环境因子的控制过程,控制相应机构进行加热、降温和通风等动作。计算机自动控制的温室控制技术实现了生产自动化,适合规模化生产,劳动生产率得到提高。通过改变温室环境设定目标值,可以自动地进行温室内环境气候调节,但是这种控制方式对作物生长状况的改变难以及时作出反应,难以介入作物生长的内在规律。目前我国绝大部分自主开发的大型现代化温室及引进的国外设备都属于这种控制方式。2.3 智能化控制这是在温室自动控制技术和生产实践的基础上,通过总结、收集农业领域知识、技术和各种试验数据构建专家系统,以建立植物生长的数学模型为理论依据,研究开发出的一种适合不同作物生长的温室专家控制系统技术。温室控制技术沿着手动、自动、智能化控制的发展进程,向着越来越先进、功能越来越完备的方向发展。由此可见,温室环境控制朝着基于作物生长模型、温室综合环境因子分析模型和农业专家系统的温室信息自动采集及智能控制趋势发展。3 单片机的组成及原理3.1 单片机的组成由中央处理器(CPU)、存储器(RAM和ROM)、I/O(Input/Output)接口和I/O设备就构成了通用的微型计算机系统。通用微机系统由多个IC(Intergraded Circuit)芯片组成,CPU只是其中的一个组织部分。如果把CPU、RAM、ROM、终端系统、定时/计数器、以及I/O口等主要微型机部件集成在一块芯片上,就称该芯片为单片微型计算机SCMC(Single Chip Micro Computer),简称单片机。单片机的基本结构如下: 运算器:用于实现算术和逻辑运算。计算机的运算和处理都在这里进行控制器:是计算机的控制指挥部件,使计算机各部份能自动协调的工作存储器:用于存放程序和数据(又分为内存储器和外存储器,内存储器就如我们电脑的硬盘,外存储器就如我们的U盘)输入设备:用于将程序和数据输入到计算机(例如我们电脑的键盘、扫描仪)输出设备:输出设备用于把计算机数据计算或加工的结果以用户需要的形式显示或保存(例如我们的打印机)1 中央处理器(CPU)通常把运算器和控制器合在一起称为中央处理器(Central Processing Unit),简称CPU。需要提醒的是MCS-51的CPU能处理8位二进制数或代码。2 内部数据存储器(RAM)8051芯片共有256个RAM单元,其中后128单元被专用寄存器占用(稍后我们详解),能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。地址范围为00HFFH(256B)。是一个多用多功能数据存储器,有数据存储、通用工作寄存器、堆栈、位地址等空间。3 内部程序存储器(ROM)8051内部有4KB的ROM,用于存放程序、原始数据或表格。因此称之为程序存储器,简称内部ROM。地址范围为0000HFFFFH(64KB)。 4 定时器/计数器8051共有2个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。定时时靠内部分频时钟频率计数实现,做计数器时,对P3.4(T0)或P3.5(T1)端口的低电平脉冲计数。 5 并行I/O口 MCS-51共有4个8位的I/O口(P0、P1、P2、P3)以实现数据的输入输出。具体功能在后面章节中将会详细论述。 6 串行口 MCS-51有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为移位器使用。RXD( P3.0)脚为接收端口,TXD(P3.1)脚为发送端口。 7 中断控制系统 MCS-51单片机的中断功能较强,以满足不同控制应用的需要。共有5个中断源,即外中断2个,定时中断2个,串行中断1个,全部中断分为高级和低级共二个优先级别。 8 时钟电路 MCS-51芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率为12MHZ。3.2 8051单片机执行指令的过程 单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-分析指令-执行指令。 取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。 分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。计算机执行程序的过程实际上就是逐条指令地重复上述操作过程,直至遇到停机指令,可循环等待指令。 一般计算机进行工作时,首先要通过外部设备把程序和数据通过输入接口电路和数据总线送入到存储器,然后逐条取出执行。但单片机中的程序一般事先我们都已通过写入器固化在片内或片外程序存储器中,因而一开机即可执行指令。 下面我们将举个实例来说明指令的执行过程: 开机时,程序计算器PC变为0000H。然后单片机在时序电路作用下自动进入执行程序过程。执行过程实际上就是取出指令(取出存储器中事先存放的指令阶段)和执行指令(分析和执行指令)的循环过程。 例如执行指令:MOV A,#0E0H,其机器码为“74H E0H”,该指令的功能是把操作数E0H送入累加器, 0000H单元中已存放74H,0001H单元中已存放E0H。当单片机开始运行时,首先是进入取指阶段,其次序是: 1 程序计数器的内容(这时是0000H)送到地址寄存器; 2 程序计数器的内容自动加1(变为0001H); 3 地址寄存器的内容(0000H)通过内部地址总线送到存储器,以存储器中地址译码为跟,使地址为0000H的单元被选中; 4 CPU使读控制线有效; 5 在读命令控制下被选中存储器单元的内容(此时应为74H)送到内部数据总线上,因为是取指阶段,所以该内容通过数据总线被送到指令寄存器。 至此,取指阶段完成,进入译码分析和执行指令阶段。 由于本次进入指令寄存器中的内容是74H(操作码),以译码器译码后单片机就会知道该指令是要将一个数送到A累加器,而该数是在这个代码的下一个存储单元。所以,执行该指令还必须把数据(E0H)从存储器中取出送到CPU,即还要在存储器中取第二个字节。其过程与取指阶段很相似,只是此时PC已为0001H。指令译码器结合时序部件,产生74H操作码的微操作系列,使数字E0H从0001H单元取出。因为指令是要求把取得的数送到A累加器,所以取出的数字经内部数据总线进入A累加器,而不是进入指令寄存器。至此,一条指令的执行完毕。单片机中PC=0002H,PC在CPU每次向存储器取指或取数时自动加1,单片机又进入下一取指阶段。这一过程一直重复下去,直至收到暂停指令或循环等待指令暂停。CPU就是这样一条一条地执行指令,完成所有规定的功能。3.3 AT89C51的介绍AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4K bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用位中央处理器(CPU)和Flash存储单元,功能强大。3.3.1 AT89C51单片机性能 AT89C51单片机提供许多高性价比的应用场合,可灵活应用于各种控制领域。主要性能参数为:1) 与MCS-51产品指令系统完全兼容2) 4K字节可重擦写Flash闪速存储器3) 100次擦写周期4) 全静态操作:0Hz-24MHz5) 三级加密程序存储器6) 128*8字节内部RAM7) 32个可编程I/O口线8) 2个16位定时/计数器9) 6个中断源10) 可编程串行UART通道11) 低功耗空闲和掉电模式3.3.2 功能特性概述:AT89C51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路.同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式.空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作.掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到一个硬件复位。图3.1 PQFP/TQFP图3.2 PDIP图3.3 PLCC3.3.3 AT89C51引脚功能说明:1)VCC:电源电压2)GND:地P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。图3.4 AT98C51方框图P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出阻抗一个电流IIL。Flash编程和程序校验期间,P1接收低8位地址。P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对端口写“1”,通过内部上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流IIL。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据,在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出阻抗缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路,对P3口写入“1”时,它被内部上拉电阻拉高并可作为输入端口.作输入时,被外部拉低的P3口将用上拉电阻输出阻抗电流IIL。P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示: 表3.1 P3口的第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1定时/计数器1P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号: 1)RST: 复位输入,当振荡器器工作时,RST引脚出现两个机器周期以上高电平将单片机复位。2)ALE/PROG:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。即使不访问外部存储器,ALE仍以时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8E单元的D0位置位,可禁止ALE操作。该位置前后,只有一条MOVX和MOVC指令ALE才会被激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。3)PSEN:程序储存允许(PSEN)输出是外部程序存储器的读先通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,将访问外部数据存储器,这再次有效的PSEN信号不出现。4)EA/VPP:外部访问允许。欲使CPU访问外部程序存储器(地址为0000H-FFFFH)。EA端必须保持低电平(接地),需注意的是:如果加密位LB1被编程,复位时内部会锁EA端状态 如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。 Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。5)XTAL1:振荡器反相放大器及内部时钟发生器的输入端。6)XTAL2:振荡器反相放大器的输出端。7)时钟振荡器:AT89C51中有一个用于构成内部振荡器的反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应该符合产品技术条件的要求。8)空闲节电模式: AT89C51有两种可用软件编程的省电模式,它们有空闲模式和掉电工作模式。这两种方式是控制专用寄存器PCON(即电源控制寄存器)中的PD(PCON.1)和IDL(PCON.0)位来实现的。PD是掉电模式,当PD=1时,激活掉电工作模式,单片机进入掉电工作状态。IDL是空闲等待方式,当IDL=1,激活空闲工作模式,单片机进入睡眠状态。如需同时进入两种工作模式,即PD和IDL同时为1,则先激活掉电模式。在空闲工作模式状态,CPU保持睡眠状态而所有片内的外设仍保持满打激活状态,这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬件复位终止。 终止空闲工作模式的方法有两种,其一是任何一条允许中断的事件被激活,IDL(PCON.0)被硬件清除,即刻终止空闲工作模式。程序会首先响应中断,进入中断服务程序,执行完中断服务程序并紧随RETI(中断返回)指令后,下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令。其二是通过硬件复位也可将空闲工作模式终止。需要注意的是,当由硬件复位来终止空闲工作模式时,CPU通常是从激活空闲模式那条指令的下一条指令开始继续执行程序的,要完成内部复位操作,硬件复位周期要保持两个机器周期(24个时钟周期)有效,在这种情况下,内部禁止CPU访问片内RAM,而允许访问其它端口。为了避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。(1) 掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义特殊功能寄存器但不改变RAM中的内容,在VCC恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启并稳定工作。见下表:表3.2 空闲和掉电模式外部引脚状态模式程序存储器ALEPSENP0P1P2P3空闲模式内部11数据数据数据数据空闲模式外部11浮空数据地址数据掉电模式内部00数据数据数据数据掉电模式外部00浮空数据数据数据(2) 程序存储器的加密:AT89C51可使用对芯片上的3个加密位LB1、LB2、LB3进行编程(P)或不编程(U)来得到如下表3.3所示的功能:表3.3 AT89C51上的加密位的功能 程序加密位保护类型LB1LB2LB31UUU没有程序保护功能2PUU禁止从外部程序存储器中执行MOVC指令读取内部程序存储器的内容3PPU除上表功能外,还禁止程序校验4PPP除以上功能外,同时禁止外部执行 当加密位LB1被编程时,在复位期间,EA端的逻辑电平被采样并锁存,如果单片机上电后一直没有复位,则锁存起的初始值是一个随机数,且这个随机数会一直保持到真正复位为止。为使单片机能正常工作,被锁存的EA电平值必须与该引脚当前的逻辑电平一致。此外,加密低位只能通过整片擦除的方法清除。(3)Flash闪速存储器的编程:AT89C51单片机内部有4K字节的Flash PEROM,这个Flash存储阵列出厂时已处于察除状态(即所有存储单元的内容均为FFH),用户随时可对其进行编程。编程接口接收高电压(+12V)或电压(VCC)的允许编程信号。低电平编程模式适合于用户在线编程系统,而高电压编程模式可与通用EPROM编程器兼容。表3.4 AT89C51的Flash闪速存储器的编程AT89C51单片机中,有些属于低电平编程方式,而有些则是高电压编程方式,用户可从芯片上的型号和读取芯片内的签名字节获得该信息。VPP=12VVPP=5V芯片顶面标识AT89C51XxxxyywwAT89C51xxxx-5yyww签名字节(030H)=1EH(031H)=51H(032H)=FFH(030H)=1EH(031H)=51H(032H)=05HAT89C51的程序存储器阵列是采用字节方式编程的,每次写入一个字节,要对整个芯片内的PERON程序存储器写入一个非空字节,必须使用片擦除的方式将整个存储器的内容清除。(4)编程方法:编程前,须按下表3.5和下图3.6所示设置好地址、数据及控制信号,编程单元的地址加在P1口和P2口的P2.0P2.3(11位地址范围0000H-0FFFH),数据从P0口输入,引脚P2.6、P2.7和P3.6、P3.7的电平设置见表6,PSEN为低电平,RST保持高电平,EA/VPP引脚是编程电源的输入端,批要求加上编程电压,ALE/PROG引脚输入编程脉冲(负脉冲)。编程时,可采用4-20MHZ的时钟振荡器,AT89C51编程方法如下:1.在地址线上加上要编程的单元的地址信号。2.在数据线上加上要写入的数据字节。3.激活相应的控制信号。4.在高电压编程方式时,将EA/VPP端加上+12V编程电压。5.每对Flash存储阵列写入一个字节或每写入一个程序加密位,加上一个ALE/PROG编程脉冲。改变编程单元的地址和写入数据,重复1-5步骤,直到全部文件编程结束。每个字节写入周期是自身定时的,通常约为1.5ms。(5)数据查询:AT89C51单片机用数据查询方式来检测一个写周期是否结束,在一个写周期中,如需读取最后定写入的那个字节,则读出的数据的最高位(P0.7)是原来写入最高位的肥码。写周期完成后,有效的数据就会出现在所有输出端上,此时,可进入一个字节的写周期,写周期开始后,可在任意时刻进行数据查询。(6)Ready/Busy:字节编程的进度可通过“RDY/BSY”输出信号监测,编程期间,ALE为高电平“H”后P3.4(RDY/BSY)端电平被拉低,表示正在编程状态(忙状态)。编程完成后,P3.4变为高电平表示准备就绪状态。(7)程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过地址和数据线读原编写的数据,采用下图的电路,程序存储器的地址由P1和P2口的P2.0-P2.3输入,数据由P0口读出,P2.6、P2.7和P3.6、P3.7的控制信号见表6,PSEN保持低电平,ALE、EA和RST保持高电平。校验时,P0口须接上10K左右的上拉电阻。 方式 RSTALE/ P2.6P2.7P3.6P3.7 写代码数据 H L H/12VLHHH 读代码数据 H L H HLLHH写加密位Bit-1 H L H/12VHHHHBit-2 H L H/12VHHLLBit-3 H L H/12VHLHL 片擦除 H L H/12VHLLL 读签名字节 H L H HLLLL表3.5 Flash存储器编程真值表注:片擦除操作时要求PROG脉冲宽度为10ms图3.5 编程电路图3.6 校验电路加密位不可直接校验,加密位的校验可通过对存储器的校验和对写入状态来验证。Flash存储器编程和程序校验时序图3.7(高电平编程)和图3.8(低电平编程)。图3.7 Flash编程和校验的波形时序(高)图3.8 Flash编程和校验的波形时序(低)(8)芯片擦除:利用控制区信号的正确组合(表3.6)并保持ALE/PROG引脚为10ms的低电。脉冲宽度即可将PEROM阵列(4K字节)和有一个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入“1”,这步骤需在编程之前进行。(9)读片内签名字节:AT89C51单片机内有3个签名字节,地址为030H、031H、032H。用于声明该器件的厂商、型号和编程电压。读签名字节的过程和单元030H、031H及032H的正常校验相仿,只需将P3.6和P3.7保持低电平,返回值意义如下:(030H)=1EH声明产品由ATMEL公司制造;(031H)=51H声明为AT89C51单片机;(032H)=FFH声明为12V编程电压;(032H)=05H声明为5V编程电压。(10)编程接口:采用控制信号的正确组合可对Flash闪速存储的每一个代码字节进行写入和存储器的整片擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。Flash的编程和校验特性如下表3.6 表3.6 Flash的编程和校验特性符号参数最小值最大值单位编程电压11.512.5V编程电流1.0Ma时钟频率324MHz建立地址到变低48tCLCL变低后地址保持不变48tCLCL建立数据到变低48tCLCL变低后数据保持不变48tCLCLENABLE变高到48tCLCL加到变低10us后保持10us宽度1us地址到数据有效48tCLCLENABLE低到数据有效48tCLCLENABLE后数据浮空048tCLCL变高到BUSY变低1.0us字节写入周期2.0Ms4 采用K型热电偶的温度传感器 K型热电偶在-2701372范围内的分度表 ,这种热电偶性能稳定,产生的热电势大,热电特性线性好,复现性好,高温下抗氧化能力强,耐辐射,使用范围宽,应用广泛。控制系统结构框图如下: 铁块双向可控硅 温度给定PID控制器A/D转换 温度控制与检测图4.1 控制系统结构图 系统的数据采集主要是对铁块现时温度的检测转换,温度的检测由镍铬-镍硅电阻完成,用电桥得到差动值,经差动放大器放大后,送入A/D转换器进行转换,最后送入处理器处理。图4.2 温度传感器和信号放大电路我们使用电桥读取镍铬-镍硅电阻的输出信号,图中TL431电路部分为供桥电压产生电路,因为供桥电源的变化几乎是一比一的反映到电桥电压输出,所以供桥电源的稳定与否直接影响到温度采样的精度。当系统有一精度足够的+10V电源时,TL431电路部分可以省略。电桥部分桥上臂电阻选22K,右下臂电阻选100,电桥输出电压为: (4.1)假设系统温度变化范围为0-120,则根据(4.1)式得电桥输出电压范围约为:0-20mV。信号放大部分属于V-V放大,前面我们已经知道电桥的输出电压为0-20 mV,而A/D转换的输入电压为-5V-+5V,我们选用单极性输入+3V,这样可以确定放大器的增益为150倍(3V/20 Mv)。放大器的极数与单极放大器的带宽增益有关,由于被控对象控制系统中测量速度不是主要的,也就是说带宽问题不予考虑,如果我们选用带宽增益积较大的芯片,则使用单极放大就足够了。在这里我们选用差分式斩波稳零高精度运算放大器ICL7650。一级放大接成双端差分输入,单端输出形式。放大器接成T型反馈网络,则放大器的放大倍数为: (4.2)在应用时,各元件阻值可按照上图中选取,实际放大倍数应该根据系统需要通过微调Rv2得到。A/D转换芯片选择首先取决于控制系统对分辨率的要求,在本系统中要求达到控制温度范围为20100摄氏度,控制精度为0.25摄氏度,则分辨率为:100/0.25=400。5 DS18B20基本知识 DS18B20是美国Dallas半导体公司推出的第一片支持“一线总线”接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,直接将温度转化成串行数字信号供微机处理。DS18B20 的工作原理是:DS1820 采用3 脚PR-35 封装或8 脚SOIC 封装,其中 GND 为地;I/O 为数据输入/ 输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平:VDD是外部+5V电源端不用时应接地:NC 为空脚图5-1 所示为DS1820的内部框图,它主要包括寄生电源、温度传感器、64 位激光ROM单线接口、存放中间数据的高速暂存器(内含便笺式R A M),用于存储用户设定的温度上下限值的TH和TL触发器存储与控制逻辑、8 位循环冗余校验码(CRC)发生器等七部分。 存储器控制逻辑 64位ROM和单线接口 温度传感器 存储器 电源检测 高温度触发 低温度触发 8位CRC触发器图5.1 DS1820内部结构图5.1 DS18B20产品的特点 (1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在55。C到125。C之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。5.2 DS18B20的引脚介绍TO92封装的DS18B20的引脚排列见图5.1,其引脚功能描述见表5.1。图5.2(底视图)表5.1DS18B20详细引脚功能描述序号名称 引脚功能描述 1 GND 地信号 2 DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。 3 VDD 可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20的使用方法: 由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89C51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序如下图:图5.3 DS18B20的复位时序图5.3 DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程见图5.4。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。图5.4 读时序图5.4 DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程见图5.5。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。图5.5 写时序图5.5 电路原理图图5.6 电路原理图5.6 系统板上硬件连线1把“单片机系统”区域中的P0.0P0.7用8芯排线连接到“动态数码显示”区域中的ABCDEFGH端子上。2把“单片机系统”区域中的P2.0P2.7用8芯排线连接到“动态数码显示”区域中的S1S2S3S4S5S6S7S8端子上。3把DS18B20芯片插入“四路单总线”区域中的任一个插座中,注意电源与地信号不要接反。4把“四路单总线”区域中的对应的DQ端子连接到“单片机系统”区域中的P3.7/RD端子上。6 花卉大棚温度自动控制系统设计6.1 应用ATMEL公司的AT89C51作为主控芯片下面是采用AT89C51单片机,通过DS18B20和按键完成数据的采集温度显示温度设定功能,并完成PID控制算法的实现和控制信号的输出。设计原理:本温度控制和显示系统是一个闭环反馈控制系统,它用温度传感器将检测到的温度信号经放大,A/D转换后送入计算机中,与设定值进行比较,得到偏差。对此偏差按PID算法进行修正,返回对应情况下的可控硅导通时间,调节电热丝的有效加热功率,从而实现对被控对象的温度控制,AT89C51提供以下标准功能:8K字节的Flash闪速存储器,256字节的内部RAM,32个I/O口线,3个16位的定时/计数器,一个6向量两极中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式:空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。本温度控制和显示系统中,单片机系统用控制对被控对象的加热时间来控制被控对象的温度, 被控对象的温度经检测,放大,校正和A/D转换后送入单片机,由单片机计算当前值,然后根据PID控制规律返回可控硅导通的脉冲个数Tn,通过比较Tn和当前可控硅导通的脉冲个数决定打开关闭双向可控硅。被控对象的温度给定和PID控制器参数设定用单片机系统的键盘来实现。图6.1 AT89C51的电路原理图6.1.1 在温度的数据采集方面我们采用了数字式的温度传感器DS18B20,它能够将温度直接转换成数字信号,可以通过一根数据线与单片机进行通讯。而且它不需要外部元件, 测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C,完全可以满足蔬菜大棚的温度要求。这样就可以不使用A/D转换器,从而使系统的精度得以提高。这样也使89C51的系统资源能够大大的被节省。我们应用的是多个DS18B20这个温度传感器同时使用,用程序求出几路的平均值。这样的数值会更加的精确,为单片机的精确控制提供了必要的数据。6.1.2 显示方面我们应用的是三位数码管进行对温度的显示,温度精确到+0.1摄氏度,完全可以满足蔬菜大棚的温度要求。我们还可以自行设定一个温度的上限。当采集的温度超过了我们设定的温度后,单片机会发出报警信息,发光二极管点亮、蜂鸣器配合进行声光报警。提高了蔬菜大棚的温度的检测系统的稳定性。6

温馨提示

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

评论

0/150

提交评论