案例7 AD_DA转换

上传人:小*** 文档编号:243385258 上传时间:2024-09-22 格式:PPT 页数:40 大小:1.41MB
返回 下载 相关 举报
案例7 AD_DA转换_第1页
第1页 / 共40页
案例7 AD_DA转换_第2页
第2页 / 共40页
案例7 AD_DA转换_第3页
第3页 / 共40页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,8051扩充资源及其编程,常熟理工学院物电院,2014.12,扩充资源,8255、8155、8253,D/A,转换,A/D,转换,知识点,了解8255、8155、8253、,ADC0809、DAC0832,等常用器件的结构与功能,会设计相应的硬件电路;,掌握外部,RAM,概念,会根据硬件电路确定外部,RAM,地址,能正确对外,RAM,进行读写操作;,掌握用查询或中断方式对扩充资源编程。,A/D,转换-模拟数字转换,DAS:,数据采集系统(,Data Acquisition System),是指将温度、压力、流量、位移等模拟量进行取样、量化转换成数字量后,供后级处理器进行存储、处理、显示或打印的装置。,ADC0809,8位,A/D,转换器(28,PIN),IN0IN7:8,个模拟通道输入端。,ADDC、ADDB、 ADDA:,通道地址线(000111对应了8个通道),ALE:,地址锁存允许信号。,START:,启动转换信号。,EOC:,转换结束信号。,OE:,输出允许信号(允许读)。,CLK:,外部时钟脉冲输入端,典型值640,K。,VREF(+)、VREF(-):,参考电压输入端。,Vcc,:5V,电源。,GND:,地。,ADC0809,结构,模拟通道(8),数据线(,D7D0),地址线(,C、B、A),控制线,电压比较器(逐步逼近式),输出锁存器,转换公式:,Vin,=D/(281),Vref,A/D,转换精度,若,Vref,=5V,,则,8 位,A/D,转换精度:1/255*5,V=19.6mV,10,位,A/D,转换精度:1/1023*5,V=4.89mV,12,位,A/D,转换精度:1/4095*5,V=1.22mV,A/D,指标:,Vref,位,数,转换速率(串行、并行),通道数,ADC0809,转换,对,ADC0809,来说,当,Vref,=5V,时,3,V,模拟量对应的数字量是多少?,对,ADC0809,来说,当,Vref,=5V,时,若转换到的数字量为0,x7A,,则对应的模拟量是多少?,设计转换电路时,地址线(,C、B、A),和数据线(,D7D0),应如何与8051连接?,ADC0809,时序图,ADC0809,与,8051连接图,各通道地址不连续,ADC0809,与,8051连接图,各通道地址连续,ADC0809,与8051连接图,外部,RAM,读写操作语句,读、写,RAM,操作,#,include ,absacc,.h,XBYTE0x0000=0;,/,写操作,/,ADC0809,写操作(,START、ALE),向,地址为0,x0000(A15=0 A2A1A0=000),的外部,RAM,写(,WR#=0),字节数据0(,D7D0=00),a= XBYTE0x0000;/,读操作,/,ADC0809,读操作(,OE),从地址为0,x0000(A15=0 A2A1A0=000),的外部,RAM,读(,RD#=0),字节数据,(,D7D0),到变量,a,/,宏定义,#,define AIN0 XBYTE0x0000,AIN0=0; /,写操作,a=AIN0;,/,读操作,ADC0809,编程,ADC0809,编程-查询方式,#,include reg51.h,#include ,absacc,.h,#define AIN0 XBYTE0x0000,sbit,EOC=P33;,void main(void),unsigned char i=0;,while(1),AIN0=0; /,启动转换,i=i;,i=i;,while(EOC =0); /,等待,AD,转换结束,a=AIN0; /,读,AD,转换结果,为什么要两条,i=i,指令?,ADC0809,通用采集函数-查询方式,对某通道,A/D,转换的通用函数,unsigned char adc0809(unsigned char channel),unsigned char,xdata,*ad_,adr,;,unsigned char i,a;,ad_,adr,=,ad_,adr,=ad_,adr,+channel;,*ad_,adr,=0;,i=i;,i=i;,while(EOC =0);,a=*ad_,adr,;,return(a);,ADC0809,编程-中断方式,ADC0809,编程-中断方式,#,include ,absacc,.h,#define AIN0 XBYTE0x0000,sbit,EOC =P33;,unsigned char a;,void INT1_ISR(void) interrupt 0,a=AIN0; /,读,AD,转换结果,void main(void),unsigned char i=0;,IT0=1;,EX0=1;,EA=1;,while(1),if(-),AIN0=0; /,启动转换,i=i;,i=i;,例,:,AD,滤波(去噪):采样多次,去最高、去最低,求平均,unsigned char adc0809(unsigned char channel),unsigned char aver(unsigned char x,int,n),D/A,转换,常熟理工学院物电院,2014.12,DAC0832,引脚,DAC0832,结构,DAC0832,组成:,8位输入寄存器,8位,DAC,寄存器,8位,D/A,转换器,DAC0832,结构,DAC0832,有两级锁存器:,第一级:输入寄存器,第二级:,DAC,寄存器,DAC0832,工作方式:,单缓冲方式,双缓冲方式(见下),因此,,DAC0832,可工作在双缓冲方式下,这样在输出模拟信号的同时可以采集下一个数字量,这样可以有效地提高转换速度。,另外,有了两级锁存器,可以在多个,DA,转换器同时工作时,利用第二级锁存信号实现多路,DA,的同时输出,。,DAC0832,引脚功能,DI7DI0:8,位数据输入端。,ILE:,输入寄存器的数据允许锁存信号。,CS#:,输入寄存器选择信号。,WR1#:,输入寄存器的数据写信号。,XFER#:,数据向,DAC,寄存器传送信号,传送后即启动转换,WR2#:DAC,寄存器写信号,并启动转换。,Iout1,Iout2:,电流输出端。,Vref,参考电压输入端。,Rfb,:,反馈信号输入端。,Vcc,:,芯片供电电压。,AGND:,模拟电路地。,DGND:,数字地。,DAC0832,输出,DAC0832,的输出是电流型的,采用,I/V,转换电路:电流信号转电压信号,输出电压值为,D255 ,Vref,(8,位,D/A,转换)。参考电压可正,亦可,负,DAC0832,典型应用,利用虚短和虚断得,实现,I/V,转换,输出为负的,如何输出正的?,Vref,=-5V,DAC0832,典型应用,电压并联负反馈,利用虚短和虚断得,输出与输入反相,DAC0832,电路设计,如图引脚如何连接?,DAC0832,电路设计,741,实现,I/V,转换,Vref,=+5V,AGND、DGND,共地,DAC0832,的外,RAM,地址确定,DAC0832,时序图,8051外,RAM,写时序图,写,语句:,DAC0832=i;,外部,RAM,写操作,#,define DAC0832 XBYTE0x0000,DAC0832i;,功能:写外,RAM,操作,向地址为0,x7FFF,的外部,RAM,输出数据,i。,DAC0832,的单缓冲接口,输入寄存器、,DAC,寄存器共用一个地址,ILE,接5,V,,始终保持有效;,WR1#,和,WR2#,相连,接8051,的,WR#,,即数据同时写入两个寄存器;,Xfer,#(,传送允许信号)与,CS#(,片选)相连,即选中,DAC0832,后,写入数据立即启动转换。根据连线确定0832的地址为:,0000H,读,程序,说明功能,#,include ,absacc,.h,#include reg51.h,#define DAC0832 XBYTE0x0000,void stair(void),unsigned,int,i;,for(i=0;i255;i+),DAC0832=i;,void main(void),while(1),stair();,锯齿波电压输出,编写程序实现各信号输出,void wave_,rect,(void),void wave_stair(void),void wave_sin(void) /,正弦波输出,for(i=0;i2*PI;i+),DAC0832=i;,程序中有何问题?,正弦波输出程序,void wave_sin(void) /,正弦波输出,float,alfa,;,for(,alfa,=0;,alfa,PI;,alfa,+=0.1),DAC0832=(unsigned char)(127+127*sin(,alfa,);,for(,alfa,=0;,alfa,PI;,alfa,+=0.1),DAC0832=(unsigned char)(127-127*sin(,alfa,);,DAC0832,双缓冲方式电路框架,输入寄存器的控制信号(,CS),和,DAC,寄存器的控制信号(,Xfer,),分开控制,这种方式适用于几个模拟量需同时输出的系统,每一路模拟量输出需一个,DAC0832,,构成多个0832同步输出系统。,DAC0832,双缓冲接口电路,两片0832的输入寄存器各占一个单元地址,两个,DAC,寄存器占用同一单元地址。,操作:,先向两个0832的输入寄存器写入待转换数据,,后向两个,DAC,寄存器同时传送启动命令,传送的同时实现两路,DA,转换,。,DAC0832,寄存器外部,RAM,地址配置,DAC0832,的双缓冲程序,#,define INPUTR1 XBYTE0x8800,#define INPUTR2 XBYTE0xA000,#define DACR XBYTE0x2800,void dac2b(,unsigned char,data1,unsigned char,data2),INPUTR1=data1; /,送数据到 一片0832,INPUTR2=data2; /,送数据到另一片0832,DACR=0;,/,启动两路,D/A,同时转换,void main(void), dac2b(0x34,0x23); ,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!