第五章单片机外部资源扩充1AD转换zxl



《第五章单片机外部资源扩充1AD转换zxl》由会员分享,可在线阅读,更多相关《第五章单片机外部资源扩充1AD转换zxl(34页珍藏版)》请在文档大全上搜索。
1、随着数字技术,特别是计算机技术的飞速发展,在现代控制、通信及检测领域中,为提高系统性能指标,对信号的处理无不广泛地采用了数字计算机技术。由于系统的实际对象往往都是一些模拟量(如:温度、速度、压力、电压、电流、图像等),要使计算机或数字仪表能识别、处理这些信号,必须首先将这些模拟信号转换成数字信号;而经计算机分析、处理后输出的数字量往往需要将其转换为相应的模拟信号才能为执行机构所接收。这样就需要一种能在模拟信号与数字信号之间起桥梁作用的电路模/数转换器(A/D:Analog to Digital Converter)和数/模转换器(D/A: Digital to Analog Converter
2、)。也就出现了单片机的模/数转换(A/D)和数/模转换(D/A)的接口问题。物理量电 信号电压信号数字信号nn212满量程输入电压满量程输入电压 A/D转换器与单片机接口具有硬、软件相依性。 一般来说,A/D转换器与单片机的接口主要考虑的是数字量输出线的连接、ADC启动方式、转换结束信号处理方法以及时钟的连接等。START CLOCKSTART CLOCK对ADC0809来说,当Vref=5V时,3.5V模拟量对应的数字量是多少?对ADC0809来说,当Vref=5V时,若转换到的数字量为0 x7A,则对应的模拟量是多少?设计转换电路时,ADC0809应如何与8051连接?NoImageWRR
3、DP2.7ALEWRRDP2.7ALE#include reg51.h#include absacc.h #include “intrins.h #define IN0 XBYTE0 x0000 sbit AD_BUSY=P33;void main(void) while(1)IN0=0;_nop_();_nop_();_nop_();while(AD_BUSY=0); a=IN0; 外部RAM寻址方式lunsigned char xdata AIN0 _at_ 0 x7FFF0 x7FFF; l#include #include absacc.habsacc.hl#define AIN0 X
4、BYTE0 x7FFF#define AIN0 XBYTE0 x7FFFl/ /* *将将AIN0AIN0定义为外部定义为外部I IO O口,地址为口,地址为0 x7FFF,0 x7FFF,长度为长度为8 8位位* */ /lAIN0=0; /写操作写操作 产生产生WR信号信号la=AIN0; /读操作读操作 产生产生RD信号信号l对某通道A/D转换的通用函数#define IN0 XBYTE0 x7FFF sbit ad_busy=P33; uchar i; uchar xdata *ad_adr; ad_adr=&IN0; for(i=0;i8;i+) *ad_adr=0; _no