版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1新疆农业大学科学技术学院课程设计报告课程名称:单片机原理与应用学生姓名:梁保军完成时间:2015年7月2日系(部)机电工程系专业班级农电122班课程实训题目简易电子琴设计姓名梁保军组别同组实训者梁保军杨涛指导教师吴毅实训时间2015.6.15至2015.7.2指导教师评语指导教师签名:______年____月____日实训成绩摘要本次设计为简易电子琴设计,利用8051单片机内定时器和I|O端口,设计一台简易电子琴,能通过按键进行简单的乐曲演奏。每个不同的音符对应着不同的频率,利用单片机内部定时器TO结合I|O端口来产生不同频率的方波信号改变TO的计数值即可改变不同的音符。关键词:8501单片机音符频率内部定时器PAGEPAGE1目录TOC\o"1-3"\h\u24146一、概述 1172841.1课题设计目的及其意义 1150401.2课题设计的任务与主要内容 11029二、基本组成和原理 1289212.1音乐相关知识 137802.2简易电子琴基本原理及其框图 327182.2.1基本思想 3199202.2.2硬件框图 3319162.2.3软件设计流程图 4288483.1元器件清单及其电路图 453803.2单片机89C51的简介 5246663.3键盘电路 6269003.4振荡电路 750253.5复位电路 7304593.6音频放大电路 820571四、系统软件的设计 9298554.1系统的软件主程序 916904.2系统的软件的调试仿真 1225732总结 137839参考文献 141652附录 156003附录1简易电子琴PCB二维图 1510797附录2简易电子琴PCB三维图 15基于单片机简易电子琴一、概述1.1课题设计目的及其意义单片机(单片微型计算机)是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠等特点。单片机的应用相当广泛,从平常的家用电器到航空航天系统和国防军事、尖端武器都能找到它的身影。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。随着社会的发展进步,人们的生活水平也逐步提高,音乐已经成为了我们生活中很重要的一部分,在工作和学习之余,欣赏音乐不仅使身心得到放松,同时也提高人们的精神品质和个人素养。当代,爱好音乐的年轻人越来越多,也有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段,鉴于一些乐器学习难度大需花费太多精力,且其价格太过于高昂,使得一部分有这种想法的人不得不放弃这种想法,而电子琴又是一种新型的键盘乐器,它是现代电子科技与音乐结合的产物,价格相对便宜,能够满足一般爱好者的需求,因此,在现代音乐中扮演着重要的角色。故简易电子琴的研制具有一定的社会意义。1.2课题设计的任务与主要内容本文的主要内容是用AT89C51单片机为核心控制元件,设计一个简单的电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烤入芯片中,最终达到设计目的。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。具体实现的功能:按下音符键可以发出相应的音符。二、基本组成和原理2.1音乐相关知识在人类还没有产生语言时,就已经知道利用声音的高低、强弱等来表达自己的思想和感情。声带、琴弦等物体振动时会发出声波,声波通过空气传播进入人耳,人们就听到了声音。声音有噪音和乐音之分振动有规律的声音是乐音,音乐中所用的声音主要是乐音。乐音听起来有的高、有的低,这就叫做音高。音高是由发声物体振动频率的高低决定的,频率高声音就高,频率低声音就低。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同的频率,这样就可以利用不同的频率组合,加以拍数对应的延时,构成音乐。如果单片机要自己播放音乐就必须考虑到节拍的设置。对于AT80C51而言要产生一定频率的方波一般是先将某口线输出高电平,延迟一段时间后再输出低电平。通过改变延迟时间可以改变单片机的输出频率。单片机的延时主要有两种方式,即软件延时和使用定时/计数器延时。其中软件延时不是很精确,而电子琴电路由于每个音符的频率值要求比较严格,因此我们选用定时/计数器延时。由于本课程设计是由用户通过键盘输入弹奏乐曲的,所以节拍由用户掌握,不由程序控制。因此,我们只需弄清楚音乐中的音符和对应的频率,利用单片机的定时/计数器来产生方波频率信号即可。要产生相应的音频脉冲,只需要计算出某音频的周期,再除以2。利用计数器计时半周期,计满时使P2.0反向,然后重复计时再反向。本例中,单片机工作在12MHz时钟,使用定时器/计数器T0,工作模式为1,改变计数初值TH0、TL0就可产生不同频率的脉冲信号。例如低3MI音,频率为330Hz,其周期T=1/f=1/330=3030us,计数值N=3030/2=1515,所以每计数1515次P2.0反向。计数初值T=65536-N=64021。C调的各音符频率与计数值T的对照表如表1所示。表1C调各音符频率与计数值T对照表音符频率(HZ)简谱码(T值)音符频率(HZ)简谱码(T值)低1DO26263628#4FA#74064860#1DO#27763731中5SO78464898低2RE29463853#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#693264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#1DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#646664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#148065198#1DO#55464633高5SO156865217中2RE58764684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6186565268中4FA69864820高7SI1967652832.2简易电子琴基本原理及其框图2.2.1基本思想简易的电子琴系统主要是采用AT89C51单片机,单片机工作于12MHZ的时钟频率,使用其定时/计数器T0,工作模式为1,设计4*4键盘矩阵,设置成16个音,可随意弹奏想要表现的音乐,因为单片机产生的音频脉冲没有足够的驱动能力,所以用三极管放大电路实现音频的放大,保证扬声器能产生所要实现的音符声音。2.2.2硬件框图2.2.3软件设计流程图本设计采用AT89C51单片机作为核心处理器件,按下复位键,进入初始化,调用键盘扫面子程序,获得键值,查询音阶表,获取定时初值,向喇叭输入相应频率的脉冲驱动,发出相应的音调,若按键没有释放,则一直发声;若按键松开,则停止发声。当读到结束符时,停止播放音乐。具体软件流程图如下:三、系统的硬件结构3.1元器件清单及其电路图NameCommentDesignatorQuantity瓷片电容22pFC1,C32电解电容10uFC21数码管一位共阳DS11有源蜂鸣器5VLS11排阻10KP11排针2PinP21电阻10KR11普通按键四脚S1,S2,S3,S4,S5,S6,S7,S8,S9,S10,S11,S12,S13,S14,S15,S1616单片机AT89S52或STC89C52U11晶振12MHzY11简易电子琴硬件电路图:3.2单片机89C51的简介AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。AT89S51具有如下特点:40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。该系列单片机引脚与封装如下图所示:主要引脚功能:RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间;XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入;XTAL2(18):来自反向振荡器的输出;P1口(1-8):P1口是从内部提供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流;/:当保持低电平时,单片机只访问外部程序存储器。为高电平时,单片机只访问内部程序存储器。3.3键盘电路键盘是最常用的单片机输入设备,大致可以分为独立连接式键盘和矩阵式。独立连接式键盘是最简单的键盘电路,每个键独立接入一根数据线。这种键盘结构简单,使用方便,但是占用的I/O口线较多。矩阵式键盘由行线和列线组成,按键位于行列的交叉点上,行列式键盘可节省I/O口,适合按键数较多的场合。所以本设计的4*4键盘采用矩阵式键盘。3.4振荡电路单片机的时钟信号用来提供单片机内各种位操作的时间基准,时钟信号通常有两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部震荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。晶振通常选用6MHz、12MHz或者24MHz。本设计中采用的是12MHz。电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般5~30pF。内部振荡方式所得的时钟信号比较稳定,电路中使用较多。振荡方式如下图:3.5复位电路复位操作完成单片机内电路的初始化,是单片机从一种确定的状态开始运行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。因此要求单片机复位后能脱离复位状态。根据应用要求,复位操作通常有2种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。上电后,由于电容要充电,是RST持续一段时间高电平时间。当单片机已经在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=10~30uF,R=10~1kᾨ常用的复位电路如下图所示:在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。3.6音频放大电路使用PNP管来放大,其中发射极接5V电源,集电极接喇叭,电路中的电容是用来隔离直流电用的。PNP管放大原理:当PNP管的VC<VB<VE时,使得集电结反偏,发射结正偏时,管子的发射极电流流入管子,基极电流和集电极电流流出管子,且集电极电流跟基极电流之间成β关系,三极电流满足IE=IB+IC=IB(1+β·IB)。即,基极电流可以控制集电极电流,这种控制作用就称为管子的放大作用。本课程设计的音频放大电路图(三极管型号为9015):四、系统软件的设计4.1系统的软件主程序/*名称:简易电子琴设计说明:本程序运行时,按下矩阵键盘中的按键,数码管会显示当前的按键值,蜂鸣器会播放对应的音符*/#include<reg52.h>#defineucharunsignedchar#defineuintunsignedint#defineSmgIOP0//数码管显示的控制IO#defineKeyIOP1//矩阵键盘的控制IOsbitBEEP=P2^7;//蜂鸣器对应的控制IO//共阳数码管编码数据ucharcodeTable_Smg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};//各音符对应的延时uintcodeTable_Tone[]={64021,64103,64260,64400,64524,64580,64684,64777,64820,64898,64968,65030,65058,65110,65157,65178};ucharKeyNo;//按键序号/**延时子函数**/voidDelayMS(uchartime){uchari;while(time--){for(i=0;i<120;i++);}}/**矩阵键盘的扫描子函数**/voidKey_Scan(void){ucharTemp,Num;P1=0x0f;//高四位置0,放入四列DelayMS(2);//按键按下后00001111将变成0000XXXX,X中1个为0,3个仍为1Temp=KeyIO^0x0f;//异或操作会把3个1变成0,唯一的0变成1switch(Temp){case1:Num=0;break;case2:Num=1;break;case4:Num=2;break;case8:Num=3;break;default:return;}KeyIO=0xf0;//低四位置0,放入四列DelayMS(2);//按键按下后11110000将变成XXXX0000,X中1个为0,3个仍为1Temp=(KeyIO>>4)^0x0f;//将高四位移至低四位,并将其中唯一的0变为1,其余为0switch(Temp){case1:Num+=0;break;case2:Num+=4;break;case4:Num+=8;break;case8:Num+=12;break;default:return;}KeyNo=Num;}/**定时器0中断服务程序,不同频率的声音由该中断产生**/voidPlay_Tone()interrupt1{TH0=Table_Tone[KeyNo]/256;TL0=Table_Tone[KeyNo]%256;BEEP=~BEEP;}/**主函数**/voidmain(void){SmgIO=0xbf;//初始显示"-"TMOD=0x01;IE=0x82;while(1){KeyIO=0xf0;//发送扫描码if(KeyIO!=0xf0)//如果有按键按下{Key_Scan();//矩阵键盘的扫描SmgIO=Table_Smg[KeyNo];//显示按键数值TR0=1;//启动定时器,并发出对应的声音}else{TR0=0;//停止播放声音}DelayMS(2);}}
4.2系统的软件的调试仿真硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 智能供应链管理系统开发合同
- 道路修建合作协议2024年
- 2024年家居产品买卖协议范本
- 路基路面工程A课程设计
- 2024年上海常用员工协议格式
- 医药公司药品研发与生产合同
- 人工智能音频处理技术应用合同
- 2024年服务协议提前终止补充协议
- 2024年电商平台运营管理服务协议
- 2024天然气资源供应及配送服务协议
- 大学物理 电阻电路等效变换
- 国企职务犯罪预防课件
- 介入手术跟台课件
- 医学高级职称评审答辩报告PPT模板
- 《王戎不取道旁李》课堂作业设计
- 签收回执表(最新版)
- 中国气血健康白皮书
- 统编版语文5年级(上)期中单元复习课件
- 驾校大学招生策划书
- 燃气具安装维修工(中级)教学课件完整版
- 第二十八章作用于呼吸系统的药物(tly)
评论
0/150
提交评论