《ADC0832驱动程序讲解.ppt》由会员分享,可在线阅读,更多相关《ADC0832驱动程序讲解.ppt(15页珍藏版)》请在金锄头文库上搜索。
1、物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践第十二 讲 模数转换(ADC0832)应用一、 ADC0832介绍二、C语言程序设计三、实训20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践一、 ADC0832介绍8-Bit Resolution;Easy Microprocessor interface or Stand-Alone Operation;Operates Ratiometrically or With 5-V Reference;Single Channel or Multiplexed Twin Channels With S
2、ingle-Ended or Differential Input Options;Input Range 0 to 5 V With Single 5-V Supply;Inputs and Outputs Are Compatible With TTL and MOSConversion Time of 32 ms at CLK = 250 kHz;Designed to Be interchangeable With National Semiconductor ADC0831 and ADC08321、Feature20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实
3、践电子设计与实践一、 ADC0832介绍2、引脚说明芯片接口说明:CS_ 片选使能,低电平芯片使能;CH0 模拟输入通道0,或作为IN+/-使用;CH1 模拟输入通道1,或作为IN+/-使用;GND 芯片参考零电位(地);DI 数据信号输入,选择通道控制;DO 数据信号输出,转换数据输出;CLK 芯片时钟输入;Vcc/REF 电源输入及参考电压输入(复用)20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践一、 ADC0832介绍3、与MCU的常用连接电路20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践一、 ADC0832
4、介绍4、工作时序与通道选择20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践(1)当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作;(2)同时由处理器向芯片时钟输入端CLK 输入时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。(3)在第1 个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2 位数据用于选择通道功能,其功能项资料。MCU 对ADC0832控制过程:20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践(4)
5、如资料 所示,当此2 位数据为“1”、“0”时,只对CH0 进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2 位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2 位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1 作为正输入端IN+进行输入。(5)到第3 个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践(6)从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7。(7)随
6、后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。(8)也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19 个脉冲时数据输出完成,也标志着一次A/D转换的结束。(9)最后将CS置高电平禁用芯片,直接将转换后的数据进行处理。20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践ADC0832时序图MSB(Most Significant Bit),意为最高有效位 ;LSB(Least Significant Bit)。20112011年春年春 物理与电子
7、工程系物理与电子工程系电子设计与实践电子设计与实践二、C语言程序设计AT89C51对ADC0832的控制过程:1、建立连接,启动转换;2、接收数据;3、数据处理。20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践二、C语言程序设计1、建立连接,启动转换ADC0832时序图20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践2、接收数据uchar Get_Result_Ch0( )uchar i,dat1=0,dat2=0;cs=0;clk=0;dio=1; _nop_( );_nop_( );clk=1; _nop_( );
8、_nop_( );clk=0; dio=0; _nop_( );_nop_( );clk=1; _nop_();_nop_();clk=0; dio=1; _nop_();_nop_();clk=1; _nop_();_nop_();clk=0; _nop_();_nop_();for(i=0;i8;i+)clk=1; _nop_();_nop_();clk=0; _nop_();_nop_();dat1=dat11| (uchar)(dio); for(i=0;i8;i+) dat2=dat2|(uchar)(dio)i);clk=1; _nop_();_nop_();clk=0; _nop
9、_();_nop_(); cs=1; return (dat1=dat2)?dat1:0; sbit cs=P10;sbit clk=P11;sbit dio=P12; 12320112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践3、数据处理精度uchar code line1 =Current Voltage:;uchar display_buffer =0.00V;void main( )float res; unsigned int d;Initialize_LCD( ); Delay_Ms(10);while(1) res=Get_Result_Ch0(
10、 )/256.0*500.0; d=(unsigned int)(res);display_buffer0=d/100+0;display_buffer2=(d/10)%10+0;display_buffer3=d%10+0;Display_String(0,0,line1);Display_String(0x46,1,display_buffer); 20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践三、实训要求:1、熟悉ADC0832的工作原理;2、修改原理图,使用1通道转换,增加按键,实现简单的人机交互;3、编写程序与调试。20112011年春年春 物理与电子工程系物理与电子工程系电子设计与实践电子设计与实践这节课就到这里谢谢大家!20112011年春年春