打印

太诡异了~~调试几天都无法解决的程序~~~请高手指点~~

[复制链接]
2133|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
winter2009|  楼主 | 2009-12-10 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 winter2009 于 2009-12-10 15:12 编辑

PROCESS(CLKIN,EN2)    --倒计时显示
       VARIABLE HH:STD_LOGIC_VECTOR(7 DOWNTO 0) ;
      BEGIN
        IF clkin'EVENT AND CLKin='1' THEN  
              if  EN='1'  THEN
                 if(en2='1') then  HH(7 downto 4):="0011";  hh(3 downto 0):="0000";
                 else                  
                       if hh>0 then
                            if HH(3 downto 0)=0 then  HH(7 downto 4):=HH(7 downto 4)-1;HH(3 downto 0):="1001";
                            else HH(3 downto 0):=HH(3 downto 0)-1;   
                            end if;
                        end if;                                                                                      
                end if;
             end if;
         end if;
               TH<=HH(7 downto 4);
               TL<=HH(3 downto 0);
             END PROCESS;

这是一个倒计时的程序,en是一个使能信号,为 1 时可倒计时,clkin 为1hz脉冲
问题是:上电按复位后,也就是en为 1 了,它不倒计时,只显示00,等过了大概几十秒后,再按复位,倒计时就一切正常了,太诡异了。。。

再说明下 en2 ,en2是复位瞬间为 1,松开开关后为0.

相关帖子

沙发
winter2009|  楼主 | 2009-12-10 15:10 | 只看该作者
本帖最后由 winter2009 于 2009-12-10 15:12 编辑

请大家看看呃
自己先顶下。。

使用特权

评论回复
板凳
winter2009|  楼主 | 2009-12-11 17:32 | 只看该作者
呵呵
没人回答,自己再顶下
~~~~~~~~~~

使用特权

评论回复
地板
amtek| | 2009-12-17 11:35 | 只看该作者
确实太诡异了,楼主不要着急,慢慢调,搞定了之后讲一下,让大家都学习学习。

使用特权

评论回复
5
zhouskill| | 2009-12-18 16:11 | 只看该作者
你的复位键是哪个?EN2吗?EN2按了就EN=1吗?程序中没看出来。还是你外围电路设的?
你的程序必须是先EN=1了,再按EN2,才有初值30。

使用特权

评论回复
6
xddzccn| | 2009-12-21 17:29 | 只看该作者
VHDL 我不懂啊,可以画个电路  大家就都懂了啊

使用特权

评论回复
7
sassos| | 2010-3-26 08:15 | 只看该作者
LZ的en复位信号有多长时间?

使用特权

评论回复
8
msp430f2009| | 2010-3-27 00:30 | 只看该作者
:shutup:

使用特权

评论回复
9
zhang123| | 2010-3-28 09:59 | 只看该作者
设计不严密

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

37

帖子

1

粉丝