差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
文本lcd模块的控制 [2020/07/09 11:13]
zili
文本lcd模块的控制 [2020/07/09 13:13] (当前版本)
zili
行 1: 行 1:
-##​文本LCD模块的控制+###​文本LCD模块的控制
 [[https://​www.fpga4fun.com/​TextLCDmodule.html|Text LCD module]]\\ [[https://​www.fpga4fun.com/​TextLCDmodule.html|Text LCD module]]\\
 \\ \\
行 13: 行 13:
   * RS:寄存器选择,0表示命令字节,1表示数据字节。   * RS:寄存器选择,0表示命令字节,1表示数据字节。
 \\ \\
-大多数LCD模块都基于HD44780芯片或兼容的。查[[https://​en.wikipedia.org/​wiki/​Hitachi_HD44780_LCD_controller|Wikipedia]]以获取更多信息。+大多数LCD模块都基于HD44780芯片或兼容的。查[[https://​en.wikipedia.org/​wiki/​Hitachi_HD44780_LCD_controller|Wikipedia]]以获取更多信息。
 \\ \\
-###​7位设计 + 
-让我们FPGA板驱动LCD模块。\\+\\ 
 +####​7位设计 
 +让我们FPGA板驱动LCD模块。\\
 这是我们设计的框图: 这是我们设计的框图:
 {{ ::​lcdmodule.gif |}} {{ ::​lcdmodule.gif |}}
行 44: 行 46:
 </​code>​ </​code>​
  
-我们从不读取LCD模块,因此R / W线接地。\\+我们从不读取LCD模块,所以R / W线接地。\\
 \\ \\
 最后一个麻烦是“ E”信号需要长时间激活,即220ns。从FPGA的角度来看,这很长,因为我使用的是25MHz时钟(周期为40ns)。因此,“ E”至少需要驱动5.5个时钟。在这里,我们使用一个计数器对时钟进行计数,将其驱动7个时钟。\\ 最后一个麻烦是“ E”信号需要长时间激活,即220ns。从FPGA的角度来看,这很长,因为我使用的是25MHz时钟(周期为40ns)。因此,“ E”至少需要驱动5.5个时钟。在这里,我们使用一个计数器对时钟进行计数,将其驱动7个时钟。\\
行 64: 行 66:
  
 HDL设计在[[https://​www.fpga4fun.com/​files/​LCDmodule.zip|这里]]。\\ HDL设计在[[https://​www.fpga4fun.com/​files/​LCDmodule.zip|这里]]。\\
 +
 \\ \\
-###软件 +####软件方面 
-\\ +我们对LCD进行初始化并发送一些要显示的数据。
-我们初始化LCD并发送一些要显示的数据。+
 {{ ::​lcd_hello.jpg |}} {{ ::​lcd_hello.jpg |}}
 \\ \\
-是初始化LCD模块并显示“ hello”的C代码。+以下是初始化LCD模块并显示“ hello”的C代码。
  
 <code verilog> <code verilog>
行 99: 行 101:
 \\ \\
  
-###​8位设计+####​8位设计
 主要缺点是较早的设计是我们仅向LCD数据总线发送7位。这是一个问题,因为无法再使用LCD模块的设置DD RAM地址命令。\\ 主要缺点是较早的设计是我们仅向LCD数据总线发送7位。这是一个问题,因为无法再使用LCD模块的设置DD RAM地址命令。\\