基于单片机的电子琴和音乐播放器设计
基于单片机的带音乐播放的电子琴设计

课题名称、主要内容和基本要求:进度安排:指导教师签名:评阅教师签名:毕业设计(论文)成绩:答辩委员会主任签名:摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有10个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
众所周知,由于一首音乐是由许多不同的音阶组合而成的,而每个音阶则对应着不同的频率,因此我们可以利用不同的频率来进行音阶的组合,即可产生美妙的音乐了。
对于单片机来说,产生不同的频率非常方便,只要算出某一音频的周期,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后,就将输出脉冲的I/O反相,然后重复计时,此半周期再对I/O反相,即可在I/O脚上得到此频率的脉冲。
因此我们可以利用单片机的定时器,使其工作在计数器模式MODE1下,改变计数值TH0及TL0来产生不同频率的信号。
从而产生不同的音符[1]。
关键词:音阶,频率,单片机AbstractElectronic organ is a modern electronic music technology and the product is a ne w type of keyboard instruments. It played an important role in modern music. SCM ha s powerful control functions and flexible programming characteristics. It has converge d with modern people's lives, become an irreplaceable part. The main content is AT89 S51 control of the core components, design of a electronic organ. SCM as a host to th e core, with the keyboard, speaker and other core modules. In the main control modul e has 16 keys and a speaker. The system is steady, its simple hardware circuits, softwa re functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Well-known, the music is made up by many different scales, and each scale corresponds to different frequency, so we can use different frequency to make combination of scales, and then produce wonderful music.As for single-chip microcomputer, it is very convenient to produce different frequency, we just calculate an audio cycle, then this cycle divided by 2, namely half cycle time, using timer to time the half cycle time.Whenever timing, it will output pulse I/O reverse phase, and repeat the timing, the half cycle again to the I/O reversed-phase, then can get this frequency pulse from the I/O feet. So we can use microcontroller timer to make it work in the counter mode and generate different frequency signal. Thus produce different notes. Keywords: scales,frequency, single-chip microcomputer目录第一章绪论 (1)1.1电子琴的特点及研究意义 (1)1.2系统介绍 (1)第二章方案论证 (2)2.1单片机选择 (2)2.2键盘选择 (2)2.3功放电路选择 (3)第三章系统设计 (4)3.1单片机的介绍 (4)3.1.1单片机AT89S52基本知识 (4)3.1.2单片机AT89S52产品特点 (4)3.1.3单片机AT89S52的使用 (5)3.1.4单片机AT89S52的特性 (6)3.1.5AT89S52引脚功能与封装 (7)3.2LED数码管 (9)3.2.1LED数码管主要技术参数 (9)3.2.2LED数码管的引脚说明 (10)3.2.3数码管编码说明 (11)3.3LM386 (12)3.3.1LM386简介 (12)3.3.2LM386特性 (12)3.3.3LM386应用特点 (12)3.3.4LM386引脚图 (12)3.3.5LM386注意事项 (12)第四章硬件设计 (13)4.1总体电路设计 (13)4.2单片机最小系统电路 (14)4.3LM386功放电路 (14)4.4数码管显示电路 (15)4.5按键电路 (16)4.6按键指示灯电路 (17)4.7音乐产生方法 (17)第五章软件设计 (19)5.1程序流程图 (19)5.2S1-S8按键识别程序 (20)5.3S9键识别电路程序 (21)5.4音乐产生程序 (22)第六章调试过程 (26)6.1数码管显示乱码 (26)6.3按键处理问题 (26)结论 (26)参考文献 (27)谢辞 (28)附录 (29)附录一程序源代码 (29)附录二电路图 (41)第一章绪论1.1电子琴特点及研究意义本论文设计的为电子琴,电子琴又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。
基于51单片机的简易音乐播放器

基于单片机的电子琴课程设计一:课程目的以及要求用51单片机作为主控电路设计一个电子琴,实现能通过切换不同的键盘按键来切换歌曲。
二:课程设计背景:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要容是用STC89C52单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块。
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。
利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。
并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。
三:系统硬件设计3.1系统框图3.2 51单片机产生音符原理MCS-5l单片机有两个定时器/计数器。
系统使用定时器/计数器0产生方波。
定时器/计数器l刖用于记录音符的时长,即按键持续的时问。
定时器/计数器0的工作方式是l,即为16位定时器/计数器。
16位定时器/计数器被赋予一个初值,并开始记数。
当记数溢出,产生中断后,中断服务程序将与蜂鸣器连接的引脚电平置反,并且对定时器/计数器再赋初值,重新开始记效。
之后产生中断,引脚电平再被置反,如此周而复始,在引脚上就能产生一个频率与定时初值有关的方波信号。
而定时初值与音符频率有关,相应频率的确定,可参照12平均律,相邻两个半音A和B的频率之间的关系为:A=B√12[1]。
定时器/计数器l的作用为记录音符的时长,工作方式为l,即16位定时器/计数器。
在12MHZ的晶体振荡器F,单片机的机器周期为l“S。
本系统中,定时器/计数器l以10ms的时长为l定时单位,记录音符持续了多少个定时单位,如此,使用一个unmgnedchar型变量既可以记录2.55s的时长,这在用于记录一般弹奏的音符时是足够的。
基于单片机的电子琴机器音乐播放器的设计--开题报告

本科毕业设计(论文)开题报告一、毕业设计(论文)内容及研究意义(价值)本次设计的主要内容是设计一种多功能电子琴,是集电子琴和音乐播放器于一体的新型电子琴。
它是以AT89S52 单片机为核心,并辅有一些外围器件,采用汇编语言编写程序,实现多功能音乐播放,歌曲自动循环播放和使用琴键自编曲目功能。
此外,彩灯显示歌曲节奏,按键跳转到喜爱曲目,液晶显示当前播英文曲目。
目前流行的MP3,MP4播放器的音质相当好。
但略感遗憾的是除了选择歌曲和显示歌名外,绝大部分播放器没有诸如随意弹奏乐曲、乐曲节奏跳动显示等功能。
正是基于音乐播放器的多功能出发,提出这种电子琴和音乐播放器的设计方案。
之所以以单片机电子琴和音乐播放器为选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。
单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。
单片机电子琴只和音乐播放器是单片机应用的一个点,由点及面,希望可以更好的了解和应用单片机技术。
通过单片机电子琴和音乐播放器这个选题,更深层次的了解了单片机技术,以前只是有理论,实践的机会不是很多,在作单片机电子琴这个选题的过程中,更加熟练的掌握了一些单片机芯片的应用,也解决了很多以前理论和实践脱节的问题,可谓对单片机的认识有了一个小的飞跃。
二、毕业设计(论文)研究现状和发展趋势(文献综述)单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。
目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。
基于单片机的音乐电子琴设计

题目基于单片机的音乐电子琴设计摘要电子琴的出现可以追溯到几百年前,在这个几百年的过程中,它已经从庙堂之高飞入寻常百姓家,成为再普通不过的商品了。
作为最受大众喜爱的微型电子琴,功能齐全人性化,价格也是非常令人满意,喜爱最深的当属初学者。
嵌入式电子技术的大步迈进也间接带动了微型电子琴技术的向前发展,单片机、PLC还有FGPA各有各自的长处。
一般说来,好的产品优势之处总是不谋而合,音色效果极佳;技术成熟,系统不会紊乱;价格低;接口齐全等都是优势之处。
本次设计以STC89C52单片机为核心,除了单片机以外,系统还有三个模块:分别为键盘扫描模块,扬声器模块,和液晶显示模块。
本设计综合运用了硬件和软件,在这些基础上设计了一款简易的音乐电子琴,可以通过该设计实现对音乐的演奏。
关键词:音乐电子琴;单片机;演奏ABSTRACTFrom the invention of the electric piano several hundred years ago to now, it has entered millions of households and become a popular commodity. Especially the miniature electronic keyboard, although it is cheap, but it is powerful, it is deeply loved by customers, especially those who just started to learn piano. With the development of embedded electronic technology, the development of the miniature electronic keyboard has become more and more mature, and the use of single-chip microcomputers, PLCs, and FGPA have their merits. But overall, the outstanding products are similar, the first to produce high-quality sound effects, the second is mature technology, the system is stable, the third is low cost, and the fourth is good scalability.This design takes the STC89C52 MCU as the core. Besides the MCU, the system has three modules: the keyboard scanning module, the speaker module, and the liquid crystal display module. The design uses a combination of hardware and software. Based on these designs, a simple music keyboard is designed to enable music to be played through the design.Key words: Music Electronic organ; Single-chip computer; Play目录第一章绪论 (1)1.1研究现状 (1)1.2课题研究的目的和意义 (2)1.3国内外概况 (2)第二章硬件部分 (4)2.1 STC89C52单片机概述 (4)2.1.1晶振电路 (9)2.1.2复位电路 (7)2.2按键部分电路概述 (7)2.3 音阶设计原理 (9)2.4 Nokia5110显示简介 (12)2.5 miniplay音乐模块概述 (12)2.5.1主要功能及参数 (13)2.5.2实际应用 (13)第三章软件部分 (17)第四章硬件调试部分 (20)4.1常见的硬件故障 (20)4.2硬件调试方法 (20)结束语 (24)致谢 (25)附录A (27)附录B (28)第一章绪论1.1研究现状如今电子信息技术越来越发达,嵌入式技术也随之越来越好,并且在很多领域内都得到了运用。
基于单片机的音乐盒和电子琴设计

实验名称:基于51单片机的音乐盒和电子琴的设计实验目的:通过设计一个以51单片机为核心的音乐盒和电子琴实现对前面几次实验的综合,并且可以更加深入的掌握单总线器件和I2C总线器件的应用,掌握ZLG7290器件中LED和键控的原理,掌握蜂鸣器的使用,掌握16X16 LED点阵的使用,熟悉串行总线的操作技巧。
实验原理:1、I2C总线的原理I2C典型的传输格式:根据上图我们可以看到:每一次传输由START开始,数据位是从高位(MSB)传起,每个Byte接收方有ACK (在第9个Clock拉低SDA),结束传输有STOP标记。
将开始信号与结束信号放大展开:START:SCL维持高,SDA从高到低STOP:SCL维持高,SDA从低到高24WC02的写操作单字节:页操作:24WC02的读操作指定地址读时序:首先要对所选从器件地址和字节地址进行伪写操作(从器件地址R/-W=0);然后,重新发START和从器件地址;得到ACK后,可以读取数据。
连续读时序:可由指定地址读和立即读方式启动连续读模式;在从器件发送完一个8 位字节数据后,主器件产生一个ACK来告知从器件提供更多的数据。
对应每个主器件的ACK,从器件将发送一个8位数据字节;当主器件不发送应答信号而发送停止位时结束此操作。
2、ZLG7290LED显示和键盘的检测ZLG7290是一种I2C接口键盘及LED驱动管理器件,提供数据译码和循环、移位、段寻址等控制。
它可采样64个键盘或传感器,单片即可完成LED显示、键盘接口的全部功能。
ZLG7290的从地址为70H,器件内部通过I2C总线访问的寄存器地址范围为00H~17H,任一寄存器都可按字节直接读写,并支持自动增址功能和地址翻转功能。
LED显示部分:在每个显示刷新周期,ZLG7290按照扫描位数寄存器制定的显示数N,把显示缓存DpRam0~DpramN的内容按先后循环送入LED驱动器实现动态显示,减少N值可提高每位显示扫描时间的占空比,提高LED亮度,显示缓存中的内容不收影响。
基于单片机的电子琴设计

基于单片机的电子琴设计一、引言二、总体设计方案(一)设计目标设计一款基于单片机的电子琴,能够实现基本的音符演奏、音色切换、节奏控制等功能,并且具有良好的音质和稳定性。
(二)系统组成本电子琴系统主要由单片机控制模块、键盘输入模块、音频输出模块、显示模块和电源模块等部分组成。
1、单片机控制模块选用 STM32 系列单片机作为控制核心,负责处理键盘输入信号、生成音频信号、控制显示等功能。
2、键盘输入模块采用矩阵键盘,通过扫描键盘获取用户的按键操作,将其转换为对应的音符编码发送给单片机。
3、音频输出模块使用DAC 芯片将单片机生成的数字音频信号转换为模拟音频信号,再通过放大器和扬声器输出声音。
4、显示模块采用液晶显示屏,用于显示当前的演奏状态、音色选择、节奏模式等信息。
5、电源模块为整个系统提供稳定的电源供应,可采用电池供电或外接电源适配器。
三、硬件设计(一)单片机最小系统STM32 单片机的最小系统包括时钟电路、复位电路和电源电路。
时钟电路为单片机提供工作时钟,复位电路用于系统初始化,电源电路为单片机提供稳定的电源。
(二)键盘电路矩阵键盘由行线和列线组成,通过逐行扫描的方式检测按键状态。
将键盘的行线和列线分别连接到单片机的 GPIO 引脚,通过编程实现键盘扫描和按键识别。
(三)音频输出电路选用高性能的 DAC 芯片,如 PCM1794,将单片机输出的数字音频信号转换为模拟音频信号。
为了提高音频输出的质量,还需要添加放大器和滤波电路,以增强信号的功率和去除噪声。
(四)显示电路液晶显示屏通过 SPI 接口或 I2C 接口与单片机连接,单片机通过发送指令和数据来控制显示屏的显示内容。
(五)电源电路根据系统的工作电压和电流需求,选择合适的电源芯片,如LM7805 等,将输入电源转换为所需的电压,并通过滤波电容等元件提高电源的稳定性。
四、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机初始化、键盘初始化、音频输出初始化、显示初始化等。
单片机实现电子琴并可播放歌曲

0x99,0x92,0x82,0xF8,
0x80,0x90,0x88,0x83,
0xC6,0xA1,0x86,0x8e};
//中音1-7和高音1-7对应频率列表
uint16 code NoteFrequ[] = {
523,587,659,698,784,880,988, //中音1-7
for(i=0;i<4;i++)
{
P2=buff[i];
temp=P2;
temp&=0xf0;//取P2的高四位;
while(temp!=0xf0)
{
delay5ms(5);//延时5ms去除抖动;
temp=P2;
temp&=0xf0;
while(temp!=0xf0)
{
switch(temp)
{
case 0xe0:num=i*4+0;break;//获取键值;
}
if(num==8)
{
T0LoadH = 0xff;
T0LoadL = 0x00;
TR0 = 1;
flag = 0;
ADDR0 = 0;
ADDR1 = 1;
ADDR2 = 1;
P0 = 0x00;
for(i=0;i<10000;i++);//闪烁灯全亮
PlayTwoTiger();
}
}
void PlayTwoTiger()
//计算发生时间,为总时间的0.75
/***********去除抖动********************/
while(temp!=0xf0)
{
temp=P2;
基于单片机的电子琴及音乐播放器设计

基于单片机的电子琴及音乐播放器设计————————————————————————————————作者:————————————————————————————————日期:基于单片机的电子琴及音乐播放器设计摘要随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分.此次设计依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个基于AT89C52系列单片机的电子琴及音乐播放器,以单片机作为主控核心,主要由按键电路、复位电路、模式转换电路等组成。
利用单片机及KeilC51编程软件编程和PROTEUS单片机仿真软件和电子电工等方面知识,用KeilC51编程软件编程,用PROTEUS单片机仿真软件仿真.最后制作实物,将程序下载到单片机中,利用I/O口产生一定频率的方波,驱动喇叭,发出不同的音调,从而演奏乐曲。
本论文给出了系统方案的建立、硬件电路的详细设计及软件的程序实现。
并通过软硬件的联立调试,验证了设计方案的可行性。
通过基于单片机的音乐播放器的设计课题熟悉和理解单片机应用和开发过程,培养我们理论联系实际,实践出真知的科学严谨求学的态度,提高实践动手操作技能。
关键词:AT89C52单片机、电子琴、音乐播放器、仿真软件目录摘要 (3)1 引言 (5)2 单片机基础知识简介 (5)2。
1 单片机介绍 (5)2。
1.1单片机概念 (5)2。
1。
2 单片机的应用 (6)2。
1。
3 单片机的发展趋势 (6)3 课程设计介绍 (8)3。
1 课程设计的目的 (8)3.2 课程设计的要求 (8)3.3 系统方案的拟定与选择 (8)3.3。
1 初步方案的确定 (8)3。
3。
2方案的简单说明 (8)3。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入模块: 4*4 键盘
PIC32MX7 95F512L
芯片
输出模块: 喇叭
输出模块: 走马灯
5.1.2 硬件概述
本电路是由 PIC32MX795F512L 单片机为控制核心,具有键盘输入、液晶显示屏输出和 三极管驱动的喇叭构成的简易电子琴电路。
1.单片机
PIC32MX795F512L 型号单片机具有 USB、CAN 和以太网的高性能 32 位闪存,其所 拥有的主要资源有:
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以 2,即为半 周期的时间。利用定时器计时半周期时间,每当计时终止后就将相应的端口反相,然后重复 计时再反相。就可在各对应的引脚上得到此频率的脉冲。
我们小组利用 PIC32MX795F512L 的 80M 主频,运用 delay 函数,改变 delay 的时间以产 生不同频率的方法产生不同音阶。由于主频较高,没有一个音符的频率可以参考,于是我们 小组是利用自己的乐理知识将每个音校正。
4
RG1 RD3
RE0 RG14
RE1 RD4 RE3 RE2
3.输出模块(显示屏)
采用型号为 RT1602C 的液晶显示屏,液晶显示屏的显示功能强大,可显示大量文字、图 形,显示多样,清晰可见, 与传统的阴极射线管相比,液晶显示屏具有占用空间小、低功耗、 低辐射、无闪烁、降低视觉疲劳等优点。字符型液晶屏是一种用 5*7 点阵图形来显示字符的 液晶显示器,根据显示的容量可以分为 1 行 16 个字、2 行 16 个字、2 行 20 个字等,最常用 的为 2 行 16 个字。
型号为 RT1602C 的液晶显示屏就是 2 行 16 个字。它有 16 个管脚,分别有电源地、电 源正、偏压信号、读写控制、使能控制、I/O 接口、背光控制等功能。它的读写操作、屏幕 和光标的操作都是通过指令编程来实现的。
VO 为显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高。为了简化电 路以及获得最好的显示效果,将 VO 端口直接接地。
4.2 音乐节拍的产生
每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节拍,表 1-2 为节拍与节拍码的对照表。如果 1 拍为 0.4s,1/4 拍是 0.1s,只要设定延时时间就可求得 节拍的时间。假设 1/4 拍为 1DELAY,那么 1 拍应为 4DELAY,以此类推。所以只要求得 1/4 拍 的 DELAY,其余的节拍就是它的倍数,表 1-3 为 1/4 和 1/8 拍的时间设定。
PORTSetBits(IOPORT_E, BIT_1 | BIT_2 | BIT_3);
PORTSetBits(IOPORT_D, BIT_4 );delay(1);
//第一列
R0=0;R1=1;R2=1;R3=1; //第一行
if(C0==0)
//第一列
7
{ delay(10); if(C0==0) return 1;
关键词: PIC32MX795F512L 单片机,模块
一. 实验目的
1.通过学习使用单片机 PIC32,使学生增进对单片机的感性认识,加深对单片机理论方面的理 解。 2. 使学生掌握单片机的内部功能模块的功能和应用,如定时器/计数器、中断、I/O 口等。 3 使学生理解和掌握单片机应用系统的软件硬件设计过程、方法及实现,为以后设计和实现
PORTClearBits(IOPORT_E, BIT_0); delay(1);
//将C列全部设置为输入为高电平1
PORTSetPinsDigitalIn(IOPORT_E, BIT_1 | BIT_2 | BIT_3);
PORTSetPinsDigitalIn(IOPORT_D, BIT_4 );
能; (2).播放乐曲:又初始化菜单选择进入,进入后屏幕提示”SONGPLAYING”,同时事先在程序
中存入了 8 首不同的乐曲,可以一次通过键盘的按键来选择播放各首乐曲。在播放曲目中设 置了暂停键,按下即暂停,不按下则继续播放循环播放。
(3).自行弹奏:设计键盘上的 13 个键能够发出低音部 5,6,7,中音部 1,2,3,4,5,6, 7,高音部 1,2,3 总共 14 个音,要求按下按键发声,松开延时一段时间停止,中间再换按 其他键则发另一音调的声音。
每个音与 delay 时间对应如下表所示:
音符
Delay
中音 Do
8876
中音 Re
7476
中音 Mi
6456
中音 Fa
5886
中音 So
5036
中音 La
4036
中音 Xi
3236
高音 Do
3006
音符 高音 Re 高音 Mi 高音 Fa 高音 So 高音 La 高音 Xi 高音 Do
Delay 2446 1936 1666 1186 766 376 186
80MHz 的主频,1.56DMIPS/MHz,总线 32 位; USB 2.0 接口; 2 个带 1024 缓存的 CAN 2.0 接口; 8 通道 DMA 通道; 5 级流水线,哈佛架构; 1 个以太网接口; 512K 的 Flash,外加 12k 的启动 Flash; 128K 的 RAM; 可编程中断向量控制器; 16 个 10 位 AD 转换器; UART/SPI/IIC 等串行通信方式; 带 JTAG 调试口,具有休眠功能,节省能耗。
5.2 软件设计 5.2.1 程序流程图
开始
判断 LCD 按键 SW1
弹奏功能
SW3 播放功能
键盘扫描
键盘扫描
根据按键值在相应 数组中寻找对应键 值的音符频率
根据按键值含有七首 曲子的二维数组中寻 找对应键值的曲目
喇叭播放对 应音符
相应曲目节拍与音调通 过同一参数一一对应
喇叭播放相应
曲子
6
结束
5.2.2 各模块具体软件实现
1.键盘模块
运用行扫描的方式来判断是否有键按下及按下的是哪一键。首先令行都为输出并置为
零,列为输入且都为高电位,则只要有一列为低就是有键按下。再依次令每一行为低电平其
他行为高电平,检查每一列是否为低电平,行和列均为低电平所对应的交汇处即为按键按下
的地方。
#include "KEYBOARD.h"
//时延函数
PORTSetPinsDigitalOut(IOPORT_D, BIT_3 );
PORTSetPinsDigitalOut(IOPORT_E, BIT_0 );
PORTClearBits(IOPORT_G, BIT_14 | BIT_1 );
PORTClearBits(IOPORT_D, BIT_3);
R/W 为读写信号线,高电平时进行读操作,低电平时进行写操作。 GND 接电源,VDD 接正电源。 RS 为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。源代码中 write_cmd 函数为向 LCD 写入指令的函数,因此会有 RS=0;write_date 函数为向 LCD 写入 数据的函数,因此会有 RS=1。 E 端为使能端,当 E 端由高电平跳变成低电平,也就是下降沿时,LCD 模块进行命令执 行。 BL1 和 BL2 为设置 LCD 背光,分别接了电源与地。 DO~D7 八个为数据 I/O 口,按照表格内的接法相连。
脚号 1 2 3
符号 GND VDD V0
引脚功能以及接法 电源地 电源正 显示偏压信号
脚号 9 10 11
符号 D2 D3 D4
引脚功能以及接法 RF13 RB12 RB13
5
4
RS
数据/命令控制 RA7 12
D5
RB14
5
R/W
读/写控制 RA6
13
D6
RB8
6
E
使能信号 RF4
14
D7
RB9
7
D0
数据 I/O RF5
15
BL1 背光源正
8
D1
RF12
16
BL2 背光源负
4.输出模块(喇叭) 将一固定端口通过三极管 PNP 放大再连接喇叭构成我们的输出音频模块。喇叭一端接电
源一端接发射极,当有方波送入时,喇叭便发出相应频率的响声。
5.输出模块(走马灯) 将四个发光二极管与四个端口相连,另外一端通过小电阻接地,通过控制四个端口依次为高 电平使得四个灯依次点亮,实现走马灯的效果。
而键盘应具有以下几个基本功能: (1)去抖动:每个按键在按下或松开时,都会产生短时间的抖动。抖动的持续时间与键 的质量相关,一般为 5—20mm。所谓抖动是指在识别被按键是必须避开抖动状态,只有处 在稳定接通或稳定断开状态才能保证识别正确无误。去抖问题可通过软件延时或硬件电路解 决。 (2)被按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方 法完成。常用的方法有行扫描法和线反转法两种。行扫描法的基本思想是,由程序对键盘逐 行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方 法在微机系统中被广泛使用。本实验采用扫描法。 (3)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建 立一个键盘编码表,通过查表获得被按键的键码。
2
四.实验原理
4.1 音频脉冲的产生
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利 用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非 常方便,我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把 一首歌曲的音阶对应频率关系弄正确即可。
本小组的节拍是由 while 函数实现的,在每个节拍 delay 的时间中播放对应的音符,1/8 为 1,1/4 为 2,以此类推。而 while 循环的时间为节拍*310,这是我们经过反复试验确定的 最佳的节拍延时。