STC89C51之AD模数转换 您所在的位置:网站首页 D5转换器是干嘛的 STC89C51之AD模数转换

STC89C51之AD模数转换

2023-12-03 18:00| 来源: 网络整理| 查看: 265

一、AD 模数转换及其相关名词解释 A模拟信号D数字信号AD模数转换 模拟信号转换为数字信号

二、A\D转换器的主要技术指标 2.1、分辨率

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

xpT2046

2.2、量化误差

量化过程:ADC把模拟量变为数字量,用数字量近似表示模拟量这个过程为量化。

要准确的表示模拟量,ADC的位数需要很大、甚至无穷大。

量化误差:一个分辨率有限的ADC的阶梯状态转换特性曲线与具有无限分辨率的ADC转换特性曲线(直线)之间的最大偏差

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

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

2.5、线性度

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

2.6、绝对精度 在一个转换器中,任何数码所对应的实际模拟量输入与理论模拟输入之差的最大值,又称绝对精度。对于ADC而言,可以在每一个阶段的水平中点进行测量,它包括了所有的误差。 2.7、转换速率 ADC的转换速率是能够重复进行数据转换的速度,即每秒转换的次数。而完成一次A/D转换所需的时间(包括稳定时间),则是转换速率的倒数。A/D转换器的转换速度主要取决与转换电路的类型,不同类型A/D转换器的转换速度相差很大。 双积分型A/D转换器的转换速度最慢,需几百毫秒左右。

逐次逼近式A/D转换器的转换速度较慢,需要几十微秒。

 

 逐次逼近式AD转换器与计数式A/D转换类似,只是数字量由“逐次逼近寄存器SAR”产生。SAR使用“对分搜索法”产生数字量,以8位数字量为例,SAR首先产生8位数字量的一半,即10000000B,试探模拟量Vi的大小,若Vn>Vi,清除最高位,若VnAD/DAC模块 P34-->DI P35-->CS P36-->CL P37-->DO 2,单片机-->动态数码管模块 J22-->J6 P22-->J9(A) P23-->J9(B) P24-->J9(C) */ #include "reg52.h" #include "XPT2046.h" typedef unsigned int u16; //对数据类型进行声明定义 typedef unsigend char u8; sbit LSA = P2^2; sbit LSB = P2^3; sbit LSC = P2^4; u8 disp[4]; // 八位数码管显示前4位 u8 code smgduan[10] = ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; // 显示0~9的数字 void delay(u16 i) // 延时函数 { while(i--); } void datapros(){ // 数据处理函数 u16 temp; static u8 i; if(i=50) { i=0; temp = Read_AD_Data(0x94); // AIN0电位器 如果要检测转换电位器模拟信号,控制字命令寄存器值为0X94或者0XB4. } i++; disp[0]=smgduan[temp/1000];//千位 disp[1]=smgduan[temp%1000/100];//百位 disp[2]=smgduan[temp%1000%100/10]; // 十位 disp[3]=smgduan[temp%1000%100%10]; //个位 } void DigDisplay() // 数码管显示函数 { u8 i; for(i=0;i 7; //右移7位 dat



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有