




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南昌大学共青学院南昌大学共青学院 课程设计 课程设计 电子琴电子琴 专专 业 业 应用电子技术应用电子技术 班班 级 级 10 应电应电 姓姓 名 名 00 01 学学 号 号 09 25 指导老师 指导老师 OK 完成日期 完成日期 2012 05 01 摘要摘要 电子琴是现代电子科技与音乐结合的产物 是一种新型的键盘乐器 电子琴是现代电子科技与音乐结合的产物 是一种新型的键盘乐器 它在现代音乐扮演着重要的角色 单片机具有强大的控制功能和灵它在现代音乐扮演着重要的角色 单片机具有强大的控制功能和灵 活的编程实现特性 它已经溶入现代人们的生活中 成为不可替代活的编程实现特性 它已经溶入现代人们的生活中 成为不可替代 的一部分 本文的主要内容是用的一部分 本文的主要内容是用 AT89c51AT89c51 单片机为核心控制元件 单片机为核心控制元件 设计一个电子琴 以单片机作为主控核心 与键盘 扬声器等模块设计一个电子琴 以单片机作为主控核心 与键盘 扬声器等模块 组成核心主控制模块 在主控模块上设有组成核心主控制模块 在主控模块上设有 1616 个按键和扬声器 本系个按键和扬声器 本系 统运行稳定 其优点是硬件电路简单 软件功能完善 控制系统可统运行稳定 其优点是硬件电路简单 软件功能完善 控制系统可 靠 性价比较高等 靠 性价比较高等 关键词 关键词 AT89C51AT89C51 矩阵键盘 扬声器 矩阵键盘 扬声器 Abstract Electronic organ is a modern electronic music technology and the product is a new type of keyboard instruments It played an important role in modern music SCM has powerful control functions and flexible programming characteristics It has converged with modern people s lives become an irreplaceable part The main content is AT89C51 control of the core components design of a electronic organ SCM as a host to the core with the keyboard speaker and other core modules In the main control module has 16 keys and a speaker The system is steady its simple hardware circuits software functions reliability of control system and high cost performance is its advantages 目录目录 摘要摘要 课设题目 电子琴的设计课设题目 电子琴的设计 一 一 引言引言 1 11 1 目的和意义目的和意义 二 方案比较以及选择二 方案比较以及选择 2 12 1 控制模块选择方案控制模块选择方案 2 22 2 按键选择方案按键选择方案 三 芯片简介三 芯片简介 3 13 1 系统组成及总体框图系统组成及总体框图 3 2 13 2 1 AT89S52AT89S52 3 2 23 2 2 LM386LM386 四 软件设计四 软件设计 4 14 1 音乐相关知识音乐相关知识 4 24 2 如何用单片机实现音乐的节拍如何用单片机实现音乐的节拍 4 34 3 如何用单片机产生音频脉冲如何用单片机产生音频脉冲 4 44 4 系统总体功能流程图系统总体功能流程图 五 系统调试五 系统调试 5 15 1 硬件调试硬件调试 5 25 2 软件调试软件调试 六 课程设计总结以及心得体会六 课程设计总结以及心得体会 七 参考文献七 参考文献 附录附录 1 1 元器件清单 元器件清单 附录附录 2 2 主要电路原理图 主要电路原理图 附录附录 3 3 程序清单 程序清单 一 一 引言引言 1 11 1 目的和意义目的和意义 单片微型计算机是大规模集成电路技术发展的产物 属第四代电子计 算机 它具有高性能 高速度 体积小 价格低廉 稳定可靠 应用广泛 的特点 它的应用必定导致传统的控制技术从根本上发生变革 因此 单 片机的开发应用已成为高科技和工程领域的一项重大课题 电子琴是现代电子科技与音乐结合的产物 是一种新型的键盘乐器 它在现代音乐扮演着重要的角色 单片机具有强大的控制功能和灵活的编 程实现特性 它已经溶入现代人们的生活中 成为不可替代的一部分 本 文的主要内容是用 AT89S51 单片机为核心控制元件 设计一个电子琴 以 单片机作为主控核心 与键盘 扬声器等模块组成核心主控制模块 在主 控模块上设有 16 个按键和扬声器 本文主要对使用单片机设计简易电子琴进行了分析 并介绍了基于单 片机电子琴统硬件组成 利用单片机产生不同频率来获得我们要求的音阶 最终可随意弹奏想要表达的音乐 并且本文分别从原理图 主要芯片 各 模块原理及各模块的程序的调试来详细阐述 本系统是简易电子琴的设计 按下键盘矩阵中的按键会使数码管显示当前按键 扬声器播放器对应的音 符 通过设计本系统可了解单片机的基本功能 对单片机的了解有一个小 的飞跃 二 方案比较以及选择二 方案比较以及选择 2 1 控制模块选择方案 方案一 用可控硅制作电子琴 将 220V 交流电经变压器降压 再经过整流 滤波 获得 13 5V 直流电压 将单向可控硅 SCR 和电阻 电容组成驰张振荡器电路 但该设计方案 制作成本高且复杂 方案二 采用 AT89C51 单片机进行控制 由于 AT89C51 不具备 ISP 功能 因此 Atmel 公司已经停产在市面上已经不常见 况且其 ROM 只有 4K 在系统将 来升级方面没有潜力 方案三 采用 AT89S52 单片机进行控制 由于其性价比高 完全满足了本 作品智能化的要求 它的内部程序存储空间达到 8K 使软件设计有足够的内部 使用空间并且方便日后系统升级 使用方便 抗干扰性能提高 选择方案 鉴于上述对比与分析 本设计采用方案三 三 芯片简介三 芯片简介 at89c52单片机引脚说明 AT89C52高性能8位单片机 AT89C52 引脚图 AT89C52 是一个低电压 高性能 CMOS 8 位单片机 片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司 的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令系统 片内置通用 8 位中央 处 理器和 Flash 存储单元 功能强大的 AT89C52 单片机可为您提供许多较复杂系统控制应用 场合 AT89C52 有 40 个引脚 32 个外部双向输入 输出 I O 端口 同时内含 2 个外中断口 3 个 16 位可编程定时计数器 2 个全双工串行通信口 2 个读写口线 AT89C52 可以按照常 规方法进行编程 也可以在线编程 其将通用的微处理器和 Flash 存储器结合在一起 特 别是可反复擦写的 Flash 存储器可有效地降低开发成本 AT89C52 有 PDIP PQFP TQFP 及 PLCC 等三种封装形式 以适应不同产品的需求 主要功能特性 兼容 MCS51 指令系统 8k 可反复擦写 1000 次 Flash ROM 32 个双向 I O 口 256x8bit 内部 RAM 3 个 16 位可编程定时 计数器中断 时钟频率 0 24MHz 2 个串行中断 可编程 UART 串行通道 2 个外部中断源 共 6 个中断源 2 个读写中断口线 3 级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 3 2 2 LM386 LM386是美国国家半导体公司生产的音频功率放大 器 主要应用于低电压消费类产品 为使外围元件最少 电压增益内置为20 但在1脚和8脚之间增加一只外接电阻和电容 便可将 电压增益调为任意值 直至 200 输入端以地位参考 同时输出端被自动偏置到电源电压的一 半 在6V 电源电压下 它的静态功耗仅为24mW 使得 LM386特别适用于电池供电的场合 LM386是一种音频集成功放 具有自身功耗低 电压增益可调整 电源电压范围大 外接 元件少和总谐波失真小等优点 广泛应用于录音机和收音机之中 LM386 的封装形式有塑封 8 引线双列直插式和贴片式 图 3 2 LM386 的封装形式 特性 Features 静态功耗低 约为 4mA 可用于电池供电 工作电压范围宽 4 12V or 5 18V 外围元件少 电压增益可调 20 200 低失真度 2 22 2 系统系统工作原理工作原理 本系统扫描键盘矩阵 显示按键 扬声器发出对应音符 4X4 行列式键盘识别及显示原理如下 组成键盘的按键有机械式 电容式 导电橡胶式 薄膜式多种 但不管什 么形式 其作用都是一个使电路接通与断开的开关 目前微机系统中使用的键 盘按其功能不同 通常可分为编码键盘和非编码键盘两种基本类型 编码键盘 键盘本身带有实现接口主要功能所需的硬件电路 不仅能自动 检测被按下的键 并完成去抖动 防串键等功能 而且能提供与被按键功能对 应的键码 如 ASCII 码 送往 CPU 所以 编码键盘接口简单 使用方便 但 由于硬件电路较复杂 因而价格较贵 非编码键盘 键盘只简单地提供按键开关的行列矩阵 有关按键的识别 键码的确定与输入 去抖动等功能均由软件完成 目前微机系统中 一般为了 降低成本大多数采用非编码键盘 键盘接口必须具有去抖动 防串键 按键识别和键码产生 4 个基本功能 1 去抖动 每个按键在按下或松开时 都会产生短时间的抖动 抖动的 持续时间与键的质量相关 一般为 5 20mm 所谓抖动是指在识别被按键是必 须避开抖动状态 只有处在稳定接通或稳定断开状态才能保证识别正确无误 去抖问 题可通过软件延时或硬件电路解决 2 防串键 防串键是为了解决多个键同时按下或者前一按键没有释放又 有新的按键按下时产生的问题 常用的方法有双键锁定和 N 键轮回两种方法 双键锁定 是当有两个或两个以上的按键按下时 只把最后释放的键当作有效 键并产生相应的键码 N 键轮回 是当检测到有多个键被按下时 能根据发现 它们的顺序依次产生相应键的键码 3 被按键识别 如何识别被按键是接口解决的主要问题 一般可通过软 硬结合的方法完成 常用的方法有行扫描法和线反转法两种 行扫描法的基本 思想是 由程序对键盘逐行扫描 通过检测到的列输出状态来确定闭合键 为 此 需要设置入口 输出口一个 该方法在微机系统中被广泛使用 线反转法 的基本思想是通过行列颠倒两次扫描来识别闭合键 为此需要提供两个可编程 的双向输入 输出端口 4 键码产生 为了从键的行列坐标编码得到反映键功能的键码 一般在 内存区中建立一个键盘编码表 通过查表获得被按键的键码 总体电路具体原理如下 5 程序框图 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 1 P1 1 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89C51 5 3 2 64 71 8 U2 LM386 R1 10k R2 470 C1 10uF C2 10uF C3 47uF R3 10k C4 47nF LS1 SPEAKER C5 10uF R4 10k X1 C6 30pF C7 30uF 四 系统原理图和四 系统原理图和 PCB 板板 10K R3 10K R1 470 R4 10K R2 P1 0 T2 1 P1 1 T2EX 2 P1 2 ECI 3 P1 3 CEX0 4 P1 4 CEX1 5 P1 5 CEX2 6 P1 6 CEX3 7 P1 7 CEX4 8 RST 9 P3 0 RxD 10 P3 1 TxD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 5 T1 15 P3 6 WR 16 P3 7 RD 17 XTAL2 18 XTAL1 19 VSS 20 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 P2 7 A15 28 PSEN 29 ALE PROG 30 EA VPP 31 P0 7 AD7 32 P0 6 AD6 33 P0 5 AD5 34 P0 4 AD4 35 P0 3 AD3 36 P0 2 AD2 37 P0 1 AD1 38 P0 0 AD0 39 VCC 40 U1 P89C51RD2BN 01 VS 6 GND 4 GAIN 8 3 2 5 BYP 7 GAIN 1 U2 LM386M 1 S1S2S3S4 S7 S5 S6 S8 S12 S11 S9 S10 S13 S14 S15S16 10uF C4 VCC VCC VCC 12 Y1 30pF C1 30pF C2 10uF C3 VCC 47uF C5 47nF C6 LS1 Speaker 实物图如图所示 实物图如图所示 六 心得体会六 心得体会 通过这次课程设计 我学到了不少课本上没有的知识 也锻炼了自己的动 手能力 将以前学过的零散的知识串到一起 经过我长时间的设计及调试 本 系统基本能实现按下键盘矩阵中的按键会使数码管显示当前按键 扬声器播放 对应的音符 但由于仿真系统原因 本设计音频效果不是很好 不足之处有 1 可 弹奏的音符数较少 只能在一定范围内满足用户需要 可通过改进键盘识别模 块和发生模块来增加其复杂度 2 音量不可调 我的综合设计主要涉及硬件和软件两方面的内容 通过这些我的硬件和软 件开发能力都获得了提高 首先硬件方面 基本了解了电子产品的开发流程和 所要做的工作 基本掌握了 Protel DXP 原理图的方法 并设计了一个单片机最 小系统 通过开发板的设计和硬件搭建的过程 使我对 51 系单片机的接口有了 更深层次的理解 熟悉了一些单片机常用的外围电路引脚和连接方法 如键盘 等 并且我学会了分析问题解决问题的能力 加深了对所学理论知识的理解和 运用 我的动手能力得到了很大的提高 创新意识得到了锻炼 附件一 源程序 有高中低音 可以自己通过按键弹奏乐曲 KEYBUF EQU 30H STH0 EQU 31H STL0 EQU 32H TEMP EQU 33H ORG 0000H LJMP START ORG 000BH LJMP INT T0 ORG 0030H START CLR P1 0 将峰鸣器置低电平 MOV TMOD 01H 设置定时器T0工作于方式1 SETB ET0 开T0中断允许 SETB EA 开中断允许总开关 WAIT MOV P3 0FFH 将P1口会置高电平 CLR P3 4 将P1 4清0 MOV A P3 读取P1口的值 ANL A 0FH 将P1口的值与0FH相与 保留低四位 屏蔽高四位 XRL A 0FH 将所得的值与0FH相异或 可得到按键值 JZ NOKEY1 判断按下的是不是1号键 LCALL DELY10MS 延时再判断 防止是误键 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY1 MOV A P3 ANL A 0FH CJNE A 0EH NK1 按下的键若不是1号键 则跳至NK1 MOV KEYBUF 0 LJMP DK1 按下的是1号键 跳至DK1相应的处理程序 NK1 CJNE A 0DH NK2 按下的键若不是2号键 则跳至NK2 MOV KEYBUF 4 LJMP DK1 按下的是2号键 跳至DK1相应的处理程序 NK2 CJNE A 0BH NK3 按下的键若不是3号键 则跳至NK3 MOV KEYBUF 2 LJMP DK1 按下的是3号键 跳至DK1相应的处理程序 NK3 CJNE A 07H NK4 按下的键若不是4号键 则跳至NK4 MOV KEYBUF 3 LJMP DK1 按下的是4号键 跳至DK1相应的处理程序 NK4 NOP DK1 MOV A KEYBUF 各键对应的处理程序 MOV DPTR TABLE MOVC A A DPTR MOV P2 80H MOV P0 A MOV A KEYBUF MOV B 2 MUL AB MOV TEMP A MOV DPTR TABLE1 MOVC A A DPTR MOV STH0 A MOV TH0 A INC TEMP MOV A TEMP MOVC A A DPTR MOV STL0 A MOV TL0 A SETB TR0 DK1A MOV A P3 ANL A 0FH XRL A 0FH JNZ DK1A CLR TR0 NOKEY1 MOV P3 0FFH CLR P3 5 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY2 LCALL DELY10MS 跳至延时 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY2 MOV A P3 ANL A 0FH CJNE A 0EH NK5 MOV KEYBUF 1 LJMP DK2 NK5 CJNE A 0DH NK6 MOV KEYBUF 5 LJMP DK2 NK6 CJNE A 0BH NK7 MOV KEYBUF 9 LJMP DK2 NK7 CJNE A 07H NK8 MOV KEYBUF 13 LJMP DK2 NK8 NOP DK2 MOV A KEYBUF MOV DPTR TABLE MOVC A A DPTR MOV P2 80H MOV P0 A MOV A KEYBUF MOV B 2 MUL AB MOV TEMP A MOV DPTR TABLE1 MOVC A A DPTR MOV STH0 A MOV TH0 A INC TEMP MOV A TEMP MOVC A A DPTR MOV STL0 A MOV TL0 A SETB TR0 DK2A MOV A P3 ANL A 0FH XRL A 0FH JNZ DK2A CLR TR0 NOKEY2 MOV P3 0FFH CLR P3 6 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY3 LCALL DELY10MS 跳至延时 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY3 MOV A P3 ANL A 0FH CJNE A 0EH NK9 MOV KEYBUF 2 LJMP DK3 NK9 CJNE A 0DH NK10 MOV KEYBUF 6 LJMP DK3 NK10 CJNE A 0BH NK11 MOV KEYBUF 10 LJMP DK3 NK11 CJNE A 07H NK12 MOV KEYBUF 14 LJMP DK3 NK12 NOP DK3 MOV A KEYBUF MOV DPTR TABLE MOVC A A DPTR MOV P2 80H MOV P0 A MOV A KEYBUF MOV B 2 MUL AB MOV TEMP A MOV DPTR TABLE1 MOVC A A DPTR MOV STH0 A MOV TH0 A INC TEMP MOV A TEMP MOVC A A DPTR MOV STL0 A MOV TL0 A SETB TR0 DK3A MOV A P3 ANL A 0FH XRL A 0FH JNZ DK3A CLR TR0 NOKEY3 MOV P3 0FFH CLR P3 7 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY4 LCALL DELY10MS 跳至延时 MOV A P3 ANL A 0FH XRL A 0FH JZ NOKEY4 MOV A P3 ANL A 0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 46032-2025储粮化学药剂管理与使用规范
- 2025年建筑工地抹灰安全题库解析集
- 2025年康复训练面试高频题
- 2025年机械工程师初级面试模拟题及答案全解
- 2025年AI主播入门初级题库解析
- 2025年卡丁车教练员考试通关秘籍模拟题集与答题技巧
- 2025年化学初级工无机题解
- 2025年市委党校教师招聘面试问题解答
- 2025年高压电工模拟题及答案
- 2025年AI智能语音技术实战指南及考试题库
- 辽宁2022年国家开发银行辽宁分行校园招聘考试参考题库含答案详解
- 办公家具供货安装及售后服务方案
- 积极心理学全套课件
- bc-6800产品中心医院
- GB/T 40565.2-2021液压传动连接快换接头第2部分:20 MPa~31.5 MPa平面型
- GB/T 38537-2020纤维增强树脂基复合材料超声检测方法C扫描法
- GB/T 11446.10-1997电子级水中细菌总数的滤膜培养测试方法
- 儿童生长发育监测课件
- 混凝土结构跳仓施工方案
- 页岩气开发地震监测技术要求DB50-T 1234-2022
- 实验室病原微生物危害 评估报告
评论
0/150
提交评论