版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1/ 12AD0809 应用原理很全面的资料1. 0809 的芯片说明:ADC0809 是带有 8 位 A/D 转换器、8 路多路开关以及微处理机兼容的控制逻辑的CMOS 组件。它是逐次逼近式 A/D 转换器,可以和单片机直接接口。(1)ADC0809 的内部逻辑结构由上图可知,ADC0809 由一个 8 路模拟开关、一个地址锁存与译码器、一个 A/D 转 换器和一个三态输出锁存器组成。多路开关可选通 8 个模拟通道,允许 8 路模拟量分 时输入,共用 A/D 转换器进行转换。三态输出锁器用于锁存 A/D 转换完的数字量,当 OE 端为高电平时,才可以从三态输出锁存器取走转换完的数据。(2).
2、引脚结构IN0 IN7 : 8 条模拟量输入通道ADC0809 对输入模拟量要求:信号单极性,电压范围是 0 5V,若信号太小,必 须进行放大;2/ 12输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需 在输入前增加采样保持电路。地址输入和控制线:4 条ALE 为地址锁存允许输入线,高电平有效。当 ALE 线为高电平时,地址锁存 与译码器将 A,B,C 三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟 量进转换器进行转换。A,B 和 C 为地址输入线,用于选通 IN0 IN7 上的一路模拟量 输入。通道选择表如下表所示。CBA选择的 通道000IN0001IN10 10I
3、N201|1IN31 00IN41 01IN5【110IN6【111IN7数字量输出及控制线:11 条ST 为转换启动信号。当 ST 上跳沿时,所有内部寄存器清零;下跳沿时,开始进行 A /D 转换;在转换期间,ST 应保持低电平。EOC 为转换结束信号。当 EOC 为高电平 时,表明转换结束;否则,表明正在进行 A/D 转换。0E 为输出允许信号,用于控制 三条输出锁存器向单片机输出转换得到的数据。0E = 1,输出转换得到的数据;0E=0,输出数据线呈高阻状态。D7 D0 为数字量输出线。CLK 为时钟输入信号线。因 ADC0809 的内部没有时钟电路,所需时钟信号必须由外 界提供,通常使
4、用频率为 500KHZ,VREF ( + ), VREF ()为参考电压输入。2.ADC0809 应用说明(1).ADC0809 内部带有输出锁存器,可以与 AT89S51 单片机直接相连。(2).初始化时,使 ST 和 OE 信号全为低电平。(3).送要转换的哪一通道的地址到 A,B,C 端口上。(4).在 ST 端给出一个至少有 100ns 宽的正脉冲信号。(5).是否转换完毕,我们根据 EOC 信号来判断。(6) .当 EOC 变为高电平时,这时给 OE 为高电平,转换的数据就输出给单片机 了。3.实验任务如下图所示,从 ADC0809 的通道 IN3 输入 0 5V 之间的模拟量,通过
5、 ADC0809 转 换成数字量在数码管上以十进制形成显示出来。ADC0809 的 VREF 接+ 5V 电压。4.电路原理图3/ 125.程序设计:(1) .进行 A/D 转换时,采用查询 EOC 的标志信号来检测 A/D 转换是否完毕,若 完毕则把数据通过 P0 端口读入,经过数据处理之后在数码管上显示。(2).进行 A/D 转换之前,要启动转换的方法:ABC = 110 选择第三通道ST = 0,ST = 1,ST = 0 产生启动转换的正脉冲信号.(3).关于 0809 的计算:ad0809 是根据逐位逼近的方法产生数据的。参考电压为 0-5V 的话。以 0809 八位 255 的转换
6、精度每一位的电压值为(5-0)/2550.0196V设输入电压为 X 则:X-27*0.0196=0则AD7=1 否则AD7=0。X-26*0.0196=0则AD6=1 否则AD6=0。X-20*0.0196=0则AD0=1 否则AD0=0。(27 指 2 的 7 次方。26-20 同理)若参考电压为 0-1V(1-0)/2550.0039V 精度自然高了。可测量范围小了。1)汇编源程序:CH EQU 30HDPCNT EQU 31HDPBUF EQU33HGDATA EQU32HST BITP3.0OE BIT P3.1EOC BIT P3.2ORG OOHLJMP STARTORG OBH
7、LJMP TOXORG 30HSTART: MOV CH,#0BCHMOV DPCNT,#00HMOV R1,#DPCNTMOV R7,#5MOV A,#104/ 12MOV R0,#DPBUFLOP: MOV R0,AINC R0DJNZ R7,LOPMOV R0,#00HINC R0MOV R0,#00HINC R0MOV R0,#00HMOV TMOD,#01HMOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256SETB TR0SETB ET0SETB EAWT: CLR STSETB STCLR STWAIT: JNB EOC,W
8、AITSETB OEMOV GDATA,P0CLR OEMOV A,GDATAMOV B,#100DIV ABMOV 33H,AMOV A,BMOV B,#10DIV ABMOV 34H,AMOV 35H,BSJMP WTT0X: NOP5/ 12MOV TH0,#(65536-4000)/256MOV TL0,#(65536-4000) MOD 256MOV DPTR,#DPCDMOV A,DPCNTADD A,#DPBUFMOV R0,AMOV A,R0MOVC A,A+DPTRMOV P1,AMOV DPTR,#DPBTMOV A,DPCNTMOVC A,A+DPTRMOV P2,AIN
9、C DPCNTMOV A,DPCNTCJNE A,#8,NEXTMOV DPCNT,#00HNEXT: RETIDPCD: DB 3FH,06H,5BH,4FH,66HDB 6DH,7DH,07H,7FH,6FH,00HDPBT: DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FHEND2)C 语言源程序#i ncludeunsigned char code dispbitcode=0 xfe,0 xfd,0 xfb,0 xf7, 0 xef,0 xdf,0 xbf,0 x7f;unsigned char code dispcode=0 x3f,0 x06
10、,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x00;unsigned char dispbuf8=10,10,10,10,10,0,0,0;unsigned char dispcount;sbit ST=P3A0;sbit 0E=P3W;sbit EOC=P3A2;unsigned char channel=0 xbc;/IN3 unsigned char getdata;void main (void)TMOD=0 x01;TH0=(65536-4000)/256;6/ 12TL0=(65536-4000)%256;TR0=1;ET0
11、=1;EA=1;P3=cha nn el;while(1)ST=0;ST=1;ST=0;while(EOC=0);OE=1;getdata=P0;OE=0;dispbuf2=getdata/100; getdata=getdata%10;dispbuf1=getdata/10;dispbuf0=getdata%10;void t0(void) interrupt 1 using 0TH0=(65536-4000)/256;TL0=(65536-4000)%256;P1=dispcodedispbufdispco un t;P2=dispbitcodedispco un t;dispco un
12、t+;if(dispco un t=8)dispco un t=0;3)FPGA 实现的程序:(verilog )module AD0809(clk,/ 脉宽(至少 100 ns)rst_n,EOC, 约 100us 后 EOC 变为高电平转换结束START, 启动信号,上升沿有效(至少 100 ns)7/ 12OE,高电平打开三态缓冲器输出转换数据ALE, 高电平有效,选择信道口ADDA,/因为 ADDB,ADDC 都接地了,这里只有 ADDA 为变量 DATA,/ 转换数据DATA_R);output START,OE,ALE,ADDA;in putEOC,clk,rst_n;in put
13、7:0DATA;output7:0 DATA_R;regSTART,OE,ALE,ADDA;reg7:0 DATA_R;reg4:0 CS,NS;parameter IDLE=5”b00001,START_H=5”b00010,START_L=5”b00100,CHECK_END=5b01000,GET_DATA=5b10000;always (*)case(CS)IDLE:NS=START_H;START_H:NS=START_L;START_L:NS=CHECK_END;CHECK_END:if(EOC)NS=GET_DATA; elseNS=CHECK_END; GET_DATA:NS=
14、IDLE;default:NS=IDLE;endcase8/ 12always (posedge clk)if(!rst_n)CS=IDLE; elseCS=NS;always (posedge clk)case(NS)IDLE:begi nOE=0;START=0;ALE=0;ADDA=1;endSTART_H:begi nOE=0;START=1;产生启动信号ALEv=1;ADDA=1; 选择信道口 IN0endSTART_L:begi nOE=0;START=0;ALE=1;启动信号脉宽要足够长,在启动的时候 ALE 要一直有效endCHECK_END:begi nOE=0;START=
15、0;ALE=0;endGET_DATA:begi nOE=1;高电平打开三态缓冲器输出转换数据9/ 12DATA_Rv=DATA;提取转换数据START=0;ALE=0;enddefault:begi nOE=0;START=0;ALE=0;ADDA=0;endendcaseen dmodule4)FPGA 实现的程序:(VHDLLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY AD0809 ISPORT( D: IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK
16、,EOC: IN STD_LO GIC;CLOCK:IN STD_LOGIC;ALE,START,OE,LOCK0: OUT STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);SEL:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);END AD0809;ARCHITECTURE behav OF AD0809 ISTYPE states IS (st0,st1,st2,st3,st4);SIGNAL current_state,next_state:states:=st0;SIGNAL REGL :STD_LOGIC_VECTOR
17、(7 DOWNTO 0);SIGNAL LOCK :STD_LOGIC;SIGNAL CNT1:STD_LOGIC_VECTOR(0 DOWNTO 0);SIGNAL A :INTEGER RANGE 0 TO 1;SIGNAL LOWDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL HIGHDATA:STD_LOGIC_VECTOR(3 DOWNTO 0);10/ 12SIGNAL LOWLED7S:STD_LOGIC_VECTOR(6 DOWNTO 0);SIGNAL HIGHLED7S:STD_LOGIC_VECTOR(6DOWNTO 0);BEGINLO
18、CK0=LOCK;PROCESS(REGL)BEGINLOWDATA=REGL(3 DOWNTO 0);HIGHDATA LOWLED7S LOWLED7S LOWLED7SLOWLED7S LOWLED7S LOWLED7SLOWLED7S LOWLED7S LOWLED7S LOWLED7S LOWLED7SLOWLED7SLOWLED7SLOWLED7S LOWLED7S LOWLED7S Null;END CASE;CASE HIGHDATA ISWHEN0000 = HIGHLED7S HIGHLED7S HIGHLED7SHIGHLED7S HIGHLED7S HIGHLED7SHIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7S HIGHLED7SHIGHLED7SHIGHLED7SHIGHLED7S HIGHLED7S HIGHLED7S Null;END CASE;END PROCESS;PROCESS(CLOCK)BEGINIF CLOCKEVENT AND CLOCK=1 THEN CNT1SEL=111; ASEL=110; ANU
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- PETS英语等级考试模拟试题及详细参考答案
- 2026年河道修防工(中级)职业技能考试题库及答案
- 海水预处理操作工安全操作规程
- 肾损伤保守治疗影像复查周期规范共识
- 2025-2026学年云南省曲靖市初中数学九年级期末上册自测高频题(详细参考解析)
- Oracle数据库机考实操试题(含详细答案解析)
- OD机试真题(技术岗)含详细答案解析
- 轨道交通消防系统升级改造方案
- 2026年不动产登记代理人《不动产权利理论与方法》题库及答案
- OA系统面试题及详细参考答案(实操版)
- 水钻打孔协议书
- 毕业设计(论文)-干玉米脱粒机设计
- 《壮药养生膏方生产技术规范》(征求意见稿)编制说明
- T/SSR 705-2024空调器用全铝微通道热交换器腐蚀性能评价值及试验方法
- 河北省建筑工程施工现场安全生产承诺书模板
- 【课件】代数式的值课件2024-2025学年人教版数学七年级上册
- 新闻记者职业资格《新闻基础知识》考试题库(含答案)
- 北师大版(2024新版)七年级上册数学全册教案
- DL∕T 1657-2016 活性焦干法脱硫技术规范
- 半导体设备行业:玻璃基板从零到一TGV为关键工艺
- 中华人民共和国卫生部药品标准 中药成方制剂(全20册)
评论
0/150
提交评论