毕业设计论文-基于stc89c52单片机的电子琴设计与实现内容摘要:
定时参数不同, 就发出不 同频率的脉冲,本设计中按键一次,会发出 50 个脉冲,松开后随之延时 10 个脉冲,但在延时的 10 个脉冲期间继续检测键盘,若此时又有键被按下,若被按下的仍为原键则声音不变,否则键盘会译出被按下的另一个键的音调。 本电路中的硬件比较简单,其功能的实现主要由软件完成。 软件的设计思 路通过框图形式说明在正文中会有介绍。 系统开发背景 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。 它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中, 成为不可替代的一部分。 本文的主要内容是用 STC89C52 单片机为核心控制元件,设计一个电子琴。 以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有 16 个按键和扬声器。 本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。 利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。 并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。 设计了用 AT89s52 单片机设计一个简易的电子琴,有16 个按键,可以做一些基本的 弹奏。 与传统的模拟信号不同,本设计主要介绍的是数字信号连接功率放大电路,驱动喇叭,产生乐音。 其中包括了音调的产生,节拍的产生,以及如何合理应用单片机的定时,中断系统生成相应的音调和节拍,设计出音乐演奏系统。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方7 便,我们可以利用单片机的定时 /计数器 T0 来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。 系统开发意义 该设计具有 以下优点: (1)可以随意弹奏想要表达的音乐 ; (2)制作简单,成本低 第二章 方案论证 控制模块的选择方案 方案一:用可控硅制作电子琴。 将 220V 交流电经变压器降压, 再经过 整流 、滤波,获得 + 直流电压。 将 单向可控硅 SCR 和 电阻、电容 组成驰张振荡器电路。 但该设计方案制作成本高且复杂。 方案二: 采用 AT89C51 单片机进行控制,由于 AT89C51 不具备 ISP 功能, 因此 Atmel 公司已经停产在市面上已经不常见,况且其 ROM 只有 4K 在系统将来升级方面没有潜力。 方案三 :采用 AT89S51 单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到 8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。 鉴于上述对比与分析,本设计采用方案三 按键选择方案 组成键盘的按键有机械式、电容式、导电橡胶式、薄膜式多种,但不管什么形式,其作用都是一个使电路接通与断开的开关。 目前微机系统中使用的8 键盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。 编码键盘:键盘本身带有实现接口主要功能所需的硬件 电路。 不仅能自动检测被按下的键,并完成去抖动、防串键等功能,而且能提供与被按键功能对应的键码(如 ASCII 码)送往 CPU。 所以,编码键盘接口简单、使用方便。 但由于硬件电路较复杂,因而价格较贵。 非编码键盘:键盘只简单地提供按键开关的行列矩阵。 有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。 目前微机系统中,一般为了降低成本大多数采用非编码键盘。 键盘接口必须具有去抖动、防串键、按键识别和键码产生 4 个基本功能。 ( 1)去抖动 :每个按键在按下或松开时,都会产生短时间的抖动。 抖动 的持续时间与键的质量相关,一般为 5— 20mm。 所谓抖动是指在识别被按键是必须避开抖动状态,只有处在稳定接通或稳定断开状态才能保证识别正确无误。 去抖问 题可通过软件延时或硬件电路解决。 ( 2)防串键:防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。 常用的方法有双键锁定和 N 键轮回两种方法。 双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。 N 键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。 ( 3)被 按键识别:如何识别被按键是接口解决的主要问题,一般可通过软硬结合的方法完成。 常用的方法有行扫描法和线反转法两种。 行扫描法的基本思想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭合键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。 线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为此需要提供两个可编程的双向输入 /输出端口。 ( 4)键码产生:为了从键的行列坐标编码得到反映键功能的键码,一般在内存区中建立一个键盘编码表,通过查表获得被按键的键码。 传统电子琴可以用键盘 上的“ 1”到“ A”键演奏从低 SO 到高 DO 等11 音。 该设计有 16 个按钮矩阵,设计成 16 个音 ,可以实现音阶在低音 4高音5 之间。 比传统音阶范围大,弹奏效果好。 第三章 系统硬件设计及说明 系统组成及总体框图 硬件设计的任务是根据总体设计要求,在选择的机型的基础上,具体确定系统中所要使用的元器件,设计出系统的原理框图、电路原理图。 该设计要实现一种由单片机控制的电子琴,单片机工作于 12MHZ 时钟频率,使用其定时 /计数器 T0,工作模式为 1,改变计数值 TH0 和 TL0 可以产生不同频9 率的脉冲信号。 该设计具有 11 个音节的键盘,用户可以根据乐谱在键盘上进行演奏,音乐发生器会根据用户的弹奏,通过扬声器将音乐播放出来。 由于本例实现的音乐发生器是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。 用单片机产生的音频脉冲直接驱动扬声器并不能产生所要实现的音乐,因为它没有足够的驱动能力,这就需要音频功率放大电路。 本例使用国家半导体公司的低压音频功率放大器 LM386 来实现音频功放电路。 图 31 系统结构图 元件简介 特点 STC89C52 完全兼容 MCS51 系列单片机的所有功能,并且本身带有 2K 的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU 外加 EPROM 为核心的单片机系统在硬件 具有更加简单方便等优点,具体如下 [5]: STC89C52 单片机是最早期也最典型的产品,低功耗、高性能、采用 CHMOS 工艺的 8 位单片机。 它在硬件资源和功能、软件指令及编程上与 Intel 80C3X 单片机完全相同。 在应用中可直接替换。 在 STC89C52 内部有 FLASH 程序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。 编程速度很快,擦除时也无需紫外线,非常方便。 STC89C5X 系列可认为是 Intel 80C3X 的内核与 STC FLASH 技术的结合体。 它为许多嵌入式控制系统提供了灵活、低成本的解决方案。 ●与MCS51 产品指令系统完全兼容;●片内集成 4KB 的 FLASH 存储器,可反复编程/擦除 1000 次;●数据保留时间: 10 年;●全静态设计,时钟频率范围为 0~24MHz、 33MHz;●三个程序存储器保密位;● 128 8 字节的内部 RAM;● 32 条可编程的 I/O 口线;● 2 个可工作于 4 种模式的 16 位定时 /计数器;● 5 个中断源 /2 个中断优先级;●可编程串行通道;●具有 4 种工作模式的全双工串行口;●低功耗的待机工作模式和掉电工作模式;●片内振荡器和时钟电路;●具有 4 种工作模式的全双工串行口;●低功耗的待机工作模式和掉电工作模式;●片内振荡器和时钟电路; 主要功能特性 STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程 Flash 存储器。 使用 Atmel 公司高密度非 易失 性存储器技术制造,与工业按键 单 片 机STC89C52 `扬声器 音频功放电路 10 80C51 产品指令和引脚完 全兼容。 片上 Flash 允许程序存储器在系统可编程,亦适于 常规编程器。 在单芯片上,拥有灵巧的 8 位 CPU 和在系统 可编程 Flash,使得 AT89S52 为众多嵌入式控制应用系统提 供高灵活、超有效的解决方案。 AT89S52 具有以下标准功能: 8k 字节 Flash, 256 字节 RAM, 32 位 I/O 口线,看门狗定时器, 2 个数据指针,三个 16 位 定时器 /计数器,一个 6 向量 2 级中断结构,全双工串行口, 片内晶振及时钟电路。 另外, AT89S52 可降至 0Hz 静态逻 辑操作,支持 2 种软件可选择节电模式。 空闲模式下, CPU 停止工作,允许 RAM、定时器 /计数器、串口、中断继续工作。 掉电保护方式下, RAM 内容被保存,振荡器被冻结 , 单片机一切工作停止,直到下一个中断或硬件复位为止。 8 位微控制器 8K 字节在系统可编程 Flash AT89S52。 与 MCS51 单片机产品兼容、8K 字节在系统可编程 Flash 存储器 、 1000 次擦写周期 、 全静态操作: 0Hz~33Hz 、 三级加密程序存储器 、 32 个可编程 I/O 口线 、三个 16 位定时器/计数器八个中断源、全双工 UART 串行通道、低功耗空闲和掉电模式 、 掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识 符。 工作原理 管脚说明 VCC:供电电压。 GND:接地。 P0 口: P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8 个 TTL 门电流。 当P1 口的管脚第一次写 1时,被定义为高阻输入。 P0 能够用于外部程序数据存储器,它可以被定义为数据 /地址的第八位。 在 FLASH 编程时, P0 口作为原码输入口,当 FLASH 进行校验时, P0 输出原码,此时 P0 外部必须被拉高。 P1 口: P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口, P1 口缓冲器能接收输出 4 TTL 门电流。 P1 口11 管脚写入 1 后,被内部上拉为高,可用作输入, P1 口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 在 FLASH 编程和校验时, P1 口作为第八位地址接收。 P2 口: P2 口为一个内部上拉电阻的 8 位双向 I/O 口, P2 口缓冲器可接收,输出 4 个 TTL 门电流,当 P2 口被写 1时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时, P2 口的管脚被外部拉低,将输出电流,这 是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时, P2 口输出地址的高八位。 在给出地址 1时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时, P2 口输出其特殊功能寄存器的内容。 P2 口在 FLASH 编程和校验时接收高八位地址信号和控制信号。 P3 口: P3 口管脚是8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门电流。 当 P3 口写入 1后,它们被内部上拉为高电平,并用作输入。 作为输入,由于外部下拉为低电平, P3 口将输出电流( ILL) 这是由于上拉的缘故。 P3 口也可作为 ST89C52 的一些特殊功能口 ,P3 口管脚备选功能 : RXD(串行输入口); TXD(串行输出口); INT0(外部中断 0); INT1(外部中断 1); T0(计时器 0 外部输入); T1(计时器 1 外部输入); WR (外部数据存储器写选通); RD (外部数据存储器读选通); P3 口同时为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。 当振荡器复位时,要保持 RST 脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电12 平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE 脉冲。 如想禁止 ALE 的输出可在 SFR 8EH 地址上置 0。 此时, ALE 只有在执行 MOVX, MOVC 指令是 ALE 才起作用。 另外,该引脚被略微拉高。 如果微处理 器在外部执行状态 ALE 禁止,置位无效。 PSEN :外部程序存储器的选通信号。 在由外部程序存储器读取指令期间,每个机器周期两次 PSEN 有效。 但在访问外部数据存储器时,这两次有效的 PSEN 信号将不出现。 EA /VPP:当 EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, EA 将内部锁定为 RESET;当 EA 端保持高电平时,此间内部程序存储器。 在 FLASH 编程期间,此引脚也用于施加 12V 编程电源( VPP)。 XTAL1:反向振荡放 大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2 应不接。 由于输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 EPROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE 管脚处于低电平 10ms 来完成。 在芯片擦除操作 中,代码阵列全被写 1且在任13 何非空存储字节被重复编程以前,该操作必须被执行。 ( 1)地址线上输入欲编程的存储单元地址;( 2)在数据线上输入编程数据;( 3)加正确的控制信号组合;( 4)在 高压 模式下使 VPP 为 12V;( 5)在 ALE 引脚上加一次负脉冲,可对 FLASH 存储器的一个字节或保密位进行编程。 编程一个字节的周期是内部自定时的,典型时间不会超过。 改变编程的存储单元地址和编程数据重复步骤( 1)~( 5),直到编程文件最后。 此外, STC89C52 设有稳态逻辑,可以在零频率的条件下静 态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作,但 RAM、定时器、计数器、串口和中断系统仍在工作。 在掉电模式下,保存 RAM 的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 LM386 LM386 是美国国家半导体公司生产的音频功率放大 器 ,主要应用于低电压消费类产品。 为使外围元件最少 ,电压增益内置为 20。 但在 1 脚和 8 脚之间增加一只外接电阻和电容 ,便可将电压增益调为任意值 ,直至 200。 输入端以地位参考 ,同时输出端被自动偏置到电源电压的一半 ,在 6V 电源电压 下 ,它的静态功耗仅为24mW,使得 LM386 特别适用于电池供电的场合。 LM386 是一种音频集成功放,具有自身功耗低、电压增益可调整、电源电压范围大、外接元件少和总谐波失真小等优点,广泛应用于录音机和收音机之中。 14 LM386 内部电路原理图 LM386 内部电路原理图如图所示。 与通用型集成运放相类似,它是一个三级放大电路 . 第一级为差分放大电路, T1 和 T T2 和 T4 分别构成复合管 ,作为差分放大电路的放大管; T5 和 T6 组成镜像电流源作为 T1 和 T2 的有源负载; T3 和 T4信号从管的基极输入,从 T2 管的集电极输出,为双端输入单端输出差分电路。 使 用镜像电流源作为差分放大电路有源负载,可使单端输出电路的增益近似等于双端输出电容的增益 第二级为共射放大电路, T7 为放大管,恒流源作有源负载,以增大放大倍数。 第三级中的 T8 和 T9 管复合成 PNP 型管,与 NPN 型管 T10 构成准互补输出级。毕业设计论文-基于stc89c52单片机的电子琴设计与实现
相关推荐
芯片擦除: 整个 PEROM 阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持 ALE管脚处于低电平 10ms 来完成。 在芯片擦操作中,代码阵列全被写“ 1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外, AT89C51 设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。 在闲置模式下, CPU 停止工作。 但 RAM,定时器,计数器
毕业设计用纸 共 37 页 第 13 页 出料端设计半径 r= ㎜的过度圆弧。 分流道设计 分流道的形状及尺寸,应根据塑件的体积、壁厚、形状的复杂程度、注射速率、分流道长度等因素来确定。 本塑件的形状不算太复杂,熔料填充型腔比较容易。 根据型腔的排列方式可知分流道的长度较短,为了便于加工,选用截面形状为半圆形分流道,查表 59(塑料模设计及制造 P216)得分流道直径为φ ~φ ,取φ 5mm。
= 54 1 450 =80117N 式中 :σ cp=450MPa,由《冲压手册》表 87 查得。 K1=,由《冲压手册》表 486 查得。 压边力 P4=∏ /4[d02( d1+2r)2 =∏ /4[1192(54+2 5) 2] = 冲预制孔的力 F 冲 =∏ d tτ b = 28 1 350 = 式中: τ b(抗剪强度 )=350MPa,由《冲压手册》表 87 查得, d——
的熔断器,有短路及过电流保护作用。 四台水泵连接图如图31 所示。 图 31 四台水泵连接图 变频器电路设计 变频器选型及调速特点 变频调速技术依靠它自身的小型化、低成本和高可靠性等方面的优点,在现场工业中稳稳地占据了一片江山。 变频器是把工频电源变换成各种频率的交流电源,以实现电动机的变速运行的设备。 其中控制电路完成对主电路的控制,整流电路将交流电变成直流电
位和时钟电路 显示电路 LCD 介绍 液晶显示模块( LCM)由于其具有功耗低、无电磁辐射、寿命长、价格低、接口方便等一系列显著优点,被广泛应用与各种仪表仪器、测量显示装置、计算机显示终端等方面。 其中,字符液晶显示模块是一类专用于显示字母、数字、符号的点阵式液晶显示模块。 LCD1602 字符 液晶显示模块以 ST7066 和 ST7065 为控制器,其接口信号功能和操作指令与 HD44780
ows XP 间件: JDK: 版本 第 2 章 需求分析 5 第 2章 需求分析 设计目标 系统总体设计目标, 如 表 21: 表 21 需求 对公司人事信息进行信息化管理 用户 人事信息管理员 用户所做的事 填写、修改员工基本信息 填写、修改员工聘用信息 填写,修改员工工资信息 用户需求 管理在职员工的基本信息 管理员工培训的基本信息 管理员工的 薪资 信息 解决方案 Mysql数据库,