讲座视频 - 液晶显示屏

  • 课程目录
  • 相关资源
  • 课程笔记

展开字幕 关闭字幕 时长:11分7秒
评论 收藏 分享 上传者:hi5
大家好,我是 John Valvano。 在本视频中,我们将讨论 液晶显示屏。 我们将介绍一些基本概念, 关于如何实现硬件软件的接口。 我们将介绍一种接口协议, 称为同步串行通信。 我们要将液晶显示屏连接 LaunchPad,并编写 一组软件函数,称为驱动程序, 使得我们可以通过调用它来使用该模块。 然后我们要将所有这些结合起来, 并将液晶显示屏放置在我们的机器人上, 以便我们可以观察所发生的情况。 好,让我们开始吧。 在我们进行连接时会遇到的第一个问题是, 硬件速度通常不匹配。 软件执行得相当快, 在我们的处理器中,运行每条指令大约需要 42 纳秒。 相反,硬件的运行速度通常 软件慢很多。 我们的液晶显示屏需要大约 6 微秒的时间 进行输出,而其他许多 I/O设备甚至比这更慢。 因此,当我们遇到这种速度不匹配的情况时, 我们需要一种将两者同步的方法。 “Blind” 方式相当简单, 只需在软件中进行输出并等待一定的时间。 我们将在本模块中将使用另一种方法, 称为“Busy-Wait”。 我们有一个输出设备,该设备会有一个状态标志。 如果该状态标志显示 Busy , 这意味着它正在执行之前的输出, 那么我们将等待(Wait)。 当输出设备就绪时, 再为它提供要输出的新数据。 这就称为 “Busy-Wait”。 我们可以对输入设备执行同样的操作。 对于一个输入设备,如果显示 Busy, 那么表示暂时无法接收数据,并将进行等待,当设备就绪时 再开始接收数据。 在实验 14 中,我们将使用中断, 另外我们不会使用任何 直接存储器访问(DMA)。 同步串行通信是一种 将设备连接到 MSP432 的方法。 它是一个非常重要的模块,以至于我们可以看到, 在 MSP432 芯片上共有8 组同样的模块。 (同步串行通信)共有四根线,分别为使能线、时钟线、 输入线和输出线, 我们稍后将看到它们是如何工作的。 我们会将 MSP432定义为主设备, 这意味着它将驱动时钟线和使能线, 并且负责发起传输。 相反,我们的液晶显示屏将作为从设备, 它将读取时钟线和使能线, 并仅在被询问时进行响应。 同步串行通信的基本思想, 或具体到 SPI 协议, 是有两个移位寄存器, 一个位于处理器中,一个位于从设备中。 具体通信过程是:当通信开始时, 数据会从一个移位寄存器流出,并流入另一个移位寄存器。 但我们可以看到,在数据 从主设备传输到从设备的同时,数据也可以由从设备 传输到主设备。 因此,数据基本上是在这两个设备之间 进行交换。 它的具体工作方式 如我们所见,在时钟线上将有一个边沿, 在此边沿到来时主设备将会进行数据的更改。 那么,在图中所示的特定配置下, 上升沿到来时,数据一位一位地发生改变。 每次改变一位, 这就是“串行”的含义。 但另一个设备将在另一个边沿到来时 捕获或读取数据。 这就是串行同步通信速度很快的原因。 因此,我们将在一个边沿发送数据, 并在另一个边沿读取数据,这样数据就可以 可靠而快速地在一个设备和另一个设备之间传输。 对于液晶显示屏, 我们基本上不会使用这一部分接口(接收部分), 因为我们只需要进行输出。 那么,我们要做的是,这是我们的 Busy-wait 标志位(口误), 这是我们的 Busy 标志位, 标志位为1意味着寄存器是空的,也就是我们可以发送数据。 我们将通过向这个(发送)寄存器进行写入 来发送数据。 那么,这里是放大的画面, 正如我说过的,一个边沿用于写入数据, 现在图中使用的是另一种方式。 下降沿在这种方式中, (在这种方式中)被用来更改数据, 然后上升沿被用来读取数据。 因此主设备将驱动时钟线和使能线, 而这两个设备,即主设备和从设备 都将发送和读取数据。 再说一次,这种方式非常快,因为 它用于发送的边沿和用于接收的边沿不同。 这是一个采用负逻辑的使能引脚示例, 它在数据传输期间置0。 使能信号是由硬件自动控制的。 这里是我们的液晶显示屏, 它的宽度为 84 个像素,高度为 48 个像素。 它采用这种奇怪的寻址模式,其中 0,0 坐标 在屏幕顶部。 它仅需要连接5个引脚, 我们将在下一张幻灯片中看到这些引脚 它使用 SPI 通信协议。 每秒将发送 1200 万位, 这也是我选择它的原因。 因此,一个 8 位的字符,例如一个 8 位像素, 仅需要 8/12 微秒就可完成发送。并且这块屏幕的成本相当低, 这就是我们在机器人套件选择它的原因。 这就是我们在机器人套件选择它的原因。 这里是硬件本身, 正如我之前介绍过的,该设备有 5 个引脚 我们将从时钟线开始, 我们将从时钟线开始, 这就是时钟线。 时钟信号从主设备传输到从设备, 而数据 从主设备传出,这就是数据, 这是数据引脚 我们有一个控制引脚 这是锁存/使能引脚 我们还有两个其他引脚 一个用于指定数据或命令, 另一个用于生成复位信号, 使得我们可以对设备进行复位。 那么您可以看到液晶屏使用了 5 个引脚 那么您可以看到液晶屏使用了 5 个引脚 其中,这里的三个引脚是为我们的设备 配置的同步串行端口。 市面上可以找到很多 Nokia 显示屏, 如果您碰巧有一个 Nokia 显示屏, 而它的引脚编号与上述编号不完全一样, 没关系,找到匹配的引脚名称就可以使它正常工作。 本次实验的其他目标包括 在整数、无符号整数和 ASCII 字符序列之间进行转换。 基本来说,这种转换是相当简单的, 如果您希望输出一个介于1000 和 9999 之间的数字, 我们可以先输出一个空格。 如果我们将该数字除以 1000, 这样可以得到千分位。 在转换结果上加 30,会使它成为 ASCII 码。 然后我们再计算剩余的位, 现在,它将是一个介于0 和 999 之间的数字, 除以 100,可以得到百分位, 加上 30 使它成为 ASCII 码。 在我们这么做之后,我们会得到一个介于 0 和 99 之间的数字, 除以 10 将得到十分位,转换为 ASCII, 再将个位转换为 ASCII。 那么,该序列将恰好生成 1、2、3、4、5 五个输出字符,即一个空格后面跟四位数字。 您也可以将同样的操作用于 其他类型的数字,同样相当简单。 这就是我们将输出到液晶显示器的字符。 好的,我们要使用液晶屏的方法是 将这块液晶显示器放置在一个机器人上。 这样,我们就可以在这个机器人沿着赛道奔跑时 看到它在想什么。 有一组中间层函数, 您可以使用它们来让光标的 xy 坐标变得平滑。 您可以使用它们来让光标的 xy 坐标变得平滑。 您可以输出字符串, 也可以输出数字。 您需要在这里编写这两个函数, 就是下面这两个函数。 这样一来,如果您执行这个函数一次, 液晶屏上将会显示“D= mm”。 然后,当您执行这一行代码时, 您所做的是在空格位置填写一个新的数字。 因此,如果您进行一个测试, 来调试这两行函数的执行过程, 您将看到,大约需要 42 us 来显示这些内容。 这 42 us的时间可以被称为 具有极小侵入性,因为该 LCD 的存在 不会显著影响您的机器人的性能,对吧? 你可以实时执行该操作, 例如每秒 30 次。 那么,如果您执行这段代码的间隔 为每 33 ms 执行一次, 也就是说,如果您每隔 33 ms执行这段需要 42 us 的代码 也就是说,如果您每隔 33 ms执行这段需要 42 us 的代码 这就是我说的极小侵入性的含义, 它仅占用了处理能力的 1/1000。 现在,您有了一个图形显示界面 在需要的时候可以使用它。 更重要的在于,我们认为能够观察到您的机器人在想什么, 对于解决调试过程中的挑战是具有非常大的意义的。 对于解决调试过程中的挑战是具有非常大的意义的。 总结一下,本章包含了一些基本内容, 总结一下,本章包含了一些基本内容, 您将看到在接近检测应用中 如何使用 Busy-Wait 同步通信。 我们将在实验中编写对应代码 这是一个同步串行通信示例。 这是一个同步串行通信示例。 它的原理很简单, 但请相信我,同步通信是一种可以 简单快捷地完成任务的方法。 如果您喜欢了解图形化编程,可以通过这种方式来实现, 不过我们希望您做的是,实现数字输出, 并尽量减小代码的侵入性。 换句话说,尽量缩短执行代码所花费的时间。 祝您本实验玩得开心, 本实验可以说是一个比较有趣的实验, 有助于您提高设计机器人的技能。215
课程介绍 共计2课时,13分13秒

TI-RSLK 模块 11 - 液晶显示屏

TI LCD 机器人 RSLK 液晶显示屏

此模块将介绍如何在 LCD 屏幕上显示字符并提供实时调试。机器人的 LCD 可用于方便观察机器人的想法。

  • 相关产品
  • 样品申请
  • EVM购买
  • 文档下载
  • 软件/工具
  • TI Design
分享到X
微博
QQ
QQ空间
微信

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新文章 手机版

站点相关: EEWORLD首页 EE大学堂 论坛 下载中心 Datasheet 活动专区 博客

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved