普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 4043|回复: 3

蜂鸣器模拟发出每个音符 do,re,mi,fa,so,la,si

[复制链接]

22

主题

24

帖子

136

积分

注册会员

Rank: 2

积分
136
发表于 2021-1-21 10:40:54 | 显示全部楼层 |阅读模式
/********************************************************************
功能:
蜂鸣器试验,发出每个音符


*********************************************************************/

#include <reg52.h>
#define uint unsigned int

sbit beep=P2^7;

uint sound[]={262,294,330,349,392,440,494,523,587,659,
698,784,880,988,1046,1175,1318,1397,1568,1760,1976};  // 音调频率数据表


void delay(uint t)
{
        while(t--);
}

void main()
{
        uint t,i;
        while(1)
        {
                for(i=0;i<21;i++)
                {
                        t=0;

                        while(t<sound[i]/2)             //声音持续时间根据音调频率不同,调整对应时长
                        {
                                beep=~beep;
                                delay(10000/sound[i]*10);    //频率转换为周期
                                t++;
                        }
                        delay(50000);                   //每个音符之间的间隔时间
                }
               
       


        }
}
回复

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2022-10-8 22:33:15 | 显示全部楼层
大佬nb,找的就是这个!!!!
回复 支持 反对

使用道具 举报

0

主题

3

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-11-14 11:48:20 | 显示全部楼层
牛,
拷贝,粘贴,编译,烧录,结果没响,
把蜂鸣器的地址改成开发板的,P2^7---->P1^5
编译,烧录,音乐响起来, OK!
回复 支持 反对

使用道具 举报

0

主题

16

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2022-11-15 00:46:28 | 显示全部楼层
普中开发板硬件设计有点问题,三极管基极偏置电阻设计过小(继电器驱动三极管和蜂鸣器驱动三级管),只有100欧,会导致IO口灌电流过大,阻值应该为2k~5k;PWM实验的LM358特别容易饱和,导致PWM波形严重失真,应在LM358的同相输入端对地并接1只约30k电阻;ADC模块实验时数据不稳,其AIN端对地应接0.1uF~1uF的抗干扰电容。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-26 08:43 , Processed in 0.091045 second(s), 30 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表