欢迎来到天天文库
浏览记录
ID:59598656
大小:452.50 KB
页数:17页
时间:2020-11-14
《模数转换电路分析(ADC0832)上课讲义.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、模数转换电路分析(ADC0832)一、ADC0832介绍2、引脚说明芯片接口说明:CS_片选使能,低电平芯片使能;CH0模拟输入通道0,或作为IN+/-使用;CH1模拟输入通道1,或作为IN+/-使用;GND芯片参考零电位(地);DI数据信号输入,选择通道控制;DO数据信号输出,转换数据输出;CLK芯片时钟输入;Vcc/REF电源输入及参考电压输入(复用)一、ADC0832介绍3、与MCU的常用连接电路一、ADC0832介绍3、与MCU的常用连接电路一、ADC0832介绍4、工作时序与通道选择(1)当要进行A/D转换时,须先将CS使能端置于低电平并且保持低电平直到转换完全结束。此时芯片
2、开始转换工作;(2)同时由处理器向芯片时钟输入端CLK输入时钟脉冲,DO/DI端则使用DI端输入通道功能;(3)在第1个时钟脉冲的下沉之前DI端必须是高电平,表示启始信号。在第2、3个脉冲下沉之前DI端应输入2位数据用于选择通道功能;MCU对ADC0832控制过程:(4)如资料所示,当此2位数据为“1”、“0”时,只对CH0进行单通道转换。当2位数据为“1”、“1”时,只对CH1进行单通道转换。当2位数据为“0”、“0”时,将CH0作为正输入端IN+,CH1作为负输入端IN-进行输入。当2位数据为“0”、“1”时,将CH0作为负输入端IN-,CH1作为正输入端IN+进行输入。(5)到第
3、3个脉冲的下沉之后DI端的输入电平就失去输入作用,此后DO/DI端则开始利用数据输出DO进行转换数据的读取。(6)从第4个脉冲下沉开始由DO端输出转换数据最高位DATA7。(7)随后每一个脉冲下沉DO端输出下一位数据。直到第11个脉冲时发出最低位数据DATA0,一个字节的数据输出完成。(8)也正是从此位开始输出下一个相反字节的数据,即从第11个字节的下沉输出DATA0。随后输出8位数据,到第19个脉冲时数据输出完成,也标志着一次A/D转换的结束。(9)最后将CS置高电平禁用芯片,直接将转换后的数据进行处理。ADC0832时序图MSB(MostSignificantBit),意为最高有效
4、位;LSB(LeastSignificantBit)。二、C语言程序设计AT89C51对ADC0832的控制过程:1、建立连接,启动转换;2、接收数据;3、数据处理。二、C语言程序设计1、建立连接,启动转换ADC0832时序图2、接收数据ucharGet_Result_Ch0(){uchari,dat1=0,dat2=0;cs=0;clk=0;dio=1;_nop_();_nop_();clk=1;_nop_();_nop_();clk=0;dio=0;_nop_();_nop_();clk=1;_nop_();_nop_();clk=0;dio=1;_nop_();_nop_();c
5、lk=1;_nop_();_nop_();clk=0;_nop_();_nop_();for(i=0;i<8;i++){clk=1;_nop_();_nop_();clk=0;_nop_();_nop_();dat1=dat1<<1
6、(uchar)(dio);}for(i=0;i<8;i++){dat2=dat2
7、((uchar)(dio)<
8、数据处理——精度ucharcodeline1[]="CurrentVoltage:";uchardisplay_buffer[]="0.00V";voidmain(){floatres;unsignedintd;Initialize_LCD();Delay_Ms(10);while(1){res=Get_Result_Ch0()/256.0*500.0;d=(unsignedint)(res);display_buffer[0]=d/100+'0';display_buffer[2]=(d/10)%10+'0';display_buffer[3]=d%10+'0';Display_St
9、ring(0,0,line1);Display_String(0x46,1,display_buffer);}}三、实训要求:1、熟悉ADC0832的工作原理;2、修改原理图,使用1通道转换,增加按键,实现简单的人机交互;3、编写程序与调试。此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢
此文档下载收益归作者所有