急啊,新手求助一个关于异步复位的问题。
时间:10-02
整理:3721RD
点击:
无论我这样写
always@(negedge rst_n or posedge clk) begin
if(!rst_n)
num<=0;
else
begin
还是这样写
always@(posedge rst_n or posedge clk)
begin
if(rst_n)
num<=0;
else
begin
总是,一开始就复位。rst_n接的一个按键引脚、默认应该为高,按键按下时才变为低,我尝试rst_n换成拨码开关引脚,效果也一样,感觉那个引脚就没起作用。
把进程列表里的negedge rst_n或者posedge rst_n删掉,换成同步复位,就一切正常了,能起到作用,我用得黑金的学习版DB2C5,不知是板子的问题还是软件的设置问题还是程序的问题,求大神指点啊!
always@(negedge rst_n or posedge clk) begin
if(!rst_n)
num<=0;
else
begin
还是这样写
always@(posedge rst_n or posedge clk)
begin
if(rst_n)
num<=0;
else
begin
总是,一开始就复位。rst_n接的一个按键引脚、默认应该为高,按键按下时才变为低,我尝试rst_n换成拨码开关引脚,效果也一样,感觉那个引脚就没起作用。
把进程列表里的negedge rst_n或者posedge rst_n删掉,换成同步复位,就一切正常了,能起到作用,我用得黑金的学习版DB2C5,不知是板子的问题还是软件的设置问题还是程序的问题,求大神指点啊!
1."总是,一开始就复位。“ 这句话是说一直复位?
2.按下前后用万用表测一下引脚电平
3.请发一下按键部分原理图
这种按键会存在抖动的,建议:
1.去抖
2.釆用异步复位,同步撤离的方法,请参考
http://bbs.elecfans.com/jishu_421396_1_1.html