amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
查看: 614|回复: 39

STC8A8K64S4A12 I/O接独立按键,按键按下重启

[复制链接]
发表于 2019-4-30 20:57:20 | 显示全部楼层 |阅读模式
如图所示,三个I/O接了三个独立按键,只要按下按键,大概率系统重启,按下4、5次系统就会重启,三个按键现象一致,单片机换了,故障依旧,I/O各种模式试了一遍,什么内部上拉使能等等都试了;最后实在不行,把那三个电容拆下来,问题解决;虽然貌似找到问题并解决了,感觉不可思议呀,这种电路用了好多年了呀,从AT89C51时代就在用,没出过这种问题呀;简单分析,在按键没有按下的时候,电容上有储能(很小吧),按键按下的时候,电容对地放电,这个过程能把单片机搞重启?
日了狗了,诡异的事情年年有,今年特别多
无标题.png
发表于 2019-4-30 23:32:09 来自手机 | 显示全部楼层
可能是这几个电容看不起这STC。
发表于 2019-4-30 23:35:42 | 显示全部楼层
建议把3个电容去掉。
发表于 2019-5-1 00:11:34 来自手机 | 显示全部楼层
程序有问题,看门狗开启了吧
发表于 2019-5-1 00:25:42 | 显示全部楼层
本帖最后由 p4s5j6 于 2019-5-1 00:28 编辑

输入误设置成输出了?
发表于 2019-5-1 00:29:06 | 显示全部楼层
诡异的按键接法。
发表于 2019-5-1 03:59:09 来自手机 | 显示全部楼层
能想到的是不是端口设置成推挽输出高了?否则其他设置都不至于啊?希望楼主给出后续
发表于 2019-5-1 04:06:15 来自手机 | 显示全部楼层
这个问题我在别的产品上面也遇见过,跟你这个一毛一样,当时用示波器去测量vdd的波形,也看不异样。
   lz如果坚持要接电容,可以在电容与io之间接个电阻,其实现在mcu的性能那么强大,用软件滤波完全没问题,没必要用硬件滤波方式的。
发表于 2019-5-1 04:06:39 来自手机 | 显示全部楼层
注:当时的mcu不是stc的
 楼主| 发表于 2019-5-1 08:00:00 | 显示全部楼层
xunke 发表于 2019-4-30 23:35
建议把3个电容去掉。

谢谢;已经去掉了
 楼主| 发表于 2019-5-1 08:00:29 | 显示全部楼层
JohnsonTan 发表于 2019-5-1 00:11
程序有问题,看门狗开启了吧

谢谢;没开看门狗,只要不按按键就没问题
 楼主| 发表于 2019-5-1 08:01:10 | 显示全部楼层
p4s5j6 发表于 2019-5-1 00:25
输入误设置成输出了?

谢谢;51默认是准双向口,各种模式试了一遍都不行
 楼主| 发表于 2019-5-1 08:01:52 | 显示全部楼层
cocom 发表于 2019-5-1 00:29
诡异的按键接法。

谢谢;愿闻其详
 楼主| 发表于 2019-5-1 08:04:10 | 显示全部楼层
wuha 发表于 2019-5-1 03:59
能想到的是不是端口设置成推挽输出高了?否则其他设置都不至于啊?希望楼主给出后续 ...

谢谢;51默认是准双向口,然后各种模式试了一遍都不行,后续就是把电容拆了就好了,想不明白原理才咨询大家的
 楼主| 发表于 2019-5-1 08:05:12 | 显示全部楼层
wctmdgcd 发表于 2019-5-1 04:06
这个问题我在别的产品上面也遇见过,跟你这个一毛一样,当时用示波器去测量vdd的波形,也看不异样。
   lz ...

谢谢;接电阻能想到,不想划线飞线的,带学生做实验也没有量,不是啥正式产品
发表于 2019-5-1 09:57:03 | 显示全部楼层
重啟是發生在按下還是放開時? 由於按鍵的彈跳, 這試驗不太好做
发表于 2019-5-1 10:01:04 | 显示全部楼层
CPU电源管脚的去耦电容是多大
发表于 2019-5-1 10:24:35 | 显示全部楼层
2楼回复, 完全正确!
发表于 2019-5-1 10:51:28 | 显示全部楼层
STC8 在弱上拉模式下时,IO输出由0到1的瞬间会有两个时钟的强上拉,这个好像是为了加快IO翻转速度,但这时候如果IO外部接到了地,IO在这两个时钟内就相当于短路而拉低电源电压导至复位,这种情况一般只出现在IO输入输出复用的时候,比如扫描键盘时就要注意时序
 楼主| 发表于 2019-5-1 17:02:54 | 显示全部楼层
modbus 发表于 2019-5-1 10:01
CPU电源管脚的去耦电容是多大

104的,电源入口处是104+470uf的
 楼主| 发表于 2019-5-1 17:06:15 | 显示全部楼层
hefq 发表于 2019-5-1 10:51
STC8 在弱上拉模式下时,IO输出由0到1的瞬间会有两个时钟的强上拉,这个好像是为了加快IO翻转速度,但这时 ...

这个地方设计的是独立按键,不是那种矩阵键盘,我都是直接读的,没有写操作;另外我还试过,软件里面完全不读按键,我就在那里瞎按,系统也会重启
发表于 2019-5-1 20:43:46 | 显示全部楼层
MYQQ2018 发表于 2019-5-1 17:02
104的,电源入口处是104+470uf的

可以在CPU电源管脚处再并一个10uf的电容试试
 楼主| 发表于 2019-5-1 21:16:09 | 显示全部楼层
modbus 发表于 2019-5-1 20:43
可以在CPU电源管脚处再并一个10uf的电容试试

刚试了,并了一个10uf的电容,然后再把其中一个按键的104补上,故障依旧
发表于 2019-5-1 21:38:47 | 显示全部楼层
不妨把程序传上来
发表于 2019-5-2 09:55:10 | 显示全部楼层
好奇试了一下,没有出现复位,用的是STC8A8K64S4A12 LQFP64,3个按键并104电容,一端分别接到P2.0、P2.1和P2.2,另一端接到GND。5V和3.3V供电都没出现,使用芯片内部时钟24M和11.0592M也都试过。写了一个简单的程序,没有去检测按键,P3上有指示灯,如果复位能观察到:
        P3=0X00;
        delay();
        P3=0XFF;
        while(1);
发表于 2019-5-2 10:43:50 | 显示全部楼层
会不会是板子的电源回路虚焊?
发表于 2019-5-2 11:35:55 | 显示全部楼层
weavr 发表于 2019-5-2 09:55
好奇试了一下,没有出现复位,用的是STC8A8K64S4A12 LQFP64,3个按键并104电容,一端分别接到P2.0、P2.1和P ...

GND不接,只接AGND,单片机可以工作,但是按按键会出现楼主描述的情况,楼主可以看一下是不是GND没接触好。
 楼主| 发表于 2019-5-2 19:53:09 来自手机 | 显示全部楼层
感谢楼上几位,这几天出来玩了,等回去后做验证再回复
发表于 2019-5-2 23:24:35 | 显示全部楼层
1、按键时电容通过按键放电,怎么会影响到MCU呢?所以建议楼主检查硬件是否有问题,比如AGND与GND的连接,AVCC与VCC的连接,还有排版。

2、按键直接短路104电容的做法是不合理的,电容瞬间放电电流大(串联0.1欧姆电阻用示波器测量可看到瞬间电流),很可能使按键快速损坏。
发表于 2019-5-4 09:36:12 | 显示全部楼层
上班了,正好有块STC8的板子按照楼主提供的原理图做实验,没有出现所反映的情况。芯片是STC8A8K64SA12 LQFP44封装,内部晶振11.0592M,电压5V,程序容量32K.    STC的单片机在使用时一定把他的操作手册看一下,特别是端口配置那部分,楼主不执行按键处理程序带着电容按几次键就导致单片机复位,电源虚接的可能性很大。因为100nF的电容在电源虚接的情况下充放电,电压降是有所反应的,用万用表或示波器看一下.
 楼主| 发表于 2019-5-4 17:35:37 | 显示全部楼层
统一回复楼上各位吧
板子不是什么正式产品,就是带学生做实验的类似于开发板的东西,通过牛角端子接了一个ST7920 12864的液晶,就是从液晶的显示上判断系统重启的;接了一个TLC1563的DA芯片,两个电阻串联分压接到了其中一个AD口上,板载了两个独立的LED,引出了串口,既用于下载程序又可以打印信息,还引出了两个SIP6的端子,主要是把AD和PWM以及外部中断的引脚引出来了,目前这两个SIP6的端子没接任何东西,基本都是通用IO的应用,所以布线上是怎么方便怎么布的,为了方便学生实验使用DIP40封装,还不是使用的普通座子,使用的锁紧座,芯片时间是1810,F版本;过孔最小的是16/30mil的,线间距10mil,线宽最小12mil;嘉立创5元PCB做的;软件上没有任何东西,就是把上面的功能走一遍,验证功能是好的,然后while(1)里面检测按键,在液晶的某个位置显示个什么东西
这个按键电路确实用了很多年,但我没有什么量产产品的经验,基本都是带学生实验,曾经在一个小公司兼职过几年,做的东西很杂,但每样东西能生产几十套都算量大的了
仔细想想这次到底与以前有什么不同,记得以前都是1117、7805或者2596再接单片机,这次直接使用一个mini USB的座子连接电脑或者手机充电器,我电源端本来引出来了一个SIP2的座子,接到台式电源上测试故障依旧
用万用表仔细确认了一下电源和地引脚,没发现问题,上电用万用表和示波器也看不出问题;至少有一点,以后肯定再不会这么设计了
下面的截图是PCB,我仔细看了一下,好像芯片的电源脚一个电容都没有,不过我补焊过一个10uf的电容测试过,故障依旧
无标题.png
发表于 2019-5-10 22:01:22 | 显示全部楼层
哈哈电路的布线有很严重的问题,是电路布线引起的。
 楼主| 发表于 2019-5-10 22:39:33 来自手机 | 显示全部楼层
887799 发表于 2019-5-10 22:01
哈哈电路的布线有很严重的问题,是电路布线引起的。。 ...

愿闻其详,谢谢
发表于 2019-5-11 10:26:05 | 显示全部楼层
兰州交通大学
发表于 2019-5-11 10:35:27 | 显示全部楼层
IO--加1K电阻---接104电容--按键K            才是有推挽io的标准接法
                       |                     |
                      ---                   ---
                       地                  地
发表于 2019-5-11 12:10:54 | 显示全部楼层

没看到有问题,现在很好奇是什么原因
发表于 2019-5-11 12:19:27 | 显示全部楼层
肯定不是电路板问题,CPU不会那么脆弱,怀疑程序或者编译器使用不当造成的。
发表于 2019-5-11 15:50:07 来自手机 | 显示全部楼层
现在DIP40的51芯片第40脚不是电源脚了?
 楼主| 发表于 2019-5-11 20:21:57 来自手机 | 显示全部楼层
1a2b3c 发表于 2019-5-11 15:50
现在DIP40的51芯片第40脚不是电源脚了?

这个型号的确实不是
发表于 2019-5-12 17:18:27 来自手机 | 显示全部楼层
根据经验,这个锅必然是楼主自己背,stc不背。
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-5-25 04:38

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表