写PIC 程序遇到的问题

2019-03-25 19:55发布

用PIC16F877A写了一个用于产品测试的程序,接近完工,但却不幸出了点问题:程序在循环运行多次(几十次,甚至上百次)后出现PORTB口不受程序控制了。ICD2仿真器又用不了,板上有12V继电器,一动作ICD2就复位了,看来是这个ICD2抗干扰能力太差了,真气人!经过其它方法多次实验后发现是MCU的TRISB数据被改了,所以导致再运行后面的程序时,PORTB口就不受程序控制了,要它输出低电平时,它竟输出个1.5-2V的电压。 那又是什么原因会使TRISB莫明奇妙被改了? PIC的抗干扰能力比较好呀,所以一直以为是软件哪里出来问题,结果反复检查和优化程序,可问题依然存在! 无奈呀,只有转向硬件了,要么是上面的继电器,要么是变压器,最大可能是继电器,当时继电器靠MCU很近,拆下用引线引到外面再测试,结果让我失望,问题依然存在。拆掉变压器,庆幸的是,问题解决了,变压器还是要用的呀,最后将其外壳接地,OK!搞掂! 总结:1.当系统出现问题时应首先分清问题的方向,若是软件的问题,造成的现象一般是比较有规 律;若是硬件干扰的话,现象很没有规律,时有时无。 2.对于一些系统作了更改后出现的问题,要重点检查更改过的地方不,包括软件和硬件。 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。