查看: 5265|回复: 4

[提问] 求助:两路频率输出,一路不正常

[复制链接]
发表于 2012-9-19 18:38:29 | 显示全部楼层 |阅读模式
关键词: 两路拨码开关
各位大侠:
       我有一个程序,输入频率为1kHz,另有两个输入口接了拨码开关(拨码开关ON接地,OFF悬空)。通过输入"00","01","10","11"来让输出口输出500Hz,250Hz,125Hz,67.5Hz。
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;
use IEEE.std_logic_unsigned.all;
Entity fen is
   port( xh:in std_logic;
         ds:in std_logic_vector(1 downto 0);
         sc:out std_logic);
End fen;
Architecture fenpin of fen is
  Signal data:std_logic_vector(3 downto 0);
  begin
   yi:process(xh)
      begin
        if(xh'event and xh='1') then
          data<=data+1;
        end if;
     end process;
   er:process(ds,data)
     begin
       case ds is
       when "00"=>sc<=data(0);
       when "01"=>sc<=data(1);
       when "10"=>sc<=data(2);
       when "11"=>sc<=data(3);
       when others=>NULL;
       end case;
     end process;
end fenpin;
我用的芯片是EPM7064STC44-10,xh为40脚,sc为6脚,ds[0]为10脚,ds[1]为11脚。只有“00”与“10”时能输出500Hz与125Hz,而"01"与"11"不正常,也就是说当拨码开关的1脚接地时,拨码开关的2脚接地与悬空能正常输出频率;当拨码开关的1脚悬空时,输出频率就不正常了。这是为什么?请大侠们指点。谢谢!


未命名.bmp
发表于 2012-9-20 10:03:07 | 显示全部楼层
看看你的ds[0]能不能变成高电平!
发表于 2012-9-29 21:04:15 | 显示全部楼层
是不是要补上拉电阻啊? 你端口配置的什么接口啊?
发表于 2013-4-8 13:27:04 | 显示全部楼层
最好要补上上拉电阻。
发表于 2013-4-10 22:11:31 | 显示全部楼层
帮不上忙,呵呵,只用verilog,不懂vhdl
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表