STM32单片机运行时数码管突然全灭
发现单片机在带负载时(脉冲高压打火器)偶尔会让数码管全灭,灭了后按键功能都正常,不带负载就不灭,请问这种情况考虑什么引起的呢? 在程序开头把复位信息打出来看一下,看看是不是复位了,是的话需要考虑改电路板,尤其是增强复位电路的抗干扰,不是的话,如果使用外部晶振可以先转为内部振荡器试试 电源的问题,打火瞬间电源产生尖峰波动,导致单片机重启。 数码管是MCU直推,还是TM16xx系列专用驱动芯片。 按键正常MCU就没死,可能显示芯片乱了,需要重新初始化 别扫,用595行吗,我一直用595,很好用 也是一直用595,现在嫌太占地方,也想换专用IC了 数码管驱动可以定时刷新或定时初始化 rainbow 发表于 2024-8-12 12:19数码管是MCU直推,还是TM16xx系列专用驱动芯片。
(引用自4楼)
你好,是1640系列的驱动 ehengio 发表于 2024-8-12 13:57
按键正常MCU就没死,可能显示芯片乱了,需要重新初始化
(引用自5楼)
嗯,或许,这个情况添加软件陷阱程序好使不 bad_fpga 发表于 2024-8-12 23:52
数码管驱动可以定时刷新或定时初始化
(引用自8楼)
这个情况若添加软件陷阱程序好使不 ibmx311 发表于 2024-8-12 15:23
别扫,用595行吗,我一直用595,很好用
(引用自6楼)
我观察观察 胖子胖虎 发表于 2024-8-12 11:17
电源的问题,打火瞬间电源产生尖峰波动,导致单片机重启。
(引用自3楼)
灭了之后单片机功能都是好的 ibmx311 发表于 2024-8-12 15:23
别扫,用595行吗,我一直用595,很好用
(引用自6楼)
你好这个595对电磁干扰也很抗吗 led灭了,没有恢复,但按键是正常的么 akey3000 发表于 2024-8-13 09:17
led灭了,没有恢复,但按键是正常的么
(引用自15楼)
是的,灭了之后按键都是正常的,重新上电就亮了 周围有电磁脉冲肉眼可见的频闪 shenfengfeng 发表于 2024-8-13 09:24
是的,灭了之后按键都是正常的,重新上电就亮了 周围有电磁脉冲肉眼可见的频闪 ...
(引用自16楼)
说明mcu没有重启,mcu重启了,led会恢复。可以再按键处理中加一个更新led显示的功能,再测试验证下,led能不能恢复 shenfengfeng 发表于 2024-8-13 09:24
是的,灭了之后按键都是正常的,重新上电就亮了 周围有电磁脉冲肉眼可见的频闪 ...
(引用自16楼)
看你还发了一个帖子,可能是1640挂了,而不是mcu 应该做个调查了,看看有多少人用TM16xx做批产产品的显示驱动 本帖最后由 lyl1070 于 2024-8-13 11:35 编辑
或者你需要的是这个。
// 更新显示
void Display_Update(void)
{
uchar i=0,flag=0; // 时间,或者有数据更改时,刷新显示
for(i=0;i<Min(sizeofArray(TM1628_RAM),sizeofArray(display.buff));i++)
{
if(TM1628_RAM!=display.buff)
{
flag=1;
break;
}
}
if((display.clock>DISPLAY_CLOCK_MS) || (flag!=0)) // 有数据改变,或者每DISPLAY_CLOCK_MS刷新显示
{
display.clock-=DISPLAY_CLOCK_MS;
for(i=0;i<Min(sizeofArray(TM1628_RAM),sizeofArray(display.buff));i++)
{
TM1628_RAM=display.buff;
}
TM1628_LIGHT=display.light;
TM1628_Update();
}
}
void TM1628_Update(void)
{
uchar i=0;
Start();
Serial_T(0x00|TM1628_MODE); // 写模式
End();
Start();
Serial_T(TM1628_WRITE_ATUO); // 写数据,自动加1
End();
Start();
Serial_T(0xC0); // 首地址
for(i=0;i<sizeofArray(TM1628_RAM);i++)
{
Serial_T((uchar)(TM1628_RAM%256)); // 先送低位
Serial_T((uchar)(TM1628_RAM/256)); // 再送高位
}
End();
Start();
Serial_T(0x88|(TM1628_LIGHT & 0x07)); // 写命令
End();
}
胖子胖虎 发表于 2024-8-12 11:17
电源的问题,打火瞬间电源产生尖峰波动,导致单片机重启。
(引用自3楼)
灭了之后单片机还是活着的 ,现在在1640接上电容不灭了但是有频闪 lyl1070 发表于 2024-8-13 11:33
或者你需要的是这个。
(引用自20楼)
好的谢谢 不灭了 但是受到外界干扰还是会频闪 akey3000 发表于 2024-8-13 09:47
看你还发了一个帖子,可能是1640挂了,而不是mcu
(引用自18楼)
1640挂了 给它接电容不挂了但会频闪 1640的电源挂了多大的电容? shenfengfeng 发表于 2024-8-13 13:09
好的谢谢 不灭了 但是受到外界干扰还是会频闪
(引用自22楼)
用外挂的驱动,干扰产生频闪是正常现象,提高刷屏速度也没用。
干扰消失后能够自动恢复(无需操作)就可以了。认证是允许的。
PPS 发表于 2024-8-13 13:34
1640的电源挂了多大的电容?
(引用自24楼)
挂啥,挂多大都会,没用的。 PPS 发表于 2024-8-13 13:34
1640的电源挂了多大的电容?
(引用自24楼)
挂的是104电容,现在不灭了但是频闪 lyl1070 发表于 2024-8-13 17:39
用外挂的驱动,干扰产生频闪是正常现象,提高刷屏速度也没用。
干扰消失后能够自动恢复(无需操作)就可 ...
(引用自25楼)
程序提高了刷新频率 有什么办法不叫他频闪吗 shenfengfeng 发表于 2024-8-13 19:58
挂的是104电容,现在不灭了但是频闪
(引用自27楼)
再加个470uF给电源试试 shenfengfeng 发表于 2024-8-13 19:59
程序提高了刷新频率 有什么办法不叫他频闪吗
(引用自28楼)
看示波器看好,将通讯的Delay改短试试,或许有用。 感谢上面个位,上面方法大部分试了,最后是直接从6号飞线接最近地频闪好多了但是有零星频闪,基于此线有没有加强方案?
页:
[1]