北京化工大学生产实习报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北京化工大学 2012年生产实习报告 实习项目 ADC0809采样控制电路的实现 其中,ALE为地址锁存允许输入端,该信号的上升沿使多路开关的地址码ADDA、ADDB、ADDC锁存到地址寄存器中。 ST为启动信号输入端,此输入信号的上升沿使内部寄存器清零,下降沿使A/D转换器开始转换。 EOC为A/D转换结束信号,它在A/D转换开始,由高电平变为低电平;转换结束后,由低电平变为高电平。此信号的上升沿表示A/D转换完毕,常用作中断申请信号。 OE为输出允许信号,高电平有效,用来打开三态输出锁存器,将数据送到数据总线。 D7- -D0为8位数据输出端,可直接接入数据总线。 CLK为时钟信号输入端,时钟的频率决定A/D转换的速度。A/D转换器的转换时间Tc等于64个时钟周期。CLK频率范围为10——1280KHz。当时钟脉冲频率为640KHz时,Tc为100us。 REF(+)和REF(-)为基准电压输入端,他们决定了输入模拟电压的最大值和最小值。 ? ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路。如下表所示 ??? ??????????  ADDA、ADDB、ADDC真值表 三 硬件设计、焊接与调试 四 软件设计与仿真 1、VHDL代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY ADCINT IS PORT (D:IN STD_LOGIC_VECTOR(7 DOWNTO 0); CLK,EOC:IN STD_LOGIC; ALE,START,OE,ADDA,LOCK0:OUT STD_LOGIC; Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END ADCINT; ARCHITECTURE behav OF ADCINT IS TYPE states IS (st0,st1,st2,st3,st4);——定义各状态子类型 SIGNAL current_state,next_state:states:=st0; SIGNAL REGL :STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK :STD_LOGIC;——转换后数据输出锁存时钟信号 BEGIN ADDA=1;——当ADDA=’0’,模拟信号进入0809通道0;当ADDA=’1’;则进入通道1 Q=REGL;LOCK0=LOCK; COM1:PROCESS(current_state,EOC) BEGIN ——规定各状态转换方式 CASE current_state IS WHEN st0= next_state=st1; ——0809初始化 WHEN st1= next_state=st2; ——启动采样 WHEN st2= IF(EOC=1)THEN next_state=st3;——EOC=1表明转换结束 ELSE next_state=st2;——转换未结束,继续等待 END IF; WHEN st3= next_state=st4;——开启OE,输出转换好的数据 WHEN st4= next_state=st0; WHEN OTHERS=next_state=st0; END CASE; END PROCESS COM1; COM2:PROCESS(current_state) BEGIN CASE current_state IS WHEN st0=ALE=0;START=0;LOCK=0;OE=0; WHEN st1=ALE=1;START=1;LOCK=0;OE=0; WHEN st2=ALE=0;START=0;LOCK=0;OE=0; WHEN st3=ALE=0;START=0;LOCK=0;OE=1; WHEN st4=ALE=0;START=0;LOCK=1;OE=1; WHEN OTHERS=ALE=0;START=0;LOCK=0; END CASE; END PROCESS COM2; ?? REG:PROCESS(CLK) BEGIN IF(CLKEVENT AND CLK=1)THEN current_state=next_state; END IF; END PROCESS REG;——由信号current_state将当前状态值带出此进程:REG LATCH1:PROCESS(LOCK) ——此进程中,在LOCK的上升沿,

文档评论(0)

muzhiyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档