c語言發聲
我看到過一下兩種方法,看看哪種是對的。
1,關閉揚聲器,停止發聲:
IN
AL
61H
OR
AL
0FCH
OUT
61H
AL
2,聲音開關:
由8255的PB口控制,PB0=PB1=1,開;(PB0=0或PB1=0),關
IN
AL,61H
AND
AL,0FCH
OUT
61H,AL
;關閉聲音(PB0=PB1=0)
其中一個是
OR
AL
0FCH
一個是
AND
AL,0FCH
顯然會的倒不一樣的結果,照2中關閉聲音(PB0=PB1=0)條件的話2應該是對的,但是我從網上資料中看到過1
的那種,哪個是對的?
B. c語言發聲問題、
貌似不對,這個函數需要你自己做延時比如:
sound(203);
Sleep(1);
sound(719)
這個樣子...
C. ubuntu 如何在C語言的程序裡面讓揚聲器或者蜂鳴器發聲
試試這個
intspeaker(unsignedintfreq,unsignedintdelay)
{staticintflag=0,bit;
if(flag==0)
{
flag=1;
iopl(3);
}
outb(0xb6,0x43);
outb((freq&0xff),0x42);
outb((freq>>8),0x42);
bit=inb(0x61);
outb(3|bit,0x61);
usleep(10000*delay);
outb(0xfc|bit,0x61);
}
#include<sys/io.h>
#include<unistd.h>
main()
{
inti;
for(i=0;i<1;i++)
{
speaker(2000,40);
sleep(2);
}
speaker(1000,40);
}
希望對你有幫助。
D. C語言發聲函數
TC 試:
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
/* this founction plays sound until hit any key */
void mysound()
{
long freq ;
while(!kbhit()){/* while no keyboard hit, play sound */
for(freq=200L;freq<2000L;freq+=200L){
sound(freq);/*play freq sound*/
delay(200);/*delay 200ms*/
}
}
nosound();/* stop playing */
}
void main()
{
mysound() ;
}
---------------
VC++ 試:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
------
wintc 試驗上兩個。
E. C語言編程中使主板喇叭鳴叫的方法
我看到過一下兩種方法,看看哪種是對的。
1,關閉揚聲器,停止發聲:
IN AL 61H
OR AL 0FCH
OUT 61H AL
2,聲音開關:
由8255的PB口控制,PB0=PB1=1,開;(PB0=0或PB1=0),關
IN AL,61H
AND AL,0FCH
OUT 61H,AL ;關閉聲音(PB0=PB1=0)
其中一個是 OR AL 0FCH
一個是 AND AL,0FCH
顯然會的倒不一樣的結果,照2中關閉聲音(PB0=PB1=0)條件的話2應該是對的,但是我從網上資料中看到過1 的那種,哪個是對的?
F. 求c語言程序:按鍵的時候發聲,松開後就不響
要是你需要的是匯編就好了!
G. 用C語言怎樣控制電腦喇叭發聲
1、Beep蜂鳴
#include<dos.h>
#include<windows.h>
#include<iostream>
usingnamespacestd;
main(){
Beep(494,200);
Beep(523,300);
Beep(578,400);
Beep(659,500);
Beep(698,600);
Beep(784,700);
Beep(880,800);
Beep(932,900);
Beep(1046,1000);
Beep(1175,1100);
Beep(1381,1200);
Beep(1480,1300);
Beep(1661,1400);
cout<<"all?right!"<<endl;
cin.get();
return0;
}
#include<windows.h>
#include<stdlib.h>
intmain(intargc,char*argv[])
{
PlaySound("C:\WINDOWS\Media\WindowsXP啟動.wav",NULL,SND_FILENAME|SND_ASYNC);
system("pause");
return0;
}
H. 如何用C語言編一個發出聲音的程序
這個唱 多來米法少
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Beep(880,500);
Beep(980,500);
Beep(1060,500);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
I. c語言里連續的sound()daley()是什麼意思
函數void sound(unsigned frequency);
以指定頻率打開PC揚聲器
nosound :關閉PC揚聲器
原型為: void nosound(void);
delay 用於將程序的執行暫停一段時間(毫秒)
原型為:void delay(unsigned milliseconds);
如delay(5000)表示延遲5秒
sound()函數用於讓pc喇叭發聲,nosound()函數用於使正在發聲的pc喇叭靜音。要使程序中的發聲的具體方法,是調用sound()函數並延遲一定時間,然後使用nosound()函數靜音,具體語句實現方法舉例如下:
sound(100);
delay(100);
nosound();
它們三個都在「dos.h」裡面,
接你說的 連續的使用的話 可能是 產生一種或多種不同的警告音 也有可能就是有人在瞎玩 發出點聲音 聽聽 總而言之 就是在 發音暫停之間調節
J. c語言中,beep是個什麼函數
是發聲函數,運行後通過主板喇叭唱出旋律,可以試試下面:
TC 試:
#include<dos.h>
#include<conio.h>
#include<stdlib.h>
/* this founction plays sound until hit any key */
void mysound()
{
long freq ;
while(!kbhit()){/* while no keyboard hit, play sound */
for(freq=200L;freq<2000L;freq+=200L){
sound(freq);/*play freq sound*/
delay(200);/*delay 200ms*/
}
}
nosound();/* stop playing */
}
void main()
{
mysound() ;
}
---------------
VC++ 試:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
main()
{
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
Sleep(500);
Beep(523,500);
Beep(587,500);
Beep(659,500);
Beep(698,500);
Beep(784,500);
}
------
wintc 試驗上兩個。