系统的整体结构框图如图2-1所示,主要由STC89C52单片机最小系统、水位检测电路、水位指示电路、温度检测电路、按键电路、LED显示电路、水泵驱动电路和加热装置驱动电路几大部分组成。经过合理的软件设计,可以实现系统的功能,下面详细地介绍一下系统结构框图及系统所实现的功能[7]。
水位检测电路和温度检测电路是本系统的核心,通过这两个电路可以检测出环境的温度以及水位的高度,水位高度分为4档,当到达对应水位高度时,指示灯发光。若未达到设定的水位高度时,由单片机发控制命令控制水泵给系统加水。温度传感器实时检测环境的温度,并控制加热装置动作,直到温度到达设定值。按键电路用于设定水位高度的大小以及环境温度的预设值,手动/自动加热,加水切换,以及手动模式下,控制水泵和加热装置工作。LED数码管显示电路用于显示温度和水位高度的变化,以及温度和水位高度的预设值。当水位低于1档水位时,启动报警电路以作提醒。
图2-1系统整体结构框图
2。3 单片机最小系统
本次设计选用的单片机型号为STC89C52单片机的最小系统包括可靠的时钟电路和复位电路和电源电路,下面对STC89C52单片机、复位电路、晶振电路及电源电路作简单地介绍。
2。3。1 STC89C52单片机简介源G于J优L尔V论N文M网WwW.youeRw.com 原文+QQ75201`8766
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程的Flash存储器。与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52在众多嵌入式控制应用系统中得到广泛应用[5]。
STC89C52单片机具有如下特点:40个外部引脚,8k Bytes Flash片内程序存储器,256 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,3个16位可编程定时计数器,1个全双工串行通信口(UART),看门狗(WDT)定时器,片内时钟振荡器。该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同场合的需求。其引脚图(PDIP封装形式)如图2-2所示。
图2-2 STC89C52单片机引脚图
STC89C52单片机各引脚说明如下:
VCC:单片机电源正端输入,一般接+5V。
VSS:电源地端。
XTAL1:单片机最小系统时钟的反向放大器输入端。
XTAL2:系统时钟的同向放大器输出端,一般在使用设计时只要在XTAL1和XTAL2上接上一个12M或者11。0592M的石英振荡晶体就可以保证系统正常工作,此外还可以将两个20PF-40PF的小电容分别与这两个引脚相连,电容另一端接在一起再接地,这样能够保证系统更稳定。
RESET:单片机的复位引脚,高电平起作用,作用是使系统稳定复位,当要求对芯片复位时,只须将此引脚的电平提升至高电平并保持两个或两个以上的机器周期,STC89C52单片机就可以完成系统的稳定复位,将地址向量重置到起始地址 0000H处,并开始重新读入程序代码循环执行设定的操作。
EA/VPP:“EA”是英文“External Access”的缩写,表示的意思为存储外部程序代码,低电平有效。具体地说当引脚为低电平后,系统便会调用外部的程序代码(存储在外部EPROM中)来执行程序代码。
P0口(P0。0―P0。7):端口0是一个8位长度的漏极开路(Open Drain)双向输入/输出端口,共有8位,P0。0表示第0位,也就是最低位;P0。1表示第1位;依此类推,P0。7表示第7位,也就是最高位。而其他三组I/O端口(P1、P2、P3)不具有此电路组态,而是内部已接有上拉电阻,将电平拉高。P0在当做I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0―A7)及数据总线(D0―D7)。设计者必须外加一个锁存器将端口0送出的地址锁住成为A0―A7,再配合端口2所送出的A8―A15合成一个完整的16位地址总线,而定位地址到64K的外部存储器空间。