你的三极管是接反了。
如果IO高电平=VCC,接蜂鸣器没电流;IO低电平=0,接蜂鸣器电流流向:VCC—接蜂鸣器—二极管—IO,蜂鸣器工作。
这里三极管没有工作。
正确接法见图二:用NPN,IO高电平蜂鸣器工作;用PNPIO低电平蜂鸣器工作
看来你可能只会程序,而对硬件比如说三极管不懂。三极管工作方式:NPN型基极高电位导通,低电位截止,PNP型低电位导通,高电位截止。
PNP型三极管,由2块P型半导体中间夹着1块N型半导体所组成的三极管,称为PNP型三极管。也可以描述成,电流从发射极E流入的三极管。
PNP型三极管发射极电位最高,集电极电位最低,UBE<0。
三极管按结构分,可分为NPN型三极管和PNP型三极管。
可能你对单片机不算太了解,它默认引脚全为高电平,所以它会响。
如果你对它的引脚已经进行了赋值并------为0,
那么你的这个三极管一定是PNP型,它的基极为低电平时它才会工作。
不信你把它的引脚赋个1试试。