最近使用SH88F54遇到个问题:用P3.6控制蜂鸣器(如下图,单片机电源与蜂鸣器是同一电源V05),代码选项中IO口默认复位状态为准双向口,我焊了两块板子,在用keil下载程序的过程中,两个板子的蜂鸣器都会短响几声(声音听起来正常),在点击进入调试模式的过程中,其中一个板子蜂鸣器开始长响,并持续到程序控制P3.6输出低电平(程序中依旧设置该口为准双向口),之后程序控制其发声也正常,而另一块板子在进入调试模式的过程中,只是短响了一下,之后就不响了,再之后程序控制也无法让其响,检查了电路和焊接(包括单片机引脚),应该没问题。直接短接三极管的发射极和集电极,也能鸣响。用万用表测量P3.6的电压,只有大约 0.6V,如果断开限流电阻R34,测得电压是5V(电源5V),串入万用表,电流值约20uA,依旧不响。我开始怀疑是否驱动不够,就在程序中将IO口配置成推挽输出模式,这时终于能通过IO口控制蜂鸣器发声了。我将另一个板子也配置成推挽输出,也可以正常控制发声。
照理说,这个电路用准双向口应该可以带动的,而且在下载和进入调试模式的过程中,蜂鸣器的短暂发声都是正常的,可同样配置成准双向口,为什么其中一片能驱动,另一片无法驱动?
|