c语言蜂鸣声音代码

正确例题
#include <windows.h>

//作者 cdqz_ssw
#define l1 262
#define l2 294
#define l3 330
#define l4 349
#define l5 392
#define l6 440
#define l7 493

#define n1 532
#define n2 588
#define n3 660
#define n4 698
#define n5 784
#define n6 880
#define n7 988

#define h1 1046
#define h2 1175
#define h3 1319
#define h4 1397
#define h5 1568
#define h6 1760
#define h7 1976

#define A 16001.25 //四拍
#define B 800
1.25 //两拍
#define C 4001.25 //一拍
#define D 200
1.25 //半拍
#define E 1001.25 //1/4拍
#define F 50
1.25 //1/8拍

#define S(i) Sleep(i)
#define wq( i , j ) Beep( i , j )

int main(){
wq(n3,D);wq(n4,D);wq(n3,D);wq(n4,D);wq(n5,C);wq(n3,D);wq(n4,D);

wq(n3,D);wq(n4,D);wq(n5,C);wq(n5,D);wq(n4,D);wq(n3,D);wq(n4,D);

wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D);
wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D);

wq(n1,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D);wq(n3,C);S(C);
//-----------------------------------------作者 cdqz_ssw -----
//----------C1----D0.5---------------------------------------2
wq(n3,D);wq(n4,D);wq(n3,D);wq(n4,D);wq(n5,C);wq(n3,D);wq(n4,D);

wq(n3,D);wq(n4,D);wq(n5,C);wq(n5,D);wq(n4,D);wq(n3,D);wq(n4,D);

wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(l6,D);
wq(n3,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(n2,D);

wq(n1,E);wq(n1,D);wq(n1,D);wq(n1,E);wq(n3,D);wq(n3,C);S(C);
//-----------------------------------------作者 cdqz_ssw -----
//----------C1----D0.5---------------------------------------3
wq(n5,C);wq(n3,C);wq(n2,C);wq(n3,D);wq(n3,D);

wq(n2,D);wq(n1,D);wq(n2,D);wq(n3,B);wq(n3,D);

wq(n6,C);wq(n3,C);wq(n2,C);wq(n1,D);wq(n1,D);

wq(n1,D);wq(n2,D);wq(n3,D);wq(n2,C);S(C);S(D);
//-----------------------------------------作者 cdqz_ssw -----
//----------C1----D0.5---------------------------------------4
wq(n5,C);wq(n3,C);wq(n2,C);wq(n3,D);wq(n3,D);

wq(n2,D);wq(n1,D);wq(n2,D);wq(n3,B);wq(n3,D);

wq(n6,C);wq(n3,C);wq(n1,C);wq(n3,C);

wq(n1,C);S(C);S(C);S(D);wq(n1,E);wq(l5,E);
//----------------------------------------作者 cdqz_ssw -----1
//----------C1----D0.5---------------------------------------4
wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E);

wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n3,E);S(D);wq(n1,E);wq(l5,E);

wq(l6,375);wq(l6,D);wq(l6,E);wq(n5,D);wq(n1,375);wq(n1,D);wq(n1,E);wq(n2,D);

wq(n1,375);wq(n1,E);S(E);wq(n1,E);wq(l6,D);wq(n3,C);S(D);wq(n1,E);wq(l5,E);

wq(l6,375);wq(l6,375);wq(l5,D);wq(n1,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E);

wq(l6,375);wq(l6,375);wq(l5,D);wq(n3,375);wq(n1,E);S(D);wq(n1,E);wq(l5,E);

wq(l6,375);wq(l6,D);wq(l6,E);wq(n5,D);wq(n1,375);wq(n1,D);wq(n1,E);wq(n2,D);

wq(n1,375);wq(n1,D);wq(n3,375);wq(n1,C);S(C);

}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
要使用单片机C语言编写使蜂鸣器间隔发出声音代码,我们可以利用定时器和IO口控制蜂鸣器的开关。 首先,我们需要声明引脚和定时器的相关参数,例如预定义蜂鸣器的IO口和定时器的频率。 然后,在主函数中,我们需要设置相关的引脚为输出模式,并初始化定时器。 接下来,我们可以设计一个循环,在循环中控制蜂鸣器的开关,以实现间隔发出声音的效果。 在循环中,我们可以利用定时器的中断功能来产生周期性的中断,在中断服务函数中可以控制蜂鸣器的开关状态。 具体的代码如下所示: ```c #include <reg52.h> sbit Buzzer = P1^0; //蜂鸣器控制引脚 void timer_init(); //定时器初始化函数 void main() { timer_init(); //初始化定时器 Buzzer = 0; //初始状态关闭蜂鸣器 while(1) { Buzzer = ~Buzzer; //切换蜂鸣器状态 Delay_ms(500); //延时500ms } } void timer_init() { TMOD = 0x01; //设置定时器0为工作模式1(16位自动重装定时器) TH0 = 0xFF; //设置定时器的初始值(定时1ms) TL0 = 0xFE; ET0 = 1; //使能定时器0中断 EA = 1; //打开总中断 TR0 = 1; //启动定时器0 } void timer0_interrupt() interrupt 1 using 1 { TH0 = 0xFF; //重装定时器的初始值(定时1ms) TL0 = 0xFE; Buzzer = ~Buzzer; //切换蜂鸣器状态 } ``` 以上代码中,定时器中断服务函数用于周期性地改变蜂鸣器的状态,每当定时器中断一次,蜂鸣器的状态就会切换一次,从而发出间隔的声音。 这段代码只是实现了蜂鸣器间隔发出声音的一个简单示例,具体的间隔时间可以根据需求进行调整。同时,还可以根据具体的单片机型号和蜂鸣器接口来进行相应的引脚声明和定时器配置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

EYYLTV

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值