找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4438|回復(fù): 7
收起左側(cè)

求助。怎么用STC12C5A60S2的蜂鳴器放音樂

[復(fù)制鏈接]
ID:278182 發(fā)表于 2018-1-21 22:08 | 顯示全部樓層 |閱讀模式
求助各位大神,怎么用STC12C5A60S2的蜂鳴器放音樂啊,雖然有學(xué)過C語言,但是看到好多類似的單片機(jī)程序還是一臉蒙蔽。。。頭一次接觸單片機(jī)。謝謝各位大神了
回復(fù)

使用道具 舉報(bào)

ID:210244 發(fā)表于 2018-1-21 23:29 | 顯示全部樓層
通過控制蜂鳴器的開關(guān)時(shí)間來生成調(diào)子,網(wǎng)上有很多蜂鳴器的曲譜,改改用就好了
回復(fù)

使用道具 舉報(bào)

ID:278453 發(fā)表于 2018-1-22 01:05 | 顯示全部樓層
從網(wǎng)上直接搜索例程,現(xiàn)在這種做蜂鳴器的很簡單
回復(fù)

使用道具 舉報(bào)

ID:164602 發(fā)表于 2018-1-22 08:32 | 顯示全部樓層
給你一個(gè)例程看看。
/*
本實(shí)例利用無源蜂鳴器發(fā)出音樂聲音。
還用到了定時(shí)計(jì)數(shù)器0
*/

#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char

sbit voice=P1^5;//蜂鳴器接口

uchar code sound[]={0xff,

0x30,0x10,0x2b,0x10,0x26,0x80,0xff,0x40,0x30,0x20,0x30,0x10,0x39,0x10,
0x40,0x80,0xff,0x40,0xff,0x20,0x40,0x20,0x26,0x20,0x26,0x10,0x2b,0x10,
0x2b,0x40,0xff,0x20,0x40,0x20,0x26,0x20,0x2b,0x20,0x2b,0x80,0xff,0x40,
0xff,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x1c,0x20,0x20,0x20,0x1c,0x20,
0x26,0x20,0x26,0x20,0xff,0x20,0x2b,0x30,0x30,0x10,0x26,0x10,0x2b,0x60,
0xff,0x20,0x39,0x20,0x30,0x20,0x39,0x20,0x30,0x40,0xff,0x20,0xff,0x20,
0xff,0x20,0x39,0x10,0x39,0x10,0x2b,0x20,0x2b,0x20,0x30,0x40,0xff,0x40,
0x26,0x80,0xff,0x20,0x2b,0x20,0x30,0x20,0x30,0x10,0x39,0x10,0x40,0x80,
0xff,0x40,0xff,0x20,0x40,0x10,0x40,0x10,0x1c,0x20,0x20,0x60,0xff,0x20,
0x30,0x20,0x2b,0x20,0x26,0x10,0x2b,0x10,0x2b,0x80,0xff,0x40,0xff,0x20,
0x40,0x10,0x40,0x10,0x39,0x20,0x40,0x20,0x1c,0x30,0x20,0x10,0xff,0x20,
0x1c,0x20,0x20,0x20,0x1c,0x20,0x26,0x80,0xff,0x30,0x2b,0x10,0x2b,0x20,
0x30,0x10,0x26,0x20,0x2b,0x60,0xff,0x40,0x39,0x20,0x30,0x20,0x30,0x80,
0xff,0x40,0xff,0x40,0x40,0x20,0x39,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,
0x1c,0x20,0x20,0x40,0x1c,0x20,0x1c,0x20,0x1c,0x20,0x1c,0x10,0x20,0x10,
0x20,0x20,0x20,0x10,0x26,0x10,0x26,0x40,0x26,0x20,0x26,0x20,0x26,0x20,
0x26,0x10,0x2b,0x10,0x2b,0x20,0x30,0x10,0x33,0x10,0x39,0x40,0x30,0x20,
0x30,0x20,0x30,0x20,0x39,0x10,0x40,0x10,0x40,0x80,0x40,0x20,0x39,0x20,
0x30,0x20,0x2b,0x20,0x26,0x20,0x1c,0x20,0x20,0x40,0x1c,0x20,0x1c,0x20,
0x1c,0x20,0x1c,0x10,0x20,0x10,0x20,0x20,0x20,0x10,0x26,0x10,0x26,0x40,
0x26,0x20,0x26,0x20,0x26,0x20,0x26,0x10,0x2b,0x10,0x2b,0x20,0x2b,0x10,
0x30,0x10,0x39,0x40,0x2b,0x20,0x2b,0x20,0x2b,0x20,0x2b,0x10,0x30,0x10,
0x30,0x80,0x00};

uchar zdjs=0, jp;

void del(yj);

void main(void)
{
        uint dpjs=0;
        uchar yj;
        TMOD=0x01;
        IE=0x82;
        TL0=0xf0;
        TR0=1;
        while(1)
        {  
                zdjs=0;
                dpjs++; yj=sound[dpjs];
                dpjs++; jp=sound[dpjs];
                while(zdjs!=jp)
                {
                        if(yj!=0xff)
                        {
                                if(yj!=0)
                                {
                                        voice=!voice;
                                        del(yj);
                                }
                                else
                                {
                                        dpjs=0;
                                        break;
                                }
                        }
                        else
                        {
                                voice=1;
                                del(jp);
                        }
                }
        }
}

void time0() interrupt 1
{
        TH0=0xd8;
        TL0=0xf0;
        zdjs++;
}

void del(yj)
{
        uchar yj2=2;
        while(yj!=0)
        {      
                while(yj2!=0)
                {
                        yj2--;
                }
                        yj2=2;
                        yj--;  
        }  
}
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2018-1-22 13:06 | 顯示全部樓層
先讀通單片機(jī)原理,C語言再好只是語言好,與懂不懂單片機(jī)無關(guān)!
回復(fù)

使用道具 舉報(bào)

ID:267935 發(fā)表于 2018-1-22 15:01 | 顯示全部樓層
利用IO口輸出PWM波來驅(qū)動(dòng)三極管,從而驅(qū)動(dòng)蜂鳴器,曲子的話,網(wǎng)上都能百度到的
回復(fù)

使用道具 舉報(bào)

ID:278182 發(fā)表于 2018-1-22 21:53 | 顯示全部樓層
謝謝各位,太感謝了
回復(fù)

使用道具 舉報(bào)

ID:247467 發(fā)表于 2018-1-23 08:50 | 顯示全部樓層
找到你需要的曲譜在稍微修改,在單片機(jī)中運(yùn)行看看看看效果咋樣。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表