单片机电子琴实验报告

合集下载

电子琴的实验报告

电子琴的实验报告

电子琴的实验报告 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】单片机课程设计设计题目电子琴指导老师:苏参与实验者: moxiaoxiao专业:统本电信0801地点:3#楼北楼605电子琴一.设计目的:(1).培养综合运用知识的能力(2).朋友查阅资料,使用工程设计标准及编写设计文档的能力.(3).掌握单片机应用系统的设计方法.(4).提高计算机绘图能力二.设计任务:利用DP51PROC实验系统上的定时器/计数器,按键和蜂鸣器单元。

用单片机I/O口线控制蜂鸣器发出不同的音调,程序检测按键状态,7个按键中某一键按下时,蜂鸣器对应标称音阶.三.设计与调试环境KEIL uVision2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM ,汇编和 C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

1:按下面的步骤建立一个项目:图 1-4 选取芯片图 1-5 新建程序文件(1)点击图1-5 中的 3 保存新建的程序,也可以用菜单 File-Save 或快捷键 Ctrl+S 进行保存。

因是新文件所以保存时会弹出类似图1-3 的文件操作窗口,我们把第一个程序命名为,保存在项目所在的目录中,这时程序单词有了不同的颜色,说明 KEIL 的 C 语法检查生效了。

如图1-6 鼠标在屏幕左边的 Source Group1 文件夹图标上右击弹出菜单,在这里可以做项目中增加减少文件等操作。

我们选“Add File to Group‘SourceGroup 1’”弹出文件窗口,选择刚刚保存的文件,按 ADD 按钮,关闭文件窗,程序文件已加到项目中了。

这时在 Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴

北邮,单片机,实验报告,电子琴北邮单片机实验报告简易电子琴2014年小学期单片机设计实验报告题目:基于单片机的电子音乐发生器班级:班内序号:实验组号:学生姓名:指导教师:基于单片机的电子音乐发生器实验摘要此次本组制作的基于PIC单片机的电子音乐发生器是具有LCD显示屏提示的音乐简单演奏、播放、存储等功能的演示作品,拥有以下4种功能:1.按键演奏:即“电子琴”功能,可以用键盘上的“1”到“A”键演奏从低音sol到高音do等11个音;2.点歌功能:即按动“B”“C”键分别演奏两首乐曲(可以表现准确的音高和音长)。

3.存储音乐功能:即按右下角“F存储”键,然后按键演奏并存储,随后按“E”键结束,之后按“D键”就可以播放存储的乐曲了;4.液晶显示功能:即在开始时显示“hello!”,在点播时分别显示“song b”、“song c”,在存储时显示“saving”。

电子音乐发生器采用以Microchip公司的PIC16F877芯片为核心的简单控制系统,外部电路连接有喇叭、键盘、LCD液晶显示屏以及其他必要系统调节元件。

软件设计中涉及PORTB\PORTC\PORTD\PORTE用作普通数字I/O脚功能。

本实验用单片机PORTB\D接收来自键盘输入的指令信息,由此确定LCD液晶屏幕显示以及喇叭播放内容,再通过PORTC\D\E输出声音或字幕信息。

关键字单片机——microcontroller芯片——CMOS chip音乐发生器——music generator 分频——fractional frequency 一、实验论证与比较本设计的核心器件是单片机芯片和音频功放芯片。

单片机采用以Microchip公司的PIC16F87X系列中的PIC16F877芯片为核心构建简单控制系统,它完全可以满足本设计功能的需要。

此音乐发生器设计利用单片机的输入输出功能,当按下播放功能键时,单片机的输出功能使外部电路连接的喇叭和LCD液晶显示屏同时播放声音及显示文字,从而实现各种复杂音乐播放器的功能。

单片机电子琴的实验报告

单片机电子琴的实验报告

姓名:班级:学号:小班学号:同组姓名:电子邮件:实验课题:基于AVR单片机电子琴的制作实验日期:2013.09.02—2013.09.15目录:一、实验简介1.1实验目的 (4)1.2实验关键词 (4)1.3基础知识 (4)二、实验器材2.1核心部件:ATmega16单片机 (5)2.2电路元件 (6)2.3管脚说明 (6)三、实验原理3.1实验原理图 (7)3.2实验流程图 (8)3.3实物效果图 (8)四、操作过程与运行结果4.1操作过程示意图 (9)4.2电子琴系统主要部分 (11)4.3具体操作过程 (11)4.4运行结果 (12)五、实验中的排错、体会与建议5.1调试与排错过程 (12)5.2体会与建议 (14)5.3小组分工 (15)5.4参考文献 (15)六、附录6.1流水灯实验 (16)6.2蜂鸣器实验 (17)6.3秒表实验 (18)6.4简易交通灯实验 (25)6.5电子琴源代码 (30)一、实验简介1.1实验目的通过设计一个模拟电子琴系统熟悉ATmega16单片机的使用及其基本功能。

使其能够通过键盘控制实现播放预存音乐,弹奏、储存弹奏音乐,变速播放,暂停及继续播放,停止播放功能。

1.2实验关键词按键检测预存播放弹奏储存变速暂停停止1.3基础知识声波是振动产生的。

频率即表示每秒钟振动的次数,采用CTC方式时avr 单片机通过特定的端口(PD4及PD5)输出一定频率的方波,TCCR1A设为比较匹配时OC1A/OC1B电平取反,TCCR1B的计数上限为OC1A,根据公式OCnA=f/2N(1+OCRnA)计算出7个频率音阶所需的OCR1A,则只需将喇叭接在PD4或PD5,通过程序控制端口输出特定频率的方波波形(发声使用正弦波最好,方波效果稍次但影响不大),喇叭就会发出七种不同的声音,依照人听觉分辨7个音阶分为三组,分别为高,中,低音阶频率,经计算可得,当OCR1A=(8000000/musicmem[i]-1)时,{131,147,165,175,196,220,247}存放低音阶频率,{262,294,330,349,392,440,494}存放中音阶频率,{524,588,660,698,784,880,988}则存放高音阶频率,所以需要定义三个数组存放各音阶的频率值。

单片机创新实验报告--基于单片机的电子琴电路设计

单片机创新实验报告--基于单片机的电子琴电路设计

Liaoning Normal University开放实验室项目研究论文题目:基于单片机的电子琴电路设计学院:物理与电子技术学院专业:电子信息工程班级序号:学号:学生姓名:指导教师:2011年12月基于单片机的电子琴电路设计学生:指导教师:物理与电子技术学院电子信息工程专业2009级摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

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

本文的主要内容是用AT89c51 单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16 个按键和扬声器。

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

关键词:电子琴; AT89C51;编程;可控前言随着大规模集成电路的出现和发展,芯片生产厂家把中央处理器CPU,随机存取内存RAM,只读存储器ROM,定时器/计数器以及I/O接口电路等主要计算机部件,集成在一块集成电路芯片(硅片)上,形成芯片级计算机,称为单片微型计算机,直译为单片机。

单片机虽只是一个芯片,但从组成和功能上看,它已具有了微机系统的含义,又称微型处理部件MCU(Micro Controller Unit),单片机商品名称为微控制器单元。

虽然单片机出现的历史并不长,但发展十分迅猛,在集成度、功能、速度、可靠性、应用领域等全方位向更高水平发展。

目前单片机已用于工业控制、机电一体化设备、仪器仪表、信号处理、现代兵器、交通能源、商用设备、医疗设备及家用电器等各个领域,随着单片机性能的不断提高,它的应用将会更加广泛。

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

51单片机设计电子琴报告含代码

51单片机设计电子琴报告含代码

电子琴设计报告一、实验目的1.更深刻的了解、学习8051单片机的发声原理,利用定时器可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。

2.其次,定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平,由于定时参数不同,所以发出不同频率的脉冲。

3.进一步熟悉定时器的编程方法和定时初值的计算,进一步熟悉键盘扫描电路的工作原理和编程方法,了解单片机芯片的接口技术。

二、实验要求1.能够通过键盘演奏音符。

2.能够保存演奏的音乐,并实现回放。

3.有音调调整功能(如:C调,G调)。

4.自由发挥其他功能。

5.要求有单片机硬件系统框图,电路原理图,软件流程图。

三、实验基本原理简易电子琴有主控、蜂鸣器、键盘输入、电源四部分组成。

主控部分以AT89S52 为核心,用C 语言编程,充分运用AT89S52 的8k字节闪烁可编程可擦除只读存储器及其丰富的I/O 口,实现了对键盘数据的采集,和对蜂鸣器声音的控制;键盘输入部分采用4×4的键盘键盘输入,可以实现多个音调;供电部分可对整个电路进行供电。

经测试,整机基本实现预计功能,可以实现键盘演奏音符、调整音调、保存并回放的功能。

四、实验设计分析根据实验所要求实现的功能设计实现该项实验设计的软件电路及硬件电路。

五、实验要求实现A.电路设计1. 整体设计计划利用AT89S52 单片机的功能结合C 语言编程,实现电子琴播放音符等的简单功能,然后结合AT89S52 单片机的控制功能,利用蜂鸣器将输入表达出来,结合程序编制过程中,对各个I/O 的利用设置了键盘的扫描读入,结合电子琴需要多键位的现实,加入了4×4 键盘输入,达到了预期的效果。

2.分块设计1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

单片机小制作报告电子琴-5页精选文档

单片机小制作报告电子琴-5页精选文档

单片机电子琴制作报告这是一款采用89S52单片机控制的8键简易电子琴,用到了单片机定时器和键盘的知识。

一、功能说明:由单片机的P1.0口输出音频信号,在P1.0口接三极管以驱动扬声器喇叭。

P2口连接8个一端接地的按键做为输入,可以连接8只10K的电阻至电源做为上拉电阻(也可以不加)。

P2.0至P2.7依次为Do、Re、Mi、Fa、So、La、Si、Do(高音)。

二、软件仿真:1、先用proteus软件做出仿真电路原理图。

(带上拉电阻时原理图)(无上拉电阻,总线结构原理图)(运行中的原理图)2、再用keil软件编辑汇编代码,联机进行仿真功能的检验。

(keil与proteus联机仿真中)三、汇编代码:BUZZ EQU P1.0ORG 0000HLJMP MAINORG 000BHLJMP INT_T0ORG 0100HMOV 30H,#00MOV 31H,#00MOV P1,#0FFHMOV TMOD,#01HSETB ET0SETB EACLR TR0START: MOV R0,P2CJNE R0,#0FFH,KEY1CLR TR0SJMP STARTKEY1: CJNE R0,#0FEH,KEY2MOV 30H,#0FBHMOV 31H,#0E9HLJMP SET_TIMERKEY2: CJNE R0,#0FDH,KEY3MOV 30H,#0FCHMOV 31H,#5CHLJMP SET_TIMERKEY3: CJNE R0,#0FBH,KEY4MOV 30H,#0FCHLJMP SET_TIMERKEY4: CJNE R0,#0F7H,KEY5MOV 30H,#0FCHMOV 31H,#0EFHLJMP SET_TIMERKEY5: CJNE R0,#0EFH,KEY6MOV 30H,#0FDHMOV 31H,#045HLJMP SET_TIMERKEY6: CJNE R0,#0DFH,KEY7MOV 30H,#0FDHMOV 31H,#92HLJMP SET_TIMERKEY7: CJNE R0,#0BFH,KEY8MOV 30H,#0FDHMOV 31H,#0D6HLJMP SET_TIMERKEY8: CJNE R0,#7FH,NOKEY MOV 30H,#0FDHMOV 31H,#0FBHSET_TIMER:SETB TR0SJMP STARTNOKEY: CLR TR0SJMP STARTINT_T0: MOV TH0,30HMOV TL0,31HCPL BUZZRETIEND四、实物图希望以上资料对你有所帮助,附励志名言3条:1、生气,就是拿别人的过错来惩罚自己。

基于单片机的简易电子琴设计(报告)

基于单片机的简易电子琴设计(报告)

学科类别:工科北京邮电大学自主创新实验简易电子琴的制作题目:学院:专业:年级:姓名:完成日期:摘要随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。

我们都会抽空欣赏世界名曲,作为对精神的洗礼。

本论文设计一个基于单片机的简易电子琴。

我们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

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

本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

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

关键词:AT89S52单片机音色节拍器自动放音引言单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。

它的应用必定导致传统的控制技术从根本上发生变革。

因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。

电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。

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

本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。

以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。

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

利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。

并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。

单片机电子琴实训报告

单片机电子琴实训报告

一、实训目的1. 熟悉单片机的基本原理和编程方法。

2. 学习电子琴的原理和结构。

3. 掌握基于单片机的电子琴设计方法。

4. 培养动手实践能力和创新意识。

二、实训内容1. 单片机原理与编程2. 电子琴原理与结构3. 单片机电子琴设计4. 单片机电子琴制作与调试三、实训过程1. 单片机原理与编程在实训初期,我们学习了单片机的基本原理和编程方法。

单片机是一种集成了CPU、存储器、输入/输出接口等功能的微型计算机,具有体积小、功耗低、成本低等特点。

我们学习了51系列单片机的结构、指令系统、程序设计方法等。

2. 电子琴原理与结构电子琴是一种通过电子电路发出不同音阶声音的乐器。

我们学习了电子琴的原理和结构,包括音源模块、键盘模块、音量控制模块等。

3. 单片机电子琴设计在设计阶段,我们根据所学知识,设计了基于单片机的电子琴。

具体如下:(1)硬件设计电子琴的硬件主要由单片机、键盘、蜂鸣器、音量控制模块等组成。

我们选择了STC89C51单片机作为核心控制单元,键盘采用矩阵键盘,蜂鸣器用于发出声音,音量控制模块用于调节音量。

(2)软件设计软件设计主要包括以下几个部分:1)初始化:设置单片机的工作模式、初始化定时器、初始化键盘扫描等。

2)键盘扫描:检测键盘是否被按下,并读取按键值。

3)音阶生成:根据按键值计算对应的频率,通过定时器产生PWM信号,驱动蜂鸣器发出声音。

4)音量控制:根据音量控制模块的输入,调节PWM信号的占空比,实现音量控制。

5)音乐播放:存储一首或多首歌曲,通过键盘控制播放、暂停、停止等操作。

4. 单片机电子琴制作与调试在制作阶段,我们根据设计方案,搭建了电子琴的硬件电路,并编写了相应的程序。

在调试过程中,我们遇到了以下问题:(1)键盘扫描不稳定:经过分析,发现是由于按键抖动引起的。

我们通过软件去抖动的方法解决了这个问题。

(2)音阶不准确:经过分析,发现是由于定时器设置不当引起的。

我们调整了定时器的计数值,使音阶更加准确。

电子琴实习报告

电子琴实习报告

电子琴实习报告篇一:电子琴设计实习报告单片机原理与应用技术课程设计报告基于单片机的电子琴控制系统专业班级:* 姓名:*时间:~指导教师:*XX年 1月 10日基于单片机的电子琴控制系统课程设计任务书1.设计目的与要求设计出一个基于单片机的电子琴控制系统。

准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能:(1)实现基本的音符1-7的弹奏和数码显示。

(2)自动弹奏播放一首简单的歌曲。

(3)随机弹奏曲子时,可以实时记忆,并可复读(重复播放)。

(扩展功能,可选择设计)2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH 文件生成与打印输出。

3.编写设计报告写出设计的全过程,附上有关资料和图纸,有心得体会。

4.答辩在规定时间内,完成叙述并回答问题。

基于单片机的电子琴控制系统班级:* 姓名:*摘要:电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,采用半导体集成电路,对乐音信号进行放大,通过扬声器产生音响。

用户可以自己弹奏乐曲,也可以自动伴奏。

单片机具有强大的控制功能和灵活的编程实现特性,便于设计各种以单片机为核心的控制系统。

本课程设计是用AT89S51单片机为核心控制元件,用其他外围电路配合单片机组成一个简单的电子琴控制系统,能实现音乐弹奏,自动播放音乐等功能。

本系统功能由单片机控制实现,具有运行稳定,电路简单,软件功能完善,控制系统可靠等特点。

关键词:电子琴,单片机,外围电路,系统分析,汇编程序,仿真,PCB,调试1 引言本次设计的电子琴控制系统由单片机最小系统加上按键电路,数码显示电路,声音播放电路组成,通过单片机内烧写的汇编程序来输出控制信号控制外围电路的工作。

电子琴设计不同于其他设计,需要输出1到7七个不同音阶的声音,因此信号的输出有其特殊性,可以利用单片机定时计数器产生不同频率的方波信号来形成七个不同的音阶,不同音阶的组合就能输出我们想要的音乐了。

单片机实验报告_电子琴

单片机实验报告_电子琴

随着科技的飞速发展,单片机技术已成为现代电子技术的重要分支。

为了更好地学习和掌握单片机编程及应用,我们设计并实现了一款基于单片机的简易电子琴。

本实验旨在通过设计一个简易电子琴,让学生深入了解单片机的原理和应用,提高动手实践能力。

二、实验目的1. 掌握单片机的基本原理和编程方法。

2. 学会使用定时器、中断、键盘扫描等技术。

3. 了解电子琴的工作原理和制作方法。

4. 培养学生的创新意识和团队协作能力。

三、实验原理本实验采用STC12C5A32S2单片机作为核心控制单元,通过定时器产生方波信号,驱动蜂鸣器发出不同频率的声音,实现电子琴的演奏功能。

具体原理如下:1. 单片机原理:STC12C5A32S2单片机是一款高性能、低功耗的单片机,具有丰富的片上资源,如定时器、中断、串口等。

2. 定时器:定时器用于产生固定频率的方波信号,驱动蜂鸣器发出不同频率的声音。

通过调整定时器的计数值,可以改变方波信号的频率,从而改变音调。

3. 中断:中断技术用于实现按键扫描功能。

当按键被按下时,单片机响应中断,读取按键状态,并产生相应的音调。

4. 键盘扫描:键盘扫描技术用于检测按键状态。

通过扫描键盘矩阵,可以判断哪个按键被按下,并产生相应的音调。

四、实验内容1. 硬件设计:主要包括单片机、蜂鸣器、键盘、电阻、电容等元器件。

将元器件按照电路图连接,形成电子琴的硬件电路。

2. 软件设计:主要包括主程序、定时器中断服务程序、按键扫描程序等。

通过Keil C编程,实现电子琴的演奏功能。

3. 调试与测试:对电子琴进行调试和测试,确保其能够正常工作。

1. 搭建电路:按照电路图连接元器件,形成电子琴的硬件电路。

2. 编写程序:使用Keil C编写主程序、定时器中断服务程序、按键扫描程序等。

3. 编译程序:将编写好的程序编译成HEX文件。

4. 烧录程序:将编译好的HEX文件烧录到单片机中。

5. 调试与测试:使用万用表测试电路是否正常工作,并对程序进行调试,确保电子琴能够正常演奏。

实验一 多功能电子琴实验报告

实验一 多功能电子琴实验报告

题目: 多功能电子琴设计课程: 复杂电子线路综合设计专业: 电子信息科学与技术班级: 电子信息学号:姓名:指导老师:完成日期:目录1.引言************************************************************************12.设计要求*************************************************************1 2.1基本功能******************************************************12.2扩展功能******************************************************13.设计方案********************************** *************************13.1多功能电子琴的功能介绍*********************1 3.2 电子琴的主要硬件电路*************************13.2.1 矩阵键盘***********************************************13.2.2复位电路*************************************************23.2.3功放电路**************************************************23.2.3.1 386概述***************************************23.2.3.2 386特性*************************************** 23.3 软件系统设计**********************************************34.设计成本**************************************************************45.方案样品测试***************************************************45.1技术参数*********************************************************46.使用说明**************************************************************47.设计的最终结果***********************************************51.引言由于单片机有丰富的I/O口资源, 每个I/O口除了可以做普通的输出/输入功能外, 还具有第二功能。

电子琴报告

电子琴报告

单片机原理及应用实验报告实验名称:电子琴设计组员:实验成绩:实验日期: 2013年6月17日实验地点: 3#北604实验报告一、实验目的以51单片机最小系统为核心,通过键盘获取按键信息,运用单片机定时器等部件实现蜂鸣器发声同时用数码管同步显示,同时该系统具有播放歌曲及选取按键输入高、中、低音的功能。

二、实验原理1、利用蜂鸣器作为发声部件。

2、两个数码管作为显示部件。

3、设置10个按键,实现高音、中音、低音的1、2、3、4、5、6、7的发音。

4、大部分功能通过软件实现。

软件的结构图如下单片机键盘电路显示电路蜂鸣器电路复位电路程序流程图如下:三、系统仿真图整体仿真图:开始初始化检测中断按键音乐播放程序按键扫描程序结束Y 发声程序是否有按键按下键值判断Y动态显示放声部分按键四、心得体会看似简单的题目,实际操作中,仍旧存在很多问题,尤其是在程序中的数码管显示的模块中,和键值的计算容易出问题。

五、源码附录//*******初始化数据*****//void init(void){speaker=0;//关蜂鸣器LED1=1;//LED2=0;EA=1;//开总中断TCON=0x01;//外部中断0设置为边沿触发EX0=1;//开外部中断0ET0=1;//开定时器0中断ET1=1;//开定时器1中断TMOD=0x11;//定时器0,1工作在定时状态,均为方式1 }#include<reg52.h>#define uint unsigned int#define uchar unsigned charsbit P1_0=P1^0;sbit P1_1=P1^1;sbit P1_2=P1^2;sbit P1_3=P1^3;sbit P1_4=P1^4;sbit P1_5=P1^5;sbit P1_6=P1^6;sbit P1_7=P1^7;sbit LED1=P2^6;sbit LED2=P2^7;sbit change=P3^2;sbit high=P3^5;sbit normal=P3^4;sbit low=P3^3;sbit P2_0=P2^0;sbit P2_1=P2^1;sbit speaker=P2^2;unsigned char i;unsigned char key,yin=0;uchar m,n;bit a=0;//a为change键的键值uchar seg[]={ 0x3F,/*0*/0x06,/*1*/0x5B,/*2*/0x4F,/*3*/0x66,/*4*/0x6D,/*5*/0x7D,/*6*/0x07,/*7*/0x7F,/*8*/0x6F,/*9*/0x37,/*N*///中音0x38,/*L*///低音0x76,/*H*///高音0x79 /*E*/};//共阴极数码管code unsigned char FH[]={ 0xFC,0xFC,0xFD,0xFD,0xFD,0xFD,0xFE,//中音0xF9,0xF9,0xFA,0xFA,0xFB,0xFB,0xFC,//低音的高8位0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFF,};// 音阶频率表低八位code unsigned char FL[]={ 0x8E,0xED,0x44,0x6B,0xB4,0xF4,0x2D,//中音0x21,0xDB,0x87,0xD7,0x68,0xE8,0x5B,//低音的低8位0x47,0x77,0xA2,0xB6,0xDA,0xFA,0x16,};code uchar star[]={1,2,3,1, 1,2,3,1, 3,4,5, 3,4,5, 5,6,5,4,3,1, 5,6,5,4,3,1, 1,12/*低音5*/,1, 1,12,1};code uchar shijian[]={4,4,4,4, 4,4,4, 4, 4,4,8, 4,4,8, 2,1,2,1,4,4, 2,1,2,1,4,4, 4,4,6, 4,4,6};void init(void);void music();void play();void seg1();void yinjie();/*********主程序*****////void main(){init();while(1){if(a==0)music();elseplay();}}//*******1ms延迟********//void delay(uint x){uint i,j;for(i=x;i>0;i--)for(j=340;j>0;j--);}//*******初始化数据*****//void init(void){speaker=0;LED1=1;LED2=0;EA=1;//开总中断TCON=0x01;//外部中断0设置为边沿触发EX0=1;//开外部中断0ET0=1;ET1=1;TMOD=0x11;//定时器0,1工作在定时状态,均为方式1}///******数码管动态显示*******/////void seg1(){P2_0=1;//关数码管1P2_1=0;//开数码管2P0=seg[n+1];//送数码管2的数据delay(15);//延时15msP2_1=1;//关数码管2P2_0=0;//开数码管1P0=seg[yin];//yin为high,normal,low的判断结果送数码管1的数据delay(15);//延时15ms}//********高低音的选择*******//////void yinjie(){if(normal==0){delay(5);if(normal==0){ yin=10;m=0;//返回10为seg[10]显示C}}if(low==0){delay(5);if(low==0){ yin=11;m=1;//返回11为seg[11]显示L}}if(high==0){delay(5);if(high==0){ yin=12;m=2;//返回12为seg[12]显示H}}if(yin==0){yin=13;}}//********外部中断0********//void inter0() interrupt 0{if(change==0){delay(5);while(change==0);a=~a;LED1=~LED1;LED2=~LED2;}}/////*******播放音乐程序*****//// void music(){TH0=FH[star[i]-1];TL0=FL[star[i]-1];while(a==0){if(i<32){TR0=1;delay(57*shijian[i]);i++;}if(i==32){i=0;}}}////*******演奏模式*****//////void play(){TR0=0;TR1=0;yinjie();P2_1=1;//关数码管2P2_0=0;//开数码管1P0=seg[yin];if(yin!=13&&a==1){if(P1_0==0){TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_0==0){ n=0;seg1();}}if(P1_1==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_1==0){ n=1;seg1();}}if(P1_2==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_2==0){ n=2;seg1();}}if(P1_3==0){TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_3==0){ n=3;seg1();}}if(P1_4==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_4==0){ n=4;seg1();}}if(P1_5==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_5==0){ n=5;seg1();}}if(P1_6==0){ TH1=FH[7*m+n];TL1=FL[7*m+n];TR1=1;while(P1_6==0){ n=6;seg1();}}}}//******定时器0中断******//////void timer0() interrupt 1{ TR0=0;TH0=FH[star[i]-1];TL0=FL[star[i]-1];speaker=~speaker;TR0=1;}//******定时器1中断******//////void timer1() interrupt 3{ TR1=0;TH1=FH[7*m+n];TL1=FL[7*m+n];speaker=~speaker;TR1=1;}。

基于51单片机的简易电子琴汇编程序实验报告

基于51单片机的简易电子琴汇编程序实验报告

单片机应用课程设计报告——简易电子琴电子信息科学与技术2013-2xxx单片机应用课程设计报告——简易电子琴xxx摘要本设计是一个基于AT89C52系列单片机的简易电子琴,通过硬件电路制作以及软件编译,设计制作出一个由按键电路、复位电路、数码管显示电路,定时器及蜂鸣器组成简易的电子琴。

通过键盘按键确定键号送去显示以及产生对应的频率的方波。

本次实验的难点是键盘的扫描程序设计,因为本次实验实用的键盘是通过P3.4-P3.7端口输入测试信号,从P3.0-P3.3端口进行检测的,涉及到端口的读入写出原理等问题,后来通过先送出F0数值使低四位处于读入状态,高四位处于输出状态等方法实现。

还有一个问题是如何使单片机产生确定频率的波形,后来利用定时器计时结束后的溢出信号,控制信号反转实现。

关键词:电子琴扫描式键盘数码管1、设计任务和要求1.1设计任务利用AT89C52单片机以及各种元器件自行设计编程制作一个简易电子琴。

1.2任务要求基本要求:利用查询式键盘,数字键1、2、3、4、5、6、7作为电子琴的按键,按键按下时发出Do、Re、Mi、Fa、So、La、Xi的声音。

在弹奏音乐的同时将音符显示在数码管上。

扩展要求:具备存储播放所弹奏的音乐的功能,用三个功能键进行切换状态:按一下按键控制是否进入存储状态。

;按键二控制是否进入演奏状态;按键三为复位键。

1.3方案论证(1)如何产生一定频率的方波信号首先我们知道,每一个音符都有一个固定的频率,当蜂鸣器根据不同频率的方波信号便会震动产生对应的音符。

其次要产生音频脉冲,只要算出某一音频的周期(1/f),然后将此周期除以2,即为半周期的时间,由于使用的是12MHz的晶振,所以每一个计数的脉冲长度为1us,脉冲的个数用半周期时间除以1us,用65536减去脉冲的个数便可以得到计数初值。

利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。

单片机实验报告 电子琴

单片机实验报告 电子琴

单片机实验报告电子琴单片机实验报告电子琴引言:电子琴是一种流行的乐器,它通过电子元件产生声音,具有丰富的音色和音效。

在本次实验中,我们使用单片机来设计和制作一个简单的电子琴,通过按键触发不同的音调,实现基本的音乐演奏功能。

本文将介绍电子琴的原理、设计过程和实验结果。

一、原理电子琴的原理是基于音频合成技术,通过控制不同频率的声音波形来产生不同的音调。

而单片机作为电子琴的控制核心,负责接收按键信号,并通过输出引脚控制声音的发声。

具体来说,单片机通过读取按键的状态,判断按键是否按下,并根据按键的不同触发相应的音调发声。

二、设计过程1. 硬件设计在硬件设计方面,我们需要准备以下元件:单片机、按键、蜂鸣器、电阻、电容等。

首先,将按键连接到单片机的输入引脚上,以便检测按键的状态。

然后,将蜂鸣器连接到单片机的输出引脚上,以便通过控制引脚输出高低电平来实现声音的发声。

最后,根据需要添加电阻和电容等元件,以保证电路的稳定性和正确性。

2. 软件设计在软件设计方面,我们需要使用单片机的编程语言来实现电子琴的功能。

首先,我们需要设置单片机的输入引脚和输出引脚,并定义按键的状态和蜂鸣器的控制信号。

然后,我们需要编写程序来实现按键的检测和音调的控制。

具体来说,当按键按下时,单片机会读取按键的状态,并根据不同的按键触发不同的音调,同时控制蜂鸣器的输出信号,以实现声音的发声。

三、实验结果在实验过程中,我们成功地设计和制作了一个简单的电子琴。

通过按下不同的按键,我们可以听到不同的音调发声,从而演奏出简单的音乐。

实验结果表明,我们设计的电子琴具有良好的音效和音色,能够满足基本的音乐演奏需求。

结论:通过本次实验,我们深入了解了电子琴的原理和设计过程,并成功地制作了一个简单的电子琴。

通过单片机的控制,我们可以实现按键触发不同音调的发声,从而演奏出简单的音乐。

电子琴作为一种流行的乐器,具有广泛的应用和发展前景。

通过不断的学习和实践,我们相信可以设计出更加复杂和高级的电子琴,为音乐爱好者提供更多的乐器选择和音乐表达方式。

单片机实验- 电子琴模拟实验

单片机实验-  电子琴模拟实验

实验二十一电子琴模拟实验一、实验目的1、了解单片机系统发声原理2、进一步熟悉定时器编程方法3、进一步熟悉键盘扫描电路工作原理及编程方法二、实验说明1.利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调。

2.定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平.由于定时参数不同,就发出了不同频率的脉冲. 本实验中当有键按下,会发出连续脉冲,直到按键松开,才停止发音。

发完后继续检测键盘,如果键还按下,继续发音。

三、实验步骤利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

用P3.2 口发出音频脉冲,驱动喇叭。

1、用8P数据线连接单片机最小应用系统1模块的 P1口到查询式键盘模块KEY1-KEY8口,用二号导线连接单片机最小应用系统1模块INT0(P3.2)口到扬声器模块的输入口。

2、用串行数据通信线连接计算机与仿真器,把仿真器插到单片机最小应用系统1模块的锁紧插座中,请注意仿真器的方向:缺口朝上。

3、打开Keil uVision2仿真软件,首先建立本实验的项目文件,接着添加“TH21_电子琴.ASM”源程序,进行编译,直到编译无误。

4、打开模块电源和总电源开关,点击开始调试按钮,点击RUN按钮运行程序。

5、实验现象:按查询式键盘的1~7键,扬声器发出高低不同的声音。

四、实验流程图及源程序1、源程序:PULSE EQU 10H ;脉冲PULSECNT EQU 50H ;脉冲计数TONEHIGH EQU 40H ;高音调TONELOW EQU 41H ;低音调TONE EQU 42H ;音调KEYBUF EQU 54HSPEAKER BIT P3.2ORG 0000HLJMP STARTORG 000BHLJMP TIMER0INTORG 0030HTIMER0INT: PUSH PSW ;定时中断CLR TR0MOV TH0, TONEHIGHMOV TL0, TONELOWSETB TR0MOV C, PULSEMOV SPEAKER,CCPL PULSEPOP PSWRETITONETABLE: DW 64578,64686,64778,64821DW 64898,64968,65029TESTKEY: MOV P1, #0FFHMOV A, P1CPL A ; 读入键状态RETKEYTABLE:DB 0FEH,0FDH,0FBH,0F7HDB 0EFH,0DFH,0BFH,07FH ; 键码定义GETKEY: MOV R6, #10ACALL DELAYMOV A,P1CJNE A, #0FFH, K01 ;确有键按下LJMP MLOOPK01: MOV R3, #8 ;8个键MOV R2, #0 ;键码MOV B, A ;暂存键值MOV DPTR, #KEYTABLEK02: MOV A, R2MOVC A, @A+DPTR ;从键值表中取键值CJNE A, B, K04 ;键值比较MOV A, R2 ;得键码INC ARETK04: INC R2 ;不相等,到继续访问键值表DJNZ R3, K02MOV A, #0FFH ;键值不在键值中,即多键同时按下 LJMP MLOOPDELAY: MOV R7, #0DELAYLOOP: DJNZ R7, DELAYLOOPDJNZ R6, DELAYRETSTART: MOV SP, #70HMOV TMOD, #01 ; TIMERMOV IE, #82H ; EA=1, IT0 = 1 MOV TONE, #0MLOOP: CALL TESTKEYJZ MLOOPCALL GETKEYMOV B, AJZ MLOOP ; = 0, < 1ANL A, #8JNZ MLOOP ; > 8DEC BMOV A, BRL A ; A = A*2MOV B, AMOV DPTR, #TONETABLEMOVC A, @A+DPTRMOV TONEHIGH, AMOV TH0, AMOV A, BINC AMOVC A, @A+DPTRMOV TONELOW, AMOV TL0, ASETB TR0MOV P1,#0FFHWAIT: MOV A, P1CJNE A, #0FFH, WAITMOV R6, #10ACALL DELAYCLR TR0LJMP MLOOPEND2.流程图五、实验思考题1、请思考实验是怎样在硬件与软件上实现发声的?2、本程序中断子程序的调用是怎样进行的?六、实验电路图本实验用到单片机最小应用系统1模块,查询式键盘模块, 扬声器模块。

单片机的简易电子琴设计报告..

单片机的简易电子琴设计报告..

设计摘要本设计主要研究基于AT89C52单片机的简易电子琴设计。

它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单器件如:两位数码管,和NPN型三极管及电阻等。

利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后用蜂鸣器进行播放“送别”。

本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。

其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。

(1)最小系统:它是单片机应用系统的设计基础。

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

(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。

(3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。

(4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。

本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。

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

利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。

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

目录1.概述 (4)1.1设计背景 (4)1.2设计意义 (4)1.3设计任务 (4)2.系统总体方案及硬件设计 (5)2.1总体设计 (5)2.2单片机选型 (6)2.3单片机的最小工作系统 (6)2.3.1 时钟电路 (6)2.3.2复位电路 (7)2.4原理框图 (7)2.5显示部分设计 (8)2.5.1数码显示方式 (8)2.5.2八位数码管的结构 (8)2.6按键部分设计 (9)2.6.1操作键设计 (9)2.6.2键盘设计 (9)2.6.3去抖动 (10)2.7发音部分设计 (11)3.系统软件设计 (12)3.1系统分析 (12)3.1.1系统软件的组成 (12)3.1.2 系统总体功能流程图 (13)3.2参数计算 (14)3.2.1发音原理 (14)3.2.2 计算举例 (14)3.2.3 计算结果 (14)3.3程序设计 (16)3.3.1 判断音阶(高中低音)子程序 (16)3.3.2 播放子程序(包括自动播放存储音乐和按键发音) (17)4. PROTEUS软件仿真 (19)4.1硬件调试 (19)4.2软件调试 (19)4.3仿真结果(任举一例) (20)4.4结果分析 (20)5. 课程设计体会 (21)参考文献 (22)附1 源程序代码 (23)附2 系统原理图 (32)1.概述1.1设计背景随着电子科学技术的飞速发展,电子技术正在逐渐改善着人们的学习、生活、工作,因此开发本系统希望能够给人们带来更多的生活乐趣。

北邮小学期AVR单片机电子琴实验报告

北邮小学期AVR单片机电子琴实验报告

小学期AVR单片机实验报告实验题目:基于ATmega16L单片机的电子琴设计学生姓名:学渣班级:2012XXXXXX班内序号:XX学号:2012XXXXXX日期:2014年9月30日同组同学:学渣目录:一、实验介绍 (3)1.1实验课题名称 (3)1.2实验平台 (3)1.3实验课题关键字..............................31.4实验摘要 (3)二、小组分工 (3)三、基本题目训练——流水灯与数码管秒表计时器 (3)3.1实现功能 (3)3.2程序代码分析 (4)3.3实验结果图片 (7)四、有关发声的基础知识 (7)五、电子琴的设计与测试 (9)5.1设计过程 (9)5.2实验所需元器件 (9)5.3实验程序主要流程图 (10)5.4实验原理及原理图 (10)5.4.1实验原理 (10)5.4.2原理图 (11)5.5各个模块的设计与讲解 (11)5.6程序源代码及程序分析 (14)5.7实验结果..................................... ..24六、排错过程............................ . (26)七、心得体会 (29)八、参考文献 (32)九、意见与建议 (33)一、实验介绍:1.1实验课题名称:基于ATmega16L单片机的电子琴设计1.2实验平台:本实验所用平台为AVR Studio 41.3实验课题关键字:ATmega16L型单片机电子琴键盘按键 LCD液晶显示屏1.4实验摘要:本实验设计的电子琴拥有可视化操作界面,能实现即时弹奏音乐、音乐播放、音乐变速、音乐变调,并可以进行任意长度录音(通过按键记录音阶)等功能二、小组分工:●XXX负责电路硬件的连接和报告的撰写●XXX负责程序代码的编写●XXX负责资料的收集整理和查阅三、基本题目训练——流水灯与数码管秒表计时器3.1功能:八盏LED二极管按顺序依次循环点亮,实现流水灯的效果,同时两只数码管分别代表秒和十分之一秒,进行秒表计时,配有两个按键,实现计时过程中的暂停和继续,同时在按下暂停键的时候蜂鸣器会响一声。

电子琴实验报告

电子琴实验报告

电子琴实验报告一,实验目的1. 学习使用AT89S52单片机的功能,进行单片机编程,实现键盘演奏音乐的功能,进一步加深对于单片机功能实现过程的理解,强化单片机编程的能力。

2. 设计实现各种功能,包括对音乐的录音以及回访放能,要求能实现各种不同音调,在编程过程中必须考虑到各种细节,例如按键的干扰问题以及滞键。

二,实验要求基本要求:1:能够通过键盘演奏音符。

2:能够保存演奏的音乐,并实现回放。

3:有音调调整功能(如:C调,G调)。

4: 自由发挥其他功能.5: 要求有单片机硬件系统框图,电路原理图,软件流程图。

三,实验基本原理在单片机的设计中,电子琴是一个典型的例子,电子琴的实现需要用到单片机AT89S52、蜂鸣器等模块。

而在本次的实验中,我们利用简单的模块,实现了一个简单的电子琴功能,使用单片机可以驱动蜂鸣器发出声音,还可以控制其发出不同的音调,在一首歌曲里面,不同的音阶对应着不同的频率,在蜂鸣器的发音原理里面,我们只需要给蜂鸣器输入不同的脉冲,蜂鸣器就会发出对应的声音,因此,我们只需要弄明白音阶对应的脉冲就可以了。

在键盘控制中,每个按键对应不同的音阶,按键按下的时候,单片机程序里面都会执行一次程序判断是否有前一次的按键被按下,按键按下以后会控制单片机对蜂鸣器输出不同频率的方波,每种情况对应不同的音阶或者音调。

一首歌曲就是有不同的音阶构成,从而就实现了电子琴的功能。

四,实验设计分析针对要实现的功能,采用AT89S52单片机进行设计,AT89S52单片机是一款低功耗,高性能CMOS8位单片机,片内含4KB在线可编程(ISP)的可反复擦写1000次的Flash只读程序存储器,器件采用高密度、非易失性存储技术制造,兼容标准MCS- 51指令系统及80C51引脚结构。

这样,既能做到经济合理又能实现预期的功能。

在设计程序的时候,分析道电子的功能有三个模块构成,分别是单片机本身,键盘按键输入和蜂鸣器的功能响应。

单片机电子琴实验报告

单片机电子琴实验报告

单片机及DSP课程设计报告专业:通信工程班级:姓名:学号:指导教师:李贺时间:2015-06-22~2015-07-03通信与电子工程学院基于单片机的电子琴设计一、课设的目的及内容本设计主要是用单片机为核心控制元件,设计一台电子琴。

以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。

本系统主要是完成的功能:电子琴弹奏并显示所按的按键对应音的唱名。

关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

总之,本设计的电子琴有以下要求:(1)用键盘作出电子琴的按键,共7个,每键代表1个音符。

各音符按照符合电子琴的按键顺序排列;(2)达到电子琴的基本功能,可以用弹奏出简单的乐曲;(3)在按下按键发出音符的同时显示出音符所对应的唱名即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7(xi)。

二、问题分析、解决思路及原理图本系统采用STC89C52RC为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。

其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。

由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应音符的唱名,这样既节省了成本,又降低了编程难度。

图1如图1所示基于单片机STC89C52RC的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。

三、硬件设计(一)琴键控制电路琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。

本设计采用独立式键盘的思路。

独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机电子琴实验报告标准化管理部编码-[99968T-6889628-J68568-1689N]
单片机及DSP课程设计报告
专业:通信工程
班级:
姓名:
学号:
指导教师:李贺
时间:2015-06-22~2015-07-03
通信与电子工程学院
基于单片机的电子琴设计
一、课设的目的及内容
本设计主要是用单片机为核心控制元件,设计一台电子琴。

以单片机作为主控核心,与键盘、蜂鸣器、数码管等模块组成核心主控制模块,在主控模块上设有7个按键和1个复位按键。

本系统主要是完成的功能:电子琴弹奏并显示所按的按键对应音的唱名。

关于声音的处理,使用单片机C语言,利用定时器来控制频率,而每个音符的符号只是存在自定义的表中。

总之,本设计的电子琴有以下要求:
(1)用键盘作出电子琴的按键,共7个,每键代表1个音符。

各音符按照符合电子琴的按键顺序排列;
(2)达到电子琴的基本功能,可以用弹奏出简单的乐曲;
(3)在按下按键发出音符的同时显示出音符所对应的唱名
即1(dao)、2(ruai)、3(mi)、4(fa)、5(sao)、6(la)、7
(xi)。

二、问题分析、解决思路及原理图
本系统采用STC89C52RC为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。

其中,输入电路有7个独立按键,通过按键随意按下所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在蜂鸣器中发出有效的声音。

由于需要显示的信息不多,显示电路未采用液晶屏显示,而是使用数码管显示电路负责显示按下的琴键所对应音符的唱名,这样既节省了成本,又降低了编程难度。

图1
如图1所示基于单片机STC89C52RC的电子琴电路,它主要由琴键控制电路、数码管显示电路、音频功放电路和时钟-复位电路四部分所构成。

三、硬件设计
(一)琴键控制电路
琴键控制电路作为人机联系的输入部分,也是间接控制数码显示和音频功放的重要组成部分。

本设计采用独立式键盘的思路。

独立式键盘的特点是一键一线,各键相互独立,每个键各接一条I/O口线,通过检测I/O输入线的电平状态,可判断出被按下的按键。

显而易见,这样电路简单,各条检测线独立,识别按下按键的软件编写简单。

适用于键盘按键数目较少的场合,不适用于键盘按键数目较多的场合,因为将占用较多的I/O口线。

独立式键盘的7个独立按键分别对应一个I/O口线,当某一按键按下时,对应的检测线就变成了低电平,与其它按键相连的检测线仍为高电平,只需读入
I/O输入线的状态,判别哪一条I/O输入线为低电平,很容易识别哪个键被按下。

(二)数码管显示电路
LED(Light Emitting Diode)发光二极管缩写。

LED数码管是由发光二极管构成的。

常见的LED数码管为“8”字型的,共计8段。

它由七个条形发光二极管和一个小圆点发光二极管组成,每一段对应一个发光二极管。

一般来说分共阳极和共阴极两种接法,如图二所示为八段LED数码管结构及外形。

图二
共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示,如图二a所示。

反之,共阴极发光二极管的阴极连在一起,通常公共阴极接地。

当阳极为高电平时,发光二极管点亮,如图二b所示。

LED数码管的a至g七个发光二极管因接得电压不同而导致不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,如表一所示为八段LED数码管的字形码表。

表一
本设计所采用的是共阴二极管。

(三)音频功放电路
本设计采用蜂鸣器作为音频发生的设备,而若将蜂鸣器的正极直接与单片机端口相连,由于单片机端口的电流值太小而无法驱动蜂鸣器发声,所以本设计采用三极管放大电流的方法来完成目的的,如图三所示,
图三
(四)时钟、复位电路
1、时钟电路
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。

常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

STC89C52内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。

这两个引脚跨接石英晶体振荡器
和微调电容,构成一个稳定的自激振荡器,图四是STC89C52内部时钟方
式的电路,C1和C2的典型值通常选择为30pF,石英晶体常选6MHz或
12MHz的。

本设计采用内部时钟方式做时钟电路
图四
2、复位电路
单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使STC89C52复位。

这些操作都是由复位电
路来实现。

在单片机的实用系统中,一般有两种复位操作形式:上电复位
和手动复位。

上电复位在单片机系统每次通电时执行。

上电时,电容C充
电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C的充电过
程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C充电时间。

为保证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。

手动
复位在系统出现操作错误或程序运行出错时使用。

在单片机系统运行过程
中,按下复位键,高电平输入RST引脚,单片机被强制执行复位操作,系
统可以退出错误运行状态,恢复正常工作。

四、软件设计
1、硬件接口定义
若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。

利用定时器计时半周期时间,每当计时终止后就
将反相,然后重复计时再反相。

就可在引脚上得到此频率的脉冲。

利用
STC89c52的内部定时器使其工作计数器模式(MODE1)下,改变计数值TH0及
TL0以产生不同频率的方法产生不同音阶。

例如,频率为523Hz,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO
(523Hz)。

计数脉冲值与频率的关系式是:N=fi÷2÷fr,式中,N是计数
值;fi是机器频率(晶体振荡器为12MHz时,其频率为1MHz);fr是想要产
生的频率。

其计数初值T的求法如下:T=65536-N=65536-fi÷2÷fr 例
如:设K=65536,fi=1MHz,求中音DO(261Hz)。

T=65536-N=65536-
fi÷2÷fr=65536-1000000÷2÷fr=65536-500000/fr,中音DO的T=
65536-500000/523=64580。

3.程序流程
主函数运用模块化的思想,流程如图所示。

初始化函数
流程图如下图所示,该函数对所需的I/O口、定时器0以及数码管蜂鸣器进行初始化配置。

sbit SPK=P3^3; 片机原理及应用(第二版)[M].北京:高等教育出版社,2010.
[2] 阎石.数字电子技术基础(第五版)[M].北京:高等教育出版社,2010.
[3]袁东.51单片机应用开发实战手册[M].北京:电子工业出版社,2011.
[4]林立.单片机原理及应用——基于Proteus和KeilC[M].北京:电子工业出版社,2009.。

相关文档
最新文档