vhdl 三进制或七进制计数器

一个时钟信号,一个控制引脚,连续三个时钟周期(脉冲)后,是引脚产生高电平,引脚低电平时是三进制,高电平是七进制。两个输入端,一个输出端,由一个控制引脚来控制,貌似要用行为... 一个时钟信号,一个控制引脚,连续三个时钟周期(脉冲)后,是引脚产生高电平,引脚低电平时是三进制,高电平是七进制。
两个输入端,一个输出端,由一个控制引脚来控制,貌似要用行为描述来搞
展开
 我来答
xinyijialong
2010-10-14 · TA获得超过122个赞
知道答主
回答量:103
采纳率:0%
帮助的人:88.4万
展开全部

已经仿真出来了,不过楼主的表达意思很不明确,不知我写的是否是你想要的。

library IEEE;

use IEEE.std_logic_1164.all;

use IEEE.std_logic_unsigned.all;

entity cnt_3or7 is

    port (

        clk: in STD_LOGIC;

        k: in STD_LOGIC;

        q: out STD_LOGIC_VECTOR (2 downto 0)

    );

end cnt_3or7;

architecture cnt_3or7_arch of cnt_3or7 is

signal en:integer range 0 to 1;

signal qq:std_logic_vector(2 downto 0);

begin

 process(clk)

 variable n:integer range 0 to 2;

  begin

  if clk'event and clk='1' then

   if n=2 then en<=1;

   else

   n:=n+1;en<=0;

   end if;

  end if;

 end process;

 

 process(clk,k,en)

 begin

  if en=1 then

   if clk'event and clk='1' then

    if k='1' then

     if qq="111" then

      qq<="000";

     else

      qq<=qq+'1';

     end if;

    else

     if qq="011" then

      qq<="000";

     else

      qq<=qq+'1' ;

     end if;

    end if;

   end if;

  end if;

 end process;

 

 process(qq)

 begin

 q<=qq;

 end process;

     

 

end cnt_3or7_arch;

上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
增量编码器一般输出信号是两路正交脉冲信号和一路参考信号,之所以叫增量是因为它的位置信号是通过对脉冲计数累加得到,依靠计数设备的内部记忆来记住位置,并且同每圈输出的参考信号来清除累计误差. 缺点就是断电后,需要重新寻找初始位置. 例如打印机扫... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
微笑人生CsN
2010-10-14 · TA获得超过2653个赞
知道小有建树答主
回答量:1339
采纳率:100%
帮助的人:696万
展开全部
这个问题是什么意思?引脚低电平时是三进制,高电平是七进制……
是三进制和七进制同时从一端输出?这样的控制信号不乱套了?

按楼下做的意思,就是占空比为70%,高电平占7周期,低电平占3周期。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式