讓蜂鳴器響起來,蜂鳴器分為有源和無源蜂鳴器,無源蜂鳴器可以模擬人的聲音,但是控制起來比有源蜂鳴器復(fù)雜一點(diǎn)。無源蜂鳴器可以分出高低頻率不一的聲音。
先看一下開發(fā)板上有源蜂鳴器的原理圖:
由原理可以看出,它的I/0口接的是,單片機(jī)的P2.3口。
由于單片機(jī)的I/O口驅(qū)動(dòng)能力不夠強(qiáng),需要加一個(gè)三極管,上圖是一個(gè)PNP三極管,當(dāng)P2.3端給低電平,蜂鳴器構(gòu)成的回路導(dǎo)通,也就是說,單片機(jī)P2.3賦值0,則蜂鳴器發(fā)出聲音。
該FM_1.c文件,實(shí)現(xiàn)的功能是使蜂鳴器發(fā)出滴答聲,方法是,先讓蜂鳴器響,然后延時(shí),讓蜂鳴器不響,延時(shí),以此循環(huán)。使用了stc.h hjc52.h delay.h 三個(gè)頭文件;
作用是為mian()函數(shù)做準(zhǔn)備,比如,hic52_init()是一個(gè)開發(fā)板的初始化函數(shù),它在與hjc52.h相關(guān)的hjc52.c文件中。又比如,F(xiàn)M是在hjc52.h中定義的與開發(fā)板P2.3端口相對(duì)應(yīng)的接口。又比如delys(0.1)函數(shù)是與delay.h頭文件相關(guān)的delay.c文件中的一個(gè)函數(shù):