蔬菜大棚温度自动测试系统的设计_第1页
蔬菜大棚温度自动测试系统的设计_第2页
蔬菜大棚温度自动测试系统的设计_第3页
蔬菜大棚温度自动测试系统的设计_第4页
蔬菜大棚温度自动测试系统的设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1、蔬菜大棚温度自动测试系统的设计摘 要温度控制是蔬菜大棚最重要的一个管理因素,温度过高或过低,都会影响蔬菜的生长。传统的温度控制是用温度计来测量,并根据此温度人工来调节其温度。但仅靠人工控制既耗人力,又容易发生差错。为此,现代的蔬菜大棚管理中通常需要温度自动控制系统,以简单方便、快速的的控制大棚内的温度。本设计以AT89C51单片机为控制中心,用AD590为温度检测元件,由温度测量控制电路、键盘、显示电路、报警电路等组成,实现对大棚环境温度测量与控制,用户可通过键盘设置需要报警的上下限值。文中从硬件和软件两方面介绍了温度控制系统,对硬件原理图和程序流程图进行了系统的描述。并用Keil作为软件调试

2、界面,PROTEUS作为硬件仿真界面,实现了系统的总体调试,结果表明该系统能实现温度的自动测量和自动控制功能,可将棚内的温度始终控制在适合蔬菜生长的温度范围内。该系统可扩展性强,配置简单,操作方便,具有通用性,有效地节省了人力物力。关键词 AT89C51单片机 AD590温度传感器 越限报警 自动测控The Design of the Automatic temperaturecontrol system in vegetable greenhouseABSTRACTFor the vegetable greenhouse, the most important management fact

3、or is the temperature control. If the temperature is too high or too low, the vegetables will be killed or stopped growing.Traditional temperature control is suspended a thermometer in greenhouse internal, the workers can regulate the temperature inside the greenhouse based on the temperature value.

4、 Now, the modern management of vegetable greenhouses usually uses automatic temperature to control system. The design use the AT89C51 microcontroller as the control center, within AD590 for temperature detection element, including the temperature control circuit, keyboard, display circuit, alarm cir

5、cuit, achieving the greenhouse environment, temperature measurement and control, the user can set the desired alarm through the keyboard.And using Keil as a software debugging interface, PROTEUS as hardware emulation and debugging interface to achieve the overall system debugging, the results show t

6、hat the system can realize automatic temperature measurement and automatic control, So can always control the temperature of greenhouse for vegetable growths temperature range. This system can effectively save human and material resources with strong scalability, simple configuration, operability an

7、d universal.KEY WORDS AT89C51 microcontroller AD590 temperature sensor control automatically目 录摘 要IABSTRACTII1 绪 论11.1 背景及意义11.2 方案论证21.3 方案组成22 硬件电路设计42.1 AT89C51单片机42.1.1 AT89C51内部结构42.1.2 AT89C51单片机的引脚52.1.3 AT89C51的最小系统72.2 温度采集电路92.2.1 AD590温度传感器92.2.2 温度采集工作原理102.2.3 低通滤波电路112.3 A/D转换电路122.3.1

8、 A/D转换器分类122.3.2 ADC0809芯片122.3.3 ADC0809与单片机的接口方式152.3.4 A/D转换电路的工作原理162.4 按键电路设计162.4.1 键盘的结构和工作方式162.4.2 按键电路172.4.3 按键电路的消抖182.5 温度显示电路182.5.1 LED数码管192.5.2 LED驱动电路202.6 其它电路212.6.1 电源电路212.6.2 声音报警电路212.6.3 光报警电路223 软件系统设计233.1程序流程图及分析234 仿真与分析274.1 电路图绘制274.2 PROTEUS与KEIL整合后的电路仿真284.3 PROTEUS仿

9、真结果295 结论32致 谢34参考文献35附 录361 绪 论1.1背景及意义蔬菜的生长与温度息息相关,对于蔬菜大棚来说,最重要的一个管理因素是温度控制。温度太低,蔬菜就会被冻死或则停止生长,所以要将温度始终控制在适合蔬菜生长的范围内。为此,智能的大棚温度控制系统已经成为农民的迫切需要。最早的蔬菜大棚的温度监控方法无非是温度计查看,然后是人工处理,实时性差而且占用大量的人工资源,又容易发生差错。传统的测温系统是在分立式温度传感器的基础上发展起来的。测温点上由传感元件,信号调理电路、A/D 转换或T/F 转换、单片机数据采集等组成一个完整的微机系统;或采用独立式仪表测量单元,并通过串行口与上位

10、机通讯、系统结构复杂、成本较高。由于这类传感器的主要缺点是外围电路比较复杂、测量精度较低、分辨率不高、需经行温度校正等,虽然它与被测对象直接接触,不受中间介质的影响,具有较高的精度;测量范围广,可从-501600进行连续测量。但它的体积较大,使用也不够方便。因此,分立式温度传感器逐渐被淘汰,所以在其基础上发展起来的温度测控系统也逐渐被淘汰。模拟集成温度传感器的主要特点是功能单一、测温误差小、价格低、响应速度快、传输距离远、体积小、微功耗等,适合远距离测温,不需要进行非线性校准,外围电路简单。它是目前国内外应用最普遍的一种集成传感器。因此有该类温度传感器构成的温度测控系统也是应用最普遍的一类。智

11、能温度传感器是在20世纪90年代中期问世的。智能温度传感器是集成温度传感器领域中最具活力和发展前途的一种新产品。且它输出的是数字信号,可以直接同单片机相连接,具有克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端的优点。进入21世纪后,智能温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。目前,智能温度传感器的总线技术也实现了标准化、规范化。因此智能温度传感器是蔬菜大棚温度自动测控系统的发展趋势。本设计的目的是让管理者能够及时的观测到蔬菜大棚内的温度,将温度始终控制在适合蔬菜生长的范围内,帮助农民提

12、高农作物的产量,减少管理者的工作量。1.2 方案论证在现代化的蔬菜大棚管理中通常有温度自动控制系统,以控制蔬菜大棚温度,适应生产需要,并以监控采大棚内各个角落的温度变化情况,一旦出现异常现象就能报警,并能及时处理。但温度自动测控系统有好多种方案,为此,需要进行讨论和比较,以找到最佳的设计方案。(1)测量部分方案一:采用热敏电阻,可满足4090的测量范围,但热敏电阻精度、重复性、可靠性都比较差,对于检测小于1的温度信号是不适用的。方案二:采用DS18B20。它是DALLAS公司专利产品,在2075范围内精度为0.5,但是在此范围外的温度测量却误差较大,而且其串行数字输出方式采用软件处理比较困难,

13、开销也大。方案三:采用温度传感器AD590。它具有较高的精度和重复性,相比于热敏电阻精度有很大提高,非线性误差为0.3,且检测温度范围为:-55+155,完全满足要求。综上比较分析,选择方案三,以实现较好的温度测量实现。(2)显示部分方案一:LED数码管显示,向每一个数码管发送数据,通过控制器控制显示顺序,由于显示速度快,肉眼看不出闪烁,完成显示。但是占用控制器资源太多。方案二:LCD液晶显示,虽然其功耗低,体积小,抗干扰能力强,但易碎,控制时序上麻烦。综合分析,虽然方案一占用的资源太多,但如果采用扩展I/O口的方法,是比方案二可行的,因此选方案一。(3)主机部分方案一:采用89C51,其内部

14、有4KB的闪烁存储器,且编码后以并行方式传输数据。它的优点是方便实现,软件开销小。方案二:采用8051,其内部无片内程序存储器,因此,必须在片外扩展EPROM。综合分析,采用方案一以比较方便。1.3 方案组成由方案论证得到,温度自动控制系统电路是以AT89C51单片机为控制核心来进行整体设计的,并用集成温度传感器AD590为温度的检测元器件。因此,整个系统的硬件部分包括温度采集放大电路、模数转换电路、按键电路、数码管显示电路、声光报警电路等。本设计的基本框图如图1-1所示。图1-1 设计框图蔬菜大棚温度控制系统的基本功能: 1 温度检测:采用AD590温度传感器作为检测端。2 具有显示功能:利

15、用数码管显示温度。3 具有用户输入功能:利用键盘输入对温度的上下限进行设置。4 具有报警功能:声光报警。5 具有自动加热制冷保护功能:如果实际测定的温度值超过了系统设置的最高温度,单片机就会发出命令,进行制冷;如果实际测定的温度值超过了系统设置的最低温度,单片机会发出命令,进行加热;并伴随着声光报警。6 蔬菜大棚管理人员可以随时查询采集过来的温度历史记录。2 硬件电路设计本设计的温度自动控制系统电路以AT89C51单片机为控制核心来进行整体设计的。整个系统的硬件部分包括AD590的温度采样放大电路、ADC0809的模数转换电路、按键电路、驱动电路、LED显示电路、声光报警电路、电源转换电路等。

16、再配上C语言的程序使软件得以实现,进而实现温度自动控制的基本功能。通过温度传感器对大棚中空气进行温度采集,将采集的温度信号经放大滤波处理后,送给ADC0809进行转换,在传输给单片机,由单片机控制数码管显示器,并比较采集的温度与设定的温度范围是否一致,如果超出设定的温度范围,进行声光报警,再驱动继电器对大棚进行加热或降温处理。2.1 AT89C51单片机2.1.1 AT89C51内部结构AT89C51单片机1内部包括一个8位的CPU,片内振荡器和时钟电路,由4K字节的FLASH存储器,128KB的数字存储器,四个8位并行的I/O口,一个全双工串行口,两个16位的可编程的定时/计数器,6个中断源

17、,3个中断矢量,提供两个中断优先级,21个特殊功能寄存器,可寻址各64KB的外部程序存储器和数据存储器,有位寻址功能和较强的布尔数据处理能力,有两种软件可选的低功耗运行方式(空闲和掉电方式)。它的内部框图如图2-1所示。图2-1 AT89C51的内部结构图2.1.2 AT89C51单片机的引脚AT89C51的外形及引脚排列如图2-2所示。 图2-2 AT89C51的引脚排列图AT89C51的引脚除了VCC和GND之外,按功能可分以下三类:(1)时钟电路引脚:XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。(2)I/O端口引脚:P0口:8位漏极开路双

18、向I/O口,每个引脚可吸收8个TTL门电流。当P0口的管脚第一次写1时,被定义为高阻态输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。 P1口:内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。P2口:内部提供上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内 部上拉的缘故。P2口当用于外部程序存

19、储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。P3口:内部带8个上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。 P3口也可作为AT89C51的一些特殊功能口,如表2-1所示。表2-1 P3口的第二功能管脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)(3)控制类引脚: RST:复位引脚。当振荡器复位器件时,要保持RST脚两个机器周期的

20、高电平时间。 ALE/PROG:片外存储器地址锁存允许/编程脉冲输入端。当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部

21、程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器 (0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 2.1.3 AT89C51的最小系统 (1)复位电路 复位是单片机的初始化操作。单片机系统在上电启动运行时,都需要先复位,其作用是使CPU和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。因此,

22、复位是一个很重要的操作方式。但单片机本身不能自动复位的,必须配合相应的外部复位电路才能实现的。 当89C51通电,时钟电路开始工作,在单片机的RST引脚加上大于24个时钟周期以上的正脉冲,系统即初始复位。初始化后,程序计数器PC指向0000H,P0P3输出口全部为高电平,堆栈指针写入07H,其他专用寄存器被清0。RST由高电平降为低电平后,系统从0000H地址开始执行程序。单片机的外部复位电路有上电复位和按键手动复位两种。上电复位利用电容器的充电来实现。如图2-3(a)所示,是单片机的上电复位电路。上电瞬间,由于电容两端电压不能突变,RST引脚为高电平出现正脉冲其持续时间取决于RC电路的时间常

23、数。RST引脚要有足够长的时间才能保证单片机有效的复位。 按键手动复位电路,如图2-3(b)所示,复位按键按下后,复位端通过R10这个小电阻,与VCC电源接通,迅速放电,使RST引脚为高电平,复位按键弹起后,电源VCC通过R14的电阻对电容C1重新充电,RST引脚出现复位正脉冲,其持续时间取决于RC电路的时间常数。 (a) (b)图2-3 复位电路 (2)时钟电路单片机的各个功能部件的运行都是以时钟控制信号为基准,有条不紊的一拍一拍的工作。因此,时钟频率直接影响到单片机的速度。常用的时钟电路设计有两种方式,一种是内部时钟方式,另一种是外部时钟方式。内部时钟方式:89C51单片机内部有一个用于构

24、成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片的引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器,图 2-4是内部时钟方式的振荡器。图2-4 内部时钟电路外部时钟方式:是使用外部振荡器产生的脉冲信号,常用于多片单片机同时工作,以便于多片单片机之间的同步,一般情况下,外部时钟源直接连到XTAL1引脚,XTAL2引脚悬空。 (3)最小系统 单片机接上时钟电路和复位电路,就构成了最小系统,因此,最小系统如图2-5所示。图2-5 AT98C51的最小系统2.2 温度采集电路温度检测电路由温度传感器、LM741 型运算放大器等构成。

25、温度传感器将温度变成电信号,通过放大器使得信号在A/D转换器的量程范围内放大,在单片机的控制下,A/D 转换器完成信号的A/D 转换,然后将转换后的数字信号送入单片机进行数据分析与处理。AD590是电流输出型的集成温度传感器,具有测温误差小、动态阻抗高、响应速度快、传输距离远、体积小、微功耗等优点,适合远距离测温、控温,不需要进行非线性校准。其工作电压范围较宽(430 V),测温范围为55150 ,输出电阻较大,长导线上的压降一般不影响测量精度,因此不需要专门的温度补偿电路。2.2.1 AD590温度传感器AD590是美国哈里斯公司的单片集成两端感温电流源,是电流型温度传感器,通过对电流的测量

26、可得到所需的温度值。在被测温度一定时,AD590相当于一个恒流源,AD590的温度测量器是一种已经IC化的温度传感器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需要将此信号转换成数字信号。AD590产生的电流与绝对温度成正比,它可接收的工作电压为430V,可以承受44V正向电压和20V反向电压,因而器件即使反接也不会被损坏;输出电阻为710m;检测的温度范围为-55+150,在该范围内,非线性误差仅为0.3;因此它有很好的线性输出性能,温度每增加1,其电流增加1A。AD590测量热力学温度、摄氏温度、两点温度差、多点最低温度、多点平均温度的具体电路,广泛

27、应用于不同的温度控制场合由于AD590精度高、价格低、不需辅助电源、线性好,常用于测温和热电偶的冷端补偿。表2-2表示AD590温度与电流之间的关系。表2-2 AD590温度与电流的关系摄氏温度/AD590电流/A经10K电压/V0273.22.73210283.22.83220293.22.93225298.22.98230303.23.30240313.23.13250323.23.23260333.23.33290363.23.632100373.23.7322.2.2 温度采集工作原理因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转换为电压,同时对电压信号进

28、行放大,之后输入给A/D转换器ADC0809的D0D7端口,其电路如图2-6所示。图2-6 温度采集放大电路8路温度采集电路均采用集成温度传感器AD590。AD590的温度系数为1A /K,与绝对温度成比例。由于人们通常习惯于对摄氏温度的读数,所以使用AD590要进行零点迁移3。第一个步骤:先调可变电阻VR2,如以0为参考点,则应使其电压输出为2.73V;如以25为参考值,则应使其电压输出为2.98V。第二个步骤:调节可变电阻VR3,使0时OPA2的输出为2.73-2.73=0V;而25时OPA2的输出为2.73-2.98=-0.25V(反相)(零为调整)。第三个步骤:调节VR1使OPA3放大

29、五倍,如OPA3的输入为-0.25V,则OPA3的输出为1.25V。各个整温度数与3个OPA及ADC0809的输入和输出的关系如表2-3所示。表2-3 温度与3个OPA及ADC0809的输入和输出的关系表温度值OPA1OPA2OPA3ADC输入02.732V0V0V0V102.832V-0.1V0.5V0.5V202.932V-0.2V1V1V303.032V-0.3V1.5V1.5V403.132V-0.4V2V2V503.232V-0.5V2.5V2.5V603.332V-0.6V3V3V703.432V-0.7V3.5V3.5V803.532V-0.8V4V4V903.632V-0.9V

30、4.5V4.5V1003.732V-1.0V5V5V2.2.3 低通滤波电路由于温度传感器采集到的信号中能夹有高频的噪声信号和干扰信号,在经过放大后,这样的信号会对采集的结果和转换的结果产生很大的误差和不良的后果。无限增益低通滤波器既可以将高频信号除去。其电路如图2-7所示。图2-7 无限增益低通滤波电路2.3 A/D转换电路由于温度是一种模拟信号,则由信号采集电路采集的信号是一种模拟信号,而且频率很低,但是单片机所识别的是具有高低电位的数字信号,这就要求在信号处理中必须把模拟信号转换成数字信号从而输出给单片机处理。2.3.1 A/D转换器分类 A/D转换器是把模拟量转换成数字量的器件,简写为

31、ADC。ADC的品种繁多,按工作原理,ADC分为以下几类。(1)并行式和并/串式ADC 并行式ADC速度最高,但电路复杂,一般是8位以下,除要求转换速度特别高的场合外,一般较少使用。并/串式ADC是并行与串行相结合的ADC,它的速度也很高,但比并行式ADC慢一些,电路也相对简单一些,价格也低一些,是速度与电路复杂程度一个较好的折衷,用的比较多。(2)逐次逼近式ADC这种ADC转换速度中等,精度高,但抗干扰能力不强,价格不高,是工业控制中用的最多的一种。(3)双积分式ADC 这种ADC转换速度慢,精度高,而且抗干扰能力强,价格低,适用于要求抗干扰能力强,但对速度要求不高的场合,如数字电压表或参数

32、变化缓慢的控制系统和参数。(4)计算比较式ADC这种ADC也称为反馈比较式、跟踪比较式、随动系统式或计算式ADC。这种ADC电路简单,价格低廉,但它的速度慢,精度不高,抗干扰能力差,因此不常用。因此,本设计将采用逐次逼近式ADC。这里选用8 路8 位逐位比较式A/D 转换器ADC0809,实现模拟量向数字量的转换。2.3.2 ADC0809芯片ADC0809是采样分辨率为8位的、以逐次逼近原理进行的A/D转换器件。内有一个8通道多路开关以及微处理机兼容的控制逻辑的CMOS组件。它由比较器、逐次逼近器、D/A转换器及控制和定时5部分组成,输出具有TTL三态锁存缓冲器,可以直接连到单片机数据总线上

33、。 (1)ADC0809的内部逻辑结构 由图2-8可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8 路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。图2-8 ADC0809的内部结构8路模拟开关用于输入IN0IN7上的8路模拟电压。地址锁存和译码器在ALE信号控制下可以锁存ADDA、ADDB、ADDC上的地址信号,经译码后控制IN0IN7上哪一路模拟电压送入比较器。例如,当ADDA、ADDB、ADDC上均为低

34、电平0且ALE为高电平时,地址锁存和译码器输出,使IN0上模拟电压送到比较器输入端。逐次逼近寄存器和比较器SAR在A/D转换过程中存放暂态数字量,在A/D转换完成后存放数字量,并可送到三态输出锁存器锁存。三态输出锁存器和控制电路用于锁存A/D转换完成后的数字量。CPU使OE引脚变成高电平就可以从三态输出锁存器取走A/D转换后的数字量。控制电路用于控制ADC0809的操作过程。 (2)ADC0809引脚结构 图2-9 ADC0809引脚图 由图2-9知,ADC0809共有28个引脚,采用双列直插式封装。各引脚功能如下: D7D0:8位数字量输出引脚。为三态缓冲输出形式,可以和单片机的数据线直接相

35、连。D0为最低位,D7为最高位。 IN7IN0(8条):8位模拟电压输入线,用于输入被转换的模拟电压。 ALE:地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后,被选中的通道的模拟量进入转换器进行转换。 START:A/D转换启动信号输入端。START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持低电平,简写为ST。 A、B、C:通道端口选择线。A为低地址,C为高地址,引脚图中为ADDA,ADDB和ADDC。其地址状态与通道对应关系见表2-4。表2-4 地址

36、状态与通道对应关系CBA选择的通道CBA选择的通道000IN0100IN4001IN1101IN5010IN2110IN6011IN3111IN7CLK:时钟信号输入端。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,通常使用频率为500KHz的时钟信号。EOC:转换结束信号输出引脚。EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。OE:输出允许控制端。用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。VCC:+5V工作电压。GND:地。Vref:参考电源参考电

37、压用来与输入的模拟信号进行比较,作为逐次逼近的基准。其典型值为+5V(Vref(+)=+5V, Vref(-)=-5V)。 ADC0809对输入模拟量要求:信号单极性,电压范围是05V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。2.3.3 ADC0809与单片机的接口方式有上面的简述,可以看出,用单片机控制ADC时,可采用查询和中断控制两种方式11。 查询方式是在单片机把启动信号送到ADC之后,执行别的程序,同时对0809的EOC引脚的状况经行查询,以检查ADC转换是否已经结束,如查询到变换已经结束,则读入转换完毕的数据。

38、中断控制方式是在启动信号送到ADC之后,单片机执行别的程序。0809转换结束并向单片机发出中断请求信号时,单片机响应此中断请求,进入中断服务程序,读入转换数据。中断控制方式效率高所以特别适合于转换时间较长的ADC。因此在本设计中,采用中断控制方式使ADC0809与单片机相接。 ADC0809与单片机的连接电路如图2-10所示。图2-10 ADC0809与单片机的连接电路2.3.4 A/D转换电路的工作原理由图2-10可知,ADC0809的A/D转换结果输出端out8-out1与单片机的P0口相连,EOC与P3.3口相连,EOC端是A/D转换完成信号,当转换结束时,EOC发出一个脉冲向单片机提出

39、中断申请,单片机响应中断请求。单片机的WR接ADC0809的START,来操作ADC0809的转换开始,当转换结束后EOC变低电位。 在此次的设计中由于有8路信号输入,所以在通道选择有A、B、C三引脚来选择。其多路开关的作用主要是用于信号切换, 如在某一时刻接通某一路检测信号, 而此刻其他路断开, 从而达到信号转换的目的。由于ADC0809的CLK的时钟频率经常用的是500KHz,所以在必须从单片机的时钟脉冲进行分频后才行,在分频中,如果单片机的晶振是6MHz,那么就用D触发器进行二分频即可。2.4 按键电路设计按键是一组按压式开关集合,是微机系统不可缺少的输入设备,用于输入数据和命令。键盘的

40、每一个按键都被赋予一个代码,称为键码。键盘系统的主要工作包括及时发现有案件闭合,求闭合键的键码。根据这一过程的不同,键盘可以分为两种,即编码键盘和非编码键盘。编码键盘是通过一个编码电路来识别闭合键的键码,非编码键盘是通过软件来识别键码。由于非编码键盘的硬件电路简单,用户可以方便的增减键的数量,因此在单片机中应用广泛。这里主要介绍非编码键盘的接口电路。2.4.1 键盘的结构和工作方式 (1)非编码键盘结构 非编码键盘可以分为两种结构形式:独立式按键和行列式按键。 独立式按键:是指直接用I/O口线构成单个按键电路,每一个按键占用一条I/O口线,每个按键的工作状态不会产生相互影响。图2-11所示为一

41、种独立式按键电路,当图中的某一个按键闭合时,相应的I/O口线就变成低电平。当程序查询到为低电平的I/O口线时,就可以确定处于闭合状态的键。 行列式键盘:将I/O口线的一部分作为行线,另一部分作为列线,按键设置在行线和列线的交叉点上,这就构成了行列式键盘。图2-11 独立式按键(2)键盘的工作方式在单片机应用系统中,非编码键盘由CPU通过键盘处理程序完成整个工作过程。相对CPU来说,按键闭合是随机发生的,按键处理程序能够及时捕捉倒闭合的建,并求出其键码。按照这一过程的不同,非编码键盘的工作方式可以分为程序扫描方式和中断扫描方式。程序扫描方式:在一般情况下,在单片机应用系统中,按键处理只是CPU工

42、作的一部分。为了能及时发现有按键按下,CPU必须不断调用键盘处理程序,对键盘进行扫描,因此称为程序扫描方式。 中断扫描方式:在程序扫描工作方式中,为了能及时响应键盘输入,需要不停的对键盘进行扫描,即使没有键操作时,也要不停的对其进行扫描,这就浪费了大量CPU宝贵的时间,为了提高CPU的效率,在电路中增加适当的电路,当有键闭合时,产生中断请求信号。在中断服务子程序中进行去抖动、求键码和处理重建等工作。独立式按键的电路的结构和处理程序简单,扩展方便,但占用的I/O口线相对较多,不适合在按键数量较多的场合下采用。但本设计就有三个按键,共需要三个I/O口线,占用的口线不多,因此可采用独立式按键,为了提

43、高CPU的效率,应采用中断扫描方式,因此键盘结构采用的是独立式中断扫描结构。2.4.2 按键电路图2-12所示为中断扫描方式的接口电路。键盘电路的行线与单片机的P2.4、P2.5、P2.6直接相连,列线与一个与门的三输入端相连,与门的输出端与单片机的/INT0相连接。当P2.4、P2.5、P2.6 全为0时,若无键闭合,/INT0保持高电平;若有键闭合时,/INT0变成低电平,CPU开中断,进而产生中断,转向中断服务程序。S2按键是温度设定模式,S3按键是温度的加一模式,S4按键是温度的减一模式。 图2-12 中断式独立键盘2.4.3 按键电路的消抖键盘中按键的开关状态,通过一定的电路转化为高

44、、低电平状态,如图2-13所示。按键闭合过程在相应的I/O口形成一个负脉冲。闭合和释放过程都要经过一定的过程才能达到稳定,这一过程处于高、低电平之间的一种不稳定状态,称为抖动。抖动持续时间的长短与开关的机械特征有关,一般在5ms10ms之间。为避免CPU多次处理按键的一次闭合,应采用措施消除抖动。 消除抖动的方法有两种,一种是采用硬件电路来实现,如用滤波电路和双稳态电路等;另一种实用软件来实现,即当发现有按键按下时,延时10ms20ms,再查询是否有按键按下,若没有按键按下,说明上次查询结果为干扰或者抖动;若仍有按键按下,则说明闭合键已稳定,即可判断其键码。图2-13 按键闭合时输出电压波形2

45、.5 温度显示电路 为了方便管理者能明确的观察到某一路的温度,这里要有显示电路,共有六个数码管,两位是用来显示设定的最高温度,两位用来显示设定的最低温度,两位是用来显示当前某一路的温度。2.5.1 LED数码管 (1)数码管的结构和类型 LED数码管是由发光二极管构成的数码显示器,内部用7个发光二极管组成字符的七段,每段用小写英文字母表示,主要用来显示09这10个数字,也可以某段英文字母或符号。图2-14(a)是数码管结构和引脚结构。如果数字后面有小数点则七段就不够用了,所以又增加了一个发光二极管,用来显示小数点,用字母dp表示。 按内部发光二极管的接法的不同,将LED数码管分为共阳型和共阴型

46、两类。共阳型数码管内部的8个发光二极管的阳极均连在一起,共阴型的则是阴极全部连在一起,如图2-14(b)(c)所示。 (a) 外形 (b)共阴极 (c)共阳极图2-14 数码管 对于共阳极数码管来说,在使用时要将它们的公共阳极引脚通过一个限流电阻与电源的正极相连,然后是某些段二极管的阴极接低电平,这样,数码管就会显示某一个数字,也就是说,共阳型数码管的段码值为0时,该段发光。 对于共阴型数码管来说,正好与共阳型数码管相反。 LED数码管中各段发光二极管的伏安特性和普通二极管类似,只是正向压降较大,正向电阻也较大。在一定范围内,其正向电流与发光亮度成正比。由于常规的数码管起辉电流只有12mA,最

47、大极限电流也只有1030mA,所以它的输入端在5V电源或高于TTL高电平(3.5V)的电路信号相接时,一定要串加限流电阻,以免损坏器件。(2)数码管的显示类型 LED数码管有静态显示和动态显示两种显示方式。 静态显示 静态显示技术就是当数码管显示某一字符时,相应的发光二极管连续恒定地处于点亮或熄灭状态,直到更换显示内容为止。采用这种显示方式占用的硬件资源多,以七段LED显示器为例,如果用软件进行字段译码,每显示一个字符就需要一个锁存器,如果用硬件进行字段译码,每显示一个字符就需要一个锁存译码器。静态显示的数码管由于连续地工作,因此功耗大,但程序简单,亮度高。随着高度数码管的出现,动态显示同样可

48、以达到很好的显示效果,所以在多数应用情况,不会采用静态显示方式,而采取动态显示方式。 动态显示 在多位LED显示时,为了降低成本和功耗,将所有位的段选线并联起来,由一个8位口控制,由另一个端口进行显示位的控制。但是,由于段选是公用的,要让各位数码管显示不同的字符,就必须采用扫描方式,即动态扫描显示方式。首先从段选线上送出字段码,再控制位选线,字符就显示在指定位置上,持续15ms时间,然后关闭所有显示;接下来又送出新的字段码,按照上述过程又显示在新的位置上,直到每一位数码管都扫描完为止,即为一个扫描周期。由于人的视觉停留效应,因此当扫描周期小到一定程度时,人就感觉不出字符的移动或闪烁,觉得每位数

49、码管到一直在显示,达到一种稳定的视觉效果。动态扫描显示的扫描方式有程序控制和定时中断扫描两种。程序控制扫描方式要占用许多CPU时间,在计算机的任务较重时,难以得到好的效果,所以在实际中常采用定时中断扫描方式,这种方式是每隔一定时间(如1ms)显示一位数码管,假设有8位数码管,显示扫描周期为8ms,显示效果十分良好。本次设计采用这种方法。2.5.2 LED驱动电路 7447是一块BCD码转换成7段LED数码管的译码驱动IC。7447的主要功能是输出低电平驱动显示码,用以推动共阳极的7段LED数码管显示相应的数字,相应引脚的功能如下: (1)QAQG:7段LED数码管的输出引脚; (2)A、B、C

50、、D:输入引脚; (3)RBO、BT、LI:高电平输出有效。 把7447的QAQG引脚与数码管的ag连接,用来控制数码管的段码,用74HC138来控制数码管的位码。温度显示电路如图2-15所示。图2-15 显示电路2.6 其它电路2.6.1 电源电路在实际的应用中,单片机的电压5V和运放的12V电压都需要从外部的220V交流电源来提供。这就需要把220V的交流电转换成5V和12V的直流电。在这个设计中,采用了简单的实用的变压器,根据理想变压器原副边匝数比公式,则可通过计算来调节参数达到转换为低电压所谓目的。低压的交流信号在通过整流稳压等操作实现了交流向直流转换的要求了。其电路图如图2-16所示

51、。图2-16 电源电路2.6.2 声音报警电路在单片机检测系统检测到当前温度超出设定的温度范围时,单片机就会控制P3.7引脚的电平,进而来控制蜂鸣器,提醒管理者注意报警信号,常见的报警信号可分为闪光报警、鸣音报警和音乐报警,这里主要用的是鸣音报警电路。如图2-17所示。当P3.7引脚输出高电平时,晶体管导通,压电蜂鸣器两端获得约5V的电压而鸣叫;当P3.7输出低电平时,晶体管截至,蜂鸣器停止发音。图2-17 鸣音报警电路2.6.3 光报警电路74HC164是高速硅门CMOS 器件,也是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。数据通过两个输入端之一串行输入;任一输入端可以用作高电平

52、使能端,控制另一输入端的数据输入。两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。 时钟 (CP) 每次由低变高时,数据右移一位,输入到 Q0,Q0 是两个数据输入端(DSA 和 DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。 主复位 (MR) 输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。 其电路如图2-18所示,使用74HC164的并行输出引脚接8个发光二极管,利用它的串入并出功能把发光二极管从轮流点亮,并反复循环。Q0Q7代表18路的温度是否在设定的温度范围内,如果第i(i的范围从0到7)个发光二极管亮,证

53、明第(i+1)路的温度超出设定的温度范围。图2-18 串口显示电路3 软件系统设计 软件采用模块化设计。系统软件主要包括主程序和按键处理、中断、显示和报警等子程序。主程序完成器件的初始化,并判断有无按键按下、有无中断请求,然后根据判断结果调用相应的子程。3.1程序流程图及分析主程序主要是对采集数据的处理、显示以及与设定的数据进行比较,为是否报警、是否开继电器做准备;A/D转换子程序主要完成的是对信号的采样和A/D转换,并将转换的数据放到A寄存器中,为后面的调用做准备;监控程序就是对按键中断,A/D转换中断进行监控,如果按键有中断,就调用A/D转换程序,如果A/D中断,就调用A/D转换程序。(1

54、)主程序主程序主要是对采集数据的处理、显示以及与设定的数据进行比较,为是否报警、是否开继电器做准备。其流程图如图3-1所示。图3-1 主程序流程图报警电路是使用74HC164的并行输出引脚接8个发光二极管,利用它的串入并出功能把发光二极管从轮流点亮,并反复循环。Q0Q7代表18路的温度是否在设定的温度范围内,如果第i(i的范围从0到7)发光二极管亮,证明第(i+1)路的温度超出设定的温度范围,此时,蜂鸣器也会响,继电器也会根据当前的状况做出相应的动作。根据流程图,主程序的主要程序13见附录2。(2)A/D转换的程序首先用指令选择0809的一个模拟输入通道,当执行开启A/D转换指令时,单片机的/

55、WR信号有效,从而产生一个启动信号,给0809的START引脚送入脉冲,开始对选通信号进行转换。当转换结束后,0809发出转换结束EOC(高电平)信号,该信号可作为向单片机发出中断请求信号,当执行A/D转换指令时,单片机发出读控制/RD信号,OE端有高电平,且把经过0809转换完毕的数字量读到A累加器中。中断服务程序流程图如图3-2所示,根据流程图,A/D转换的主要程序见附录3。图3-3 A/D转换流程图 (3)独立按键程序 键盘电路的作用主要是确定系统的设定参数,可在线设置蔬菜生长所需要温度的最低温度值和最高温度。 键盘电路中共有三个按键:加1 键、减1 键、模式键。键盘电路接单片机P2.4P2.6。键盘电路可用有电阻和电容组成的电路作为消抖电路来消除按键的抖动带来的干扰,也可用软件来消抖,这里通过延时来消除按键的抖动。 在图2-12所示的电路中,当W1W3任何一个按键按下,与门的输出都为低电平,此时/INT0引脚为低,延时一段时间后,再判断/INT0引脚是否为低电平,如果仍为低电平,则向CPU申请中断。CPU响应中断后,在中断服务程序中判断是哪个按键按下,进而调用该按键对应的相应功能,执行完中断服务程序后,返回主程序。因此按键控制流程图如3-4所示,根据流程图,按键的主要程序见附录4。图3-4

温馨提示

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

评论

0/150

提交评论