今天遇到一个奇葩的问题,使用STC12C5A60S2的P2.2驱动蜂鸣器,却发现,无论怎么办,P2.2口都拉不高,最后加了上拉电阻才正常。为什么呢?我换了89C52发现也不能拉高。难道51单片机的P2口也需要上拉。电路图长这样的。应该没什么问题吧!程序也贴出来,就一个置高或置底。
推完输出,我的遇到的问题是有声音,就是声音太小。
总结:
1、蜂鸣器必须是5V,因为你5V供电
2、在12V以下8050不需要峰值吸收二极管
3、三极管取消10K下拉电阻
4、基极串联电阻用1K-510欧姆
5、I/O配置为强输出,这样可以提供最大20mA输出、拉入电流。
传统的51的P0,P2是为了驱动CMOS的IC,如外存用,用于扩展,CODE or xram,因此不需要很大的输出电流。属于电压驱动型的负载,而你这个电流驱动负载。
M0,M1二个寄存器的位,对应位组成四个模式的设定。
端口都没有配置,就能驱动啊,一般是双向弱上拉的,必须配置成PP,OD+上拉。