基于51单片机的液晶显示电子琴设计.docx
- 文档编号:18126995
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:28
- 大小:540.45KB
基于51单片机的液晶显示电子琴设计.docx
《基于51单片机的液晶显示电子琴设计.docx》由会员分享,可在线阅读,更多相关《基于51单片机的液晶显示电子琴设计.docx(28页珍藏版)》请在冰点文库上搜索。
基于51单片机的液晶显示电子琴设计
基于51单片机的液晶显示电子琴设计
摘要
单片机是一种集成电路芯片,是把中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、中断系统和定时器/计数器等集成到一块硅片上构成一个小而完善的微型计算机系统。
单片机具有体积小、功耗低、速度快、控制能力强、扩展灵活和使用方便等优点,已渗透到我们生活的各个领域,广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制的领域。
音乐现在也成了人们生活的一部分,生活的压力,学习的压力,工作的压力,一切的不顺利可以在音乐声中放松下来,让人们心情舒畅,听着音乐放松心情,让我们提高生活质量。
本次课程设计是基于51单片机的简易电子琴系统设计。
电子琴是现代电子科技与音乐结合的产物,是一种键盘乐器。
本系统以STC89C52为主芯片,4*4矩阵键盘、1602液晶显示屏、扬声器等电路组成,完成显示输入信息、播放相应音符等基本功能。
关键词:
STC89C52;LCD1602;电子琴系统
DesignOfLiquidCrystalDisplayKeyboardBasedOn51Single-chipMicrocomputer
ABSTRACT
MCUisanintegratedcircuitchip,istheCPU,RAM,ROM,I/Ointerface,interruptsystemandtimer/counter,etc.integratedintoasiliconchiptoformasmallandperfectmicro-computersystem.SCMhasasmallsize,lowpowerconsumption,speed,control,strong,flexibleandeasytoexpandandotheradvantages,hasinfiltratedallareasofourlives,widelyusedininstrumen-tation,householdappliances,medicalequipment,aerospace,specialequipmentoftheintelligentmanagementandprocesscontrolareas.
Musicisnowalsoapartofpeople'slives,thepressureoflife,thepressureoflearning,workpressure,everythingisnotsmoothcanrelaxinthemusic,letpeoplefeelcomfortable,listeningtomusicrelax,letusimprovethequalityoflife.Thiscoursedesignisbasedonthe51single-chipsimplekeyboardsystemdesign.Keyboardisacombinationofmodernelectronictechnologyandmusicproducts,isakeyboardinstrument.ThissystemismainlycomposedofSTC89C52chip,4*4matrixkeyboard,1602LCDscreen,speakerandothercircuitstocompletethedisplayinputinformation,playthecorrespondingnotesandotherbasicfunctions.
Keyword:
STC89C52,LCD1602,keyboardsystem
第一章引言
1.1课题设计目的及其意义
单片机(单片微型计算机)是大规模集成电路技术发展的产物,具有高性能、高速度、体积小、价格低廉、稳定可靠等特点。
单片机的应用相当广泛,从平常的家用电器到航空航天系统和国防军事、尖端武器都能找到它的身影。
因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。
随着社会的发展进步,人们的生活水平也逐步提高,音乐已经成为了我们生活中很重要的一部分,在工作和学习之余,欣赏音乐不仅使身心得到放松,同时也提高人们的精神品质和个人素养。
当代,爱好音乐的年轻人越来越多,也有不少人自己练习弹奏乐器,作为业余爱好和一种放松的手段。
之所以以单片机电子琴选题,目的在于从日常生活能接触到的细微处着手,通过理论与实践的结合,更明确自己的所学所用,也在实践中发现理论上的不足,对目前日益广泛应用的单片机有了更加理性化和感性化的认识,使理论和实践相得益彰。
当前市场上的玩具市场需求量大,其中电子产品占有重要的位置,然而电子琴也是一个很好的应用方面。
单片机技术使我们可以利用软硬件实现电子琴的功能,从而实现电子琴的微型化,可以用于玩具琴、音乐盒中、儿童车里等。
1.2课题设计的任务与主要内容
本文的主要内容是用STC89C51单片机为核心控制元件,设计一个简单的电子琴。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。
定时器按设置的定时参数产生中断,由于定时参数不同,就会发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同音调。
先根据要求设计硬件电路和编写相应的程序,然后进行仿真调试,最后细心焊接硬件电路图,将程序烧入芯片中,最终达到设计目的。
本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用价值。
第二章系统总体方案设计
2.1系统设计要求
本系统有两个功能,音乐播放和音乐的弹奏。
1、要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。
2、用键盘作出电子琴的按键,每个键代表一个音符。
3、各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。
4、固定音乐播放有按键控制:
“播放”、“弹奏/停止”。
5、弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。
2.2系统电路框图
图2.1系统框图
第三章硬件设计
3.1STC89C52芯片
STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K可编程Flash存储器,兼容工业标准的MCS-51指令集和输出管脚,引脚介绍如下:
①主电源引脚(2条)
VCC(Pin40):
电源输入,接+5V电源
GND(Pin20):
接地线
②外接晶振引脚(2条)
XTAL1(Pin18):
片内振荡电路的输入端
XTAL2(Pin19):
片内振荡电路的输出端
③控制引脚(4条)
RST/VPP(Pin9):
复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):
地址锁存允许信号
PSEN(Pin29):
外部存储器读选通信号
EA/VPP(Pin31):
程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32条)
STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8条引脚),共32根。
P0口(Pin39~Pin32):
8位双向I/O口线,名称为P0.0~P0.7
P1口(Pin01~Pin08):
8位准双向I/O口线,名称为P1.0~P1.7
P2口(Pin21~Pin28):
8位准双向I/O口线,名称为P2.0~P2.7
P3口(Pin10~Pin17):
8位准双向I/O口线,名称为P3.0~P3.7
STC89C52主要功能如表2-1所示。
表2-1STC89C52主要功能
主要功能特性
兼容MCS-51指令系统
8K可反复擦写FlashROM
32个双向I/O口
256*8bit内部RAM
3个16位可编程定时/计数器中断
时钟频率0-24MHz
2个串行中断
可编程UART串行通道
2个外部中断源
共6个中断源
2个读写中断口线
3级加密位
低功耗空闲和掉电模式
软件设置睡眠和唤醒功能
3.21602LCD
字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等型号。
本次设计采用1602字符型液晶显示器,如图3.1所示为实物图,表3-1为其各引脚功能表。
图3.11602LCD正面与反面
主要参数与引脚功能
1602LCD主要技术参数:
显示容量:
16×2个字符
芯片工作电压:
4.5—5.5V
工作电流:
2.0mA(5.0V)
模块最佳工作电压:
5.0V
字符尺寸:
2.95×4.35(W×H)mm
表3-1引脚功能说明
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
7
D0
DATAI/O
2
VDD
电源正极
8
D1
3
VL
对比度
9
D2
4
RS
数据/命令选择(H/L)
10
D3
5
R/W
读/写选择(H/L)
11
D4
6
E
使能信号
12
D5
15
BLA
背光源正极
13
D6
16
BLK
背光源负极
14
D7
3.3矩阵键盘
图3.2矩阵键盘模块
键盘接口必须具有的4个基本功能:
(1)去抖动:
每个按键在按下或松开时,都会产生短时间的抖动。
抖动的持续时间与键的质量相关。
所谓抖动是指在识别被按键是必顺避开抖动状态,只有处在稳定接通或稳定断开的状态才能保证识别正确无误。
去抖问题可通过软件延时或硬件电路解决。
(2)防串键:
防串键是为了解决多个键同时按下或者前一按键没有释放又有新的按键按下时产生的问题。
常用的方法有双键锁定和N键轮回两种方法。
双键锁定,是当有两个或两个以上的按键按下时,只把最后释放的键当作有效键并产生相应的键码。
N键轮回,是当检测到有多个键被按下时,能根据发现它们的顺序依次产生相应键的键码。
(3)被按键识别:
如何识别被按键是接口解决的主要问题,一般可能过软硬结合的方法完成。
常用的方法有行扫描法和线反转法两种。
行扫描法的基本回想是,由程序对键盘逐行扫描,通过检测到的列输出状态来确定闭全键,为此,需要设置入口、输出口一个,该方法在微机系统中被广泛使用。
线反转法的基本思想是通过行列颠倒两次扫描来识别闭合键,为些需要提供两个可编程的双向输入/输出端口。
(4)键码产生:
为了从键的行列坐标编码得到反映键功能的键码,一般在内在区中建立一个键盘编码表,通过查表获得被按键的键码。
3.4振荡电路
单片机的时钟信号用来提供单片机内各种位操作的时间基准,时钟信号通常有两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
晶振通常选用6MHz、12MHz或者24MHz。
本设计中采用的是12MHz。
电容器C1、C2起稳定振荡频率、快速起振的作用,电容值一般5~30pF。
内部振荡方式所得的时钟信号比较稳定,电路中使用较多。
本文振荡方式如图3.3所示:
图3.3外部方式时钟电路
3.5复位电路
当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。
如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。
因此要求单片机复位后能脱离复位状态。
根据应用要求,复位操作通常有2种基本形式:
上电复位、开关复位。
上电复位要求接通电源后,自动实现复位操作。
开关复位要求在电源接通的条件下,在单片机运行期间,如果发生死机,用按钮开关操作使单片机复位。
本文复位电路如图3.4所示。
图3.4按键电平复位电路
在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。
当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。
随着时间的推移,电容的电压从5V释放到1.5V,甚至更小。
根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平,单片机系统自动复位。
3.6扬声器模块
音乐播放和弹奏是在P3.7引脚上输出方波周期信号,产生音乐。
矩阵扫描扬声器发出对应音符模块如图3.5所示。
图3.5扬声器电路
第四章软件设计与调试
4.1使用AltiumDesigner绘制电路图
图4.1电子琴电路原理图
4.2程序调试
打开KEIL软件,创建工程Myproject,输入程序。
保存程序为“电子琴.c”编译运行,如图4.2所示。
设置OptionsforTarget“target1”,生成.hex文件,导入STC89C52芯片中运行仿真。
图4.2Keil4程序调试
图4.3设置Target
第五章总结与致谢
5.1总结
本次电子琴系统设计有两个功能:
按下K2键播放已烧入单片机的音乐,按下K1键可以自己弹奏音乐。
设计时先用软件进行仿真调试好电路,再按照电路图在电路板上焊接元件,节约了时间,提高了正确率。
在设计过程中也遇到了很多问题,设计电路时液晶屏第3引脚为调节对比度功能,可通过电位器来调节,而实际操作时直接用10K电阻接VCC完成,对比度固定。
扬声器电路也是同样的问题,音量固定不变不可调。
焊接元件时接错线或忘接的最后一一排查得以修正,焊接完成时发现矩阵键盘排列的不整齐,但由于线路复杂,没有重排,但功能正常。
此次设计虽然花费了我们很多精力,但收获颇丰,一方面,将自己的理论知识与实践相结合起来,进一步巩固了专业基础知识和相关专业课程知识;另一方面,也培养了自己独立自主、综合分析的思维与创新能力,更让我知道了团队的力量是巨大的。
同时在具体的制作过程中我们发现一些书本上的知识与实际的应用存在着一定的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方面的问题,这也让我更深刻地体会到在今后的学习工作中也要注重理论联系实际。
5.2致谢
感谢一些专家学者同志的专著文献和网上的一些发表资料。
感谢小组成员和帮助过自己的同学们,与他们的讨论和交流给了自己很多有益的启迪,对自己掌握学科知识、完成设计任务和论文写作给予了很大帮助。
最后感谢许老师的精心指导,本设计论文是在他悉心指导下完成的,老师特别注重方法的指导,使我的能力得到了很大的提高。
指导老师严谨的治学态度,谦逊和蔼的风范对自己产生了深远影响,衷心地感谢老师的悉心指导。
并对我以后走向工作岗位还是很受帮助的,他的精神将激励着我不断的成长。
参考文献
[1]郭天祥.新概念51单片机C语言教程[M]北京:
电子工业出版社,2009
[2]谭浩强.C程序设计[M].北京:
清华大学出版社,2010
[3]闫石.数字电子技术基础(第四版)[M].北京:
高等教育出版社,1998
[4]黄遵熹.单片机原理接口与应用[M].西安:
西北工业出版社,1997
[5]张毅光.单片机原理与接口技术[M].北京:
人民邮电出版社,2011
附录
附录A实物图
附录B程序代码
#include
#include
#include
#include
#defineucharunsignedchar
#defineuintunsignedint//宏定义
ucharSTH0;//定时器变量
ucharSTL0;//定时器变量
bitFY=0;//模式变量,为0时弹奏模式,为1时播放模式
ucharSong_Index=0,Tone_Index=0;//单首歌曲音符数
uchark,key;//k:
按键数值变量。
key:
按键的键值(也就是有按键按下时的P0口状态)
sbitSPK=P3^7;//定义喇叭的接口
sbitLED1=P3^5;
sbitLED2=P3^4;//定义两个LED的接口
sbitRS=P2^7;
sbitRW=P2^6;
sbitEN=P2^5;
unsignedcharcodelist[16][16]={"YanHuaYiLeng",
"ZhiYouMamaHao",
"DangNiGuDan",
"SongBie",
"LangManDeShi",
"FaRuXue",
"JianDanAi",
"LiangzhiLaohu",
"ShengRiKuaiLe",
"Shuangjiang",
"XiaoXingXing",
"FenShuaJiang",
"WawaXiaoxiong",
"XiaoHongHua",
"XiaoHongMao",
"XueRongHua",};
unsignedcharcodenum1[]="Music:
";
ucharcodeSong[][100]=//内置音乐数组,song【歌曲序号】【音符顺序】
{
{12,10,9,9,10,8,9,10,12,10,9,9,5,10,11,10,10,10,14,10,9,8,7,8,
9,10,13,6,8,10,9,6,8,7,5,6,12,10,9,9,9,10,8,9,10,12,10,9,9,9,5,
10,11,10,10,10,14,10,9,8,7,8,9,10,13,6,8,10,9,6,8,7,5,6,-1},//烟花易冷
{13,12,10,12,15,13,12,13,10,12,13,12,10,8,6,
12,10,9,9,10,12,12,13,10,9,8,12,10,9,8,6,8,5,-1},//世上只有妈妈好
{10,10,11,10,9,8,9,12,9,9,8,8,9,8,7,6,7,10,7,7,
6,9,10,9,8,6,5,9,10,9,8,6,6,9,10,9,8,6,7,8,-1},//当你孤单你会想起谁
{5,3,5,8,6,8,5,5,1,2,3,2,1,2,5,3,5,8,7,6,8,5,5,2,3,4,0,1,6,8,
8,7,6,7,8,6,7,8,6,6,5,3,1,2,5,3,5,8,7,6,8,5,5,2,3,4,0,1,-1},//送别
{5,6,8,6,6,5,6,5,3,5,5,6,8,6,6,5,6,5,6,1,1,2,3,2,2,2,1,2,1,6,3,2,5,6,8,
6,6,5,6,5,6,1,1,2,3,4,4,5,6,6,5,6,8,6,8,6,5,5,1,6,5,5,6,8,3,2,3,1,-1},//最浪漫的事
{5,9,10,9,10,12,13,12,8,9,10,13,12,10,12,12,13,15,13,12,
10,12,10,8,9,10,8,6,10,9,12,9,10,9,10,12,13,12,8,9,10,13,
12,12,13,15,13,12,10,12,10,8,6,10,9,8,6,8,9,9,8,-1},//发如雪
{5,8,9,10,9,10,11,12,12,12,11,10,9,5,8,9,10,11,12,12,12,13,
12,9,10,8,8,6,9,9,10,10,8,12,8,12,8,7,8,8,6,9,9,10,10,12,12,
12,13,12,9,10,8,5,8,9,10,9,10,11,12,12,12,11,10,9,5,8,9,10,
9,10,11,12,12,12,9,10,8,8,6,9,9,10,10,8,12,8,12,12,7,8,-1},//简单爱
{8,9,10,8,8,9,10,8,10,11,12,10,11,12,12,13,
12,11,10,8,12,13,12,11,10,8,8,5,8,8,5,8,-1},//两只老虎
{5,5,6,5,8,7,5,5,6,5,9,8,5,5,12,10,8,7,6,11,11,10,8,9,8,-1},//生日快乐
{6,8,9,10,12,10,8,9,6,8,9,10,12,12,13,9,10,10,12,13,12,13,
15,14,13,12,13,10,8,9,10,12,8,6,8,9,10,13,12,10,13,13,12,
11,10,9,10,12,6,8,9,8,9,10,12,13,15,14,13,12,10,13,-1},//让我们荡起双桨
{8,8,12,12,13,13,12,11,11,10,10,9,9,8,12,12,11,11,10,10,9,
12,12,11,11,10,10,9,8,8,12,12,13,13,12,11,11,10,10,9,9,8,-1},//小星星
{12,10,12,10,12,10,8,9,11,10,9,12,12,10,12,10,12,10,8,9,11,10,9,8,
9,9,11,11,10,8,12,9,11,10,9,12,12,10,12,10,12,10,8,9,11,10,9,8,-1},//粉刷匠
{8,9,10,11,12,12,12,11,10,11,11,11,10,9,8,10,12,
8,9,10,11,12,12,12,11,10,11,11,11,10,9,8,10,8,
13,13,13,12,11,12,12,12,11,10,11,11,11,10,9,8,10,12,
13,13,13,12,11,12,12,12,11,10,11,11,11,10,9,8,10,8,-1},//洋娃娃和小熊跳舞
{12,10,12,13,15,16,17,16,15,13,12,15,17,16,15,12,17,16,15,12,
10,12,13,15,16,17,15,13,15,16,13,13,14,13,13,17,15,14,15,13,
12,10,12,13,15,16,17,16,15,13,12,15,17,17,17,17,15,16,16,16,
16,12,12,10,12,13,15,16,17,16,15,13,12,15,15,-1},//小红花
{8,9,10,11,12,10,8,15,13,11,12,12,10,8,9,1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 液晶显示 电子琴 设计