收藏 分销(赏)

单片机AD与DA转换备课讲稿.ppt

上传人:精**** 文档编号:11199958 上传时间:2025-07-05 格式:PPT 页数:24 大小:418.50KB 下载积分:10 金币
下载 相关 举报
单片机AD与DA转换备课讲稿.ppt_第1页
第1页 / 共24页
单片机AD与DA转换备课讲稿.ppt_第2页
第2页 / 共24页


点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单片机AD与DA转换,A/D 转换器接口,ADC0809是一个8位8通道的逐次逼近式AD转换器。,A/D 转换器接口,通道选择表,地址码,选择的通道,C B A,0 0 0,0 0 1,0 1 0,0 1 1,1 0 0,1 0 1,1 1 0,1 1 1,IN0,IN1,IN2,IN3,IN4,IN5,IN6,IN7,A/D 转换器接口,CLK:时钟信号,可由单片机ALE信号分频得到。,转换步骤,ALE信号上升沿有效,锁存地址并选中相应通道。,ST信号有效,开始转换。A/D转换期间ST为低电平。,EOC信号输出高电平,表示转换结束,。,OE信号有效,允许输出转换结果。,A/D 转换器接口,ADC0809 引脚图,A/D 转换器接口,ADC0809 引脚图,(1)IN7IN0:8个模拟量输入通道。,(2)ADDA、ADDB、ADDC:地址线。,(3)ALE:地址锁存允许信号。对应ALE上升沿,ADDA、ADDB和ADDC地址状态送入地址锁存器中,经译码后输出选择模拟信号输入通道。,(4)START:转换启动信号。对应START上跳沿时,所有内部寄存器清0;对应START下跳沿,开始进行A/D转换;在A/D转换期间,START应保持低电平。,(5)D7D0:数据输出线,为三态缓冲输出形式,可以和单片机的数据线直接相连。,A/D 转换器接口,ADC0809 引脚图,(6)OE:输出允许信号,用于控制三态输出锁存器向单片机输出转换得到的数据。当OE=0时,输出数据线呈高电阻;当OE=1时,输出转换得到的数据。,(7)CLK:时钟信号。ADC0809的内部没有时钟电路,所需时钟信号由外界提供,因此有时钟信号引脚。通常使用频率为500kHz的时钟信号(8)EOC转换结束状态信号。启动转换后,系统自动设置EOC=0,转换完成后,EOC=1。该状态信号既可作为查询的状态标志,又可以作为中断请求信号使用。,(9)Vref:参考电源。参考电压用来与输入的模拟信号进行比较,作为逐次逼近的基准,其典型值为+5V(Vref(+)=+5V,Vref(-)=0V)。,A/D 转换器接口,单片机系统扩展三总线,A/D 转换器接口,单片机系统扩展三总线,地址锁存器74LS373是带三态缓冲输出的8D锁存器。由于单片机的数据线与地址线的低8位共用P0口,因此必须用地址锁存器将地址信号和数据信号区分开。74LS373的锁存控制端G直接与单片机的锁存控制信号ALE相连,在ALE的下降沿锁存低8位地址。高8位地址由P2口直接提供。,系统扩展中常用的控制线有以下三条:,:控制程序存储器的读操作,在执行指令的取指阶段和从程序存储器中取数据时有效。,:控制数据存储器的读操作,从外部数据存储器或I/O端口中读取数据时有效。,:控制数据存储器的写操作,向外部数据存储器或I/O端口中写数据时有效。,A/D 转换器接口,ADC0809与8031单片机的连接,A/D 转换器接口,ADC0809的通道地址表,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,单片机,P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0,P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0,A15,A14,A13,A12,A11,A10,A9,A8,A7,A6,A5,A4,A3,A2,A1,A0,0809,ST,C,B,A,IN0,0,0,0,0,IN1,0,0,0,1,IN7,0,1,1,1,A/D 转换器接口,单片机与A/D转换器接口程序设计,主要有以下四个步骤:,启动A/D转换,START引脚得到下降沿。,查询EOC引脚状态,EOC引脚由0变1,表示A/D转换过程结束。,允许读数,将OE引脚设置为1状态。,读取A/D转换结果。,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,D/A 转换器接口,#include/该头文件中定义XBYTE关键字,#include,#define uchar unsigned char,#define IN0 XBYTE0 xfef8/设置AD0809的通道0地址,sbit ad_busy=P33;/定义EOC状态,void ad0809(uchar idata*x),uchar i;,uchar xdata*ad_adr;/定义指向外部RAM的指针,ad_adr=/通道0的地址送ad_adr,for(i=0;i8;i+)/处理8通道,*ad_adr=0;/写外部I/O地址操作,启动转换,写的内容不重要,只需写操作,i=i;/延时等待EOC变低,i=i;,while(ad_busy=0);/查询等待转换结束,xi=*ad_adr;/读操作,输出允许信号有效,存转换结果,ad_adr+;/地址增1,指向下一通道,void main(void),static uchar idata ad10;/static是静态变量的类型说明符,ad0809(ad);/采样AD0809通道的值,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,指针,指针变量的定义,数据类型 *指针变量名;,例如:,int i,j,k,*i_ptr;/定义整型变量i,j,k和整型指针变量i_ptr,为变量i赋值的方法有以下两种:,直接方式:,i=10;/将整数10送入地址为2000和2001的单元内(整型数据占两个存储单元2000和2001),间接方式:,i_ptr=/变量i的地址送给指针变量i_ptr,i_ptr=2000,*i_ptr=10;/将整数10送入i_ptr指向的存储单元中,即2000单元,指针,指针运算符,(1)取地址运算符,取地址运算符&是单目运算符,其功能是取变量的地址,例如:,i_ptr=/变量i的地址送给指针变量i_ptr,i_ptr=2000,(2)取内容运算符,取内容运算符*是单目运算符,用来表示指针变量所指的单元的内容,在*运算符之后跟的必须是指针变量。,例如:,j=*i_ptr;/将i_ptr所指的单元2000的内容10赋给变量j,则j=10,指针,指针变量的赋值运算,把一个变量的地址赋予指向相同数据类型的指针变量,int i,*i_ptr;,i_ptr=,把一个指针变量的值赋予指向相同类型变量的另一个指针变量,int i,*i_ptr,*m_ptr;,i_ptr=,m_ptr=i_ptr;,把数组的首地址赋予指向数组的指针变量,int a5,*ap;,ap=a;ap=,int a5,*ap=a;,把字符串的首地址赋予指向字符类型的指针变量,unsigned char *cp;,cp=“Hello World!”;,这里应该说明的是,并不是把整个字符串装入指针变量,而是把存放该字符串的字符数组的首地址装入指针变量。,D/A 转换器接口,D/A转换器输入的是数字量,经转换后输出的是模拟量。DAC0832是一个8位D/A转换器。单电源供电,从+5V+15V范围均可正常工作。基准电压的范围为10V;电流建立时间为1s;CMOS工艺,低功耗(仅为20mW)。,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,D/A 转换器接口,.,.,.,.,.,.,.,.,.,.,.,.,.,.,.,DAC0832 内部结构框图,D/A 转换器接口,DAC0832 内部结构框图,DAC0832由输入寄存器和DAC寄存器构成两级数据输入锁存。使用时数据输入可以采用两级锁存(双锁存)形式、或单级锁存(一级锁存,另一级直通)形式,或直接输入(两级直通)形式。,此外,由三个与门电路可组成寄存器输出控制逻辑电路,该逻辑电路的功能是进行数据锁存控制。当=0时,输入数据被锁存;当=1时,锁存器的输出跟随输入的数据。,D/A 转换器接口,DAC0832各引脚信号说明,D/A 转换器接口,单片机与DAC0832单缓冲连接方式,D/A 转换器接口,单片机与DAC0832单缓冲连接方式产生三角波程序,#include/绝对地址访问头文件,#include,#define uchar unsigned char,#define uint unsigned int,#define DA0832 XBYTE0 x7fff,void delay_1ms();/延时1ms程序,void main(void),uchar i;,TMOD=0 x10;/置定时器1为方式1,while(1),for(i=0;i=0;i-)/形成三角波输出值,最大255,DA0832=i;/D/A转换输出,delay_1ms();,D/A 转换器接口,DAC 0832 的双缓冲方式连接,此课件下载可自行编辑修改,仅供参考!感谢您的支持,我们努力做得更好!谢谢,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服