GPIO及其应用举例.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机基本知识第四章 GPIO多路复用器及其应用举例 4.1 F2812端口概述 DSP F2812提供了56个多功能引脚,这些引脚像单片机的P3端口一样,具有第二功能。一方面,这些引脚作为片内某些资源的输入或输出引脚,实现片内某些外设功能。另一方面,在片内外设功能不被使能情况下,该端口又可以作为一般的输入输出端口使用,实现普通I/O口输入或输出高低电平信号的功能。以GPIOF0_GPIOF4为例,当片内SPI外设被使能时,上述引脚作为SPI接口的数据通讯引脚使用,GPIOF2作为SPICLKA,为SPI通讯的时钟脉冲信号,用来输出或输入时钟信号,GPIOF0作为SPIMOSIA,用来作为SPI口的从机输入主机输出端口。在SPI外设功能不被使能时,该四个端口作为普通的输入输出I/O口使用。 F2812的GPIO多路复用器在将有关引脚用作数字I/O时,将端口分为五组,组成两个16位的数字I/O口GPIOA和GPIOB;组成一个15位的数字I/O口GPIOF。4位的数字I/O口GPIOD;一个3位的数字I/O口GPIOE。如下图所示。 图4.1 GPIO多路复用端口 4.2 GPIO控制寄存器 F2812的多功能端口作为GPIO端口使用时,可以通过使用GPIO的有关寄存器可以选择和控制这些共享引脚的操作,。例如:通过GPxMUX寄存器可以把这些引脚作为数字I/O或片内外设I/O口。如果选择某个引脚作为数字I/O口,则可以通过GPxDIR寄存器来设置引脚的方向;另外,可以通过GPxQUAL寄存器来改善输入信号,有效的消除输入信号的毛刺脉冲的干扰。 每个GPIO通过功能控制、方向、数据、设置、清除和反转触发寄存器来控制。 GPxMUX寄存器—— 每个I/O口都有一个功能选择寄存器,用来配置I/O工作在外设操作模式或数字量I/O模式。例如:存储器映像寄存器GPAMUX(0x70C0,容量16位),作为GPIOA组端口的功能选择寄存器。GPBMUX(0x70C4,容量16位)为GPIOB口功能选择寄存器。 复位期间所有GPIO配置成I/O功能。 GPxMUX.bit = 0,配置成I/O功能; GPxMUX.bit = 1,配置成外设功能; GPxDIR寄存器—— 每个I/O口都有方向控制寄存器,用来配 置I/O的方向。复位时,所有GPIO位输入。 GPxDIR.bit = 0,引脚配置为数字量输入; GPxDIR.bit = 1,引脚配置为数字量输出; GPxDAT寄存器—— 每个I/O口都有数据寄存器,如果I/O配置为输入,反映当前经过量化后I/O口的输入信号的状态。复位时,所有GPIO位输入。 GPxDAT.bit = 0,且引脚配置输出功能,将相应的引脚拉低; GPxDAT.bit =1,且引脚配置输出功能,将相应的引脚拉高; GPxQUAL寄存器 从GPxDAT寄存器读取的相应引脚状态,通过量化寄存器GPxQUAL量化输入信号,消除外部噪声。 GPxQUAL寄存器用来量化采样周期; 采样窗口是6个采样周期宽度,只有当所有采样的数据相同时,输出才会改变。 这个功能可以有效地消除输入信号的毛刺脉冲的干扰。 图4.2 GPxQUAL寄存器量化采样 4.3 GPIO应用举例——8×8LED点阵控制 应用DSP的GPIO端口控制输出数据,控制8×8点阵进行图形或字符显示。 4.3.1 硬件电路设计 电路如下图所示。74164为串行输入并行输出移位寄存器。设计中,选择两片74164分别控制点阵模块的行和列,控制数据从DSP端口输出。其中,GPIOF0输出数据与U1的74164的A端口相连,GPIOF1与B口连接,两个端口用来输出对点阵进行显示控制的数据,GPIOF2输出模拟时钟脉冲信号,与74164的CLK引脚相连,GPIOF3连接CLR清零端。DSP F2812的GPIOB0---GPIOB3与另外一片74164的A、B、CLR、CLK对应相连。如图所示。 图4.3 8×8点阵电路图 4.3.1.1 8×8点阵内部电路 点阵内部为排列的8×8个发光二极管,每一个二极管都在行线和列线的交点处,要同时受到行和列的控制才能点亮。二极管阵列的正向端分别由COL1-COL8端口控制,负向端通过端口ROW1-ROW8控制。在驱动某个点阵点点亮时,需要同时控制该发光二极管正端接高电平,负端接低电平即可。例如:要使得COL4和ROW4交点处二极管点亮,则需要在端口COL端输入数据08H),在ROW端输入08H)。 图4.4 8×8点阵内部电路 4.3.1.2 串行输入并行输出移位寄存器74164功能 如图所示为74164的引脚图,CLEAR为清零端,CLOCK为时钟脉冲输入端,A、B端口

文档评论(0)

优美的文学 + 关注
实名认证
内容提供者

优美的文学优美的文学优美的文学优美的文学优美的文学

1亿VIP精品文档

相关文档

相关课程推荐