




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 远程点歌系统设计方案 计方案一 使用 是目前最流行的程序设计语言之一,具有简洁、灵活、实用、高效、可移植性好;它同时具备了高级语言和低级语言的特征,除此之外, 序执行效率高。 计方案二 使用汇编语言,它能从分发挥指令系统功能和效率,可获得最简练的目标程序,特别是在一些实时控制系统中,采用汇编语言可以准确地计算出控制操作时间。 案选择 使用汇编语言,会使编程过程变得繁琐,复杂度上升,程序结构不易控制,加之音乐播放对实时要求不高;而 C 语言能极大地简 化编程过程,大大的提高的效率与质量,故选择方案一。 2 一种带 4K 字节闪存可编程可擦除只读存储器( 低电压,高性能 位微处理器,俗称单片机。 K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除 100 次。该器件采用 密度非易失存储器制造技术制造,与工业标准的 令集和输出管脚相兼容。由于将多功能 8位 一种高效微控制器,它的一种精简版本。 片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图 片机 8255 蜂鸣器 串口 震荡电路 图 图 3 示电路是由 6 位 码管组成,连接方式为共阳极,数码管的位数由8255的 制,若为低电平则有效;数码管显示的内容 的由 8255的 钟振荡电路 有一个用于构成内部振荡器的高增益反相放大器,引脚 个放大器与作为反馈元件的片外石英晶体或者陶瓷谐振器一起构成自然振荡器。外接石英晶体及电容 外接电容然没有什么严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性。如果使用石英晶体,我们推荐电容使用 3010如果使用陶瓷振荡器建议选择 4010户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下,外部时钟脉冲接到 内部时钟发生器的输入端, 悬空。由于外部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。振荡器电路图如右。 图 片机外部振荡电路 图 示电路设计与原理 4 由于单片机工作电压与客户机串口电压存在电压 差,不能直接相连。这里使用片转换电压,再接上标准串口 而达到与客户机通信的目的。出口硬件连接电路图如下。 音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。 调的确定 ( 1)要产生音频脉冲,只要算出某一音频的周期( 1/频率),然后将此周期除以2,即为半周期的时间。利用定时器计时这半个 周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚上得到此频率的脉冲。 ( 2)利用 内部定时器使其工作在计数器模式 变计数值 此外结束符和休止符可以分别用代码 00H 和 表示,若查表结果为 00H,则表示曲子终了;若查表结果为 产生相应的停顿效果。 图 口电路图电路 5 ( 3)例如频率为 523周期 T=1/523=1912此只要令计数器计时95656,在每次技术 956次时 将 I/可得到中音 523 计数脉冲值与频率的关系公式如下: N=2 N:计算值; 部计时一次为 1其频率为 1 其计数值的求法如下: T=6553655362 如:设 K=65536, F=1000000=低音 261 中音 523高音的 1046计算值 T=6553655362 55362 5536r 低音 =6553662=63627 低音 =6553623=64580 低音 =65536047=65059 的对照表如表 表 的对照表 低音 频率 T 参数 中音 频率 T 参数 高音 频率 T 参数 62 1908 229 23 956 115 046 57 57 277 1805 217 554 903 108 1109 54 54 94 1701 204 87 852 102 175 51 51 311 1608 193 622 804 97 1245 48 48 30 1515 182 59 759 91 318 45 45 49 1433 172 98 716 86 397 43 43 370 1351 162 740 676 81 1480 41 41 92 1276 153 84 638 77 568 38 38 415 1205 145 831 602 72 1661 36 36 40 1136 136 80 568 68 760 34 34 464 1078 129 932 536 64 1865 32 32 94 1012 121 88 506 61 976 30 30 6 拍的确定 一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说,产 生不同频率的脉冲是非常方便的,利用单片机的定时 /计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。 表 节拍码 节拍数 节拍码 节拍数 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位代表音符的节拍,果 1拍为 1/4拍实 要设定延迟时间就可求得节拍的时间。假设 1/4拍为 1 1拍应为 4此类推。所以只要求得 1/4拍的 余的节拍就是它的倍数,如图 。 表 ,储存在一个数据类型为 数组中。程序从数组中取出一个数,然后分离出高 4位得到音调,接着找出相应的值赋给定时器 0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低 4位,得到延时时间,接着调用软件延时。 表 谱对应的简谱码、 拍数 简谱 发音 简谱码 节拍码 节拍数 5 低音 64260 1 1/4拍 6 低音 64400 2 2/4拍 7 低音 64524 3 3/4拍 1 中音 64580 4 1拍 2 中音 64684 5 1又 1/4拍 3 中音 64777 6 1又 1/2拍 4 中音 64820 8 2拍 5 中音 64898 A 2又 1/2拍 6 中音 64968 C 3拍 7 中音 65030 F 3又 3/4拍 1 高音 65058 2 高音 65110 3 高音 65157 4 高音 65178 5 高音 65217 8 件程序设计 程序流程图 主程序代码 : , 1都工作 16位计数方式 初始化 用 向客户机发送提示 播放完歌曲 播放歌曲 客户机点歌 调用 用 始 等待 0 中断响应 是 否 图 程序流程图 9 ; /允许定时器 0溢出中断 ; 1; /允许总中断(如不使用中断,可用 /屏蔽) 1; /允许 0, 0; /定时器初值低 8位设置 0; /定时器启动 ; ; ) if(0) /=0=0=0=0=0=0 5=0=0=0=0=0 ; if(0); 10 放音乐子程序流程图 播放音乐子程序代码: if(0) );if(0) 0 ; ; =0 修改指针 取下一个编码 结束 0 开始 取编码高 4位 取低 4位 调用延时程序 关闭定时器 0 给定时器 0赋初值 是否播放完 是否 为: 0 否 是 否 是 图 放音乐子程序流程图 11 ; );if(0) =*4; 4; /取得音符编码 ; if(0); ; 8; ; 序源代码(见附录一) 单片机的设计至今为止已经进入了令人鼓舞的阶段,在进行了一个学期的摸索与实验,使我不仅仅是对于单片机入门软件与硬件的常用设计与功能,还使我对于一项设计研究的制作过程所需要的详细步骤和具体的实现方法的力度的掌握。 当然在这次宝贵的课程设计活动中,经验才是对于我们最大的收获,而且还增强 12 了自身对未知问题以及对知识的深化认识的能力,用受益匪浅这个词语来概括这次难忘的活动我觉得再合适不过了。但是,光是完 成了作品还是不可以自我满足的,在从一开始的时候就怀着将作品制作得更加人性化,更加令人满意,更加地使功能完美又方便地被应用领域这个最终目的下,随着对单片机这门学科的认识加深,到达了拓展的程度,我想这个目的将在不远的时期内被实现。 总之,这次设计从软件编写、调试到软硬件联机调试,我倾注了大量的时间和心血。真是曾经为程序的编写而冥思查找过,曾经为无法找出错误而郁闷苦恼过,也曾经为某一功能不能实现而犹豫彷徨过,但最终我成功了。 我不仅品味到了结果的喜悦,更明白了过程的弥足珍贵。 感谢我的 指导老师 方智文 ,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。感谢我的室友们 , 是你们和我共同维系着彼此之间兄弟般的感情,维系着寝室那份家的融洽。从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚的谢意 。 参考文献 1 张鑫 . 单片机原理及应用,电子工业出版社, 2 康华光 . 模拟电子技术基础(第四版) M, 武汉:华中理工 大学出版社 , 1999. 3 谭浩强 . 二版) M, 北京 :清华大学出版社, 1991. 4 楼然苗 . 单片机课程设计指导(第一版) M,北京:航空航天大学出版社, 13 附录一 程序源代码: # /地址 # /地址 # /控 制字地址 #; / /简谱码对应 *; /播放音乐标识符 ; =播放完毕,请点歌 .nr; =请点歌 .nr; 33; /*数码显示表 */ =/数码管显示代码表 0,1,2,3 0,5,6,7 0,9,A,B 0,D,E,F 0 /-,P,L,U,y,灭 14 /*音调(频率) */ = /简谱对应的简谱码、 65535, 64260,64400,64524,64580,64684, 64777,64820,64898,64968,65030, 65058,65110,65157,65178,65217 ; /*音乐程序 */ =/音符节拍码 00000; = /千年之恋 0,0,0,0,0; = /寂寞沙洲冷 00000; = 00000000; = 0000000000 16 0 = 000000000000 = 000000000000 = 00 17 000 = 0000 = 0000000 0 /*/ = ; /*显示子程序 */ i,j=50,k=0i=0;i1; k=k|0 /*延时 1*/ z) /延时 1 x,y; x=z;x0;y=65;y0; /*/ /定义串口发送数据变量 ; /禁止穿行中断 (= 0); /检查发送中断标志位 ; 0; /令发送中断标志位为 0(软件清零) ; /打开穿行中断 /*/ ) 0) ); ; /*/ 19 0 ; ; =0 ; );if(0) =*4; 4; /取得音符编码 ; if(0); ; 8; ; /*主程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论