原创 电路设计中的口线复用例子

2025-4-3 09:49 325 2 3 分类: MCU/ 嵌入式 文集: 电路分析设计

实例1:设置GPIO为输入或输出完成读取状态和驱动LED功能。

下面这个电路使用3个gpio 用于读取拔码开关的设置和驱动3个LED流水灯显示。拔码开关在开机时需要读取一次。使用过程中不需要使用。如果单独使用3个GPIO口很浪费。

电路功能是,如果GPIO设置为输入,则可读入拔码开关设置,设置为输出则能分别点亮3个LED灯。

拔码开关使用优先编码器将输入6个位置转换成3个编码输出。(历史原因,这个编码器电路的设计得不好。),LED使用非门驱动。

当FLOWLED设置为输入时,可以读入A0 A1 A2 的状态。当FLOWLED设置为输出时可以分别点亮或关闭3个LED灯。

当设置成输入读拔码开关时,LED实际上也会受影响。所以实际使用时会短读。让LED灯来不及反应。

实例2:使用一条AD线路,实现检测电池温度和充电完成功能。

下面这个是锂电池充电电路,复用电池测温信号。实现电池测温和检测电池充满功能。电池温度由电池包内部的NTC热敏电阻感应。在电池充电过程中,指示电池充电的信号CHGOK为低,当电池充满后,CHGOK变高。电路中将一个NPN三极管与NTC电阻并联。在充电过程中三极管截止,些时输出的是电池温度信号。当电池充满时,三极管导通,输出变为0表示电池充满。

实例3:设置GPIO为OD输出,可以使用一条线读取光耦输出,写入芯片控制信号。

下面这个设计使用一条线,输入时读取光耦输出状态。作为输出时用于操作称重传感器芯片HX720D的时钟信号。HX720D在读取数据前后,需要保持时钟信号为低。设计了一个比较器电路。当设置为输入时,无论光耦输出为高或低,时钟信号驱动为低。当设置为输出时,输出为低时,时钟信号驱动为高。输出为高时驱动为低。读写互不干扰。

作者: southcreek, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-408807.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

eeNick 2025-4-7 11:20

原创干货写的不错,奖励50E币
相关推荐阅读
southcreek 2025-02-20 13:35
供电开关电路不良引起的MCU程序跑飞及解决办法
这是一个3.3V 的供电开关,给WIFI模块供电。目的是能控制WIFI模块通电或断电。VCC_3V3 是电源,当WLENN为低时,Q1打开输出VCCW 给WIFI模块供电。实际使用时,当控制WLENN...
southcreek 2025-01-22 06:34
设置可执行程序图标
在本文的示例中,图标文件名称为“logo.ico”,该文件位于项目主目录下。2.2 设置标题栏图标通过下列函数设置标题栏图标:setWindowIcon(QIcon("://logo.ico"));1...
southcreek 2024-12-04 16:32
PWM输出隔离DAC设计
这个设计的目标是产生一个隔离的DAC输出。12V供电,产生0~5V的输出。达到10000约13.3位的分辨率。要求DAC输出在改变设置后1S内能稳定。需要能长时间保持稳定和低噪声。能达到要求的DAC只...
southcreek 2024-12-04 15:23
一个基于HAL库的串口控制框架
将串口接收配置为 DMA方式,DMA 使用 DMA_CIRCULAR 模式工作。串口接收的数据实际上构成循环队列。 定义一个结构Comm_typedef 结构体中包含指向接收到的第一字节位置chrc...
southcreek 2024-07-08 11:38
接地不良导致的故障分析
这个电路的控制板需要连接显示板和识别板。5V 供电和串行控制连到显示板,显示板再连接到识别板。识别板上电位器使用一个LDO供电,将输入的5V转成3.3V。当电位器滑动时,输出电压在0~3.3V之间。...
我要评论
1
2
关闭 站长推荐上一条 /3 下一条