为啥要测试端口好坏:
将单片机的一个端口P0.7设置为SYSCLK OUT,为另一个芯片提供时钟,但发现在晶体振荡器起振的情况下,P0.7却没有时钟输出,检查了一下配置,应该是没有问题的,于是想测试一下端口的好坏。
在主程序中写了一段测试程序,如下
TEST: SETB P0.7
NOP
NOP
CLR P0.7
SJMP TEST
但不调试发现P0.7没有变化。改测P2.0,有变化。是怎么回事呢?这样测试有问题吗?
谢谢大家!
[ 本帖最后由 xhrabbit 于 2008-10-9 11:58 编辑 ]
这样测试单片机端口的好坏对吗?
以下3种情况你可以考虑一下:
1、P0.7应配置成推换输出,否则为开漏输出,应加上的电阻。
2、如果配置正确,测试程序输出的方波频率很高,想测引脚波形是不可能的。可以通过一个按钮控制改变引脚输出的电平。
3、不知HT20C是什么芯片,看你的图,OXTL是不是输出引脚啊,如果是的话,那就错了,单片机的时钟信号应接到输入引脚上,IXTL是输入脚吧。
如果就想测P0.7引脚的话,断开与HT20C15的连接再测就知道了。看HT20C15的文档,OXTL确实为输出脚,如果断开后P0.7引脚有变化则说明与OXTL引脚连接有错。应该与IXTL相连。或者,按文档的方法外接一个460.8K晶体后再测试一下(你用单片机输出时钟信号,其频率能计算那么准确吗?),也许不会出现这种情况呢。至于原文档中的图,未必是全对,还是以实测结果为准。
[ 本帖最后由 忙忙草 于 2008-10-10 08:27 编辑 ]
换了一个20C15,
结果单片机的P0.7脚就输出460.8KHz的频率了,什么原因呢?
如果和单片机相连的片子坏了,会影响它们相连脚吗?
回复:换了一个20C15
换了一片20C15后单片机就有时钟信号输出了,原来的肯定是坏了。当有些芯片损坏后,会使某些引脚与地或对电源短路,根据你说的情况,就属于这种情况了。没有换20C15前,如果测得P0.7引脚一直为低电平,则损环的片子引脚与地短路了,这样也将P0.7对地短路了,当然就没有变化了。如果测得P0.7引脚一直为高电平,则损环的片子引脚与电源短路了,也将P0.7对电源短路了。通过这件事,你可以汲取一些经验了吧,当测量某个输出引脚不正常时,可将该引脚断开与其他电路的连接再测量,这样就可以排除外电路造成的影响了。但不适用于测量输入脚,原因你自己思考一下吧!