欢迎您光临轴承网,如有问题请及时联系我们。

单片机串行程序不工作?

作者:欧达轴承网
文章来源:本站

  单片机不工作,稍微有点基础的人都会去查电源、晶振等硬件及源代码,关键是具体到一个特定项目(系统)怎么去查,就此做一些个人经验介绍。

  1.单片机本身就是集成数字电路,主要通过IO端口与外设联系,当端口电平异常时(一直为逻辑0电平,一直为逻辑1电平或在它们范围之外),将可能导致程序反复中断或进入死循环,尽管单片机还在忙个不停,对外表现就是不工作了!此时应借助硬件仿真,查找对应IO口,进而查出与之相连元件及传感器故障。

  

单片机串行程序不工作?

  

单片机串行程序不工作?

  2.不同电压等级单片都有特定的电源范围,低于下限将造成单片机逻辑电平不定,高于上限则可能烧坏单片机,二者表现都是不工作,此时应验证电源功率是否足够大,去掉大功率外设试试!与单片机共用电源的元器件是否有短路点?如钽电容击穿短路,PCB走线有短路毛刺等。

  3.您的单片系统是否考虑了EMC,当有强烈干扰源,如PWM方式控制IGBT,同时您的设计未考虑抵抗EMI措施,这将极易造成程序跑飞,表现是不工作,或反复重启(有WDT),应对办法是在干扰路径上加滤波电路,如在电源交流通路上加共模电感,Y电容。或加屏蔽罩并对之合理接地。

  4.单片机资源有限,常常采用串行方式与外设通信,当电平不兼容,如单片机是TTL电平,而外设是RS232电平标准,此时无法通过HMI进行控制,感觉上是单片不工作了,例如LCD无显示,触摸屏按钮不起作用。聪明的你应该知道怎么处理了!

  5.单片机是靠软件循环工作的,低端单片机的内存RAM和程序存储器一般都不大,如果你的系统比较复杂,同时你C语言比较牛,当全局变量和静态变量使用太多时,内存不够用,会出现很多无法预料的怪异现象,包括单片机不工作。

来源:文章来源于网络,如有侵权请联系我们删除。本文由欧达轴承网编辑,欢迎分享本文,转载请保留出处和链接!