西安航空职业技术学院 毕业设计论文
CH1 模拟输入通道 1,或作为 IN+/-使用。 2)ADC0832 与单片机的接口电路
ADC0832与单片机的接口电路如图3-6所示
图3-6接口电路图
3)单片机对 ADC0832 的控制原理
正常情况下 ADC0832 与单片机的接口应为 4 条数据线,分别是 CS、CLK、 DO、DI。但由于 DO 端与 DI 端在通信时并未同时有效并与单片机的接口是双 向的,所以电路设计时可以将 DO 和 DI 并联在一根数据线上使用。(见图 3.7)
当ADC0832未工作时其CS输入端应为高电平此时芯片禁用,CLK 和DO/DI 的电平可任意。当要进行A/D转换时须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端 CLK 输入时钟脉冲,DO/DI 端则使用 DI 端输入通道功能选择的 数据信号。在第1个时钟脉冲的下沉之前 DI 端必须是高电平,表示启始信号。在第 2、3个脉冲下沉之前 DI 端应输入 2 位数据用于选择通道功能,其功能项见表3-1。
表
3-1 ADC0832 单端 MUX 模式
Mux 地址 Sgl/dif Odd/sign 14
频道 0 1 西安航空职业技术学院 毕业设计论文
1 1 Mux地址 Sgl/dif 0 0
0 1 + 频道 0 + - + 表3-2 ADC0832 多端 MUX 模式 Odd/sign 0 1 1 - + 如表3-1,表3-2所示,当此 2 位数据为“1”、“0”时,只对 CH0 进行单通道转换。当 2 位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端 IN+,CH1 作为负输入端 IN-进行输入。 当 2 位 数据为“0”、“1”时,将 CH0 作为负输入端 IN-,CH1 作为正输入端 IN+进行 输入。到第3个脉冲的下沉之后 DI 端的输入电平就失去输入作用。
此后 DO/DI 端则开始利用数据输出 DO 进行转换数据的读取。从第4个脉冲下沉开始由 DO 端输出转换数据最高位 DATA7,随后每一个脉冲下沉 DO端输出下一位数据。直到第 11个脉冲时发出最低位数据 DATA0,一个字节的数据输出完成。也正是 从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出 DATD0。随后输出 8 位数据,到第19个脉冲时数据输出完成也标志着一次 A/D 转换的结束。最后将 CS 置高电平禁用芯片,直接将转换后的数据进行处理就可以了。更详细的时序说明请见图3-6。
作为单通道模拟信号输入时 ADC0832 的输入电压是 0~5V 且 8 位分辨率时的电压精度为 19.53mV。如果作为由 IN+与 IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行 IN+与 IN-的输入时如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。
3.5 数码管显示电路设计
本设计采用数码管进行显示,具体连接方式如图3-7所示。
15
西安航空职业技术学院 毕业设计论文
图3-7 数码管显示电路
3.6 电源设计
电源设计电路如图3-6所示
图3-6电源设计电路图
3.7 整机电路原理图
整机电路原理图如图3-7所示
16
西安航空职业技术学院 毕业设计论文
图3-7整机电路原理图
17
西安航空职业技术学院 毕业设计论文
4 系统软件设计方案
系统软件的总体框架,主程序采用死循环结构,在其中调用了三个子程序,为初始化程序,AD转换子程序,动态显示子程序,首先,单片机片选A/D转换器,然后发出信号启动A/D转换。若有,即启动信号采集,对A/D转换器的数据输出口送来的数值进行存储,数据处理完之后,将电压数值送显示器显示出来。程序总体流程图如图4-1所示
图4-1总体流程图
4.1系统子程序设计
初始化程序
所谓初始化,是对将要用到的MCS_51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等。 A/D转换子程序
18