Loading

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

posted @ 2023-02-27 19:00  记录学习的Lyx  阅读(71)  评论(0编辑  收藏  举报