- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                单片机演奏音乐的电路只需要单片机和声音播放电路,电路原理图如图所示。 二、演奏一首音乐 /*演奏“世上只有妈妈好”*/ #include reg52.hsbit?? speaker = P3^0;unsigned char timer0h, timer0l, time;//--------------------------------------//单片机晶振采用11.0592MHz 二、演奏一首音乐 //各种音符频率所对应的、半周期的定时时间初始值。 // 频率-半周期数据表 高八位? code unsigned char FREQH[] = {??? 0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8,??? //低音1234567??? 0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i??? 0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,??????????? //中音 234567??? 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF};?? //高音 1234567 // 频率-半周期数据表 低八位code unsigned char FREQL[] = {??? 0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,??? //低音1234567??? 0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i??? 0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,???????????? //中音音 234567??? 0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16};?? //高音 1234567 二、演奏一首音乐  二、演奏一首音乐 //世上只有妈妈好数据表?????????? 要想演奏不同的乐曲, 只需要修改这个数据表code unsigned char sszymmh[] = {6, 2, 3,? 5, 2, 1,? 3, 2, 2,? 5, 2, 2,? 1, 3, 2,? 6, 2, 1,? 5, 2, 1, //一个音符有三个数字。前为第几个音、中为第几个八度、后为时长(以半拍为单位)。//6, 2, 3 分别代表:6, 中音, 3个半拍;//5, 2, 1 分别代表:5, 中音, 1个半拍;//3, 2, 2 分别代表:3, 中音, 2个半拍;//5, 2, 2 分别代表:5, 中音, 2个半拍;//1, 3, 2 分别代表:1, 高音, 2个半拍;//6, 2, 4, 3, 2, 2, 5, 2, 1, 6, 2, 1, 5, 2, 2, 3, 2, 2, 1, 2, 1,6, 1, 1, 5, 2, 1, 3, 2, 1, 2, 2, 4, 2, 2, 3, 3, 2, 1, 5, 2, 2,5, 2, 1, 6, 2, 1, 3, 2, 2, 2, 2, 2, 1, 2, 4, 5, 2, 3, 3, 2, 1,2, 2, 1, 1, 2, 1, 6, 1, 1, 1, 2, 1, 5, 1, 6, 0, 0, 0};//--------------------------------------  二、演奏一首音乐 /*定时器T0中断函数*/ void t0int() interrupt 1         //T0中断程序,控制发音的音调 {     TR0 = 0;                     //先关闭T0     speaker = !speaker;          //输出方波, 发音     TH0 = timer0h;               //下次的中断时间, 这个时间, 控制音调高低     TL0 = timer0l;     TR0 = 1;                     //启动T0 } /*延时程序控制发音的时长*/ void delay(unsigned char t)     //延时程序,控制发音的时间长度 {     unsigned char t1;     unsigned long t2;     for(t1 = 0; t1  t; t1++)    //双重循环, 共延时t个半拍       for(t2 = 0; t2  8000; t2++); //延时期间, 可进入T0中断去发音     TR0 = 0;             
                您可能关注的文档
最近下载
- EHS体系程序文件-信息沟通、协商和决议管理程序.docx VIP
 - 高中政治课堂教学应用时事政治策略探究.doc VIP
 - (GBT7588 1—2020)电梯制造与安装安全规范.pdf VIP
 - 设施农业智能化与现代农业装备产业发展趋势报告.docx
 - “十四五”公路养护发展规划.docx VIP
 - 健康评估(第二版)全套教学课件.pptx
 - 标准图集-20S515-钢筋混凝土及砖砌排水检查井.pdf VIP
 - 2024年贵州省六盘水市中考语文试卷真题(含答案逐题解析).docx
 - CQI-27铸造系统评估表 第二版(2023).xls VIP
 - 银行大堂服务实训(第2版) 课件 项目4 营业中引导营销服务.pdf VIP
 
原创力文档
                        

文档评论(0)