单片机设计矩阵键盘电子琴

合集下载

单片机电子琴的设计

单片机电子琴的设计

单片机电子琴的设计单片机电子琴的设计随着科技的发展,单片机技术在电子领域的应用已经非常广泛。

其中,单片机电子琴是一种非常受欢迎的DIY 电子产品。

通过使用单片机,我们可以实现各种各样的功能,比如手风琴、钢琴、鼓等模拟音乐乐器。

那么,本文将详细讲解单片机电子琴的设计方法和实现过程。

一、硬件设计1.主板设计在单片机电子琴的设计中,主板是最核心的部件,因为它能够控制整个电子琴的运转。

主板设计所需要的元器件如下:(1)单片机:根据需要,选择一款传统型单片机或者ARM 处理器。

(2)输入输出模块:据需要选择合适的硬件平台,比如DAC/ADC、芯片集成的PWM 或外加的DAC 等。

(3)显示模块:可以选用LCD 模块或其它显示模块。

(4)驱动模块:选择一款合适的驱动模块,比如H 桥驱动器、音频功率放大器等。

2.键盘设计键盘设计是单片机电子琴中最为重要的元部件,因为它是与用户进行交互的部分。

键盘设计可能有不同的方法,但是本文所展示的方法采用的是与传统钢琴相似的电容式设计方式。

电容式键盘设计思路是这样的:在钢琴键盘下方安装一组与钢琴键盘平行的电容板。

当按下钢琴键时,会压缩键盘下方的电容板,导致电容板之间的电容值发生变化,这样就可以识别每个键位的编号。

作为键盘电容板有很多种选择,但选择正确的条件是符合设计条件。

在这里,我们用金属箔板作为电容板,每个键位产生的电容值被电路板上面的片式电容器取样。

所以,我们使用红外线LED 与光敏二极管来驱动键盘,金属箔板放在二者之间。

在不按键的情况下,光敏二极管可以检测到被金属箔板反射的红外线,导致电容板上的电容值稳定。

当按下键时,电容板之间的电容值发生变化,此时光敏二极管检测到的红外线信号也将会变化,通过这个变化可以确定该键是否被按下。

3.音频输出在单片机电子琴的设计中,音频输出也是非常重要的。

音频输出通常使用功率放大器和喇叭来完成,我们也可以通过DAC/ADC 或PWM 来实现音频输出。

基于51单片机的4×4矩阵键盘电子琴

基于51单片机的4×4矩阵键盘电子琴

基于51单片机的4×4矩阵键盘电子琴基于51单片机的4×4矩阵键盘电子琴前些日子,做而论道写了一篇关于单片机发音的文章,后来,就不断有网友来电询问单片机电子琴的设计方法。

以前制作过一个24键(独立按键)的,程序是用汇编语言写的,估计多数人看不了。

下面,把新设计的16按键的电子琴,公布给网友。

电路图如下:图片链接:/picture/detail/b05f67dd8b5c82da3af4 83a4f974902b5660a0da制作说明:单片机采用51系列的都行,AT89C2051也可;图中没有画出复位和晶振电路,实际制作时,不可省略,晶振可以使用11.0592或12MHz;扬声器应该按照图中给出的附图加上驱动电路;显示器及七段译码器不接,单片机电子琴也可以正常工作。

74LS47 和数码管之间,应该接上“限流电阻”,约470 欧姆即可。

C语言程序如下:/************************************************************* * 程序功能 : 对4×4矩阵键盘进行扫描,显示键值和输出音响**************************************************************/ #include <reg51.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit SPK = P3^7; //P3.7外接扬声器uint FreqTemp;unsigned int code Freqtab[] = { //定时半周期的初始值64021,64103,64260,64400, //低音3 4 5 664524,64580,64684,64777, //低音7,中音1 2 364820,64898,64968,65030, //中音4 5 6 765058,65110,65157,65178}; //高音1 2 3 4//关于半周期的初始值与频率的关系,可见:///do_sermon/item/8cff22baf5142245bb 0e1247/************************************************************* * 函数功能 : 用扫描法读 P1 外接4×4 键盘* 函数返回 : 按下键:返回0~15、如无键按下:返回16**************************************************************/ uchar Keyscan(void){uchar i, j, temp, Buffer[4] = {0xfe, 0xfd, 0xfb, 0xf7};for(j = 0; j < 4; j++) { //循环四次,扫描四行P1 = Buffer[j]; //在低四位分别输出一个低电平_nop_();temp = 0x80; //计划先读出P1.7位for(i = 0; i < 4; i++) { //循环四次,检查四列if(!(P1 & temp)) { //从高四位,截取1位return (i + j * 4); //返回取得的按键值}temp >>= 1; //换右边一位} }return 16; //没有键按下就返回16}/************************************************************** * 函数功能 : 将参数分成十位、个位,分别显示到P2* 输入 : k (键盘数值)*************************************************************** /void Display(uchar k){P2 = ((k / 10) << 4) + (k % 10);}/************************************************************** * 主函数*************************************************************** /void Main(void){uchar Key_Value = 16, Key_Temp1, Key_Temp2;//读出的键值TMOD = 0x01; //T0定时方式1ET0 = 1; //允许T0中断EX0 = 1; //允许X0中断EA = 1;while(1) {TR0 = 0; //暂不发音Key_T emp1 = Keyscan(); //读入按键if(Key_Temp1 != 16) { //有键按下Display(Key_Value); //显示键值、延时消抖Key_T emp2 = Keyscan(); //再读一次if (Key_Temp1 == Key_T emp2) {//两次相等Key_Value = Key_T emp1; //就确认下来FreqTemp = Freqtab[Key_Value]; //根据键值,取出定时半周期的初始值Display(Key_Value); //显示TR0 = 1; //启动定时器,发音while (Keyscan() < 16); //等待释放SPK = 1; //停止发音} } } }//===================================== ==========void T0_INT(void) interrupt 1{TL0 = FreqTemp; //载入定时半周期的初始值TH0 = FreqTemp >> 8;SPK = ~SPK; //发音}//===================================== ==========#单片机有关。

单片机应用课程设计--简易电子琴设计

单片机应用课程设计--简易电子琴设计
{
delay(5);
if (key1 == 0)
{
key_in_flag = 0;
key_value = 4;
}
}
else
{
key_in_flag = 1;
}
key8 = 1;
key7 = 0;
if (key4 == 0)
{
delay(5);
if (key4 == 0)
{
key_in_flag = 0;
参考文献
[1] 赵鑫,蒋亮,齐兆群.数字电路设计[M].北京机械工业出版社,2005年6月第一版
[2] 苏家健,曹柏荣,汪志锋.单片机原理及应用技术[M].高等教育出版社
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,2001
[4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004
{
key_in_flag = 0;
key_value = 2;
}
}
else
{
key_in_flag = 1;
}
if (key2 == 0)
{
delay(5);
if (key2 == 0)
{
key_in_flag = 0;
key_value = 3;
}
}
else
{
key_in_flag = 1;
}
if (key1 == 0)
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能, 因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。

基于单片机的电子琴设计报告-含有经典的程序案例

基于单片机的电子琴设计报告-含有经典的程序案例

设计报告课程:微机接口技术与数字控制设计名称:基于单片机的电子琴设计小组成员:学号:专业:机械电子工程日期:指导老师:成绩:1 设计任务以生活中的电子琴为设计对象,实现音乐的按键控制功用。

尽量能弹奏出和谐而优美的旋律。

2 设计目的通过单片机电子琴的设计,更深层次的了解单片机技术。

熟悉单片机的控制功用和系统原理应用。

对系统设计与实用编程有进一步强化。

体验音乐的原理与魅力。

3 设计要求设计采用C语言编程控制,巧妙的运用单片机的定时器与中断功能,实现音乐的音频、节拍的实时控制。

具体要求如下:1)构造出微单片机的最小控制系统,能实现基本框架运作;2)学习音乐音符的发音原理与节拍原理,了解音乐的神奇效果,熟悉常用歌曲的歌谱,并为下面的相关实践打好理论基础;3)采用键盘设计理念,建立键符——音符的对应关系,巧妙运用音乐的频率特性,实现按键既得特定音符的功用;4)并增加按钮控制系统运作,数码管实现实时音符(按键)符显示的功能,使按键弹奏的效果更加人性化与和谐完美。

4 设计方案与技术分析4.1 某微机控制系统简介控制系统的整体设计框架,如图1所示。

图1 电子琴设计框架图设计中涉及被控对象模块和人机交互模块的电路设计,以及软件编程部分。

这将在后面的论述中逐一介绍。

本控制系统的整体设计图,如图2所示。

图2 控制系统整体设计硬件图上图为整体的电路设计,并利用PROTEUS进行了模拟仿真。

实现了预期效果。

设计中,选用两种工作模式:试音与弹奏。

通过两个按钮控制选取,并有相应的指示灯指示工作状态。

试音用于测试系统的可行性,选取童年歌曲“两只老虎”中的几句作为检测乐谱;弹奏模式下,通过4×4矩阵式键盘,完成美妙音乐的弹奏。

操作者可以按相应的键,弹奏出特定的音乐,实现作曲与奏乐的完美体验。

并且本设计中还添加了数码显示功能,用于显示实时的显示按下的键码,同时也与音符有内在的对应关系。

下面主要介绍,为何单片机可以实现美妙音乐的实时再现。

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

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

目录摘要 (3)Abstract (3)1绪论 (4)1.1背景 (4)1.2目的 (4)1.3 意义 (4)1.4基本理论依据和主要工作内容 (4)2 设计方案简述 (6)2.1键盘模块 (6)2.2发声模块 (6)2.3 8X8点阵显示模块 (6)2.4系统技术指标和预期功能 (7)3 详细设计 (8)3.1主要IC芯片介绍 (8)3.2硬件设计 (11)4 设计结果及分析 (19)4.1 测试 (19)5总结 (20)参考文献 (21)附录主要程序代码 (22)摘要单片机的应用已经越来越贴近生活,用单片机来实现一些电子设计也变得容易起来。

本设计阐述的主要内容是一种基于51 单片机的电子琴的设计,其核心芯片AT89S52 单片机,内部电路包括4X4行列式键盘模块、音频放大模块和8X8LED点阵显示模块,本系统运行稳定,功能较为完善,控制系统可靠,性价比较高等,具有一定的实用价值。

对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字和简单图形,显示亮度较高,并且对环境条件要求比较低。

电子乐器的结构较为复杂,音源是由晶体管产生的电振动,并通过音色回路而产生各种音色;同时由周波数调制产生颤音效果,由振幅调制产生各种乐器的音效。

关键词:AT89S52单片机;音频放大模块;8X8点阵AbstractIts applications have become increasingly close to life, with a single chip to achieve a number of electronic design is becoming simpler. The main elements of the design described is based on 51 single-chip, the flower design, the core chip AT89S52 microcontroller Internal circuit including the 4X4 determinant keyboard module, audio amplifier module and 8X8LED dot matrix display module, the system is stable, function better, control system reliability, higher cost and so on, has some practical value. For those who need to display the amount of information is small, resolution is not high, they need to make the occasion a relatively low cost, using large and small screen, LED dot matrix display is more economical, and he can display characters, numbers and simple graphics, display brightness higher and lower demands on the environmental conditions. : The structure of more complex electronic instruments, the source is generated by the transistor electrical vibration, and sound loops generated by a variety of tone; also modulated by the frequency to produce vibrato effects, generated by the amplitude modulated sounds of various instruments.Keywords:AT89S52 Microcontroller;Audio Amplifier Module;8X8 matrix1绪论1.1背景单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(single chipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果。

基于单片机的电子琴设计

基于单片机的电子琴设计

基于单片机的电子琴设计一、引言二、总体设计方案(一)设计目标设计一款基于单片机的电子琴,能够实现基本的音符演奏、音色切换、节奏控制等功能,并且具有良好的音质和稳定性。

(二)系统组成本电子琴系统主要由单片机控制模块、键盘输入模块、音频输出模块、显示模块和电源模块等部分组成。

1、单片机控制模块选用 STM32 系列单片机作为控制核心,负责处理键盘输入信号、生成音频信号、控制显示等功能。

2、键盘输入模块采用矩阵键盘,通过扫描键盘获取用户的按键操作,将其转换为对应的音符编码发送给单片机。

3、音频输出模块使用DAC 芯片将单片机生成的数字音频信号转换为模拟音频信号,再通过放大器和扬声器输出声音。

4、显示模块采用液晶显示屏,用于显示当前的演奏状态、音色选择、节奏模式等信息。

5、电源模块为整个系统提供稳定的电源供应,可采用电池供电或外接电源适配器。

三、硬件设计(一)单片机最小系统STM32 单片机的最小系统包括时钟电路、复位电路和电源电路。

时钟电路为单片机提供工作时钟,复位电路用于系统初始化,电源电路为单片机提供稳定的电源。

(二)键盘电路矩阵键盘由行线和列线组成,通过逐行扫描的方式检测按键状态。

将键盘的行线和列线分别连接到单片机的 GPIO 引脚,通过编程实现键盘扫描和按键识别。

(三)音频输出电路选用高性能的 DAC 芯片,如 PCM1794,将单片机输出的数字音频信号转换为模拟音频信号。

为了提高音频输出的质量,还需要添加放大器和滤波电路,以增强信号的功率和去除噪声。

(四)显示电路液晶显示屏通过 SPI 接口或 I2C 接口与单片机连接,单片机通过发送指令和数据来控制显示屏的显示内容。

(五)电源电路根据系统的工作电压和电流需求,选择合适的电源芯片,如LM7805 等,将输入电源转换为所需的电压,并通过滤波电容等元件提高电源的稳定性。

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

单片机电子琴的设计

单片机电子琴的设计

单片机电子琴的设计首先是硬件设计部分。

单片机电子琴所需的硬件主要包括按键、音频输出、显示器和电源等模块。

按键模块需要设计合适数量的按键,并使用矩阵键盘的方式将按键连接到单片机的IO口上,以实现按键的检测和输入。

音频输出模块通常采用DAC芯片来实现数字音频信号转换为模拟音频信号的功能,然后经过功放放大后输出到扬声器上。

显示器模块可以选择使用LCD液晶屏或LED数码管来显示琴键、音高等信息。

电源模块需要提供稳定的电源电压和电流,以供单片机和外围电路正常工作。

接下来是软件实现部分。

软件设计主要包括音符识别、声音发生和音效处理三个方面。

音符识别指的是按键被按下时,通过单片机程序判断出对应的音符,并通过输出特定的数字信号给DAC芯片生成对应的模拟音频信号。

声音发生部分需要设计合适的音色合成算法,将数字信号转化为合成的音乐音频信号,并通过DAC芯片输出到扬声器上。

音效处理部分可以实现对音频信号的各种音效处理,如混响、合唱、合成等效果,增强音乐的表现力。

在功能拓展方面,可以考虑添加MIDI接口,实现电子琴与其他音乐器材的连接和交互。

可以使用光敏电阻和温湿度传感器来实现环境音效的调整。

还可以设计一个简单的录音和播放功能,实现对演奏的录音和回放。

另外,还可以通过添加存储器模块,实现曲目的存储和选择功能。

总结起来,单片机电子琴的设计涉及到硬件设计、软件实现以及功能拓展等方面。

通过合理地设计硬件电路,采用适当的音符识别算法和声音合成算法,还可以扩展丰富的音效和功能,实现一个高性能的单片机电子琴。

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

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

课程设计报告---基于单片机的电子琴设计河南理工大学《单片机应用与仿真训练》设计报告基于单片机的电子琴设计姓名:郭鹏超王芳学号: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合成音源模块,实现与其他乐器和设备的互联。

单片机-电子琴演奏

单片机-电子琴演奏

目录目录 0一、设计内容 (1)二、方案讨论 (1)三、电路原理图 (2)四、程序设计 (5)五、电子琴发声原理 (8)六、调试结果 (8)七、电子琴程序 (9)八、参考文献 (17)一、设计内容(一)设计题目:电子琴演奏(二)目的要求1)使用4×4矩阵式键盘设计出16个音符,随意弹奏。

2)用功能键可转换成3首不同的歌曲演奏。

二、方案讨论(一)方案一:用4×4矩阵式键盘控制16个音符,用三个独立按键作为功能键,实现三首不同歌曲的演奏。

方案二:通过一个开关控制4×4矩阵式键盘的功能转换,同时控制16个音符和歌曲的演奏。

方案一虽然用的按键相对较多,但是整体结构简单明了,便于理解和编程,而且音符和歌曲两部分不易产生干扰;方案二结构紧凑,电路简单,但程序较为繁琐,易产生干扰。

故采用第二种方案。

(二)方案图(三)面板布置图(四)设计任务1)电路结构设计在PROTEUS中绘制电子琴各部分的电路,能量流要正确。

2)软件设计用汇编语言编写程序,实现电子琴的功能3)调试仿真将编译生成的.hex文件导入芯片,进行仿真。

三、电路原理图(一)时钟电路(二)复位电路(三)功放驱动电路及LM386(四)4×4矩阵式键盘电路(五)三个控制自动音乐播放的独立按键电路(六)整体电路(二)16音阶程序框图(三)T0中断服务程序框图(四)自动音乐播放程序框图YYNN返回五、电子琴发声原理一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。

现在以单片机12MHZ晶振为例,例出高中低音符与单片机计数T0相关的计数值如下表所示:音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1 DO 262 63628 # 4 FA# 740 64860#1 DO# 277 63731 中 5 SO 784 64898低2 RE 294 63835 # 5 SO# 831 64934#2 RE# 311 63928 中 6 LA 880 64968低 3 M 330 64021 # 6 932 64994低 4 FA 349 64103 中 7 SI 988 65030# 4 FA# 370 64185 高 1 DO 1046 65058低 5 SO 392 64260 # 1 DO# 1109 65085# 5 SO# 415 64331 高 2 RE 1175 65110低 6 LA 440 64400 # 2 RE# 1245 65134# 6 466 64463 高 3 M 1318 65157低 7 SI 494 64524 高 4 FA 1397 65178中 1 DO 523 64580 # 4 FA# 1480 65198# 1 DO# 554 64633 高 5 SO 1568 65217中 2 RE 587 64684 # 5 SO# 1661 65235# 2 RE# 622 64732 高 6 LA 1760 65252中 3 M 659 64777 # 6 1865 65268中 4 FA 698 64820 高 7 SI 1967 65283六、调试结果在Keil软件中进行了程序的编写、调试以及编译,软件显示程序没有错误。

单片机课程设计——简易电子琴

单片机课程设计——简易电子琴
单片机课程设计——简易电子 琴
汇报人:
单击输入目录标题 单片机基础知识 简易电子琴系统设计 单片机与简易电子琴的结合 简易电子琴的功能扩展 简易电子琴的优化与改进
添加章节标题
单片机基础知识
单片机简介
单片机是一种集成电路芯片,将微处理器、存储器、输入/输出接口等集成在一起 单片机具有体积小、功耗低、可靠性高、编程灵活等特点 单片机广泛应用于工业控制、家电、汽车电子等领域 单片机课程设计是学习单片机应用的重要环节,可以提高学生的实践能力和创新能力
音乐播放与控制
单片机控制:通过单片机控制电子琴的音色、音高和节奏 音乐播放:单片机通过控制电子琴的音色、音高和节奏,实现音乐的播放 控制方式:可以通过按键、触摸屏等方式控制音乐的播放 功能扩展:可以增加录音、播放、暂停、快进、快退等功能,提高用户体验
显示模块的应用
显示模块的作用:显示电子琴 的音色、音高、节奏等信息
单片机在简易电子琴中的应用
控制音量:通过单片机控制 音量的大小,实现电子琴的 音量调节功能。
控制音色:通过单片机控制 不同频率的音色,实现电子 琴的多种音色效果。
控制节奏:通过单片机控制 节奏的快慢,实现电子琴的
节奏调节功能。
控制和弦:通过单片机控制 和弦的演奏,实现电子琴的
和弦演奏功能。
单片机开发环境搭建
测试内容:音色、音调、 音量、节奏等性能指标
测试结果分析:对测试数 据进行分析,找出问题并 解决
测试报告:记录测试过程、 结果和分析,为后续改进 提供依据
单片机与简易电子琴的结合
单片机控制简易电子琴的原理
单片机作为核心控制单元,负责接收和处理来自键盘的输入信号
单片机根据接收到的输入信号,控制电子琴的音源产生相应的音调

单片机电子琴方案

单片机电子琴方案

方案设计1电子琴设计框图图1 电子琴设计框图2总体设计2.1硬件部分采用AT89S52单片机作为主控制部件,AT89S52用上电自动复位,12MHZ 的晶振和两个电容形成晶振电路。

面键,用于输入音符。

2.2软件部分软件部分采用汇编语言编写程序,单片机汇编语言程序设计步骤如下:第一步:分析问题。

第二步:画出程序的基本轮廓。

第三步:实现该程序。

2.3软硬件调试使用KEIL软件,将程序输入进行编译,编译通过后,则将制作的电路进行联机仿真,检测功能和设计任务能不能实现。

如果不能达到预期效果,则必须重新检查硬件或修改程序。

2.4程序固化经过调试,实现了预期的成果和功能,就可以开始程序固化了。

将程序烧录到AT89S52内部ROM中,然后将单片机放入到电路中,再进行观察。

一. 相关技术简介用电子琴可以演奏出各种美妙的音乐,而音乐是有音符组成的。

不同的音符是由相应频率的振动产生不同频率的声音电信号经扬声器发音后,人耳所听到的便是不同的声音,换言之,只要向扬声器中输入不同频率的电信号就可以产生不同的声音。

若将不同的音节于不同的节拍组合在一起便形成一定的曲调,因此一个单片机I/O 口,通过软件,控制其输出不同频率的信号,就可以产生8个基本音节,将音节以一定的节拍进行组合,便可以产生歌曲。

乐曲中每一音符对应着确定的频率,表1给出C 调时各音符频率。

如果单片机某个口 线输出“高” “低”电平的频率和某个音符的频率一样,那么将此口线接上喇 叭就可以发出此音符。

二. 硬件设计1. AT89S52单片机图2 AT89S52单片机< 1)简介AT89S52是一种低功耗、高性能 CMOS8位微控制器,具有8K 在系统可编 程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业 80C51产品指令和引脚完全兼容。

片上Flash 允许程序存储器在系统可编程,亦 适于常规编程器。

在单芯片上,拥有灵巧的 8位CPU 和在系统可编程Flash, 使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

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

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

基于51单片机的电子琴设计课程设计单片机原理》课程设计前言本课程设计旨在通过基于51单片机的电子琴设计,加深学生对单片机原理的理解和应用。

在本设计中,我们将介绍电子琴的设计要求、所用设备及软件以及总体设计方案。

随后,我们将详细介绍系统硬件设计中琴键控制电路、音频功放电路、时钟-复位电路和LED显示电路的设计。

第1章基于51单片机的电子琴设计1.1 电子琴的设计要求在电子琴的设计中,我们需要考虑琴键数量、音频输出质量、电源电压和外部接口等因素。

在本设计中,我们将采用25个琴键,保证音频输出质量和电源电压稳定,并提供外部接口以便于扩展和调试。

1.2 电子琴设计所用设备及软件在本设计中,我们将使用51单片机、琴键、音频功放、时钟、LED显示器等设备,并使用Keil C51编译器进行软件开发。

1.3 总体设计方案在总体设计方案中,我们将采用按键扫描方式实现琴键控制,使用PWM技术实现音频输出,使用外部晶振提供时钟信号,并使用LED显示器显示琴键状态。

第2章系统硬件设计2.1 琴键控制电路在琴键控制电路中,我们将采用矩阵按键扫描方式,通过51单片机的IO口进行扫描和检测。

同时,我们还将使用电容式触摸开关来实现琴键的触发。

2.2 音频功放电路在音频功放电路中,我们将采用TDA7297芯片作为功放,通过PWM技术实现音频输出,并通过滤波电路滤除杂音和谐波。

2.3 时钟-复位电路在时钟-复位电路中,我们将采用12MHz晶振作为时钟源,并使用复位电路确保系统在上电时能够正确运行。

2.4 LED显示电路在LED显示电路中,我们将采用MAX7219芯片实现LED点阵显示,并通过SPI接口与51单片机进行通信。

同时,我们还将使用CD4511芯片实现数码管显示琴键状态。

通过本课程设计,我们可以深入理解单片机原理的应用,掌握电子琴的设计和制作技术,提高自身的实践能力和创新能力。

2.5 整体电路本章将介绍电子琴的整体电路设计。

基于单片机的简易电子琴设计_毕业设计论文

基于单片机的简易电子琴设计_毕业设计论文

基于单片机的简易电子琴设计摘要随着科学技术的不断发展,单片机的应用日益成熟。

单片机集成度高、处理功能强大、价格低廉使其在各个领域得到广泛应用。

同时电子琴作科学技术与音乐共同发展的产物,在这个电子信息化的时代,为音乐的大众化做出了不可代替的贡献。

本文主要介绍一种基于51单片机的简易电子琴设计方案。

它采用了STC公司出品的一款低功耗、高性能单片机STC89C52芯片作为主控单元,与4*4矩阵键盘、复位电路、LED双位数码显示器、扬声器等组成主控核心模块。

文章详细论述了电子琴硬件设计和软件结构设计流程,采用了Altium Designer 09画出原理图、PCB图,通过Keil编程软件对电子琴进行软件编程,然后进行软硬件的调试运行并将程序烧录到STC89C52芯片中。

此系统运行比较稳定,具有硬件设计电路简单、清晰,成本低,软件功能完善,控制系统牢靠,性价比高等优点,具有一定的实用和参考价值。

关键词:STC89C52;电子琴;矩阵键盘AbstractAlong with the development of science and technology, the application of SCM increasingly mature. Single chip microcomputer high level of integration, processing powerful, low prices make it is widely used in various fields. At the same time the keyboards for science and technology and music common development of the product, in the electronic information era, for music's popular do can't replace contribution.This paper mainly introduces a kind of simple keyboard based on 51 SCM design scheme. It USES the STC product of our company a low power consumption, high performance microprocessor STC89C52 chips as the master unit, and 4 * 4 matrix keyboard and reset circuit, LED digital display, a double master core module and other components of the speaker. This paper discusses the design of hardware and software structure keyboard design process, the use of a Altium Designer 09 draw a diagram, PCB figure, through the Keil software keyboard to software programming, then the software and hardware debugging run and will burn to STC89C52 chip program. Operation of the system is stable and has the hardware circuit design simple, clear, and the cost is low, the software perfect function, control system firm, price higher advantages, has certain practical and reference value.Key words : stc89c52; keyboard; matrix keyboard目录摘要 (I)Abstract (II)1 绪论 (1)1.1 设计的目的和意义 (1)1.2 设计的主要内容 (1)2 系统概述 (2)2.1 系统工作原理 (2)2.2 系统结构组成 (2)2.2.1 电源电路 (2)2.2.2 控制部分 (3)2.2.3 显示部分 (3)2.2.4 发声部分 (3)2.3 主要芯片及元件的介绍 (3)2.3.1 STC89C52单片机简介 (3)2.3.2 芯片引脚介绍 (4)2.3.3 STC89C52时钟介绍 (6)2.3.4 双位LED数码显示器简介 (7)3 硬件电路的设计 (9)3.1 电源电路的设计 (9)3.2 复位电路的设计 (10)3.2.1 复位操作 (10)3.2.2 复位信号及其产生 (11)3.3 键盘控制电路 (12)3.3.1 矩阵式键盘的概述 (12)3.3.2 矩阵式键盘按键识别原理及方法 (12)3.4 显示电路 (13)4 系统软件设计 (14)4.1 如何利用单片机实现音乐节拍 (14)4.2 如何用单片机产生音频脉冲 (15)4.2.1 音符和频率的关系 (15)4.2.2 定义初值 (16)4.3 音乐发生程序流程图 (17)结论 (18)参考文献 (19)附录一电子琴源程序 (20)附录二原理图 (24)附录三 PCB图 (25)附录四实物图 (26)致谢 (27)1 绪论1.1 设计的目的和意义单片机又称单片微型计算机,英文字母的缩写MCU。

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

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

基于51单片机的简易电子琴设计一、设计任务及要求1、在该简易电子琴设计中,设置8个按键,8个按键可以发出do、re、mi、fa、sol、la、si、Do 8个音阶。

2、设计三个拨码开关,三个拨码开关可以调节高音、中音、低音三个音调。

3、画出电路的总体方框图和电路原理图。

二、设计原理音乐由许多不同的音阶组成的,而每个音阶对应着不同的频率,这样,我们就可以利用不同的频率组合,构成我们想要的音乐。

简易电子琴是摁下拨码开关时,单片机AT89C51会发出声音,声音从端口经过LM386,经过放大以后传入喇叭。

声音主要是经过单片机4×4矩阵键盘的按键产生,这里只用到8个按键来产生高中低的8个音阶,来产生do re mi fa sol la si Do。

下面是计数初值:#6LA# 466 1072 64463 高3MI 1318 372 65157低7SI 494 1012 64524 高4FA 1397 358 65178中1DO 523 0956 64580 #4FA# 1480 338 65198#1DO# 554 0903 64633 高5SO 1568 319 65217中2RE 578 0842 64684 #5SO# 1661 292 65235#2RE# 622 0804 64732 高6LA 1760 284 65252中3MI 659 0759 64777 #6LA# 1865 268 65268中4FA 698 0716 64820 高7SI 1976 253 65283 三、设计方案本次设计的电子琴主要是利用AT89C51单片机为核心控制元件,同时还包括键盘、拨码开关和扬声器等控制模块,由键盘选择八个音阶。

1、电路原理图的总体设计总体电路需要c51单片机一片,音乐按键及喇叭等外围电路,要进行音调控制和音频放大,设计好的电路图如下图所示:2、键盘控制模块的设计矩阵按键部分由8个轻触按键按照2行4列排列,连接到P3端口。

基于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中读取曲目信息的功能。

单片机设计矩阵键盘电子琴

单片机设计矩阵键盘电子琴

课程设计任务书课程名称单片机原理及应用课程设计院(系、部、中心)通信工程学院专业通信工程1.课程设计应达到的目的本课程是继《单片机原理及应用B》课程之后,训练学生综合运用上述课程知识,进行单片机软件、硬件系统设计与调试,使学生加深对单片机结构、工作原理的理解,提高学生综合应用知识的能力、分析解决问题的能力和单片机最小应用系统的设计技能。

通过课程设计,达到理论与实际应用相结合,增强学生对综合电子系统设计的理解,掌握单片机原理就应用的设计方法以及C51编程的能力,并能够在这个基础上进行实际项目的程序设计及软硬件调试,增强学生的工程实践能力。

2.课程设计题目及要求带存储播放功能的简易电子琴设计要求:利用行列式键盘和数码管,来控制并显示和产生不同频率的声音。

其他扩展功能学生可自己添加,功能不限定与此。

3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕(1)了解相关理论知识,掌握基本的原理,理解相关特殊功能寄存器的设置。

(2)完成电路板的组装(3)完成硬件电路的测试、以及软件的编程(4)最终完成具体的课设任务。

4.主要参考文献1.张洪润等.单片机应用设计200例.北京:北京航空航天大学出版社,20062. 胡汉才.单片机原理及其接口技术. 北京:清华大学出版社,20103.夏继强等.单片机实验与实践教程.北京:北京航空航天大学出版社,20064. 倪晓军等.单片机原理与接口技术教程.北京:清华大学出版社,20075(1)硬件方面:单片机。

4*4行列式键盘,蜂鸣器,独立数码管,独立建。

硬件部分采用逐列扫描,16个键位对应16个音,不断检测16键位,当某个键位被按下,先检测哪一列再检测哪个按键被按下,同时设置四个功能键,p1.0,p1.1播放歌曲,p1.2暂停,p1.3复位,可控制歌曲的播放。

插入图片(2)音乐频率6 程序设计的流程图如下图,不断检测16个音阶键或功能键哪个被按下,当音阶键被按下时,发出对应的音;当功能键被按下时,执行相应的功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)完成电路板的组装
(3)完成硬件电路的测试、以及软件的编程
(4) 最终完成具体的课设任务。
4.主要参考文献
1.张洪润等.单片机应用设计200例.北京:北京航空航天大学出版社,2006
2. 胡汉才.单片机原理及其接口技术. 北京: 清华大学出版社,2010
3.夏继强等.单片机实验与实践教程.北京:北京航空航天大学出版社,2006
音 符
频 率
简码值(T值)
低3 M
330
64021
低4 FA
349
64103
低5 SO
392
64260
低6 LA
440
64400
低7 SI
494
64524
中 1 DO
523
64580
中 2 RE
587
64684
中 3 M
659
64777
中 4 FA
698
64820
中 5 SO
784
64898
中 6 LA
break;
case 0xbe:
key=2,P0=xable[2];
break;
case 0x7e:
key=3,P0=xable[3];
break;
}
TH0=table[key]/256;
TL0=table[key]%256;
TR0=1;
while(temp!=0xf0) //松手检测
{
temp=P3;
if(temp!=0xf0) //检测第一行按键
{
delay(10);
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
temp=P3;
switch(temp)
{
case 0xee:
key=0,P0=xable[0];
break;
case 0xde:
key=1,P0=xable[1];
2.课程设计题目及要求
带存储播放功能的简易电子琴设计
要求:利用行列式键盘和数码管,来控制并显示和产生不同频率的声音。其他扩展功能学生可自己添加,功能不限定与此。
3.课程设计任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等要求〕
(1)了解相关理论知识,掌握基本的原理,理解相关特殊功能寄存器的设置。
4. 倪晓军等.单片机原理与接口技术教程.北京: 清华大学出版社,2007
5(1)硬件方面:单片机。4*4行列式键盘,蜂鸣器,独立数码管,独立建。硬件部分采用逐列扫描,16个键位对应16个音,不断检测16键位,当某个键位被按下,先检测哪一列再检测哪个按键被按下,同时设置四个功能键,p1.0,p1.1播放歌曲,p1.2暂停,p1.3复位,可控制歌曲的播放。
880
64968
中 7 SI
988
65030
高 1 DO
1064
65058
高 2 RE
1175
65110
高 3 M
1318
65157
高 4 FA
1397
65178
6程序设计的流程图如下图,不断检测16个音阶键或功能键哪个被按下,当音阶键被按下时,发出对应的音;当功能键被按下时,执行相应的功能。然后再检测按键释放成不成功,也就是平时所说的松手检测,不成功就不断再检测,成功就停止工作。
for(y=110;y>0;y--);
}
void initialize()
{
P1=0xff;//起初数码管不显示任何数
}
void main()
{
TMOD=0x01;
EA=1; //开总中断
ET0=1; //开定时器0中断
while(1)
{
P3=0xfe;
temp=P3;
temp=temp&0xf0;
课程设计任务书
课 程 名 称单片机原理及应用课程设计
1.课程设计应达到的目的
本课程是继《单片机原理及应用B》课程之后,训练学生综合运用上述课程知识,进行单片机软件、硬件系统设计与调试,使学生加深对单片机结构、工作原理的理解,提高学生综合应用知识的能力、分析解决问题的能力和单片机最小应用系统的设计技能。通过课程设计,达到理论与实际应用相结合,增强学生对综合电子系统设计的理解,掌握单片机原理就应用的设计方法以及C51编程的能力,并能够在这个基础上进行实际项目的程序设计及软硬件调试,增强学生的工程实践能力。
tempቤተ መጻሕፍቲ ባይዱtemp&0xf0;
}
TR0=0;
buz=1;
}
}
P3=0xfd; //检测第二行按键
temp=P3;
temp=temp&0xf0;
if(temp!=0xf0)
{
delay(10);
temp=P3;
插入图片
(2)音乐频率
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。单片机12MHZ晶振,高中低音符与单片机计数T0相关的计数值如下表所示:
sbit s3=P1^2; //定义功能键3
sbit s4=P1^3;
uint code table[]={64021,64103,64260,64400,
64524,64580,64684,64777,
64820,64898,64968,65030,
65058,65110,65157,65178}; //频率
8源程序
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit buz=P2^3; //定义蜂鸣器
uchar temp,key;
sbit s1=P1^0; //定义功能键1
sbit s2=P1^1; //定义功能键2
uint code xable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
void delay(uint z) //延时程序
{
uint x,y;
for(x=z;x>0;x--)
插入图片
7心得体会:
通过这次课程设计,我学到了很多书本上学不到的知识与经验,同时也遇到了很多问题,并在这个过程中逐步尝试去解决他们,提高自己的实践能力,硬件设计上我发现通过不同的I/O口可以节省端口资源的利用,部分端口上的需求可以通过软件解决。从语法错误到程序功能的实现,前前后后也是改了又改,这次课程设计使我意识到很多存在的问题,必须在单片机方面读更多的书,更深入的去探究,去挖掘这些问题的答案。
相关文档
最新文档