模数(A/D)转换器件 ADC08031与ADC08034 驱动

模数转换器ADC0803x系列

  • 模数转换器就是将模拟输入量转换成离散的数字量输出;有四个过程,分别是——采样、保持、量化、编码;比较关注转换速率和分辨率;还有AD转换器的分类等等……俺也不知道哈哈哈哈哈哈哈哈哈
    百度百科——模数转换
    模数转换原理
    AD转换基础知识

  • ADC083x数据表:ADC083x datasheet
    根据这个数据手册,可以知道ADC083x系列不同的地方在于通道的不同,0831只有一个通道,故不需要DI输入通道选择;0832有CH0和CH1;0834有CH0、CH1、CH2、CH3;

基于51 的ADC0831与光强传感器Proteus仿真

ADC0831先启动数据转换,然后根据数据手册,过一定时钟周期,就能输出数据(MSB在前):
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第1张图片
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第2张图片
图2紫色框对应图1内容,图1的①②③在下面代码有注释,ADC0831的驱动程序如下:

unsigned char ad_conv(void){
	unsigned char i,com;
	//①
	CS=1;
	CLK=0;	_nop_();	_nop_();
       
    //②
	CS=0;	_nop_();	_nop_();//CS置低,启动转换
    CLK=1;	_nop_();	_nop_();
    //③
	CLK=0;	_nop_();	_nop_();//第一个下降沿,准备输出数据
	CLK=1;	_nop_();	_nop_();

     //采集数据
	for(i=8;i>0;i--){
		CLK=0;	//第二至九个下降沿
		com<<=1;//左移,先采最高位
		if(DO)com=com|0x01;//采当前数据
		CLK=1;
		_nop_();
	    _nop_();
	}	
	CS=1;
	return com;
}

Proteus中加入AT89C52、ADC0831、数码管显示、光强传感器,仿真结果如下:
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第3张图片

基于51的ADC0834与光强传感器Proteus仿真

ADC0834有四个通道,需要通过DI端口在不同的时钟周期输入不同的数据来实现端口的选择,见下图:
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第4张图片
首先要在4个上升沿,通过DI端口输入4个信号,表示开始转换、选择极性、选择通道;
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第5张图片
根据时序图得到ADC0834的驱动程序:

unsigned char ad_conv1(void){
	unsigned char i,com;
	CS=1;
	CS=0;	_nop_();	_nop_();//CS置低,启动转换
    CLK=0;	_nop_();	_nop_();
    //选择通道——根据Table4 修改DI值,选择不同的通道
    //以下代码是选择的CH3
    //上升沿1——start bit
	DI=1; 	_nop_();	_nop_();  //启动,准备输出数据 
	CLK=1;	_nop_();	_nop_();
	CLK=0;	_nop_();	_nop_();
	//上升沿2——SGL/DIF
	DI=1;  
	CLK=1;	_nop_();	_nop_();
	CLK=0;	_nop_();	_nop_();	
    //上升沿3——ODD/SIGN
	DI=1;
	CLK=1;	_nop_();	_nop_();
	CLK=0;	_nop_();	_nop_();	 
    //上升沿4——SELECT
	DI=1;
	CLK=1;	_nop_();	_nop_();	
		
    //下降沿 准备开始采集数据
    DI=1;
	CLK=0;	_nop_();	_nop_();  
	CLK=1;	_nop_();	_nop_();
	
	for(i=8;i>0;i--){
		CLK=0;	//下降沿 采集数据
		com<<=1;//左移,先采最高位
		if(DO)com=com|0x01;//采当前数据
		CLK=1;
		_nop_();
	    _nop_();	
	}	
	CS=1;
	return com;
}

仿真如下:
模数(A/D)转换器件 ADC08031与ADC08034 驱动_第6张图片
选择通道CH3就是光强传感器,通过LM016L显示。

哈哈哈哈哈……(结束!✌

你可能感兴趣的:(单片机,嵌入式)