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

合集下载

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

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

课题名称、主要内容和基本要求:进度安排:指导教师签名:评阅教师签名:毕业设计(论文)成绩:答辩委员会主任签名:摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。

本文的主要内容是用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单片机的简易音乐播放器

基于单片机的电子琴课程设计一:课程目的以及要求用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 等,将输入电源转换为所需的电压,并通过滤波电容等元件提高电源的稳定性。

四、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机初始化、键盘初始化、音频输出初始化、显示初始化等。

单片机实现电子琴并可播放歌曲

单片机实现电子琴并可播放歌曲
0xC0,0xF9,0xA4,0xB0,
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。

课程设计报告---基于单片机的电子琴设计

课程设计报告---基于单片机的电子琴设计

课程设计报告---基于单片机的电子琴设计河南理工大学《单片机应用与仿真训练》设计报告基于单片机的电子琴设计姓名:郭鹏超王芳学号:310808010609 310808010602专业班级:电气08-6班指导老师:王莉所在学院:电气工程与自动化学院2012年5月19 日摘要当代,爱好音乐的人越来越多,有不少人自己练习弹奏乐器作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需要太多的学习时间,且其价格又太过于高昂,使得一部分有这种想法的人不得不放弃这种想法。

而一些简易的电子乐器价格相对便宜,学习上手快,一般人容易负担的起,能够满足一般爱好者的需求,故简易电子琴的研制具有一定的社会意义。

本次课程设计主要研究基于AT89S52单片机的简易电子琴设计。

整个系统主要包括以下几个部分组成:(1)单片机的最小系统:最小应用系统设计是单片机应用系统的设计基础。

它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。

(2)矩阵键盘:当按键数目较多时,为了节省I/O口线,通常采用矩阵式键盘接口电路。

本设计采用5*8矩阵键盘(共40个按键,其中36个按键用来显示高中低音的1、1#、2、2#、3、4、4#、5、5#、6、6#、7的36个音调,其它4个按键可以随意的播放已存歌曲)。

(3)产生外部中断的系统:它由两个四输入与非门74LS20和一个两输入或非门74LS02组成,把矩阵的五行与与非门74LS20和或非门74LS02相接后接在了单片机的P3.2口,下降沿触发产生中断INT0。

(4)发音电路:此电子琴发音电路是由或非门来驱动扬声器发音的,控制单片机的P2.7口产生不同频率使扬声器发出不同的音调。

本文主要对单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴的硬件组成。

并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。

利用单片机产生不同频率来获得我们要求的音阶,最终可以随意弹奏想要表达的音乐,还设计了一按键用来自动播放一首曲子。

基于单片机的电子琴设计

基于单片机的电子琴设计

基于单片机的电子琴设计电子琴是一种常见的乐器,通过电子元件和技术实现各种声音效果和音调的变化。

基于单片机的电子琴设计,使用单片机作为核心控制芯片,可以实现各种音色的生成、乐曲演奏和音调调整等功能。

一、基本原理1.音源生成:通过单片机的计算和控制,生成各种音色的数字波形信号。

可以使用PWM波形发生器,通过控制占空比实现不同音调的发声。

2.按键输入:通过按键进行音符的选择和演奏,按键可以通过矩阵键盘或编码器等方式实现,通过单片机的GPIO口读取按键输入信号。

3.音量控制:通过调节音量电阻或数字控制器,调整输出音量大小。

4.音色调整:通过改变生成波形的参数和算法,实现不同音色效果的切换和调整。

二、硬件设计1.单片机:选择合适的单片机,如STC89C52或ATmega328P等,作为控制核心。

2.键盘:选择合适的键盘结构和按键数量,如矩阵键盘或编码器。

3.音源:可以选择合适的音源模块或芯片,如AD9833,用于生成各种音色的波形信号。

4.音量控制:将数字音频信号通过运放进行放大,通过音量电位器或数字控制器调节输出音量大小。

5.音箱:选择合适的音箱,用于放大和放出音频信号。

三、软件设计1.按键扫描:通过单片机的GPIO口读取按键输入信号,实现按键的扫描和检测。

2.音符和音调处理:将按键输入映射为相应的音符号,通过生成不同的波形并控制频率实现不同音调的发声。

3.音量控制:通过改变音源模块的输出幅度或控制运放的增益,实现音量的调节。

4.音色调整:通过改变生成音色的参数和算法,实现不同音色效果的切换和调整。

5.乐曲演奏:通过编写相应的乐曲和音符的编码和播放算法,实现各种乐曲的演奏功能。

6.界面显示:可以通过液晶显示屏或LED显示器,实现界面的显示和操作。

四、功能扩展1.录音和播放:在单片机上添加存储模块(如SD卡或FLASH芯片),实现录音和播放功能,可以录制和回放演奏的音乐。

2.MIDI接口:添加MIDI接口,通过MIDI合成音源模块,实现与其他乐器和设备的互联。

51单片机c语言编写电子琴+音乐播放器

51单片机c语言编写电子琴+音乐播放器

此程序是51单片机c语言编写的电子琴+音乐播放器,当用杜邦线将P1^0管脚接地时,单片机就会放出《世上只有妈妈好》,将P1^1 管脚接地时单片机就播放《祝你生日快乐》,两者为高电平时进入电子钢琴模式,利用16个矩阵键盘发出相应的哆、瑞、米、发、索。

此文档的乐谱是借鉴别人的,因为本人是音乐白痴!这是我第一次发表,我希望能帮到有需要的人啦........#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit beep=P2^3; //定义蜂鸣器sbit music=P1^0; //music为低电平播放《世上只有妈妈好》(工作模式为音乐播放器),music1为低电平时播放祝你生日快乐,music、music1都为高电平时(工作模式为电子钢琴)sbit music1=P1^1;uchar timer0h,timer0l,time,key,flag; //flag==0时为电子钢琴模式,flag==1时为音乐播放器uchar code yuepu[]={ 6,2,3,5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 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 }; //世上只有妈妈好乐谱uchar code yuepu1[]={5,1,1, 5,1,1, 6,1,2, 5,1,2, 1,2,2, 7,1,4,5,1,1, 5,1,1, 6,1,2, 5,1,2, 2,2,2, 1,2,4,5,1,1, 5,1,1, 5,2,2, 3,2,2, 1,2,2, 7,1,2, 6,1,2,4,2,1, 4,2,1, 3,2,2, 1,2,2, 2,2,2, 1,2,4};//祝你生日快乐乐谱uchar code TH_0[]={0xF2,0xF3,0xF5,0xF5,0xF6,0xF7,0xF8,0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE, // 28个音阶高八位频率表装进定时器高八位0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,} ;uchar code TL_0[]={0x42,0xC1,0x17,0xB6,0xD0,0xD1,0xB6,0x21,0xE1,0x8C,0xD8,0x68,0xE9,0x5B,0x8F, // 28个音阶低八位频率表装进定时器低八位0xEE,0x44, 0x6B,0xB4,0xF4,0x2D,0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};void delay(uchar t){uchar t1;unsigned long t2;for(t1=0;t1<t;t1++) //延时半拍函数,控制音乐节奏{for(t2=0;t2<8000;t2++){ ; }}}void song(){TH0=timer0h;TL0=timer0l; // 唱歌程序TR0=1;delay(time); //延时,让此音节播放的长短TR0=0; //关定时器,为下个音节响做准备}void delayms(uint x){uint i,j; //去抖延时for(i=x;i>0;i--)for(j=110;j>0;j--);}void keyscan() //检测十六个发出音乐按键函数{ uchar temp;P3=0xfe;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10); //检测第一行按键temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xee: key=0;break;case 0xde: key=1;break;case 0xbe: key=2;break;case 0x7e: key=3;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1;//使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xfd;temp=P3;temp=0xf0&temp;if(temp!=0x0f) // 检测第二行按键{ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xed: key=4;break;case 0xdd: key=5;break;case 0xbd: key=6;break;case 0x7d: key=7;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xfb;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xeb: key=8;break;case 0xdb: key=9;break;case 0xbb: key=10;break;case 0x7b: key=11;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}P3=0xf7;temp=P3;temp=0xf0&temp;if(temp!=0x0f){ delayms(10);temp=P3 ;temp=temp&0xf0;if(temp!=0xf0){temp=P3;switch(temp){case 0xe7: key=12;break;case 0xd7: key=13;break;case 0xb7: key=14;break;case 0x77: key=15;break;}TH0=TH_0[key]; //将按下的键对应发出此频率声音的初值装入TL0=TL_0[key];TR0=1; //打开定时器0while(temp!=0xf0) //一直按下就一直发声{temp=P3;temp=temp&0xf0;}TR0=0; //松手时关闭定时器0,不能发声beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开}}}void main(){uchar k,i;TMOD=1;EA=1;ET0=1;while(1){if(music&&music1) //当两个都为高电平时没有放音乐,扫描键盘{ flag=0;keyscan();}if(!music) //当P1^0管脚为低电平时,播放《世上只有妈妈好》{ flag=1;i=0;while(i<100) //音乐数组长度,唱完从头再来{if(music) //在播放音乐时P1^0为高电平时退出播放此歌曲{ beep=1; //使蜂鸣器置高关闭,预防在进入中断取反时将它置低打开break;}k=yuepu[i]+7*yuepu[i+1]-1;timer0h=TH_0[k]; // 把对应的音乐频率放进定时器0timer0l=TL_0[k];time=yuepu[i+2]; //音乐节拍i+=3;song();}}if(!music1) // music为低电平时,播放《祝你生日快乐》{ flag=1;i=0;while(i<75) //乐谱的长度{if(music1){beep=1;break;}k=yuepu1[i]+7*yuepu1[i+1]-1;timer0h=TH_0[k];timer0l=TL_0[k];time=yuepu1[i+2];i+=3;song();}}}}void time0() interrupt 1{if(flag==0){beep=!beep; //电子琴模式时进入此语句TH0=TH_0[key];TL0=TL_0[key];}else{ beep=!beep;TH0=timer0h; //音乐播放器模式进入此语句TL0=timer0l;}}。

基于单片机控制的音乐播放器设计

基于单片机控制的音乐播放器设计

目录一、前言二、设计课题及要求三、控制任务及要求四、单片机的硬件设计五、单片机的软件设计及要求六、软件流程图七、程序设计八、模拟调试的过程和出现的问题分析九、调试程序所用的实验设备十、毕业设计体会十一、参考文献前言单片机自20世纪70年代问世以来,作为微型计算机的一个很重要的分支,应用非常广泛,已对人类社会产生了巨大的影响。

尤其是MCS-51系列的单片机,由于其具有集成度高、功能强、可靠性好、系统结构简单、价格低廉、易于扩展和使用等优点,在我国已得到广泛的应用并收到很好的成果。

虽然世界各大公司也有各种型号的高性能单片机问世,但MCS-51系列单片机仍然是我国在单片机应用领域的首选机型。

在这我以AT89C52单片机为基础设计音乐播放器。

一、设计课题及要求本次设计的是单片机控制的音乐播放器,要使单片机播放出一首音乐。

二、控制任务及要求在调控单片机时控制面板上的扩音器能放出音乐,能通过仿真软件实现程序的完整运行。

三、硬件设计(1)、确定机型可选用AT89C52单片机,晶振频率选择6HZ。

(2)、选择元器件根据系统要求,应具有蜂鸣器及驱动电路构成单片机音乐演奏器,拟选用蜂鸣器、LCD、三极管、电阻若干、电容若干。

(3)、硬件原理本系统通过AT89C52单片机的P1.1口控制几个9012PNP三极管、三极管、LCD、扩音器等控制电磁蜂鸣器的电源通断。

单片机控制的音乐播放器原理图:四、软件设计及要求(1)、声音三要素由于人耳听觉系统非常复杂,迄今为止人类对它的生理结构和听觉特性还不能从生理解剖角度完全解释清楚。

所以,对人耳听觉特性的研究目前仅限于在心理声学和语言声学。

人耳对不同强度、不同频率声音的听觉范围称为声域。

在人耳的声域范围内,声音听觉心理的主观感受主要有响度、音高、音色等特征和掩蔽效应、高频定位等特性。

其中响度、音高、音色可以在主观上用来描述具有振幅、频率和相位三个物理量的任何复杂的声音,故又称为声音“三要素”;而在多种音源场合,人耳掩蔽效应等特性更重要,它是心理声学的基础。

基于单片机电子琴的设计

基于单片机电子琴的设计

摘要当今社会,随着单片机的迅速发展以及电力电子器件的广泛应用。

能够熟练的掌握电力电子的应用以及功能成为屹立于沈阳理工大学自动化莘莘学子的一项必不可少的技能。

我所做的是基于单片机的电子琴的课题,单子琴在当今时代已经是很普遍的一种乐器了。

设计的初衷是秉乘低碳环保,节约资源的理念。

采用矩阵键盘,数码管等器件。

制作成本小,用处大。

满足了当今时代的基本要求。

设计完成后,我们可以利用电子琴来发出16个音节以及附属功能,就是16首歌曲的播放。

它被存储在程序内,玩家可以利用不同的按键调用不同的歌曲。

在实验及设计过程中难免有些疏漏及错误之处,望老师级同学及时的批评指出,我将不胜感激。

崔野2011 12 12目录摘要 (1)第一章目录 (2)第二章设计方案 (3)2.1目的及要求要求 (3)2.2 设计原理 (3)第三章硬件部分 (5)3.1 单片机简介及应用 (5)3.2 矩阵键盘 (10)3.3 数码管简介 (14)3.4 晶振电路 (16)3.5 设计图 (18)第四章软件部分 (19)4.1 目的及要求 (19)4.2 LED显示 (19)4.3 设计框图 (22)第五章调试 (23)5.1 仿真软硬件简介 (23)5.2 软硬件调试及结果 (25)第六章结束语 (33)参考资料 (34)实物展示 (35)第二章设计方案2.1目的及要求目的:实现电子琴播放与音乐播放功能要求:1.用键盘作出电子琴的按键,每键代表一个音符。

2.各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。

3.弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。

2.2 设计原理单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储RAM、只读存储器、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

基于单片机的电子琴机器音乐播放器的方案设计书--开题报告

基于单片机的电子琴机器音乐播放器的方案设计书--开题报告

本科毕业设计(论文)开题报告题目:基于单片机的电子琴及音乐播放器的设计设计?实验研究□论文□题类型:课名:孙浩学生姓3070201411 学号:班业班级:自动化074专学院:电气工程学院杨元园指导教师:月 2011 时间:年3 开题年20113日月9 一、毕业设计(论文)内容及研究意义(价值)本次设计的主要内容是设计一种多功能电子琴,是集电子琴和音乐播放器单片机为核心,并辅有一些外围器件,AT89S52 于一体的新型电子琴。

它是以.采用汇编语言编写程序,实现多功能音乐播放,歌曲自动循环播放和使用琴键自编曲目功能。

此外,彩灯显示歌曲节奏,按键跳转到喜爱曲目,液晶显示当前播英文曲目。

目前流行的MP3,MP4播放器的音质相当好。

但略感遗憾的是除了选择歌曲和显示歌名外,绝大部分播放器没有诸如随意弹奏乐曲、乐曲节奏跳动显示等功能。

正是基于音乐播放器的多功能出发,提出这种电子琴和音乐播放器的设计方案。

之所以以单片机电子琴和音乐播放器为选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。

单片机技术发展非常快,所以目前的产品都致力于在功能全面、技术先进、操作简便、安全可靠、价格合理等方面进行仔细研究,精心设计;及时掌握最新的单片机技术,在条件允许的情况下,尽可能地利用最新的单片机技术来研制其应用系统,再利用单片机体积小、价格低、功能强等特点,以保证所设计的产品在未来的一段时间内仍具生命力。

单片机电子琴只和音乐播放器是单片机应用的一个点,由点及面,希望可以更好的了解和应用单片机技术。

通过单片机电子琴和音乐播放器这个选题,更深层次的了解了单片机技术,以前只是有理论,实践的机会不是很多,在作单片机电子琴这个选题的过程中,更加熟练的掌握了一些单片机芯片的应用,也解决了很多以前理论和实践脱节的问题,可谓对单片机的认识有了一个小的飞跃。

基于51单片机的电子琴设计

基于51单片机的电子琴设计

基于51单片机的电子琴设计随着科技的不断发展,单片机技术已经成为了现代电子设备中的重要组成部分。

51单片机作为一种广泛应用的单片机系列,具有高性能、低功耗、高集成度等特点,被广泛应用于各种嵌入式系统开发中。

本文将介绍一种基于51单片机的电子琴设计。

一、系统硬件设计1、单片机选择本设计选用AT89C51单片机作为主控制器,AT89C51是一种低功耗、高性能的8位单片机,具有4K字节的可编程存储器和128字节的RAM,同时具有丰富的外设接口,如UART、SPI、I2C等。

2、电子琴设计电子琴采用8×8 LED点阵作为输出设备,通过单片机控制点阵的亮灭状态来展示音乐波形。

具体实现方式是将音频信号通过一个运放放大器放大,然后将其输入到LED点阵中,通过控制点阵的亮灭状态来展示音乐的波形。

3、存储模块设计为了实现电子琴曲目的存储和播放,本设计选用了一块AT24C02 EEPROM芯片作为存储设备。

AT24C02是一种串行E2PROM存储器,容量为256字节,可以通过I2C总线与单片机进行通信。

将曲目信息存储在AT24C02中,可以实现曲目的存储和播放功能。

4、按键模块设计本设计采用4×4矩阵键盘作为输入设备,通过扫描按键状态来实现音符的选择和节奏控制。

矩阵键盘的行线连接到单片机的P1口,列线连接到P2口,通过检测行列组合的变化来确定按下的键位。

二、系统软件设计1、音符解码本设计采用MIDI音符编码方式来存储和播放曲目信息。

在解码过程中,根据音符的频率和持续时间计算出对应的音高和节奏信息,然后将其用于驱动电子琴的输出设备展示音乐的波形。

2、演奏控制为了实现节奏控制,本设计采用了一种基于时间间隔的演奏方式。

在演奏过程中,单片机根据设定的节奏间隔时间来触发音符输出,从而实现对节奏的控制。

同时,为了实现曲目的停止和播放功能,我们需要在软件中加入相应的控制逻辑。

3、存储和播放在软件设计中,我们需要实现将曲目信息存储到AT24C02中以及从AT24C02中读取曲目信息的功能。

基于单片机控制的电子琴控制

基于单片机控制的电子琴控制

单片机课程设计说明书采用单片机控制的音乐演奏器(或电子琴)采用单片机控制的音乐演奏器(或电子琴)摘要:本设计采用单片机控制的音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。

本设计是用AT89C52单片机为核心控制元件,设计一个模拟电子琴发声控制系统。

以单片机作为主控核心,与键盘、蜂鸣器模块组成核心主控制模块。

在主控模块上设有8个按键,其中7个按键控制7个音符,1个作为功能转换键使用,具有自动播放乐曲的功能,下面具体介绍一下单片机各端口的分配功能:单片机的P1.0-P1.6为输入端口,用来控制7个音符的选择弹奏;P3.2为功能转换键,它能自动播放乐曲的功能;P3.7为单片机的输出端口,它通过限流电阻R与三极管级基极相接,三极管的集电极接有接蜂鸣器。

本设计通过控制单片机定时器的定时时间产生不同频率的音频脉冲,经三极管放大信号后驱动蜂鸣器发出不同音节的声音。

为了实现按键的准确判断和完善电子琴发声的效果,本设计采用了软件防抖的方法,有效的解决了按键抖动的问题。

另外当按下功能切换键,切换至音乐自动播放功能时,本系统能实现歌曲的播放,这样使得电子琴的功能变的更加强大。

本设计为实物电路板设计开发,报告中详细的阐述了电子琴设计的方法和过程。

并经过软硬件的调试,该音乐发生器不但能通过键盘弹奏出很好的音调,而且还可以通过键盘选择播放不同的音乐。

本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。

关键词:AT89C52,电子琴,单片机,音乐发生器The music playing device and controlled by single chipmicrocomputer (or keyboard)Abstract:the design of music generator controlled by single chip microcomputer not only can play the very good tone by keyboard, and can be controlled by the keyboard selection play different music.This design is to use AT89C52 single-chip microcomputer as the core control components, design a simulated keyboard voice control system. With single chip microcomputer as control core, and keyboard, buzzer core modules of main control module. On the main control module has eight buttons, among them 7 buttons control seven notes, using 1 as a function of conversion key, have the ability to automatically play music in the following specific introduce microcontroller distribution function of each port: MCU P1.0 - P1.6 as input ports, used to control the seven notes choose play; P3.2 for function conversion button, it will automatically play the function of music; P3.7 for MCU output port, it through the current limiting resistor R into the transistor level base, the collector of a transistor is attached to the buzzer. This design by controlling the single chip microcomputer timer timing time produces different frequencies of audio pulse, after triode amplifying signal drive buzzer sounds different syllables. Accurate judgment in order to achieve the key and perfect the keyboard sound effect, this design USES the software image stabilization method, effectively solved the problem of the button jitter. When press the function key switch, switch to the automatic music playback function, this system can realize the playing songs, which makes the organ's functions have become more powerful. This design for the physical circuit board design, development, and report in detail elaborated the keyboard design method and process. And through software and hardware debugging, the music generator not only can play the very good tone by keyboard, and can be controlled by the keyboard selection play different music. This system runs stably, its advantage is hardware circuit is simple, software function is perfect, the control system is reliable, cost-effective higher, has certain practical and reference value.Keywords:AT89C52 devices, electronic organ, microcontroller, music generator用单片机控制的音乐演奏器(或电子琴)1.概述1.1 课题研究背景与意义随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。

毕业论文基于单片机STC52的电子琴设计

毕业论文基于单片机STC52的电子琴设计

毕业论文基于单片机STC52的电子琴设计电子琴是一种能够模拟真实乐器声音的电子音乐乐器,它使用数字信号处理技术来模拟不同音调和音色的声音。

在这篇毕业论文中,我们将基于STC52单片机设计一个电子琴。

首先,我们需要了解电子琴的基本原理和工作方式。

电子琴主要由白键和黑键组成,每个键对应一个音调。

当用户按下一些键时,电子琴会发出相应音调的声音。

为了模拟各种音调和音色,电子琴还需要使用合成器来生成声音波形。

在本设计中,我们将使用STC52单片机作为主控芯片。

这款单片机具有强大的计算和处理能力,并且易于编程和控制。

我们将使用C语言编程来实现电子琴的功能。

首先,我们需要设计一个按键矩阵来接收用户的按键输入。

按键矩阵将通过电子琴的键盘连接到STC52单片机的I/O口。

当用户按下一些键时,相应的I/O口将被触发,并且可以通过编程来检测并响应按键动作。

接下来,我们将设计一个音频输出电路来输出电子琴的声音。

音频输出电路将连接到STC52单片机的PWM输出口。

通过调节PWM输出的频率和占空比,我们可以生成不同频率和音量的声音波形。

然后,我们需要设计一个合成器来生成不同音调和音色的声音波形。

合成器可以通过不同的算法和参数来模拟不同乐器的声音。

我们可以使用数字信号处理技术,如傅里叶变换和滤波器设计,来实现合成器的功能。

最后,我们需要编写软件程序来控制和管理电子琴的功能。

我们可以使用STC52单片机的开发环境和编程工具来编写程序。

程序需要实现按键检测、声音生成和处理等功能。

通过编程,我们可以实现不同音调、音色和演奏效果的电子琴。

在设计实现过程中,我们还需要考虑到电子琴的硬件和电路布局、电源供应、按键和音频接口等方面的问题。

同时,我们还需要进行测试和调试,以保证电子琴的正常工作和良好的声音质量。

通过以上的设计和实现,我们可以制作一个基于STC52单片机的电子琴。

这款电子琴具有丰富的音调和音色选择,可以模拟不同乐器的声音,同时具有简单易用的操作和良好的音质。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3
输入模块: 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,这是我们经过反复试验确定的 最佳的节拍延时。
相关文档
最新文档