蓝桥杯嵌入式板-解决LCD使LED亮灭混乱的办法

本文详细介绍了使用STM32F103RB芯片控制LED的方法,通过M74HC573锁存器实现LED与LCD共用管脚的问题解决。在操作LCD前保存并恢复GPIOC寄存器值,避免影响LED状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

比赛板用的是stm32f103RB芯片,64管脚,LED与LCD同用了管脚PC8~PC15(对应LED1~LED8),所以板子上增用了一个锁存器——M74HC573。在控制LED的时候,只需在输出对应电平后,给锁存器的LE(N—LE,对应PD2)管脚一个上升沿脉冲即可把对应的电平锁存到锁存器的输出端(Q1~Q8),从而控制LED。




需要注意的是:对LCD的操作会影响LED的亮灭,如LCD的行写会点亮所有的LED;

解决方法如下:即操作LCD之前保存GPIOC相关寄存器的值,对LCD操作结束后,重新恢复原值。





转自:https://blog.youkuaiyun.com/weixin_39127054/article/details/79701028

### 蓝桥杯嵌入式训练LED灯异常自动解决方案 针对蓝桥杯嵌入式训练LED灯出现异常自动的情况,可以从硬件和软件两个方面进行排查。 #### 硬件检查 1. **电源稳定性** - 需要确认供电电压是否稳定。不稳定或过低的输入电压可能导致电路工作异常,进而影响到LED的状态变化[^2]。 2. **连接线路检测** - 检查所有涉及控制信号传输至LED模块之间的连线是否存在松动、短路等问题。任何物理上的接触不良都可能引发间歇性的电气干扰,造成灯光闪烁现象。 3. **元件质量验证** - 对于新购买不久即出现问题的产品而言,不排除某些元器件本身存在缺陷的可能性。建议仔细查看焊接点是否有虚焊情况发生;另外也可以尝试更换同型号其他批次生产的组件来排除这一因素的影响。 #### 软件调试 1. **程序逻辑审查** - 审核当前使用的固件代码中有关驱动LED部分的具体实现方式。特别注意定时器配置不当可能会引起周期性触发事件从而改变输出状态的行为模式。 2. **中断处理机制优化** - 如果项目中有涉及到外部中断源,则需确保其优先级设置合理,并且能够及时响应并妥善处置每一次到来的服务请求。否则过多未被正确处理的任务堆积起来也会间接作用于I/O端口的表现形式之上。 3. **去抖动措施实施** - 当开关量作为输入条件参与运算时往往容易受到外界杂波噪声等因素干扰而产生误判结果。因此可以在编写应用程序之初就加入必要的延时函数或者采用硬件滤波电路等方式有效抑制此类瞬态脉冲所带来的负面影响。 ```c // 示例C语言代码片段用于说明如何通过增加适当延迟减少按钮按下瞬间产生的毛刺效应 void debounce_delay(void){ volatile unsigned int i; for(i=0;i<10000;i++); // 创建一个简单的循环等待过程以达到预期效果 } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值