基于verilog的交通灯控制器的设计内容摘要:

begin//倒 计时 case(countm) 1:begin//主干道的 绿 灯倒 计时 if(numm6) begin if(numm[3:0]==0) begin numm[3:0]=9。 numm[7:4]=numm[7:4]1。 lampm[1]=1。 end else begin numm[3:0]=numm[3:0]1。 lampm[1]=1。 end end else if(numm==6||numm==4||numm==2) begin lampm[1]=1。 numm=numm1。 end else if(numm==5||numm==3) begin lampm[1]=0。 numm=numm1。 end else if(numm==1) begin tempm=0。 lampm[1]=0。 end end 2:begin //主干道左 转 灯倒 计时 if(numm6) begin if(numm[3:0]==0) begin numm[7:4]=numm[7:4]1。 numm[3:0]=9。 lampm[2]=1。 end else begin numm[3:0]=numm[3:0]1。 lampm[2]=1。 end end else if(numm==6||numm==4||numm==2) begin lampm[2]=1。 numm=numm1。 end else if(numm==5||numm==3) begin lampm[2]=0。 numm=numm1。 end else if(numm==1) begin lampm[2]=0。 tempm=0。 end end 0:begin//主干道 红 灯倒 计时 if(numm[3:0]==0) begin numm[7:4]=numm[7:4]1。 numm[3:0]=9。 lampm[0]=1。 end else if(numm==1) begin lampm[0]=0。 tempm=0。 end else begin numm[3:0]=numm[3:0]1。 lampm[0]=1。 end end endcase end if(!tempb)//如果 tempb=0 begin tempb=1。 case(countb)//控制亮灯的 顺 序 0:begin countb=1。 if(mgreen[3:0]+mleft[3:0]9) begin numb[3:0]=mgreen[3:0]+mleft[3:0]10。 numb[7:4]=mgreen[7:4]+mleft[7:4]+1。 end else if((mgreen[3:0]==7amp。 amp。 mleft[3:0]==9)||(mgreen[3:0]==9amp。 amp。 mleft[3:0]==7)||(mgreen[3:0]==8amp。 amp。 mleft[3:0]==8)) begin numb[3:0]=6。 numb[7:4]=mgreen[7:4]+mleft[7:4]+1。 end else if((mgreen[3:0]==8amp。 amp。 mleft[3:0]==9)||(mgreen[3:0]==9amp。 amp。 mleft[3:0]==8)) begin numb[3:0]=7。 numb[7:4]=mgreen[7:4]+mleft[7:4]+1。 end else if(mgreen[3:0]==9amp。 amp。 mleft[3:0]==9) begin numb[3:0]=8。 numb[7:4]=mgreen[7:4]+mleft[7:4]+1。 end else begin numb[3:0]=mgreen[3:0]+mleft[3:0]。 numb[7:4]=mgreen[7:4]+mleft[7:4]。 end end 1:begin countb=2。 numb=bgreen。 end 2:begin countb=0。 numb=bleft。 end default:lampb=3。 endcase end else//如果 tempm=1 begin//各 个 灯的倒 计时 case(countb) 1:begin//支 干道 红 灯的倒 计时 if(numb[3:0]==0) begin numb[3:0]=9。 numb[7:4]=numb[7:4]1。 lampb[0]=1。 end else if(numb==1) begin lampb[0]=0。 tempb=0。 end else begin numb[3:0]=numb[3:0]1。 lampb[0]=1。 end end 2:begin//支 干道的 绿 灯倒 计时 if(numb6) begin if(numb[3:0]==0) begin numb[7:4]=numb[7:4]1。 numb[3:0]=9。 lampb[1]=1。 end else begin numb[3:0]=numb[3:0]1。 lampb[1]=1。 end end else if(numb==6||numb==4||numb==2) begin numb=numb1。 lampb[1]=1。 end else if(numb==5||numb==3) begin lampb[1]=0。 numb=numb1。 end else if(numb==1) begin lampb[1]=0。 tempb=0。 end end 0:begin//支 干道的左 转 灯倒 计时 if(numb6) begin if(numb[3:0]==0) begin numb[7:4]=numb[7:4]1。 numb[3:0]=9。 la。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。