QuartusRS232串口UART发送接收verilog代码青创QC-FPGA开发板

名称:QuartusRS232串口UART发送接收verilog代码青创QC-FPGA开发板(文末获取)

软件:Quartus

语言:Verilog

代码功能:

RS232串口UART发送接收

1、设计UART串口代码,波特率可以通过代码参数修改

2、1bit起始位,8bit数据,1bit结束位

3、支持串口发送和接收,可以将接收自电脑的数据发送回电脑

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

青创QC-FPGA开发板.png

设计文档.doc

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图

波特率模块

发送模块

接收模块

部分代码展示:

module my_uart_top(clk,rst_n,rs232_rx,rs232_tx);
input clk;// 50MHz主时钟
input rst_n;//低电平复位信号
input rs232_rx;// RS232接收数据信号
output rs232_tx;//RS232发送数据信号
wire bps_start;//接收到数据后,波特率时钟启动信号置位
wire clk_bps;// clk_bps的高电平为接收或者发送数据位的中间采样点 
wire[7:0] rx_data;//接收数据寄存器,保存直至下一个数据来到
wire rx_int;//接收数据中断信号,接收到数据期间始终为高电平
//----------------------------------------------------
//波特率选择模块
speed_selectspeed_select(.clk(clk),
.rst_n(rst_n),
.bps_start(1),
.clk_bps(clk_bps)
);
//接收数据模块
my_uart_rxmy_uart_rx(.clk(clk),//接收数据模块
.rst_n(rst_n),
.rs232_rx(rs232_rx),
.clk_bps(clk_bps),
.bps_start(),
.rx_data(rx_data),
.rx_int(rx_int)
);
//发送数据模块
my_uart_txmy_uart_tx(.clk(clk),//发送数据模块
.rst_n(rst_n),
.clk_bps(clk_bps),
.rx_data(rx_data),
.rx_int(rx_int),
.rs232_tx(rs232_tx),
.bps_start()
);
endmodule

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值