本文将介绍两个利用通用输入/输出(gpio)引脚复用来减少项目引脚使用的示 例。第一个示例使用了“查理复用算法”技术,第二个示例使用了定时外设和中 断来快速切换引脚输入状态和输出状态,以在驱动 led 的同时读取按键。
pic®和 avr®单片机上的引脚复用
通用输入/输出(gpio)引脚是单片机设计时的重要考量之一。您需要足够的引 脚将单片机连接到设计中的所有其他组件;但是,超过所需的引脚可能会导致设计 成本增加,并且占用电路板上更多空间。此外,减少设计中的所需引脚数量可能就 可以选择另一种不同的封装。如果有一种方法可以从较小的封装中挤出更多的 i/o 引脚就好了!幸运的是,我们确实有方法可以在这种情况下释放引脚。
下面是 microchip 应用团队使用 avr dd 系列单片机创建的两个示例。首先, 我们将探讨通过一种称为“查理复用算法”的技术复用 gpio 引脚来控制 led。接 下来,我们将看一下如何使用单个引脚同时运行独立的按键和 led。
查理复用算法的核心思想是利用单片机引脚可以处于的三种状态:数字高电平、 数字低电平和高阻抗数字输入状态(也称为高阻态或三态)。通过使用这三种状态 而不仅仅是典型的高电平和低电平,用户可以使用 n 个引脚驱动最多(n2 -n)个独立的 led。在此示例中,三个指定的引脚可以驱动六个独立的 led。
那么查理复用算法的工作原理到底是什么呢?为了理解这一点,我们需要看一 个示例。
这里我们用三个 i/o 引脚驱动六个 led。
如果我们只想导通 led1,则需要将 pa2 设为高电平,pa3 设为低电平,pa4 设为高阻态。电流将流过 led1 并使其导通,同时使所有其他 led 保持关断状态。
这里的三态十分重要,因为如果 pa4 为“低电平”,它也会意外导通 led5。 如下面所示:
高阻抗逻辑状态确保电流只流过 led1。利用 i/o 引脚状态的相应组合(要获得 预期行为,用户必须将一个引脚设为高电平、一个引脚设为低电平,其余引脚设为 高阻抗),可以为电路中的任何 led 重复此过程。
虽然在任意给定时刻这种方法只会点亮一个 led,但是快速改变 i/o 状态可创 造出点亮多个 led 的错觉。(led 调光的工作原理是通过在单个 led 上使用脉冲 宽度调制,原理与此非常相似)。可以在下面看到:(点击图片查看动态效果)
第二个示例涉及到在单个引脚上改动一个 led 和一个按键。
从有利的角度看,可利用中断和定时器来实现此目的。单片机引脚大部分时间 都在驱动 led。然而,一个定时外设会定期在单片机内部触发中断,将引脚从输出 快速切换为输入,然后检查按键的状态。虽然这会暂时停止驱动 led,但如果这个 过程可以做得足够快,那么在检查按钮状态的时候,对 led 造成的影响几乎不可见。 我们在下面的示例中使用了这种方法。单片机不停地驱动一个闪烁的 led,同 时定期检查按键,如果按键被按下,就会点亮一个单独的 led。
尽管本文章只涵盖了这两种技术的基础知识,但我们的 microchip 应用团队发布 的相应 github 页面包含了图表、示例代码和更详细的说明。请访问该页面或我们 的 avr dd 产品系列页面来了解更多信息。
来源: microchip微芯
亚智科技获国内知名显示器制造商的订单,金额逾六亿人民币
沐创新品速递,业内首款国产光口千兆芯片实力详解
对比国内外电池参数的表达形式,差距可窥一斑
同样都是发热,为什么石墨烯的热更利于人体健康
全球汽车芯片短缺的原因 短缺问题会对汽车产业造成哪些影响
使用引脚复用减少8位单片机的引脚使用
工业应用中网络通信的OSI七层模型介绍
提出了一种以动态响应一致性为最优目标的自适应控制策略
连接器的4种连接方式及IEC电源连接器具有哪些优势
ANYMESH-SDR-A4 MES无线自组网 室外固定电台-万蓝通信
LG将推出耳机等转用的便携式UV消毒盒
米家互联网洗烘一体机10kg版正式发布 小米进军洗衣机市场
示波器的时基是什么意思?示波器的时基在哪里?示波器时基怎么看?
编写动态的验证环境
电路原理图字母缩写表示什么?
性能小超人 iQOO Z8 全新发布
超过2.75亿印度公民的信息记录被曝光!
Verdi使用技巧(二)
改变直流电机的转速
iQOO骑士黑猛兽版高清图赏