硬件连接图如2-2所示
图2-2 硬件连接原理图
2。1 输入电路
输入电路的作用是把不同量程的被测电压规范到A/D 转换器所要求的电压值。单片机数字电压表所采用的逐次逼近式A/D 转换器ADC 芯片ADC0832,它要求输入电压为0-5V。但是采用了下图2-3 的输入电路可以增大测量电压量程,本仪表是0-25V电压量程。通过调节电位器R1 和修改程序参数,可以更改测量电压量程。从而使该数字电压表的使用范围变得更加广泛、使用更加灵活。
图2-3 输入电路原理图
2。2 转换电路
数字电压表最后能够输出的是数字信号,但它输入的信号却会是模拟量,所以需要一个能够将模拟信号变换成数字信号的ADC转换器。ADC0832是美国国家半导体公司生产的一种8位分辨率、双通道A/D转换芯片。[[]]并且它的体积小,包容性强,实用性也很高,所以单片机爱好者及企业对它的使用率很高,本次的设计正好可以使用ADC0832,来实现模拟量与数字量的转换。其芯片管脚图如下图2-4所示。
ADC0832
图 2-4 芯片管脚图
ADC0832 的内部电源输入和参考电压的复用,使得芯片的模拟电压输入介于0-5V。芯片的转换时间仅仅只有32us,拥有双数据输出,可以作为数据校验,来降低数据的错误,转换速率快且平稳性能强。独立的芯片使能输入,使多器件挂接和处理器控制变得越来越便利。通过DI 数据输入端,可以轻易的实现通道功能的选择。正常情况下ADC0832 与单片机的接口应为4 条数据线,分别是CS、CLK、DO、DI,但是因为DO 端与DI 端在通信时并未同时有效的作用,而且与单片机的接口是双向的,所以电路连接时可以将DO 与DI 并联在同一根数据线上使用。当ADC0832 的CS 端为高电平时,此时芯片禁用,CLK 和DO/DI 的电平可任意,当进行A/D 转换时,须先将CS 使能端置于低电平并保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI 端则使用DI 端输入通道功能选择的数据信号。在第一个时钟脉冲的下沉之前,DI 端必须是高电平,来表示启始信号。在第2、3个脉冲下沉之前DI 端应输入2 为数据,来实现通道功能的选择,其功能表见下表:文献综述
表2-1 AD0832 单端模式
MUX Address Channel
SGL/DIF ODD/SIGN 0 1
1 0 +
1 1 +
表2-2 ADC0832 多端模式
MUX Address Channel
SGL/DIF ODD/SIGN 0 1
0 0 + -
0 1 - +
如上表所示,当此2 位数据为“1”、“0”时,只对CHO 进行单通道转换,当2位数据为“1”、“1”时,只对CH1 进行单通道转换。当2 位数据为“0”、“0”时,将CH0 作为正输入端IN+,CH1 作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0 作为负输入端IN-,CH1 作为正输入端IN+进行输入。到第三个脉冲的下沉之后DI 端的输入电平就失去了输入作用,此后DO/DI 端则是利用数据输出DO 进行转换数据的读取。从第四个脉冲下沉开始由DO 端输出转换数据的最高位DATA7,随后每一个脉冲下沉DO 端输出下一位数据。直到第11 个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。也正是从此位开始输出下一个相反字节的数据,即从第19个脉冲时数据输出完成,也标志着一次A/D 转换的结束。最后将CS 端置高电平禁用芯片,直接将转换后的数据进行处理就可以了,详细的芯片工作时序见图2-5: