找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1898|回复: 1
打印 上一主题 下一主题
收起左侧

PWM蜂鸣器实验

[复制链接]
跳转到指定楼层
楼主
ID:196856 发表于 2017-5-26 23:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

/*说明**************************************************************************
曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长...., 0,0};        末尾:0,0 表示结束(Important)

音高由三位数字组成:
                个位是表示 1~7 这七个音符
                十位是表示音符所在的音区:1-低音,2-中音,3-高音;
                百位表示这个音符是否要升半音: 0-不升,1-升半音。

音长最多由三位数字组成:
                个位表示音符的时值,其对应关系是:
                        |数值(n):  |0 |1 |2 |3 | 4 | 5 | 6
                        |几分音符: |1 |2 |4 |8 |16 |32 |64                 音符=2^n
                十位表示音符的演奏效果(0-2):  0-普通,1-连音,2-顿音
                百位是符点位: 0-无符点,1-有符点

调用演奏子程序的格式
                Play(乐曲名,调号,升降八度,演奏速度);
        |乐曲名           : 要播放的乐曲指针,结尾以(0,0)结束;
        |调号(0-11)       :        是指乐曲升多少个半音演奏;
        |升降八度(1-3)          : 1:降八度, 2:不升不降, 3:升八度;
        |演奏速度(1-12000):        值越大速度越快;

***************************************************************************/
#ifndef __SOUNDPLAY_H_REVISION_FIRST__
#define __SOUNDPLAY_H_REVISION_FIRST__

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

#define SYSTEM_OSC                 12000000        //定义晶振频率12000000HZ
#define SOUND_SPACE         4/5                 //定义普通音符演奏的长度分率,//每4分音符间隔
sbit    BeepIO    =           P0^0;                //定义输出管脚

unsigned int  code FreTab[12]  = { 262,277,294,311,330,349,369,392,415,440,466,494 }; //原始频率表
unsigned char code SignTab[7]  = { 0,2,4,5,7,9,11 };                                                                   //1~7在频率表中的位置
unsigned char code LengthTab[7]= { 1,2,4,8,16,32,64 };                                               
unsigned char Sound_Temp_TH0,Sound_Temp_TL0;        //音符定时器初值暂存
unsigned char Sound_Temp_TH1,Sound_Temp_TL1;        //音长定时器初值暂存
//**************************************************************************
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:27916 发表于 2017-5-27 08:25 | 只看该作者
有做出DEMO吗?效果怎么样?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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