NIOS II与LCD1602
使用NIOS内置LCD16207 IP核驱动LCD1602#
闲话#
为了在NIOS中驱动LCD1602,走了很多的弯路,网上搜索了很多,但是这方面的资料太少了。在官方文档《Embedded Peripherals IP User Guide》中有这样一段话,可以使用printf函数在LCD上显示字符,BSP要做相应的设置。
Qsys系统的搭建#
如图,

搭建好Qsys系统后,Generate生成.qip文件。在Quartus新建项目,芯片选择EP4C6F17C8。创建顶层模块,点击HDL example。将.qip文件添加到项目中。

Verilog代码#
module LCD(
input wire clk,
input wire rst,
input wire uart0_rx,
//导出信号
output wire LCD_E,
output wire LCD_RW,
output wire LCD_RS,
output wire uart0_tx,
inout wire [7:0] LCD_Data
);
LCD1602 u0 (
.clk_clk (clk), // clk.clk
.reset_reset_n (rst), // reset.reset_n
.uart0_external_rxd (uart0_rx), // uart0_external.rxd
.uart0_external_txd (uart0_tx), // .txd
.lcd_1602_RS (LCD_RS), // lcd_1602.RS
.lcd_1602_RW (LCD_RW), // .RW
.lcd_1602_data (LCD_Data), // .data
.lcd_1602_E (LCD_E) // .E
);
endmodule
C代码#
#include <stdio.h>
int main()
{
printf("hello FPGA\n");
return 0;
}
要在LCD上输出相应的字符BSP要进行相应的设置,为了减少FPGA资源的消耗,要取消某些HAL库。


效果演示#
NIOS工程烧录:https://blog.csdn.net/Learning1232/article/details/110225728

作者:qianxiaohan
出处:https://www.cnblogs.com/qianxiaohan/p/17161499.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具