欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于51单片机电子设计制作-屏幕式声光电子琴学年论.doc

    • 资源ID:70328168       资源大小:578KB        全文页数:19页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于51单片机电子设计制作-屏幕式声光电子琴学年论.doc

    泉州师范学院学年论文题 目: 基于51单片机电子设计制作-屏幕式声光电子琴学 院: 物理与信息工程学院 专业班级: 10电子信息与科学技术2班 学 号: 100303099 姓 名: 涂锐烽 指导老师: 吴志伟 完成日期:2013年8月30号1目录摘要.Abstract.1 引言1.1 设计的目的.1.2 设计的内容.2 系统硬件设计2.1 原理图.2.2 系统板硬件连线.2.3 主要芯片简介.2.4 LCD显示器2.5 三极管放大电路.2.6 时钟电路.2.7 复位电路2.8 键盘方案3 系统软件设计.3.1 理论基础3.2 系统流程图4 设计结果及分析.5 总结.参考文献附录 主要程序代码.2摘要作为电气专业的学生,掌握电子琴的制作是很好检验我们所学知识应用。它所包含的知识基本上覆盖我们的模拟电子技术基础、数字电子技术基础、单片机基础等技术课程的重要章节。用电子琴可以演奏出各种美妙的音乐,而音乐是由音符组成,不同的音符又是由相应频率的振动产生,而用单片机来产生不同的频率非常方便,可以利用单片机的定时/计数器T0来产生这样方波频率信号.子琴的设计以89C52单片机作为系统的核心控制部分,通过制作硬件电路和软件的设计编写,然后进行软硬件的调试运行,最终达到设计电路的乐器演奏、点歌、存储及显示功能。可以用它来弹奏和播放乐曲。特点是设计思路简单、清晰,成本低。关键词:单片机;电子琴;按键;扬声器 Abstract: As students of electrical engineering, the production of master keyboard is a good test our knowledge applications. The knowledge it contains basically covering our Analog Electronics, Fundamentals of Digital Electronics, microcontroller-based technologies such as the important sections of the course. Keyboard can play a variety of wonderful music, and the music is composed by notes, the different notes turn, the corresponding frequency vibration generated with the microcontroller to generate different frequency is very convenient, the use of single-chip timer / counter T0 tothis square wave frequency signal design of the keyboard 89C52 microcontroller as the core of the system control section, prepared by production hardware and software design, and hardware and software debugging and running, and ultimately to design the circuit of musical instruments, song, storage and display capabilities. You can use it to play and play music. Characteristics are by simple, clear design ideas, low cost.Key words: single-chip; electronic organ; button; speaker3引言 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可代替的一部分。本文的主要内容是用STC89C52RC单片机为核心控制元件,设计一个电子琴。以单片机作为核心,与按键,扬声器等模块组成核心主控制模块。 本文主要对使用单片机设计简单电子琴进行了分析,并介绍了基于单片机电子琴系统的硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。本文分别从原理图,主要芯片,各模块原理及程序调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每一个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。1.1设计的目的巩固和运用所学课程,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力,通过对一个简易的八音符电子琴的设计,进一步加深对单片机原理以及数字电路应用技术方面的了解与认识,进一步熟悉数字电路系统设计、制作与调试的方法和步骤。巩固所学课堂知识,理论联系实际,提高分析、解决计算机技术实际问题的独立工作能力。1.2设计的内容1. 通过八个按键,分别控制发出do,re,mi,fa,sao,la,xi,do 八个音符。2. 显示屏上显示所按的键,如按下第一个键,屏幕上显示do,当选择播放歌曲时,显示歌词。4系统硬件设计2.1原理图图2-12.2系统板硬件连线 系统板硬件连线如图2-1所示,发生模块,及LCD显示模块连线如下1. “单片机系统”的P1.0端口用导线连接到“音频放大模块”区域中的SPK端口上;2. “单片机系统”的P2.0-P2.7端口用导线连接到“八个音符按键”区域;3. “单片机系统”的P0.0-P0.7端口用八芯的排阻连接到液晶显示屏上。2.3 主要芯片简介STC89C52RC芯片STC89C52RC有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52RC可以按照常规方法进行编程,也可以在线编程。其将通用的微5处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。 芯片封装与引脚功能2-3 STC89C52RC引脚图 主要功能特性:· 兼容MCS51指令系统 · 8k可反复擦写(>1000次)Flash ROM· 32个双向I/O口 · 256x8bit内部RAM· 3个16位可编程定时/计数器中断 · 时钟频率0-24MHz· 2个串行中断 · 可编程UART串行通道· 2个外部中断源 · 共6个中断源· 2个读写中断口线 · 3级加密位· 低功耗空闲和掉电模式 ·软件设置睡眠和唤醒功能2.4 LCD显示器6 图2.4 LCD显示器引脚图1602字符型LCD通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线 VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,其中:引脚1:VSS,一般接地;引脚2:VDD,接电源(+5V);引脚3:V0,液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。引脚4:RS,RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。引脚5:R/W,R/W为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。引脚6:E,E(或EN)端为使能(enable)端,下降沿使能。引脚7-10:底4位三态,双向数据总线0-3位;引脚1114:高4位三态,双向数据总线47位;引脚15:BLA,背光电源正极;引脚16:BLK,背光电源负极。7寄存器选择控制表:RSR/W操作说明00写入指令寄存器(清除屏等)01读busy flag(DB7),以及读取位址计数器(DB0DB6)值10写入数据寄存器(显示各字型等)11从数据寄存器读取数据2.5三极管放大电路图2-5放大电路输出原理图此部分的放大电路简单容易实现。可以采用两个大功率PNP型硅管8550,利用“分压偏置式工作点稳定直流通路”,达到了对静态工作点的稳定。分压电阻分别选择10K。蜂鸣器一端接+5V电压,一端接晶体管的发射极。由P1.0输出预定的方波,加到晶体管进行放大,再输出到嗡宁器,很好的实现了频率、声音的转换。2.6时钟电路此系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。MCS-51内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C5和 8C6构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12.0592 MHz,电容应尽可能的选择陶瓷电容,电容值约为30F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。图2-6 MSC-51片内振荡电路2.7复位电路MS-51的复位是由外部的复位电路来实现的。片内复位电路是复位引脚RESET通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路, 如图7所示。当时钟频率选用12 MHz时,C取10F,R2约为1K,R4约为10K。图2-7为复位电路的原理图。图2-7 复位电路原理图692.8键盘方案1键盘设计原理图此系统琴键输入是通过独立式键盘来完成的。由于8052单片机的八位I/O口足以能实现控制C调各音阶的输出,并且独立式键盘的编程容易易懂,结构简单,实现起来方便,而且每个按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,所以采用独立式键盘。P2.0P2.7 口分别对应琴键17输入,如下图所示。 图2-8-1 键盘设计原理图2.关于键盘的抖动问题的分析和解决当用手按下一个键时,如图4所示,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也回会出现类似的情况。这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。10用软件方法可以很容易地解决抖动问题,这就是通过延迟10ms来等待抖动消失,这之后,在读入键盘码。键按下前沿抖动后沿抖动闭合稳定图2-8-2 键抖动信号波形系统软件设计3.1理论基础软件的设计主要是对STC89C52RC单片机进行编程,屏幕式声光电子琴的程序主要是对音符频率的转换,采用定时中断,延时等实现其设计指标,通过外中断T0控制音乐的播放。首先建立音乐,把音乐的音符找出,建立各个音符的定时常数T值表,如表1所示。编写程序时我们把T值表按顺序建立在“TABLE”。每个发音符使用1个字节,字节的高4位(简谱码)代表音符的高低,低4位(节拍码)代表音符的节拍。如果l拍为0.4s,14拍就是0.1s,只要设定延迟时间就可求得节拍的时间。假设14拍为1DELAY,则1拍应为4 DELAY,以此类推。所以只要求得14拍的DELAY时间,其余的节拍就是它的倍数。14拍的延时时间在此我们设为125ms,节拍码如表2所示。音符节拍码编程时放在程序的最后面“SONGx” 处。T值表按顺序建立在“TABLE”如下:table: dw 64260,64400,64524,64580 dw 64684,64777,64820,64898 dw 64968,65030,65058,65110 dw 65157,65178,65217113.2系统程序流程图程序框图如图3。 程序开始将变量赋值延时pmusic=0x00 ?计数循环NoYes 图3 程序框图 12设计结果与分析单片机的频率和声音输出的原理是,利用琴键控制定时器的开中断和闭中断,即实现发音和闭音。在此期间再通过对定时器的定时时间进行控制来产生不同频率的方波,驱动功放发出不同音阶的声音。把C调中相应琴键对应的音符变换为定常数,作为数据表格存放在存储器中。由程序查表得到定时常数,用以控制定时器产生方波的频率。当下一个琴键按下时,再查下此琴键所对应音符的定时常数。依次进行下去,就可以演奏出自己所要的歌曲。单片机以其体积小、可靠性高、控制功能强、使用方便、性能价格比高、容易产品化等特点 单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能,体积小,价格低廉,稳定可靠,应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。总结经过两周努力,简易电子琴的设计基本上完成了。在整个设计过程中,不像以前很多都只是差不多相当于一个焊接工。从着手设计开始,到最终调试成功总共花了两周时间,从开始的选题,到查资料查看可行性,到最后成功无处不充满了我的期待。1) 这个设计的基本是学习C语言并加以应用,对于我来说,没有想到的是入手的速度比我的预料慢,在网上搜索大程序的基础上加以修改和编译,总体上所到了许多的时间,并动手绘制原理图,不着手制作硬件(电路板)。2)通过这个程序设计让我更加了解了C语言,能更好的运用C语言了 ,对数字系统结构也有了更进一步的了解和认识,从中学习到很多的知识,对我以后的学习将有更大的帮助。通过两周的课程设计,我对单片机原理及应用,C语言等系列知识都有了一定的了解。通过这些我的硬件和软件开发能力都获得了提高。首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。基本掌握了Protel99SE原理图13的方法,并设计了一个单片机最小系统。使用单片机技术开发页面的能力也有了很大提高。在整个设计过程中,有很多人对任务的完成给予了重要的支持和帮助。感谢老师给了我本次设计的机会并提供指导;感谢许多同学在我此课程设计遇到问题时给我的帮助使我能够顺利地进行设计的工作;论坛中有很多认识不认识的朋友也都为我的设计提出了很宝贵的建议,同样在这里感谢他们。参考文献1段晨东编著 .单片机原理及接口技术.北京:清华大学出版社 , 2008 2 范风强编著.单片机语言C51应用实战集锦.北京:电子工业出版社,20033陈家俊,郑滔编著.程序设计教程.北京:机械工业出版社,20044陈明萤,8051单片机课程设计实训教材M.北京:清华大学出版社2003年9月.5徐新艳,单片机原理、应用与实践M.北京:高等教育出版社附录 主要程序代码 #include<reg52.h> /包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义#include<intrins.h>#define uint unsigned int#define uchar unsigned char#define KeyPort P3unsigned char High,Low; /定时器预装值的高8位和低8位long int num1;sbit SPK=P14; /定义喇叭接口sbit lcdrs=P01;/数据命令端口14sbit lcdrw=P02;/读写端口.我们在这里只写/sbit lcden=P03;/使能端口uchar code table1="HAPPY BIRTHDAY "uchar code table2=" TO YOU "void delay(uint z) uint x,y; for(x=0;x<z;x+) for(y=0;y<110;y+); void write_com(uchar com) lcdrs=0; /写指令时RS=L lcden=0; P2=com; /给端口送指令 delay(5); /延时5MS lcden=1; /使能端高电平有效 delay(5); lcden=0; void write_date(uchar date) lcdrs=1; /写数据时RS=L lcden=0; P2=date; /给端口送数据 delay(5); /延时5MS 15 lcden=1; /使能端高电平有效 delay(5); lcden=0; void init() lcdrw=0;/写信号拉低 lcden=0;/使能端拉低 write_com(0x38); /开显示 write_com(0x0c); /开显示不显示光标 write_com(0x06); /每写一个地址和光标加一 write_com(0x01); /显示清零 write_com(0x80); /第一行的初始地址为0x80 for(num1=0;num1<16;num1+)/循环的数字要看上面的占多少个字符 write_date(table1num1);/多了和少了都不会对的。 delay(5); write_com(0x80+0x40); /第二行初始地址为0x80+0x40 for(num1=0;num1<14;num1+) write_date(table2num1); delay(5); 16unsigned char code freq2= 0xD8,0xF7,/00440HZ 1 0xBD,0xF8,/00494HZ 2 0x87,0xF9,/00554HZ 3 0xE4,0xF9,/00587HZ 4 0x90,0xFA,/00659HZ 5 0x29,0xFB,/00740HZ 6 0xB1,0xFB,/00831HZ 7 0xEF,0xFB,/00880HZ 1; void Init_Timer0(void);/定时器初始化/*- 主函数-*/ void main(void) unsigned char num; SPK=0;Init_Timer0(); /初始化定时器0, /在未按键时,喇叭低电平,防止长期高电平损坏喇叭 /段锁存置0电平,防止LED亮的时候数码管亮 init();while (1) 17switch(KeyPort)case 0xfe:num= 1;break;case 0xfd:num= 2;break;case 0xfb:num= 3;break;case 0xf7:num= 4;break;case 0xef:num= 5;break;case 0xdf:num= 6;break;case 0xbf:num= 7;break;case 0x7f:num= 8;break;default:num= 0;break;if(num=0)TR0=0;SPK=0; /在未按键时,喇叭低电平,防止长期高电平损坏喇叭else High=freqnum-11;Low =freqnum-10;TR0=1; delay(200); write_com(0x18); 18/*-定时器初始化子程序-*/void Init_Timer0(void)TMOD |= 0x01; /使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响 EA=1; /总中断打开ET0=1; /定时器中断打开TR0=1; /定时器开关打开/*-定时器中断子程序-*/void Timer0_isr(void) interrupt 1 TH0=High;TL0=Low;SPK=!SPK;19

    注意事项

    本文(基于51单片机电子设计制作-屏幕式声光电子琴学年论.doc)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开