• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

UART串口控制的6路抢答器设计Verilog代码Vivado basys3开发板

06/24 13:14
378
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24010611222MI.doc

共1个文件

名称:UART串口控制的6路抢答器设计Verilog代码Vivado  basys3开发板

软件:Vivado

语言:Verilog

代码功能:

UART串口控制的6路抢答器设计

1、设计6路抢答器,通过UART串口接收电脑发出的开始抢答和清零指令。

2、数码管显示抢答者编号。

3、将抢答者编号在通过UART串口发送给电脑。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

本代码已在basys3开发板验证,basys3开发板如下,其他开发板可以修改管脚适配:

basys3开发板.png

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 管脚约束文件

4. Testbench仿真测试文件

5. 仿真图

部分代码展示:

`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2019/04/06 19:01:27
// Design Name: 
// Module Name: testbench_qiangdaqi
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////
module testbench_qiangdaqi();
reg clk_100m;
reg [5:0]key;//6个抢答按键,所有key都是高电平有效
reg UART_rx;//串口输入
wire  [7:0]deg_display;
wire  alarm;//板子上没有蜂鸣器,用led灯亮模拟
wire  [3:0]sel_display;
qiangdaqi qiangdaqi_i(
.clk_100m(clk_100m),
.key(key),//6个抢答按键,所有key都是高电平有效
.UART_rx(UART_rx),//串口输入
.deg_display(deg_display),
.alarm(alarm),//板子上没有蜂鸣器,用led灯亮模拟
.sel_display(sel_display)
);
initial                                                
begin   
 key=6'b000000;                                               
 UART_rx=1;
 //AA=10101010
 #100;
 #4340;
 UART_rx=0;//起始位
 #4340;
 UART_rx=0;//第0位 
 #4340;
 UART_rx=1;//第1位  
 #4340;
 UART_rx=0;//第2位 
 #4340;
 UART_rx=1;//第3位 
 #4340;
 UART_rx=0;//第4位 
 #4340;
 UART_rx=1;//第5位 
 #4340;
 UART_rx=0;//第6位 
 #4340;
 UART_rx=1;//第7位 
 #4340;
 UART_rx=1;//检验位  
 #4340;
 UART_rx=1;//停止位
 #10000;
  key=6'b000100;  //3号抢答
 #100;
 key=6'b000010;  //2号抢答
 #100
 key=6'b000001;  //1号抢答
 #100;
 key=6'b000000; 
 #10000;
 //BB=10111011
 #4340;
 UART_rx=0;//起始位
 #4340;
 UART_rx=1;//第0位 
 #4340;
 UART_rx=1;//第1位  
 #4340;
 UART_rx=0;//第2位 
 #4340;
 UART_rx=1;//第3位 
 #4340;
 UART_rx=1;//第4位 
 #4340;
 UART_rx=1;//第5位 
 #4340;
 UART_rx=0;//第6位 
 #4340;
 UART_rx=1;//第7位 
 #4340;
 UART_rx=1;//检验位  
 #4340;
 UART_rx=1;//停止位
 #10000;
end 
                                                   
always                                                                 
begin                                                  
clk_100m=1;
#5;
clk_100m=0;
#5;                                            
end        
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=505

  • 2-24010611222MI.doc
    下载

相关推荐