久久久久久久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
主站蜘蛛池模板:
久久免费小视频
|
高清成人免费视频
|
精品国产99
|
操一草
|
亚洲高清久久
|
国产精品久久久久久久久久免费
|
欧美不卡视频一区发布
|
韩国精品在线观看
|
九九色综合
|
亚洲国产成人精品在线
|
中文字幕日韩一区
|
永久网站
|
99re在线观看
|
欧美成人精品一区二区三区
|
亚洲精品在线免费看
|
看av电影
|
午夜精品一区二区三区在线视
|
亚洲在线日韩
|
国产精品毛片一区二区在线看
|
精品国产不卡一区二区三区
|
欧美一极视频
|
久久久久一区二区三区
|
欧美日韩在线视频一区
|
精品一区二区电影
|
免费黄色在线观看
|
精产国产伦理一二三区
|
黄片毛片免费看
|
久久精品一区二区三区四区
|
日韩午夜在线观看
|
国产一区二区视频在线
|
久久一区二区免费视频
|
中文字幕成人av
|
激情六月天
|
国产精品视频播放
|
欧美久久影院
|
亚洲成人中文字幕
|
国产网站在线免费观看
|
久久久久久国模大尺度人体
|
中文字幕一区二区三区在线观看
|
中文字幕一区二区三区乱码在线
|
国产精品欧美一区二区三区不卡
|