c语言乐曲演奏——《千本樱》
这个程序着实花费了我好长的时间,我本身对音乐一窍不通,先是跟着girl friend学习了简谱,根据c调44拍的《千本樱》写下了下面的程序。


#include<stdio.h>
#include<dos.h>
void mysound(unsigned int freq,int times)
{
int i;
union
{
int divisor;
char c[];
} count;
char bits;
count.divisor=/freq;
outportb(0x43,0xb6);
outportb(0x42,count.c[]);
outportb(0x42,count.c[]);
bits=inportb(0x61);
outportb(0x61,bits|);
for(i=; i<times; i++)
delay();
outport(0x61,bits&0xfc);
outportb(0x61,bits);
}
int main()
{
int freq[]= {,,,,,,,};
int song[]= {,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,, ,,,,,,,,
,,,,,,-,,
,,,,,,,,
,,,,,, ,,,,,,,,
,,,,,,-,,
,,,,,,,,
,,,,,, ,,,,
,,,-,-,-,-,
-,,-,,,
,,,,,, ,,,,
,,,-,-,-,-,,
,,,,,
,,,,, ,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,, ,,,,,,,
,,,,,,,
,,,,
,,,,,,, ,,,,,,
,,,,
,,,, };
float div[]= {,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,, ,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,,,,,,,
,,,,,,, ,,,,,,,,
,,,,,,,,
,,,,,,,,
,,,,,, ,,,,,,,,
,,,,,,,,
,,,,,,,,
,,,,,, ,,,,
,,,,,,,
,,,,,
,,,,,, ,,,,
,,,,,,,,
,,,,,
,,,,, ,,,,,,,
,,,,,,,
,,,,,,,
,,,,,,, ,,,,,,,
,,,,,,,
,,,,
,,,,,,, ,,,,,,
,,,,
,,,, };
unsigned int f;
int times,i;
for(i=; song[]; i++)
{
if(song[i]<)
f=freq[-song[i]]/;
else if(song[i]>)
f=freq[song[i]%]*;
else if(song[i]==)
f=;
else
f=freq[song[i]];
times=/div[i];
mysound(f,times);
}
return ;
}
再附上两首简单音乐的代码:
int song[]={ ,,,,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,
};
float div[]={ ,,,,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,,,
,,,,,,
,,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,
};
int song[]= {
,,,,,,,
,,,,,
,,,,,,,
,,,,,
,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,,-,
,,-,,
,,,,,,
,,,,
,,,
};
float div[]= {
,,,,,,,
,,,,,
,,,,,,,
,,,,,
,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,,
,,,,,
,,,,,,,
,,,,
,,,,,,
,,,,
,,,
};
c语言乐曲演奏——《千本樱》的更多相关文章
- VHDL 乐曲演奏电路设计
前言 无源蜂鸣器在直流信号下不会响,需要方波驱动.输入不同频率的方波会发出不同音调的声音,方波的幅值决定了声音的响度. 目标 乐曲发生电路在节拍(4Hz)的控制下根据乐谱产生合适的分频系数.分频器根据 ...
- LeCun自曝使用C语言23年之久,2年前才上手Python,还曾短暂尝试Lua!
程序员圈子的流行风潮,过几年就怀旧风走一波. 这不,最近Twitter上刮起了一阵编程语言使用历史的风潮. 连图灵奖得主.CNN之父-- Yann LeCun 也参与进来了. 他自曝使用C语言时间最长 ...
- [转]MIDI常识20条
原文链接:http://www.midifan.com/modulearticle-detailview-488.htm Keyboard杂志老资格编辑Jim Aikin在纪念MIDI诞生20的时候发 ...
- [日常]蒟蒻的高一生活 Week 1~3
博主在三周前成功晋级为高中生OwO终于不再是假的HZOIer感受一波HZ的真正生活...(然而实际上级部不少监督一直没启动23333) (然而三周过去好多事情都忘了QAQ瞎写好了(逃)) Week 1 ...
- P2614 计算器弹琴
题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能——弹琴. http://www.bilibili.com/vide ...
- 洛谷 P2614 计算器弹琴
P2614 计算器弹琴 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能——弹琴. http://www.bilib ...
- Javascript规范
本文地址: http://www.hicss.net/evolve-your-javascript-code/ 方才在程序里看到一段JS代码,写法极为高明,私心想着若是其按照规范来写,定可培养对这门语 ...
- 引爆你的Javascript代码进化
转自:http://www.hicss.net/evolve-your-javascript-code/ 方才在程序里看到一段JS代码,写法极为高明,私心想着若是其按照规范来写,定可培养对这门语言的理 ...
- 选择Asp for javascript,非.net。
写Web类型的程序我使用过的服务器端语言有C#和Python.PHP稍Copy过几段代码,Asp很早听说过.C#我主要用来写Web服务比较多,C#这种强类型语言写Web不太爽,特别构造复杂的JSON数 ...
随机推荐
- C语言的乱七八糟
Note For C Linux下C编程基础(gcc/gdb/make使用) 一.vi学习 二.初探emacs 三.gcc编译器 3.1 gcc所支持后缀名解释 后缀名 解释 后缀名 解释 .c C原 ...
- zabbix基本监控各指标简解
监控项目及使用模板 监控http和https: Template App HTTP Service Template App HTTPS Service 监控cpu,内存,网络等: Templ ...
- Python 简单购物车
product_list =[ ('huawei',3000), ('hongmiNote3',3000), ('sanxing',2600), ('ThinkPad870',15000), ('Ip ...
- ElasticSearch : APT-GET安装方式
Ubuntu下安装ES 新建非ROOT管理员用户 安装和配置JDK 打开下面的地址 https://www.elastic.co/guide/en/elasticsearch/reference/cu ...
- ThinkPHP5.1完全开发手册.CHM离线版下载
ThinkPHP5.1完全开发手册.CHM离线版下载 ThinkPHP5.1完全开发手册离线版.CHM下载地址 百度云:链接: https://pan.baidu.com/s/1b4jKJN-8UyI ...
- Python 1.2 列表和字典基础
一. List创建.索引.遍历和内置增删函数 1.列表是Python的内置可变对象,由Array实现,支持任意类型的添加.组合和嵌套. L = [] # list declare L = [1, 1. ...
- VMWare虚拟机的网络类型配置选择详解
VMWare虚拟机网络有三种类型,当然还有最后一种类型就是“不使用网络连接”,哈哈....... VMWare在安装会有让选择网络类型的选项,如果不确认使用那一种网络类型,也可以先随便选择一种网络类型 ...
- 北京Uber司机7月13日奖励政策更新
各位司机朋友: 从7月13日(周一)起,奖励政策将进行调整,具体如下: 滴滴快车单单2.5倍,注册地址:http://www.udache.com/如何注册Uber司机(全国版最新最详细注册流程)/月 ...
- 北京Uber优步司机奖励政策(3月24日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 北京Uber优步司机奖励政策(3月22日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...