基于51单片机的湿度控制器含原理图与C代码文档格式.docx

上传人:b****8 文档编号:22416111 上传时间:2023-02-04 格式:DOCX 页数:43 大小:237.73KB
下载 相关 举报
基于51单片机的湿度控制器含原理图与C代码文档格式.docx_第1页
第1页 / 共43页
基于51单片机的湿度控制器含原理图与C代码文档格式.docx_第2页
第2页 / 共43页
基于51单片机的湿度控制器含原理图与C代码文档格式.docx_第3页
第3页 / 共43页
基于51单片机的湿度控制器含原理图与C代码文档格式.docx_第4页
第4页 / 共43页
基于51单片机的湿度控制器含原理图与C代码文档格式.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

基于51单片机的湿度控制器含原理图与C代码文档格式.docx

《基于51单片机的湿度控制器含原理图与C代码文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的湿度控制器含原理图与C代码文档格式.docx(43页珍藏版)》请在冰豆网上搜索。

基于51单片机的湿度控制器含原理图与C代码文档格式.docx

2.5.1AT89C51简介6

2.5.2AT89C51管脚说明7

2.5.3振荡器特性9

2.5.4时钟电路9

2.5.5复位电路10

2.5.6AD转换电路11

2.6湿度传感器12

2.6.1湿敏元件的特性12

2.6.2湿敏电阻12

2.6.3湿敏电容12

2.6.3湿度测量的名词术语13

2.7LCD液晶显示器13

第三章硬件电路的设计16

3.1湿度传感器与ADC0804连接电路16

3.2LCD电路图17

3.3独立键盘与驱动电路18

3.4总体电路设计18

第四章程序流程图与代码19

4.1主要程序流程图19

4.2主要程序20

第五章系统的调试与总结21

5.1单片机测试21

5.2硬件及软件调试21

5.3整机的调试与测试21

5.4综合调试22

总结23

参考文献24

附录一25

附录二38

第一章绪论

1.1选题背景及目的

在工农业生产和日常生活中,对湿度的测量及控制始终占据着重要地位。

在现代农业大棚种植或是室内畜牧业、气象、环保、国防、科研、航天以及现代生活的各个方面,经常需要对环境湿度进行测量及控制。

本设计就在此基础上,设计一种基于89C51单片机控制的智能湿度控制系统。

自动控制系统可分为开环控制系统和闭环控制系统。

一个控控制系统包括控制器、传感器、变送器、执行机构、输入输出接口。

控制器的输出经过输出接口、执行机构,加到被控系统上;

控制系统的被控量,经过传感器,变送器,通过输入接口送到控制器。

不同的控制系统,其传感器、变送器、执行机构是不一样的。

比如压力控制系统要采用压力传感器。

电加热控制系统的传感器是温度传感器。

1.2发展状况

进入21世纪后,特别在我国加入WTO后,国内产品面临巨大挑战。

各行业特别是传统产业都急切需要应用电子技术、自动控制技术进行改造和提升。

例如纺织行业,温湿度是影响纺织品质量的重要因素,但纺织企业对温湿度的测控手段仍很粗糙,十分落后,绝大多数仍在使用干湿球湿度计,采用人工观测,人工调节阀门、风机的方法,其控制效果可想而知。

制药行业里也基本如此。

而在食品行业里,则基本上凭经验,很少有人使用湿度传感器。

值得一提的是,随着农业向产业化发展,许多农民意识到必需摆脱落后的传统耕作、养殖方式,采用现代科学技术来应付进口农产品的挑战,并打进国外市场。

各地建立了越来越多的新型温室大棚,种植反季节蔬菜,花卉;

养殖业对环境的测控也日感迫切;

调温冷库的大量兴建都给温湿度测控技术提供了广阔的市场。

我国已引进荷兰、以色列等国家较先进的大型温室四十多座,自动化程度较高,成本也高。

国内正在逐步消化吸收有关技术,一般先搞调温、调光照,控通风;

第二步搞温湿度自动控制及CO2测控。

此外,国家粮食储备工程的大量兴建,对温湿度测控技术提也提出了要求。

但目前,在湿度测试领域大部分湿敏元件性能还只能使用在通常温度环境下。

在需要特殊环境下测湿的应用场合大部分国内包括许多国外湿度传感器都会“皱起眉头”!

例如在上面提到纺织印染行业,食品行业,耐高温材料行业等,都需要在高温情况下测量湿度。

一般情况下,印染行业在纱锭烘干中,温度能达到120摄氏度或更高温度;

在食品行业中,食物的烘烤温度能达到80-200摄氏度左右;

耐高温材料,如陶瓷过滤器的烘干等能达到200摄氏度以上。

在这些情况下,普通的湿度传感器是很难测量的。

由于单片机技术在各个领域正得到越来越广泛的应用,世界上许多集成电路生厂家相继推出了各种类型的单片机。

近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。

近几年来,单片机的发展更为迅速,它已渗透到诸多学科和领域,以及人们生活的各个方面。

在单片机家族的众多成员中,MCS-51系列单片机以其优越的性能、成熟的技术及高可靠性和高性能价格比,迅速占领了工业测控和自动化工程应用的主要市场,成为国内单片机应用领域中的主流。

目前可用于MCS-51系列单片机开发的硬件越来越多,与其配套的各类开发系统、各种软件也日趋完善,因此,可以极方便的利用现有资源,开发出用于不同目的的各类应用系统。

随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。

单片机以其功能强、体积小、重量轻、可靠性高、造价低、通用灵活和开发周期短等优点,成为自动化和各个测控领域中广泛应用的器件,也广泛应用于卫星定向、汽车火花控制、交通管理和微波炉等专用控制上在工业生产中成为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。

在湿度控制系统中,单片机更是起到了不可替代的核心作用。

随着生产的发展,在工业中,设备对湿度的控制要求越来越高,随着人们生活水平的提高,对日常用品的自动化也提出了更高的要求,单片机的不断更新换代,满足了上述的要求,达到自动控制品质的目的。

1.3各章节主要内容

本论文共分成五章第1章主要是选题背景和发展状况;

第2章提出了系统的方案与论证,形成一个大体轮廓;

第3章对系统硬件电路部分进行设计,主要是接口连接和硬件传感器的设计;

第4章系统的软件部分设计,包括各个子程序和对应的流程图。

第五章为系统调试,包括硬件、软件、综合调试。

第2章系统的方案与论证

此系统采能够自动、准确检测环境空气的相对湿度,并将检测数据通过A/D转换后,送到处理器(AT89C51)中,然后通过软件的编程,将当前环境的相对湿度值转换为十进制数字后,再通过LCD来显示;

而且,通过软件编程,再加上相应的控制电路,设计出可以自动的调节当前环境的相对湿度:

当空气湿度过高时,控制系统自动启动抽风机,减少室内空气中的水蒸气,以达到降低空气湿度的目的;

当室内空气湿度过低时,控制系统自动关闭抽风机,增加空气的水蒸气,以达到增加湿度的目的,使空气湿度保持在理想的状态;

键盘设置及调整湿度的初始值。

2.1系统选择论证

2.1.1单片机控制模块的选择论证

方案一:

采用XC9000系列的FPGA。

该类器件具有并行处理能力,能快速的响应外部的各种数字信号,但在数据处理方面过于复杂,而且芯片价格较昂贵。

方案二:

采用单片机作为控制核心,单片机数学运算功能较强。

在程序相互调用方面,处理方便灵活,性能稳定,适合实际应用。

且单片机技术发展较为成熟,价格便宜。

2.1.2显示模块的选择与论证

方案一:

采用12864液晶模块显示测得的数据,可显示较多组的数据,字体较大,可清晰读数,但12864液晶模块价格昂贵,接线复杂,故不采用。

方案二:

采用1602液晶模块显示所测数据,1602液晶接线简单方便,同时也能满足显示需要,价格远低于12864液晶。

因此,本方案为首选方案。

综上所述,显示模块选择方案二。

2.2设计任务及要求

设计一个基于51单片机的湿度检测器。

课程设计要求:

1.5V供电;

2.温度采集采用模拟湿度传感器;

3.采用ADC0804把模拟量转换为数字量

4.LCD1602显示;

5.4个按键;

6.设计温度控制器原理图,学习用PROTEL画出该原理图,并用proteus进行仿真;

设计和绘制软件流程图,用C语言进行程序编写;

焊接硬件电路,进行调试。

2.3系统的设计原则

一般系统的设计原则包含安全性(稳定抗干扰性),操作的便利性(人性化),实时性,通用性和经济性。

(1)安全可靠

首先要选用高性能的AT89S52单片机,保证在恶劣的工业环境下能正常运行。

其次是设计可靠的控制方案,并具有各种安全保护措施,如报警、事故预测、事故处理和不间断电源等。

(2)操作维护方便

操作方便表现在操作简单、直观形象和便于掌握且不强求操作工要掌握计算机知识才能操作。

(3)实时性强

选用高性能的AT89C51单片机的实时性,表现在内部和外部事件能及时地响应,并做出相应的处理。

(4)通用性好

系统设计时应考虑能适应不同的设备和各种不同设备和各种不同控制对象,并采用积木式结构,按照控制要求灵活构成系统。

主要表现在两个方面:

一是硬件板设计采用标准总线结构(如PC总线),配置各种通用的模板,以便扩充功能时,只需增加功能模板就能实现;

二是软件功能模块或控制算法采用标准模块结构,用户使用时不需要二次开发,只需各种功能模块,灵活地进行控制系统组态。

(5)经济效益高

2.4系统组成与框图

系统控制结构组成如图2-1

湿度传感器。

用于检测空气的湿度[9]。

微控制器。

采用ATMEL公司的89C51单片机,作为主控制器。

模数转换电路。

用于把湿度传感器的模拟量转换为数字量。

键盘输入电路。

用于设定初始值等。

LCD显示电路。

用于显示湿度[10]。

功率驱动电路(湿度调节电路)。

湿

AD

A

T

8

9

C

5

1

LCD显示电路

驱动电路

独立键盘电路

图2-1

2.5系统原理设计

2.5.1AT89C51简介

单片机我们采用AT89C51相较于INTEL公司的8051它本身带有一定的优点。

AT89C51是一种带4K字节闪烁可编程可擦除只读存贮器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要特性:

·

与MCS-51兼容

4K字节可编程闪烁存储器寿命:

1000写/擦循环

·

数据保留时间:

10年

全静态工作:

0Hz-24Hz

三级程序存储器锁定

128*8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

2.5.2AT89C51管脚说明

1.VCC:

供电电压;

2.GND:

接地;

3.P0口:

P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

4.P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

5.P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

6.P3口:

P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。

当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。

作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表4-1所示:

7.RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

8.ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

P3口的第二功能

引脚

第二功能

信号名称

P3.0

P3.1

P3.2

P3.3

P3.4

P3.5

P3.6

P3.7

RXD

TXD

INT0

INT1

T0

T1

WR

RD

串行数据接收

串行数据发送

外部中断0请求

外部中断1请求

定时器/计数器0计数输入

定时器/计数器1计数输入

外部RAM写选通

外部RAM读选通

P3口同时为闪烁编程和编程校验接收一些控制信号。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

9./PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

10./EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;

当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

11.XTAL1:

反向振荡放大器的输入及内部时钟工作电路的输入。

12.XTAL2:

来自反向振荡器的输出。

2.5.3振荡器特性

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石英振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

芯片擦除:

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。

在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。

在闲置模式下,CPU停止工作。

但RAM,定时器,计数器,串口和中断系统仍在工作。

在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.5.4时钟电路

时钟电路是计算机的心脏,它控制着计算机的工作节奏。

MCS-51单片机允许的时钟频率是因型号而异的典型值为12MHZ

MCS-51内部都有一个反相放大器,XTAL1、XTAL2分别为反相放大器输入和输出端,外接定时反馈元件以后就组成振荡器,产生时钟送至单片机内部的各个部件。

AT89C51是属于CMOS8位微处理器,它的时钟电路在结构上有别于NMOS型的单片机。

CMOS型单片机内部(如AT89C51)有一个可控的负反馈反相放大器,外接晶振(或陶瓷谐振器)和电容组成振荡器,图4-2为CMOS型单片机时钟电路框图。

振荡器工作受/PD端控制,由软件置“1”PD(即特殊功能寄存器PCON.1)使/PD=0,振荡器停止工作,整个单片机也就停止工作,以达到节电目的。

清“0”PD,使振荡器工作产生时钟,单片机便正常运行。

图中SYS为晶振或陶瓷谐振器,振荡器产生的时钟频率主要由SYS参数确定(晶振上标明的频率)。

电容C1和C2的作用有两个:

其一是使振荡器起振,其二是对振荡器的频率f起微调作用(C1、C2大,f变小),其典型值为30pF。

2.5.5复位电路

计算机在启动运行时都需要复位,使中央处理器CPU和系统中的其它部件都处于一个确定的初始状态,并从这个状态开始工作。

MCS-51单片机有一个复位引脚RST,它是史密特触发输入(对于CHMOS单片机,RST引脚的内部有一个拉低电阻),当振荡器起振后该引脚上出现2个机器周期(即24个时钟周期)以上的高电平,使器件复位,只要RST保持高电平,MCS-51保持复位状态。

此时ALE、PSEN、P0、P1、P2、P3口都输出高电平。

RST变为低电平后,退出复位,CPU从初始状态开始工作。

单片机采用的复位方式是自动复位方式。

对于MOS(AT89C51)单片机只要接一个电容至VCC即可。

在加电瞬间,电容通过电阻充电,就在RST端出现一定时间的高电平,只要高电平时间足够长,就可以使MCS-51有效的复位。

RST端在加电时应保持的高电平时间包括VCC的上升时间和振荡器起振的时间,Vss上升时间若为10ms,振荡器起振的时间和频率有关。

10MHZ时约为1ms,1MHZ时约为10ms,所以一般为了可靠的复位,RST在上电应保持20ms以上的高电平。

RC时间常数越大,上电RST端保持高电平的时间越长。

若复位电路失效,加电后CPU从一个随机的状态开始工作,系统就不能正常运转。

2.5.6AD转换电路

A/D转换器是用来通过一定的电路将模拟量转变为数字量。

  模拟量可以是电压、电流等电信号,也可以是压力、温度、湿度、位移、声音等非电信号。

但在A/D转换前,输入到A/D转换器的输入信号必须经各种传感器把各种物理量转换成电压信号。

  A/D转换后,输出的数字信号可以有8位、10位、12位和16位等。

  A/D转换器的工作原理主要介绍以下三种方法:

  逐次逼近法

双积分法

电压频率转换法

AD转换四步奏:

采样、保持、量化、编码。

AD转换技术指标:

1)分辩率(Resolution)指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2^n的比值。

分辩率又称精度,通常以数字信号的位数来表示。

  2)转换速率(ConversionRate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。

积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。

采样时间则是另外一个概念,是指两次转换的间隔。

为了保证转换的正确完成,采样速率(SampleRate)必须小于或等于转换速率。

因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。

常用单位是ksps和Msps,表示每秒采样千/百万次(kilo/MillionSamplesperSecond)。

  3)量化误差(QuantizingError)由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。

通常是1个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。

  4)偏移误差(OffsetError)输入信号为零时输出信号不为零的值,可外接电位器调至最小。

  5)满刻度误差(FullScaleError)满度

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1