蜂鳴器作為單片機(jī)系統(tǒng)中很常用的器件,其應(yīng)用是十分廣泛的。蜂鳴器有兩種,一種是有源蜂鳴器,只要加上5V就可以發(fā)出”滴...“的聲音,驅(qū)動(dòng)簡(jiǎn)單,程序也簡(jiǎn)單,但是成本高,在很多場(chǎng)合,特別是現(xiàn)在市場(chǎng)競(jìng)爭(zhēng)大的社會(huì),是沒(méi)有使用有源蜂鳴器的;另外是一種是無(wú)源蜂鳴器,這個(gè)分兩種,一種是壓電蜂鳴器,結(jié)構(gòu)極其簡(jiǎn)單,價(jià)錢便宜,一種是電磁式的,結(jié)構(gòu)比較復(fù)雜,價(jià)格也貴;其實(shí)無(wú)論哪種,其驅(qū)動(dòng)是要加上方波信號(hào)才能發(fā)出聲音的。在現(xiàn)在很多場(chǎng)合,使用的都是無(wú)源的蜂鳴器。一般的單片機(jī)都是采用軟件延時(shí)來(lái)產(chǎn)生方波,占用資源比較大,控制也不方便。STC單片機(jī)具備PCA模塊,可以輸出PWM和可編程頻率,并且具備強(qiáng)推挽輸出,可以很方便的直接驅(qū)動(dòng)無(wú)源壓電蜂鳴器。今日本人經(jīng)過(guò)一番研究,終于學(xué)會(huì)使用STC的PCA模塊。程序比較簡(jiǎn)單,本人在論壇上也發(fā)過(guò)類似帖子,如下:
注意:STC官方出的數(shù)據(jù)手冊(cè)有錯(cuò),所以廠家的東西也不一定準(zhǔn)確!錯(cuò)在這里:PCA的中斷標(biāo)號(hào)應(yīng)該為6,而不是7!而且在手冊(cè)中并沒(méi)有提及CH和CL寄存器要清零,實(shí)際上是要的,倒是官方說(shuō)CCAPNL和CCAPNH要重裝值,實(shí)踐證明不要也沒(méi)有什么不正常!如下圖: