当前位置:首页 » 编程语言 » c语言调用板子的蜂鸣
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言调用板子的蜂鸣

发布时间: 2023-01-23 03:15:02

A. c语言char d=7;//蜂鸣声 char d='\007'; char d='\07'; d='\7'; 分别赋值给d,为什么打印效果一样

char d=7 -- d 等于 十进制 7
char d='\007' -- d值 等于 八进制 007
char d='\07' -- d值 等于 八进制 07
d='\7' -- d值 等于 八进制 7
八进制 7,07, 007 值一样大小,都等于 十进制 7。
ASCII 码 7 ,是响铃符。所以打印效果一样。

B. win7如何实现和xp一样的调用beep.sys主板发生蜂鸣声,不是声卡发出。

把Windows Audio服务关了,beep.sys在Windows Audio没启动时调用主板蜂鸣器,反之发送给声卡

C. C++如何实现蜂鸣

你可以写一个文件,存储你自己的声音格式:
struct tagSound
{
int frequency; //频率
int soundDelay; //发音时间(单位ms)
int nosoundDelay; //发完音之后暂停的时间(单位ms)
};
1。音符与频率的关系

========低音部分
低1DO:262
#1DO#:277
低2RE:294
#2RE#:311
低3MI:330
低4FA:349
#4FA#:370
低5SO:392
#5SO#:415
低6LA:440
#6LA#:466
低7SI:494

========中音部分=低音X2
中1DO:523 956us FC44;
#1DO#:554 902us
中2RE:578 865us FC9F;
#2RE#:622 803us
中3MI:659 759us FD09;
中4FA:698 716us FD34
#4FA#:740
中5SO:784 638us FD82
#5SO#:831
中6LA:880 568us FDC8
#6LA#:932
中7SI:988 506us FE06

========高音部分=中音X2
高1DO:1046
#1DO#:1109
高2RE:1175
#2RE#:1245
高3MI:1318
高4FA:1480
#4FA#:1480
高5SO:1568
#5SO#:1661
高6LA:1760
#6LA#:1865
高7SI:1976

“#”表示半音,用于上升或下降半个音

2。频率的产生
利用定时器来控制IO口的高低变化实现
周期=1/频率
半周期中断产生IO口电平
定时时间常数按照单片机的方式计算

3。音乐节拍的产生
每个音符用1个字节,字节的高4位代表音符的高低,低4位代表
音符的节拍,如果 1节拍是0.4秒,则1/4拍就是0.1秒。
其他节拍为1/4拍的整数倍。

4。节拍与节拍码对照表
节拍 节拍数 节拍数
1 1/4 1/8
2 2/4 2/8
3 3/4 3/8
4 1 1/2
5 5/4 5/8
6 6/4 6/8
8 2 1
A 10/4 5/4
C 3 12/8
F 15/4

曲调 1/4拍的延迟时间 1/8拍的延迟时间
4/4 125ms 62ms
3/4 187ms 94ms
2/4 250ms 125ms
不过,真的好不准。

这样就可以编辑文件了。
送你一个函数:
void MyDelay(long tt) /*暂停tt个百分之一秒*/
{
struct time now,last;
gettime(&last);
gettime(&now);
while((((now.ti_sec-last.ti_sec)*100+now.ti_hund-last.ti_hund))<tt)
{
gettime(&now);
}
}
这个函数可以暂停 0.01*tt 秒。
循环使用下面的句子:
Beep(frequency,soundDelay);
MyDelay(nosoundDelay/10);
就可以模拟那个音乐了。
在C语言里可以循环使用:
sound(frequency);
MyDelay(soundDelay/10);
nosound();
MyDelay(nosoundDelay/10);
就可以了

D. STC51单片机C语言开启蜂鸣器

#include<reg52.h>
sbitbeep=P0^4;

voidmain()
{

beep=0;
while(1);
}

试试这个怎样,单片机在执行完程序之后会回到初始状态,然后再重新执行程序,所以蜂鸣器就会反复的开和关,听起来声音会小很多;加个while(1)死循环,让程序一直保持在beep=0的状态。

E. C语言中的蜂鸣问题

#include<stdio.h>
#include<windows.h>//包含windows头文件
intmain()
{
intn;
intb=20;
for(n=0;n<21;n++)
{
printf("a");
printf("%d ",b-n);
Sleep(500);//延迟500毫秒
}
getchar();
return0;
}

你是想声音和数字都慢慢的出来吗?你的程序太短小,在一瞬间就执行完了,其实声音可能响了20下,但是是在一瞬间同时发出来的,你分辨不出来而已。可以包含windows头文件,调用sleep函数延迟发声和打印,就可以出现有节奏的效果。一次发声只需要打印一个'a'就可以了。

F. 哪位好心人给我一个51单片机C语言让蜂鸣器唱生日歌的程序啊,谢谢啦!!

//此程序在硬件上调试通过

//本程序的单片机晶振采用11.0592M

#include<reg51.h>

sbitspeaker=P1^2;

unsignedchartimer0h,timer0l,time;

//生日歌

codeunsignedcharsszymmh[]={5,1,1,5,1,1,6,1,2,5,1,2,1,2,2,7,1,4,

5,1,1,5,1,1,6,1,2,5,1,2,2,2,2,1,2,4,

5,1,1,5,1,1,5,2,2,3,2,2,1,2,2,7,1,2,6,1,2,

4,2,1,4,2,1,3,2,2,1,2,2,2,2,2,1,2,4};

//音阶频率表高八位

codeunsignedcharFREQH[]={

0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,

0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,//1,2,3,4,5,6,7,8,i

0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,

0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,

};

//音阶频率表低八位

codeunsignedcharFREQL[]={

0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,

0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F,//1,2,3,4,5,6,7,8,i

0xEE,0x44,0x6B,0xB4,0xF4,0x2D,

0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,

};

voiddelay(unsignedchart)

{

unsignedchart1;

unsignedlongt2;

for(t1=0;t1<t;t1++)

{

for(t2=0;t2<8000;t2++)

{

;

}

}

TR0=0;

}

voidt0int()interrupt1

{

TR0=0;

speaker=!speaker;

TH0=timer0h;

TL0=timer0l;

TR0=1;

}

voidsong()

{

TH0=timer0h;

TL0=timer0l;

TR0=1;

delay(time);

}

voidmain(void)

{

unsignedchark,i;

TMOD=1;//置CT0定时工作方式1

EA=1;

ET0=1;//IE=0x82//CPU开中断,CT0开中断

while(1)

{

i=0;

while(i<75){//音乐数组长度,唱完从头再来

k=sszymmh[i]+7*sszymmh[i+1]-1;

timer0h=FREQH[k];

timer0l=FREQL[k];

time=sszymmh[i+2];

i=i+3;

song();

}

}

}

P12接J31的7脚,我在板子上已经测试过了,用的是89S52

花时间编的,希望你能采纳

G. 编写一个c语言程序 使计算机发出鸣叫

转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007

#include <stdio.h>
int main()
{
printf("test:\a");
return 0;
}
测试的时候,会听到嘟的一声,它不能自动播放音乐的,就一个“嘟”

H. 易语言win7系统如何调用主板蜂鸣器

.版本 2

.DLL命令 Beep, 逻辑型, , "Beep"
.参数 dwFreq
.参数 dwDuration

就可以
参数1 为声音 1-999 之间
参数2 为播放速度 1-99

I. C语言编程中怎么让计算机发出蜂鸣声

#include <windows.h> //使用windowsAPI函数Beep();
/*
BOOL Beep(
DWORD dwFreq, // sound frequency, in hertz
DWORD dwDuration // sound ration, in milliseconds
);

*/
Beep(5500,150);

J. c语言怎么使用\a发出蜂鸣声,下面的程序为什么电脑不会振铃,振铃和蜂鸣一样吗

楼主我用Dev-Cpp是有响声的。
然后我再VC++6.0运行了一遍,还是有响声的。
不知道振铃和蜂鸣的区别。