单片机课件(ADC0809和DAC)

上传人:wu****ei 文档编号:245142973 上传时间:2024-10-07 格式:PPT 页数:29 大小:262.63KB
返回 下载 相关 举报
单片机课件(ADC0809和DAC)_第1页
第1页 / 共29页
单片机课件(ADC0809和DAC)_第2页
第2页 / 共29页
单片机课件(ADC0809和DAC)_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,9-3 A/D转换接口电路,一、,A/D转换的基本概念,A/D转换的功能是把模拟量电压转换为N位数字量。,设D为N位二进制数字量,UA为电压模拟量,UREF为参考电压,无论A/D或D/A,其转换关系为:,U,A,=DU,REF,/2,N,(其中:D=D,0,2,0,+D,1,2,1,+D,N-1,2,N-1,),1、,A/D转换器的主要性能指标:,转换精度,。转换精度通常用分辨率和量化误差来描述。,分辨率,。分辨率=U,REF,/2,N,表示输出数字量变化一个相邻数码所需输入模拟电压的变化量。,N为A/D转换的位数,N越大,分辨率越高,,习惯上分辨率常以A/D转换位数N表示。,量化误差,。量化误差是指零点和满度校准后,在整个转换范围内的最大误差。,转换时间,。指A/D转换器完成一次A/D转换所需时间。转换时间越短,适应输入信号快速变化能力越强。,2、,A/D转换器分类,A/D转换器分类:按,转换原理形式,可分为逐次逼近式、双积分式和V/F变换式;,按,信号传输形式,可分为并行A/D和串行A/D。,二、,并行A/D,ADC0809及其接口电路,1、,引脚功能和典型连接电路,IN0IN7,:,8路模拟信号输入端,。,C、B、A,:,8路模拟信号转换选择端,。,与低8位地址中A0A2连接。由A0A2地址000111选择IN0IN7八路A/D通道。,CLK,:,外部时钟输入端,。,时钟频率高,A/D转换速度快。允许范围为101280KHz。,通常由80C51 ALE端直接或分频后与0809 CLK端相连接。,D0D7,:,数字量输出端,。,OE,:,A/D转换结果输出允许控制端,。,OE=1,允许将A/D转换结果从D0D7端输出。通常由80C51的端与0809片选端(例如P2.0)通过或非门与0809 OE端相连接。,ALE,:,地址锁存允许信号输入端,。,0809 ALE信号有效时将当前转换的通道地址锁存。,START,:,启动A/D转换信号输入端,。,当START端输入一个正脉冲时,立即启动0809进行A/D转换。START端与ALE端连在一起,由80C51WR与0809片选端(例如P2.0)通过或非门相连。,EOC,:A/D转换结束信号输出端,高电平有效。,U,REF(+),、,U,REF(-),:,正负基准电压输入端,。,Vcc,:,正电源电压,(+5V)。,GND,:,接地端,。,2、,ADC 0809应用实例,中断方式,【例9-12】按图9-20,用中断方式对8路模拟信号依次A/D转换一次,并把结果存入以30H为首址的内RAM中,试编制程序。,解:,ORG 0000H,;复位地址,LJMP STAT,;转初始化程序,ORG 0013H,;中断服务子程序入口地址,LJMP PINT1,;中断,转中断服务子程序;,ORG 0100H,;初始化程序首地址,STAT:MOV R1,#30H,;置数据区首址,MOV R7,#8,;置通道数,SETB IT1,;置边沿触发方式,SETB EX1,;开中,SETB EA,;CPU开中,MOV DPTR,#0FEF8H,;置0809通道0地址,MOVX DPTR,A,;启动0通道A/D,LJMP MAIN,;转主程序,并等待A/D中断,ORG 0200H,;中断服务子程序首地址,PINT1:PUSH Acc,;保护现场,PUSH PSW,;,MOVX A,DPTR,;读A/D值,MOV R1,A,;存A/D值,INC DPTR,;修正通道地址,INC R1,;修正数据区地址,MOVX DPTR,A,;启动下一通道A/D,DJNZ R7,GORETI,;判8路采集完否?未完继续,CLR EX1,;8路采集已完,关中,GORETI:POP PSW,;恢复现场,POP Acc,;,RETI,;中断返回,查询方式,工作在查询方式时,0809 EOC端可不必通过反相器与或相连,直接与80C51 P1口或P3口中任一端线相连。,【例9-13】图9-20中,用P1.0直接与0809 EOC端相连,试用查询方式编制程序,对8路模拟信号依次A/D转换一次,并把结果存入以40H为首址的内RAM中。,解:,MAIN:MOV R1,#40H,;置数据区首址,MOV R7,#8,;置通道数,SETB P1.0,;置P1.0输入态,MOV DPTR,#0FEF8H,;置0809通道0地址,LOOP:MOVX DPTR,A,;启动A/D,JNB P1.0,$,;查询A/D转换结束否?未完继续查询等待,MOVX A,DPTR,;A/D已结束,读A/D值,MOV R1,A,;存A/D值,INC DPTR,;修改通道地址,INC R1,;修改数据区地址,DJNZ R7,LOOP,;判8路采集完否?未完继续,RET,;8路采集完毕,返回,延时等待方式,工作在延时等待方式时,0809 EOC端可不必与80C51相连,是根据时钟频率计算出A/D转换时间,略微延长后直接读A/D转换值。,【例9-14】图9-20中,0809 EOC端开路,fosc=6MHz,试用延时等待方式编制程序,对8路模拟信号依次A/D转换一次,并把结果存入以50H为首址的内RAM中。,解:编程如下:,MAIN:MOV R1,#50H,;置数据区首址,MOV R7,#8,;置通道数,MOV DPTR,#0FEF8H,;置0809通道0地址,LOOP:MOVX DPTR,A,;启动A/D,MOV R6,#17,;,DJNZ R6,$,;延时68,S:2机周17=34机周,2,S34=68,S,MOVX A,DPTR,;读A/D值,MOV R1,A,;存A/D值,INC DPTR,;修正通道地址,INC R1,;修正数据区地址,DJNZ R7,LOOP,;判8路采集完否?未完继续,RET,;8路采集完毕,返回,三、,串行A/D,ADC0832及其接口电路,ADC 0832是8位串行A/D转换器;,转换速度较高(250KHz时转换时间32,s);,单电源供电,功耗低(15mw)。,1、,引脚功能,V,DD,、,V,SS,:电源接地端,V,DD,同时兼任U,REF,;,CS,:片选端,低电平有效;,DI,:数据信号输入端;,DO,:数据信号输出端;,CLK,:时钟信号输入端,要求低于600KHz;,CH0,、,CH1,:模拟信号输入端(双通道),;,2、,典型应用电路,P1.0,片选CS;,TXD,发送时钟信号输入ADC0832 CLK;,RXD,与DI、DO端连接在一起。,编码,通道选择,CH0 CH1,00,01,10,11,表9-3,3、,串行A/D转换工作时序,工作时序分为二个阶段:,起始和通道配置,由CPU发送,从ADC0832 DI端输入;,A/D转换数据串行输出,由ADC 0832从DO端输出,CPU接收。,4、,软件编程,【例9-15】按图9-21(b)电路,试编制程序,将CH0、CH1通道输入的模拟信号A/D转换,分别存入30H31H中。,解:,AD0832:MOV SCON,#00H,;置串口方式0,禁止接收,CLR ES,;串口禁中,MOV R0,#30H,;置A/D数据存储区首址,CLR P1.0,;片选0832,MOV A,#06H,;置CH0通道配置,ADC0:MOV SBUF,A,;启动A/D,ADC1:JNB TI,ADC1,;串行发送启动及通道配置信号,CLR TI,;清发送中断标志,SETB REN,;允许(启动)串行接收,ADC2:JNB RI,ADC2,;接收第一字节,CLR RI,;清接收中断标志,同时启动接收第二字节,MOV A,SBUF,;读第一字节数据,MOV B,A,;暂存,说明,:,接收第一字节的8位数据为(注意先接收低位D4):,清串行接收中断标志后,启动串行接收第二字节,其数据为:,组合后的8位数据为:,高低4位互换后的8位数据为:,ADC3:JNB RI,ADC3,;接收第二字节,CLR RI,;清接收中断标志,MOV A,SBUF,;读第二字节数据,ANL A,#0FH,;第二字节屏蔽高4位,ANL B,#0FOH,;第一字节屏蔽低4位,ORL A,B,;组合,SWAP A,;高低4位互换,组成正确的A/D数据,MOV R0,A,;存A/D数据,INC R0,;指向下一存储单元,MOV A,#0EH,;置CH1通道配置,CJNE R0,#32H,ADC0,;判两通道A/D完毕否?未完继续,CLR REN,;两通道A/D完毕,禁止接收,SETB P1.0,;清0832片选,RET,;,D3,D2,D1,D0,D1,D2,D3,D4,D7,D6,D5,D4,D3,D2,D1,D0,D7,D6,D5,D4,D7,D6,D5,D4,D3,D2,D1,D0,四、,I,2,C串行A/D典型应用电路,I,2,C串行A/D,芯片,PCF8591,,同时具有A/D、D/A转换功能,。,1、,PCF8591引脚功能,SDA,、,SCL,:I,2,C总线数据线、时钟线;,A2,、,A1,、,A0,:引脚地址输入端;,AIN0AIN3,:模拟信号输入端,,OSC,:外部时钟输入端,内部时钟输出端;,EXT,:内外部时钟选择端,EXT=0时选择内部时钟;,V,DD,、,V,SS,:电源、接地端;,AGND,:模拟信号地;,U,REF,:基准电压输入端;,A,OUT,:D/A转换模拟量输出端;,该芯片既可用于A/D转换(模拟信号从AIN0AIN3输入),又可用于D/A转换(D/A转换模拟量从A,OUT,输出),器件地址为1001,若A2A1A0接地,D/A转换写寻址字节SLA,W,=90H,A/D转换读寻址字节SLA,R,=91H。,2、,硬件电路设计,3、,片内可编程功能,控制命令字,PCF8591内部有一个控制寄存器,用来存放控制命令,其格式如下:,COM,D7,D6,D5,D4,D3,D2,D1,D0,D1,、,D0,:,A/D通道编号,00:通道0;01:通道1;10:通道2;11:通道3;,D2,:,自动增量选择,D2=1时,A/D转换将按通道03依次自动转换;,D3,、,D7,:必须为0;,D5,、,D4,:,模拟量输入方式选择位,:,00:,输入方式0(,四路单端输入,);,01:,输入方式1(,三路差分输入,);,10:,输入方式2(,二路单端一路差分输入,);,11:,输入方式3(,二路差分输入,)。,D6,:,模拟输出允许,。D6=1,模拟量输出有效;,输入方式0(四路单端输入):,ANI0 通道0(单端输入),ANI1 通道1(单端输入),ANI2 通道2(单端输入),ANI3 通道3(单端输入),输入方式1(三路差分输入):,输入方式2(二路单端一路差分输入):,输入方式3(二路差分输入):,ADC数据操作格式,S,SLA,W,A,COM,A,S,SLA,R,A,Data0,A,Data1,A,发出控制命令(写操作),A/D转换(读操作),其中红色部分由80C51发送,PCF8591接收;,黑色部分由PCF8591发送,80C51接收;,4、,软件编程,【例9-16】按图9-23(b)编程将AIN0AIN3 4个通道的模拟信号A/D转换后,依次存入以50H为首址的内RAM中。设VIIC软件包已装入ROM,VSDA、VSCL、SLA、NUMB、MTD、MRD均已按8.3.2 软件包小结中协议定义。,解:,VADC:MOV SLA,#90H,;置发送寻址字节,MOV MTD,#00000100B,;置A/D转换控制命令,通道自动增量,MOV NUMB,#1,;置发送字节数,LCALL WRNB,;发送控制命令字,MOV R0,#50H,;置A/D数据区首址,VADC0:MOV SLA,#91H,;置接收寻址字节,MOV NUMB,#2,;置接收字节数,LCALL RDNB,;读A/D转换数据,MOV R0,41H,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


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

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


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