名称:lcd1602模块驱动代码设计Verilog代码Quartus开发板
软件:Quartus
语言:Verilog
代码功能:
lcd1602模块驱动代码设计
1、用qartus软件;
2、用verilog语言;
3、输入两组16位二进制数据,使lcd1602在第一行上显示字符串consume与第一组转换成十进制输入的数据,第二行显示字符串rest与第二组转换成十进制输入的数据。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在开发板验证,开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
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;?????????????????????????????????//空闲状态
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1534
阅读全文
398