模拟量信号为单极性时,vnspt,端接模拟地,vnzpt、端接参考电源正端;当模拟量信号为双极性时,则vnspt,接参考电源的正端,vnzpt,接参考电源负端。
下面以较为常用的ADC0809为例介绍其接口方法。
A比D809是8位A/D转换芯片,由单一十5V电源供电。片内带有锁存功能的8路模拟多路开关,可以对8路。一5v的模拟输入电压信号分时进行转换,转换时间为100ys左右;片内具有多路开关的地址译码和锁存电路、高阻抗斩波稳定比较器、256R电阻T型网络和网状电子开关以及逐次退近寄存器,采用逐次逼近技术实现A/D转换;其内部无时钟电路,时钟fcm须由外部提供,典型时钟频率为640kH,;输出具有TTL三态锁存缓冲器,可直接与单片机数据总线相连。此外,通过适当的外接电路,ADC0809可以对0--5v的双极性模拟信号进行转换。
由此可见,当这些信号有效时,P2.7应置为低电乎。
ADC0809的时钟信号一般由8031的ALE端取得,如果ALE信号频率过高,应分频后再送人转换器。例如当803l的品振频率选择6MHz时,AL正端的频率约为lMHz,故需采用二分频后才能与0809的C工K端连接,分频器一般用74LS74D触发器实现,因10—7中选用了分频电路。
图10—8为ADC0808/0809的时序图。从时序图可以看出,在启动ADC0808 /0809后,EOC约在10Us后才变为低电乎,编程时要注意这一点。
第七章具体方案设计 7.1实施方案及分析
实现以上功能有三种方案,每一种方案分析如下: 1.方案一:
工作原理:当温度低于设定的温度时,AD590温度传感器输出电流经电流电压变换及放大电路触发可控硅导通,使电炉家温装置工作,当温度回到正常温度范围内
时,AD590输出的电流转换成电压不足以使可控硅电路1导通,电炉加温装置停止加温。湿度检测电路工作原理类似。
2.方案二:
工作原理:KC-100的第一脚为信号输入端,外接温度湿度传感器.当大棚内温度上升到设定温度时,KC-100自动识别使第三脚自动输出高电位,使VT9013导通,驱动电路驱动降温装置风扇开启,达到降温效果。温敏电阻时刻检测棚内温度,当温度恢复到设定温度时,KC-100输出低电位, VT9013截止,通风装置关闭。湿敏电路工作原理类似。
3.方案三:
工作原理:温度检测电路将检测到的温度转换成电压,该模拟电压经
ADC0809转换后,由INT0中断口进入89C51单片机,单片机通过比较输入温度与设定温度来控制风扇或电炉驱动电路,并将室温送显。当棚内温度在设定范围内时,单片机仅实时显示温度。湿度控制类似。
方案比较与方案选择:
方案一与方案二完全由全硬件实现,能实现对某一恒定温度点温度上下变动的自动控制,但可调温度范围窄。方案三为软硬件综合电路,单片机能实时监控温度、湿度,并能对相应的变化作出适当的控制调整,还能对温度湿度进行显示。
所以我们选择方案三。 7.2单元电路设计 1.单片机和A/D通道电路: 图一
温度传感器检测到的数据经AD0809的27脚送单片机89C51,单片机把采集到的数据与ROM中所设的数据相比较,发出控制指令。当检测到的温度在允许温度范围内时,加温装置,降温装置均不动作。当温度上升或降低
到允许范围外时,单片机相应控制端口输出高电平,驱动控制装置。单片机ROM中设置有报警极限温度,当温度到达极限温度值时,单片机14脚输出使三极管TT1导通,蜂鸣器报警。
2.温度检测电路: 图二
由PN节构成的温度传感器,随温度的变化阻值发生改变。把它接入桥电路,通过桥电路输出压差经741的放大输入AD0809。
风扇、电炉控制电路: 图三
上图是电炉加温原理图。工作原理如下:单片机P1.7口输出,使三极管导通,光耦4N35工作将直流地与市网交流地隔离,可控硅被触发导通电炉回路。加热装置开始工作。风扇降温装置与电炉加温装置原理类似,不同之处在于可控硅被继电器代替。
显示电路:由MAX7219直接驱动LED显示。 整机电路(见附页 3.测试方法
为了模拟温室环境,我们采用200W灯泡加热,12V/0.2A轴流风机降温。将温度计,大功率灯泡,风扇和温度传感器置于密闭的纸箱中,当密闭空间的温度低于设定温度时,电灯亮,模拟加热,当加热到上限温度时,电灯灭,停止模拟加热;当密室温度高于
设定温度范围,风扇开,开始降温,直到设定温度范围内。如果降温过度,系统会自动启动加温装置。
(升温装置一摄氏度需要2S,降温装置降温一摄氏度需20S。 4.讨论
基本功能基本实现,显示电路装入系统后没能实现对温度的实时显示功能。 在前期制作过程中,由于布线没注意高频线与数据线的隔离,造成A/D通道采集的数据受到严重干扰,致使数据不能正确进入单片机ROM.此外,软件方面,在寄存器的分配上存在一些混乱.我们将在以后的电路设计中注意这些问题,提高硬件设计的效率。
第八章工作原理与编程
;* ;* 温度控制程序 w.asm * ;*;* ;说明:测试程序在e6000版本下通过 * ;*********以下为一些伪指令定义
*********;************************; The code meets all ad7416
family timing requirements when executed by an; AT89Cx051 microcontroller with a 6 MHz clock. Code modifications may be; required if a faster clock is substituted.
FADDR DATA 24H zdata DATA 28H address DATA 29h ;addr_hi DATA 2Ah ;
;*******Microcontroller connections to aad7416 OR AT24C02 serial bus lines. SCL EQU P3.4
SDA EQU P3.5
;**************ad7416presodo********************* WD_H_KEY EQU P1.6 WD_L_KEY EQU P1.7 H_KEY& nbsp; EQU P3.2 JDQ EQU P1.5
H_DATA DATA 50H ; H_DATA 存放温度报警上限 L_DATA DATA 51H ; L_DATA 存放温度报警上限 W_DATA DATA 52H M_DATA DATA 53H
S_H_DATA DATA 59H S_L_DATA DATA 5AH ;M_H DATA 6BH ;M_L DATA 6CH ORG 0000H AJMP MAIN ORG 000BH AJMP TIME_T0 ORG 0040H TIME_T0:push acc
相关推荐: