星空最火知名网站

登录 免费注册 星空最火知名网站 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

键盘去抖的问题

作者:whoselight 栏目:EDA技术
键盘去抖的问题

entity keyb is
    PORT ( LINE : in std_logic_vector(15 downto 0);
           LINEout : out std_logic_vector(15 downto 0);
           res : in std_logic;
             clk0: in std_logic;
             clk2:in std_logic
           );
end keyb;

architecture Behavioral of keyb is
signal bcdmin,bcdmo:std_logic_vector(15 downto 0);

begin
   p1:PROCESS(clk0,res)
begin
if (res='1')then
bcdmin<=(others=>'0'); bcdmo<=(others=>'0');
elsif (clk0'event and clk0 ='1') then
   bcdmin<=LINE;
     
    end if;
    end PROCESS p1;

    p2:PROCESS(clk2)
    begin
    if (clk2'event and clk2='1' ) then
         if(LINE(0)or LINE(1)or LINE(2)or LINE(3)or LINE(4)or LINE(5) or LINE(6)or LINE(7)or LINE(8)or LINE(9)or LINE(10)or LINE(11)or LINE(12)or LINE(13)or LINE(14)or LINE(15))='1'
          then bcdmo<=bcdmin;
          else bcdmo<=bcdmo;
          end if;
         
          end if;
          
          end PROCESS p2;
    p3:      PROCESS(bcdmo)
          begin
          LINEout<=bcdmo;
          end PROCESS p3 ;
        
end Behavioral;
这是带去抖功能的程序 键盘是1*16的
可是仿真时LINEOUT上怎么读不出数据啊


2楼: >>参与讨论
whoselight
自己作好了
entity keyb is
    PORT ( LINE : in std_logic_vector(15 downto 0);
           LINEout : out std_logic_vector(15 downto 0);
           res : in std_logic;
             clk0: in std_logic;
             clk2:in std_logic
           );
end keyb;

architecture Behavioral of keyb is
signal bcdmin:std_logic_vector(15 downto 0);

begin
   p1:PROCESS(clk0,res)
begin
if (res='1')then
bcdmin<=(others=>'0'); elsif (clk0'event and clk0 ='1') then
   bcdmin<=LINE;
     
    end if;
    end PROCESS p1;

    p2:PROCESS(clk2)
    begin
    if (clk2'event and clk2='1' ) then
         if(LINE(0)or LINE(1)or LINE(2)or LINE(3)or LINE(4)or LINE(5) or LINE(6)or LINE(7)or LINE(8)or LINE(9)or LINE(10)or LINE(11)or LINE(12)or LINE(13)or LINE(14)or LINE(15))='1'
          then LINEout<=bcdmin;
          
          end if;
         
          end if;
          
          end PROCESS p2;

自己作好了已经下板检测 希望大家提提建议:) 多交流 

参与讨论
昵称:
讨论内容:
 
 
相关帖子
PLL
请教:倍频电路的写法!
使用ACTEL FPGA遇到的难题
那里可以下quartusII软件
底功耗的CPLD选择哪个产品比较好?


Copyright © 1998-2006 www.j71x6.cn 浙ICP证030469号
博鱼最火网上大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 网络188BET导航(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 外围权威利记官方(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 真人利记足球大全(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 永利网络足球网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 雷火竞技正规权威网(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 188BET线上外围(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新) 永利最新网上足球(官方)网站/网页版登录入口/手机版登录入口-最新版(已更新)