名称:lcd1602模块驱动代码设计Verilog代码Quartus 开发板
软件:Quartus
语言:Verilog
代码功能:
lcd1602模块驱动代码设计
1、用qartus软件
2、用verilog语言
3、输入两组16位二进制数据,使lcd1602在第一行上显示字符串consume与第一组转换成十进制输入的数据,第二行显示字符串rest与第二组转换成十进制输入的数据
本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:
编辑
1、工程文件
编辑
2、程序文件
编辑
编辑
编辑
3、程序编译
编辑
4、RTL图
编辑
5、管脚分配
编辑
6、Testbench
编辑
7、仿真图
整体仿真图
编辑
编辑
分频模块
编辑
LCD驱动模块
编辑
部分代码展示:
// LCD_Driver.v //功能简述:在1602液晶模块上显示字符串 module LCD_Driver(clk_LCD,rst,LCD_EN,RS,RW,DB8,Data_First,Data_Second); input clk_LCD,rst; //rst为全局复位信号 output LCD_EN,RS,RW; input [111:0] Data_First,Data_Second; //LCD_EN为LCD模块的使能信号(下降沿触发) //RS=0时为写指令;RS=1时为写数据 //RW=0时对LCD模块执行写操作;RW=1时对LCD模块执行读操作 output [7:0] DB8; //8位指令或数据总线 reg [7:0] DB8; reg [111:0] Data_First_Buf,Data_Second_Buf; //液晶显示的数据缓存 reg RS,LCD_EN_Sel; reg [3:0] disp_count; reg [3:0] state; parameter Clear_Lcd = 4'b0000, //清屏并光标复位 Set_Disp_Mode = 4'b0001, //设置显示模式:8位2行5x7点阵 Disp_On = 4'b0010, //显示器开、光标不显示、光标不允许闪烁 Shift_Down = 4'b0011, //文字不动,光标自动右移 Write_Addr = 4'b0100, //写入显示起始地址 Write_Data_First = 4'b0101, //写入第一行显示的数据 Write_Data_Second = 4'b0110, //写入第二行显示的数据 Idel = 4'b0111; //空闲状态
【来源:www.hdlcode.com】
阅读全文
1011