>
首 页文章中心单片机论坛电脑援救中心杀毒软件下载电子元件速查集成电路速查客户留言下载中心商品展示频道繁體中文
设为首页
加入收藏
联系我们
您当前的位置:中国单片机网 -> 单片机讲座 -> 文章内容 退出登录 用户管理
栏目导航
· 经典软件 · 单片机讲座
· 配套实验板 · ARM、AVR
· 电源技术 · 称重技术
· 硬件与电路 · 资料下载大全
· 轻松一刻 · 胡老师专栏
· l
热门文章
· 金华广播电视大学(金..
· 金华广播电视大学(金..
· [组图] 三极管s8050管..
· [图文] 324
· [组图] 326
· [组图] 51系列单片机..
· dac0832中文资料引脚..
· 金华电大2008年秋季..
· [组图] 三极管9013管..
· 电动机书下载大全
相关文章
· 第二十讲 作品欣赏..
欣赏2首音乐吧--让单片机唱歌(用C语言编写)
作者:本站  来源:www.chinadpj.com  发布时间:2008-6-20 1:05:28  发布人:admin

减小字体 增大字体

欣赏2首音乐吧--让单片机唱歌(用C语言编写)

//新动力2005
/*  播放两首音乐(C语言)
*********************************
  Create by:左秀龙 
  support:
  Tel:0755-82879296
  email: cutedesign@tom.com
  Date: 2005/07/15
*********************************
测试通过*/

#include

void Music(unsigned char number);
void delay10ms(unsigned char time);
void delay50us(unsigned char time);
unsigned char code SOUNDLONG[];
unsigned char code SOUNDTONE[];
 
void main()
{
 while(1)
 {
  Music(1);  //生日快乐
  delay10ms(250);
  delay10ms(250);
  Music(2);  //三轮车
  delay10ms(250);
  delay10ms(250);
 }
}

void Music(unsigned char number)
{
 unsigned int k,n;
 unsigned int SoundLong,SoundTone;
 unsigned int i,j,m;

 for(k=0;k {
  while(SOUNDLONG[i] !=0){i++;}
  i++;
  if(i>=57) i=0;
 }
 for(k=0;k {
  while(SOUNDTONE[j] !=0){j++;}
  j++;
  if(j>=57) j=0;
 }

 do
 { 
  if(i>=57) i=0;
  if(j>=57) j=0;
  SoundLong=SOUNDLONG[i];
  SoundTone=SOUNDTONE[j];
  i++;
  j++;
 
  for(n=0;n  {
   for(k=0;k<12;k++)
   {
    P3_3=0;
    for(m=0;m     ; 
    P3_3=1;
    for(m=0;m     ;
   }
  }
  delay50us(6);
 }while((SOUNDLONG[i] !=0) || (SOUNDTONE[j] !=0));
}

//延时程序
void delay10ms(unsigned char time)
{
 unsigned char a,b,c;
 for(a=0;a  for(b=0;b<10;b++)
   for(c=0;c<120;c++)
   ;
}
void delay50us(unsigned char time)
{
 unsigned char a,b;
 for(a=0;a  for(b=0;b<6;b++)
   ;
}

unsigned char code SOUNDLONG[]=
 {9,3,12,12,12,24,
  9,3,12,12,12,24,
  9,3,12,12,12,12,12,
  9,3,12,12,12,24,
  0, //生日快乐end
  6,6,9,3,6,6,12,
  6,6,6,6,6,6,12,
  6,6,9,3,6,6,9,3,
  6,3,3,6,3,3,6,6,9,
  0 //三轮车end
 };

unsigned char code SOUNDTONE[]=
{
212,212,190,212,159,169,
212,212,190,212,142,159,
212,212,106,126,159,169,190,
119,119,126,159,142,159,
0, //生日快乐end
239,239,212,189,159,159,189,
159,159,142,126,120,120,159,
120,120,142,159,189,142,159,189,
239,212,189,159,142,159,189,212,239,
0 //三轮车end
};

[本站 www.chinadpj.com(中国单片机网),摘自 http://www.c51.cn/article/ycx/200509/118.html  作者:三板斧 ]

[] [返回上一页] [打 印] [收 藏]
上一篇文章:步进电机的原理简介
下一篇文章:单片机IO口播放乐曲
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [更多评论…]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登录
Copyright © 2002-2020 www.chinadpj.com. All Rights Reserved. 浙ICP备06040125号
Powered by:NewAsp SiteManageSystem Version 2.1 SP1 1030