查看: 4615|回复: 5

[提问] 求助:交通灯程序,不知道错在哪里

[复制链接]
发表于 2011-11-5 19:30:33 | 显示全部楼层 |阅读模式
5积分
module traffic(clk,led);
input clk;
output led;

reg [31:0]cnt;
reg clock;
reg [2:0]led=3'b000;
reg flag=0;
reg dengf=0;
reg count;

//////////////分频至1HZ/////////////////
always @(posedge clk)
begin
        if (cnt=='d25000000)
                begin
                clock<=~clock;
                cnt<=0;
                //led<=~led;
                end
        else
                cnt<=cnt+1;
end
/*
   
        
////////////延时//////////////////////
always @(posedge clock )
        begin
        if(flag==1)
                if(count<=5) count<=count+1;
                else
                        begin
                        flag=0;
                        dengf=1;
                        count=0;
                        end
        end

        
always
        begin
        led[2]=1;
        flag=1;
        while(!dengf);
        dengf=0;
        led[2]=0;
        led[1]=1;
        flag=1;
        while(!dengf);
        dengf=0;
        led[2]=0;
        led[0]=1;
        flag=1;
        while(!dengf);
        dengf=0;
        led[2]=0;
        end
        
endmodule

下载后led[2]熄灭,led[1]和led[0]点亮。

发表于 2011-11-10 20:26:51 | 显示全部楼层
你的目标是什么?
硬件连接是怎么样?
发表于 2011-11-16 15:24:52 | 显示全部楼层
把你最后的组合逻辑改成时序逻辑吧!
 楼主| 发表于 2011-11-19 16:53:16 | 显示全部楼层
我的目标是让三盏灯交替亮5秒钟,每次只亮一盏。我要怎么改才行啊?
发表于 2011-12-20 15:42:04 | 显示全部楼层
可以用一个模15的计数器,在0-4秒让A亮,5-9B亮,依次类推,试一试,看是否可以!
发表于 2011-12-20 15:43:45 | 显示全部楼层
另外你的分频程序有问题!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表