hzr0071 发表于 2011-1-26 13:51:06

数码管动态扫描。。。。两个数码管有叠加。。。师傅们帮帮忙。。。

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的函数调用怎么写啊?

hzr0071 发表于 2011-1-26 14:47:55

师傅们怎么都是点击不回复啊。。。。。。
帮帮小弟啊。。。。。。

hbchf 发表于 2011-1-26 16:44:15

选数码管2的时候,数码管1的片选要关掉的!

Hamyou 发表于 2011-1-26 16:45:32

消隐很重要

gaojunyao 发表于 2011-1-26 18:37:59

尽量用 <= 赋值

hzr0071 发表于 2011-1-26 20:14:33

回复【2楼】hbchf晨风
-----------------------------------------------------------------------

回复【3楼】Hamyou
-----------------------------------------------------------------------

已经消隐掉了,不知两位有没有看程序和注释。虽然以前是写软件的,但是这个我还是知道的。
回复【4楼】gaojunyao高兴
-----------------------------------------------------------------------

谢谢提醒,不过<=和=实在不知道怎么用,几本书上写的还不一样。
有的说是<=是并行。有的说<=是always语句完成后再执行。
想问一下,beginend中的语句是顺序还是并行的啊?如果顺序的话怎么才可以延时呢?

hbchf 发表于 2011-1-27 08:17:01

回复【5楼】hzr0071
-----------------------------------------------------------------------

begin end 内部是顺序的,“=”赋值是立马生效的,而"<="赋值是always块执行完后才生效的,这也就是阻塞和非阻塞的区别吧!

liwboy 发表于 2011-1-27 21:24:17

我想主要是消隐的问题
页: [1]
查看完整版本: 数码管动态扫描。。。。两个数码管有叠加。。。师傅们帮帮忙。。。