社区导航

 
查看: 719|回复: 2

[求助] 如何将我下面的代码,加进去一个按键的电平触发(CPM),让时钟开始计数

[复制链接]

24

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-4 11:27:24 | 显示全部楼层 |阅读模式
//产生秒钟计数
module miaojishi(clks,clr,cpm,s_high,s_low,cm);
input clks;
input clr;
input cpm;
output s_high;
output s_low;
output cm;

reg[3:0] s_high;
reg[3:0] s_low;
reg[3:0] cm;

always@(posedge clks or negedge clr)
  begin
    if(!clr)             //清零信号,将计数清零
      begin
        s_high<=4'd0;
        s_low<=4'd0;
        cm<=4'd0;
      end
    else
      begin
        if(s_low==4'd9&&s_high<4'd5)           //如果分秒低位等于9时
          begin
            s_high<=s_high+1;
            s_low<=4'd0;
            cm<=4'd0;
          end
        else if(s_low<4'd9&&s_high<=4'd5)            //如果分秒低位小于9时
          begin
            s_high<=s_high;
            s_low<=s_low+1;
            cm<=4'd0;
          end
         else if(s_low==4'd9&&s_high==4'd5)                //如果为59时,产生进位
          begin
            s_high<=4'd0;
            s_low<=4'd0;
            cm<=4'd1;
          end
      end
  end
endmodule

就是如何加一个电平触发。使他可以调时间

此帖出自FPGA/CPLD论坛


回复

使用道具 举报

57

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2017-1-4 19:26:08 | 显示全部楼层
如果是按住一直有效就用
if(电平)
如果是按一下起一次作用就采沿,采个上升沿或者下降沿,要去抖


回复

使用道具 举报

24

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

 楼主| 发表于 2017-1-5 08:41:41 | 显示全部楼层
reallmy 发表于 2017-1-4 19:26
如果是按住一直有效就用
if(电平)
如果是按一下起一次作用就采沿,采个上升沿或者下降沿,要去抖

就是要按下一直有效的,这样就可以少一个去抖了。谢谢


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

小黑屋|手机版|Archiver|电子工程世界 ( 京ICP证 060456

GMT+8, 2018-9-24 00:07 , Processed in 0.099039 second(s), 17 queries , Gzip On, Redis On.

快速回复 返回顶部 返回列表