




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、ADC0809引脚结构功能说明图:15、2628,IN0IN7:8路模拟量输入端。1415、8、1721,D0D7:8位数字量输出端。2325,ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路22,ALE:地址锁存允许信号,输入,高电平有效,对应ALE上跳沿,A、B、C地址状态送入地址锁存器中。6,START:AD转换启动信号,输入高电平有效,START上升沿时,复位ADC0809;START下降沿时启动芯片,开始进行A/D转换;在A/D转换期间,START应保持 低电平。本信号有时简写为ST.7,EOC:AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 9,OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量,用于控制三态输出锁存器向单片机输出转换得到的数据。OE=0,输出数据线呈高阻;OE=1,输出转换得到的数据。10,CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ,EOC=0,正在进行转换;EOC=1,转换结束。使用中该状态信号即可作为查询的状态标志,又可作为中断请求信号使用。12、16,REF(+)、REF(-):基准电压。 11,Vcc:电源,单一5V。 13,GND:地。 二、ADC0809与51单片机的接口电路1、说明: D0D7接51单片机的P2口(P2.0P2.7)ADIN1和ADIN2为通道IN0和IN1的电压模拟量输入(05V)应用程序如下:#includereg52.h#define uchar unsigned charsbit ST=P10;sbit EOC=P11;sbit OE=P12;sbit CLK=P13;sbit ADDCS=P14;uchar AD_DATA2;/保存IN0和IN1经AD转换后的数据/*延时函数*/void delay(uchar i)uchar j;while(i-)for(j=125;j0;j-);/*系统初始化*/void init()EA = 1;/开总中断TMOD = 0x02;/设定定时器T0工作方式TH0=216;/利用T0中断产生CLK信号TL0=216;TR0=1; /启动定时器T0ET0=1;ST=0;OE=0;/*T0中断服务程序*/void t0(void) interrupt 1 using 0CLK=CLK;/*AD转换函数*/void AD()ST=0;ADDCS=0;/选择通道IN0delay(10);ST=1;/启动AD转换delay(10);ST=0;while(0=EOC);OE=1;AD_DATA0=P2;OE=0;ST=0;ADDCS=1;/选择通道IN1delay(10);ST=1;/启动AD转换delay(10);ST=0;while(0=EOC);OE=1;AD_DATA1=P2;OE=0;/*主函数*/void main()init();while(1) AD();注: 由于ADC0809内部不带时钟电路,因此用51单片机的定时器T0来产生时钟信号。在通道选择时,由于B,C接地,当A(ADDCS)为低电平时选择IN0,A为高电平时选择IN12、利用单片机AT89S51与ADC0809设计一个数字电压表,实验任务利用单片机AT89S51与ADC0809设计一个数字电压表,能够测量05V之间的直流电压值,四位数码显示,但要求使用的元器件数目最少。3 系统板上硬件连线(1)把“单片机系统”区域中的P1.0P1.7与“动态数码显示”区域中的ABCDEFGH端口用8芯排线连接,数码管段码控制。(2)把“单片机系统”区域中的P2.0P2.3与“动态数码显示”区域中的S1S2S3S4端口用8芯排线连接,数码管位码控制。(3)把“单片机系统”区域中的P3.0与“模数转换模块”区域中的ST端子用导线相连接,转换启动控制。(4)把“单片机系统”区域中的P3.1与“模数转换模块”区域中的OE端子用导线相连接,数据输出控制。(5)把“单片机系统”区域中的P3.2与“模数转换模块”区域中的EOC端子用导线相连接,转换结束标志。(6)把“单片机系统”区域中的P3.3与“模数转换模块”区域中的CLK端子用导线相连接,为转换器提供脉冲。(7)把“模数转换模块”区域中的A2A1A0端子用导线连接到“电源模块”区域中的GND端子上,始终选择IN0单通道(8)把“模数转换模块”区域中的IN0端子用导线连接到“三路可调电压模块”区域中的VR1端子上,调节电压变化。(9)把“单片机系统”区域中的P0.0P0.7用8芯排线连接到“模数转换模块”区域中的D0D1D2D3D4D5D6D7端子上,数字结果输出。4 程序设计内容i.由于ADC0809在进行A/D转换时需要有CLK信号,而此时的ADC0809的CLK是接在AT89S51单片机的P3.3端口上,也就是要求从P3.3输出CLK信号供ADC0809使用。因此产生CLK信号的方法就得用软件来产生了。ii.由于ADC0809的参考电压VREFVCC,所以转换之后的数据要经过数据处理,在数码管上显示出电压值。实际显示的电压值(D/256*VREF)5 C语言源程序#include unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;unsigned char dispbuf8=10,10,10,10,10,0,0,0;unsigned char dispcount;unsigned char getdata;unsigned int temp;unsigned char i;sbit ST=P30;sbit OE=P31;sbit EOC=P32;sbit CLK=P33;void main(void) ST=0; OE=0; ET0=1; ET1=1; EA=1; TMOD=0x12; TH0=216; TL0=216; TH1=(65536-4000)/256; TL1=(65536-4000)%256; TR1=1; TR0=1; ST=1; ST=0; while(1) if(EOC=1) OE=1; getdata=P0; OE=0; temp=getdata*235; temp=temp/128; i=5; dispbuf0=10; dispbuf1=10; dispbuf2=10; dispbuf3=10; dispbuf4=10; dispbuf5=0; dispbuf6=0; dispbuf7=0; while(temp/10) dispbufi=temp%10; temp=temp/10; i+; dispbufi=temp; ST=1; ST=0; void t0(void) interrupt 1 using 0 CLK=CLK;void t1(void) interrupt 3 using 0 TH1=(65536-4000)/256; TL1=(65536-4000)%256; P1=dispcodedispbufdispcount;/显示电压值 P2=dispbitcodedispcount;/位码控制 if(dispcount=7) P1=P1 | 0x80; dispcount+; if(dispcount=8) dispcount=0; 三、ADC0809应用说明1、(1) ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2) 初始化时,使ST和OE信号全为低电平。 (3) 送要转换的哪一通道的地址到A,B,C端口上。 (4) 在ST端给出一个至少有100ns宽的正脉冲信号。 (5) 是否转换完毕,我们根据EOC信号来判断。 (6) 当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。2、ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE1,输出转换得到的数据;OE0,输出数据线呈高阻状态。D7D0为数字量输出线。 CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ, VREF(),VREF()为参考电压输入。(1) 进行A/D转换时,采用查询EOC的标志信号来检测A/D转换是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。(2) 进行A/D转换之前,要启动转换的方法: ABC110选择第三通道 ST0,ST1,ST0产生启动转换的正脉冲信号 .3、ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。4、C语言源程序#include unsigned char code dispbitcode=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/位码数组unsigned char code dispcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00;/段码数组unsigned char dispbuf8=10,10,10,10,10,0,0,0;unsigned char dispcount;sbit ST=P30;sbit OE=P31;sbit EOC=P32;unsigned char channel=0xbc;/IN3unsigned char getdata;void main(void) TMOD=0x01; TH0=(65536-4000)/256; TL0=(65536-4000)%256; TR0=1; ET0=1; EA=1;P3=channel;while(1)ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P0;OE=0;dispbuf2=getdata/100;/分离百位getdata=getdata%100;/除去百位dispbuf1=getdata/10;/分离10位dispbuf0=getdata%10;/分离各位void t0(void) interrupt 1 using 0TH0=(65536-4000)/256;TL0=(65536-4000)%256;P1=dispcodedispbufdispcount;/采样数据 P2=dispbitcodedispcount;/打开所要显示数据的位码dispcount+;if(dispcount=8)dispcount=0; 四、ADC0809的内部结构1、ADC0809的内部逻辑结构图如图9-7所示。表9-1 通道选择表2. 转换数据的传送 A/D转换后得到的数据应及时传送给单片机进行处理。数据传送的关键问题是如何确认A/D转换的完成,因为只有确认完成后,才能进行传送。为此可采用下述三种方式。(1)定时传送方式 对于一种A/D转换其来说,转换时间作为一项技术指标是已知的和固定的。例如ADC0809转换时间为128s,相当于6MHz的MCS-51单片机共64个机器周期。可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。(2)查询方式A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询方式,测试EOC的状态,即可却只转换是否完成,并接着进行数据传送。(3)中断方式 把表明转换完成的状态信号(EOC)作为中断请求信号,以中断方式进行数据传送。不管使用上述那种方式,只要一旦确定转换完成,即可通过指令进行数据传送。首先送出口地址并以信号有效时,OE信号即有效,把转换数据送上数据总线,供单片机接受。不管使用上述那种方式,只要一旦确认转换结束,便可通过指令进行数据传送。所用的指令为MOVX 读指令,仍以图9-17所示为例,则有MOV DPTR , #FE00HMOVX A , DPTR 该指令在送出有效口地址的同时,发出有效信号,使0809的输出允许信号OE有 效,从而打开三态门输出,是转换后的数据通过数据总线送入A累加器中。 这里需要说明的是,ADC0809的三个地址端A、B、C即可如前所述与地址线相连,也可与数据线相连,例如与D0D2相连。这是启动A/D转换的指令与上述类似,只不过A的内容不能为任意数,而必须和所选输入通道号IN0IN7相一致。我为了这个ADC0809已经痛苦了好几天了,今天终于成功了。算是一个里程碑了。为了纪念它,把东西发上来。电路图PCB图实物图程序#include#includesbit CLOCK=P27; sbit OE=P26;sbit START=P25;unsigned char _data;void init()SM0=0; /SM01组合代表8位uart方式,波特率可变SM1=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保定学院《多媒体制作》2023-2024学年第一学期期末试卷
- 山东石油化工学院《工程项目管理信息系统及软件应用》2023-2024学年第一学期期末试卷
- 浙江理工大学《幼儿园教育活动设计与实施科学领域》2023-2024学年第一学期期末试卷
- 2025至2030汽车改装行业市场发展现状及竞争形势及有效策略与实施路径评估报告
- 业主聚餐活动策划方案
- 业务推动活动方案
- 培训技能类活动方案
- 大型活动报备活动方案
- 夜游跨年活动方案
- 大气公司活动策划方案
- 材料科学基础知到智慧树章节测试课后答案2024年秋西南科技大学
- 道路交通安全上下班安全培训教育课件
- 2024年司法考试完整真题及答案
- 2025年职业教育专业岗位技能资格知识考试题库与答案
- 工程项目生命周期概述
- 《女性经期营养》课件
- 防洪防汛桌面演练
- 炎症性肠病营养指南
- 2024年执业药师继续教育专业答案
- 神经系统体格检查课件(共81张课件)
- 小学三年级下册英语(牛津上海一起点)全册语法知识点总结
评论
0/150
提交评论