基于安路科技EG4A20BG256按键控制LED

[复制链接]
1331|9
 楼主| zeshoufx 发表于 2020-9-15 15:22 | 显示全部楼层 |阅读模式
一、平台



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| zeshoufx 发表于 2020-9-15 15:26 | 显示全部楼层
二、硬件电路




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| zeshoufx 发表于 2020-9-15 15:27 | 显示全部楼层
连接关系:
CLK:E1
key3:E16
key2:M16
key1:M15
key0:N13
LED3:D9
LED2:C9
LED1:F9
LED0:E10

 楼主| zeshoufx 发表于 2020-9-15 15:28 | 显示全部楼层
三、输入输出描述
  1. module key_led(clk,key_in,led_out);

  2. input clk;
  3. input [3:0]key_in;
  4. output [3:0]led_out;

  5. wire rst_n=1'b1;
  6. reg [19:0]count;
  7. reg [3:0]key_scan;


 楼主| zeshoufx 发表于 2020-9-15 15:30 | 显示全部楼层
四、检测时钟和复位
  1. //******************************

  2. always@(posedge clk or negedge rst_n)
  3. begin

  4. if(~rst_n)
  5.         count<=20'd0;
  6.         else
  7.         begin
  8.                 if(count==20'd999_999)
  9.                 begin
  10.                         count<=20'b0;
  11.                         key_scan<=key_in;
  12.                 end
  13.                 else
  14.                 count<=count+20'b1;
  15.         end
  16. end


 楼主| zeshoufx 发表于 2020-9-15 15:31 | 显示全部楼层
五、时钟节拍锁存
  1. //*****************************

  2. reg[3:0]key_scan_r;
  3. always@(posedge clk)
  4. begin
  5.         key_scan_r<=key_scan;

  6. end

  7. wire[3:0]flag_key=key_scan_r[3:0]&(~key_scan[3:0]);


 楼主| zeshoufx 发表于 2020-9-15 15:32 | 显示全部楼层
六、LED控制
  1. //*****************************


  2. reg[3:0]temp_led;
  3. always@(posedge clk or negedge rst_n)
  4. begin
  5.         if(!rst_n)
  6.                 temp_led<=4'b1111;
  7.         else
  8.         begin
  9.                 if(flag_key[0])
  10.                         temp_led[0]<=~temp_led[0];
  11.                 if(flag_key[1])
  12.                         temp_led[1]<=~temp_led[1];
  13.                 if(flag_key[2])
  14.                         temp_led[2]<=~temp_led[2];
  15.                 if(flag_key[3])
  16.                         temp_led[3]<=~temp_led[3];
  17.         end
  18. end
  19. assign led_out[0]=temp_led[0];
  20. assign led_out[1]=temp_led[1];
  21. assign led_out[2]=temp_led[2];
  22. assign led_out[3]=temp_led[3];

  23. endmodule


 楼主| zeshoufx 发表于 2020-9-15 15:38 | 显示全部楼层
七、运行效果按下按键,LED灯翻转

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×

评论

@feihufuture :安路应该不会有ZYNQ这个型号吧  发表于 2020-9-16 09:58
安路的ZYNQ什么时候出来?  发表于 2020-9-15 16:16
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

1991

帖子

15

粉丝
快速回复 在线客服 返回列表 返回顶部