基于单片机的带存储播放功能的简易电子琴
带存储播放功能的简易电子琴设计

目的:
掌握单片机与行列式键盘接口电路的工作原理与使用方法
掌握单片机总线扩展的基本原理及操作时序
本文主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的音乐。并且本文分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述。本系统是简易电子琴的设计,按下键盘矩阵中的按键会使数码管显示当前按键,扬声器播放器对应的音符。本系统电子琴设计,设计简单,所需器件价格便宜,总体价格比较便宜,功能健全,能够满足一般消费者,或爱好音乐的人的基本需求。因此本系统设计既实用又便宜。对于人们的业余生活意义较大。单片机是在一块芯片内集成了计算机的各个功能部件,构成一种单片式的微型计算机。
掌握通过C51操作外部扩展RAM程序的设计方法
掌握利用单片机内部定时器产生不同频率声音的方法
软件的介绍(keil Proteus)
Keil是德国开发的一个51单片机开发软件平台,最开始只是一个支持C语言和汇编语言的编译软件。Keil的μVision3可以进行纯粹的软件仿真(仿真软件程序、不接硬件电路),也可以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真,在不需要额外的硬件仿真器的条件下,搭接单片机硬件系统对项目程序进行实时仿真。
该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效来自声音。通过这样可以不断的弹奏音乐。
单片机课设---带存储播放功能的简易电子琴

1.2设计任务1.3设计系统的框架二. 软件整体方案流程图三. 硬件单元电路设计3.1复位电路3.2晶振电路3.3数码管显示电路3.4键盘电路3.5扬声器电路四. 总体模块的软件设计五. 具体模块的设计流程六. 功能及展示七.设计总结附录源程序代码参考文献实物连接图1.1设计目的本课程是继《单片机原理及应用B》课程之后,训练学生综合运用上述课程知识,进行单片机软件、硬件系统设计与调试,使学生加深对单片机结构、工作原理的理解,提高学生综合应用知识的能力、分析解决问题的能力和单片机最小应用系统的设计技能。
通过课程设计,达到理论与实际应用相结合,增强学生对综合电子系统设计的理解,掌握单片机原理就应用的设计方法以及C51编程的能力,并能够在这个基础上进行实际项目的程序设计及软硬件调试,增强学生的工程实践能力。
1.2设计任务〔包括课程设计计算说明书、图纸、实物样品等要求〕利用行列式键盘和数码管,来控制并显示和产生不同频率的声音。
其他扩展功能学生可自己添加,功能不限定与此。
(1)了解相关理论知识,掌握基本的原理,理解相关特殊功能寄存器的设置。
(2)完成电路板的组装(3)完成硬件电路的测试、以及软件的编程(4)最终完成具体的课设任务。
1.3设计系统的框架二.软件整体方案流程图三、硬件单元电路设计3.1复位电路常见的复位电路有三种形式:上电自动复位方式、按键电平复位方式和按键脉冲复位方式,本设计中采用了按键电平复位的方式,通过使RST端经电阻与VCC电源接通实现复位,电路图如图2所示。
C1图2 单片机复位电路3.2晶振电路本设计中单片机的振荡电路采用了内部时钟方式,在XTAL1和XTAL2之间跨接晶体振荡器和微调电容,组成并联谐振电路,构成稳定的自激振荡器,如图图3所示,晶体振荡器的振荡频率决定单片机的时钟频率。
此设计中振荡频率12MHz.图3 单片机晶振电路3.3数码管显示电路 1. LED 结构LED 数码管显示器,由8只发光二极管组成。
基于单片机电子琴设计

基于单片机的简易电子琴设计一、设计目的本方案设计数码管显示音符的实验,使用基于AT89C51单片机,在数码管上显示按键所代表音符的数字,通过键盘可以调节低音,中音,高音的音符,按下数据蜂鸣器会发出相应音符发出的声音。
二、摘要:通过数码管显示音符的数字,按下键盘,蜂鸣器会发出声音进行提示关键词:单片机,键盘,蜂鸣器,数码管硬件电路设计1、单片机模块设计2、本次设计采用的是单片机AT89C51。
芯片共有40个引脚,引脚的排列顺序为从靠芯片的缺口,如图3.1所示。
左边那列逆时针数起,依次为1,2,3.....40,其中芯片的1脚顶上有一个凹点。
在单片机的40个引脚中,电源引脚2根,外接晶体振荡器引脚2根,控制引脚4根以及4组8位可编程I/O引脚32根。
3、4、图AT89C51管脚图5、AT89C51单片机共有4组8位可编程I/O口,分别为P0、P1、P2、P3口,每个口有8位,共32根。
每一根引脚都可以编程,比如用来控制电机、交通灯等,开发产品时就是利用这些可编程引脚来实现我们想要的功能。
6、P0口:8位双向I/O口线,名称为P0.0-P0.7;7、P1口:8位准双向I/O口线,名称为P1.0-P1.7;8、P2口:8位准双向I/O口线,名称为P2.0-P2.7;9、P3口:8位准双向I/O口线,名称为P3.0-P3.7。
10、本文单片机模块如图所示,主要是由单片机芯片与晶振和复位电路组成的。
是由单片机来控制整个系统,让我们的系统可以正常的运行。
2、数码管显示模块设计LED(Light Emitting Diode)发光二极管缩写。
LED数码管是由发光二极管构成的。
常见的LED数码管为“8”字型的,共计8段。
它由七个条形发光二极管和一个小圆点发光二极管组成,每一段对应一个发光二极管。
一般来说分共阳极和共阴极两种接法,如图4所示为八段LED数码管结构及外形。
共阳极LED数码管的发光二极管的阳极连接在一起,公共阳极接正电压,当某个发光二极管的阴极接低电平时,发光二极管被点亮,相应的段被显示。
基于单片机的带存储播放功能的简易电子琴

中断源和中断标志
89C52单片机有5个中断请求源,分别为:
LOGO
1、2个外部输入中断源INT0(P3.2)和INT1(P3.3); 个外部输入中断源INT0(P3.2)和INT1(P3.3); INT0(P3.2) 2、2个片内定时器T0和Tl的溢出中断源TF0(TCON.5)和TF1(TCON.7); 个片内定时器T0和Tl的溢出中断源TF0(TCON.5)和TF1(TCON.7); T0 的溢出中断源TF0(TCON.5) 3、l个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。 个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。 TI(SCON.1)
目 录
摘 要 操作说明 一、系统框原理图 二、硬件系统的介绍 三、音乐产生的原理 四、数据存储的原理 五、单片机工作流程图 六、小结
LOGO
一、系统原理框图
蜂鸣器 4x4矩阵键盘 数码管 AT89C52 AT24C08 写入指示灯 独立键盘
LOGO
二、硬件系统的介绍
LOGO
本设计的硬件系统主要包括三大部分, 本设计的硬件系统主要包括三大部分, 分别由单片机系统、 分别由单片机系统、矩阵键盘系统和外部 存储系统组成。 存储系统组成。 1.(At89c52)单片机系统的介绍; ( )单片机系统的介绍; 2.(4 x 4)矩阵键盘系统的介绍; ( )矩阵键盘系统的介绍; 3.(At24c08)外部存储系统的介绍; ( )外部存储系统的介绍;
中断地址
0003H~000AH 0003H~000AH 000BH~0012H 000BH~0012H 0013H~001AH 0013H~001AH 001BH~0022H 001BH~0022H 0023H~002AH 0023H~002AH 外部中断0 外部中断0中断地址区 定时/计数器0 定时/计数器0中断地址区 外部中断1 外部中断1中断地址区 定时/计数器1 定时/计数器1中断地址区 串行口中断地址区
基于AT89C52单片机的简易电子琴设计毕业设计论文

3.1
图3-1电子琴系统原理框图
(1)LCD显示屏
LCD液晶显示器是Liquid Crystal Display的简称,LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,以此来达到控制住每个像素点偏振光出射与否从而达到显示的目的。自然界中的物质有气态、液态、固态三种型态。虽然液体分子质心的排列没有任何规律性,不过如果这些分子是扁形的,那么这些分子的分子指向就有可能具有规律性。因此人们就可以将液态再次细分成好多型态。液体直接称为分子方向没有规律性的液体,如果分子具有方向性的液体,那么就可以称它为为“液态晶体”,简称“液晶”。生活中的电视、手机绝大多数产品都属于液晶产品,因此,液晶对于人们的生活来说并不陌生。液晶是在1888年由奥地利植物学家莱尼茨尔(Reinitzer)发现的,是一种介于固体与液体之间且具有规则性分子排列的有机化合物。
4.2程序设计内容11
5.调试15
5.1 Proteus简介15
5.2 keil简介15
5.3仿真步骤17
6.总结19
基于单片机的带存储播放功能的简易电子琴

播放控制逻辑实现
01
播放控制
设计播放控制逻辑,包括播放、暂停、停止、上一曲、下一曲等功能。
通过单片机的GPIO口或专用音频控制接口与音频输出模块进行通信,
实现播放控制。
02
播放状态管理
在单片机系统中管理播放状态,如当前播放的曲目、播放进度、播放模
式等。可以使用数据结构和变量来记录这些信息,并提供相应的接口供
代码优化
精简代码结构,提高执 行效率,减少资源占用。
03 键盘输入模块设计
键盘布局与按键功能定义
键盘布局
采用矩阵式键盘布局,将多个按键按 照矩阵形式排列,通过行列扫描方式 实现按键输入。
按键功能定义
每个按键对应一个音符,按下不同的 按键可以发出不同的音符声音。同时 ,设置一些功能键,如播放/暂停键、 录音键等,实现电子琴的基本功能。
其他模块查询和修改。
03
用户交互设计
为了方便用户操作,可以设计简单的用户交互界面,如按键或触摸屏等。
通过接收用户的输入指令,实现相应的播放控制操作。
05 声音输出模块设计
DAC转换器选型及配置
DAC转换器类型
接口电路
选用高精度、低噪声的DAC转换器, 如TI公司的TLV320AIC3254等,以确 保音频信号的准确性和纯净度。
基于单片机的带存储播放功能的简 易电子琴
目 录
• 项目背景与意义 • 系统总体设计 • 键盘输入模块设计 • 存储播放模块设计 • 声音输出模块设计 • 系统测试与性能评估 • 总结与展望
01 项目背景与意义
电子琴发展现状及趋势
01
02
03
多样化功能
现代电子琴不仅具备传统 钢琴的演奏功能,还集成 了录音、播放、编曲等多 种功能。
基于51单片机带存储播放功能功能的电子琴【范本模板】

单片机课程设计报告书小组成员:吕梦莎吴玉凤学号:11213072 11213078班级:自动化1106指导教师:于振宇基于AT89C51的屏幕声光式可录音电子琴北京交通大学电子信息工程学院吕梦莎吴玉凤摘要:本文的主要内容是用AT89S51单片机为核心控制元件,通过脉冲触发产生出电子音调,与按键、扬声器、LCD显示屏等模块组成控制模块,设计一个电子琴。
该系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用与参考价值.关键词:AT89C51、脉冲触发、屏幕声光式、录音、播放、演奏、电子琴。
第一章引言1.1设计背景单片微型计算机是大规模集成电路技术发展的产物,属第四代电子计算机,它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。
它的应用必定导致传统的控制技术从根本上发生变革.因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文对利用单片机设计简易电子琴进行了分析,分别从原理图,主要芯片,各模块原理及各模块的程序的调试来详细阐述.本系统是简易电子琴的设计,按下四角自锁开关会使LCD显示屏显示当前音符名称、播放的歌曲名称或播放的录音名称,同时扬声器播放对应的音符,LED闪烁相应的节奏。
通过设计本系统可熟悉掌握单片机的基本功能.1。
2 设计任务1、设计以单片机为核心的简易电子琴系统,可随意弹奏想要表达的音乐;2、针对要求控制的对象完成程序的编制;3、硬件软件联调,完成题目所要求的功能;1.3设计思路1、发声部分设计思路音乐是由不同频率的声音组成的。
利用程序来控制单处机某个口线的“高”电平或低电平,则在该口线上就能产生一定频率的矩形波。
利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调.于是产生do,re,mi,fa,so,la,xi七个音符的变换.2、显示部分设计思路考虑到信息的多媒体传播已经成为信息化时代的主流,我们给电子琴设计了LCD显示器和节拍指示LED灯,带来视听双重冲击。
基于单片机的带音乐播放的电子琴设计

课题名称、主要内容和基本要求:进度安排:指导教师签名:评阅教师签名:毕业设计(论文)成绩:答辩委员会主任签名:摘要电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。
它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。
本文的主要内容是用AT89S51单片机为核心控制元件,设计一个电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有10个按键和扬声器。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。
众所周知,由于一首音乐是由许多不同的音阶组合而成的,而每个音阶则对应着不同的频率,因此我们可以利用不同的频率来进行音阶的组合,即可产生美妙的音乐了。
对于单片机来说,产生不同的频率非常方便,只要算出某一音频的周期,然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后,就将输出脉冲的I/O反相,然后重复计时,此半周期再对I/O反相,即可在I/O脚上得到此频率的脉冲。
因此我们可以利用单片机的定时器,使其工作在计数器模式MODE1下,改变计数值TH0及TL0来产生不同频率的信号。
从而产生不同的音符[1]。
关键词:音阶,频率,单片机AbstractElectronic organ is a modern electronic music technology and the product is a ne w type of keyboard instruments. It played an important role in modern music. SCM ha s powerful control functions and flexible programming characteristics. It has converge d with modern people's lives, become an irreplaceable part. The main content is AT89 S51 control of the core components, design of a electronic organ. SCM as a host to th e core, with the keyboard, speaker and other core modules. In the main control modul e has 16 keys and a speaker. The system is steady, its simple hardware circuits, softwa re functions, reliability of control system and high cost performance is its advantages. It also has certain practical and reference value.Well-known, the music is made up by many different scales, and each scale corresponds to different frequency, so we can use different frequency to make combination of scales, and then produce wonderful music.As for single-chip microcomputer, it is very convenient to produce different frequency, we just calculate an audio cycle, then this cycle divided by 2, namely half cycle time, using timer to time the half cycle time.Whenever timing, it will output pulse I/O reverse phase, and repeat the timing, the half cycle again to the I/O reversed-phase, then can get this frequency pulse from the I/O feet. So we can use microcontroller timer to make it work in the counter mode and generate different frequency signal. Thus produce different notes. Keywords: scales,frequency, single-chip microcomputer目录第一章绪论 (1)1.1电子琴的特点及研究意义 (1)1.2系统介绍 (1)第二章方案论证 (2)2.1单片机选择 (2)2.2键盘选择 (2)2.3功放电路选择 (3)第三章系统设计 (4)3.1单片机的介绍 (4)3.1.1单片机AT89S52基本知识 (4)3.1.2单片机AT89S52产品特点 (4)3.1.3单片机AT89S52的使用 (5)3.1.4单片机AT89S52的特性 (6)3.1.5AT89S52引脚功能与封装 (7)3.2LED数码管 (9)3.2.1LED数码管主要技术参数 (9)3.2.2LED数码管的引脚说明 (10)3.2.3数码管编码说明 (11)3.3LM386 (12)3.3.1LM386简介 (12)3.3.2LM386特性 (12)3.3.3LM386应用特点 (12)3.3.4LM386引脚图 (12)3.3.5LM386注意事项 (12)第四章硬件设计 (13)4.1总体电路设计 (13)4.2单片机最小系统电路 (14)4.3LM386功放电路 (14)4.4数码管显示电路 (15)4.5按键电路 (16)4.6按键指示灯电路 (17)4.7音乐产生方法 (17)第五章软件设计 (19)5.1程序流程图 (19)5.2S1-S8按键识别程序 (20)5.3S9键识别电路程序 (21)5.4音乐产生程序 (22)第六章调试过程 (26)6.1数码管显示乱码 (26)6.3按键处理问题 (26)结论 (26)参考文献 (27)谢辞 (28)附录 (29)附录一程序源代码 (29)附录二电路图 (41)第一章绪论1.1电子琴特点及研究意义本论文设计的为电子琴,电子琴又称作电子键盘,属于电子乐器(区别于电声乐器),发音音量可以自由调节。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
LOGO
XTAL1、XTAL2:使用内部时钟时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。 、 :使用内部时钟时,用来接石英晶体和电容;使用外部时钟时,用来输入时钟脉冲。
ALE/PROG :地址锁存信号输出端。在访问片外存储器时,ALE为有效高电平时,P0口输出地址低 / 地址锁存信号输出端。在访问片外存储器时, 为有效高电平时, 口输出地址低 口输出地址低8 为有效高电平时 信号作外部地址锁存器的锁存信号。 是对8751的EPROM编程时的编程 位,ALE信号作外部地址锁存器的锁存信号。 PROG是对 信号作外部地址锁存器的锁存信号 是对 的 编程时的编程 脉冲输入端。 脉冲输入端。 RST/Vpd / 个振荡周期)以上的高电平 :复位信号输入端。接通电源后,该脚出现两个机器周期(24个振荡周期 以上的高电平, 复位信号输入端。接通电源后,该脚出现两个机器周期 个振荡周期 以上的高电平, 使内部复位。 即备用电源输入端。 发生故障, 将为RAM提供备用 使内部复位。Vpd即备用电源输入端。当主电源 即备用电源输入端 当主电源Vcc发生故障,Vpd将为 发生故障 将为 提供备用 电源。 电源。 时访问外部) 在对8751的EPROM编程时,此引 编程时, :内部和外部程序存储器选择线(为0时访问外部)。在对 内部和外部程序存储器选择线 为 时访问外部 的 编程时 脚接编程电压12.5 V。片外程序存储器选通信号,低电平有效。 脚接编程电压 。片外程序存储器选通信号,低电平有效。
LOGO
2、主要特点: 主要特点: 方式0 13位定时器 位定时器。 TH0的 TL0的低 的低5 方式0:13位定时器。 TH0的8位+TL0的低5位 方式1 16位定时器 位定时器。 TH0的 TL0的 方式1:16位定时器。 TH0的8位+TL0的8位 方式2 能重复置初始值的8 TL0和TH0必须赋相同的值 必须赋相同的值。 方式2:能重复置初始值的8位定时器 。 TL0和TH0必须赋相同的值。 方式3 只适用于定时器0 T0被拆成两个独立的 位定时器TL0,TH0 被拆成两个独立的8 TL0,TH0。 方式3:只适用于定时器0,T0被拆成两个独立的8位定时器TL0,TH0。 TL0与方式 与方式0 相同,可定时或计数。用定时器T0 GATE、C/T、 T0的 其中 :TL0与方式0、1相同,可定时或计数。用定时器T0的GATE、C/T、 TR0、TF0、T0、 INT0控制 控制。 TR0、TF0、T0、和INT0控制。 TH0只可用作简单的内部定时功能。占用T1的控制位TF1 TR1和 TH0只可用作简单的内部定时功能。占用T1的控制位TF1、TR1和 只可用作简单的内部定时功能 T1的控制位TF1、 INT1,启动关闭仅受TR1控制。 TR1控制 INT1,启动关闭仅受TR1控制。
1.(At89c52)单片机系统的介绍 ( )
• 目前社会上使用最为广泛的就是89c52系列的单片机。由 于其价格低廉,硬件电路要求较低,稳定性高,程序设计 及写入方便、简单,所以受广大学生及单位的青睐。
At89C52引脚图
3;5 V。 :电源 。 Vss:接地。 :接地。 P0口(39~32) :双向 /O口,既可作地址/数据总线口用,也可作普通 /O口用。 口 ~ 双向I/ 口 既可作地址/数据总线口用,也可作普通I/ 口用 口用。 P1口(1~8) 口 ~ :准双向通用I/O口。 准双向通用 / 口 P2口(21~28) :准双向口,既可作地址总线,也可作普通 /O口用。 口 ~ 准双向口,既可作地址总线,也可作普通I/ 口用 口用。 P3口(10~17) :多用途端口,既可作普通 /O口用,也可按每位定义的第二功能操作。 口 ~ 多用途端口,既可作普通I/ 口用 也可按每位定义的第二功能操作。 口用,
操作说明
LOGO
• 如图当按下任意矩阵键盘时,发出不同音调,数码管显示相应的数字 如图当按下任意矩阵键盘时,发出不同音调 数码管显示相应的数字 ; • 当按下“调试播放”时,就会把刚才发出的音调全部播放出来; 当按下“调试播放” 就会把刚才发出的音调全部播放出来; • 当按下“调试清零”时,系统自动把刚刚播放的音乐清除掉;即按下 当按下“调试清零” 系统自动把刚刚播放的音乐清除掉; 调试播放”没调; “调试播放”没调; • 当按下“写入内存”时,写入指示灯亮,当灯灭时,表示写入完毕; 当按下“写入内存” 写入指示灯亮,当灯灭时,表示写入完毕; 即实现断电保持; 即实现断电保持; • 当按下“播放内存”时,读取并播放存储的音乐。 当按下“播放内存” 读取并播放存储的音乐。 • 当按下“挥着翅膀的女孩”或“同一首歌”或“两只蝴蝶”时,即播 当按下“挥着翅膀的女孩” 同一首歌” 两只蝴蝶” 放对应的音乐。 放对应的音乐。
16个音调的按键 16个音调的按键
LOGO
•
利用行列扫描的方法,检测所按的键的位置。 先定义P2^4~7是行扫描,P2^0~3 是行扫描, 利用行列扫描的方法,检测所按的键的位置。即:先定义 是行扫描 是列扫描。然后给P2^4=0, P2^5~7=1。系统就在第一行扫描,当按下第一个按键, 是列扫描。然后给 , 。系统就在第一行扫描,当按下第一个按键, 系统就会检测到P2^4=P2^0=0,所以系统就捕捉到第一个按键备按下;当按下第二个 系统就会检测到 ,所以系统就捕捉到第一个按键备按下; 按键,系统就会检测到P2^4=P2^1=0……接着给 接着给P2^4~7=1 ,P2^5=0。系统扫描到 按键,系统就会检测到 接着给 。 第二行, 当按下第一个按键,系统就会检测到P2^5=P2^0=0,当按下第二个按键 第二行,当,当按下第一个按键,系统就会检测到 , 系统就会检测到P2^5=P2^1=0 ,依次类推。(该程序请看下页) 依次类推。(该程序请看下页) 。(该程序请看下页 ,系统就会检测到
LOGO
2.(4 x 4)矩阵键盘系统的介绍 ( )
• 本设计主要用At89c52单片机的P2口对键盘进行动态扫描 本设计主要用At89c52单片机的P2口对键盘进行动态扫描 At89c52单片机的P2 利用8个脚控制16个按键,不同按键发出不同的音调。 16个按键 ,利用8个脚控制16个按键,不同按键发出不同的音调。 下面,主要讲解(4x4)矩阵键盘是如何工作的。 下面,主要讲解(4x4)矩阵键盘是如何工作的。
班 姓
级: 09应电1班 名: 梁泽豪
单片机课程设计
—— 基于单片机的带存储播放 功能的简易电子琴
指导老师: 尹海昌
广东科学技术职业学院
摘 要
LOGO
音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率, 音乐是由许多不同的音阶组成的,而每个音阶对应着不同的频率, 这样我们就可以利用不同的频率的组合来构成我们想要的音乐, 这样我们就可以利用不同的频率的组合来构成我们想要的音乐,本次的 项目设计任务就是使用AT89C52单片机设计的电子琴,使它能够发出高 单片机设计的电子琴, 项目设计任务就是使用 单片机设计的电子琴 低音的音乐效果。 低音的音乐效果。 即: 由4X4组成 个按钮矩阵,设计成 个音调; 组成16个按钮矩阵 个音调; 组成 个按钮矩阵,设计成16个音调 可随意弹奏想要表达的音乐; 可随意弹奏想要表达的音乐; 可无数次存储自己弹奏的音乐。 可无数次存储自己弹奏的音乐。 另外,我还移植了《挥着翅膀的女孩》、《同一首歌》 另外,我还移植了《挥着翅膀的女孩》、《同一首歌》和《两只 》、《同一首歌 蝴蝶》进去,供读者随心所欲的播放。 蝴蝶》进去,供读者随心所欲的播放。
中断地址
0003H~000AH 0003H~000AH 000BH~0012H 000BH~0012H 0013H~001AH 0013H~001AH 001BH~0022H 001BH~0022H 0023H~002AH 0023H~002AH 外部中断0 外部中断0中断地址区 定时/计数器0 定时/计数器0中断地址区 外部中断1 外部中断1中断地址区 定时/计数器1 定时/计数器1中断地址区 串行口中断地址区
if (temp!=0x0f) //检测是否有键按下 检测是否有键按下 { for(i=50;i>0;i--) //简易延时 简易延时 for(j=200;j>0;j--); //简易延时 简易延时 temp=P2; //再赋值给变量 再赋值给变量 temp=temp & 0x0f; //再“与”成第一行的列扫描状态 再 if (temp!=0x0f) //再检测是否有键按下 //再检测是否有键按下 { temp=P2; //再赋值给变量 再赋值给变量 temp=temp & 0x0f; //再“与”成第一行的列扫描状态 再 switch(temp) //扫描该行的 列是否有键按下 扫描该行的4列是否有键按下 扫描该行的 { case 0x0e:key=1;break; //第一列有键按下 第一列有键按下 case 0x0d:key=2;break; //第二列有键按下 第二列有键按下 case 0x0b:key=3;break; //第三列有键按下 第三列有键按下 case 0x07:key=4;break; //第四列有键按下 第四列有键按下 其余三行的扫描略同
中断源和中断标志
89C52单片机有5个中断请求源,分别为:
LOGO
1、2个外部输入中断源INT0(P3.2)和INT1(P3.3); 个外部输入中断源INT0(P3.2)和INT1(P3.3); INT0(P3.2) 2、2个片内定时器T0和Tl的溢出中断源TF0(TCON.5)和TF1(TCON.7); 个片内定时器T0和Tl的溢出中断源TF0(TCON.5)和TF1(TCON.7); T0 的溢出中断源TF0(TCON.5) 3、l个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。 个片内串行口发送或接收中断源TI(SCON.1)或RI(SCON.0)。 TI(SCON.1)
目 录
摘 要 操作说明 一、系统框原理图 二、硬件系统的介绍 三、音乐产生的原理 四、数据存储的原理 五、单片机工作流程图 六、小结