基于单片机的简易电子琴电路设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.. .
单片机课程设计任务书
题目: 基于单片机的简易电子琴电路设计
初始条件:
简易电子琴一般具有弹奏一个自然大调7声音阶的功能。本课程设计,要求用AT89C51等系列芯片实现控制功能,利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;用LM386放大电路实现低音频功率放大;最后用蜂鸣器进行播放“送别”。
要求完成的主要任务:
1.设计任务
根据已知条件,设计并制作一个简易电子琴。
2.设计要求
(1)基本要求:
①具备7个按键,能够分别较准确地弹奏出1~7八个音符。
②选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。用EWB或MULTISIM软件完成仿真,之后制作出相应实物,并按规定格式写出课程设计报告书。
(2)扩展要求:(在完成基本要求的前提下,学有余力的同学可完成)
①能够弹奏出至少21个音符(三个音阶)。
②能够较便捷地完成音阶的升降。(用另外三个按键开关实现正常、升8度和降8度的切换)。
时间安排:
指导教师签名:年月日
基于单片机的简易电子琴控制系统设计
摘要
目的:
本设计主要研究基于AT89C52单片机的简易电子琴设计。
方法:
它是以单片机作为主控核心,设置键盘、蜂鸣器等外围器件;另外还用到一些简单
器件如:两位数码管,和NPN型三极管及电阻等。利用按键实现音符和音调的输入;两
位的数码管进行被操作的按键显示;用NPN型三极管8550实现低音频功率放大;最后
用蜂鸣器进行播放“送别”。
结果:
本设计硬件部分主要由最小系统,按键系统模块、数码管显示模块和蜂鸣器模块组成。其软件部分主要有主程序模块、定时中断程序、定时计数程序、显示程序。
(1)最小系统:它是单片机应用系统的设计基础。它包括单片机的选择、时钟系统设计、复位电路设计、简单的I/O口扩展、掉电保护等。
(2)按键系统模块:本设计采用10个按键,其中7个按键用来显示7个音调,其它3个按键可以进行高低中音的切换,并自动播放已存歌曲。
(3)数码管显示模块:SM420562段选端接在单片机的P0口,两个位选端分别接在P2^0和P2^1。
(4)蜂鸣器模块:此电子琴发音电路是通过三极管驱动蜂鸣器发音,经过上拉电阻提高驱动能力。
结论:
本次设计首先对单片机设计简易电子琴仔细分析,接着制作硬件电路和编写软件的程序,最后进行软硬件的调试运行。并且从原理图,主要芯片,各模块的原理和各个模块的程序调试来阐述。利用单片机产生不同频率来获得我们要求的音阶,实现高、中、低共21个音符的发音和显示和音乐播放时的控制显示,并且能自动播放程序中编排的音乐。系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比高等,具有一定的使用和参考价值。
关键词:单片机定时中断蜂鸣器数码管c语言编程
1 系统设计
本项目所制作的电子琴控制系统是以51单片机为核心的系统,它主要包括模拟信号 主控芯片89C52、发音单元、显示模块、按键模块组成。具体方案如图1-1所示:
图1-1 系统模块
采用AT89C52单片机作为主控芯片,设置键盘、蜂鸣器等外围器件,另外还用到一些简单器件如:两位数码管,和NPN 型三极管及电阻等。利用按键实现音符和音调的输入;两位的数码管进行被操作的按键显示;
用NPN 型三极管8550
实现低音频功率放大;最后用蜂鸣器发音。
2 硬件电路设计
2.1显示部分设计
(1)数码显示方式
数码显示有静态显示方式与动态显示方式两种。工作在静态显示方式时,数码管的位线与电源一直相连,数码管中的二极管均处于通电状态,即在静态工作方式下,显示电路中数码管的位选线是同时选通,而数码管的段选线是独立输入。
工作在动态显示方式时,数码管的位线在扫描控制电路的控制下按设定顺序导通,即电路中的数码管是逐个接通电源,数码管的段选线以并联方式与译码电路联接,即在动态工作
方式下,数码管不是同时导通显示而是按照设定顺序分时导通显示。
(2)八位数码管的结构
本次课程设计的显示电路采用两位数码管进行显示,由于此设计采用的是共阴极的,使用时不加限流电阻为了显示字符,要为LED 显示器段码,除了组成8字形的字符的7段,另加上1个小数点位,共计8段,因此提供给LED 显示器的显示段码为1个字节。
图2-1 数码管电路
2.2按键部分设计
(1)操作键设计
常用的按键有三种:机械触点式按键、导电橡胶式和柔性按键(又称触摸式键盘)。
机械触点式按键是利用机械弹性使键复位,手感明显,连线清晰,工艺简单,适合单件制造。但是触点处易侵入灰尘而导致接触不良,体积相对较大。
导电橡胶按键是利用橡胶的弹性来复位,通过压制的方法把面板上所有的按键制成一块,体积小,装配方便,适合批量生产。但是时间长了,橡胶老化而使弹力下降,同时易侵入灰尘。
柔性按键是近年来迅速发展的一种新型按键,可以分为凸球型和平面型两种。柔性按键最大特点是防尘、防潮、耐蚀,外形美观,装嵌方便。而且外形和面板的布局、色彩、键距可按照整机的要求来设计。
但是由于客观条件与经济能力有限,本系统采用机械触点式按键。
(2)键盘设计
键盘在单片机应用系统中是一个关键的部件,它能实现向计算机输入数据,传送命令等
功能,是人工干预计算机的主要手段。
键盘可以分为2类:独立连接式键盘和矩阵式键盘。
矩阵式键盘:
单片机系统中,若按键较多时,通常采用矩阵式(也称行列式)键盘。矩阵式键盘由行线和列线组成,按键位于行、列线的交叉点上。显然,在按键数量较多时,矩阵式键盘较之独立式按键键盘要节省很多I/O口。
矩阵式键盘中,行、列线分别连接到按键开关的两端,行线通过上拉电阻接到+5V上.当无键按下时,行线处于高电平状态;当有键按下时,行、列线将导通,此时,行线电平将由与此行线相连的列线电平决定。这是识别按键是否按下的关键。
独立连接式键盘:
独立式按键是直接用I/O口线构成的单个按键电路,其特点是每个按键单独占用一根I/O 口线,每个按键的工作不会影响其它I/O口线的状态。独立式按键电路配置灵活,软件结构简单,但每个按键必须占用一根I/O口线,然而,在按键较多时,I/O口线浪费较大,不宜采用。
独立式按键软件常采用查询式结构。先逐位查询每根I/O口线的输入状态,如某一根I/O 口线输入为低电平,则可确认该I/O口线所对应的按键已按下,然后,再转向该键的功能处理程序。由于本程序较为简单,为了使用方便及节省资源,选择独立式键盘。下图为独立式键盘电路图:
图2-2独立式键盘电路图
(3)去抖动
键盘编程中主要考虑去抖动的问题。
当测试表明有键被按下之后,紧接着就进行去抖动处理。因为键是机械开关结构,由于机械触点的弹性及电压突跳等原因,在触点闭合或断开的瞬间会出现电压抖动。为保证键识别的准确,在电压信号抖动的情况下不能进行行状态输入。为此需进行去抖动处理。去抖动有硬件和软件两种方法。硬件方法就是加去抖动电路,从根本上避免抖动的产生。软件消抖,在第一次检测到有键按下时,执行一段延时程序之后,再检测此按键,如果第二次检测结果仍为按下状态,CPU便确认此按键己按下,消除了抖动。