文档详情

《单片机原理及应用》课程设计_八音盒设计.doc

发布:2018-05-10约2.83万字共27页下载文档
文本预览下载声明
《单片机原理及应用》课程设计 —八音盒设计 班级:机081-4 学号:200823501433 姓名:信召峰 完成日期:2011年7月5日 目录 一、课程设计任务书 3 二、设计项目简介 3 2.1、设计思路 3 2.2、音符产生方法 3 2.3、节拍产生方法 4 三、电路原理图 6 四、系统功能简介 6 五、程序框图 7 六、程序清单 9 七、总结 26 参考文献: 27 8051八音盒 一、课程设计任务书 8051八音盒 本设计利用8051单片机结合内部定时器LCD设计一个八音盒,按下单键可以演奏预先设置的歌曲旋律。本设计可以学习8051定时器程序设计,按键扫描及歌曲旋律简单直觉式输入法的设计方法。 其基本功能为:1、使用LCD显示器来显示目前演奏的歌曲编号;2、具有16个按键操作来选择演奏哪一首歌曲;3、内建10首歌曲旋律,按下单键可以演奏歌曲;4、演奏时可以按键中断。程序执行后工作指示LED闪动,表示程序开始执行,按下单键0~9便可以演奏歌曲,歌曲演奏中,可以按键中断。 二、设计项目简介 1、设计思路: 选用Philips公司P87C51RB+单片机,它具有16KB的内部ROM, 3 个定时器/计数器,2个中断。 通过中断实现歌曲的播放和暂停。 通过定时实现LED闪烁和音乐频率的变化 通过键盘实现歌曲的选择。 2、音符产生方法: 不同的音调有不同的频率。频率不同,音调也就不同。 利用定时器,使其工作在模式0,定时中断,然后控制P3.7引脚的输出每次取反,就可以在P3.7的引脚输出相应的方波频率。改变计数初值,就改变了频率。定时器的定时时间等于半个周期,定时时间到就输出脉冲取反,重复此过程,就可在P3.7引脚得到一音频的脉冲。 如:C调中音1的频率=523HZ,周期T=1/523=1912us; 定时器的定时时间为:T/2=1912/2us=956us; 则其计数初值为:TH0=(8192-C)/32;TL0=(8192-C)%32; 下面是音符及其程序中对应的编码 音符 音符编码 音符 音符编码 音符 音符编码 低音1 l_dao 中音1 dao 高音1 h_dao 低音2 l_re 中音 re 高音2 h_re 低音3 l_mi 中音 mi 高音3 h_mi 低音4 l_fa 中音 fa 高音4 h_fa 低音5 l_sao 中音 sao 高音5 h_sao 低音6 l_la 中音 la 高音6 h_la 低音7 l_xi 中音 xi 高音7 h_xi 3、节拍产生方法: 音乐中的节拍用延时时间产生。假设1/4拍执行一次延时程序,这1/2拍就执行两次延时程序,所以只要求出1/4延时时间,其余的节拍就是他的倍数。为方便记谱,将节拍数也进行编码,如下: 节拍 节拍编码(基本延时次数) 1/4 1 1/2 2 3/4 3 4/4 4 建立曲谱编码表,例如: 简谱编码:re,sao,mi,re,mi,sao,mi,re,dao,re,re,sao,re,mi,sao, mi,re,dao,l_la,dao,dao,mi,re,mi,l_sao,re,l_xi,l_la,l_sao,l_la, dao,re,l_xi,l_la,l_sao,l_mi,l_sao,0xff 节拍编码:4,4,2,2,4,2,2,2,2,8,4,4,4,2,2, 2,2,2,2,8,4,4,2,2,4,2,2,2,2,4, 6,2,2,2,2,2,16 三、电路原理图: 四、系统功能简介: 1、此8051八音盒具有矩阵式键盘共十个按键,0~9按键用于选择歌曲,通过P2口与单片机相连。 2、LCD通过用于显示,显示当前正在播放的歌曲编号。P0口输出编号,P1.4、P1.5、P1.6用于控制LCD。 3、有中断按键,在单片机播放旋律时可以按中断0键实现歌曲暂停,再按中断1实现歌曲暂停后的播放。 4、LED灯连接在P1.7口,用LED灯闪烁指示单片机处于工作状态。 5、歌曲音调经P3.7口的喇叭播放出来。 五、程序框图: 六、程序清单: #includereg52.h //包含51单片机寄存器定义的头文件 #include intrins.h //包含_nop_()函数定义的头文件 #includestdio.h unsigned int C; //储存定时器的定时常数
显示全部
相似文档