差别

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

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
文本lcd模块的控制 [2020/07/09 11:09]
zili
文本lcd模块的控制 [2020/07/09 13:13] (当前版本)
zili
行 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位设计 ####​7位设计
-让我们FPGA板驱动LCD模块。\\+让我们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个时钟。\\
行 65: 行 67:
 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>
行 182: 行 184:
 </​code>​ </​code>​
 \\ \\
-HD44780规范显示,“ E”变低后,“ RS”必须在10ns内有效。因此,您会注意到这里“ E”仅被驱动6个时钟,并且“ LCD_instruction”标志仅在时钟7之后被复位,以提供25ns的空间。+HD44780规范显示,“ E”变低后,“ RS”必须在10ns内有效。因此,您会注意到这里“ E”仅被驱动6个时钟,并且“ LCD_instruction”标志仅在时钟7之后被复位,以提供25ns的空间。\\
 {{ ::​lcdmodule_waveform2.gif |}} {{ ::​lcdmodule_waveform2.gif |}}
 \\ \\
-####​那就是所有人!轮到您尝试了。+ 
 +\\ 
 + 
 +**That'​s all folks!轮到您尝试了。**