基本信息
源码名称:基于单片机的电子音乐门铃设计
源码大小:0.72M
文件格式:.doc
开发语言:C/C++
更新时间:2019-07-09
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 6 元 
   源码介绍

        本设计是基于AT89C51单片机的可控音乐门铃程序设计。该音乐门铃是一个依据单片机技术原理,通过PROTEUS仿真软件对硬件电路进行仿真制作以及利用KEIL软件对音乐门铃源程序进行C语言编译,而设计制作出的一个多功能音乐门铃。


        


void main()

{

       P0=0X3F;

       P2=0X3F;

       EA=1;//开总中断

       EX0=1;//开外部中断0

       IT0=1;//外部中断0下降沿触发方式

       EX1=1;//开外部中断1

       IT1=1;//外部中断1下降沿触发方式

       TMOD=0x11;//定时器0工作在方式1

       ET0=1;ET1=1;      

       TR0=0;TR1=0;

       TH1=(65536-50000)/256;

       TL1=(65536-50000)%256;

      

       while(1)

       {           

              if(key2==0){        

                     song();

                     Delay1(1000);

              }

       }                       

}

void int0() interrupt 0                  //功能:用来暂停并取消音乐

{

       EA=0;//关总中断

       Delay1(1);//去抖

       if(key1==0)

       {

              count=0;//不让蜂鸣器唱歌

              TR0=0;

              num=0;

              TR1=0;

              P0=0X3F;

              P2=0X3F;

 

       }

       EA=1;//开总中断

}

void int1() interrupt 2                  //门铃按键:每按一次会自动切换音乐,计时也会从新开始

{

       EA=0;//关总中断

       Delay1(1);//去抖

       if(key2==0)

       {

              TR0=1;

              TR1=1;

              i=0;//从头开始唱

              count ;

              if(count==5)

                     count=1;

       }

       EA=1;//开总中断

}

void timer0() interrupt 1       //用于产生各种音调

{

       TH0=timeh;

       TL0=timel;

       fm=~fm;

}

void timer1() interrupt 3

{

       TH1=(65536-50000)/256;

       TL1=(65536-50000)%256;

       if( x==20)

       {

              x=0;

              num;

              P0=DSY_CODE[num/10];

              P2=DSY_CODE[num%10];

              if(num==59)

                     num=0;

       }

}