久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
FPGA按鍵控制流水燈
[打印本頁]
作者:
梔子忍冬艷薔薇
時間:
2021-3-26 22:15
標題:
FPGA按鍵控制流水燈
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 2020/12/05 12:01:14
// Design Name:
// Module Name: led_flowing
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
//由按鍵控制的流水燈左移右移,暫停,復位功能。
module led_flowing(clk,led,rst_n,key_1,key_2,key_3
);
input clk;
input rst_n;//復位按鍵
input key_1;///控制起停 低電平停止移動,高電平繼續移動
input key_2;///控制左移 流水燈左移 按下按鍵為0,控制左移,再按一次停止
input key_3;//控制右移 流水燈右移 按下按鍵為0,控制右移,再按一次停止
output reg[3:0] led;//led power on _0 led power off _1 led燈低電平亮,led燈高電平熄滅
reg [0:0]led_dir; // led left _1 led right _0 該位左移為1,右移為0;
reg [0:0]led_on; //led on_1 off_0
reg[31:0] timer_cout; //計數寄存器
always@(posedge clk or negedge rst_n) //achieve timer++
begin
if(rst_n!=1)
begin
timer_cout<=32'd0;
end
else if(timer_cout==32'd49_999_999) //計數50_000_000次為1秒,時鐘為50Mhz
begin
timer_cout<=32'd0;
end
else
begin
timer_cout<=timer_cout+32'd1;
end
end
//
always@(posedge clk or negedge rst_n)
begin
if(rst_n!=1)
begin
led<=4'b1110;
end
else if((timer_cout==32'd49_999_999)&&(led_on==1)) //led_on==1開啟移位功能
begin
if(led_dir==1) // 右移
begin
led<={led[0],led[3:1]}; //0,3,2,1,0
end //1,0,3,2
else //2,1,0,3
begin
led<={led[2:0],led[3]};//2,1,0,3//左移
end //1,0,3,2,
end //0,3,2,1,
end //3,2,1,0
//3位按鍵程序
reg [20:1] cnt;
always@(posedge clk or negedge rst_n)
begin
if(rst_n!=1)
begin
cnt<=20'd0;
end
else
begin
cnt<=cnt+20'd1;
end
end
reg[2:0]low_sw;
always@(posedge clk or negedge rst_n)
begin
if (!rst_n)
begin
low_sw <= 3'b111;
end
else if (cnt== 20'hfffff) //滿20ms,將按鍵值鎖存到寄存器low_sw中cnt == 20'hfffff
begin
low_sw <= {key_3,key_2,key_1};
end
end
reg[2:0] low_sw_r;
always@(posedge clk or negedge rst_n)// 每個時鐘周期的上升沿將low_sw鎖存到low_sw_r中
begin
if (!rst_n)
low_sw_r <= 3'b111;
else
low_sw_r <= low_sw;
end
wire [2:0]led_ctrl = low_sw_r[2:0]&(~low_sw[2:0]);//////////////關鍵之處。
//判斷鍵值與功能
always @(posedge clk or negedge rst_n)
if (!rst_n)
begin
led_on = 1'b0;
led_dir = 1'b0;
end
else
begin
if(led_ctrl[0]) led_on <= ~led_on;
if(led_ctrl[1]) led_dir <= 1'b1;
if(led_ctrl[2]) led_dir <= 1'b0;
end
endmodule
////////////////////////////////////////////////////////////////////////////////
復制代碼
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
欧美精品综合
|
久久一区视频
|
中文在线一区
|
国产中文字幕在线
|
亚洲成年在线
|
亚洲视频在线观看一区二区三区
|
久久久久久久久久久久91
|
一区二区国产在线
|
超碰520
|
国产精品视频观看
|
国产线视频精品免费观看视频
|
国产免费一区二区
|
99免费视频
|
欧美男人的天堂
|
国产精品高潮呻吟久久
|
日韩一区二区久久
|
久久精品国产99国产精品
|
亚洲综合视频一区
|
久久久91
|
日屁网站
|
在线a视频
|
伊人精品在线
|
久久er99热精品一区二区
|
色五月激情五月
|
亚洲人免费视频
|
国产伦精品一区二区三区照片91
|
中文字幕一区二区不卡
|
av成人在线观看
|
国产精品1区2区
|
97人澡人人添人人爽欧美
|
亚洲一区二区中文字幕
|
在线视频一区二区
|
2023亚洲天堂
|
日本韩国电影免费观看
|
国产亚洲精品成人av久久ww
|
a级免费观看视频
|
不卡一区
|
久草在线在线精品观看
|
久久综合一区二区
|
欧美在线视频网
|
国产丝袜一区二区三区免费视频
|