单片机优秀课程设计数字音乐盒设计.doc
《单片机优秀课程设计数字音乐盒设计.doc》由会员分享,可在线阅读,更多相关《单片机优秀课程设计数字音乐盒设计.doc(28页珍藏版)》请在咨信网上搜索。
机 电 工 程 系 课 程 设 计 报 告 题目: 单片机课程设计-数字音乐盒设计 专 业: 应用电子技术 班 级: 10应用电子(4)班 学 号: 姓 名: 指导老师: 答辩日期: 9月 目录 一、 绪论 - 4 - 二、 对本课程设计分析 - 4 - 2.1 工作原理 - 5 - 2. 节拍确实定 - 6 - 3. 音符编码 - 8 - 4.软硬件环境: - 8 - 三、 关键电路模块实现方案比较及选择 - 8 - 3.2 设计方案确实定: - 9 - 四、 系统电路图 - 9 - 五、 系统软件设计 - 13 - 六、 结论 - 15 - 七、 课程设计中所负责内容 - 15 - 八、 课程设计过程中碰到关键问题和处理措施 - 15 - 九、 心得体会 - 16 - 一、 绪论 本设计是为了检测自己对单片机掌握情况,而且能以c语言写出程序并应用,设计是以AT89S51芯片电路为基础,利用keil和proteus仿真软件,设计出一个多功效音乐盒。音乐盒关键由四大模块组成,包含AT89S51芯片、8个按键、蜂鸣器、晶振复位电路。有开机键、暂停键、播放键、上一曲、下一曲和3个用来选择歌曲键。另外用户能够根据自己喜好选择音乐并将其转化成机器码存入单片机存放器中。对于不一样型号单片机只需要对应改变一下地址即可。该软、硬件系统含有很好通用性,很高实际使用价值。本汇报写了音乐盒原理,怎样使用,述写了音调产生和节拍确实定及音符编码。包含主电路及其图和步骤图和我们此次设计心得体会。 关键字:AT89S51;Keil;计时;音乐盒 二、 对本课程设计分析 芯片AT89S51介绍 AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)可反复擦写1000次Flash只读程序存放器,器件采取ATMEL企业高密度、非易失性存放技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存放单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。外形及引脚排列图2.1所表示 图2.1 AT89S51 2.1 工作原理 本程序是得用单片机I/O口产生一定频率方波,驱动蜂鸣器,发出不一样音调,从而演奏乐曲。下面我们来看下相关音乐是怎样出来: 1 音调产生 频率高低决定了音调高低。音乐十二平均率要求:每两个八度音(如简谱中中音1和高音1)之间频率相差一倍。在两个八度音之间又分为十二个半音。另外,音名A(简谱中低音6)频率为440Hz,音名B到C之间、E到F之间为半音,其它为全音。由此能够计算出简谱中从低音1到高音1之间每个音名对应频率,全部不一样频率信号全部是从同一个基准频率分频得到。 1、要产生音频脉冲,只要算出某一音频周期(1/频率),然后将此周期除以2,即为半周期时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲I/O反相,然后反复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率脉冲。 2、利用AT89s51内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不一样频率方法。 另外结束符和休止符能够分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则产生对应停顿效果。 3、比如频率为523Hz,其周期T=1/523=1912us,所以只要令计数器计时956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO(523Hz)。 计数脉冲值和频率关系公式以下: N=Fi2Fr N:计算值; Fi:内部计时一次为1us,故其频率为1MHz; 4、其计数值求法以下: 初值T=65536-N=65536-Fi2Fr 比如:设K=65536,F=1000000=Fi=1MHz,球低音DO(261Hz)。中音DO(523Hz)。高音DO(1046Hz)计算值 T=65536-N=65536-Fi2Fr=6Fr=6/Fr 低音DOT=6/262=63627 低音DOT=6/523=64580 低音DOT=6/1047=65059 1、 C调各音符频率和计数值T对照表如表4.1所表示。 表2.3 C调各音符频率和计数值T对照表 低音 频率 N 参数 中音 频率 N 参数 高音 频率 N 参数 Do 262 1908 229 Do 523 956 115 Do 1046 57 57 Do# 277 1805 217 Do﹟ 554 903 108 Do﹟ 1109 54 54 Re3 294 1701 204 Re 587 852 102 Re 1175 51 51 Re﹟ 311 1608 193 Re﹟ 622 804 97 Re﹟ 1245 48 48 Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45 Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43 Fa﹟ 370 1351 162 Fa﹟ 740 676 81 Fa﹟ 1480 41 41 So 392 1276 153 So 784 638 77 So 1568 38 38 So﹟ 415 1205 145 So﹟ 831 602 72 So﹟ 1661 36 36 La 440 1136 136 La 880 568 68 La 1760 34 34 La﹟ 464 1078 129 La﹟ 932 536 64 La﹟ 1865 32 32 Si 494 1012 121 Si 988 506 61 Si 1976 30 30 2. 节拍确实定 若要组成音乐,光有音调是不够,还需要节拍,让音乐含有旋律(固定律动),而且能够调整各个音快满度。“节拍”,即Beat,简单说就是打拍子,就像我们听音乐不自主随之拍手或跺脚。若1拍实0.5s,则1/4 拍为0.125s。至于1拍多少s,并没有严格要求,就像人心跳一样,大部分人心跳是每分钟72下,有些人快一点,有些人慢一点,只要听悦耳就好。音连续时间长短即时值,通常见拍数表示。休止符表示暂停发音。 一首音乐是由很多不一样音符组成,而每个音符对应着不一样频率,这么就能够利用不一样频率组合,加以和拍数对应延时,组成音乐。了解音乐部分基础知识,我们可知产生不一样频率音频脉冲即能产生音乐。对于单片机来说,产生不一样频率脉冲是很方便,利用单片机定时/计数器来产生这么方波频率信号。所以,需要搞清楚音乐中音符和对应频率,和单片机定时计数关系。 表2.41节拍和节拍码对照 节拍码 节拍数 节拍码 节拍数 1 1/4拍 1 1/8拍 2 2/4拍 2 1/4拍 3 3/4拍 3 3/8拍 4 1拍 4 2/1拍 5 1又1/4拍 5 5/8拍 6 1又1/2拍 6 3/4拍 8 2拍 8 1拍 A 2又1/2拍 A 1又1/4拍 C 3拍 C 1又1/2拍 F 3又3/4拍 每个音符使用1个字节,字节高4位代表音符高低,低4位代表音符节拍,表2.41为节拍码对照。假如1拍为0.4秒,1/4拍实0.1秒,只要设定延迟时间就可求得节拍时间。假设1/4拍为1DELAY,则1拍应为4DELAY,以这类推。所以只要求得1/4拍DELAY时间,其它节拍就是它倍数,图5.3为1/4和1/8节拍时间设定。 表2.42 1/4和1/8节拍时间设定 曲调值 DELAY 曲调值 DELAY 调4/4 125毫秒 调4/4 62毫秒 调3/4 187毫秒 调3/4 94毫秒 调2/4 250毫秒 调2/4 125毫秒 3. 音符编码 do re mi fa so la si分别编码为1~7,重音do编为8,重音re编为9,停顿编为0。播放长度以十六分音符为单位(在本程序中为165ms),一拍即四分音符等于4个十六分音符,编为4,其它播放时间以这类推。音调作为编码高4位,而播放时间作为低4位,如此音调和节拍就组成了一个编码。以0xff作为曲谱结束标志。 举例1:音调do,发音长度为两拍,即二分音符,将其编码为0x18 举例2:音调re,发音长度为半拍,即八分音符,将其编码为0x22 歌曲播放设计。先将歌曲简谱进行编码,储存在一个数据类型为unsigned char 数组中。程序从数组中取出一个数,然后分离出高4位得到音调,接着找出对应值赋给定时器0,使之定时操作蜂鸣器,得出对应音调;接着分离出该数低4位,得到延时时间,接着调用软件延时。 4.软硬件环境: 我用单片机是at89s51机而且利用keil和proteus仿真软件,设计出一个多功效音乐盒,使用c语言写程序。 三、 关键电路模块实现方案比较及选择 3.1 方案设计: 第一方案 此方案采取是模拟电路,其中包含有几部分: 1.基准频率产生器,产生基准频率,其值应依据音调发生器频率要求决定。 电路可由晶振组成时钟脉冲振荡器。 2.音调发生器,音调发生器产生各个音区和音符所对应频率;音符代码存放器,用来存放和乐曲音符对应数字代码及乐曲数量。 3.通常先将乐曲进行编码,再将其代码存放在EPROM存放器。 4.节拍发生器和地址计数器,节拍发生器振荡频率由乐曲演奏速度所决 定。演奏速度越快,节拍发生器速度越高。 5节拍分配器,将节拍分配好,产生驱动打击节拍信号。 6.声音驱动电路,使乐曲节拍和频率经过发音演奏出所想要乐曲。 第二方案: 采取单片机来设计电路。其中关键包含以下多个部分: 1.AT89S51单片机,经过对其进行编程,利用其内部定时器/计数器改变计数初值,能够实现不一样音调。 2.按键电路 有不一样按键能够实现不一样功效。 3.晶振复位电路 由石英晶体振荡器产生单片机工作时所必需时钟信号。振荡器采取12MHZ晶振,使之机器周期 Tcy=1us,方便发音程序计算和编译。 4.蜂鸣器 经过对应程序能够驱动蜂鸣器使之发声。 3.2 设计方案确实定: 经过查资料、构思和自己设计,为确保电路基础功效实现,经过分析,从实现难度、性能、经济等方面综合就以上两种方案进行比较: 1.从实现音乐盒电路硬件方面看,用单片机实现所用硬件电路比用模拟电路实现所用器件少,接线图简单,功耗较小,稳定性和抗干扰性及相对方案1好 2.用单片机实现音乐盒,经过编程就可实现音频和节拍,省去了节拍发生器和节拍分配器,实现音乐产生较简单 3.AT89S51微处理器性价比高,用它完全能够实现本设计当中要求功效,且体积小,便于产品小型化,功耗小,工作电压范围宽。 4.用单片机设计音乐盒音质较方案一好 5.用单片机设计音乐盒电路能够加按键电路实现播放\暂停及选曲功效 综合以上原因,选择方案二比较可行。 四、 系统电路图 4.1设计思绪(仿真) 程序设计部分关键有:简谱音调及节拍、计时、键盘扫描部分。设计部分见下图3.11: 图3.11 利用keil和proteus仿真软件,在仿真部分能够看到分别有八个按键经过74ls21外部中止来控制歌曲切换及对应功效,及蜂鸣器放出程序中音乐 4.2 PCB电路图 上图包含最小51系统、8按键和74ls48P. 4.3 电路实物图 1开机 2第一曲 3下一曲 4播放 5第二曲 6第三曲 7暂停 8上一曲 “1”:歌曲1,《世上只有母亲好》 “2”:歌曲2,《感恩心》 “3”:歌曲3,《千年之恋》(共有三首歌曲) 4.4实现系统功效 由图中8个按键控制对应功效经过hd74ls08p控制外部中止,再由51机中c语言程序控制输出实现对应功效。 五、 系统软件设计 由下面步骤图我们看出,首先主程序开始先是初始化变量,然后按key1,判定是否按下,有话则开机,默认播放第一首歌曲,这时我们能够按key2、key3、key4、key5、key6、key7、key8控制歌曲切换、播放和暂停。 主程序开始 初始化变量 初始化定时器T1 Key1=? 开机 播放歌曲1 Key2=? 暂停 Key8=? 播放 返回 Key7=? Key6=? Key5=? Key4=? Key3=? 歌曲1 歌曲2 歌曲3 上一曲 下一曲 N Y N Y N Y Y Y Y Y Y N N N N N 六、 结论 设计是以AT89S51芯片电路为基础,利用keil和proteus仿真软件,设计出一个多功效音乐盒。并经过硬件实现在单片机上音乐播放。 现在我们音乐盒已经能够完成我们写全部功效,而且有深入可拓展性,相信我经过这次学习能愈加好学好单片机。 在此间我发觉有个很好方法,同时也是老师提醒下,就是先写步骤图,这么能使思绪清楚,然后按步骤图步骤来,就不会出现混乱情况了。最终最终将程序完成了,而且能在仿真软件上调试成功,然后就是完成硬件。现已全部可用(包含硬件及仿真)。 经过这次单片机设计我发觉要学好单片机还有很大一大段距离,因为自己理念知识不扎实,能力有限,造成编程困难,最终在有资料和同学帮助下才将程序很好完成而且能用到实际中。 我认为在此期间我学到是很多,没有扎实基础是不行,我们要在理念知识指导下去实践,细心是很关键。在程序中我们要注意指令规范。 七、 课程设计中所负责内容 在此次设计过程中,我负责写驱动程序,而且负责查找相关资料,和画PCB、还有写汇报。 程序已经写好能正常使用,出现问题已经得四处理。PCB已经画好,除了有部分跳线,一切正常。 八、 课程设计过程中碰到关键问题和处理措施 1. 问题:歌曲在下一曲再下一曲后,无法由最终一曲返回到第一曲。 处理方法:加一个if循环函数使其能够返回 2.问题:按暂停键老是出现尾音。 处理方法:每次判定完按键开关位置后,全部将总中止开关EA和定时器开关TR0关闭 3.问题:硬件悍好发觉不能用。 处理方法:细心观察,发觉电路出现粗心时悍错,认真悍好。 4问题:发觉程序一点也没有犯错,但就是不能正常运行。 处理方法:认真对照书上程序,最终发觉是指令书写不规范,最终将其更正。 九、 心得体会 经过这次试验,我加深了对单片机认识。从硬件到软件,从设计到调试。并深刻体会到了理论和实践有时并不是完全相同,理论上能够解释,能够实现东西,在实践中很有可能出现问题。在以后学习中,不能一味依靠书本,试验中碰到问题,要尝试多个思绪。 在为期二周课程设计当中感慨最深便是实践联络理论关键性,当碰到实际问题时,只要认真思索。就是思索,利用所学知识,一步一步去探索,是完全能够处理碰到通常问题。此次实习使我们对电子元件及电路设计有一定感性和理性认识;培养和锻炼我们实际动手能力。使我们理论知识和实践充足地结合,作到不仅含有专业知识,而且还含有较强实践动手能力,能分析问题和处理问题高素质人才,为以后顺利就业作好准备。此次实习对我们很关键,是我们应用电子技术专业学生实践中关键步骤。在以前我们学全部是部分理论知识。一周时间很短,不过我们学到比我们在学校两年学还要多,以前我们光只注意部分理论知识,并没有专门练习我们实际动手能力。这次实习使我意识到我操作能力不足,在理论上也有很多缺点。 附件: /* C语言音乐盒源程序设计 */ #include <reg51.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int uchar count=0,count1=0; //count1 歌曲标志 uchar key,count2,h=1,i; uchar temp; //temp歌调 //uchar s1,s2,m1,m2; uchar second,j=0; void delay1(uint z); //延时1ms sbit key2=P3^2; // 按key2可切换歌曲 sbit key1=P3^3; sbit fm=P3^7;//蜂鸣器连续IO口 sbit rs=P2^2; sbit rw=P2^1; sbit e=P2^0; sbit busy=P0^0; sbit CS1=P2^4; sbit CS2=P2^3; /* 于键消抖延时函数 */ void delay5() { uint t; for (t=400;t>0;t--); } /*======音乐按键扫描函数======= */ uchar keyscan(void) //键盘扫描 { {unsigned char key_l,key; key_l=P1&0x0f; if(key_l!=0x0f) // 判定是否有按键按下 { delay5() ; //消抖 if(key_l!=0x0f) //再次判定是否有按键按下 { key_l=P1&0x0f; //扫描列 得到列值 P1=0X7f; //0111 1111 if(P1!=0x7f) key=P1; P1=0Xbf; //1011 1111 if(P1!=0xbf) key=P1; P1=0Xdf; if(P1!=0xdf) key=P1; P1=0Xef; if(P1!=0xef) key=P1; P1=0x0f; } delay1(1000); } switch(key) { case 0xeb: count1=1;i=0; TR1=1; break; case 0xd7: count1=2;i=0; TR1=1; break; case 0xdb: count1=3;i=0; TR1=1; break; case 0xe7: count2=1;count1=1;delay1(100); TR1=1;break; //开机键ON/C case 0xed: count2=2;h=0; delay1(100); TR1=1;ER0=0;EA=1; break; //暂停键 = case 0xee: count1=count1+1;i=0; delay1(100); TR1=1; if(count1==4) count1=1;break; //下一曲 + case 0xde: count1=count1-1;i=0; delay1(100); TR1=1; if(count1==0) count1=3;break; //上一曲 - case 0xbe: count2=5;h=1; TR0=1; break; TR1=1; //播放键 default:break; } P1 = 0x0f; } } //=======外部中止INT0==========// void ZD() interrupt 0 { keyscan(); } //===========显示延迟=======================// delay2(int a) {int b; for(;a>0;a--) for(b=0;b<255;b++); } check() //查忙 {e=1; rw=1; rs=0; P0=0xff; if(busy); } /*写指令程序*/ wc(unsigned char dat) {check(); e=0; rw=0; rs=0; P0=dat; e=1; e=0; } /* 写数据程序*/ wd(unsigned char dat) {check(); e=0; rw=0; rs=1; P0=dat; e=1; e=0; } //------------------简谱音调对应定时器初值--------// //适合11.0592M晶振 uchar code cuzhi[]={ 0xff,0xff,//占位 停顿 0xFC,0x8E,//中音1-7 0xFC,0xED, 0xFD,0x43, 0xFD,0x6A, 0xFD,0xB3, 0xFD,0xF3, 0xFE,0x2D, 0xFE,0x47, //高音1-7 0xFE,0x76, 0xFE,0xA1, 0xFE,0xC7, 0xFE,0xD9, 0xFE,0xF9, 0xFF,0x16 }; /* 函数申明*/ void delay1(uint z);//延时1mS void delay(uint z); //延时165ms,即十六分音符 void song(); void beep(); //蜂鸣器叫一声 /* 初始化程序 */ void inti() { wc(0X3f);//显示开关关 0011 1111 wc(0XC0);//修改显示起始行 1100 0000 wc(0XB8);//修改页地址,x地址 1011 1000 wc(0X40);//修改列地址,y地址 0100 0000 } uchar timeh,timel,i; //---------------------------简谱--------------------------------------- //编程规则:字节高位是简谱,低位是节拍连续时间, //代表多少个十六分音符 //1-7代表中音,8-E代表高音,0代表停顿 //最终0是结束标志 //===================== 歌曲 ============// uchar code mamahao[]={ //世上只有母亲好 //世上只有母亲好 0x68,0x52,0x34,0x54,0x84,0x62,0x52,0x68, //世上只有母亲好 0x34,0x52,0x62,0x54,0x34,0x12,0xc2,0x52,0x32,0x28, //有妈孩子像个宝 0x24,0x32,0x54,0x52,0x62,0x34,0x24,0x18, //投进了母亲怀抱 0x54,0x32,0x22,0x12,0xc2,0x12,0xb8,0x04,0xff, //幸福享不了 }; uchar code ganen[]={//感恩心 0x12,0x14,0x22,0x32,0x54, //我来自偶然, 0x32,0x84,0x72,0x62,0x54, //像一颗尘土, 0x02,0x62,0x62,0x52,0x54,0x12,0x22,0x32,0x28, //有谁看出我脆弱, 0x12,0x14,0x22,0x32,0x54, //我来自何方, 0x32,0x84,0x92,0x82,0x54, //我情归何处, 0x32,0x24,0x21,0x61,0x54,0x22,0x32,0x12,0x18, //谁在下一刻呼叫我, 0x22,0x24,0x12,0x24,0x11,0x21,0x34,0x32,0x21,0x31,0x34, //天地虽宽 这条路却难走 0x12,0x22,0x22,0x22,0x11,0x21,0x22,0x64,0x52,0x52,0x32,0x38, //我看遍这人间坎坷辛劳 0x31,0x52,0x51,0x52,0x31,0x51,0x58, //我还有多少爱 0x31,0x82,0x81,0x82,0x31,0x61,0x68, //我还有多少泪 0x62,0x62,0x62,0x51,0x61,0x64,0x61,0x82,0x61,0x9c, //要苍天知道 我不认输 0x52,0xa4,0x92,0xa4,0x32,0x84,0x72,0x64, //感恩心 感谢有你 0x62,0x94,0x82,0x94, //伴我一生 0x61,0x81,0x92,0x91,0x91,0x92,0x81,0xa1,0xa2,0x92,0x94, //让我有勇气做我自己 0x52,0xa4,0x92,0xa4,0x32,0x84,0x72,0x64, //感恩心 感谢命运 0x52,0x62,0x81,0x81,0x82,0x92,0xa2,0x94,0x82,0x72,0x82,0x88,0xff //花开花落我一样会珍爱 }; uchar code qnzl[]={ //千年之恋 0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xA8,0x08, //前奏 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62, //竹林灯火 到过沙漠 0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22, //七色国度 不停飘逸风中 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62, //有一个神秘 灰色旋涡 0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02, //将我卷入了迷雾中 0x63,0xA1,0xA2,0x62,0x92,0x82,0x52, //看不清双手 0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7C,0x02, //一朵花传来谁经过温柔 0x61,0x71,0x82,0x71,0x62,0xA2,0x71,0x76, //穿越千年伤痛 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, //只为求一个结果 0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, //你留下轮廓 指导我 0x42,0x63,0x83,0x83,0x91,0x91, //黑夜中不寂寞 0x61,0x71,0x82,0x71,0x62,0x0A2,0x71,0x76, //穿越千年忧愁 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36, //是你在尽头等我 0x61,0x71,0x82,0x71,0x62,0xA3,0x73,0x62,0x53, //最漂亮感动 会值得 0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff//结束标志 //用一生守候 }; //===========计时程序=========// void tm() interrupt 3 //T1分秒计时 { j++; if(j==20) {j=0; } } //=========唱歌显示歌名============// void song() { uint temp; //temp歌调 uchar jp; //jp是简谱 while(1) { if(h==0) { do{TR0=0; //停止T0工作 fm=1;} while(h==0);} if(count1==0) break; if(count1==1){ inti(); while(1) break;temp=mamahao[i]; } if(count1==2){ inti(); while(1) break;temp=ganen[i]; } if(count1==3){ inti(); while(1) break; temp=qnzl[i]; } if(temp==0xff) break; jp=temp/16; // 取高4位 if(jp!=0) { timeh=cuzhi[jp*2];// 初值 timel=cuzhi[jp*2+1]; } else { TR0=0; //停止T0工作 fm=1;//关蜂鸣器 } delay(temp%16); // 取低4位 TR0=0; //唱完一个音停10mS fm=1; delay1(10); TR0=1; i++; } TR0=0; fm=1; } void timer0() interrupt 1 //用于产生多种音调 T0 { TH0=timeh; TL0=timel; fm=~fm; } void delay(uint z) //延时165ms,即十六分音符 { uint x,y; for(x=z;x>0;x--) for(y=19000;y>0;y--); } void delay1(uint z) //显示延时1ms { uint x,y; for(x=z;x>0;x--) for(y=112;y>0;y--); } /*======== 主函数 ======== */ main() { P1=0x0f; EA=1;// 开总中止 EX0=1; TMOD=0x11;//T0工作在方法1 TH0=0; TL0=0; ET0=1; //开定时器T0 ET1=1; TH1=15536/256; TL1=15526%256; while(1) { if(count2==1) { inti(); } song(); delay1(10); } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 优秀 课程设计 数字 音乐盒 设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文