歡迎訪問興化市宏宇電子有限公司官方網(wǎng)站!

全國(guó)服務(wù)熱線:0523-83721118 設(shè)為首頁 | 收藏本站 |
全國(guó)服務(wù)熱線:
0523-83721118

在線客服

聯(lián)系我們

行業(yè)資訊

運(yùn)行這串代碼,無源蜂鳴器會(huì)一直響的原因

更新時(shí)間:2020-10-19 10:32:35  瀏覽次數(shù):   【加入收藏】

運(yùn)行這串代碼,無源蜂鳴器會(huì)一直響的原因

如果你的原理圖,是用NPN三極管驅(qū)動(dòng)發(fā)聲,如下圖(實(shí)際原理圖可能比這個(gè)復(fù)雜,這里只考慮邏輯)(通常情況下不會(huì)用IO口直接帶負(fù)載,因?yàn)镮O口電流太小難以驅(qū)動(dòng))在這種情況下,如果BEEP置1,發(fā)射極和基極的PN結(jié)會(huì)導(dǎo)通,驅(qū)動(dòng)發(fā)聲。同樣如果BEEP置0,該P(yáng)N結(jié)就截止,將不會(huì)發(fā)聲。也就是說驅(qū)動(dòng)的IO口為1就響,為0就不響。那么題主的代碼就很好理解了,在沒有while(1)的循環(huán)狀態(tài)下,該代碼按順序只會(huì)執(zhí)行一次。

也就是最終BEEP的狀態(tài)會(huì)停留在置1的狀態(tài),所以在短暫置0的1000微秒后,BEEP的狀態(tài)會(huì)一直是1,而1000微秒的時(shí)間是遠(yuǎn)遠(yuǎn)小于人類可以辨識(shí)的時(shí)間間隔的。所以直觀感受就是一直響。簡(jiǎn)單來說,如果接線的邏輯是IO高電平響,低電平不響,那這段代碼就會(huì)使之一直響的。

更多文章,請(qǐng)點(diǎn)擊http://www.911weddings.com/