c語(yǔ)言beep函數(shù) 為什么執(zhí)行Beep()函數(shù)時(shí)聽不到聲音啊?
為什么執(zhí)行Beep()函數(shù)時(shí)聽不到聲音???嗶嗶聲功能確實(shí)發(fā)送到嗶嗶聲設(shè)備,該設(shè)備物理上位于主板上,但是windows通過(guò)Hal接管了計(jì)算機(jī)的所有設(shè)備,并且該設(shè)備也位于主板上嗶嗶聲.sys在司機(jī)的控制下
為什么執(zhí)行Beep()函數(shù)時(shí)聽不到聲音???
嗶嗶聲功能確實(shí)發(fā)送到嗶嗶聲設(shè)備,該設(shè)備物理上位于主板上,但是windows通過(guò)Hal接管了計(jì)算機(jī)的所有設(shè)備,并且該設(shè)備也位于主板上嗶嗶聲.sys在司機(jī)的控制下。未安裝聲卡驅(qū)動(dòng)程序或windows音頻服務(wù)未啟動(dòng)時(shí),嗶嗶聲.sys使用主板的蜂鳴器發(fā)聲,否則,重定向到聲音服務(wù)的警告信息設(shè)置的聲音,并通過(guò)聲卡發(fā)聲
是聲音功能。跑步后,通過(guò)主板揚(yáng)聲器演唱旋律。您可以嘗試以下操作:
TC try:
]!Kbhit()){/*無(wú)鍵盤命中,播放聲音*/
對(duì)于(freq=200l freq
]聲音(freq)/*播放頻率聲音*/
延遲(200)/*延遲200ms*/
!]隱藏
主()
{
嗶嗶(523500)
嗶嗶(587500)
嗶嗶(659500)
嗶嗶(698500)
嗶嗶(784500)
睡眠(500)
嗶嗶(523500)
嗶嗶嗶(587500)
嗶嗶嗶(659500)
嗶嗶嗶(698500)
嗶嗶嗶嗶(784500)
}-
WinTC測(cè)試。
c語(yǔ)言中,beep是個(gè)什么函數(shù)?
Sbit beep=P1^5sbit delay=P1^4
MCU有硬件接口,其中蜂鳴器是P1^5接口,延遲是P1^4接口
然后Sbit就可以在程序中使用beep了。否則,程序中的所有嗶嗶聲都應(yīng)更改為P1^5
所有繼電器都應(yīng)更改為P1^4。這不僅是編寫程序的麻煩,而且不容易理解。誰(shuí)知道你的P1^5是什么?但如果你用嗶嗶聲,人們一眼就能看出那是個(gè)蜂鳴器。
在這里,您必須注意beep不是程序中的beep()函數(shù)。它們是不同的,因?yàn)镃語(yǔ)言是區(qū)分大小寫的。
事實(shí)上,上面兩個(gè)和你的程序一樣
sbit K1=P0^0 sbit K2=P0^1
sbit K3=P0^2 sbit K4=P0^3
sbit K5=P0^4 sbit K6=P0^5
這是幾個(gè)鍵映射的接口,它們的原理是一樣的。
嗶聲=!嘟嘟聲相當(dāng)于收回。啟動(dòng)時(shí),嘟嘟聲=1不響。進(jìn)入循環(huán)后,由于1的反比為0,嘟嘟聲=0,蜂鳴器鳴響。同時(shí)
for(J=0,J
unop()
上述循環(huán)實(shí)際上消耗了MCU發(fā)出長(zhǎng)時(shí)間蜂鳴器的時(shí)間。如果不加上這個(gè)循環(huán),蜂鳴器只會(huì)“嘀嗒”一聲停下來(lái),圖像上的響應(yīng)就是一個(gè)“點(diǎn)”。加上循環(huán),因?yàn)镸CU執(zhí)行循環(huán)需要時(shí)間,所以嘟嘟聲會(huì)響很長(zhǎng)時(shí)間,圖像上的響應(yīng)是“行”。
然后外循環(huán)(變量I的循環(huán))進(jìn)入第二次。因?yàn)樯洗梧洁?0,0的倒數(shù)是1,此時(shí)嘟嘟=1,蜂鳴器不響。然后它也進(jìn)入了內(nèi)環(huán),消耗了一些時(shí)間,使它產(chǎn)生了一條“線”。這時(shí),隊(duì)伍一片寂靜
!如此反復(fù)到外循環(huán)結(jié)束
這會(huì)產(chǎn)生方波!有什么不清楚的補(bǔ)充