您好、欢迎来到现金彩票网!
当前位置:秒速牛牛 > 通信控制字符 >

利用FPGA实现外设通信接口之: 典型实例-字符LCD接口的设计与实

发布时间:2019-05-20 18:12 来源:未知 编辑:admin

  红色飓风开发板配套的字符液晶模块为2行,每行16个字符。本实要求显示功能如下:第一行显示“WelcomeRedLogicWorld!”,第二行显示“RedLogicWorld!”,由于一行只能显示16个字符,因此要整屏左移显示。

  本设计的程序主要包含两个模块,一个模块为char_ram,另一个模块为LCD的驱动模块lcd。

  char_ram模块的主要功能是根据输入的地址,输出相应字符在CGRM(字符存储发生器)中的地址。因为在控制LCD显示时,只需用户提供相应字符的地址,就可以显示出该字符。

  在char_ram中,先设置好所有字符对应的地址,然后给需要用到的字符定义新的地址用于选择输出。

  Lcd模块用于驱动lCD正常工作。LCD是一个慢显示器件,因此时钟一定要满足要求,在这里通过50MHz分频得到输入的时钟周期约为100s(约10Hz),以满足慢显要求。LCD的驱动模块利用一个状态机来实现。具体程序参考实例源代码。

  用户也可以直接新建一个仿真文件,选择“NewSource”,选择“VerilogTestFixture”,输入测试文件名称,如图10.38所示,单击“Next”按钮。

  选择lcd模块(对哪个模块进行测试,就选择哪个文件),如图10.39所示。

  上面列出的很多信号是人为添加的,具体如何添加以及具体Wave窗口下的许多用法在这里不做详细叙述。需要特殊说明的是,如果用户自己装的是ModelSimXE版本,是无法完成这个仿真的,因为这个工程代码是用VHDL写的,测试代码是用Verilog写的,ModelSimXE版本是不支持混仿真的,建议安装ModelSimSE版本,SE下是支持混合仿真的。

  这两个波形分别为写数据和写指令的仿真结果。写数据即向DDRAM写入要显示的字符对应的地址,其中clk为系统的输入时钟50MHz,clk_int为分频后得到的约10Hz输入时钟,lcd_e为使能信号,写数据时RS=1,R/W=0,写指令时RS=0,R/W=0。

  本节对利用FPGA来驱动字符型液晶模块的方法做了介绍,并通过编译下载在红色飓风的开发板上实现了预定功能。

http://upschool.net/tongxinkongzhizifu/31.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有