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 试验上两个。