数码管动态扫描。。。。两个数码管有叠加。。。师傅们帮帮忙。。。
always @ ( a)begin\\a为clk 8分频;case (a)
1'b1: \\当a为1时
begin
sm_cs1_nr=1'b1;
sm_cs2_nr=1'b1;\\两只数码管关闭(以前软件这么写,不知道硬件这样写对不对);
sm_dbr=led1;\\数码管数据线送数
sm_cs1_nr=1'b0;\\开数码管1
end
1'b0:\\当a为0时;
begin
sm_cs1_nr=1'b1;
sm_cs2_nr=1'b1;
sm_dbr=led2;
sm_cs2_nr=1'b0;
end
default:;
endcase
end
师傅们帮帮忙啊。刚从单片机和arm转过来,好多地方不懂。。
还有,上面的程序阻塞赋值,非阻塞怎么用啊?
cpld有没有延时程序啊?
cpld的函数调用怎么写啊? 师傅们怎么都是点击不回复啊。。。。。。
帮帮小弟啊。。。。。。 选数码管2的时候,数码管1的片选要关掉的! 消隐很重要 尽量用 <= 赋值 回复【2楼】hbchf晨风
-----------------------------------------------------------------------
回复【3楼】Hamyou
-----------------------------------------------------------------------
已经消隐掉了,不知两位有没有看程序和注释。虽然以前是写软件的,但是这个我还是知道的。
回复【4楼】gaojunyao高兴
-----------------------------------------------------------------------
谢谢提醒,不过<=和=实在不知道怎么用,几本书上写的还不一样。
有的说是<=是并行。有的说<=是always语句完成后再执行。
想问一下,beginend中的语句是顺序还是并行的啊?如果顺序的话怎么才可以延时呢? 回复【5楼】hzr0071
-----------------------------------------------------------------------
begin end 内部是顺序的,“=”赋值是立马生效的,而"<="赋值是always块执行完后才生效的,这也就是阻塞和非阻塞的区别吧! 我想主要是消隐的问题
页:
[1]