网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 交易代码 > 课程设计 > 正文

单片机花卉温室控制系统

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
单片机花卉温室控制系统
Abstract
 
   Along with get into over 21st century, the our country half-hardy industry gets a fast fierce development, regard flower as principle of conduct and actions appreciate with the plant facilities of the gift educate in the big river south north to bloom all over the place, facilities horticulture is seen make is the new industry which has vitality most for 21 centuries.Glasshouse is appreciate a plant cultivation to produce medium essential to have of one of the facilities, different category's appreciating flower's request to temperature also doesn't exert a homology.
 
Computers have been used to control the environment of the glasshouse with the further development of computer. Control system is made up of central control system, terminal control equipment and sensors. A management program that contains best conditions for each growing stage should be made first. Then it should be stored in the computer memory. Computer affirms and mod the character for each glasshouse according to the management program, and then send orders to the terminal control equipment. The terminal control equipment sends test information to the central control system, and then sends control signals to make electronic mechanical equipment work by orders from central control system. Finally the control of environment is completed. This system automatically can control heating, cooling, increasing humidity, irrigating, and ventilating. Dependent on needs, information is sent to central control part by keyboard so that the environment can be regulated at any time.The use of glasshouse environment automatic control system in the large modern glasshouse is reflection of high technology in growing.
 
This article will use 8031 monolithic integrated circuits for thetemperature control basic principle example, will design in areal-time control greenhouse the temperature greenhouse temperaturecontrol system. The goal is studies one kind using graduation projectthis period of time to use 8031 monolithic integrated circuits tocarry on the control to the greenhouse temperature the method. 
Keyword: Single-chip computer 、Glasshouse、Temperature 、 Transducer
摘  要
 
进入21世纪以来,我国园艺产业得到迅猛的发展,以花卉为主的作为观赏和礼品的植物设施栽培在大江南北遍地开花,设施园艺被看作是21世纪最具活力的新产业。温室是观赏植物栽培生产中必不可少的设施之一,不同种类观赏花卉对温度的要求也不尽相同。
随着现代科技的发展,电子计算机已用于控制温室环境。控制系统由中央控制装置、终端控制设备、传感器等组成。先编制出温室花卉各生育阶段最适环境条件的管理程序表,存储于电子计算机的记忆装置中,电子计算机根据程序表确认、修正各栋温室内的参数,并给终端控制系统指令。终端控制设备向中央控制装置输送检测信息,根据中央控制装置的指令输出控制信号,使电器机械设备执行动作,实现温室环境调节。该系统可自动控制加热、降温、加湿、灌溉、通风。根据需要,通过键盘将信息输入中央管理室,根据情况可随时调节环境。温室环境自动化控制系统在大型现代化温室的利用,是设施栽培高新技术的体现。
本文将使用8031型单片机对温度控制的基本原理实例化,设计一个实时控制花房内的温度的花房温度控制系统。目的是利用毕业设计的这段时间学习一种利用8031型单片机对花房温度进行控制的方法。 
关键字: 单片机、温室、温度、传感器  12
 

单片机花卉温室控制系统
一    前  言
1、课题背景
 随着农业现代化的发展,设施园艺工程因其涉及学科广、科技含量高、与人民生活关系密切,己越来越受到世界各国的重视。这也为我国大型现代化温室的发展提供了极好的机遇,并产生巨大的推动作用。我国的现代化温室是在引进与自我开发并进的过程中发展起来的。
2、国内外温室控制技术发展概况
温室是一种可以改变植物生长环境、为植物生长创造最佳条件、避免外界四季变化和恶劣气候对其影响的场所。它以采光覆盖材料作为全部或部分结构材料,可在冬季或其他不适宜露地植物生长的季节栽培植物。温室生产以达到调节产期,促进生长发育,防治病虫害及提高质量、产量等为目的。而温室设施的关键技术是环境控制,该技术的最终目标是提高控制与作业精度。随着农业现代化的发展,设施园艺工程因其涉及学科广、科技含量高、与人民生活关系密切,己越来越受到世界各国的重视。这也为我国大型现代化温室的发展提供了极好的机遇,并产生巨大的推动作用。我国的现代化温室是在引进与自我开发并进的过程中发展起来的。国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温室控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。从国内外温室控制技术的发展状况来看,温室环境控制技术大致经历三个发展阶段:   (1) 手动控制。  (2) 自动控制。  (3) 智能化控制。
3、立题的目的和意义.    温室是观赏植物栽培生产中必不可少的设施之一,温度是影响花卉生长发育最重要的因子之一。植物生长的温度范围以15—35摄氏度最适。为它们提供一个更适宜其生长的封闭的、良好的生存环境,以提早或延迟花期,最终将会给我们带来巨大的经济效益。随着现代科技的发展,电子计算机已用于控制温室环境。控制系统由中央控制装置、终端控制设备、传感器等组成。先编制出温室花卉各生育阶段最适环境条件的管理程序表,存储于电子计算机的记忆装置中,电子计算机根据程序表确认、修正各栋温室内的参数,并给终端控制系统指令。终端控制设备向中央控制装置输送检测信息,根据中央控制装置的指令输出控制信号,使电器机械设备执行动作,实现温室环境调节。该系统可自动控制加热、降温、通风。;温室环境自动化控制系统在大型现代化温室的利用,是设施栽培高新技术的体现。
4、系统功能及操作说明    温度的检测及控制通过单片机来实现,用温度传感检测当前温度,用三位数码管显示当前温度值,通过按键可设置温度上限,温度下限,并保存到存储器中。当温度高于上限时,系统通过继电器控制外设给温室降温;当温度低于下限时,系统通过电炉给温室加温。                   
二   设计要求
1、单片机应用系统的设计原则
在应用系统设计中,软件、硬件紧密相关。多用硬件可减轻CPU负担,提高工作速度。多用软件可降低成本,但软件人员的工作量增大。对于一个应用系统,有些部分必须由硬件完成,有些部分必须由软件完成,对于软、硬件都可完成的交叉部分,应根据具体情况选择最佳方案,以达到最佳性能价格比。单片机应用开发步骤:
选题        总体设计       硬件、 软件设计。
(1)硬件设计的基本原则
①经济合理
系统硬件设计中,一定要注意在满足性能指标的前提下,尽可能地降低价格,以便得到高的性能价格比,这是硬件设计中优先考虑的一个主要因素,也是一个产品争取市场的主要因素之一。
②安全可靠
选购设备要考虑环境的温度、湿度、压力、振动、粉尘等要求,以保证在规定的工作环境下,系统性能稳定、工作可靠。要有超量程和过载保护,保证输入、输出通道正常工作。要注意对交流市电以及电火花等的隔离。要保证连接件的接触可靠。
③有足够的抗干扰能力
有完善的抗干扰措施,是保证系统精度、工作正常和不产生错误的必要条件。例如强电与弱电之间的隔离措施,对电磁干扰的屏蔽,高输入阻抗下的防止漏电等。
(2)软件设计的基本原则
①结构合理
程序应该采用结构模块化设计。这不仅有利于程序的进一步扩充,而且也有利于程序的修改和维护。
②操作性能好,使用方便
③具有一定的保护措施
系统应设计一定的检测程序,例如状态检测和诊断程序,以便系统发生故障时,便于查找故障部位。对于重要的参数要定时存储,以防止因掉电而丢失数据
④提高程序的执行速度
⑤给出必要的程序说明,例如
a.    MS-DOS6.22以上的操作系统;
b.通过MSC-51单片机仿真开发系统软件包;
c.电路设计CAD软件包。
2、系统要求
(1)技术指标
①温室由2kw电炉加热,最高温度为35℃。
②温室温度可预置,过程是恒温控制,温度控制误差≤±10℃。
③预置是显示设定温度,停止加热时显示实时温度,显示精度到1℃。
④温度超出预置温度±10℃时发出报警。
⑤对升降温过程的线性没有要求。
⑥对温室的湿度没有要求。
(2)控制方案
产品的工艺不同,控制温度的精度也不同,因而所采用的控制算法也不同。就温度控制的动态特性来讲,基本上都是具有纯滞后的一阶环节,当系统精度及温控的线性性能要求较高时,多采用 PID 算法或达林顿算法来实现温度控制。
本系统是一个典型的闭环控制系统。从技术指标可以看出,系统对控制精度的要求不高,对升降温过程的线性也没有要求,因此,系统采用最简单的通断控制方式,即当温室温度达到设定值时断开加热电炉,当温度将到低于某值时接通电炉开始加热,从而保持恒温控制。
3、系统分析和总体设计
(1)总体方案设计
可参考国内外有关资料,分析同类项目、产品的优缺点,找出可借鉴之处。若没有,应首先从理论上分析、探讨实现的可能性方案,根据客观条件如环境、测试手段、仪器设备、资金成本等,选择一种最佳方案。
(2)确定技术指针
总体方案确定后,可参考国内外同类项目、产品,提出合理可行的技术指针。主要技术指针是系统设计的依据和出发点,此后的整个设计与开发过程都将围绕他们进行。
(3)具体方案设计
将总体设计方案具体化、细化。画出各部分功能框图,大致给出各框图的实现方法,明确哪些部分由软件完成。由于硬件结构与软件方案会相互影响,因此,从简化电路结构、降低成本、减少故障率、提高系统的灵活性与通用性方面考虑,提倡软件能实现的功能尽可能由软件来完成,但也考虑到以软件代替硬件的实质是以降低系统实时性、增加处理时间为代价的,而且软件设计引用、研制周期也将增加。因此系统的软、硬件功能分配应根据系统的要求及实际情况合理安排。
4、设计任务书要求
(1)目录。
(2)系统设计思路。
(3)单元电路设计及相关应用软件。
(4)收获体会。
(5)参考资料。
 

单片机花卉温室控制系统
三   元器件介绍
1、单片机的选择
(1)、单片机的主流系列及机型选择
   ①Intel公司的MCS-48(8位机):8位CPU,并行I/O口,8位定时/计数器寻址范围不大于4k,且无串行口,属于初级单片机,功能小,易于控制。
②Intel公司的MCS-51(8位机):多级中断处理系统,8位定时/计数器。RAM,ROM寻址范围可达64k字节,且带有串行I/O口,此类单片机应用领域极其广泛。且货源充足,其在国内的主流的地位有可能稳定一个相当时期。
③Intel公司的MCS-96(16位机):多级中断处理系统。16位定时/计数器。并行I/O口扩展,且带有串行口,属于高档单片机,功能强大,性能稳定,是今后单片机发展的主体方向。
因考虑频率的显示程序中需使用串行输出,而MCS-48系列无串行口,且寻址范围过小,故不易实现产品的功能,MCS-51系列单片机功能全面 ,可靠性高,容易达到产品的性能指标,且货源充足,性能价格比较高。MCS-96虽功能强大 ,但本次设计频率计软件对单片机性能要求较低,且MCS-96价格昂贵故MCS-51系列能基本满足要求,是首要选择。MCS-51系列单片机组成框图如图1所示: 若图片无法显示请联系QQ3710167 
 
图1  MCS-51系列单片机组成框图
MCS-51系列中又以8031、8051、8751为代表。它们之间最大的差别在于片内ROM的供应状态。在8051和8751中,片内有4k字节的ROM/EPROM,而8031片内无ROM/EPROM,故如选择 8031,片外必须扩展EPROM,由于8031相对8051、8751供应状态相对充足,且性价比较高,故本设计中选用8031单片机作为控制芯片。
(2)8031单片机采用40引脚双列直插封装(DIP)形式,对于CMOS单片机除采用DIP形式外,还采用方形封装工艺。它的引脚图如图2所示:
若图片无法显示请联系QQ3710167
 图2    MCS-51系列单片机的引脚图
由于受到引脚数目的限制,所以有一些引脚具有第二功能。在单片机的40条引脚中,有两条专用于主电源的引脚,两条外接晶体的引脚,四条控制和其它电源复用引脚,32条输入/输出引脚。下面分别说明这些引脚的名称和功能:
①主电源引脚:Vcc和Vss
   Vcc(40脚):正常操作、对EPROM编程和验证时接+5V电源。
   Vss(20脚):接电源地。
②时钟电路引脚:XTAL1和XTAL2
    XTAL1(19脚):内部晶体振荡电路的反相放大器的输入端。使用内部振荡电路
时接外部石英晶体和微调电容的一端;使用外部时钟时,该引脚接地
    XTAL2(18脚):内部晶体振荡电路的反相放大器的输出端。使用内部振荡电路时,接外部石英晶体和微调电容的另一端;使用外部时钟时,该引脚用于输入外部时钟脉冲。
③ 控制信号引脚: RST/Vpd(9脚),RST为复位信号输入端,在该引脚上保持两个机器周期(24个部RAM备用电源输入端。当主电源Vcc一旦发生掉电或电压降低到一定值时,可通过Vpd是为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使主电源恢复后能继续正常运行。
④ ALE/ (30脚):地址锁存器使能输出/编程脉冲端。当CPU访问外部存储器时ALE的输出作为外部锁存地址的低位字节的控制信号,当不访问外部存储器时,ALE端仍以1/6的时钟振荡频率固定地输出正脉冲。另外,在对MCS8051片内EPROM编程(固化)时,此引脚用于输入编程脉冲( )。
⑤  (29脚):程序存储允许输出。是片外部程序存储器ROM的读选通信号。从片外程序存储器取数时,每个机器周期内 激发两次(然后,当执行片外程序存储器存取时, 在每次存取片外数据存储器时,有两个脉冲是不出现的)。从内程序存取时不激发 。
    对8031而言,访问外部程序存储器时,将PC的十六位地址输出到P2口和P0口外部的地址寄存储器后, 产生负脉冲选通片外程序存储器。相应的存储单元的指令字节送到P0口,供8031读取。
⑥ /Vpp(31脚):外部访问允许/编程电源输入。当 端输入高电平时,CPU执行程序。低4KB(0000H—0FFFH)地址范围内,访问片内程序存储器,在程序计数器PC的值超过4KB地址时,将自动转向执行片外程序存储器的程序。当EA输入低电平时,CPU仅访问片外程序存储器。
  ⑦输入/输出(I/O)引脚:P0,P1,P2和P3。
P0口(P0.0—P0.7):第一功能是作8位漏极开路型的双向I/O端口;第二功能是在访问外部存储器时,分时作低8位地址总线和8位数据总线使用。在对8031片内EPROM进行编程和效验时,P0口用于传送低8位地址和编程代码。P0口每位都能驱动8个LSTTL负载。
    P1口(P1.0—P1.7):作内部带上拉电阻的8位准双向I/O口线。P1口每位能驱动4个LSTTL负载。
    P2口(P2.0—P2.7):第一功能是作内部带上拉电阻的8位准双向I/O端口;第二功能是在访问外部存储器时,作高8位地址总线。在对8031片内EPROM进行编程和效时,P2.7、P2.6用于操作方式控制,P2.3—P2.0接收高4位地址(4KB EPROM需12位地址P2口每位能驱动4个LSTTL负载。
   P3口(P3.0—P3.7):P3口是8位准双向I/O端口,它是一个复用功能口。作为第一功能 使用时,为普通I/O口,作为第二功能使用时,各引脚的定义如表1。
表1  P3口各线的第二功能表





P3口

特殊功能

说明


P3.0

RXD

串行输入口


P3.1

TXD

串行输出口


P3.2



外部中断0请求输入线


P3.3



外部中断1请求输入线


P3.4

T0

定时器/计数器0外部计数脉冲输入线


P3.5

T1

定时器/计数器1外部计数脉冲输入线


P3.6



           外部数据存储器写脉冲输出线


P3.7



外部数据存储读脉冲输出线
(3)总线结构
①地址总线:地址总线宽度为16位。
②数据总线:总线宽度为8位,由P0口提供P0.0—P0.7。
③控制总线:由P3口第二功能状态和4根独立控制线 组成。
主要性能
l    内部程序存储器:4KB
l    内部数据存储器:128B
l     外部程序存储器:可扩展到64KB。
l     外部数据存储器:可扩展到64KB。
l     并行口输入/输出线:32根(4个端口,每个端口8根)。
l     定时/计数器:2个16位可编程的定时计数器。
l     串行口:全双工,二根。
l     寄存器区:在内部数据存储器的128KB中划出一部分作为寄存器区,分为四个区,每个区8个通用寄存器。
l     中断源:5个中断源,2个优先级别。
l     布尔处理机:即位处理机,对某些单元的某位做单独处理
    指令系统(系统时钟为12MHZ时):大部分指令执行时间为1us;少部分指令执行时间为2us; 只有乘、除指令的执行时间为4us。        
2、温度传感器
    在本次的设计中,我所采用的是热电阻。热电阻测温的基础是大多数金属导体的电阻率温度升高而增大,具有正的温度系数。在工业上广泛应用的热电阻温度计一般用来测量-200~+500℃范围的温度,随着科学技术的发展热电阻温度计的测量范围低温端可达1K左右,高温端可测到1000℃。热电阻温度计的特点是精度高,适宜于测低温。在560℃以下的温度测量时,它的输出信号比热电偶容易测量。
 (1) 纯金属是热电阻的主要制造材料,热电阻的材料应具有以下的特性:
①        电阻温度系数要大而且稳定,电阻值与温度之间应具有良好的线性关系。
②        电阻率高,热容量小,反应速度快。
③        材料的复现性和工艺性好,价格低。
④        在测温范围内化学物理特性稳定。
(2)铂电阻
目前,在工业中应用最广的铂和铜,并已制作成标准温热电阻。铂电阻的特点是精度高,稳定性好,性能可靠。铂在氧化性气氛中,甚至在高温下的物理、化学性质都非常稳定。因此铂被公认为是目前制造热电阻的最好材料。铂电阻与温度之间的关系接近于线性,在0630.74℃范围内可用下式表示:Rt=R0(1+At+Bt^2) 。                 在-190~0℃范围内为  Rt=R0(1+At+Bt^2+Ct^3)。该式中,R0、Rt为温度0时铂电阻的电阻值,t为任意温度,A、B、C为温度系数,由实验确定,A=3.9684*10-3/℃,B=-5.847*10^-7/℃,C=-4.22*10^-12/℃。由上面的两个式子可以看出,当R0值不同时,在同样的温度下,其Rt值也不同。目前国内统一设计的一般工业用标准铂电阻值R0有100欧和500欧两种,并将电阻值Rt与温度t的相应关系统一列成表格称其为铂电阻的分度表,分度号分别用Pt100和Pt500表示。
铂电阻在常用的热电阻中准确度最高,国际温标ITS-90中还规定,将具有特殊构
 
单片机花卉温室控制系统
造的铂电阻作为13.5033K-961.78℃标准温度计来使用。铂电阻广泛应用于-200~850℃范围内的温度测量,工业中通常在600℃以下。
3、ADC0809介绍
A/D转换电路很多,选择A/D转换器件主要从速度.精度和蔼价格等方面行考虑,根据A/D转换器的工作原理,可以分为下面的三种类型:
①并行A/D变换器:速度高,价格也很昂贵,用于高速(如视频处理场合)。
②逐次逼近型A/D转换器:精度速度价格方面比较折衷,是最常用的一种A/D转换器。
③双积分型A/D转换器:精度高,抗干扰能力強,价格低,但是速度慢,常用于測量仪表等场合。
(1)ADC0809转换器及其接口
ADC0809是8位CMOS逐次逼近式A/D转换器。内部有8 路模拟量输入和8 位数字量输出的A/D转换器,它是美国国家半导体公司的产品,是目前国内最广泛的8 位通用的A/D转换的芯片。其内部结构图如下图3所示。
片内带有锁存功能的8路模拟多路开关,可对8路输入模拟信号分时转换,具有多
路开关的地址译码和锁存电路、8位A/D转换器和三态输出锁存器等。
下图4是逐次逼近式ADC的工作原理.由图4可见,ADC由比较器,D/A转换器,主次逼近寄存器和控制逻辑组成。
在时钟脉冲的同步下,控制逻辑先使N位寄存器的D7位置1(其余位为0),此时该寄存器输出的内容为80H,此值经DAC转换为模拟量输出VN,与待转换的模拟输入信号VIN相比较,若VIN大于等于VN,则比较器输出为1.于是在时钟脉冲的同步下,保留D7=1,并使下一位D6=1,所得新值(C0H)再经DAC转换得到新的VN,再与VIN比较,重复前述过程.反之,若使D7=1后,经比较,若VIN小于VN,则使D7=0,D6=1,所得新值VN再与VIN比较,重复前述过程.依次类推,从D7到D0都比较完毕,转换便结束.转换结束时,控制逻辑使EOC变为高电平,表示A/D转换结,此时的D7~D0即为对应于模拟输入信号VIN的数字量.
若图片无法显示请联系QQ3710167
图3  ADC0809结构图
若图片无法显示请联系QQ3710167
图4   逐次逼近式ADC的转换原理
(2)ADC0809采用双列直插式封装,共有28条引脚,如图5所示。
                      若图片无法显示请联系QQ3710167
图5    ADC0809引脚图
①IN0--IN7
IN0—IN7为8 路模拟电压输入线,用于输入被转换的模拟电压
②ADDA,ADDB,ADDC
三位地址输入端。八路模拟信号转换选择同由ABC决定。A为低位,C为高位。
A、B、C三位地址的输入与8路通道的对应关系如下:





 ABC三位地址的输入与8路通道的对应关系


地址
编码

C

0

0

0

0

1

1

1

1


B

0

0

1

1

0

0

1

1


A

0

1

0

1

0

1

0

1


选中通道

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7
③CLK
外部时钟输入端,时钟频率高,A/D转换速度快。允许范围为10--1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。通常由MCS-51型单片机ALE端直接或分频后与其相连。当MCS-51型单片机无读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片机外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。
④D0--D7
数字量输出端,A/D转换的结果由这几个端口输出。
⑤OE
A/D转换结果输出允许控制端,当OE端为高电平时,允许将A/D转换结果从D0--D7端输出。通常由MCS-51型单片机的RD端和ADC0809片选端(例如P2.0),通过或非门与ADC0809的OE端相连接。当DPTR为FEFFH,且执行“MOVX A,@DPTR”  指令后,RD和P2.0均有效,或非后产生高电平,使ADC0809的OE端有效,ADC0809将A/D转换的结果送入数据总线P0口,CPU在读入中。
⑥ ALE
地址锁存允许信号。八路模拟通道地址由A,B,C输入在ADC0809的ALE信号有效时,将该八路地址锁存。
⑦START
启动A/D转换信号。当START端输入一个正脉冲时,立即启动ADC0809进行A/D转换。START端与ALE 端连在一起,由MSC-51型单片机WR和ADC0809片选端(例如P2.0)。通过或非门连接,当DPTR为FEF8H时,执行“MOVX  @DPTR,A”指令后,将启动ADC0809模拟通道0的A/D转换。FEF8H~FEFFH分别为八路模拟输入通道的地址。执行MOVX写指令,并非真的将A中的内容写进ADC0809 中,ADC0809中没有一个寄存器,能容纳的A中的内容。ADC0809的输入通道是IN0~IN7,输出通道是D0~D7,因此,执行:“MOVX  @DPTR,A”指令与A中内容无关,但DPTR地址应指向当前A/D的通道地址。
⑧EOC
A/D转换结束信号。当ADC0809启动A/D转换后,EOC输出低电平,转换结束后,EOC输 出高电平,表示可以读取A/D转换的结果。该信号取反后若与MCS-51型单片机引脚INT0或INT1连接,可引发CPU中断,在中断服务程序中读A/D转换的数字信号,若与MCS-51型单片机两个中断源已用完,则EOC也可与P1口或P3口的一条端线相连,不采用中断方式,采用查询方式,查得EOC为高电平后,再读入A/D转换的值。
⑨ VREF+,VREF-
正负基准电压输入端。正基准电压的典型值为+5V,可与电源电压+5V相连,但电源电压往往有一定的波动,将影响A/D转换的精度。因此,精度要求较高时,可用高稳定基准电源输入。当模拟信号电压较低时,基准电压也可取低于5V的数值。
⑩ VCC,GND:正电源电压端和地端。
4、七段码LED显示器
    LED数码管是由发光二极管作为显示字段的数码型显示器件。图6(a)为0.5inLED数码管的外形和引脚图,其中七只发光二极管分别对应a~g笔段构成八字形另一只发光二极管Dp作为小数点。因此这种LED显示器称为七段数码管或八段数数码。
LED数码管按电路中的连接方式可以分为共阴型和共阳型两大类。共阳型是将各段发光二极管的正极连在一起,作为公共端COM,公共端COM接高电平,a~g、Dp各笔段通过限流电阻接控制端。某笔段控制端低电平时,该笔段发光,高电平时不发光。控制某几段笔段发光,就能显示出某个数码或字符。LED的共阳极的结构图如图6(b)所示。
若图片无法显示请联系QQ3710167
LED数码管按其外形尺寸有多种形式,使用较多的是0.5in和0.8in;按显示颜色也有多种形式,主要有红色和绿色;按亮度强弱可分为高亮和普亮,指通过同样的电流显示亮度不一样,这是因发光二极管的材料不一样而引起的。
LED数码管的使用与发光二极管相同,根据其材料不同正向压降一般为1.5~2V额定电流为10mA,最大电流为40mA。静态显示时取10mA为宜,动态扫描显示可加大,可脉冲电流,但一般不超过40mA。
LED数码管编码方式
当LED数码管与单片机相连时,一般将LED数码管的各笔段引脚a、b、…、g、Dp按某一顺序接到MCS-51型单片机某一个并行I/O口D0、D1、…、D7,当该I/O口输出某一特定数据时,就能使LED数码管显示出某个字符。例如要使共阳极LED数码管显示“0”,则abcdef各笔段引脚为低电平,g和Dp为高电平,如2表所示。
表2  共阳极LED数码管显示数字“0”时各管段编码





D7

D6

D5

D4

D3

D2

D1

D0

字段码

显示数


Dp

g

f

e

d

c

b

a

 

 


1

1

0

0

0

0

0

0

C0H

0
C0H称为共阳LCD数码管显示“0”的字段码,不计小数点的字段码称为七段码,包括小数点的字段称为八段码。
LED数码管编码方式按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、…、g、Dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。甚至在某些特殊情况下将a、b、…、g、Dp顺序打乱编码。下表3为共阴和共阳LED数码管几种八段编码表。
表3  共阴和共阳LED数码管几种八段编码





 

共阴顺序小数点暗`

共阴逆序小数点暗

共阳顺序
小数点亮

共阳顺序
小数点暗


Dp g f e d c b a

16进制

a b c d e f g dp

16进制


0

0 0 1 1 1 1 1 1

3FH

1 1 1 1 1 1 0 0

FCH

40H

C0 H


1

0 0 0 0 0 1 1 0

06H

0 1 1 0 0 0 0 0

60H

79H

F9 H


2

0 1 0 1 1 0 1 1

5BH

1 1 0 1 1 0 1 0

DAH

24H

A4 H


3

0 1 0 0 1 1 1 1

4FH

1 1 1 1 0 0 1 0

F2H

30H

B0 H


4

0 1 1 0 0 1 1 0

66H

0 1 1 0 0 1 1 0

66H

19 H

99 H


5

0 1 1 0 1 1 0 1

6DH

1 0 1 1 0 1 1 0

B6H

12 H

92 H


6

0 1 1 1 1 1 0 1

7DH

1 0 1 1 1 1 1 0

BEH

02 H

82 H


7

0 0 0 0 0 1 1 1

07H

1 1 1 0 0 0 0 0

E0H

78 H

F8 H


8

0 1 1 1 1 1 1 1

7FH

1 1 1 1 1 1 1 0

FEH

00 H

80 H


9

0 1 1 0 1 1 1 1

6FH

1 1 1 1 0 1 1 0

F6H

10 H

90 H
LED数码管显示方式和典型应用电路
LED数码管显示电路在单片机应用系统中可分为静态显示方式和动态显示方式。
(1)静态显示方式
此时,每一位显示器的字段需要一个8位I/O口控制,而且该I/O口须有锁存功能,N位显示器就需要N个8位I/O口,公共端可直接接+5V(共阳)或接地(共阴)。显示时,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新显示为止。       (2)动态扫描显示方式
当要求显示位数较多时,为了简化电路、降低硬件成本,通常采用动态扫描显示电路。所谓动柘允镜缏肥墙允靖魑坏乃邢嗤侄蜗吡谝黄穑恳晃坏腶段连在一起,b段连在一起…g段连在一起,共8段,由一个8位I/O口控制,而每一位的公共端(共阳或共阴COM)由另一个I/O口控制,如图7所示。若图片无法显示请联系QQ3710167
 

单片机花卉温室控制系统
这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。因此,要想显示不同的内容。必须采取轮流显示的方式。即在某一瞬间时,只让某一位的字位线处于选通状态,其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位暗。同样在下一瞬时,单独显示下一样,这样依次轮流显示,循环扫描。由于人的视觉滞留效应,人们看到的是多位同时稳定显示。
5、74LS164介绍
74LS164串行输入并行输出移位寄存器,本设计用74LS164把输入的串行数转换成并行数输出。
若图片无法显示请联系QQ3710167
                               图8   74LS164引脚图
其引脚图如图8所示,功能如下:
A B:串行输入端;   Q0~Q7:并行输出端;   CLR:清零端,低电平有效;   CK:时钟脉冲输入端,上升沿有效。
6、EPROM2764A介绍
EPROM2764的容量为8K*8位.8K表示有8*1024个存储单元,8位表示每个单元存储数据的宽度是8位.前者确定了地址的位数是12位(A0~A11),后者确定了数据的位数是8位(O0~O7).目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器.2764采用单一+5V供电,最大静态工作电流为100mA维持电流为35mA,读出时间最大为250nS,2764的封装脚为DIP24,管脚如下图9所示,其中,A0~A12为地址线,Q0~Q7为数据线; CE为片选线;OE/VPP为输出允许/编程高压。
若图片无法显示请联系QQ3710167
图9     EPROM2764A引脚图
7、74LS373介绍
74LS373是常用的带三态门的8D锁存器。下图10所示为其结构框图和引脚图。当允许端G由高电平时,D端的数据被锁存到锁存器的输出端。当输出控制端OC-为低电平时,三态门开通,锁存器的内容输出到芯片输出端Q。
 
 
若图片无法显示请联系QQ3710167
        图10  (a)结构框图                      (b)引脚图
由于74LS373具有琐存功能,所以能用来作为顺态量的输入接口。
下图11所示为用74LS373扩展的选通输入口。当外设向单片机输入数据时,8位数据送到74LS373的输入端1D~8D,同时外设将一个通信号STB(正脉冲)送到74LS373的允许端G。在选通信号的下降沿,输入数据进入锁存器中,同时向MCS-51的INT0端发生中断请求。单片机响应中断后从74LS373读数。74LS373的口地址为0BFFFH。74LS373也可以用来扩展输出口。当MCS-51系列单片机的P0口扩展地址锁存器时,由于单片机的ALE信号正好可以直接用作74LS373的G端允许信号,因此经常使用74LS373作为MCS-51系列单片机的低8位地址锁存器,使P0口实现地址/数据总线的分时复用。
若图片无法显示请联系QQ3710167
                     图11     用74LS373扩展选通输入口
四  系统硬件设计
    系统的硬件电路包括主机、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分。图12为系统的结构框图。
人机对话部分






 
 

 






温度显示
 
       温度检测部分






变送器





热电阻





A/D转换器
 





键盘 
 
 
 
   
        温度控制部分       






声音报警





可控硅调功器





光耦





驱动器





电炉 
 
 
                        
 图12 温室控制系统结构框图
 
1、微处理器主机电路及扩展
本例对控制精度要求不高,控制功能一般,程序并不复杂。因此选择常用的MCS-51系列单片机中的8031作为CPU。8031的晶振频率为6MHz,片外程序存储器选用2764(8KB)作为EPROM。74LS373作低8位地址锁存器。估计能留有相当余量。因采集和处理的数据不多,估计数据存储器使用片内的即能满足要求。这样可以画出主机的电路图。图13所示为主机系统电路图。
         若图片无法显示请联系QQ3710167
图13     主机系统电路图
由于8031无片内ROM,故EA应接地,使用片外ROM。8031的P0口为低8位地址及数据总线的分时复用引脚,需要地址锁存器,将低8位的地址锁存后在接到2764A的A0—A7上。该电路采用74LS373作为地址锁存器,8031的地址锁存控制信号线ALE接锁存器控制端G,当ALE发生从高电平向低电平的跳变时,74LS373将低8位地址锁存后,P0与D0~D7口相连方可作为数据线使用。地址锁存控制信号ALE为高电平时,P2口输出高4位地址PCH,P0口输出低8位地址PCL;ALE下降为低电平后,P2口信息保持不变,而P0口将通过D0~D7来读取片外ROM中的指令。因此,低8位地址必须在ALE降为低电平之前由外部地址锁存器74LS373锁存起来。在PSEN输出负跳变选通片外ROM后,P0口转为输入状态,读入片外ROM的指令字节。
2、温度检测电路
 这部分包括温度传感器、变送器和A/D转换三部分。
    温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB-003,分度号为BA2的铂热电阻适应于0℃∽500℃的温度测量范围,可以满足本系统的要求。
变送器将电阻信号转换与温度成正比的电压,当温度在0℃∽500℃时变送器输出0∽4.9V左右的电压。
ADC0809与单片机的接口电路如图14 所示。由于ADC0809片内无时钟,故利用8031提供的地址锁存允许信号ALE经D触发器二分频后获得。ALE引脚的频率是单片机时钟频率的1/6,如果单片机时钟频率为6MHZ,则ALE引脚的频率是1MHZ。在经二分频后为500KHZ,所以ADC0809更加能可靠工作。
由于ADC0809具有输出三态锁存器,故其八位数据输出线可直接与单片机数据总线相连,单片机的低8位地址信号在ALE作用下锁存在74LS373输出的低3位信号夹道ADC0809的通道选择端A、B、C上,作为通道编码。单片机的P2.7作为片选信号,与WR进行或非操作,得到一个正脉冲,夹道ADC0809的ALE和START 引脚上。由于ALE和START连接在一起,因此ADC0809在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号RD和P2.7引脚经或非门后产生的正脉冲作为OE信号,用以打开三态输出锁存器。显然,上述操作时,P2.7应为低电平。ADC0809的EOC端经反相器连接到单片机的P3.3引脚,作为查询或中断信号。
这种连接方式由于将多位字段线连在一起,当输出字段码时,由于多门同时选通,每一位将显示相同的内容。因此,要想显示不同的内容。必须采取轮流显示的方式。即在某一瞬间时,只让某一位的字位线处于选通状态,其他各位的字位线处于开断状态,同时字段线上输出这一位相应要显示字符的字段码。在这一瞬时,只有这一位在显示,其他几位暗。同样在下一瞬时,单独显示下一样,这样依次轮流显示,循环扫描。由于人的视觉滞留效应,人们看到的是多位同时稳定显示。
5、74LS164介绍
74LS164串行输入并行输出移位寄存器,本设计用74LS164把输入的串行数转换成并行数输出。
若图片无法显示请联系QQ3710167
                               图8   74LS164引脚图
其引脚图如图8所示,功能如下:
A B:串行输入端;   Q0~Q7:并行输出端;   CLR:清零端,低电平有效;   CK:时钟脉冲输入端,上升沿有效。
6、EPROM2764A介绍
EPROM2764的容量为8K*8位.8K表示有8*1024个存储单元,8位表示每个单元存储数据的宽度是8位.前者确定了地址的位数是12位(A0~A11),后者确定了数据的位数是8位(O0~O7).目前,除了串行存储器之外,一般情况下,我们使用的都是8位数据存储器.2764采用单一+5V供电,最大静态工作电流为100mA维持电流为35mA,读出时间最大为250nS,2764的封装脚为DIP24,管脚如下图9所示,其中,A0~A12为地址线,Q0~Q7为数据线; CE为片选线;OE/VPP为输出允许/编程高压。
若图片无法显示请联系QQ3710167
图9     EPROM2764A引脚图
7、74LS373介绍
74LS373是常用的带三态门的8D锁存器。下图10所示为其结构框图和引脚图。当允许端G由高电平时,D端的数据被锁存到锁存器的输出端。当输出控制端OC-为低电平时,三态门开通,锁存器的内容输出到芯片输出端Q。
 
 
若图片无法显示请联系QQ3710167
        图10  (a)结构框图                      (b)引脚图
由于74LS373具有琐存功能,所以能用来作为顺态量的输入接口。
下图11所示为用74LS373扩展的选通输入口。当外设向单片机输入数据时,8位数据送到74LS373的输入端1D~8D,同时外设将一个通信号STB(正脉冲)送到74LS373的允许端G。在选通信号的下降沿,输入数据进入锁存器中,同时向MCS-51的INT0端发生中断请求。单片机响应中断后从74LS373读数。74LS373的口地址为0BFFFH。74LS373也可以用来扩展输出口。当MCS-51系列单片机的P0口扩展地址锁存器时,由于单片机的ALE信号正好可以直接用作74LS373的G端允许信号,因此经常使用74LS373作为MCS-51系列单片机的低8位地址锁存器,使P0口实现地址/数据总线的分时复用。
若图片无法显示请联系QQ3710167
                     图11     用74LS373扩展选通输入口
四  系统硬件设计
    系统的硬件电路包括主机、温度检测、温度控制、人机对话(键盘/显示/报警)4个主要部分。图12为系统的结构框图。若图片无法显示请联系QQ3710167
人机对话部分






 
 

 






温度显示
 
       温度检测部分






变送器





热电阻





A/D转换器
 





键盘 
 
 
   
        温度控制部分       






声音报警





可控硅调功器





光耦





驱动器





电炉 
 
                        
 图12 温室控制系统结构框图
 
1、微处理器主机电路及扩展
本例对控制精度要求不高,控制功能一般,程序并不复杂。因此选择常用的MCS-51系列单片机中的8031作为CPU。8031的晶振频率为6MHz,片外程序存储器选用2764(8KB)作为EPROM。74LS373作低8位地址锁存器。估计能留有相当余量。因采集和处理的数据不多,估计数据存储器使用片内的即能满足要求。这样可以画出主机的电路图。图13所示为主机系统电路图。
         若图片无法显示请联系QQ3710167
图13     主机系统电路图
由于8031无片内ROM,故EA应接地,使用片外ROM。8031的P0口为低8位地址及数据总线的分时复用引脚,需要地址锁存器,将低8位的地址锁存后在接到2764A的A0—A7上。该电路采用74LS373作为地址锁存器,8031的地址锁存控制信号线ALE接锁存器控制端G,当ALE发生从高电平向低电平的跳变时,74LS373将低8位地址锁存后,P0与D0~D7口相连方可作为数据线使用。地址锁存控制信号ALE为高电平时,P2口输出高4位地址PCH,P0口输出低8位地址PCL;ALE下降为低电平后,P2口信息保持不变,而P0口将通过D0~D7来读取片外ROM中的指令。因此,低8位地址必须在ALE降为低电平之前由外部地址锁存器74LS373锁存起来。在PSEN输出负跳变选通片外ROM后,P0口转为输入状态,读入片外ROM的指令字节。
2、温度检测电路
 这部分包括温度传感器、变送器和A/D转换三部分。
    温度传感器和变送器的类型选择与被控温度的范围及精度等级有关。型号为WZB-003,分度号为BA2的铂热电阻适应于0℃∽500℃的温度测量范围,可以满足本系统的要求。
变送器将电阻信号转换与温度成正比的电压,当温度在0℃∽500℃时变送器输出0∽4.9V左右的电压。
ADC0809与单片机的接口电路如图14 所示。由于ADC0809片内无时钟,故利用8031提供的地址锁存允许信号ALE经D触发器二分频后获得。ALE引脚的频率是单片机时钟频率的1/6,如果单片机时钟频率为6MHZ,则ALE引脚的频率是1MHZ。在经二分频后为500KHZ,所以ADC0809更加能可靠工作。
由于ADC0809具有输出三态锁存器,故其八位数据输出线可直接与单片机数据总线相连,单片机的低8位地址信号在ALE作用下锁存在74LS373输出的低3位信号夹道ADC0809的通道选择端A、B、C上,作为通道编码。单片机的P2.7作为片选信号,与WR进行或非操作,得到一个正脉冲,夹道ADC0809的ALE和START 引脚上。由于ALE和START连接在一起,因此ADC0809在锁存通道地址的同时也启动转换。在读取转换结果时,用单片机的读信号RD和P2.7引脚经或非门后产生的正脉冲作为OE信号,用以打开三态输出锁存器。显然,上述操作时,P2.7应为低电平。ADC0809的EOC端经反相器连接到单片机的P3.3引脚,作为查询或中断信号。
 
单片机花卉温室控制系统
A/D转换器件的选择主要取决于温度的控制精度。本系统要求温度控制误差≤±10℃,采用8位A/D转换器,其最大量化误差为±1/2(1/255*500)=±1℃,完全能够满足精度的要求。这里我们采用ADC0809作为A/D转换器。电路设计好后,调整变送器的输出,是0℃∽500℃的温度变化对应于0∽4.9V的输出,则A/D 转换对应的数字量为00H∽FAH,即0∽250,则转换结果乘以2正好是温度值。用这种方法一方面可以减少标度转换的工作量,另一方面还可以避免标度转换带来的计算误差。
3、温度的设定
独立式按键是直接I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O口线,每个按键的工作不讳影响其他I/O口下班的状态。独立式按键的典型应用如图15 所示。
独立式按键电路的配置灵活,软件结构简单,但每个按键必须占用一根I/O 口线,因此,在按键较多时,I/O口线浪费较大,不宜使用。图4-4 中按键输入均采用低电平有效,此外,上拉电阻保证了按键断开时,I/O口线有确定的高电平,当I/O口线内部有上拉电阻时,外电路可不接上拉电阻。
若图片无法显示请联系QQ3710167
 图15   独立式按键电路
温度的设定由键盘的按键来实现。它有独立式按键结构和矩阵式按键结构两种。键盘是由若干个按键组成的,它是单片机最简单的输入设备。操作员通过键盘输入数据或命令,实现简单的人机对话。由于键盘只设置3个功能键,分别是启动、“十位+”和“个位+”键,由P1口低3位作为键盘接口,此时,可采用独立式按键结构。利用+1按键可以分别对预置温度的十位和个位进行加1设置,并在数码管LED上显示当前设置值。连续按动相应位的加1键即可实现15℃∽35℃的温度设置。
按键就是一个简单的开关,当按键按下时,相当于开关闭合;当按键松开时,相当于开关断开。按键在闭合和断开时,触电会存在抖动现象。抖动现象和去抖电路如图16(a)和(b)。
按键的抖动时间一般为5~10ms,抖动可能造成一次按键的多次处理问题。应采取措施消除抖动的影响。消除办法有多种,常用软件延时10ms的方法。
在按键较少时,常采用图(b)所示的去抖电路。当按键未按下时,输出为“1”;当按键按下时,输出为“0”,即使在B位置时因抖动瞬时断开,只要按键不回A位置,输出就会仍保持为“0”状态。
当按键多时,常采用软件延时的办法。当单片机检测到有按键按下时,先延时10ms,然后再检测按键的状态,若仍是闭合状态,则认为真正有键按下。当检测到按键释放时,亦需要做同样的处理。
若图片无法显示请联系QQ3710167
图16     按键的抖动及消除电路
4、温度显示电路
本系统设有2位LED数码显示器,停止加热是显示设定温度,启动加热时显示当前温室温度采用串行口扩展的静态显示电路作为显示接口电路。图17所示为温度显示电路。
若图片无法显示请联系QQ3710167
图17     LED显示器接口电路
温度值采用LED数码静态串行输出显示,每30S刷新一次显示值。为了不再扩展并行I/O口,本例利用串行口的移位功能,扩展为2位静态显示电路。LED2显示十位温度值,LED1显示个位温度值。在单片机应用系统中,如果需要显示的内容只有数码和某些字母,使用LED数码管是一种较好的选择。LED数码管显示清晰、成本低廉、配置灵活,与单片机接口简单易行。
图中二片74LS164串联,能供给二位LED静态显示。每扩展一片164,可增加一位LED。CLR接+5V。用TXD控制CP信号,即当TXD=1时,CP端有移位脉冲,允许从RXD端将采集到CPU中的8位并行数据字节分成一位一位的形式逐个的传送到74LS164中,更新显示。当TXD=0时,CP=0,串行口不能输出数据,显示内容不变。
5、报警电路
    报警功能由蜂鸣器来实现。当由于意外因素导致温室温度高于设置温度时,P1.6口送出的低电平经反向器驱动蜂鸣器鸣叫报警。
6、电炉控制电路
电路控制采用可控硅来实现,双向可控硅和电炉电阻丝串接在交流220V市点回路中。单片机的P1.7口通过光电隔离器和驱动电路送到可控硅的控制端,由P1.7口的高低电平来控制可控硅的导通和断开, 控制电阻丝的通电加热时间。
对使用SCR的电路,在SCR阳极加上正向电压后,还必须在门极与阴极之间加上触发电压,SCR才能从阻断转变为导通,习惯称为触发控制,提供这个触发电压的电路称为SCR的触发电路。它决定每个SCR的触发导通时刻,是SCR装置中不可缺少的一个重要组成部分。
控制电路和主要电路的隔离通常是必要的,隔离可有光耦或脉冲变压器实现。
图18 所示是光耦隔离的SCR 驱动电路。当控制系统发出驱动信号到光耦输入端是,光耦输出电路中的R上的电压产生脉冲电流Ig触发SCR导通。
若图片无法显示请联系QQ3710167
图18    光耦隔离的SCR驱动电路
 若图片无法显示请联系QQ3710167
7、硬件原理图
  由上面所述可得到总的原理图如图19所示。
 

单片机花卉温室控制系统
五   系统软件设计
系统的操作过程和工作过程在程序的设计过程中起着很重要的指导作用,因此在软件设计之前应首先分析温室的工作流程。
1、工作流程
温室在上电复位后先处于停止加热状态,这时  用“+1”键设定预置温度,显示器显示预定温度;温度设定好后就可以按启动键启动系统工作了。温度检测系统不断定时检测当前温度,并送往显示器显示,达到预定值后停止加热并显示当前温度;当温度下降到下限(比预定值低于10℃)时再启动加热。这样不断重复上述过程,使温度保持在预定温度范围之内。启动后不能再修改预置温度,必须呆板复位/停止键回到停止加热状态再重新设定预置温度。
根据上面对工作流程的分析,系统软件可以分位以下几个功能模块:
①键盘管理:监测键盘输入,接受温度预置,启动系统工作。
②显示:显示设置温度及当前温度。
③温度检测及温度值变换:完成A/D转换及数字滤波。
④温度控制:根据检测到的温度控制电炉工作。
⑤报警:当预置温度或当前温度越限时报警。
2、资源配置
为了便于阅读程序,首先给出单片机资源分配情况。7;数据存储器的分配与定义见表4。
 
           表4   温度控制软件数据存储器分配表





地址

功能

名称

初始化值


51H

当前检测温度

TEMP0

00H


52H

预置温度

ST0

00H


53H,54H

码显示缓冲区

T10,T

00H


55H

二进制显示缓冲区

BT0

00H


59H∽7FH

堆栈区

 

 


 
PSW.5

报警允许标志
F0=0是禁止报警;F0=1允许报警

F0

0
程序存储器:EPROM2764的地址范围为0000H∽1FFFH
I/O口 :P1.0∽P1.3—键盘输入;P1.6、P1.7—报警控制和电炉控制。
A/D转换器0809:通道0∽通道7的地址为7FF8H∽7FFFH,使用通道0。
3、功能软件设计
(1)键盘管理模块
上电或复位后系统处于键盘管理状态,其功能是监测键盘输入,接收温度预置和启动键。程序设有预置温度合法检测报警,当预置温度超过25℃是会报警并将温度设定在25℃。键盘管理子程序流程图如图20所示。
若图片无法显示请联系QQ3710167
图20      键盘管理子程序流程图
键盘管理子程序KIN:
KIN:    ACALL     CHK       ;         预置温度合法性检测
         MOV       BT0,ST0  ;         预置温度送显示缓冲区
         LCALL     DISP      ;         显示预置温度
KINO:   ACALL     KEY       ;         读键值
         JZ        KIN0      ;         无键闭合和重新检测
         ACALL     DISP     
         ACALL     DISP      ;         二次调用显示子程序延时去抖
         ACALL     KEY       ;         再检测有无键按下
 JZ        KIN0      ;         无键按下重新检测
         JB        ACC.1,S1
         MOV       A,#10    ;          十位键按下
         AJMP      SUM
S1:     JB        ACC.2,S0
SUM:    ADD       A,ST0      ;       预置温度按键+1
MOV       ST0,A     
KIN1:   ACALL     KEY         ;       判断闭合键释放
JNZ       KIN1        ;       未释放继续判断
AJMP      KIN         ;       闭合键释放继续扫描键盘
S0:     JNB       ACC.0       ;       无键按下重新扫描键盘
RET                   ;       启动键按下返回
KEY;    MOV       A,P1       ;       读键值子程序
CPL       A
ANL       A,#0FH
RET
预置温度合法性检测子程序CHK:
CHK:     MOV      A,#19H      ;         预置温度上限送A
          CLR      C
SUBB     A,ST0      ;        相减,借位CY
JC       OUTA        ;        预置温度越界,转报警
ET
OUTA:    MOV      ST0,#19H   ;         将25℃写入预置温度数据区
          CLR      P1.6        ;         发报警信号0.6S
          ACALL    D0.6S   
          SETB     P1.6        ;         停止报警
          RET
(2)显示模块
显示子程序的功能是将缓冲区55H的二进制数据先转换成BCD码,分别存入个位和十位显示缓冲区53H,54H单元,然后通过串口送出显示。
   显示子程序DISP:
   DISP :     ACALL       HTB        ;将显示数据转换成BCD码
      若图片无法显示请联系QQ3710167         MOV         SCON,#00H ;置串行口为方式1
               MOV         R2,#02H   ;显示位数送R2
               MOV         R0,#T10   ;显示缓冲区首地址R0
   LD :       MOV         DPTR,#TAB ;指向字形码表首地址
               MOV         A,@R0      ;取显示数据
               MOVC        A,@A+DPTR  ;查表
               MOV         SUBF,A    ;字形码送串行口
  WAIT :      JBC         TI,NEXT   ;发送结束转下一个数据并清中断标志
               SJMP        WAIT       ;发送未完等待
  NEXT :      INC         R0         ;修改显示缓冲区指针
               DJNZ        R2,LD     ;判2位显示完毕,未完继续
               RET
 TAB :        …
BCD码转换成子程序HTB:
 HTB :        MOV         A,BT0     ;取二进制显示数据
               XCH         A,B
            若图片无法显示请联系QQ3710167   DIV         A,B
               MOV         T10,A     ;十位数送53H
               MOV         T,B       ;个位数送54H
               RET
(3)温度检测模块
A/D转换采用查询方式。为提高数据采样的可靠性,对采样温度惊醒数字滤波。数字滤波的算法很多,这里采用4次采样取平均值的方法。如前所叙,本系统A/D转换结果乘2正好是温度值,因此,4次采样 的数字量之和除以2就是检测的当前温度。检测温度存入51H。温度检测子程序流程图如图21 所示。若图片无法显示请联系QQ3710167
 

单片机花卉温室控制系统
图21    温度检测子程序流程图
温度检测子程序TIN:
TIN :      MOV          TEMP0,#00H    ;清检测温度缓冲区
            MOV          R2,304H       ;取样次数送R2
            MOV          DPTR ,#7FF8H  ;指向A/D转换器0通道
LTIN1 :    MOVX         @DPTR,A        ;启动转换
HERE :     JNB          IE1,HERE      ;等待转换结果
            MOVX         A,@DPTR       ;读转换结果
            ADD          A,TEMP0       ;累加
           若图片无法显示请联系QQ3710167 MOV          TEMP0 ,A
            DJNZ         R2,LIIN1      ;4次采样完否,未读完继续
            CLR          C              ;累加结果除2
            MOV          A,TEMP0   
            RRC          A
            MOV          TEMP0 ,A
            RET
(4)温度控制模块
将当前温度与预置温度比较,当前温度小于预置温度时,继电器闭合,接通电阻丝加热;当前温度大于预置温度时,继电器断开,停止加热;当二者相等时电炉保持原来状态;当前温度低到比预置温度低10时,再重新启动加热;当前温度超出报警上下限时将启动报警,并停止加热。由于电炉开始加热时,当前温度可能低于报警下限,为了防止误报,在未达到预置温度时,不允许报警,为此设置了报警允许标志F0。模块流程图见图22。
若图片无法显示请联系QQ3710167
图22     模块流程图
   温度控制子程序CONT :
    CONT :     MOV         A,TEMP0      ;当前温度-预置温度
               CLR         C
               SUBB        A,ST0
               MOV         B,A         ;相减的差值暂存B
               JNC         LOFF         ;无借位,表示当前温度预置温度,转LOFF
               JNB         F0,LON      ;当前温度 预置温度,判是否达到过预置温度
               MOV         A,B         ;若达到过预置温度,判二者差值事故大于10
               CLR         C
               SUBB        A,#0AH
               JNC         ACC.7,      ;差值不大于10,转LOFF
 LON :        若图片无法显示请联系QQ3710167CLR         P1.7         ;开电炉
               SJMP        EXIT         ;返回
 LOFF :       SETB        F0           ;设置允许报警标志
               SETB        P1.7         ;关电炉
 EXIT :       RET
(5)温度越限报警模块
报警上限温度为预置温度+10℃,即当前温度上升到高于预置温度+10℃时报警,并停止加热;报警下限温度为预置温度-10℃,即当前温度下降到低于预置温度-10℃,且报警允许时报警。报警的同时也关闭电炉。图23为报警子程序流程图:
若图片无法显示请联系QQ3710167
                        图23 报警子程序流程图
报警子程序ALARM:
 
ALARM:   MOV    A,TEMPO     ;当前温度→A
            CLR     C
            SUBB    A,STO        ;(当前温度—预置温度)→A
            MOV     B, A         ; 相减结果送B暂存
            JC       LAO           ;有借位,当前温度小于预置温度转LAO
           SETB     F0             ;当前温度≥预置温度,允许报警
           AJMP     LA1   
 
LAO  :   MOV     A, STO       ;预置温度→A
           CLR      C
           SUBB    A,TEMPO      ;(预置温度—当前温度)→A               MOV     B, A          ;相减结果送B暂存
 
LA1  :   CLR      C
           SUBB    A,#OA         ;(相减结果-10)→A
          若图片无法显示请联系QQ3710167 JC       LA2             ;相减结果小于10,不报警返回
           JNB      FO,LA2        ;相减结果≥10,判是否允许报警,
不允许则返回
           CLR     P1.6             ;启动报警
           SETB    P1.7             ;关电炉
           LCALL  D0.6s             ;报警延时0.6s
           SETB    P1.6             ;关报警
 
LA2  :   RET
D0.6s :  (略)                     ;延时0.6s子程序
 
(6)主程序和中断、服务子程序
 
主程序采用中断嵌套方式设计,各功能,模块可直接调用。主程序完成系统初始化,温度预置及其合法性检测,预置温度的显示及定时器0设置。定时器0中断服务子程序是温度控制体系的主体,用于温度检测、控制和报警(包括启动A/D转换、读入采样数据、数字滤波、越限温度报警和越限处理、输出可控硅的控制脉冲等)。中断有定时器0产生,根据需要每隔15 s中断一次,即每15 s采样控制一次。但系统采用6MHZ晶振,最大定时为130ms,为实现15 s定时,这里另行设了一个软件计数器。主程序和中断服务子程序的流程图24所示。
 

单片机花卉温室控制系统
    图24   系统程序总体结构图
 
主程序MAIN:(数据缓冲区的定义和初始化部分从略)
        ORG       0000H
        AIMP      MAIN
        ORG       000BH
        AJMP      PT0
        ORG       0030H
MAIN:     MOV      SP,#59H        ;设定堆栈指针
          MOV      TMOD,#01H     ;定时器0初始化
          MOV      TL0,#0B0H      ;定时器定时时间100ms
          MOV      TH0,#3CH
          MOV      R若图片无法显示请联系QQ3710167,#150         ;置15s软计数器初值
           ACALL    KIN              ;调键盘管理子程序
          SETB      ET0              ;允许定时器0中断
SETB      EA               ;开中断
SETB若图片无法显示请联系QQ3710167      TR0              ;启动定时器0
SJMP      $
 
定时器0中断服务子程序PT0:
PT0:      MOV      TL0,#0B0H
           MOV      TH0,#3CH         ;重置定时器0初值
           DJNZ      R7,BACK         ;15s到否,不到返回
           MOV      R7,#150    若图片无法显示请联系QQ3710167       ;重置软计数器初值
           ACALL    TLN               ;温度检测
           MOV      BT1,TEMP1       ;当前温度送显示缓冲区
           MOV      BT0,TEMP0      
           ACALL    DISP               ;显示当前温度
           ACALL    CONT              ;温度控制
           LCALL    ALARM            ;温度越限报警
BACK:    RETI
设计总结
   本次毕业设计我做的课题是单片机温度控制系统自动控制花卉温室的温度,它是最常见的和最典型的过程控制系统,本设计主要针对MCS-51型单片机在检测相对过程控制方面的应用,分析温度控制系统实例。
    单片机对温室温度控制是一种单片机在现实生活中得到应用一个方面,此系统除具有的检测功能外,还有数据处理功能,温度显示功能,温度控制功能等等.系统采用MCS-51系列单片机8031作为控制核心,门控信号由8031内部的计数定时器产生,单位为1。由于单片机的计数频率上限底(12MHz 晶振时约为500KHz),所以需对高频被测信号进行硬件预分频处理,8031则完成运算、控制及显示功能。由于使用了单片机,使整个系统具有极为灵活的可编程性,能方便地对系统进行功能扩展和改进。而本次设计正是鉴于单片机在这方面的优异性能 ,来设计一种用单片机温度控制系统。在学校收集本课题的相关资料,并向指导老师请教相关问题。在技术人员和同事的带领下,从最基本的做起,慢慢熟悉到熟练我们的工作,把我们所学的和即将学习的运用到工作中去!!   
    通过本次的毕业设计不仅使我对单片机的知识有了更深的了解,而且锻炼了我的思维能力。虽然在设计过程中,遇到了许多问题,如设计初重点不明确,思绪混乱,经过认真思考和老师及同学的帮助,才使自己思路明确,抓住重点,不懂就问,在很短的时间内系统有序的完成。
作为一名04级应用电子技术专业的大学应届毕业生,我所拥有的是年轻和知识。年轻也许意味着欠缺经验,但是年轻也意味着热情和活力,我自信能凭自己的能力和学识在毕业以后的工作和生活中克服各种困难,不断实现自我的人生价值和追求的目标。
 

单片机花卉温室控制系统
致   谢  
首先感谢学校在毕业之际能给我一个可能让我们把所有的知识总结起来的机会,通过这次毕业设计,使我对以前所学的知识有了一个整体上的概括,也让我们具体了解到了每个元件在电路中的具体作用,了解到了它的功能,结构。
这次毕业设计是在我的导师陶彪老师的亲切关怀和悉心指导下完成的。陶老师平常不仅要授课,还要在我们外出实习的时间通过邮件和电话对我进行指导。他严肃的科学态度,严谨的治学精神,精益求精的工作作风,深深地感染和激励着我。从课题的选择到项目的最终完成,陶老师都始终给予我细心的指导和不懈的支持。在此谨向陶老师致以诚挚的谢意和崇高的敬意。    在此,我还要感谢和我同组的骆霞等同学。在论文即将完成之际,正是由于的她帮助和支持,我才能克服一个一个的困难和疑惑,直至本文的顺利完成。她对本课题做了不少工作,给予我不少的帮助。从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意!
再一次感谢我的指导老师陶彪老师,并对电气学院的各位老师致以深深的敬意!谢谢您们!
重要文献
1李全利、迟荣强编著.单片机原理及接口技术.北京:高等教育出版社,2004
2刘守义编著.单片机应用技术. 西安:西安电子科技大学出版社,2002
3 陈杰 黄鸿编.传感器与检测技术.北京:高等教育出版社,2002
4 何希才编著.传感器及其应用 . 北京:国防工业出版社,2001
5 胡宴如编著.模拟电子技术基础. 北京:高等教育出版社,1998
6 康华光编著.电力电子技术.北京:高等教育出版社,2004
答辩内容
1、为什么要选用8031单片机?
答:MCS-51系列单片机中以8031、8051、8751为代表。它们之间最大的差别在于片内ROM的供应状态。在8051和8751中,片内有4k字节的ROM/EPROM,而8031片内无ROM/EPROM,故如果选择 8031,片外必须扩展EPROM,由于8031相对8051、8751供应状态相对充足,且性价比较高,而且本例对控制精度要求不高,控制功能一般,程序并不复杂。因此本设计选择常用的8031单片机作为控制芯片。
 
 
2、为什么选用IN0通道?
答:由于ADC0809具有输出三态锁存器,故其八位数据输出线可直接与单片机数据总线相连,单片机的低8位地址信号在ALE作用下锁存在74LS373输出的低3位信号夹道ADC0809的通道选择端A、B、C上,作为通道编码。三位地址输入端,八路模拟信号转换选择同由A,B,C决定。A为低位,C为高位。
A、B、C三位地址的输入与8路通道的对应关系如下:




ABC三位地址的输入与8路通道的对应关系


地址
编码

C

0

0

0

0

1

1

1

1


B

0

0

1

1

0

0

1

1


A

0

1

0

1

0

1

0

1


选中通道

IN0

IN1

IN2

IN3

IN4

IN5

IN6

IN7
 如图19可见A,B,C都接地,即地址编码是0,0,0。所以说选中IN0通道。
 
 
3、光电隔离器的工作原理。
若图片无法显示请联系QQ3710167
OPTOIS01答:参见论文硬件原理图(如图19),当P1.7输出电平低于4.3V时,发光二极管导通发光,驱动发光三极管工作产生电流为晶体管提供基极电流。
设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师