基于单片机饮水机智能控制系统 - 图文 联系客服

发布时间 : 星期三 文章基于单片机饮水机智能控制系统 - 图文更新完毕开始阅读7da10cf2e518964bce847c07

存储器或I/O口的控制,这种时序对于分析、设计硬件接口电路至关重要。这也是单片机应用设计者最关心的问题。

时钟是单片机的心脏,单片机以时钟频率为基准的前提下各个功能部件运行,工作井井有序。故而,单片机的速度直接受时钟频率的影响,单片机系统的稳定性与此同时也受时钟电路的质量的直接影响。

AT89S52单片机内部有一个放大器它的作用是为了组成振荡器的反相高增益,此具有反相且高增益放大器的输入端为芯片引脚X1,输出引脚X2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器。

虽然AT89S52有内部振荡电路,但要形成时钟,必须外接组件。外接晶体以及X1和X2构成并联谐振电路。电容的大小会影响振荡器频率的高低、振荡器的稳定性、起振的快速性和温度的稳定性。除使用晶体振荡器外,如对时钟频率要求不高,还可以用陶瓷振荡器来代替。电路中的电容容值通常选择为30PF左右,本电路选择的是20PF,这并不影响系统的工作和控制的结果。晶体的振荡的频率的范围通常是在1.2MHZ到12MHZ之间。晶体的频率越高,则系统的时钟频率就越高,单片机的运行速度也就越快。但反过来运行速度越快对存储器的速度要求就越高,对印刷电路板的工艺要求也高。AT89S52单片机常选择振荡频率6MHZ或12MHZ的石英晶体,随着集成电路制造工艺技术的发展,单片机的时钟频率也在逐步提高,现在的高速单片机芯片的时钟频率已经达到40MHZ。考虑到本设计所用的各种器件对时钟频率的要求及整体电路的简洁性,本设计选用的是振荡频率为12MHZ的石英晶体。

3、复位电路

AT89S52的复位是由外部的复位电路来实现的。单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。因此选用一个适合本系统的复位电路极其重要。

常用的复位电路有四种方式: (1)上电复位电路 (2)按键复位电路 (3)脉冲复位电路

(4)兼有上电复位与按键复位的电路。

由于考虑到结构和成本等原因,在很多设计里面,复位电路通常采用上电复位和按键复位两种。根据本系统的特性,决定选用按键复位电路。

按键复位是通过外部复位电路的按键操作来实现的。当时钟频率选用12MHZ,电容C选用30?F,电阻R选用10K?。

该复位电路工作原理为:在通电瞬间,在RC电路充电过程中,RST端出现正脉冲,保证RST引脚出现10 ms以上稳定的高电平,从而使单片机复位。

8

2.1.2温度采集电路设计

本设计中的温度采集系统由DS18B20传感器负责。 DS18B20的管脚配置和封装结构如图2.4所示。

图2.4 DS18B20封装

1、引脚定义:

(1) DQ为数字信号输入/输出端; (2)GND为电源地;

(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 2、DS18B20的单线(1-wire bus)系统:

DS18B20工作原理为DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。 低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即 为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

9

DS18B20内部结构图如图2.5所示:

图2.5 DS18B20内部结构图

2.1.3 A/D转换电路设计

A/D转换部分电路的功能主要是将采集部分采集来的模拟信号转换成数字信号,然后输送到单片机进行数据处理。主要器件有ADC0809、74LS02、74S74等。ADC0809与AT89S52连接电路如图2.6所示。

图2.6 A/D转换电路

A/D转换器ADC0809共有八路模拟输入端,由于本设计温度采集只有两路,因此只用到两路模拟输入端,其输入通道为IN0、IN1。这两个通道的数据分别是温度采集电路的输出信号V01、V02,也就是转换为电压值的饮水机两个水箱水的温度值。选择这两个通道需要通过设置ADC0809的ADDA、B、C的值,因为它对应的是八路模拟信号,而本系统只有两路模拟信号输入,因此,只需要将低位ADDA连到AT89S52的P2.2口,并根据P2.2口的电压是低电平或高电平来选择要检测哪个通道,当ADDA值为0时选的是IN0通道,当ADDA为1时选的是IN1 通道。而ADDB、ADDC只需接地即可。

10

1、 A/D转换器选择

A/D转换器的功能是将连续变化的模拟量转换成一个离散的数字量。每一个数字量都是数字代码的按位组合,每一位数字代码都是一定的“权”,对应一定大小的模拟量。为了将数字量转换成模拟量应该将其每一位都转换成相应的模拟量,然后求和即可得到与数字量成正比的模拟量。

目前,市面上有很多类型的A/D转换器,如:ADC0804、ADC0809、AD574等,根据本设计控制的特点,选用ADC0809作为A/D转换器。ADC0809八位逐次逼近式A/D转换器是一种单片CMOS器件,包括8位的模/数转化器,8通道多路转换器和与微处理器兼容的控制逻辑。8通道多路转换器能直接连通8个单端模拟信号中的任何一个。

片内带有锁存功能的8路模拟多路开关,可以对8路0~5V的输入模拟电压信号分时进行转换,片内具有多路开关的地址译码和锁存电路、比较器、256RT型网络、树状电子开关、逐次逼近寄存器SAR、控制与时序电路等。输出具有TTL三态锁存缓冲器,可以直接连接到单片机数据总线上。 (1) ADC0809功能如下: ①分辨率为8位。

②最大不可调误差小于1LSB。 ③单一+5V供电,模拟输入范围0~5V ④具有锁存控制的8路模拟开关。 ⑤可锁存三态输出,输出与TTL兼容。 ⑥功耗为15mW。

⑦不必进行零点和满度调整。 图2.7 ADC0809引脚图 ⑧转换速度取决于芯片的时钟频率。时钟频率范围:10~1280KHZ,当CLK=500kHZ时, 转换速度为128?S。 (2) ADC0809管脚及功能:

①A/D转换器ADC0809的引脚图如图2.7所示。 ②IN0~IN7:8路输入通道的模拟量输入端口。 ③2-1~2-8:8位数字量输出端口。

④START,ALE:START为启动控制输入端口,ALE为锁存控制信号端口。这两个信号端可连接在一起,当通过软件输入一个正脉冲,便立即启动模/数转换。

⑤EOC,OE:EOC为转换结束信号脉冲输出端口,OE为输出允许控制端口。这两个信号也可连接在一起表示模/数转换结束。OE端的电平由低变高,打开三态输出锁存器,将转换结果的数字量输出到数据总线上。

⑥REF(+),REF(-),Vcc,GND:REF(+)和REF(-)为参考电压输入端,Vcc为主电源输入端,GND为接地端。一般REF(+)与Vcc连接在一起,REF(-)与GND连接在一起。

⑦CLK:时钟输入端口。

11