基于单片机的c语言音乐程序

上传人:gg****m 文档编号:204991085 上传时间:2021-10-27 格式:DOC 页数:3 大小:53KB
返回 下载 相关 举报
基于单片机的c语言音乐程序_第1页
第1页 / 共3页
基于单片机的c语言音乐程序_第2页
第2页 / 共3页
基于单片机的c语言音乐程序_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于单片机的c语言音乐程序》由会员分享,可在线阅读,更多相关《基于单片机的c语言音乐程序(3页珍藏版)》请在金锄头文库上搜索。

1、/*12Mhz晶振工作*/ #include #define uint unsigned int #define uchar unsigned char sbit BUZZER=P3人7;uint m,i,rti,l,k,kl;在12M频率下的高低音音频率表,toneh为高字节,tonehl为低字节 uchar code toneh15= 0xfe,0xfe,0xfe,0xfe,0xfe,0xfe,0xff,0xff,0xff,0xff,()xff,0xff,()xff,0xff ,Oxff;uchar code toneh 115= (0x22,0x56,()x85,0x9a,0xc 1,0

2、xe3,0x03,Ox 10,0x2b,0x42,0x4c,0x60,0x71,0x81/*1 -A%、,卜,J*,户,尸.卜.尸,卜以下为用户日定义song为音乐的音谱。17为高音。8为停音节,ag为低音。length为每个音谱的音第。如1/4节拍。1/2节拍 以下为一首名曲“茉 莉花”M-JU L U,卜否孝,卜,卜半不,卜占不不小否字,卜,卜否孝,卜,卜半不,卜不不不字,卜宇不,卜卜半不占不小不小字,卜字555,卜小*/uchar code song= ”335676556558335676556558555356655832353211211321322356755235231 fee

3、fl 2 23121fee8”;音谱,把你喜欢的乐谱加入就可 uchar code lengthfl =”42242244224142242244224144422444414224224224422224424224442222224444 4422222442”; 音长uchar code tabe=Oxfc,0x60,0xda,0xf2,0x66,Oxb6,0xbe,0xe0,0xfe,0xf6); void timer0(void)interrupt 1 if(rti!=14)(BUZZER=!BUZZER;输出THO=tonehrti;装入音谱TLO=tonehlrti;void t

4、imerl(void)interrupt 3THl=0x0c;TLI=0xdc;音长定时值。125亳秒m+;k+;if(k=20)k=O;kl+;if(kl=10)kl=0;音长计数器P()=0x0();P2=tabekl;playc(char ch)(int ti;switch(ch)casa1: ti=O;break;caseb*: ti=l;break;casec: ti=2;break;cased: ti=3;break;casee: ti=4;break;caseT: ti=5;break;caseg: ti=6;break;caseT: ti=7;break;case2: ti=8

5、;break;case13*: ti=9;break;case4: ti=lO;break;case5: ti=l I;break;case6: ti=!2;break;case?1: ti=13;break;case8: ti=14;break;default:ti=50;break;return(ti);) void main()(kl=0;m=0;TMOD=OX 11;Pl_0=0;TH0=toneh0;TL()=tonehl0;THI=0x0c;TLl=0xdc;IP=0x08;EA=1;ET()=1;ET1 = 1;TR0= 1;TR1 = 1;i=0;while(l)if(songli=,0) i=0;rti=playc(songi);l=lengthi-0x30;while(ml);m=0;i+;vvhile(kl=9)定时器1为125毫秒中断定时器1优先级高。是否播放完毕。把音谱加入寄存器把音长力入寄存器等待音长结束音长清归零( BUZZER=1;J

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号