欢迎来到天天文库
浏览记录
ID:36260147
大小:529.55 KB
页数:34页
时间:2019-05-07
《基于单片机的带存储播放功能的简易电子琴》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、单片机课程设计——基于单片机的带存储播放功能的简易电子琴班级:09应电1班姓名:梁泽豪指导老师:尹海昌广东科学技术职业学院摘要音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合来构成我们想要的音乐,本次的项目设计任务就是使用AT89C52单片机设计的电子琴,使它能够发出高低音的音乐效果。即:由4X4组成16个按钮矩阵,设计成16个音调;可随意弹奏想要表达的音乐;可无数次存储自己弹奏的音乐。另外,我还移植了《挥着翅膀的女孩》、《同一首歌》和《两只蝴蝶》进去,
2、供读者随心所欲的播放。操作说明如图当按下任意矩阵键盘时,发出不同音调,数码管显示相应的数字;当按下“调试播放”时,就会把刚才发出的音调全部播放出来;当按下“调试清零”时,系统自动把刚刚播放的音乐清除掉;即按下“调试播放”没调;当按下“写入内存”时,写入指示灯亮,当灯灭时,表示写入完毕;即实现断电保持;当按下“播放内存”时,读取并播放存储的音乐。当按下“挥着翅膀的女孩”或“同一首歌”或“两只蝴蝶”时,即播放对应的音乐。目录摘要操作说明一、系统框原理图二、硬件系统的介绍三、音乐产生的原理四、数据存储的
3、原理五、单片机工作流程图六、小结一、系统原理框图AT89C52蜂鸣器数码管写入指示灯4x4矩阵键盘AT24C08独立键盘二、硬件系统的介绍本设计的硬件系统主要包括三大部分,分别由单片机系统、矩阵键盘系统和外部存储系统组成。1.(At89c52)单片机系统的介绍;2.(4x4)矩阵键盘系统的介绍;3.(At24c08)外部存储系统的介绍;1.(At89c52)单片机系统的介绍目前社会上使用最为广泛的就是89c52系列的单片机。由于其价格低廉,硬件电路要求较低,稳定性高,程序设计及写入方便、简单,所以
4、受广大学生及单位的青睐。At89C52引脚图At89c52各引脚功能Vcc:电源+5V。Vss:接地。XTAL1、XTAL2:使用内部时钟时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。P0口(39~32):双向I/O口,既可作地址/数据总线口用,也可作普通I/O口用。P1口(1~8):准双向通用I/O口。P2口(21~28):准双向口,既可作地址总线,也可作普通I/O口用。P3口(10~17):多用途端口,既可作普通I/O口用,也可按每位定义的第二功能操作。ALE/PROG:地址锁存
5、信号输出端。在访问片外存储器时,ALE为有效高电平时,P0口输出地址低8位,ALE信号作外部地址锁存器的锁存信号。PROG是对8751的EPROM编程时的编程脉冲输入端。RST/Vpd:复位信号输入端。接通电源后,该脚出现两个机器周期(24个振荡周期)以上的高电平,使内部复位。Vpd即备用电源输入端。当主电源Vcc发生故障,Vpd将为RAM提供备用电源。Vpp:内部和外部程序存储器选择线(为0时访问外部)。在对8751的EPROM编程时,此引脚接编程电压12.5V。片外程序存储器选通信号,低电平有
6、效。89C52片内RAM区结构图定时器的四种工作方式1、方式的选择:根据M1,M0来选择。00:方式001:方式110:方式211:方式32、主要特点:方式0:13位定时器。TH0的8位+TL0的低5位方式1:16位定时器。TH0的8位+TL0的8位方式2:能重复置初始值的8位定时器。TL0和TH0必须赋相同的值。方式3:只适用于定时器0,T0被拆成两个独立的8位定时器TL0,TH0。其中:TL0与方式0、1相同,可定时或计数。用定时器T0的GATE、C/T、TR0、TF0、T0、和INT0控制。
7、TH0只可用作简单的内部定时功能。占用T1的控制位TF1、TR1和INT1,启动关闭仅受TR1控制。中断源和中断标志89C52单片机有5个中断请求源,分别为:1、2个外部输入中断源INT0(P3.2)和INT1(P3.3);2、2个片内定时器T0和Tl的溢出中断源TF0(TCON.5)和TF1(TCON.7);3、l个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。中断地址0003H~000AH外部中断0中断地址区000BH~0012H定时/计数器0中断地址区0013H~00
8、1AH外部中断1中断地址区001BH~0022H定时/计数器1中断地址区0023H~002AH串行口中断地址区2.(4x4)矩阵键盘系统的介绍本设计主要用At89c52单片机的P2口对键盘进行动态扫描,利用8个脚控制16个按键,不同按键发出不同的音调。下面,主要讲解(4x4)矩阵键盘是如何工作的。16个音调的按键利用行列扫描的方法,检测所按的键的位置。即:先定义P2^4~7是行扫描,P2^0~3是列扫描。然后给P2^4=0,P2^5~7=1。系统就在第一行扫描,当按下第一个按键,系
此文档下载收益归作者所有