初级组题电子琴初颜业峰_第1页
初级组题电子琴初颜业峰_第2页
初级组题电子琴初颜业峰_第3页
初级组题电子琴初颜业峰_第4页
初级组题电子琴初颜业峰_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

封引 电子琴设 方案比 原理 系统板硬件连 主要简 主要性 功能特性描 引脚功 模块原 4X4矩阵键盘识 系统板上硬件连线设 程序设计内 原理(理论分析与计算 程序框 程 总程 测试方法与仪 测试数据及分 总 引单片机是一种集成在电路,是采用超大规模集成电路技术把具有数据处理能力的处理器CPU随机器RAM、只读器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而单片机是靠程序运行的,并且可以修改。通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。一个不是很复杂的功能要是用年发的74系列,或者60年代的CD00系列这些纯硬件来搞定的话,电路一定是一块大PCB板!但是如果要是用70年代成功投放市场的系列单片机,结果就会有天壤之别!只因为单片机的通过你编写的程序可以实现能,高效率,以及高可靠性!可以说,二十世纪了三个“电”的时代,即电气时代、电子时代和现已PC机、键盘、显示器等组成。还有一类计算机,大多数人却不怎么熟悉。这种计算机就是把智能赋予各种机械的单片机(亦称微控制器。顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。因为它体积小,通常都藏在被控机械的“肚子”里。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词“智能型”。它的应用必定导致传统的控制技术从根本上发生。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。是用AT89S52单片机为控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成主控制模块,在主控模块上设有16个按随意弹奏想要表达的音乐。并且本文分别从原理图,主要,各模块原理及/计数器T0来产生这样频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正电子琴设一、设计任二、设计要求i等八可以已的音乐复或者顺序等。可以对编奏乐曲进行,在按下放音键时能演奏出来三、可实现功能16可以通过按键选择2首已的音能够以循环三首乐能够顺序三首乐能够在音乐过程中随时暂停,再次按下可继续按下相应功能按键如暂停,顺序,循环,相应指示灯会亮方案比第法是使用循环语句来实现延时,让单片机循环的执行某条指令然后根:DJNZ2,MOV112MHz1μs。因此可以根据这些指令的执行时间和每条指令的循环次.数计算出以50ms。但这种方法的计算的延时时间不是很准确较严格,变化范围不能太大,因此产生的频率也要求比较严格,不能采用延时程序来产生此。第二种方法是使用单片机的定时/计数器延时。AT89C205116T0T1,单片机的定时/计数器实际上是个计数装1,当计CPU;对外部输入的时钟信号计数时,外部时钟的每个时钟上升沿定时/计数器的计数值就加1,当计数值CPU。因此,如果知道单片机的机1 P2.7端口用导线连接到”4X4矩阵键盘”即如图右下角所 P3.5端口用导线连接到LED指示灯模块处,即如图左方所 主要简主要性与MCS-51单片机产品兼容、8K字节在系统可编程Flash器、1000次擦写周期、全静态操作:0Hz~33Hz、三级加密程序器、32个可编I/O16UART道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。AT89S52CMOS88K在系统可编程Flash器。使用Atmel公司高密度非易失性器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序器在系统可编程,亦适于常规编程器。在单上,拥有灵巧的8位CPU和在系统可编程Flash,AT89S52方案。AT89S528kFlash,256RAM,32位I/O21662AT89S520Hz2CPU停RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM或硬件复位为止。8位微控制器8K字节在系统可编程FlashAT89S52引脚功P0:P08I/O8TTL逻辑电平。对P0“1”时,引脚用作高阻抗输入。当外部程序和数据器时,P0口也被作为低8位地址/数据复用。P0flash,P0P1:P18I/O,p14个TTLP1“1”时,内部上拉电阻把端口拉高,此时可此外,P1.0P1.22(P1.0/T2)2的触发输入(P1.1/T2EX),flash,P18P1.0T2(T2),P1.1T2EX(T2P1.5MOSI(在系统编程用)P1.6MISO(在系统编程用)P1.7SCK(在系统编程用)P2:P28I/O,P24个TTLP2“1”时,内部上拉电阻把端口拉高,此时可在外部程序器或用16位地址外部数据器(例如执MOVX时,P2P21。在使用8位地址(如MOVX@RI)外部数据器时,P2口输出P2锁存器的flash,P28P3:P38I/O,p24个TTLP3“1”时,内部上拉电阻把端口拉高,此时可P3AT89S52(第二功能)使用,如下表所示。flash,P3P3.0RXD(串行输P3.1TXD(串行输出口)P3.2INTO(0)P3.3INT1(P3.4TO(P3.5T1(P3.6WR(外部数据器写选通)P3.7RD(外部数据器读选通此外,P3FLASHRST——复位输入。当振荡器工作时,RSTALE/PROG——当外部程序器或数据器时,ALE(地址锁存允许)8ALE1/6意的是:每当外部数据器时将跳过一个ALE脉冲。对FLASH器编程期间,该引脚还用于输入编程脉冲(PROG)必要,可通过对特殊功能寄存器(SFR)8EHD0位,可ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE位PSEN——程序允许(PSEN)输出是外部程序器的读选通信号,当AT89C52由外部程序器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当外部数据器,将跳过两次PSEN信EA/VPP——外部允许,欲使CPU仅外部程序器(地址为0000HFFFFH),EA(接地)。需注意的是:如果加密位LB1EA如EA端为高电平(接Vcc端),CPU则执行内部程序器的指令FLASH器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12VVpp。4X44-1.4X4盘按其功能不同,通常可分为编码键盘和非编码键盘两种基本类型。应的键码(如ASCII码)送往CPU。所以,编码键盘接口简单、使用方便。但降低成本大多数采用非编码键盘。4520mm。所谓抖动是指在识别被按键是又有新的按键按下时产生的问题。常用的方法有双键锁定和N键两种方有效键并产生相应的键码。N键,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。为此,需要设置、输出口一个,该方法在微机系统中被广泛使用。线反转4-1把“单片机系统“区域中的P2.0-P2.7“4X4(1.4×4CPU态同样需变成数字量“0”和“1”,开关的一端(列线)VCC,而矩阵键盘部分程void{ //P2口当前状态赋值给临时变量temp,用于 temp0xf0 0xf0,{ P2 if(temp!=0xf0){{case0xee:case0xde:case0xbe:case0x7e:} {dis //开启中}}} {{{case0xed:case0xdd:case0xbd:case0x7d:} {dis //开启中}}} {{{case0xeb:case0xdb:case0xbb:case0x7b:} {dis //开启中}}} {{{case0xe7:case0xd7:case0xb7:case0x77:} {dis //开启中}}}}void {{{}}else扬声8050NPN三极管实现。电路图如下。其中串原T0来产生这样频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就P1.0P1.0AT89C51(MODE1)TH0TL0其周期T=1/523=1912μs,956μs/1μs=956,每计956I/ODO(523Hz)。4-1 1式中,N;fi(12MHz1MHz);fr其计数初值T例如:设K=65536,fi=1MHz,DO(261Hz)(523Hz)DO(1046Hz) DO的T=65536-500000/262=63627DO的T=65536-500000/523=64580DO12MHZT04-24-2音符频率表频率简谱码值频率简谱码值1中42中5低3中6低4中7低5高1低6高2低7高3中1高4中2高5中3高6高7即1—7为低音8—14为中音15—21为高音uintcode音乐的音拍,一个节拍为单位(C)(4-34-3uintcode{14,15,13,14,17,10,11,10,9,16,17,16,15,10,8,13,12,5,4,5,0}uintcode 60,360,360,360,360,360,360,360,360,360,360,360}canonfucanonpai程序框音乐程序框图如图4-5所示图4-5音乐程序框程#include#defineucharunsignedchar#defineuintunsignedintsbitkey5=P1^4;sbitkey4=P1^1;sbitkey1=P3^3;sbitkey2=P3^1;sbitkey3=P3^2;sbitucharSTH0,STL0,STH1uchartemp,key,numuintcodetab[]={0,63628,63835,64021,64103,64260,64400,64524,uintcode{14,15,13,14,17,10,11,10,9,16,17,16,15,10,8,13,12,5,4,5,0}{,13,10,13,10,13,13,13,12,10,7,8,8,9,10,11,10,9,8,7,7,10,10,0{16,15,16,16,19,17,17,17,17,20,20,19,19,17,16,15,15,15,15,16,16,14,0} uintcode 60,360,360,360,360,360,360,360,360,360,360,360 void{uinta,b, elseif(key2==0)a=1;else{ {{ }}{{ {}{}{}}}}总程 录#include#defineucharunsignedchar#defineuintunsignedintsbitkey5=P1^4;sbitkey4=P1^1;sbitkey1=P3^3;sbitkey2=P3^1;sbitkey3=P3^2;sbitucharSTH0,STL0,STH1uchartemp,key,numuintcodeuintcode{{{

16,14,0} uintcode voiddelay(uint {uinti,j}voiddis{ }void{ {{{case0xee:case0xde:case0xbe:case0x7e:} //{ }}} {{{case0xed:case0xdd:case0xbd:case0x7d:} //{ }}} {{{case0xeb:case0xdb:case0xbb:case0x7b:} //{ }}} {{{case0xe7:case0xd7:case0xb7:case0x77:} //{ }}}}void //{{{}}else}void{uinta,b, elseif(key2==0)a=1;else{ {{

}}{{

{}{}{}}}}void{ //设置定时器0为工作方式1(00010001) }voidt0(void)interrupt{}voidt1(void)interrupt{}测试方法与仪首先设计好电路图以及程序后,在keil上编写好程序,在Protues上进行仿真,,即如下图所示连

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论