单片机按键控制蜂鸣器发声程序资料

单片机按键控制蜂鸣器发声程序资料

ID:41459717

大小:21.50 KB

页数:3页

时间:2019-08-25

单片机按键控制蜂鸣器发声程序资料_第1页
单片机按键控制蜂鸣器发声程序资料_第2页
单片机按键控制蜂鸣器发声程序资料_第3页
资源描述:

《单片机按键控制蜂鸣器发声程序资料》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、#includetypedefunsignedcharuint8;typedefunsignedintuint16;uint8Count,i;sbitSpeak=P1^2;//蜂鸣器器控制脚 sbitkey1=P3^2;//按键控制引脚sbitkey2=P3^3;sbitkey3=P3^4;/*以下数组是音符编码*/uint8codeSONG[]={0xff,0x39,0x30,0x33,0x30,0xff,0x30,0x30,0x00,};voidTime0_Init()//定时器T0方式1,定时1

2、0ms{TMOD=0x01;IE=0x82;TH0=0xDC;TL0=0x00;}voidTime0_Int()interrupt1{TH0=0xDC;TL0=0x00;Count++;}voiddelay(uint8k)//按键防抖延时{uint8j;while((k--)!=0){for(j=0;j<125;j++){;}}}voidDelay_xMs(uint8x)//发声延时{uint8i,j;for(i=0;i

3、蜂鸣器发声函数{uint8Temp1,Temp2;uint8Addr;Count=0;//中断计数器清0Addr=i*3;while(1){Temp1=SONG[Addr++];if(Temp1==0xFF)//休止符{TR0=0;Delay_xMs(100);}elseif(Temp1==0x00)//歌曲结束符{return;}else{Temp2=SONG[Addr++];TR0=1;while(1){Speak=~Speak;Delay_xMs(Temp1);if(Temp2==Count){Count=0;b

4、reak;}}}}}voidkeyscan(void)//按键切换声音函数{if(key1==0){delay(10);if(key1==0){i=0;}}if(key2==0){delay(10);if(key2==0){i=1;}}if(key3==0){delay(10);if(key3==0){i=2;}}}voidMain(){Time0_Init();//定时器0中断初始化while(1){keyscan();Play_Song(i);}}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。