1樓:匿名使用者
看你這**真的很蛋疼,我給你寫乙個:
module led(clk,rst,led0,led1)
input clk,rst; output led0,led1;
reg [31:0 ]cnt_led0;
reg [31:0 ]cnt_led1;
reg led0,led1;
begin
if(rst) begin cnt<=0; led0<=0; led1<=0; end
else
begin
cnt_led0<=cnt_led0+1;
cnt_led1<=cnt_led1+1;
if(cnt_led0==99) begin led0<=~led0;cnt_led0<=0; end
if(cnt_led1==999) begin led1<=~led1;cnt_led1<=0; end
endend
以上**應該可以實現led1閃爍是led0頻率的十分之一,只需調整一下clk的頻率即可實現人眼可分辨的頻閃,led1是clk頻率的2000分頻,led0是clk的200分頻
如何用verilog寫10個流水燈 5
2樓:哈哈呵呵你好
你好,下面是對應的**,另外時鐘的頻率不要太高否者實際的那個燈可能會看不來。
module show(clk, reset, ledlight)
input clk,reset;
output [9:0] ledlight;
reg [10:0] count ;
always @(posdge clk or negedge reset)
if (!reset)
count =0;
else if (count ==10)
count =1;
else
count = count +1
assign ledlight[0] = (count ==1)? 1 :0;
assign ledlight[1] = (count ==2)? 1 :0;
assign ledlight[2] = (count ==3)? 1 :0;
assign ledlight[3] = (count ==4)? 1 :0;
assign ledlight[4] = (count ==5)? 1 :0;
assign ledlight[5] = (count ==6)? 1 :0;
assign ledlight[6] = (count ==7)? 1 :0;
assign ledlight[7] = (count ==8)? 1 :0;
assign ledlight[8] = (count ==9)? 1 :0;
assign ledlight[9] = (count ==10)? 1 :0;
endmodule
在verilog語言中如何通過按鍵控制五種流水燈的方式的程式
3樓:巨集愛景資丁
按鍵低電平有效,led燈低電平時亮。按鍵按下亮,鬆開滅。程式較簡單,為組合邏輯電路,沒有按鍵防抖功能。
module
led(led,key);
input
key;
output
led;
regled_out;
always@(key)
if(!key)
led_out=1'b0;
else
led_out=1'b1;
assign
led=led_...
用verilog寫出 實現20hz 4個led 流水燈的程式及** 10
4樓:
週期=1/20秒
時鐘晶振選用50mhz的話,0.05秒就需要clk跑5*0.01*50*10^6= 2 500 000
module led;
input clk,rst;
output ledcon;
reg [3:0] led; //led開關鎖存位reg d1,d2,d3,d4;//四個燈開關reg [21:0] cnt_5; //0.
05秒計數器reg count; // 數滿標誌位
always @(posedge clk or negedge rst)
if (!rst)
cnt_5<=22'd0;
else if(cnt_5==22'd2500000)cnt_5<=22'd0; //數滿歸零else cnt_5<=cnt_5+1'b1;
always @(posedge clk or negedge rst))
if(!rst)
count<=1'b0;
else if (cnt_5==22'd2500000)count<=1'b1;
我擦。。剩下我不寫了。你查查網上資料吧。
就是每數滿時間就依次輪換開啟d1--d4開關並且關閉前乙個。
ledcon用連續賦值
求大神幫忙用verilog hdl寫乙個四個小燈的流水燈程式,50mhz的,要有分頻過程的 5
5樓:司馬刀劍
週期=1/20秒
時鐘晶振選用50mhz的話,0.05秒就需要clk跑5*0.01*50*10^6= 2 500 000
module led;
input clk,rst;
output ledcon;
reg [3:0] led; //led開關鎖存位reg d1,d2,d3,d4;//四個燈開關reg [21:0] cnt_5; //0.
05秒計數器reg count; // 數滿標誌位
always @(posedge clk or negedge rst)
if (!rst)
cnt_5<=22'd0;
else if(cnt_5==22'd2500000)cnt_5<=22'd0; //數滿歸零else cnt_5<=cnt_5+1'b1;
always @(posedge clk or negedge rst))
if(!rst)
count<=1'b0;
else if (cnt_5==22'd2500000)count<=1'b1;
我擦。。剩下我不寫了。你查查網上資料吧。
就是每數滿時間就依次輪換開啟d1--d4開關並且關閉前乙個。
ledcon用連續賦值
verilog 控制四種流水燈 fpga
6樓:匿名使用者
module ledwater(clk,led,s)input clk;
input[1:0]s;
output[7:0]led;
reg [7:0] led=0;
reg [1:0] olds=0;
always@(posedge clk) olds<=s;
always@(posedge clk)
if (olds^s)
case (s)
2'b00: led<=1; //*a2'b01: led<=1;
2'b10: led<=8'b1010_1010;
2'b11: led<=8'b0000_0111;
endcase
else
case (s)
2'b00: led<=;//*b
2'b01: led<=;
2'b10: led<=~led;
2'b11: led<=;
endcase
endmodule
//第一種:乙個燈亮,從右往左逐個移動,並迴圈//第二種:乙個燈亮,從左往右逐個移動,並迴圈//第三種:乙個間乙個燈亮,並交替迴圈
//第四種:三個燈亮,從右往左逐個移動,並迴圈//當然可以再多一些花樣:
//如:燈從右往左逐步點亮
// *a改為: led<=1;
// *b改為: led<= (&led)? 1: ;
在verilog中如何通過按鍵控制實現五種花樣流水燈的方式
7樓:晏桂枝黎嬋
按鍵低電平有效,led燈低電平時亮。按鍵按下亮,鬆開滅。程式較簡單,為組合邏輯電路,沒有按鍵防抖功能。
module
led(led,key);
input
key;
output
led;
regled_out;
always@(key)
if(!key)
led_out=1'b0;
else
led_out=1'b1;
assign
led=led_...
verilog 用狀態機 來實現 流水燈
8樓:匿名使用者
其他狀態中要把其他的置0,
9樓:匿名使用者
你寫的輸出是rega~regh。這段rtl裡沒有驅動他們啊。最終是要用rega~regh來驅動燈的吧??請檢查
Verilog語言中如何用「case」何「if」語句分別用兩方法設計4 2解碼器
用case的方法 module decoder 4to2 input wire 3 0 in4 output wire 1 0 out2 always begin case in4 4 b0001 out2 2 b00 4 b0010 out2 2 b01 4 b0100 out2 2 b10 4 ...
如何用c 語言編寫如下程式,如何用visual c 6 0編寫乙個簡單c語言程式
首先分析一下,每次分完的桃子的個數是5的倍數多乙個,而這個數還要能被4整除 因為是上乙個猴子拿完五份中剩下四份的個數 5的倍數多乙個的整數的末位只能是1或6,末位為1不可能被4整除,因此末位為6 這樣的數可以表示為4 5i 1 i 1,2,3,如下 include using namespace s...
微控制器中流水燈如何控制,微控制器c語言編了個流水燈,用按鍵怎麼實現它暫停。
硬體連線很簡單,只要將8個led指示燈接在p1口上 另一端通過220歐姆的電阻接 5v電源上,就可以了。主要靠軟體控制,簡單的可以使用左移或右移指令,將低電平0 逐漸移入暫存器中,即控制led指示燈逐漸乙個乙個地點亮或乙個乙個地熄滅。複雜點 可以進行花式流水控制。例如 可以由兩邊逐漸向內點亮 然後再...