ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:184KB ,
资源ID:1687907      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/1687907.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(AD0809的工作原理.doc)为本站上传会员【精****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

AD0809的工作原理.doc

1、AD0809得工作原理 1、 AD0809得芯片说明: ADC0809就是带有8位A/D转换器、8路多路开关以及微处理机兼容得控制逻辑得CMOS组件。它就是逐次逼近式A/D转换器,可以与单片机直接接口。 (1)ADC0809得内部逻辑结构 由上图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器与一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完得数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完得数据。 (2). 引脚结构  IN0-IN7:8条

2、模拟量输入通道      ADC0809对输入模拟量要求:信号单极性,电压范围就是0-5V,若信号太小,必须进行放大;输入得模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。 地址输入与控制线:4条     ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线得地址信号进行锁存,经译码后被选中得通道得模拟量进转换器进行转换。A,B与C为地址输入线,用于选通IN0-IN7上得一路模拟量输入。通道选择表如下表所示。 C B A 选择得通道 0 0 0 IN0 0 0 1 IN1 0

3、 1 0 IN2 0 1 1 IN3 1 0 0 IN4 1 0 1 IN5 1 1 0 IN6 1 1 1 IN7 数字量输出及控制线:11条      ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到得数据。OE=1,输出转换得到得数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。 CLK为时钟输入信号线。因AD

4、C0809得内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,  VREF(+),VREF(-)为参考电压输入。 2. ADC0809应用说明 (1). ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。 (2). 初始化时,使ST与OE信号全为低电平。 (3). 送要转换得哪一通道得地址到A,B,C端口上。 (4). 在ST端给出一个至少有100ns宽得正脉冲信号。 (5). 就是否转换完毕,我们根据EOC信号来判断。  (6). 当EOC变为高电平时,这时给OE为高电平,转换得数据就输出给单片机了。 3. 实验任务

5、 如下图所示,从ADC0809得通道IN3输入0-5V之间得模拟量,通过ADC0809转换成数字量在数码管上以十进制形成显示出来。ADC0809得VREF接+5V电压。 4. 电路原理图   5、程序设计: (1). 进行A/D转换时,采用查询EOC得标志信号来检测A/D转换就是否完毕,若完毕则把数据通过P0端口读入,经过数据处理之后在数码管上显示。 (2). 进行A/D转换之前,要启动转换得方法:  ABC=110选择第三通道 ST=0,ST=1,ST=0产生启动转换得正脉冲信号 、 (3)、 关于0809得计算: ad0809就是根据逐位逼近得方法产生数据

6、得。。  参考电压为0-5V得话。以0809八位255得转换精度每一位得电压值为(5-0)/255≈0、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)/255≈0、0039V精度自然高了。。可测量范围小了。   1)汇编源程序: CH EQU 30HﻫDPCNT EQU 31H DPBUF EQU 33HﻫGDATA

7、EQU 32HﻫST BIT P3、0ﻫOE BIT P3、1 EOC BIT P3、2 ORG 00H LJMP STARTﻫORG 0BHﻫLJMP T0X ORG 30HﻫSTART: MOV CH,#0BCHﻫMOV DPCNT,#00HﻫMOV R1,#DPCNTﻫMOV R7,#5 MOV A,#10ﻫMOV R0,#DPBUFﻫLOP: MOV R0,AﻫINC R0 DJNZ R7,LOPﻫMOV R0,#00H INC R0 MOV R0,#00H INC R0 MOV R0,#00H MOV TMOD,#01HﻫMOV TH0,#(65536-4000

8、)/256 MOV TL0,#(65536-4000) MOD 256ﻫSETB TR0ﻫSETB ET0 SETB EAﻫWT: CLR STﻫSETB ST CLR ST WAIT: JNB EOC,WAITﻫSETB OE MOV GDATA,P0 CLR OEﻫMOV A,GDATAﻫMOV B,#100 DIV AB MOV 33H,AﻫMOV A,BﻫMOV B,#10ﻫDIV ABﻫMOV 34H,A MOV 35H,BﻫSJMP WT T0X: NOPﻫMOV TH0,#(65536-4000)/256ﻫMOV TL0,#(65536-4000) MOD 2

9、56ﻫMOV DPTR,#DPCDﻫMOV A,DPCNTﻫADD A,#DPBUF MOV R0,AﻫMOV A,R0ﻫMOVC A,A+DPTR MOV P1,A MOV DPTR,#DPBTﻫMOV A,DPCNTﻫMOVC A,A+DPTR MOV P2,AﻫINC DPCNTﻫMOV A,DPCNTﻫCJNE A,#8,NEXT MOV DPCNT,#00H NEXT: RETIﻫDPCD: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FH,00H DPBT: DB 0FEH,0FDH,0FBH,0F7H DB 0EFH,0

10、DFH,0BFH,07FHﻫEND     2)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 dispbuf[8]={10,10,10,10,10,0,0,0};ﻫunsigned char dispcount; sbit ST="P

11、3"^0;ﻫsbit OE="P3"^1; sbit EOC="P3"^2; unsigned char channel="0xbc";//IN3ﻫunsigned 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; dispbuf[2]=getd

12、ata/100;ﻫgetdata=getdata%10;ﻫdispbuf[1]=getdata/10;ﻫdispbuf[0]=getdata%10;ﻫ} } void t0(void) interrupt 1 using 0 { TH0=(65536-4000)/256;ﻫTL0=(65536-4000)%256; P1=dispcode[dispbuf[dispcount]];ﻫP2=dispbitcode[dispcount]; dispcount++; if(dispcount==8)ﻫ{ﻫdispcount=0; } }   3)FPGA实现得程序:(verilo

13、g) module AD0809(clk,  //脉宽(至少100ns) ﻩ   rst_n, ﻩ EOC, //约100us后EOC变为高电平转换结束 ﻩ START, //启动信号,上升沿有效(至少100ns) ﻩ ﻩ OE, //高电平打开三态缓冲器输出转换数据 ﻩ ALE,  //高电平有效,选择信道口 ﻩ ADDA,//因为ADDB,ADDC都接地了,这里只有ADDA为变量 ﻩ ﻩ DATA,// //转换数据 ﻩﻩ DATA_R);   outputﻩﻩSTART,OE,ALE,ADDA; inputﻩﻩEOC,clk

14、rst_n; input[7:0]ﻩDATA; output[7:0] DATA_R;   reg ﻩSTART,OE,ALE,ADDA; reg[7:0]ﻩDATA_R;   reg[4:0]  CS,NS; parameter IDLE=5''b00001,START_H=5''b00010,START_L=5''b00100, ﻩﻩ CHECK_END=5''b01000,GET_DATA=5''b10000;   always (*)   case(CS)   IDLE: NS=START_H; START_H: ﻩNS=START_L;

15、 START_L: NS=CHECK_END; CHECK_END: if(EOC) ﻩNS=GET_DATA; else NS=CHECK_END; GET_DATA: NS=IDLE;ﻩ default: NS=IDLE; endcaseﻩ     always (posedge clk)   if(!rst_n) ﻩCS<=IDLE; elseﻩ ﻩCS<=NS; alwaysﻩ(posedge clk)   case(NS) IDLE: begin ﻩOE<=0; ﻩSTART<=0; ﻩALE<=0;ADDA<=1;

16、 ﻩend START_H:ﻩ ﻩbegin OE<=0; START<=1;    //产生启动信号 ﻩALE<=1;ADDA<=1;//选择信道口IN0 ﻩend START_L: ﻩbegin ﻩOE<=0; START<=0; ﻩALE<=1;//启动信号脉宽要足够长,在启动得时候ALE要一直有效 ﻩend CHECK_END: begin ﻩOE<=0; ﻩSTART<=0; ﻩALE<=0; end GET_DATA: ﻩbegin OE<=1; //高电平打开三态缓冲器输出转换数据 DATA_R<=DATA;//提取

17、转换数据 ﻩSTART<=0; ALE<=0; ﻩendﻩ default: ﻩbegin ﻩOE<=0; ﻩSTART<=0; ﻩALE<=0;ADDA<=0; end endcase endmodule     4)FPGA实现得程序:(VHDL) LIBRARY IEEE; USE IEEE、STD_LOGIC_1164、ALL;ﻫUSE IEEE、STD_LOGIC_UNSIGNED、ALL; ENTITY AD0809 ISﻫ  PORT( D: IN STD_LOGIC_VECTOR(7 DOWNTO 0);   CLK,EOC: IN S

18、TD_LOGIC;    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 ISﻫTYPE states IS (st0,st1,st2,st3,st4); SIGNAL current_state,next_state:states:=st0; SIGNAL REG

19、L :STD_LOGIC_VECTOR(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); SIGNAL LOWLED7S:STD_LOGIC_VECTOR(6 DOWNTO 0);ﻫSIGNAL HIGHLED7S:STD_LOGI

20、C_VECTOR(6 DOWNTO 0);ﻫBEGINﻫLOCK0<=LOCK;   ﻫPROCESS(REGL)   BEGIN     LOWDATA<=REGL(3 DOWNTO 0);   HIGHDATA<=REGL(7 DOWNTO 4);   CASE LOWDATA ISﻫ  WHEN "0000" => LOWLED7S<="0111111";ﻫ  WHEN "0001" => LOWLED7S<="0000110";   WHEN "0010" => LOWLED7S<="1011011";   WHEN "0011" => LOWLED7S<="100111

21、1";ﻫ  WHEN "0100" => LOWLED7S<="1100110";   WHEN "0101" => LOWLED7S<="1101101";ﻫ  WHEN "0110" => LOWLED7S<="1111101";   WHEN "0111" => LOWLED7S<="0000111";   WHEN "1000" => LOWLED7S<="1111111";ﻫ  WHEN "1001" => LOWLED7S<="1101111";   WHEN "1010" => LOWLED7S<="1110111";   WHEN "1011" => LOWLED7S

22、<="1111100";   WHEN "1100" => LOWLED7S<="0111001";ﻫ  WHEN "1101" => LOWLED7S<="1011110";   WHEN "1110" => LOWLED7S<="1111001";ﻫ  WHEN "1111" => LOWLED7S<="1110001";   WHEN OTHERS => Null;   END CASE;   CASE HIGHDATA ISﻫ  WHEN "0000" => HIGHLED7S<="0111111";ﻫ  WHEN "0001" => HIGHLED7S<="0000110

23、";   WHEN "0010" => HIGHLED7S<="1011011";ﻫ  WHEN "0011" => HIGHLED7S<="1001111";ﻫ  WHEN "0100" => HIGHLED7S<="1100110";   WHEN "0101" => HIGHLED7S<="1101101";   WHEN "0110" => HIGHLED7S<="1111101";ﻫ  WHEN "0111" => HIGHLED7S<="0000111";   WHEN "1000" => HIGHLED7S<="1111111";   WHEN "1001" => HI

24、GHLED7S<="1101111";ﻫ  WHEN "1010" => HIGHLED7S<="1110111";   WHEN "1011" => HIGHLED7S<="1111100";ﻫ  WHEN "1100" => HIGHLED7S<="0111001";   WHEN "1101" => HIGHLED7S<="1011110";ﻫ  WHEN "1110" => HIGHLED7S<="1111001";   WHEN "1111" => HIGHLED7S<="1110001";   WHEN OTHERS => Null;     END CASE; EN

25、D PROCESS; PROCESS(CLOCK)ﻫ  BEGINﻫ  IF CLOCK'EVENT AND CLOCK='1' THEN CNT1<=CNT1+1;   END IF;ﻫEND PROCESS; PROCESS(CNT1)   BEGINﻫ  CASE CNT1 IS   WHEN "0" =>SEL<="111"; A<=0;   WHEN "1" =>SEL<="110";  A<=1; ﻫ  WHEN OTHERS =>NULL;ﻫ  END CASE;ﻫEND PROCESS;   PROCESS(A)   BEGINﻫ  CASE A IS  

26、 WHEN 0 =>DOUT<=LOWLED7S;ﻫ  WHEN 1 =>DOUT<=HIGHLED7S;   WHEN OTHERS =>NULL;ﻫ  END CASE; END PROCESS;ﻫﻫ:  PROCESS(current_state,EOC) ﻫ      BEGIN   CASE current_state IS   WHEN st0=>ALE<='0';START<='0';LOCK<='1';OE<='0';next_state<=st1; ﻫ  WHEN st1=>ALE<='1';START<='0';LOCK<='1';OE<='0';next_stat

27、e<=st2; ﻫ  WHEN st2=>ALE<='0';START<='1';LOCK<='0';OE<='0';ﻫ    IF (EOC='1') THEN next_state<=st3;      ELSE next_state<=st2;        END IF;   WHEN st3=>ALE<='0';START<='0';LOCK<='0';OE<='1';next_state<=st4;    WHEN st4=>ALE<='0';START<='0';LOCK<='1';OE<='1';next_state<=st0; ﻫ  WHEN OTHERS=>next_state<=st0;ﻫ  END CASE;ﻫEND PROCESS ; REG: PROCESS(CLK)   BEGIN    IF(CLK'EVENT AND CLK='1') THEN current_state<=next_state;    END IF; END PROCESS REG; LATCH1: PROCESS(LOCK)    BEGIN   IF LOCK='1' AND LOCK'EVENT THEN REGL<=D;ﻫ  END IF; END PROCESS LATCH1; END behav;

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

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

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

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

gongan.png浙公网安备33021202000488号   

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

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

客服