单片机ad转换连线_stm32单片机的ad单次转换和扫描转换时什么意思呢 - CSDN
  • 51单片机外围模块——A/D模数转换

    千次阅读 2019-02-11 21:41:39
    一、A/D转换器的主要技术指标 1、分辨率 ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。 一个10V...

    一、A/D转换器的主要技术指标

    1、分辨率
    ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。
    一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/(2^12 )=2.4mV。

    2、量化误差
    ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。 

    3、偏移误差
    偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。

    4、满刻度误差
    满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。

    5、线性度
    线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。

    6、绝对精度
    在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。

    7、转换速率
    ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。

    逐次逼近式ADC的转换原理

    逐次逼近式AD转换器与计数式A/D转换类似,只是数字量由“逐次逼近寄存器SAR”产生。SAR使用“对分搜索法”产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量Vi的大小,若Vn>Vi,清除最高位,若Vn<Vi,保留最高位。在最高位确定后,SAR又以对分搜索法确定次高位,即以低7位的一半y1000000B(y为已确定位) 试探模拟量Vi的大小。在bit6确定后,SAR以对分搜索法确定bit5位,即以低6位的一半yy100000B(y为已确定位) 试探模拟量的大小。重复这一过程,直到最低位bit0被确定,转换结束

    双积分式ADC的转换原理

    ——————————————————————————重点来啦!—————————————————————————————————————————————————————————————————————————————————

    单片机采用的A/D芯片为XPT2046,引脚图如下:

    AIN0为电位器、AIN1为热敏电阻、AIN2为光敏电阻、AIN3为外部通道(可外接其他传感器)

    XPT2046引脚图如下:

    两种输入模式配置图如下:

    控制寄存器说明:

    如果要检测转换电位器模拟信号,控制字命令寄存器值为0X94或者0XB4.
    如果要检测转换热敏电阻模拟信号,控制字命令寄存器值为0XD4.
    如果要检测转换光敏电阻模拟信号,控制字命令寄存器值为0XA4.
    如果要检测转换AIN3通道上模拟信号,控制字命令寄存器值为0XE4.

    XPT2046读写时序图如下:

     

     

    展开全文
  • AD转换单片机通信

    2020-06-25 11:20:34
    用量两片单片机进行通信,其中甲机外接0809芯片进行AD转换,将AD转换结果送至P0端口用4位数码管显示,并将数据发送至乙机;乙机接收甲机发送的数据,和甲机同步显示AD转换结果。 ADC0809芯片 由于芯片介绍篇幅过大...

    要求

    用两片单片机进行通信,其中甲机外接0809芯片进行AD转换,将AD转换结果送至P0端口用4位数码管显示,并将数据发送至乙机;乙机接收甲机发送的数据,和甲机同步显示AD转换结果。

    ADC0809芯片

    由于芯片介绍篇幅过大这里就,不做详细描述。详情请见ADC0809芯片简介

    硬件及连线

    在这里插入图片描述
    甲机(发射机)代码:

    #include <reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    int display[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    int show[4]={0,1,2,3};
    sbit OE=P3^4;
    sbit EOC=P3^5;
    sbit ST=P3^6;
    sbit CLK=P3^7;
    
    sbit L1=P2^0;
    sbit L2=P2^1;
    sbit L3=P2^2;
    sbit L4=P2^3;
    uint num;
    
    void delay(int x)
    {
       int i;
       while(x--)
       {
       	  for(i=0;i<120;i++);
       }
    }
    
    void xianshi(uint x)  //显示函数
    {
        int i,p_2;    
        x=x*100/51;	  //AD转换值换算为相应电压值
        show[0]=0;//5V用不到这一位
        show[1]=x/100; 
        show[2]=x%100/10;
        show[3]=x%10;  
    
        p_2=0x01; 
    
        for(i=0; i<4; i++)
        {
            P0=0x00;	  //清屏,避免重影
            if(i==1)
                P0=display[show[i]]+0x80;  
            else
                P0=display[show[i]];	
            P2=~p_2;				
            p_2=p_2<<1;
            delay(3);
        }
    }
    
    void sending(uint i)//发送
    {
    	SBUF=i;//送给缓冲器
    	while(!TI);//发送完毕
    	TI=0;//清零
    }
    
    void Init()
    {
    	SCON=0X40;
    	PCON=0x00;
    	TMOD=0x20;
    	TH1=0xFD;
    	TL1=0xFD;
    	ES=1;						//打开接收中断
    	EA=1;						//打开总中断
    	TR1=1;	
    }
    
    void main()
    {
    	Init();
    	while(1)
    	{
    		ST=0;
    		OE=0;
    		ST=1;//启动转换器,                                                                                                                          
    		ST=0;//下降沿开始转换
    		while(!EOC);//EOC转换完成
    		OE=1;//输出允许位有效
    		num=P1;
    		xianshi(num);//将P3口状态显示
    		
    		OE=0;//输出关闭
    		sending(num);
    	} 
    }
    

    乙机(接收机)代码:

    #include <reg52.h>
    #define uchar unsigned char
    #define uint unsigned int
    int display[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    int show[4]={0};
    uint num=0;
    
    void delay(int x)
    {
       int i;
       while(x--)
       {
       	  for(i=0;i<120;i++);
       }
    }
    void xianshi()  //显示函数
    {
        int i,p_2;
        
        num=num*100/51;	  //AD转换值换算为相应电压值
        show[0]=0;//5V用不到这一位
        show[1]=num/100; 
        show[2]=num%100/10;
        show[3]=num%10;  
    
        p_2=0x01; 
    
        for(i=0; i<4; i++)
        {
            P0=0x00;	  //清屏,避免重影
            if(i==1)
                P0=display[show[i]]+0x80;  
            else
                P0=display[show[i]];	
            P2=~p_2;				
            p_2=p_2<<1;
            delay(10);
        }
    }
    
    void receive() interrupt 4//接收
    {
    	if(RI)//接收完毕
    		{	
    			num=SBUF;//取出数据
    			RI=0;//清零
    		}
    		//xianshi();
    } 
    
    void UART_init()
    {
    	TMOD=0x20;//T1工作方式2
    	SCON=0x50;//串行口方式1允许接收
    	PCON=0x00;//波特率不加倍
    	TH1=0XFD;				//计数器初始值设置,注意波特率是9600的
    	TL1=0XFD;
    	TR1=1;
    	EA=1;
    	ES=1;
    } 
    
    void main()
    {
    	 UART_init();
    	while(1)
    	{
    		xianshi();//将P3口状态显示
    		
    	} 
    }
    

    仿真结果

    在这里插入图片描述
    最大电压位5V:
    在这里插入图片描述

    展开全文
  • 本文档是AD转换器CS5550与单片机的接口程序设计的论文。   分析双通道低成本A/D转换器CS5550的接口特点,以 ATmega16单片机为例设计CS5550与单片机的接口电路。经过对ATmega16单片机SPI口的分析,详细讨论...
  • 单片机:模数AD转换

    2020-02-13 22:55:08
    index逐次逼近式ADC的转换原理 一、A/D转换器的主要技术指标 1、分辨率 ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率...

    一、A/D转换器的主要技术指标

    1、分辨率
    ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。
    一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/(2^12 )=2.4mV。
    2、量化误差
    ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。
    1在这里插入图片描述

    3、偏移误差
    偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。
    4、满刻度误差
    满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。
    5、线性度
    线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。
    6、绝对精度
    在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。
    7、转换速率
    ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。

    逐次逼近式ADC的转换原理

    2在这里插入图片描述
    逐次逼近式AD转换器与计数式A/D转换类似,只是数字量由“逐次逼近寄存器SAR”产生。SAR使用“对分搜索法”产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量Vi的大小,若Vn>Vi,清除最高位,若Vn<Vi,保留最高位。在最高位确定后,SAR又以对分搜索法确定次高位,即以低7位的一半y1000000B(y为已确定位) 试探模拟量Vi的大小。在bit6确定后,SAR以对分搜索法确定bit5位,即以低6位的一半yy100000B(y为已确定位) 试探模拟量的大小。重复这一过程,直到最低位bit0被确定,转换结束
    3
    在这里插入图片描述
    4
    在这里插入图片描述

    展开全文
  • 单片机 AD/DA数模转换

    千次阅读 2019-05-03 11:05:44
    模拟量:自然界连续变化的物理量。所谓连续,包含两个方面的含义; 一方面从时间上来说,它是随时间连续变化的; 另一方面从数值上来说,它的数值也是连续变化的。...A/D 模拟转换器(Analog - Digital Con...
    • 模拟量:自然界连续变化的物理量。所谓连续,包含两个方面的含义;

      一方面从时间上来说,它是随时间连续变化的;
      另一方面从数值上来说,它的数值也是连续变化的。这种连续变化的物理量通常称为模拟量。

    • 数字量:计算机中处理的是不连续变化的量,离散性的数字量。

    • D/A 数模转换器 (Digital - Analog Convert)

    • A/D 模拟转换器(Analog - Digital Convert)

    A/D转换器的主要技术指标

    1、分辨率
    ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度FS的1/2^12。

    一个10V满刻度的12位ADC能分辨输入电压变化最小值是10V×1/2^12=2.4mV。
    2、量化误差
    ADC把模拟量变为数字量,用数字量近似表示模拟量,这个过程称为量化。量化误差是ADC的有限位数对模拟量进行量化而引起的误差。实际上,要准确表示模拟量,ADC的位数需很大甚至无穷大。一个分辨率有限的ADC的阶梯状转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差即是量化误差。
    在这里插入图片描述
    3、偏移误差
    偏移误差是指输入信号为零时,输出信号不为零的值,所以有时又称为零值误差。假定ADC没有非线性误差,则其转换特性曲线各阶梯中点的连线必定是直线,这条直线与横轴相交点所对应的输入电压值就是偏移误差。
    4、满刻度误差
    满刻度误差又称为增益误差。ADC的满刻度误差是指满刻度输出数码所对应的实际输入电压与理想输入电压之差。
    5、线性度
    线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大偏差。
    6、绝对精度
    在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,称为绝对精度。对于ADC而言,可以在每一个阶梯的水平中点进行测量,它包括了所有的误差。
    7、转换速率
    ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。
    A/D转换器的转速速度主要取决于转换电路的类型,不同类型的A/D转换器的转换速度相差很大。

    • 双积分A/D转换器的转换速度最慢,需几百毫秒左右;
    • 逐次逼近式A/D转换器的转换速度最快,需十几微秒;
    • 并行比较型A/D转换器的转换速度最快,仅需几十纳秒。

    逐次逼近式ADC的转换原理

    在这里插入图片描述
    逐次逼近式AD转换器与计数式A/D转换类似,只是数字量由“逐次逼近寄存器SAR”产生。SAR使用“对分搜索法”产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量Vi的大小,若Vn>Vi,清除最高位,若Vn<Vi,保留最高位。在最高位确定后,SAR又以对分搜索法确定次高位,即以低7位的一半y1000000B(y为已确定位) 试探模拟量Vi的大小。在bit6确定后,SAR以对分搜索法确定bit5位,即以低6位的一半yy100000B(y为已确定位) 试探模拟量的大小。重复这一过程,直到最低位bit0被确定,转换结束。

    PCF8591的介绍

    PCF8591 是单电源,低功耗8 位CMOS 数据采集器件,具有4 个模拟输入、一个输出和一个串行I2C 总线接口。3 个地址引脚A0、A1 和A2 用于编程硬件地址,允许将最多8 个器件连接至I2C总线而不需要额外硬件。PCF8591由于其使用的简单方便和集成度高,在单片机应用系统中得到了广泛的应用。
    特点:

    • 单电源供电
    • 工作电压:2.5 V ~ 6 V
    • I2C总线串行输入/输出
    • 通过3个硬件地址引脚编址
    • 采样速率取决于 I2C 总线传输速率决定
    • 4个模拟输入可编程为单端或差分输入
    • 自动增量通道选择
    • 8位逐次比较型A/D 转换
      在这里插入图片描述

    管脚定义:

    AIN0~AIN3:模拟量输入通道
    AOUT:模拟输出通道
    A0~A2:硬件设备地址
    VDD:电源正极
    VSS:电源负极
    VREF:参考电压输入。
    EXT:振荡器输入时,内部/外部的切换开关。
    OSC:振荡器输入/输出。
    SCL:I2C BUS时钟输入。
    SDA:I2C BUS 数据输入/输出。
    AGND:模拟地,模拟信号和基准电源的参考地

    控制字格式

    在这里插入图片描述
    最高位默认为0

    第6位是选择是否允许模拟电压输出,在DA转换时设置为1,AD转换时设置为0或1均可

    第5/4位是选择模拟电压输出方式,一般选择00单端输入方式,其他的几种方式如下图所示
    在这里插入图片描述
    第3位默认为0

    第2位是自动增量使能位,如果自动增量(auto-increment)标志置1,每次A/D 转换后通道号将自动增加。

    第1/0为是在AD转换时选择哪一个通道输入的电压转换为数字量.

    PCF8591的器件地址

    每一个IIC器件都有一个器件地址,来区分不同的IIC设备,下面是PCF8591的地址
    在这里插入图片描述
    在这里插入图片描述
    它的地址是由1001和A2A1A0组成的,在原理图中可以看出,A2A1A0均为0,所以器件地址为0x90/0x91,最后一位是读写方向位,0表示下一个字节往总线上写数据,1表示下一个字节从总线上读取数据.

    展开全文
  • Verilog HDL 之 AD转换  AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。我们所用的模数转换芯片是ADC0809。  ADC0809 8通道8位a/d转换器,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机...
  • 2 /*连线:电位器接IN0,AD_CS接CS0,CS1接KEY/LED_CS*/ 3 #include<reg52.h> 4 typedef unsigned char uchar; 5 xdata uchar LED_CS _at_ 0x9000; 6 xdata uchar LED_OUTSEG _at_ 0x9...
  • MQ-2烟雾传感器51单片机代码

    热门讨论 2020-07-30 23:33:25
    采用51单片机写的带有AD转换的MQ-2烟雾传感器源代码
  • AVR单片机模数转换的ADC实验 ATmega16

    万次阅读 2012-12-25 09:54:52
    6.2 模数转换的ADC实验 6.2.1、实例功能 AVR的模数转换器ADC具有下列特点: 10位精度; 0.5LSB积分非线形误差 ±2LSB的绝对精度; 13µs~260µs的转换时间; 在最大精度下可达到每秒15kSPS的采样速率; 8...
  • 一、AD 模数转换及其相关名词解释 A模拟信号 D数字信号 AD模数转换 模拟信号转换为数字信号 二、A\D转换器的主要技术指标 2.1、分辨率 ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量...
  • 基于CPLD的高分辨率AD转换电路设计 来源:维库 <br />随着科技的飞速发展、高分辨率的数模混合电路的应用不断深 入,电路设计日趋复杂,精度越来越高,所以高精度AD转换电路的设计就成了仪器仪表及各种...
  • 关于A/D模数转换以及XPT2046芯片的内容请参考:https://blog.csdn.net/cax1165/article/details/87024388 #include&lt;reg52.h&gt; #include&lt;XPT2046.h&gt; sbit LSA=P2^2; sbit LSB=P2^3; ...
  • 线性度 线性度有时又称为非线性度,它是指转换器实际的转换特性与理想直线的最大...AD转换器的转换速度主要取决于转换电路的类型,不同类型的AD转换器的转换速度相差很大。 双积分型AD转换器的转换速度最慢需几百毫秒
  • 2、T型电阻网络D/A转换器: D/A工作原理:通过内部电阻分流,产生变化的模拟量。 3、D/A转换的主要性能指标: ①分辨率 分辨率是指输入数字量的最低有效位(LSB)发生变化时,所对应的输出模拟量(电压或...
  • 这次期末的课程设计做了一个智能灯光控制系统,系统整体的功能不在此赘述,系统主要是要实现下位机同上位机的通信,上位机选用的是Android手机端,下位机是52单片机,通过蓝牙模块实现通信。虽然系统很简单,但还是...
  • 以前在X宝上买过一个称重...连接实验电路的时候很完美,能实现重量的转换,但是实际组装后却发现这种A/A模块受到的干扰太严重了,包括电源的干扰,导线长短的干扰,导线位置变化的干扰,无线电的干扰等等等等……实...
  • 12、AD模数转换

    千次阅读 2019-03-01 17:18:04
    一、A/D转换器的主要技术指标 1、分辨率 ADC的分辨率是指使输出数字量变化一个相邻数码所需输入模拟电压的变化量。常用二进制的位数表示。例如12位ADC的分辨率就是12位,或者说分辨率为满刻度的1/(2^12)。 一个10...
  • DAC0832芯片及其与单片机接口,DAC0832是使用非常普遍的8位D/A转换器,由于其片内有输入数据寄存器,故可以直接与单片机接口。DAC0832以电流形式输出,当需要转换为电压输出时,可外接运算放大器。属于该系列的芯片...
1 2 3 4 5 ... 15
收藏数 288
精华内容 115
关键字:

单片机ad转换连线