单片机内置AD隔离现在是有开发出自带AD芯片的吗?

&>&基于51单片机/高精度AD(24位)芯片--AD7799详细底层驱动
基于51单片机/高精度AD(24位)芯片--AD7799详细底层驱动
上传大小:54KB
基于51单片机/高精度AD(24位)芯片--AD7799详细底层驱动
综合评分:0
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
基于51单片机/高精度AD(24位)芯片--AD7799详细底层驱动
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*投诉人姓名:
*投诉人联系方式:
*版权证明:
*详细原因:
基于51单片机/高精度AD(24位)芯片--AD7799详细底层驱动51单片机 关于AD转换代码问题 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
51单片机 关于AD转换代码问题
<div class=""
谁有将光敏电阻阻值显示在lcd102上的完整代码&&求助&&紧急
已退回2积分
23:01:16  
该类别下有 43 个回答。
该类别下有 35 个回答。
该类别下有 27 个回答。
该类别下有 24 个回答。
该类别下有 23 个回答,其中被选为最佳答案 1 次。
该类别下有 23 个回答。
该类别下有 21 个回答。
该类别下有 21 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 19 个回答。
该类别下有 18 个回答。
该类别下有 18 个回答。
该类别下有 17 个回答。
该类别下有 17 个回答。
该类别下有 17 个回答。
该类别下有 16 个回答。
该类别下有 16 个回答。
该类别下有 16 个回答。
回帖奖励 +1 分积分
这个问题很含糊啊,首先,51单片机自带AD么,如果没带,AD芯片怎样选型……反正网上一大堆,楼主的要求不够详细
51单片机AD转换程序_百度文库
这个问题很含糊啊,首先,51单片机自带AD么,如果没带,AD芯片怎样选型……反正网上一大堆,楼主的要求不够详细
51单片机AD转换程序_百度文库
不知道带不带啊 但是我有例程&&和&&连接图
#ifndef& & & && &__XPT2046_H_
#define& &__XPT2046_H_
//---包含头文件---//
#include&reg51.h&
#include&intrins.h&
//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#ifndef uint
#define uint&&unsigned int
#ifndef ulong
#define ulong&&unsigned long
//---定义使用的IO口---//
sbit CLK&&= P1^0;& & & && &//时钟& & & &&&
sbit CS& &= P1^1;& & & && &//片选
sbit DIN&&= P1^2;& & & && &//输入
sbit DOUT = P1^3;& & & && &//输出
uint Read_AD_Data(uchar cmd);
uint SPI_Read(void);
void SPI_Write(uchar dat);
#include&XPT2046.h&
/****************************************************************************
*函数名:TSPI_Start
*输&&入:无
*输&&出:无
*功&&能:初始化触摸SPI
****************************************************************************/
void SPI_Start(void)
& & & & CLK = 0;
& & & & CS&&= 1;
& & & & DIN = 1;
& & & & CLK = 1;
& & & & CS&&= 0;& & & & & & & &
/****************************************************************************
*函数名:SPI_Write
*输&&入:dat:写入数据
*输&&出:无
*功&&能:使用SPI写入数据
****************************************************************************/
void SPI_Write(uchar dat)
& & & & CLK = 0;
& & & & for(i=0; i&8; i++)
& & & & & & & & DIN = dat && 7;&&& & & & //放置最高位
& & & & & & & & dat &&= 1;
& & & & & & & & CLK = 0;& & & & & & & & & & & & //上升沿放置数据
& & & & & & & & CLK = 1;
/****************************************************************************
*函数名:SPI_Read
*输&&入:无
*输&&出:dat:读取 到的数据
*功&&能:使用SPI读取数据
****************************************************************************/
uint SPI_Read(void)
& & & & uint i, dat=0;
& & & & CLK = 0;
& & & & for(i=0; i&12; i++)& & & & & & & & //接收12位数据
& & & & & & & & dat &&= 1;
& & & & & & & & CLK = 1;
& & & & & & & & CLK = 0;
& & & & & & & & dat |= DOUT;
& & & && & & &
/****************************************************************************
*函数名:Read_AD_Data
*输&&入:cmd:读取的X或者Y
*输&&出:endValue:最终信号处理后返回的值
*功&&能:读取触摸数据
****************************************************************************/
uint Read_AD_Data(uchar cmd)
& & & & uint AD_V
& & & & CLK = 0;
& & & & CS&&= 0;
& & & & SPI_Write(cmd);
& & & & for(i=6; i&0; i--); & & & & //延时等待转换结果
& & & & CLK = 1;& & & && &//发送一个时钟周期,清除BUSY
& & & & _nop_();
& & & & _nop_();
& & & & CLK = 0;
& & & & _nop_();
& & & & _nop_();
& & & & AD_Value=SPI_Read();
& & & & CS = 1;
& & & & return AD_V& & & &
#include&reg51.h&
#include&XPT2046.h&
//--定义使用的IO--//
#define GPIO_DIG P0
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
//--定义全局变量--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
unsigned char DisplayData[8];& & & & & & & & //用来存放要显示的8位数的值
void DigDisplay(void);
void main(void)
& & & & uint temp,
& & & & while(1)
& & & && &if(count==50)
& & & && &{
& & & && && & & & count=0;
& & & & //& & & & temp = Read_AD_Data(0x94);& & & & & & & & //& &AIN0 电位器
& & & & //& & & & temp = Read_AD_Data(0xD4);& & & & & & & & //& &AIN1 热敏电阻
& & & & & & & & temp = Read_AD_Data(0xA4);& & & & & & & & //& &AIN2 光敏电阻
& & & & //& & & & temp = Read_AD_Data(0xE4);& & & & & & & & //& &AIN3 外部输入
& & & && &}
& & & && &count++;
& & & && &
& & & && &DisplayData[0]=DIG_CODE[0];
& & & && &DisplayData[1]=DIG_CODE[0];
& & & && &DisplayData[2]=DIG_CODE[0];
& & & && &DisplayData[3]=DIG_CODE[0];
& & & && &DisplayData[4]=DIG_CODE[temp%];
& & & && &DisplayData[5]=DIG_CODE[temp%];
& & & && &DisplayData[6]=DIG_CODE[temp%100/10];
& & & && &DisplayData[7]=DIG_CODE[temp%10/1];
& & & && &DigDisplay();
void DigDisplay(void)
& & & & for(i=0;i&8;i++)
& & & & & & & & switch(i)& & & &&&//位选,选择点亮的数码管,
& & & & & & & & {
& & & & & & & & & & & & case(0):
& & & & & & & & & & & & & & & & LSA=0;LSB=0;LSC=0;//显示第0位
& & & & & & & & & & & & case(1):
& & & & & & & & & & & & & & & & LSA=1;LSB=0;LSC=0;//显示第1位
& & & & & & & & & & & & case(2):
& & & & & & & & & & & & & & & & LSA=0;LSB=1;LSC=0;//显示第2位
& & & & & & & & & & & & case(3):
& & & & & & & & & & & & & & & & LSA=1;LSB=1;LSC=0;//显示第3位
& & & & & & & & & & & & case(4):
& & & & & & & & & & & & & & & & LSA=0;LSB=0;LSC=1;//显示第4位
& & & & & & & & & & & & case(5):
& & & & & & & & & & & & & & & & LSA=1;LSB=0;LSC=1;//显示第5位
& & & & & & & & & & & & case(6):
& & & & & & & & & & & & & & & & LSA=0;LSB=1;LSC=1;//显示第6位
& & & & & & & & & & & & case(7):
& & & & & & & & & & & & & & & & LSA=1;LSB=1;LSC=1;//显示第7位& & & &
& & & & & & & & }
& & & & & & & & GPIO_DIG=DisplayData;//发送段码
& & & & & & & & j=50;& & & & & & & & & & & & & & & & & & & & & & & &&&//扫描间隔时间设定
& & & & & & & & while(j--);& & & &
& & & & & & & & GPIO_DIG=0x00;//消隐
这个问题很含糊啊,首先,51单片机自带AD么,如果没带,AD芯片怎样选型……反正网上一大堆,楼主的要求不够详细
51单片机AD转换程序_百度文库
不知道带不带啊 但是我有例程&&和&&连接图
#ifndef& & & && &__XPT2046_H_
#define& &__XPT2046_H_
//---包含头文件---//
#include&reg51.h&
#include&intrins.h&
//---重定义关键词---//
#ifndef uchar
#define uchar unsigned char
#ifndef uint
#define uint&&unsigned int
#ifndef ulong
#define ulong&&unsigned long
//---定义使用的IO口---//
sbit CLK&&= P1^0;& & & && &//时钟& & & &&&
sbit CS& &= P1^1;& & & && &//片选
sbit DIN&&= P1^2;& & & && &//输入
sbit DOUT = P1^3;& & & && &//输出
uint Read_AD_Data(uchar cmd);
uint SPI_Read(void);
void SPI_Write(uchar dat);
#include&XPT2046.h&
/****************************************************************************
*函数名:TSPI_Start
*输&&入:无
*输&&出:无
*功&&能:初始化触摸SPI
****************************************************************************/
void SPI_Start(void)
& & & & CLK = 0;
& & & & CS&&= 1;
& & & & DIN = 1;
& & & & CLK = 1;
& & & & CS&&= 0;& & & & & & & &
/****************************************************************************
*函数名:SPI_Write
*输&&入:dat:写入数据
*输&&出:无
*功&&能:使用SPI写入数据
****************************************************************************/
void SPI_Write(uchar dat)
& & & & CLK = 0;
& & & & for(i=0; i&8; i++)
& & & & & & & & DIN = dat && 7;&&& & & & //放置最高位
& & & & & & & & dat &&= 1;
& & & & & & & & CLK = 0;& & & & & & & & & & & & //上升沿放置数据
& & & & & & & & CLK = 1;
/****************************************************************************
*函数名:SPI_Read
*输&&入:无
*输&&出:dat:读取 到的数据
*功&&能:使用SPI读取数据
****************************************************************************/
uint SPI_Read(void)
& & & & uint i, dat=0;
& & & & CLK = 0;
& & & & for(i=0; i&12; i++)& & & & & & & & //接收12位数据
& & & & & & & & dat &&= 1;
& & & & & & & & CLK = 1;
& & & & & & & & CLK = 0;
& & & & & & & & dat |= DOUT;
& & & && & & &
/****************************************************************************
*函数名:Read_AD_Data
*输&&入:cmd:读取的X或者Y
*输&&出:endValue:最终信号处理后返回的值
*功&&能:读取触摸数据
****************************************************************************/
uint Read_AD_Data(uchar cmd)
& & & & uint AD_V
& & & & CLK = 0;
& & & & CS&&= 0;
& & & & SPI_Write(cmd);
& & & & for(i=6; i&0; i--); & & & & //延时等待转换结果
& & & & CLK = 1;& & & && &//发送一个时钟周期,清除BUSY
& & & & _nop_();
& & & & _nop_();
& & & & CLK = 0;
& & & & _nop_();
& & & & _nop_();
& & & & AD_Value=SPI_Read();
& & & & CS = 1;
& & & & return AD_V& & & &
#include&reg51.h&
#include&XPT2046.h&
//--定义使用的IO--//
#define GPIO_DIG P0
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
//--定义全局变量--//
unsigned char code DIG_CODE[17]={
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
//0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F的显示码
unsigned char DisplayData[8];& & & & & & & & //用来存放要显示的8位数的值
void DigDisplay(void);
void main(void)
& & & & uint temp,
& & & & while(1)
& & & && &if(count==50)
& & & && &{
& & & && && & & & count=0;
& & & & //& & & & temp = Read_AD_Data(0x94);& & & & & & & & //& &AIN0 电位器
& & & & //& & & & temp = Read_AD_Data(0xD4);& & & & & & & & //& &AIN1 热敏电阻
& & & & & & & & temp = Read_AD_Data(0xA4);& & & & & & & & //& &AIN2 光敏电阻
& & & & //& & & & temp = Read_AD_Data(0xE4);& & & & & & & & //& &AIN3 外部输入
& & & && &}
& & & && &count++;
& & & && &
& & & && &DisplayData[0]=DIG_CODE[0];
& & & && &DisplayData[1]=DIG_CODE[0];
& & & && &DisplayData[2]=DIG_CODE[0];
& & & && &DisplayData[3]=DIG_CODE[0];
& & & && &DisplayData[4]=DIG_CODE[temp%];
& & & && &DisplayData[5]=DIG_CODE[temp%];
& & & && &DisplayData[6]=DIG_CODE[temp%100/10];
& & & && &DisplayData[7]=DIG_CODE[temp%10/1];
& & & && &DigDisplay();
void DigDisplay(void)
& & & & for(i=0;i&8;i++)
& & & & & & & & switch(i)& & & &&&//位选,选择点亮的数码管,
& & & & & & & & {
& & & & & & & & & & & & case(0):
& & & & & & & & & & & & & & & & LSA=0;LSB=0;LSC=0;//显示第0位
& & & & & & & & & & & & case(1):
& & & & & & & & & & & & & & & & LSA=1;LSB=0;LSC=0;//显示第1位
& & & & & & & & & & & & case(2):
& & & & & & & & & & & & & & & & LSA=0;LSB=1;LSC=0;//显示第2位
& & & & & & & & & & & & case(3):
& & & & & & & & & & & & & & & & LSA=1;LSB=1;LSC=0;//显示第3位
& & & & & & & & & & & & case(4):
& & & & & & & & & & & & & & & & LSA=0;LSB=0;LSC=1;//显示第4位
& & & & & & & & & & & & case(5):
& & & & & & & & & & & & & & & & LSA=1;LSB=0;LSC=1;//显示第5位
& & & & & & & & & & & & case(6):
& & & & & & & & & & & & & & & & LSA=0;LSB=1;LSC=1;//显示第6位
& & & & & & & & & & & & case(7):
& & & & & & & & & & & & & & & & LSA=1;LSB=1;LSC=1;//显示第7位& & & &
& & & & & & & & }
& & & & & & & & GPIO_DIG=DisplayData;//发送段码
& & & & & & & & j=50;& & & & & & & & & & & & & & & & & & & & & & & &&&//扫描间隔时间设定
& & & & & & & & while(j--);& & & &
& & & & & & & & GPIO_DIG=0x00;//消隐
(438.08 KB, 下载次数: )
(511.11 KB, 下载次数: )
这个问题很含糊啊,首先,51单片机自带AD么,如果没带,AD芯片怎样选型……反正网上一大堆,楼主的要求不够详细
51单片机AD转换程序_百度文库
以上是数码管显示光敏电阻阻值 但是我想实现lcd1206显示光敏电阻阻值 程序代码不会啊 我看霖锋视频教材他用lcd1206显示阻值代码特别简单&&为甚么这个用数码管显示代码却这么复杂 费劲
以上是数码管显示光敏电阻阻值 但是我想实现lcd1206显示光敏电阻阻值 程序代码不会啊 我看霖锋视频教材他用lcd1206显示阻值代码特别简单&&为甚么这个用数码管显示代码却这么复杂 费劲
因为数码管显示一般是利用位选数码管和眼睛的余辉扫描显示的,共用的数据线,需要进行数码管选通
LCD只要把字符串输进去就可以了,而且需要SPI协议,也不存在谁容易的概念吧
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司新出的便宜的单片机AD转换器,都有什么?价格多少?技术指标如何?
新出的便宜的单片机AD转换器,都有什么?价格多少?技术指标如何?
08-12-10 &
1. AD转换器的分类 下面简要介绍常用的几种类型的基本原理及特点:积分型、逐次逼近型、并行比较型/串并行型、∑-Δ调制型、电容阵列逐次比较型及压频变换型。 1)积分型(如TLC7135) 积分型AD工作原理是将输入电压转换成时间(脉冲宽度信号)或频率(脉冲频率),然后由定时器/计数器获得数字值。其优点是用简单电路就能获得高分辨率,但缺点是由于转换精度依赖于积分时间,因此转换速率极低。初期的单片AD转换器大多采用积分型,现在逐次比较型已逐步成为主流。 2)逐次比较型(如TLC0831) 逐次比较型AD由一个比较器和DA转换器通过逐次比较逻辑构成,从MSB开始,顺序地对每一位将输入电压与内置DA转换器输出进行比较,经n次比较而输出数字值。其电路规模属于中等。其优点是速度较高、功耗低,在低分辩率(&12位)时价格便宜,但高精度(&12位)时价格很高。 3)并行比较型/串并行比较型(如TLC5510) 并行比较型AD采用多个比较器,仅作一次比较而实行转换,又称FLash(快速)型。由于转换速率极高,n位的转换需要2n-1个比较器,因此电路规模也极大,价格也高,只适用于视频AD转换器等速度特别高的领域。 串并行比较型AD结构上介于并行型和逐次比较型之间,最典型的是由2个n/2位的并行型AD转换器配合DA转换器组成,用两次比较实行转换,所以称为Half flash(半快速)型。还有分成三步或多步实现AD转换的叫做分级(Multistep/Subrangling)型AD,而从转换时序角度又可称为流水线(Pipelined)型AD,现代的分级型AD中还加入了对多次转换结果作数字运算而修正特性等功能。这类AD速度比逐次比较型高,电路规模比并行型小。 4)∑-Δ(Sigma?/FONT&delta)调制型(如AD7705) ∑-Δ型AD由积分器、比较器、1位DA转换器和数字滤波器等组成。原理上近似于积分型,将输入电压转换成时间(脉冲宽度)信号,用数字滤波器处理后得到数字值。电路的数字部分基本上容易单片化,因此容易做到高分辨率。主要用于音频和测量。 5)电容阵列逐次比较型 电容阵列逐次比较型AD在内置DA转换器中采用电容矩阵方式,也可称为电荷再分配型。一般的电阻阵列DA转换器中多数电阻的值必须一致,在单芯片上生成高精度的电阻并不容易。如果用电容阵列取代电阻阵列,可以用低廉成本制成高精度单片AD转换器。最近的逐次比较型AD转换器大多为电容阵列式的。 6)压频变换型(如AD650) 压频变换型(Voltage-Frequency Converter)是通过间接转换方式实现模数转换的。其原理是首先将输入的模拟信号转换成频率,然后用计数器将频率转换成数字量。从理论上讲这种AD的分辨率几乎可以无限增加,只要采样的时间能够满足输出频率分辨率要求的累积脉冲个数的宽度。其优点是分辩率高、功耗低、价格低,但是需要外部计数电路共同完成AD转换。 2. AD转换器的主要技术指标 1)分辩率(Resolution) 指数字量变化一个最小量时模拟信号的变化量,定义为满刻度与2n的比值。分辩率又称精度,通常以数字信号的位数来表示。 2)转换速率(Conversion Rate)是指完成一次从模拟转换到数字的AD转换所需的时间的倒数。积分型AD的转换时间是毫秒级属低速AD,逐次比较型AD是微秒级属中速AD,全并行/串并行型AD可达到纳秒级。采样时间则是另外一个概念,是指两次转换的间隔。为了保证转换的正确完成,采样速率(Sample Rate)必须小于或等于转换速率。因此有人习惯上将转换速率在数值上等同于采样速率也是可以接受的。常用单位是ksps和Msps,表示每秒采样千/百万次(kilo / Million Samples per Second)。 3)量化误差(Quantizing Error) 由于AD的有限分辩率而引起的误差,即有限分辩率AD的阶梯状转移特性曲线与无限分辩率AD(理想AD)的转移特性曲线(直线)之间的最大偏差。通常是1 个或半个最小数字量的模拟变化量,表示为1LSB、1/2LSB。 4)偏移误差(Offset Error) 输入信号为零时输出信号不为零的值,可外接电位器调至最小。 5)满刻度误差(Full Scale Error) 满度输出时对应的输入信号与理想输入信号值之差。 6)线性度(Linearity) 实际转换器的转移函数与理想直线的最大偏移,不包括以上三种误差。 其他指标还有:绝对精度(Absolute Accuracy) ,相对精度(Relative Accuracy),微分非线性,单调性和无错码,总谐波失真(Total Harmonic Distotortion缩写THD)和积分非线性。 3. DA转换器 DA转换器的内部电路构成无太大差异,一般按输出是电流还是电压、能否作乘法运算等进行分类。大多数DA转换器由电阻阵列和n个电流开关(或电压开关)构成。按数字输入值切换开关,产生比例于输入的电流(或电压)。此外,也有为了改善精度而把恒流源放入器件内部的。一般说来,由于电流开关的切换误差小,大多采用电流开关型电路,电流开关型电路如果直接输出生成的电流,则为电流输出型DA转换器。此外,电压开关型电路为直接输出电压型DA转换器。 1)电压输出型(如TLC5620) 电压输出型DA转换器虽有直接从电阻阵列输出电压的,但一般采用内置输出放大器以低阻抗输出。直接输出电压的器件仅用于高阻抗负载,由于无输出放大器部分的延迟,故常作为高速DA转换器使用。 2)电流输出型(如THS5661A) 电流输出型DA转换器很少直接利用电流输出,大多外接电流—电压转换电路得到电压输出,后者有两种方法:一是只在输出引脚上接负载电阻而进行电流—电压转换,二是外接运算放大器。用负载电阻进行电流—电压转换的方法,虽可在电流输出引脚上出现电压,但必须在规定的输出电压范围内使用,而且由于输出阻抗高,所以一般外接运算放大器使用。此外,大部分CMOS DA转换器当输出电压不为零时不能正确动作,所以必须外接运算放大器。当外接运算放大器进行电流电压转换时,则电路构成基本上与内置放大器的电压输出型相同,这时由于在DA转换器的电流建立时间上加入了达算放入器的延迟,使响应变慢。此外,这种电路中运算放大器因输出引脚的内部电容而容易起振,有时必须作相位补偿。 3)乘算型(如AD7533) DA转换器中有使用恒定基准电压的,也有在基准电压输入上加交流信号的,后者由于能得到数字输入和基准电压输入相乘的结果而输出,因而称为乘算型DA转换器。乘算型DA转换器一般不仅可以进行乘法运算,而且可以作为使输入信号数字化地衰减的衰减器及对输入信号进行调制的调制器使用。 4)一位DA转换器 一位DA转换器与前述转换方式全然不同,它将数字值转换为脉冲宽度调制或频率调制的输出,然后用数字滤波器作平均化而得到一般的电压输出(又称位流方式),用于音频等场合。 4. DA转换器的主要技术指标: 1)分辩率(Resolution) 指最小模拟输出量(对应数字量仅最低位为‘1’)与最大量(对应数字量所有有效位为‘1’)之比。 2)建立时间(Setting Time) 是将一个数字量转换为稳定模拟信号所需的时间,也可以认为是转换时间。DA中常用建立时间来描述其速度,而不是AD中常用的转换速率。一般地,电流输出DA建立时间较短,电压输出DA则较长。 其他指标还有线性度(Linearity),转换精度,温度系数/漂移。
请登录后再发表评论!
我这里有DIP20封装的带11位精度AD、8路AD输入,2路PWM的单片机价格很低,如果量大我可以免费帮你开发好程序,并供应烧过程序的单片机每片只需2.7元!具体你可以Q我详谈。自己写程序要空片就不要找我了,呵呵!我是吃技术饭的。
请登录后再发表评论!

我要回帖

更多关于 单片机AD转换实验 的文章

 

随机推荐