戴夫来自 DesignSpark
你觉得这篇文章怎么样? 帮助我们为您提供更好的内容。
戴夫来自 DesignSpark
Thank you! Your feedback has been received.
戴夫来自 DesignSpark
There was a problem submitting your feedback, please try again later.
戴夫来自 DesignSpark
你觉得这篇文章怎么样?
在本项目中,您将学习如何调试 HD44780 显示器。
您将需要一台 Digilent Digital Discovery (136-8070) , 它是一种组合的逻辑分析仪和码型发生器仪器。 Digital Discovery 允许您为大多数嵌入式项目调试、可视化和模拟数字信号。 我们使用 Python 来调试 LCD 显示屏。
让我们完成所有步骤。
第 1 步:将 LCD 显示器连接到 Arduino Uno
首先,我们根据以下接线表将 LCD 显示器连接到 Arduino Uno (769-7409) 。 提供的 Arduino 草图设置 LCD 的列数和行数,初始化串行通信,并启用背光。 使用 LiquidCrystal 库。
LCD Pin | Arduino Uno Pin |
---|---|
RS | 8 |
Enable | 9 |
D4 | 4 |
D5 | 5 |
D6 | 6 |
D7 | 7 |
Backlight control | 10 |
R/W | Ground |
第 2 步:将硬件连接到 Digital Discovery
将 LCD 屏蔽连接到 Arduino Uno 后,我们需要根据以下接线图将整个系统连接到 Digital Discovery。
Digital Discovery Pin | LCD Shield Pin |
---|---|
GND | GND |
DIN0 | EN |
DIN1 | RS |
DIN2 | D4 |
DIN3 | D5 |
DIN4 | D6 |
DIN5 | D7 |
注:在进行任何其他连接之前,应先连接接地。
第三步:编写 Python 脚本调试 LCD Shield
使用实时数据采集和分析。 该脚本使用以下四个线程:
- 主线程(GUI)初始化设备,负责GUI操作。
- 采集线程从Digital Discovery采集实时数据,并将数据放入队列。
- 原始数据处理线程。 从队列中读取数据。 仅在 EN 的上升沿锁存并将数据放入另一个队列。
- 数据处理线程。 从第二个队列读取锁存数据并模拟 HD44780 显示器的行为。
第 4 步:调试 LCD 屏蔽
运行 Python 脚本。 如果原始缓冲区或数据缓冲区填充得非常快,则应降低采样率。 “Int”指示器显示脚本是否检测到初始化。 “2”值表示初始化成功完成,“0”或“1”值表示过程不完整。
发送到 LDC 屏蔽的数据可以在 Digilent WaveForms 逻辑分析仪仪器中看到。 在逻辑分析仪中,在 EN 信号的上升沿添加一条带有时钟的总线。 接下来,将 RS 信号添加为单独的信号,并将触发模式设置为正常,并在 EN 信号的上升沿触发。
项目详细信息、Arduino 草图、Python 脚本可在Digilent 文档页面获得。
评论