基于单片机的多音阶电子琴设计4
#基于单片机的电子琴制作课程设计
![#基于单片机的电子琴制作课程设计](https://img.taocdn.com/s3/m/433b21c7856a561252d36f4f.png)
基于单片机的电子琴制作课程设计一、设计指标a)设计一个(4×4)的键盘,并将16个键设计成16个音;b)可弹奏想要表达的音乐;c)该电子琴包含1首示例音乐,接通电源可播放示例音乐。
二、设计所用实验仪器和设备:单片机芯片、晶体振荡器一个、电容电阻若干独立开关十六个。
三、设计原理乐音实际上是有固定周期的信号。
我用AT89C51的一个定时器(如T1)控制,在P3.4脚上输出方波周期信号,产生乐音。
根据不同的按键,调节T1的溢出时间,可输出不同频率的乐音,这样就做出了一台微型电子琴。
其中根据行列式非编码键盘工作原理设计一个(4*4)的键盘,当按键按下经过软件的扫描电路进行扫描扫到对应的按键根据对应的负值将频率所对应的负值放进对应寄存器警醒单片机p3.4引脚的频率控制输出,从而使不同按键按下中断得到不同频率的音乐。
每个乐音的音高(频率)是固定的,表1列出了一个8度以及其上下共16个音的音名、频率及定时器T1初值对照(设晶体频率为6MHz)。
四、输出音节和单片机定时器输出频率关系表格如下:序号音名频率(HZ)TH1 TL11 7 493.9 FEH 06H2 1 523.26 FEH 22H3 554.37 FEH 3DH4 2 587.34 FEH 56H5 622.26 FEH 6EH6 3 659.27 FEH 85H7 4 698.17 FEH 9AH8 740.00 FEH AEH9 5 784.00 FEH C1H10 830.62 FEH D3H11 6 880.01 FEH E4H12 932.34 FEH F4H13 7 987.78 FFH 03H14 1 1046.51 FFH 11H15 1108.75 FFH 1FH16 2 1174.68 FFH 2BH2硬件电路设计微型电子琴的电原理图见图1,其中键盘可使用小按键,排成钢琴键盘状(键多时可分为几排),图中还增加了一只按键指示灯(D1)。
基于51单片机的电子琴设计课程设计
![基于51单片机的电子琴设计课程设计](https://img.taocdn.com/s3/m/d943d8a3afaad1f34693daef5ef7ba0d4a736d8c.png)
目录前言 (2)第1章基于51单片机的电子琴设计 (3)1.1 电子琴的设计要求 (3)1.2 电子琴设计所用设备及软件 (3)1.3 总体设计方案 (3)第2章系统硬件设计 (5)2.1 琴键控制电路 (5)2.2 音频功放电路 (6)2.3 时钟-复位电路 (6)2.4 LED显示电路 (6)2.5 整体电路 (6)第3章电子琴系统软件设计 (7)3.1 系统硬件接口定义 (7)3.2 主函数 (8)3.2.1 主函数程序 (8)3.3 按键扫描及LED显示函数 (9)3.3.1 键盘去抖及LED显示子程序 (10)3.4 中断函数 (11)3.4.1 中断程序 (12)第4章电子琴和调试 (12)4.1 调试工具 (12)4.2 调试结果 (13)4.3 电子琴设计中的问题及解决方法 (14)第5章电子琴设计总结 (15)参考文献 (16)附录 (17)前言音乐教育是学校美育的主要途径和最重要内容,它在陶冶情操、提高素养、开发智力,特别是在培养学生创新精神和实践能力方面发挥着独特的作用。
近年来,我国音乐教育在理论与实践上都取得了有目共睹的成绩,探索并形成了具有中国特色的、较为完整的音乐教育教学体系。
但我国音乐教育的改革力度离素质教育发展的要求还存在一定距离。
如今,电子琴作为电子时代的新产物以其独特的功能和巨大的兼容性被人们广泛的接受和推崇。
而在课堂教学方面,它拥有其它乐器无法比拟的两个瞬间:瞬间多元素思维的特殊的弹奏方法;瞬间多声部(包括多音色)展示的乐队音响效果的特点。
结合电子琴自身强大的功能及独特的优点来进行音乐教育的实施,这样就应该大力推广电子琴进入音乐教室,让电子琴教学在音乐教育中发挥巨大的作用。
现代乐器中,电子琴是高新科技在音乐领域的一个代表,体现了人类电子技术和艺术的完美结合。
电子琴自动伴奏的稳定性、准确性,以及鲜明的强弱规律、随人设置的速度要求,都更便于人们由易到难、深入浅出的准确掌握歌曲节奏和乐曲风格,对其节奏的稳定性和准确性训练能起到非常大的作用。
实训项目五_基于AT89S51单片机多音阶电子琴的设计
![实训项目五_基于AT89S51单片机多音阶电子琴的设计](https://img.taocdn.com/s3/m/cb945e422b160b4e767fcfde.png)
实训项目五课题:基于AT89S51单片机多音阶电子琴的设计课型:理论课+实训课课时:6课时实训目的:1、掌握项目设计的完整实现流程。
2、掌握单片机模块化设计方法。
3、掌握矩阵键盘扫描程序设计。
4、掌握音频信号的程序设计方法。
重点难点:1、项目设计的完整实现流程。
2、矩阵键盘扫描程序设计。
3、音频频率的产生。
教具:1、网络教学软件;教学方法:讲授法、演示法教学过程:一、项目要求基于AT89S51单片机多音阶电子琴的设计如下:(1)、由4*4组成16个按键矩阵,设计成16个音阶。
(2)、可随意弹奏想要表达的音乐。
二、系统设计多音阶电子琴的设计以AT89S51单片机为主控芯片,使用4*4按键矩阵电路、功率放大电路、扬声器等各功能电路协调工作。
多音阶电子琴的主电路主要由4*4按键矩阵电路、功率放大电路、扬声器、复位电路、晶振电路、电源电路等几部分组成。
1、框图设计基于AT89S51单片机多音阶电子琴系统框图如图3-1所示。
2、知识点本项目需要通过学习和查阅资料,了解和掌握以下方面的知识:✧+5V电源原理及设计。
✧单片机复位电路工作原理及设计。
✧单片机晶振电路工作原理及设计。
✧4*4按键矩阵电路工作原理及设计。
✧音频集成功放LM386的特性及使用。
✧AT89S51单片机引脚。
✧单片机汇编语言及程序设计。
三、硬件设计1、电路原理图系统硬件连线如图3-2所示,单片机的P1.0端口的输出作为音频方法电路中的输入;把单片机的P3.0~P3.7端口分别作为4*4按键矩阵电路的行扫描和列扫描。
2、元件清单基于AT89S51单片机多音阶电子琴的设计的元件清单此处省略。
四、软件设计1、程序流程图主程序流程图和T0中断服务程序流程图如图3-4所示。
图1-3 多音阶电子琴的设计程序流程图2、程序清单KEYBUF EQU 30H ; KEYBUF定义为30HSTH0 EQU 31H ;STH0 定义为,31HSTL0 EQU 32H ;STL0 定义为,32HTEMP EQU 33H ;TEMP 定义为,33HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV TMOD,#01H ;设置定时器0的工作方式SETB ET0 ;设置定时器中断SETB EA ; 开总中断WAIT: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.4 ;清0 P3.4,按键的第一行扫描MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY1 ;LCALL DELY10MS ;延时10msMOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY1 ;MOV A,P3 ;ANL A,#0FH ;MOV KEYBUF,#0 ;LJMP DK1 ;NK1: CJNE A,#0DH,NK2 ; K1键按下MOV KEYBUF,#1 ;LJMP DK1 ;NK2: CJNE A,#0BH,NK3 ;K2键按下MOV KEYBUF,#2 ;LJMP DK1 ;NK3: CJNE A,#07H,NK4 ;K3键按下MOV KEYBUF,#3 ;LJMP DK1 ;NK4: NOP ;K4键按下DK1: MOV A,KEYBUFMOV B,#2MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;MOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,A ;MOV TH0,A ; 将数据高位送TH0INC TEMP ;MOV A,TEMP ;MOVC A,@A+DPTR ;MOV STL0,A ;MOV TL0,A ;将数据低位送TH0SETB TR0 ; 启动定时器T0DK1A: MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JNZ DK1A ;CLR TR0 ;关闭定时器T0NOKEY1: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.5 ;清0 P3.5,按键的第二行扫描MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY2 ;LCALL DELY10MS ; 延时10msMOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY2 ;MOV A,P3 ;ANL A,#0FH ;CJNE A,#0EH,NK5 ;MOV KEYBUF,#4 ;LJMP DK2 ;NK5: CJNE A,#0DH,NK6 ;K5键按下MOV KEYBUF,#5 ;LJMP DK2 ;NK6: CJNE A,#0BH,NK7 ;K6键按下MOV KEYBUF,#6 ;LJMP DK2 ;NK7: CJNE A,#07H,NK8 ;K7键按下MOV KEYBUF,#7 ;LJMP DK2 ;NK8: NOP ; K8键按下MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;MOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,A ;MOV TH0,A ;将数据高位送TH0INC TEMP ;MOV A,TEMP ;MOVC A,@A+DPTR ;MOV STL0,A ;MOV TL0,A ;将数据低位送TH0SETB TR0 ;启动定时器T0DK2A: MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JNZ DK2A ;CLR TR0 ; 关闭定时器T0NOKEY2: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.6 ; 清0 P3.6,按键的第三行扫描MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY3 ;LCALL DELY10MS ; 延时10msMOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY3 ;MOV A,P3 ;ANL A,#0FH ;CJNE A,#0EH,NK9 ;MOV KEYBUF,#8 ;LJMP DK3 ;NK9: CJNE A,#0DH,NK10 ;K9键按下MOV KEYBUF,#9 ;LJMP DK3 ;NK10: CJNE A,#0BH,NK11 ;K10键按下MOV KEYBUF,#10 ;LJMP DK3 ;NK11: CJNE A,#07H,NK12 ;K11键按下MOV KEYBUF,#11 ;LJMP DK3 ;NK12: NOP ; K12键按下DK3: MOV A,KEYBUF ;MOV B,#2 ;MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;MOV DPTR,#TABLE ;指向表头MOVC A,@A+DPTR ;查表MOV STH0,A ;MOV TH0,A ;将数据高位送TH0INC TEMP ;MOV A,TEMP ;MOVC A,@A+DPTR ;MOV STL0,A ;MOV TL0,A ;将数据低位送TH0ANL A,#0FH ;XRL A,#0FH ;JNZ DK3A ;CLR TR0 ;关闭定时器T0NOKEY3: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.7 ;清0 P3.7,按键的第四行扫描MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY4 ;LCALL DELY10MS ;延时10msMOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JZ NOKEY4 ;MOV A,P3 ;ANL A,#0FH ;CJNE A,#0EH,NK13 ;MOV KEYBUF,#12 ;LJMP DK4 ;NK13: CJNE A,#0DH,NK14 ; K13键按下MOV KEYBUF,#13 ;LJMP DK4 ;NK14: CJNE A,#0BH,NK15 ;K14键按下MOV KEYBUF,#14 ;LJMP DK4 ;NK15: CJNE A,#07H,NK16 ;K15键按下MOV KEYBUF,#15 ;LJMP DK4 ;NK16: NOP ; K16键按下DK4: MOV A,KEYBUF ;MOV B,#2 ;MUL AB ; 因为查表里都是字,所以乘2的查表数据MOV TEMP,A ;MOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,A ;MOV TH0,A ;将数据高位送TH0INC TEMP ;MOV A,TEMP ;MOVC A,@A+DPTR ;MOV STL0,A ;MOV TL0,A ;将数据低位送TH0SETB TR0 ;启动定时器T0DK4A: MOV A,P3 ;ANL A,#0FH ;XRL A,#0FH ;JNZ DK4A ;CLR TR0 ; 关闭定时器T0NOKEY4: LJMP WAIT ;DELY10MS: MOV R6,#10 ; 10ms延时子程序D1: MOV R7,#248 ;DJNZ R7,$ ;DJNZ R6,D1 ;RET ;INT_T0: MOV TH0,STH0 ; T0中断服务程序CPL P1.0 ; 输出方波RETI ;TABLE: DW 64021,64103,64260,64400 ;低3,低4,低5,低6DW 64524,64580,64684,64777 ;低7,中1,中2,中3DW 64820,64898,64968,65030 ;中4,中5,中6,中7DW 65058,65110,65157,65178 ; 高1,高2,高3,高4END;五、系统仿真及调时应用系统设计完成之后,就要进行硬件调试和软件调试了。
基于单片机的电子琴课程设计报告
![基于单片机的电子琴课程设计报告](https://img.taocdn.com/s3/m/085d5e7027284b73f2425084.png)
单片机原理及系统课程设计评语:考勤10分守纪10分过程30分设计报告30分答辩20分总成绩(100分)专业:自动控制班级:姓名:学号:指导教师:滕青芳兰州交通大学自动化与电气工程学院2014 年 1 月 15 日1 基于单片机的多音阶电子琴的设计1 设计题目本次单片机原理与系统课程设计题目是基于单片机的多音阶电子琴。
主要将十个音键制作成独立键盘,并用数码管进行显示。
本设计还预先存放一段音乐程序在芯片内,整个设计既可以作电子琴用又可以作音乐盒用,且带显示功能。
2 设计目的1、通过课程设计,使我们能够深入理解单片机系统的工作原理,接口电路的设计及调试方法,培养综合运用所学理论知识分析和解决实际问题的能力; 2、使用AT89C52芯片的串口功能,利用独立式键盘和AT89C52单片机以及扬声器实现乐曲的演奏;3、用keil 软件进行编程与调试,利用Proteus 7 Professional 软件进行绘制硬件电路图且进行仿真.3 设计方案及原理3.1 总体设计方案采用AT89C52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:四位数码管和NPN 型三极管及电阻等。
利用按键实现音符和音调的输入,两位的数码管进行被操作的按键显示,用NPN 型三极管8550实现低音频功率放大,最后用蜂鸣器发音。
3.2系统原理及结构本系统基本结构框图如图1所示。
发音单元显示模块AT89C52单片机按键模块图1 原理框图4 硬件设计4.1时钟电路单片机内部具有一个高增益反相放大器,用于构成振荡器。
通常在引脚XTALl 和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,如结构图2 中X1、C1、C2。
图 2 时钟电路4.2复位电路单片机系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。
上电复位要求接通电源后,自动实现复位操作。
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。
单片机课设设计论文:基于STC89C51单片机的简易电子琴设计
![单片机课设设计论文:基于STC89C51单片机的简易电子琴设计](https://img.taocdn.com/s3/m/bd09e83f4b73f242336c5f89.png)
单片机课程设计论文题目:基于单片机的简易电子琴设计学院:机电工程学院专业:电气工程及其自动化姓名: ### ### ###指导教师:完成日期: 2012-12-27目录摘要 (1)绪论 (2)1方案论证 (3)1.1原理图 (3)1.2主体方案 (3)1.3系统方案设计绍 (4)1.3.STC89C51简介 (5)1.3.1单片机工作原理 (8)1.3.2数码管 (13)2实现过程 (14)2.1.1 程序设计内容 (14)2.1.2 I/O并行口直接驱动LED显示 (14)2.2 音乐产生的方法 (15)2.2.1 原理 (15)2.2.2 程序框图 (16)3全文总结 (17)3.1结束语 (18)参考文献 (19)附录 (20)1.电路原理图 (20)2.程序框图 (21)3.系统流程图 (22)4.语言源程序 (23)摘要在现代各种生活中,电子琴作为一种音乐型玩具,广泛用于与人们的日常生活中。
市场上有各种各样的电子琴。
特别是日本产的,音质优美,它是有专门的音乐控制芯片制造的。
由于其价格较贵,无法大面积普及,且功能单一。
用89c51作为主控中心,研制一种简易的微型电子琴,尽可能地体现较好的音质来,是一种可做的尝试。
以单片机为核心设计的简易电子琴系统,由按键扫描电路、声音产生驱动电路、复位电路、等模块组成的,是一种比较实用、廉价的电子玩具。
本论文所设计的简易电子琴,它分为两大部分,硬件电路的设计和软件的设计。
硬件电路的设计以AT89S51单片机为控制主板,辅以外围的扩展设备蜂鸣器、矩阵键盘、共阳数码管,形成一个可被控制的显示系统。
软件设计通过控制单片机内部的定时器T0来产生不同频率的方波,驱动喇叭发出不同音节的声音.再利用延迟来控制发音时间的长短,即可控制音调中的节拍.把乐谱中的音符对应的频率转换为定时常数,把相应的节拍变换为定时常数,然后作成表格存放在储存器中,由程序查表得到定时常数和延时常数,分别用以控制定时器产生方波的频率和该频率方波的持续时间.当延迟常数到时,再查下一个音符的定时常数和延迟常数.依次进行下去,就可演奏悦耳动听的音乐.主要实现 1》能够发出1.2.3.4.5.6.7等七个音符。
基于单片机的电子琴设计
![基于单片机的电子琴设计](https://img.taocdn.com/s3/m/1f4cb96cf011f18583d049649b6648d7c0c70801.png)
基于单片机的电子琴设计一、引言二、总体设计方案(一)设计目标设计一款基于单片机的电子琴,能够实现基本的音符演奏、音色切换、节奏控制等功能,并且具有良好的音质和稳定性。
(二)系统组成本电子琴系统主要由单片机控制模块、键盘输入模块、音频输出模块、显示模块和电源模块等部分组成。
1、单片机控制模块选用 STM32 系列单片机作为控制核心,负责处理键盘输入信号、生成音频信号、控制显示等功能。
2、键盘输入模块采用矩阵键盘,通过扫描键盘获取用户的按键操作,将其转换为对应的音符编码发送给单片机。
3、音频输出模块使用DAC 芯片将单片机生成的数字音频信号转换为模拟音频信号,再通过放大器和扬声器输出声音。
4、显示模块采用液晶显示屏,用于显示当前的演奏状态、音色选择、节奏模式等信息。
5、电源模块为整个系统提供稳定的电源供应,可采用电池供电或外接电源适配器。
三、硬件设计(一)单片机最小系统STM32 单片机的最小系统包括时钟电路、复位电路和电源电路。
时钟电路为单片机提供工作时钟,复位电路用于系统初始化,电源电路为单片机提供稳定的电源。
(二)键盘电路矩阵键盘由行线和列线组成,通过逐行扫描的方式检测按键状态。
将键盘的行线和列线分别连接到单片机的 GPIO 引脚,通过编程实现键盘扫描和按键识别。
(三)音频输出电路选用高性能的 DAC 芯片,如 PCM1794,将单片机输出的数字音频信号转换为模拟音频信号。
为了提高音频输出的质量,还需要添加放大器和滤波电路,以增强信号的功率和去除噪声。
(四)显示电路液晶显示屏通过 SPI 接口或 I2C 接口与单片机连接,单片机通过发送指令和数据来控制显示屏的显示内容。
(五)电源电路根据系统的工作电压和电流需求,选择合适的电源芯片,如LM7805 等,将输入电源转换为所需的电压,并通过滤波电容等元件提高电源的稳定性。
四、软件设计(一)主程序流程主程序首先进行系统初始化,包括单片机初始化、键盘初始化、音频输出初始化、显示初始化等。
课程设计报告---基于单片机的电子琴设计
![课程设计报告---基于单片机的电子琴设计](https://img.taocdn.com/s3/m/97a72d2f02d276a201292e47.png)
课程设计报告---基于单片机的电子琴设计河南理工大学《单片机应用与仿真训练》设计报告基于单片机的电子琴设计姓名:郭鹏超王芳学号: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口产生不同频率使扬声器发出不同的音调。
本文主要对单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴的硬件组成。
并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。
利用单片机产生不同频率来获得我们要求的音阶,最终可以随意弹奏想要表达的音乐,还设计了一按键用来自动播放一首曲子。
基于单片机的电子琴设计
![基于单片机的电子琴设计](https://img.taocdn.com/s3/m/7f061cc303d276a20029bd64783e0912a2167c26.png)
基于单片机的电子琴设计电子琴是一种常见的乐器,通过电子元件和技术实现各种声音效果和音调的变化。
基于单片机的电子琴设计,使用单片机作为核心控制芯片,可以实现各种音色的生成、乐曲演奏和音调调整等功能。
一、基本原理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单片机的简易电子琴的设计与实现
![基于51单片机的简易电子琴的设计与实现](https://img.taocdn.com/s3/m/daa6e3cc5901020206409c51.png)
基于51单片机的简易电子琴设计一、设计任务及要求1、在该简易电子琴设计中,设置8个按键,8个按键能够发出do、re、mi、fa、sol、la、si、Do 8个音阶。
二、设计三个拨码开关,三个拨码开关能够调剂高音、中音、低音三个音调。
3、画出电路的整体方框图和电路原理图。
二、设计原理音乐由许多不同的音阶组成的,而每一个音阶对应着不同的频率,如此,咱们就能够够利用不同的频率组合,组成咱们想要的音乐。
简易电子琴是摁下拨码开关时,单片机AT89C51会发作声音,声音从端口通过LM386,通过放大以后传入喇叭。
声音主若是通过单片机4×4矩阵键盘的按键产生,那个地址只用到8个按键来产生高中低的8个音阶,来产生do re mi fa sol la si Do。
下面是计数初值:中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单片机为核心操纵元件,同时还包括键盘、拨码开关和扬声器等操纵模块,由键盘选择八个音阶。
一、电路原理图的整体设计整体电路需要c51单片机一片,音乐按键及喇叭等外围电路,要进行音调操纵和音频放大,设计好的电路图如以下图所示:2、键盘操纵模块的设计矩阵按键部份由8个轻触按键依照2行4列排列,连接到P3端口。
将行线所接的单片机的I/O口作为输出端,而列线所接的I/O,那么作为输入。
行线输出是低电平,有健按下,那么输入线就会被拉低,如此,通过读输入线的状态就可得知是不是有键按下。
(完整版)基于51单片机的电子琴毕业设计论文
![(完整版)基于51单片机的电子琴毕业设计论文](https://img.taocdn.com/s3/m/80fbf35d69eae009591bec17.png)
摘要本设计是基于AT89S52单片机的简易电子琴设计。
主要组成是以51单片机最小系统为核心,通过键盘获取按键信息,通过运用单片机定时器等部件实现蜂鸣器发声同时用数码管同步显示。
本系统具有播放歌曲及选取按键输入高、中、低音的功能。
本设计的特点是:大部分功能通过软件实现,使电路简单明了,系统稳定性好。
电子琴是电子科技与音乐结合的产物是一种新型的键盘乐器。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
关键字:AT89S52,按键,数码管,蜂鸣器,音阶。
(要求宋体、小四号,行间距为固定值22磅。
字数500字以上。
介绍你所作设计的主要内容及主要方法和取得的结果,是整个报告的概括性内容,不要超过一页面)目录(小三号居中,加粗)1 概述………………………………………………………………………………1.1 51系列单片机简介89系列单片机是ATMEL公司的8位FLASH单片机系列。
89系列单片机是以8031为核心构成的,它和8051系列单片机外部端子是一样的、兼容的,其最大特点是片内含有FLASH存储器。
AT89S52单片机是一种低功耗、高性能、内含4KB的闪速存储器(Flash Memory)的8位微控制器。
片内闪速存储器的程序代码或数据可在线写入,也可通过常规的编程器编程。
(宋体、小四,行间距固定值18磅。
以下相同要求)……………………1.2 电子琴简介电子琴为键盘乐器,采用半导体集成电路,对乐音信号进行放大,通过扬声器产生音响。
电子琴有多种类型,为业余型和专业型。
使用五线谱,多为高低音双行记谱。
有时也用中音谱。
电子琴又称作电子键盘,属于电子乐器,发音音量可以自由调节。
音域较宽,和声丰富,甚至可以演奏出一个管弦乐队的效果,表现力极其丰富。
基于单片机的电子琴的制作课程设计
![基于单片机的电子琴的制作课程设计](https://img.taocdn.com/s3/m/682fc87e1ed9ad51f01df237.png)
基于单片机的电子琴的制作课程设计1 概述1.1 设计目的通过对简易电子琴的课程设计,进一步加深对微机原理与单片机接口技术、模拟电子技术、数字电子技术等所学课程的了解和认识。
学习把理论知识运用于实践制作实物,锻炼自己独立动手能力,同时也要学会运用软件仿真,学习分析问题,解决问题的方法和途径。
了解电子琴发音原理,提升程序编写和运用的能力,充分利用自己专业知识,提高对本专业的学习兴趣。
1.2设计要求结合单片机AT89C52和所提供元件,设计一个简易电子琴通过按键可以实现哆来咪发嗦啦嘻7种音阶高低音调的发音,音阶数字的显示,以及歌曲的自动播放功能。
1.3 单片机发声原理声音的产生是一种音频振动的效果,振动的频率高则为高音,频率低则为低音,音频的范围为20Hz~200kHz之间,人类耳朵比较容易辨别的声音大概是200Hz~20kHz。
一般的音响电路是以正弦波信号驱动扬声器,产生悦耳的音乐,在数字电路里,则是以脉冲信号驱动扬声器以产生声音,同样的频率,脉冲信号或正弦波信号产生的音效,单片机发声是使用定时器产生声音所需频率的方波(脉冲信号),经放大整形后送杨声器发出一个音,再按节拍送下一频率的声音,声音的节拍由延时程序给定,也就是说其发声的原理是:音调由不同的频率产生,由延时程序产生节拍,由定时器定时产生方波频率,如1KHZ频率的声音,周期是1mS,正负半周各500μs,当用6MHZ晶体,定时方式1时,可计算定时器初值如下:(216-X)*12/6=500μS, X=65535-250=65285=FF05H。
2 系统总体方案及硬件设计2.1 总体方案本设计是为了实现电子琴发声控制系统,结合单片机AT89C52,通过控制单片机定时器的定时时间可以产生不同的频率脉冲,再用按键通过高低电平来控制7个音阶的高低两种音调,并用软件延时程序的调用来控制发音时间的长短。
把音乐的音符和相应的节拍变换为定时常数和延时常数,分别来控制定时器产生的脉冲频率和发出该脉冲的持续时间,再运用三极管及电阻组成的放大电路来实现低音平功率的放大,利用蜂鸣器作为发声部件,数码管作为显示部件。
基于51单片机的电子琴设计课程设计
![基于51单片机的电子琴设计课程设计](https://img.taocdn.com/s3/m/43e4ef4cf56527d3240c844769eae009581ba213.png)
基于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 整体电路本章将介绍电子琴的整体电路设计。
基于--单片机AT89C51电子琴课程设计报告
![基于--单片机AT89C51电子琴课程设计报告](https://img.taocdn.com/s3/m/b22197893b3567ec112d8a45.png)
基于AT89C51单片机的多音阶电子琴的设计摘要单片机是电子、计算机及机电专业的一门重要的必修课程。
要求我们掌握单片机的基本组成和工作原理、会变程序的一般编写方法、常用接口电路的软硬件设计方法,具备基本的单片机系统应用与开发能力。
随着科技的快速发展,单片机的应用日益普遍。
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本单片机系统设计应用单片机控制技术,用AT89C51单片机为核心控制元件根据本学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。
本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。
并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。
利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。
系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。
关键词:单片机、电子琴、AT89C51、独立键盘、目录第1 章引言......................................................................................................................... 1.1. 1 设计背景 (1)1.2 设计任务 (1)1.3 设计目的 (1)1.4 设计思路 (1)第2 章方案论证 (1)2.1 方案论证 (1)第3 章硬件系统设计 (2)3.1时钟电路 (2)3.2复位电路 (3)3.3 原理框图 (3)3. 4 显示部分设计 (3)3.5 按键部分设计 (4)3.6 发音部分设计 (5)第4 章软件系统设计 (5)4.1 系统分析 (5)4.2 参数计算 (7)4.3 程序设计 (8)第5 章实验结果 (10)5.1硬件调试 (10)5.2 软件调试 (10)5.3 仿真结果 (10)5.4 结果分析 (11)第6 章总结 (11)附录一:系统整体电路图 (12)附录二:元器件清单 (12)附录三:源程序代码 (13)参考文献 (19)第一章引言1.1 设计背景随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。
基于单片机的简易电子琴设计_毕业设计论文
![基于单片机的简易电子琴设计_毕业设计论文](https://img.taocdn.com/s3/m/e15f0dc37f1922791688e85a.png)
基于单片机的简易电子琴设计摘要随着科学技术的不断发展,单片机的应用日益成熟。
单片机集成度高、处理功能强大、价格低廉使其在各个领域得到广泛应用。
同时电子琴作科学技术与音乐共同发展的产物,在这个电子信息化的时代,为音乐的大众化做出了不可代替的贡献。
本文主要介绍一种基于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单片机的电子琴设计](https://img.taocdn.com/s3/m/52b478af0875f46527d3240c844769eae009a334.png)
基于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中读取曲目信息的功能。
基于AT89S52单片机的多音阶电子琴设计+答辩
![基于AT89S52单片机的多音阶电子琴设计+答辩](https://img.taocdn.com/s3/m/f8454f0952ea551810a68767.png)
2)音乐产生的方法:
一首音乐是许多不同的音阶组成的,而每个 音阶对应着不同的频率,这样我们就可以利 用不同的频率的组合,即可构成我们所想要 的音乐了,当然对于单片机来说产生不同的 频率非常方便,我们可以利用单片机的定时/ 计数器T0来产生这样方波频率信号,因此, 我们只要把一首歌曲的音阶对应频率关系弄 正确即可。
这次主要参考了网上的一个实 例,再加上了自己的一些补充。 我们主要针对这个设计的原理 和程序进行编写,从而来更好 的学习设计的方法和创新。虽 然我们现在并不能完全创新, 程序也很长,我们也不可能完 全靠自己编出来,但是我们以 弄懂原理为基础,根据每个程 序的功能各不相同来使程序简 化。确实在此过程中,我们对 已学过知识进行了巩固,也学 会了探究和把理论运用到实际 中去的能力。
6、总结
多音阶电子琴的 主要电路主要由4 X 4按键矩阵电路、 功率放大电路、 扬声器、复位电 路、晶振电路、 电源电路几部分 组成。
电子琴硬件电路部分设计
单片机的P1.0端口的输出做音频放大电路的输入,P3.0~P3.7 端口分别做4 X 4按键矩阵电路的行扫描和列扫描。
基于单片机的电子琴设计资料
![基于单片机的电子琴设计资料](https://img.taocdn.com/s3/m/e1317891c0c708a1284ac850ad02de80d4d806cc.png)
基于单片机的电子琴设计资料电子琴是一种电子乐器,通过电子回路和单片机控制,可以模拟出多种乐器的声音。
下面是一个基于单片机的电子琴设计资料,包括硬件设计和软件编程。
硬件设计:1.材料准备:选择一个适当大小的键盘,通常有8个到16个键位,每个键位可以连接到一个按钮开关。
2.连接按钮开关:将按钮开关连接到单片机的GPIO引脚上,通过读取引脚状态来检测按键的按下与释放。
3.音频输出:将单片机的数字音频输出连接到扬声器上,以发出相应的声音。
4.电源供应:提供适当的电源电压和电流给单片机和其他电子元件使用。
软件编程:1.初始化:在程序开始时,初始化单片机的GPIO引脚以及其他必要的外设,设置合适的时钟频率和中断设置。
2.按键扫描:通过循环遍历GPIO引脚,检测按钮开关的状态。
当检测到按键按下时,记录下按键对应的音符。
3.声音发生器:根据按键记录的音符,生成相应的音频信号。
可以使用一组预设的音符频率和振幅值,或者使用数学公式生成声音波形。
4.声音输出:将生成的音频信号发送到数字音频输出引脚,输出到扬声器上。
5.多音同步:为了更好的音乐体验,可以通过增加多音同步功能,使得按下多个按键时可以同时发出多个音符。
设计注意事项:1.硬件连接:确保正确连接按钮开关、声音输出和电源供应等元件,避免短路或其他电路问题。
2.音频信号处理:可以通过数字信号处理(DSP)算法对音频信号进行增强、滤波等处理,提高音质和音效。
3.功耗优化:在编程时,可以考虑使用低功耗模式以延长电子琴的电池寿命。
4.隔音材质:适当在琴身上加入隔音材质,减少按键和扬声器震动传递到外部的噪音。
总结:基于单片机的电子琴设计包括硬件连接和软件编程两个方面,硬件连接主要涉及键盘、按钮开关、扬声器和电源供应等元件的连接,软件编程则负责按键扫描、音频发生和音频输出等功能。
在设计过程中需注意硬件连接的正确性和优化声音效果,使得电子琴能够发出优美的音乐。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
六安职业技术学院课程设计课程名称:单片机原理及应用课题:基于单片机的多音阶电子琴的设计所在系部:信息工程系专业班级:应用电子0901学生姓名:周胜龙朱小运任印宇王振飞陈春娇肖丽汪涛戴宇指导教师:项莉萍起止时间:2011年6月7日—6月12日课程设计成绩评定表姓名周胜龙备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名朱小运备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名任印宇备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名王振飞备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名陈春娇备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名肖丽备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名汪涛备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日课程设计成绩评定表姓名戴宇备注:成绩等级:优(90分—100分)、良(80分—89分)、中(70分—79分)、及格(60分—69分)、60分以下为不及格。
指导教师评定成绩:指导教师签名:2011年 6 月20 日摘要随着科技的快速发展,单片机的应用日益普遍。
单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本单片机系统设计应用单片机控制技术,用AT89S51单片机为核心控制元件根据上学期所学的单片机知识结合设计了一套单片机控制的电子琴系统。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在现代音乐扮演着重要的角色。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
关键词:AT89C51;LM386;矩阵键盘行扫描;电子琴AbstractAlong with the rapid development of technology, SCM application increasingly common. SCM has strong control function and flexible programmable achieve properties, it has into modern people's life, be irreplaceable part. The application of SCM system design, using single-chip microcomputer control technology for the core control components AT89S51 SCM according to learned last term single-chip knowledge combine design a set of single-chip microcomputer control system of the keyboards. Modern electronic technology and keyboard is the combination of music, a new type of keyboard instrument, it is in the modern music playing an important role. Takes microcontroller as the master with a keyboard, core, core modules such as speaker, master control module on the module on the CAM with 16 keys and speakers. This system stable operation, its advantage is hardware circuit is simple, software function consummation, the control system is reliable, cost-effective higher, has certain practical and reference value.Keywords: AT89C51 single; LM386; Matrix keyboard scanning; keyboard目录一、课题意义 (1)二、功能要求 (1)三、方案设计 (1)四、硬件设计 (2)五、软件设计 (4)六、系统硬件、软件的调试及实物图 (13)单片机实训总结 (14)致谢 (22)参考文献 (23)一、课题意义电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,在现代音乐中扮演着重要的角色。
二、功能要求以AT89S51单片机为核心,设计一个由4×4矩阵式键盘组成,能提供16个音阶的电子琴,可随意弹奏想要表达的音乐。
三、方案设计多音阶电子琴的设计以AT89S51单片机为主控芯片,使4×4矩阵键盘电路、功率放大电路、扬声器等各功能电路协调工作。
多音阶电子琴的主电路主要由4×4矩阵键盘电路、功率放大电路、扬声器、复位电路、晶振电路、电源电路等几部分组成。
系统框图如图2-1所示。
图-1 基于AT89S51单片机多音阶电子琴系统框图四、硬件设计1. 电路原理图系统硬件连接如图2-2所示,单片机P1.0的输出作为音频放大电路的输入,P3口分别作为4×4矩阵键盘的行和列。
图-2 基于AT89S51单片机多音阶电子琴的电路原理图4×4矩阵键盘构成电子琴的键盘功能如图2-3 所示。
图-3 电子琴键盘功能2. 音频功率放大器LM386LM386是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点的功率放大器,广泛应用于录音机和收音机之中。
引脚如图2-4所示。
图-4 LM386引脚图3. 元器件清单基于AT89S51单片机多音阶电子琴的元件清单如表2-1所示。
五、软件设计1.程序流程图主程序流程图和T0中断服务流程图如图2-5所示(a) 主程序流程图(b) T0中断服务程序流程图图-5 主程序和T0中断服务程序流程图(1)4×4矩阵键盘识别处理键盘只简单地提供按键开关的行列矩阵。
有关按键的识别、键码的确定与输入、去抖等功能均由软件完成。
每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵的行线和列线通过P3口和单片机相连。
键盘处理程序的任务是:确定有无键按下,判断哪一个键按下,键的功能是什么,还要消除按键在闭合或断开时的抖动。
通过行线输出扫描码,使按键逐行动态接地,列线输入按键状态,无键按下,列线输入1,有键按下,列线输入0,由行扫描值和列线的回馈信号共同形成键编码而识别按键,通过软件查表,查出该键功能。
(2)如何产生音频信号一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,要产生音频脉冲,只要算出某一音频的周期(1/频率),将此周期除以2,即为半周期的时间,然后利用定时器定时此半周期时间,每当定时时间到后就将输出脉冲的I/O反相,不断重复,就可在I/O引脚上得到此频率的脉冲。
利用AT89S51单片机内部的定时器T0,让其工作在定时模式方式1下,改变计数值,就可以产生不同频率的音频信号,从而构成所想要的音乐。
AT89S51单片机采用12MHZ 晶振,高中低音符与单片机计数T0 相关的计数值如表2-2所示。
表2-2 音符频率表音乐的音拍以节拍为单位(C调),曲调值如表2-3所示。
表2-3 曲调值表2.系统程序清单KEYBUF EQU 30H ;KEYBUF定义为30HSTH0 EQU 31H ;STH0 定义为,31HSTL0 EQU 32H ;STL0 定义为,32HTEMP EQU 33H ;TEMP 定义为,33HORG 00HLJMP STARTORG 0BHLJMP INT_T0START: MOV TMOD,#01H ;设置定时器0的工作方式SETB ET0 ;设置定时器中断SETB EA ;开总中断WAIT: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.4 ; P3.4清0,按键的第一行扫描 MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1LCALL DELY10MS ;延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY1MOV A,P3ANL A,#0FHCJNE A,#0EH,NK1MOV KEYBUF,#0LJMP DK1NK1: CJNE A,#0DH,NK2 ; K1键按下MOV KEYBUF,#1LJMP DK1NK2: CJNE A,#0BH,NK3 ;K2键按下MOV KEYBUF,#2LJMP DK1NK3: CJNE A,#07H,NK4 ;K3键按下MOV KEYBUF,#3LJMP DK1NK4: NOP ;K4键按下DK1: MOV A,KEYBUFMOV B,#2MUL AB ;因为查表里都是字,所以乘2的查表数据 MOV TEMP,AMOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,AMOV TH0,A ; 将数据高位送TH0INC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,A ;将数据低位送TH0SETB TR0 ; 启动定时器T0DK1A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK1ACLR TR0 ;关闭定时器T0NOKEY1: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.5 ;清0 P3.5,按键的第二行扫描MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2LCALL DELY10MS ; 延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY2MOV A,P3ANL A,#0FHCJNE A,#0EH,NK5MOV KEYBUF,#4LJMP DK2NK5: CJNE A,#0DH,NK6 ;K5键按下MOV KEYBUF,#5LJMP DK2NK6: CJNE A,#0BH,NK7 ;K6键按下MOV KEYBUF,#6LJMP DK2NK7: CJNE A,#07H,NK8 ;K7键按下MOV KEYBUF,#7LJMP DK2NK8: NOP ;K8键按下DK2: MOV A,KEYBUFMOV B,#2MUL AB ;因为查表里都是字,所以乘2的查表数据 MOV TEMP,AMOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,A ;MOV TH0,A ;将数据高位送TH0INC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,A ;将数据低位送TH0SETB TR0 ;启动定时器T0DK2A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK2ACLR TR0 ; 关闭定时器T0NOKEY2: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.6 ; 清0 P3.6,按键的第三行扫描 MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3LCALL DELY10MS ; 延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY3MOV A,P3ANL A,#0FHCJNE A,#0EH,NK9MOV KEYBUF,#8LJMP DK3NK9: CJNE A,#0DH,NK10 ;K9键按下MOV KEYBUF,#9LJMP DK3NK10: CJNE A,#0BH,NK11 ;K10键按下MOV KEYBUF,#10LJMP DK3NK11: CJNE A,#07H,NK12 ;K11键按下MOV KEYBUF,#11LJMP DK3NK12: NOP ; K12键按下DK3: MOV A,KEYBUFMOV B,#2MUL AB ;因为查表里都是字,所以乘2的查表数据MOV TEMP,AMOV DPTR,#TABLE ;指向表头MOVC A,@A+DPTR ;查表MOV STH0,AMOV TH0,A ;将数据高位送TH0INC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,A ;将数据低位送TH0SETB TR0 ;启动定时器T0DK3A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK3ACLR TR0 ;关闭定时器T0NOKEY3: MOV P3,#0FFH ;设置P3口为输入模式CLR P3.7 ;清0 P3.7,按键的第四行扫描 MOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4LCALL DELY10MS ;延时10msMOV A,P3ANL A,#0FHXRL A,#0FHJZ NOKEY4MOV A,P3ANL A,#0FHCJNE A,#0EH,NK13MOV KEYBUF,#12LJMP DK4NK13: CJNE A,#0DH,NK14 ; K13键按下MOV KEYBUF,#13LJMP DK4NK14: CJNE A,#0BH,NK15 ;K14键按下MOV KEYBUF,#14LJMP DK4NK15: CJNE A,#07H,NK16 ;K15键按下MOV KEYBUF,#15LJMP DK4NK16: NOP ; K16键按下DK4: MOV A,KEYBUFMOV B,#2MUL AB ; 因为查表里都是字,所以乘2的查表数据 MOV TEMP,AMOV DPTR,#TABLE ; 指向表头MOVC A,@A+DPTR ; 查表MOV STH0,AMOV TH0,A ;将数据高位送TH0INC TEMPMOV A,TEMPMOVC A,@A+DPTRMOV STL0,AMOV TL0,A ;将数据低位送TH0SETB TR0 ;启动定时器T0DK4A: MOV A,P3ANL A,#0FHXRL A,#0FHJNZ DK4ACLR TR0 ; 关闭定时器T0NOKEY4: LJMP WAITDELY10MS: MOV R6,#10 ; 10ms延时子程序D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RETINT_T0: CPL P1.0 ; T0中断服务程序,输出方波MOV TH0,STH0MOV TL0,STL0RETITABLE: DW 64021,64103,64260,64400 ;低3,低4,低5,低6 DW 64524,64580,64684,64777 ;低7,中1,中2,中3 DW 64820,64898,64968,65030 ;中4,中5,中6,中7 DW 65058,65110,65157,65178 ;高1,高2,高3,高4 END六、系统硬件、软件的调试及实物图1.硬件调试硬件调试主要是针对单片机部分进行调试。