简易电子琴设计

合集下载

简易电子琴设计

简易电子琴设计

项目步骤
3. 调试与测试
确保液晶显示屏能够正确显示当前演奏的乐曲和模 式
检查各个按键是否能够正常触发音符播放
对演奏模式进行测试:确保其能够按照预期工作
对整个系统进行调试和优化:确保其稳定性和可靠 性
4. 优化与改进
项目步骤
根据需要优化代码:以提高 系统的性能和稳定性 添加更多的音符和演奏模式 :以提高电子琴的演奏能力 和趣味性 改进外观设计:使电子琴更 加美观和易于使用 添加更多的智能化功能:如 语音控制、蓝牙连接等,使 电子琴更加智能化和便捷
20XX
简易电子琴设计
-
1 项目背景
目录
CONTENTS
2 项目目标Βιβλιοθήκη 3 技术栈4 项目步骤
5 项目成果展示与评估
2
1
项目背景
项目背景
简易电子琴设计 是一种基于
Arduino平台的创 新项目,旨在通 过编程和电子技 术实现一种能够 演奏简单乐器的
智能化设备
简易电子琴设计正是这样一个项目,它不仅具有趣 味性,还能激发人们对科技的兴趣和热爱
根据电路图连接各个组件的 引脚
确保所有组件正确连接并能 够正常工作
项目步骤
2. 编程设计
项目步骤
在Arduino IDE中创建一个新 的项目 使用按键库和蜂鸣器库来控 制按键矩阵和蜂鸣器 通过编程实现不同的按键对 应不同的音符播放 设计乐曲的演奏模式:例如 顺序演奏、随机演奏等 将编程好的代码上传到 Arduino Uno板中
随着人工智能和 物联网技术的快 速发展,越来越 多的人开始关注 智能硬件的创新
应用
2
项目目标
项目目标
实现简易电 子琴的硬件 组装和电路

简易电子琴的设计[优秀范文五篇]

简易电子琴的设计[优秀范文五篇]

简易电子琴的设计[优秀范文五篇]第一篇:简易电子琴的设计毕-1毕业设计任务书专业:班级:学生签名:一、设计题目简易电子琴的设计二、设计内容要求和技术参数(1)要求能够发出1、2、3、4、5、6、7等七个音符。

(2)使用元件:AT89C51、LM324,喇叭,按键等三、设计应完成的技术资料(1)写出设计过程(包括原理、方案)(2)系统硬件图并描述各部分的功能(3)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高(4)写出此次设计的心得体会四、设计考核的主要知识与技能本课题是电子技术与单片机混合的综合性课题,主要考核《电子技术》与《单片机》的基本知识和应用能力。

五、设计时间:六、指导教师签名:第二篇:简易电子琴电路的设计电子综合实训任务书学生姓名:专业班级:指导老师:易迎彦工作单位:武汉理工大学理学院题目:简易电子琴电路的设计初始条件:直流可调稳压电源一台、万用表一块、面包板一块、元器件若干、剪刀、镊子等必备工具要求完成的主要任务:(包括电子综合实训工作量及其技术要求以及说明书撰写等具体要求)1、技术要求:设计一个玩具电子琴,设8个琴键,分别代表1、2、3、4、5、6、7、į八个不同音符,每按下一个琴键,扬声器发出一个音符的声音。

演奏时的音量和节拍可以调节2、主要任务:(一)设计方案(1)按照技术要求,提出自己的设计方案(多种)并进行比较;(2)以CC7555时基集成电路为主,设计一个玩具电子琴电路(实现方案);(3)依据设计方案,进行预答辩;(二)实现方案(4)根据设计的实现方案,画出电路逻辑图和装配图;(5)查阅资料,确定所需各元器件型号和参数;(6)在面包板上组装电路;(7)自拟调整测试方法,并调试电路使其达到设计指标要求;(8)撰写设计说明书,进行答辩。

3、撰写电子综合实训说明书:封面:题目,学院,专业,班级,姓名,学号,指导教师,日期任务书目录(自动生成)正文:1、技术指标;2、设计方案及其比较;3、实现方案;4、调试过程及结论;5、心得体会;6、参考文献成绩评定表时间安排:电子综合实训时间:19周-20周19周:明确任务,查阅资料,提出不同的设计方案(包括实现方案)并答辩; 20周:按照实现方案进行电路布线并调试通过;撰写电子综合实训说明书。

简易电子琴的设计

简易电子琴的设计

简易电子琴的设计
一、设计题目:设计一简易电子琴,要求能够发出1、2、3、4、5、6、7 等七个音符。

使用元件:AT89C51、LM324,喇叭,按键等二、设计目的
(1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。

(2)熟悉8051 单片机的内部结构和功能,合
理使用其内部寄存器,能够完成相关软件编程设计工作。

(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。

(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。

三、系统硬件图流程图:原理:(一)音乐产生原理及硬件设计由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音
阶对应频率关系弄正确即可。

tips:感谢大家的阅读,本文由我司收集整编。


供参阅!。

简易电子琴设计报告(完整版)

简易电子琴设计报告(完整版)

中南民族大学课程设计题目简易电子琴学院计算机科学学院专业班级姓名指导教师2010 年 6 月23 日电子技术课程设计任务书设计题目:简易电子琴学生姓名:专业班级:学号:指导教师签名:年月日一、设计条件1.可选元件(或自备元件):运放:若干功放:若干电阻、电容、电位器:若干2.可用仪器:万用表,示波器,毫伏表,信号发生器,直流稳压源二、设计任务及要求1.设计任务根据技术要求和已知条件,完成对简易电子琴电路的设计、装配和调试。

2.设计要求(1)按下不同琴键即改变RC 值,能发出C 调的八个基本音阶。

采用运放构成振荡电路,用集成功放电路输出。

八个基本音阶C 调对应频率如下表所列:C 调 1 2 3 4 5 6 7 i f 0 / Hz264297330352396440495528(2)选择电路方案,完成对确定方案电路的设计。

计算电路元件参数,选择元件,画出总体电路原理图,阐述基本原理。

(用Proteus 或MultiSim 软件完成仿真)(3)安装调试并按规定格式写出课程设计报告书。

三、时间安排1.第10周:布置设计任务,讲解设计要求、实施计划、设计报告等要求。

完成选题。

2.第10 ~ 14周:完成资料查阅、设计、仿真。

3.第15 ~ 16周:制作和调试,完成课程设计报告撰写。

4.第16 ~ 17周:提交课程设计报告,课程设计验收,答辩。

目录摘要 (3)关键词 ....................................................................................................................................... 3 1 绪论 ....................................................................................................................................... 3 2 技术指标及要求 . (3)2.1 设计任务及要求 ........................................................................................................ 3 2.2 设计思想 .................................................................................................................... 4 3 方案论证及整体电路工作原理 . (4)3.1 方案论证 .................................................................................................................... 4 3.2 整体电路工作原理 .................................................................................................... 5 4 单元电路设计:计算,元器件选择及电路图 . (5)4.1 RC 串并联选频网络电阻的选择 ................................................................................ 5 4.2 滤波电容的选择 ........................................................................................................ 6 4.3 电路图如下所示 ........................................................................................................ 7 5 Multisim 仿真结果显示 ......................................................................................................... 7 6课程设计成果展示: .......................................................................................................... 10 7元件及器件明细 .................................................................................................................. 11 8成果评价,设计特点,存在的问题及改进意见 .. (11)8.1 成果放入评价: (11)正弦波 发生器 功率 放大 扬 声器八只 按键8.2 本次设计的特点 (11)8.3存在的问题和改进的意见 (12)9设计总结: (12)10附录: (12)摘要简易电子琴一般是由正弦波产生电路,功率放大电路和滤波电路组成。

简易电子琴设计

简易电子琴设计

简易电子琴设计简易电子琴是一种小型的电子乐器,通常由键盘、振荡器和音频放大器等组成。

在这篇文档中,我将讨论如何设计一个简易电子琴,并提供一些有用的技巧和建议。

首先是电子琴的键盘设计。

一个常见的设计是使用数字编码器。

这种编码器可以将按键转换为电路信号,并将信号传输到微控制器。

然后,微控制器会读取信号并产生相应的音符。

这样,使用数字编码器可以大大简化电子琴的设计和构造。

另一个设计选择是使用弹簧开关。

这种开关通常用于电子琴和其他类型的音乐键盘上。

它们是非常可靠的,并且对于手指触感来说非常好。

但是,制作这种开关需要很高的技术水平和精巧的工艺。

接下来是电子琴的振荡器设计。

振荡器是电子琴最重要的部分之一,因为它决定了音符的音高。

一种常见的振荡器类型是RC振荡器。

RC振荡器由一个电容器和一个电阻器组成,可以产生一个稳定的频率。

您可以使用多个RC振荡器,每个振荡器控制一个特定的音高。

除了RC振荡器,还有其他类型的振荡器可以使用。

例如,DDS(直接数字合成)振荡器非常精确,但需要更多的硬件和软件支持。

最后是音频放大器设计。

音频放大器将振荡器产生的信号放大,以便您可以听到音乐。

一个常见的音频放大器类型是放大器电路(amplifier circuit)。

放大器电路由一个NPN型晶体管和一个耦合电容器组成。

这种电路提供了良好的音频放大性能,而且易于构造。

在电子琴设计和构造过程中,还需要考虑一些其他因素。

例如,将键盘和其他部件安装在一个盒子里,以便更好的保护电路。

此外,选择适当的电源也非常重要,以确保电子琴的正常运行。

总之,设计简易电子琴需要一些专业技术和经验,但这并不是让初学者感到无所适从。

只要你有耐心和学习心态,还有一些基本的电子制作工具,那么你也可以制作出你自己的简易电子琴。

希望这些技巧和建议能够为您的创作提供有用的帮助。

简易电子琴课程设计

简易电子琴课程设计

*****大学数字电子技术课程设计设计题目:简易电子琴院(系):学院专业班级:2020级电气自动化技术*班姓名:学号:指导教师:时间:2021年10月18日至2021年10月22日说明1.课程设计进行期间,学生应按教学计划、每天的学习情况(包括学习内容、遇到问题及解决办法、心得体会等)如实进行记录。

2.结束时,根据课程设计内容和学习记录编写课程设计说明书。

3.指导教师应综合考虑学生的学习态度、设计质量、答辩情况等,给出成绩。

*****大学数字电子技术课程设计任务书专业班级班学号姓名一、设计题目简易电子琴二、设计任务与要求基本功能:1、产生8个音阶的振荡频率,分别由8个按键控制,驱动扬声器发声。

三、参考文献[1] 黄双根,任重,黄大星. 模拟电子技术[M]. 广州:华南理工大学出版社,2015[2] 陈宗梅. 模拟电子技术实验与课程设计[M]. 北京:北京理工大学出版社,2019[3] 夏继军,宋武. 电路基础[M]. 北京:北京邮电大学出版社,2015[4] 杨志忠,卫桦林. 数字电子技术基础(第三版)[M]. 北京:高等教育出版社,2018[5] 张祥丽. 数字电子技术实验与课题设计[M]. 北京:北京理工大学出版社,2011四、设计时间2021 年10 月18日至2021 年10月22 日指导教师签名:年月日目录1 课程设计的目的 (1)2 课程设计的任务与要求 (1)2.1 课程设计的任务 (1)2.2 基本要求 (1)2.3 课程设计的要求 (1)2.4 设计要求介绍 (1)3 系统的组成及工作原理 (2)3.1 系统的组成 (2)3.2工作原理 (3)4 元器件的介绍 (3)4.1 NE555多谐振荡器: (4)4.2 扬声器的动作原理 (5)4.3电阻 (6)4.4电容 (8)5 焊接工艺 (9)5.1焊接工具 (10)5.2焊前处理 (11)5.3焊接技术 (11)5.4电子元器件的安装 (12)5.5焊接的注意事项 (12)5.6焊接及结果分析 (13)6 调试 (13)7 电路测试及测试结果 (13)8 设计总结 (13)参考文献 (15)附录1 总体电路原理图 (16)附录2 元器件清单 (17)课程设计成绩评定 (18)1 课程设计的目的(1)掌握正弦振荡器的构成,原理与设计方法;(2)熟悉模拟元件的选择,使用方法。

简易电子琴电路的设计

简易电子琴电路的设计

1. 技术指标 (1)2. 设计方案及其比较 (1)2.1 方案一 (1)2.2 方案二 (3)2.3 方案比较 (6)3. 实现方案 (6)4. 调试过程及结论 (10)5. 心得体会 (16)6. 参考文献 (16)简易电子琴电路的设计1.技术指标设计一个玩具电子琴,设8个琴键,分别代表1、2、3、4、5、6、7、į八个不同音符,每按下一个琴键,扬声器发出一个音符的声音。

演奏时的音量和节拍可以调节。

2.设计方案及其比较2.1 方案一选用RC振荡电路和运算放大器构成简易电子琴电路。

RC振荡电路的具体电路为文氏桥正弦振荡电路。

电路原理图如下图1。

图1 简易电子琴电路原理图其中1C和按键电阻并联,2C和12R串联,两者共同构成RC串并联选频网络。

由于选频网络的相移为零,这样RC串并联选频网络送到运算放大器同相输入端的信号电压与输出电压同相,所以RC反馈网络形成正反馈,满足相位平衡条件,因而可以形成振荡。

由于振荡的能量是电源,激励信号源是电路中的噪声,它的频谱丰富,包含频率成分f;但由于噪声信号极其微弱,在振荡期间应使信号做增幅振荡,为此合理选择电阻使0ω信号就会通过正反馈而使得输出信号不断增大,使输出幅环路增益大于1,这样频率为0度越来越大,最后受电路中非线性元件的限制,使振荡幅度自动稳定下来,电路进入等幅振荡。

频率0f之外的信号由于不满足振荡平衡条件,将不会在输出信号中出现,RC选频网络实现了信号频率的选择功能。

按键电阻的选择:查阅资料得知八个音阶的频率如下表1:表1 八个音阶的频率由于1C的值确定为0.1uF,由公式:fπ2/1=(1)fRC0=并结合表一计算可得电阻阻值分别为(单位:欧姆):36kR3.1=(2)28R7.k2=(3)23R3.k3=(4)20kR4.4=(5)16kR2.5=(6)k13R1.6=(7)R3.10k7=(8)R1.9k8=(9)通过阻值选择电阻器件。

电路要求不仅能够振荡,而且能够稳幅。

简易电子琴设计-毕业设计

简易电子琴设计-毕业设计

简易电子琴设计-毕业设计简易电子琴设计-毕业设计引言:在现代科技的飞速发展下,电子琴作为一种电子乐器,已经成为人们日常生活中不可或缺的一部分。

本文将介绍一种简易电子琴的设计方案,旨在帮助毕业设计的学生们更好地理解电子琴的工作原理,并能够通过实践来提高自己的设计能力。

一、设计目标我们的设计目标是制作一款简易电子琴,具备以下功能:1. 发出不同音调的声音;2. 支持多个音符同时发声;3. 具备简单的音效调节功能。

二、硬件设计1. 主控芯片选择我们选择了Arduino UNO作为主控芯片,因为它具备较强的计算和控制能力,并且易于学习和使用。

2. 输入设备设计为了模拟钢琴键盘,我们使用了12个按钮作为输入设备,分别对应12个音符。

通过按下不同的按钮,可以触发不同的音符发声。

3. 输出设备设计为了发出声音,我们使用了一个小型扬声器作为输出设备。

通过控制扬声器的震动频率和幅度,可以发出不同音调的声音。

4. 电源和连接设计我们使用了一个9V电池作为电源,通过Arduino UNO的电源接口供电。

同时,我们还需要使用杜邦线将按钮和扬声器与Arduino UNO连接起来。

三、软件设计1. 初始化设置在Arduino代码中,我们首先需要进行初始化设置。

包括定义输入输出引脚、配置扬声器和按钮的工作模式等。

2. 按钮扫描在电子琴中,我们需要实时检测按钮的状态,以确定用户是否按下了某个按钮。

通过循环扫描每个按钮的状态,我们可以实现按钮的按下和松开的检测。

3. 音符发声当用户按下某个按钮时,我们需要根据按钮的编号来确定对应的音符,并通过控制扬声器的震动频率和幅度来发出相应的声音。

4. 音效调节为了增加音乐的表现力,我们可以在代码中添加一些音效调节功能。

例如,通过改变扬声器的震动频率和幅度,可以实现音符的延长、颤音等效果。

四、实验结果经过一段时间的设计和调试,我们成功地制作出了一款简易电子琴。

通过按下不同的按钮,我们可以发出不同音调的声音。

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

1. 任务及要求设计一个51单片机系统,实现简易电子琴操作的电路。

要求:1.设计51单片机最小系统;2.设置至少10个按键,能发出do re mi fa sol la si do;3.能够调节低音、高音和中音。

2.设计方案1.定时/计数器的设计和状态字定义:若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。

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

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

利用AT89C51的内部定时器使其工作计数器模式(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。

单片机12MHZ晶振,中音符与计数T0相关的计数值如表所示:音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1 DO26263628# 4 FA#74064860#1 DO#27763731中 5 SO78464898低2 RE29463835# 5 SO#83164934#2 RE#31163928中 6 LA88064968低 3 M33064021# 693264994低 4 FA34964103中 7 SI98865030# 4 FA#37064185高 1 DO104665058低 5 SO39264260# 1 DO#110965085# 5 SO#41564331高 2 RE117565110低 6 LA44064400# 2 RE#124565134# 646664463高 3 M131865157低 7 SI49464524高 4 FA139765178中 1 DO52364580# 4 FA#148065198# 1 DO#55464633高 5 SO156865217中 2 RE58764684# 5 SO#166165235# 2 RE#62264732高 6 LA176065252中 3 M65964777# 6186565268中 4 FA69864820高 7 SI196765283采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:低音0-19之间,中音在20-39之间,高音在40-59之间用单片机播放音乐,或者弹奏电子琴,实际上是按照特定的频率,输出一连串的方波。

为了输出合适的方波,首先应该知道音符与频率的关系。

2.音名从常见的电子琴的键盘谈起。

主要分成低音、中音和高音三个区域,每个区域都有12个琴键。

其中的白键,简谱音符标为1、2、3、4、5、6、7,大家一般都读成哆、来、咪、发、嗦、拉、西。

按键1345678音符134567I频率值5246606987848809881048 3.音调数据表单片机发出不同频率的方波,人听起来,就是不同的音调。

上表中的频率数值,有些过多,去掉不常用的黑键频率,只是把白键对应的数据存放在单片机中,即可满足绝大部分的应用需求。

定义音调数据表的程序如下:DW 63628,63835,64021,64103,64260,64400,64524 ;64580,低音区:1 2 3 4 5 6 7DW 64580,64671,64777,64820,64898,64968,65030 65058中音区:1 2 3 4 5 6 7DW 65058,65110,65157,65178,65217,65252,65283 65312高音区:1 2 3 4 5 6 7把这个数据表,放在程序中,需要播音的时候,就从表中取出一个数据送到定时器,当定时器溢出中断的时候,再对输出引脚取反,那么,在扬声器中,即可听到上表中频率的声音。

音乐的音拍,一个节拍为单位(C调)曲调值DELAY曲调值DELAY调4/4125ms调4/462ms调3/4187ms调3/494ms调2/4250ms调2/4125ms 三.设计电路图1.晶振部分本次采用12MHZ晶振,机器周期为1us,连接两个30pF的电容,连接到AT89C51的XATL1,XATL2 上面,连接电路图如下:2.音频输出 本次只是简单的使用一个蜂鸣器连接到AT89C51的p1.0口上3.高。

中。

低及音乐播放键:检测高中低是否按下,来跳转到音阶键上输出不同频率的音阶音,检测播放是否按下,跳转到示范曲目播放4. AT89C51AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,。

AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

1.主要特性:·与MCS-51 兼容·4K字节可编程闪烁存储器 ·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz ·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路5.音阶键部分6.设计电路总体图样1.音阶键识别5、程序清单KEYBUF EQU 30HSTH0 EQU 31HSTL0 EQU 32HDELY EQU 33HNUM EQU 34HORG 0000HAJMP MAIN ;跳转到主函数ORG 000BHLJMP INT_T0 ;音乐输出口ORG 0040HMAIN: MOV TMOD,#01H ;写出计时器控制字,T0方式计时 SETB EA ;开中断总开关SETB ET0 ;允许T0中断MOV NUM,#01H ;;num置1MOV R1,#00HTEST: ;低音检测ANL TH0,#00H ;高位清零ANL TL0,#00H ;低位清零MOV A,P2 ;P2进入CJNE A,#0FEH,TEST1 ;检测P2.0口低音键是否按下MOV DPTR,#TABLE1 ;低音键按下,进入低音表地址AJMP WAIT ;跳转到音阶检测TEST1: ;中音检测CJNE A,#0FDH,TEST2 ;检测P2.0中音键是否按下MOV DPTR,#TABLE2 ;中音键按下,进入中音表地址AJMP WAITTEST2: ;高音检测CJNE A,#0FBH,TEST3 ;检测P2.0口高音键是否按下MOV DPTR,#TABLE3 ;高音键按下,进入高音表地址AJMP WAITTEST3: ;音乐播放检测CJNE A,#0F7H,TEST4 ;检测音乐播放键是否按下若有按下则转至EXITLCALL DELAY10MS ;软件延时消抖MOV A,P2CJNE A,#0F7H,TEST4 ;检测播放键是否再次按下MOV A,NUMCJNE A,#01H,EXIT ;检测高低中是否再次按下MOV NUM,#00HMOV DPTR,#TABLE4 ;进入音乐播放表AJMP WAIT1 ;跳转至音乐播放入口EXIT:CLR TR0 ;计数器停止,音乐播放结束 MOV R1,#00H ;清零MOV NUM,#01HTEST4: MOV A,NUMCJNE A,#01H,WAIT2LJMP TEST ;跳转至TEST重新检测WAIT2:LJMP WAIT1 ;跳转至音乐播放入口WAIT: CLR TR0MOV NUM,#01HSCAN1: MOV P3,#0F0H ;音阶按键检测程序入口CLR TR0MOV A,P3;ANL A,#0F0HCJNE A,#0F0H,TEE1AJMP TEST ;跳转至TEST重新检测TEE1: LCALL DELAY10MS ;软件延时消抖CJNE A,#0F0H,TEE2AJMP TESTTEE2: MOV A,#0FEHSCAN2: MOV P3,AMOV A,P3MOV B,AANL A,#0F0HCJNE A,#0F0H,CARRYMOV A,BRL ACJNE A,#0BFH,SCAN2LJMP SCAN1CARRY: ANL B,#0FH ;键值处理ORL A,BCJNE A,#0EEH,KEY1 ;检测音符键1是否按下MOV KEYBUF,#00H ;赋予键值LJMP WAI ;调至按键处理程序KEY1: CJNE A,#0EDH,KEY2 ;检测音符键2是否按下MOV KEYBUF,#02H ;赋予键值LJMP WAI ;调至按键处理程序KEY2: CJNE A,#0EBH,KEY3 ;检测音符键3是否按下MOV KEYBUF,#04H ;赋予键值LJMP WAI ;调至按键处理程序KEY3: CJNE A,#0E7H,KEY4 ;检测音符键4是否按下MOV KEYBUF,#06H ;赋予键值LJMP WAI ;调至按键处理程序KEY4: CJNE A,#0DEH,KEY5 ;检测音符键5是否按下MOV KEYBUF,#08H ;赋予键值LJMP WAI ;调至按键处理程序KEY5: CJNE A,#0DDH,KEY6 ;检测音符键5是否按下MOV KEYBUF,#0AH ;赋予键值LJMP WAI ;调至按键处理程序KEY6: CJNE A,#0DBH,KEY7 ;检测音符键6是否按下MOV KEYBUF,#0CH ;赋予键值LJMP WAI ;调至按键处理程序KEY7: CJNE A,#0D7H,SCAN1MOV KEYBUF,#0EH ;赋予键值LJMP WAI ;调至按键处理程序WAI: MOV A,KEYBUF ;按键处理程序入口MOVC A,@A+DPTRMOV STH0 , AINC KEYBUFMOV A,KEYBUFMOVC A,@A+DPTRMOV STL0, AMOV TH0,STH0MOV TL0,STL0SETB TR0LCALL DELAY100MSLJMP SCAN1WAIT1:CJNE R1,#00H,LOOP ;播放音乐程序入口LOOP:MOV A,R1MOVC A,@A+DPTRMOV STH0,AINC R1MOV A,R1MOVC A,@A+DPTRCJNE A,#0FEH,NEXT1MOV R1,#00HLJMP LOOPNEXT1:MOV STL0,AINC R1MOV A,R1MOVC A,@A+DPTRMOV DELY,AMOV TH0,STH0MOV TL0,STL0SETB TR0NEXT2: LJMP DELAY187MS ;节拍延时控制NEXT3: DJNZ DELY,NEXT2INC R1LJMP TESTNOKEY:LJMP TEST ;重新检测DELAY10MS: MOV R6,#10 ;10ms延时D1:MOV R7,#248DJNZ R7,$DJNZ R6,D1RET ;子程序返回DELAY100MS: MOV R5,#06EH ;100ms延时DL0:MOV R4,#0CFHDJNZ R4,$DJNZ R5,DL0RET ;子程序返回DELAY187MS: MOV R3,#187 ;187ms延时,用于节拍控制 DL1:MOV R2,#248DJNZ R2,$DJNZ R3,DL1LJMP NEXT3INT_T0:MOV TH0,STH0 ;高8为输入MOV TL0,STL0 ;低8位输入CPL P1.0 ;音乐输出口启用RETI ;中断返回TABLE1:DB 0f8h,094h, 0f9h,05ch, 0fah,01Ah, 0FAH,06AH;低音调表值DB 0FBH,00H, 0FBH,08CH, 0FCH,0EH, 0FCH,044H;TABLE2:DB 0FCH,04AH, 0FCH,0AEH, 0FDH,008H, 0FDH,030H;中音调表值DB 0FDH,080H, 0FDH,0C6H, 0FEH,02H, 0FEH,022H;TABLE3:DB 0FEH,02AH, 0FEH,05CH, 0FEH,084H, 0FEH,098H;高音调表值DB 0FEH,0C0H, 0FEH,0E8H, 0FFH,006H, 0FFH,029H;TABLE4:DB 0FDH,80H,03H, 0FDH,80H,01H ;生日快乐歌DB 0FDH,0C6H,04H, 0FDH,80H,04HDB 0FEH,2AH,04H, 0FEH,02H,04HDB 00H,00H,04HDB 0FDH,80H,03H, 0FDH,80H,01HDB 0FDH,0C6H,04H, 0FDH,80H,04HDB 0FEH,5CH,04H, 0FEH,2AH,04HDB 00H,00H,04HDB 0FDH,80H,03H, 0FDH,80H,01H;DB 0FEH,0C0H,04H, 0FEH,84H,04H;DB 0FDH,0C6H,04H, 0FEH,80H,04HDB 0FDH,0C6H,04HDB 0FEH,98H,03H, 0FEH,98H,01HDB 0FEH,84H,04H, 0FEH,2AH,04HDB 0FEH,5CH,04H, 0FEH,2AH,04HDB 00H,00H,04HDB 0FEH,0FEHEN6、 心得体会本次单片机课程设计,本身题目并没有多大难度,但对初学者得我来说还是有些小困难,但经过理论知识的进一步学习,查阅了大量资料之后,了解了设计思路,在参考了网上的一些程序及类似作品之后,仍将它安老师要求做了出来,中间花费了很大功夫,对程序及电路图做了多次修改,终于,一份还算令自己满意的完成品诞生了!本次简易单片机设计,要求是能发出八个音阶声音,并能控制低,中,高三音变换,还能播放示范曲目。

相关文档
最新文档