C语言 用 a 发出系统声音(嘟嘟嘟嘟……)

C语言 用 a 发出系统声音(嘟嘟嘟嘟……),第1张

int max = 1000;//这里可以自己定义要响的次数

int count = 0;

while(count < max)

{

printf("\a");

count++;

}

#include<reg51h> //头文件51单片机必须

#define uint unsigned int //宏定义 无符号int 的符号为uint

sbit beep=P2^3; //定义管脚的变量(就是小喇叭)

void delay(uint); //声明延时函数

void main() //主函数

{ beep=0; //小喇叭管脚拉低电平

while(1) //死循环

{ delay(100); //延时100ms

beep=!beep; //讲喇叭管脚电平拉高(取反)

}

}

void delay(uint i) //延时函数体

{ uint j; //通过for循环实现延时

for(;i>0;i--)

for(j=100;j>0;j--);

}

//该程序的目的是间隔100ms的时间 喇叭响一次 滴滴滴滴滴滴滴滴~~~~

#include <windowsh>

#include <stdioh>

int main()

{

int m[]={0,320,391,399,445,466,494, 523}, i=0; //定义曲谱中的 do rui mi fa sou la ci 不准确 自己靠感觉调的

int s[]={5,3,5,3,5,2,1}; //我是一个粉刷匠 的曲谱 我就会这句。。。

int t[]={300,300,300,300,300,300,500}; //这是每个音的发生时间, 可以自己定义 半拍多少时间 四分之一拍多少时间

for (i=0; i<7; i++)

{

Beep(m[s[i]],t[i]); //Beep函数 第一个参数 是 发生频率 第二个参数 是发声时间

}

return 0;

}

c语言之家

下面用beep函数发音,按键 1,2,3,4,5,6,7,8 对应 多来米发少。。。

按换行键结束。03秒一个音,不要按得太快。

#include <windowsh>

#include <stdioh>

#include <stdlibh>

void main()

{

char p;

int i=0;

printf("input 12345678\n");

while ( i < 50 ){

p = getch();

if (p == '\r') break;

switch(p-'0'){

case 1: Beep(523,300);break;

case 2: Beep(587,300);break;

case 3: Beep(659,300);break;

case 4: Beep(698,300);break;

case 5: Beep(784,300);break;

case 6: Beep(880,300);break;

case 7: Beep(980,300);break;

case 8: Beep(1060,300);break;

default: break;

}

i++;

}

exit(0);

}

是用的51单片机吧,hcsr501=1就是定义该端口为输入模式,因为51单片机输出高电平时是弱上拉。另外LED2一会亮一会灭应该是模块本身在检测到有人时,其输出高电平(或者低电平)之后会有延时。建议用万用表测量模块输出引脚的输出电平是否正确,再检查程序

开线程做,

DWORD WINAPI BeepFunction(LPVOID lpParam)

{

//Beep播发功能实现

}

DWORD WINAPI LetterFunction(LPVOID lpParam)

{

//字符动画实现

}

int main()

{

HANDLE hThread1,hThread2;

HANDLE hThread1= CreateThread(NULL,

0,

BeepFunction,

NULL,

0,

NULL);

if(hThread1==NULL)

{

AfxMessageBox("Thread Creat Failed!n");

return;

}

CloseHandle(hThread1);

HANDLE hThread2= CreateThread(NULL,

0,

LetterFunction,

NULL,

0,

NULL);

if(hThread2==NULL)

{

AfxMessageBox("Thread Creat Failed!n");

return;

}

CloseHandle(hThread1);

}

你考虑下是不是这样的,beep=0时蜂鸣器不发声的。

因为单片机一上电的时候为高电平,即beep=1,在没执行到beep=0;时蜂鸣器响了一声。

建议你分析下蜂鸣器驱动电路

以上就是关于C语言 用 \a 发出系统声音(嘟嘟嘟嘟……)全部的内容,包括:C语言 用 \a 发出系统声音(嘟嘟嘟嘟……)、C语言翻译,麻烦帮忙翻一下。谢了、求用c语言编写让蜂鸣器唱超级玛丽的音乐的源程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10109860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存