STC8A8K64S4A12 I/O接独立按键,按键按下重启
如图所示,三个I/O接了三个独立按键,只要按下按键,大概率系统重启,按下4、5次系统就会重启,三个按键现象一致,单片机换了,故障依旧,I/O各种模式试了一遍,什么内部上拉使能等等都试了;最后实在不行,把那三个电容拆下来,问题解决;虽然貌似找到问题并解决了,感觉不可思议呀,这种电路用了好多年了呀,从AT89C51时代就在用,没出过这种问题呀;简单分析,在按键没有按下的时候,电容上有储能(很小吧),按键按下的时候,电容对地放电,这个过程能把单片机搞重启?日了狗了,诡异的事情年年有,今年特别多
可能是这几个电容看不起这STC。 建议把3个电容去掉。 程序有问题,看门狗开启了吧 本帖最后由 p4s5j6 于 2019-5-1 00:28 编辑
输入误设置成输出了? 诡异的按键接法。 能想到的是不是端口设置成推挽输出高了?否则其他设置都不至于啊?希望楼主给出后续 xunke 发表于 2019-4-30 23:35
建议把3个电容去掉。
谢谢;已经去掉了 JohnsonTan 发表于 2019-5-1 00:11
程序有问题,看门狗开启了吧
谢谢;没开看门狗,只要不按按键就没问题 p4s5j6 发表于 2019-5-1 00:25
输入误设置成输出了?
谢谢;51默认是准双向口,各种模式试了一遍都不行 cocom 发表于 2019-5-1 00:29
诡异的按键接法。
谢谢;愿闻其详 wuha 发表于 2019-5-1 03:59
能想到的是不是端口设置成推挽输出高了?否则其他设置都不至于啊?希望楼主给出后续 ...
谢谢;51默认是准双向口,然后各种模式试了一遍都不行,后续就是把电容拆了就好了,想不明白原理才咨询大家的 superAFE 发表于 2019-5-1 04:06
这个问题我在别的产品上面也遇见过,跟你这个一毛一样,当时用示波器去测量vdd的波形,也看不异样。
lz ...
谢谢;接电阻能想到,不想划线飞线的,带学生做实验也没有量,不是啥正式产品 重啟是發生在按下還是放開時? 由於按鍵的彈跳, 這試驗不太好做 CPU电源管脚的去耦电容是多大 2楼回复, 完全正确! {:lol:} STC8 在弱上拉模式下时,IO输出由0到1的瞬间会有两个时钟的强上拉,这个好像是为了加快IO翻转速度,但这时候如果IO外部接到了地,IO在这两个时钟内就相当于短路而拉低电源电压导至复位,这种情况一般只出现在IO输入输出复用的时候,比如扫描键盘时就要注意时序 modbus 发表于 2019-5-1 10:01
CPU电源管脚的去耦电容是多大
104的,电源入口处是104+470uf的 hefq 发表于 2019-5-1 10:51
STC8 在弱上拉模式下时,IO输出由0到1的瞬间会有两个时钟的强上拉,这个好像是为了加快IO翻转速度,但这时 ...
这个地方设计的是独立按键,不是那种矩阵键盘,我都是直接读的,没有写操作;另外我还试过,软件里面完全不读按键,我就在那里瞎按,系统也会重启 MYQQ2018 发表于 2019-5-1 17:02
104的,电源入口处是104+470uf的
可以在CPU电源管脚处再并一个10uf的电容试试 modbus 发表于 2019-5-1 20:43
可以在CPU电源管脚处再并一个10uf的电容试试
刚试了,并了一个10uf的电容,然后再把其中一个按键的104补上,故障依旧 不妨把程序传上来 好奇试了一下,没有出现复位,用的是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); 会不会是板子的电源回路虚焊? weavr 发表于 2019-5-2 09:55
好奇试了一下,没有出现复位,用的是STC8A8K64S4A12 LQFP64,3个按键并104电容,一端分别接到P2.0、P2.1和P ...
GND不接,只接AGND,单片机可以工作,但是按按键会出现楼主描述的情况,楼主可以看一下是不是GND没接触好。 感谢楼上几位,这几天出来玩了,等回去后做验证再回复 1、按键时电容通过按键放电,怎么会影响到MCU呢?所以建议楼主检查硬件是否有问题,比如AGND与GND的连接,AVCC与VCC的连接,还有排版。
2、按键直接短路104电容的做法是不合理的,电容瞬间放电电流大(串联0.1欧姆电阻用示波器测量可看到瞬间电流),很可能使按键快速损坏。 上班了,正好有块STC8的板子按照楼主提供的原理图做实验,没有出现所反映的情况。芯片是STC8A8K64SA12 LQFP44封装,内部晶振11.0592M,电压5V,程序容量32K. STC的单片机在使用时一定把他的操作手册看一下,特别是端口配置那部分,楼主不执行按键处理程序带着电容按几次键就导致单片机复位,电源虚接的可能性很大。因为100nF的电容在电源虚接的情况下充放电,电压降是有所反应的,用万用表或示波器看一下. 统一回复楼上各位吧
板子不是什么正式产品,就是带学生做实验的类似于开发板的东西,通过牛角端子接了一个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的电容测试过,故障依旧 哈哈电路的布线有很严重的问题,是电路布线引起的。{:titter:}{:titter:}{:titter:}。 887799 发表于 2019-5-10 22:01
哈哈电路的布线有很严重的问题,是电路布线引起的。。 ...
愿闻其详,谢谢 兰州交通大学 IO--加1K电阻---接104电容--按键K {:titter:}才是有推挽io的标准接法
| |
--- ---
地 地
MYQQ2018 发表于 2019-5-10 22:39
愿闻其详,谢谢
没看到有问题,现在很好奇是什么原因 肯定不是电路板问题,CPU不会那么脆弱,怀疑程序或者编译器使用不当造成的。 现在DIP40的51芯片第40脚不是电源脚了? 1a2b3c 发表于 2019-5-11 15:50
现在DIP40的51芯片第40脚不是电源脚了?
这个型号的确实不是 根据经验,这个锅必然是楼主自己背,stc不背。
页:
[1]