欢迎来到天天文库
浏览记录
ID:5956222
大小:579.00 KB
页数:28页
时间:2017-11-14
《第8章 单片机典型外围接口技术》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章单片机典型外围接口技术单片机原理、接口及应用内容提要★A/D、D/A接口技术★A/D接口技术★D/A接口技术8.1A/D、D/A接口技术在前一章并行接口的扩展中,解决了数字量或开关量的检测和控制,然而很多应用系统中,测控的对象是模拟量,计算机只能处理数字量,因此必须进行数字量和模拟量之间的转换,这就需要使用A/D或D/A接口。A/D和D/A接口又有串行接口和并行接口之分。本章主要介绍并行D/A和A/D转换接口。一、采样、量化、编码1、采样:按相等的时间间隔t从模拟信号上截取一个个离散的瞬时值采
2、样率fs=1/t(fs越高,单位时间内采得的信号越多,越接近原信号)采样3.75.36.36.45.13.21.81.2量化35665311编码0111011101101010110010012、量化:将满量程(FSR)电压值(由参考电压VR设定的)分为2n等分,然后将采样所得的模拟量与这些分层进行比较,落在哪个分层内,便量化为相应的数字量量化单位q:每个分层所包含的最大值和最小值之差2nn=3实际N位ADCN=8、10、12、162n3、编码:将量化所得的数字量用不同的代码来表示自然二进制码小数N
3、N=di=0或1最高有效位MSB最低有效痊LSB8.1.1A/D接口技术8.1.1.1A/D概述模数AD转换器是一种用来将连续的模拟信号转换成二进制数的器件。一个完整的A/D变换器通常包括这样的一些输入、输出信号:模拟输入信号和参考电压;数字输出信号;启动转换信号;转换结束信号;数据输出允许信号等。高速A/D一般还应有采样保持电路,以减少孔径误差(在A/D转换的孔径时间内,因输入模拟量的变动所引起输出的不确定性误差)。A/D转换器的主要技术指标有:①分辨率输出数字量变化一个相邻数码所需输入模拟电压的
4、变化量。通常用位数表示,对n位的A/D转换器,分辨率为满刻度电压的1/2n。②转换误差指一个实际的A/D转换器量化值与一个理想的A/D转换器量化值之间的最大偏差,通常以最低有效位的倍数给出。转换误差和分辨率一起共同描述A/D转换器的转换精度。值得一提的是,转换误差或转换精度的概念在国内外不同的参考文献上含义或形式可能会有所不一样,读者在阅读时应该注意类别区别。③转换时间与转换速率A/D转换器完成一次转换所需要的时间为A/D的转换时间。转换时间的倒数为转换速率,即1秒种完成转换的次数。ADC0809是
5、逐次逼近型八位A/D转换器,片内有八路模拟开关,可对八路模拟电压量实现分时转换。典型转换速度100μs。片内带有三态输出缓冲器,可直接与单片机的数据总线相连接。ADC0809的引脚见图,其信号意义如下:CLK时钟信号,典型值为500~640KHZVREF+、VREF-基准电压输入,通常VREF+接+5V、VREF-接地ALE地址锁存允许,其上升缘锁存ADDC~ADDA的地址信号8.1.1.2ADC0809的扩展接口ALEADDAADDBADDCSTARTEOC~D0D7OECLKVREF
6、+VREF-VCCIN0IN7GNDADC0809STARTA/D转换启动信号,上升沿启动A/D转换。EOC转换完成信号,启动转换后,EOC输出低电平,转换完成后输出高电平。该信号可用作向单片机提出中断申请,或者作为查询信号。OE数字量输出允许信号,该引脚输入高电平时,转换后的数字量从D0~D7脚输出。IN0~IN7模拟电压输入,八个引脚可分别接八路模拟信号。ADDA、ADDB、ADDC通道选择信号,其输入电平的组合选择模拟通道IN0~IN7之一:ADDC、ADDB、ADDA模拟通道000IN00
7、01IN1……111IN7…转换结束信号EOC根据不同的方式和单片机的连结方式不同:采用延时方式EOC悬空,在启动转换后延时100μs,再读转换结果;采用查询方式,可将EOC接并行口(P1或P3)的某线,检测EOC变高后,再读入转换结果。采用中断方式,可将EOC经非门反相接到单片机的中断请求端,一旦转换完成EOC变为高电平,向8XX51提出中断请求,进入中断服务后读入转换结果。如图10.12是一个中断方式的接口电路。图8.3ADC0809和8XX51的连结ALE~2731~D0D7Q0Q1Q2373
8、G1INT1P08XX51RDWRCLKQALEDQALEADDAADDBADDCSTARTEOC~D0D7OECLKIN0IN7VREF+VREF-VCCGNDADC080988P2.7+5V11主程序:ORG0000HLJMPMAINORG0013H;INT1中断入口地址LJMPINT1ORG0030HMAIN:MOVR0,#60H;置数据存储区首址MOVR2,#08H;置八路数据采集初值SETBIT1;设置边延触发中断SETBEASETBEX1
此文档下载收益归作者所有