单片机接口技术(C51版) 张道德 第九章新.ppt
文本预览下载声明
单片机接口技术(C51版) 第九章 数据采集编程 内容概述 本章主要介绍单片机系统数据采集的方法及软硬件设计。 教学目标 1.了解D/A及A/D的转换在单片机系统的作用和意义。 2. 理解D/A转换器的分辩率、转换精度、线性度等主要性能指标的含义,了解DAC0832的内部结构,掌握DAC0832的单极性输出、双极性输出以及直通、单缓冲、双缓冲等工作方式,能设计相关的接口电路并编写相应的C51源程序。 3.理解逐次逼近型A/D转换器的工作原理,理解ADC0809的引脚工作时序,能设计ADC0809与单片机的接口电路,能对查询、中断、延时三种工作方式的ADC0809编写相应的C51程序。 4.了解串行输入输出A/D转换器TLC0832的结构及工作原理,能设计该芯片的应用电路,并根据芯片的时序图编写TLC0832读、写数据的C51源程序。 9.1 概述 D/A转换器(Digital to Analog Converter)是一种能把数字量转换成模拟量的电子器件。 A/D转换器(Analog to Digital Converter)则相反,它能把模拟量转换成相应数字量。 9.2 D/A转换器DAC0832 9.2.1 D/A转换器的性能指标 DAC性能指标颇多,主要有以下四个: 分辨率(Resolution):D/A转换器能分辨的最小输出模拟增量,取决于输入数字量的二进制位数。一个n位的DAC所能分辨的最小电压增量定义为满量程值的2-n倍。 例如:满量程为10V的8位DAC芯片的分辨率为10V×2-8=39mV;一个同样量程的16位DAC的分辨率高达10V×2-16=153μV 。 转换精度(Conversion Accuracy):指满量程时DAC的实际模拟输出值和理论值的接近程度。对T型电阻网络的DAC,其转换精度和参考电压VREF、电阻值和电子开关的误差有关。 例如:满量程时理论输出值为10V,实际输出值是在9.99V—10.01V之间,其转换精度为±10mV 。通常,DAC的转换精度为分辨率之半,即为LSB/2。LSB是分辨率,是指最低一位数字量变化引起幅度的变化量。 9.2.1 D/A转换器的性能指标 偏移量误差(Offset Error):指输入数字量为零时,输出模拟量对零的偏移值。这种误差通常可以通过DAC的外接VREF和电位计加以调整。 线性度(Linearity):DAC的实际转换特性曲线和理想直线之间的最大偏移差。通常,线性度不应超出 ±LSB。 除上述指标外,转换速度(Conversion Rate)和温度灵敏度(Temperature Sensitivity)也是DAC的重要技术参数。 9.2.2 DAC0832引脚及内部结构 1)DAC0832内部结构 2)引脚功能 9.2.3 DAC0832的应用 DAC用作单极性电压输出 VREF/256为一常数。 显然,Vout和B成正比关系。输入数字量B为0时,Vout也为0,输入数字量为256时,Vout为负的最大值,输出电压为负的单极性。 DAC0832用作双极性电压输出 接线方法 由 得出 9.2.4 DAC0832应用实例 1)直通方式 2)单缓冲方式 例9-2-1 DAC0832用作波形发生器 按上页的图接线,分别写出产生锯齿波和方波的程序。 解:在图9-2-5中,运算放大器OA输出端VOUT直接反馈到RFB,故这种接线产生的模拟输出电压是单极性的。 源程序如下: #pragma db oe sb #includereg51.h #includeabsacc.h #define DAC0832 XBYTE[0x7fff] /* 定义DAC0832端口地址 */ #define uchar unsigned char void delay(uchar t) { /* 延时函数 */ while(t--); } 源程序 void saw(void) { /* 锯齿波发生函数 */ uchar i; for (i=0;i255;i++) { DAC0832=i; } } void square(void) { /* 方波发生函数 */ DAC0832=0x00; delay(0x10); DAC0832=0xff;
显示全部