电气0802杨瑞格毕业设计.docx
《电气0802杨瑞格毕业设计.docx》由会员分享,可在线阅读,更多相关《电气0802杨瑞格毕业设计.docx(28页珍藏版)》请在冰豆网上搜索。
![电气0802杨瑞格毕业设计.docx](https://file1.bdocx.com/fileroot1/2022-12/31/d83fe91c-d5b3-4cf3-b17d-b742246c25e7/d83fe91c-d5b3-4cf3-b17d-b742246c25e71.gif)
电气0802杨瑞格毕业设计
济源职业技术学院
毕业设计
题目
可编程音乐播放器
系别
电气工程系
专业
电气自动化
班级
电气0804
姓名
杨瑞格
学号
08040205
指导教师
常小明
日期
2011年1月
设计任务书
设计题目:
可编程音乐播放器的设计
设计要求:
1.设计一个简单8按键的可编程音乐播放器,要求该播放器能将输入的各种音乐程序按照音乐旋律播放出来。
2.要求在音乐播放器的模拟按键和音乐之间有一个控制键来实现两者之间的转换;
3.设计音乐播放器的硬件电路及相应软件,最终调试完成。
设计进度要求
第一周:
查找资料,对资料进行分类和汇总;
第二周:
依据资料编出音乐播放器初步程序;
第三周:
上机画出音乐播放器相关电路图、框图、流程图;
第四周:
进行软硬件的设计;
第五周:
上机对程序进行修改和调试,最终设计成功;
第六周:
开始着手编写毕业设计书内容;
第七周:
在老师指导下经过多次修改,完成毕业设计撰写工作;
第八周:
进行毕业答辩。
指导教师(签名):
摘 要
本次毕业设计作为大学阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。
设计初期,我们通过网络,图书馆等资源查找到利用单片机设计制作音乐播放器的的相关信息,对不同的方案进行细致的分析比较。
并且按照题意与实际情况进行改进,使之符合要求。
这次设计主要是通过对音乐播放器主体部分的电路进行模仿设计,达到音乐播放器固有的基本功能。
利用LM386和开关量,决定输出音调。
利用定时器可发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调,最终达到音乐播放器的效果。
关键词:
单片机,音乐播放器,定时器
目 录
摘要....................................................................Ⅱ
目录....................................................................Ⅲ
1单片机的发展及应用.....................................................1
1.1单片机的发展.......................................................1
1.2单片机的应用.......................................................3
2总体设计方案............................................................3
2.1系统框图设计..........................................................3
2.2音乐播放器按键的控制方案.............................................3
2.3音乐控制方案..........................................................4
3硬件电路的设计..........................................................8
3.1电路原理..............................................................8
3.2AT89C51单片机的简介.................................................8
3.3AT89C51单片机的引脚..................................................8
3.4AT89C51单片机的附属电路..............................................10
3.5LM386的简介及功能...................................................11
3.6独立式按键的接口电路.................................................11
4软件设计................................................................14
4.1主程序模块............................................................14
4.2中断服务程序模块.....................................................15
4.3音乐播放器的音乐键的设计流程图........................................16
4.4音乐播放器的控制键的框图及程序.......................................17
4.5音乐程序流程图及程序.................................................21
5系统调试................................................................27
5.1输入并编译程序.......................................................27
5.2具体调试过程.........................................................27
结论.......................................................................28
致谢....................................................................29
参考资料..................................................................30
1单片机的发展及应用
1.1单片机的发展
1946年第一台电子计算机诞生至今,只有50年的时间,依靠微电子技术和半导体技术的进步,从电子管——晶体管——集成电路——大规模集成电路,现在一块芯片完全可以集成几百万甚至上千万只晶体管,使得计算机体积更小,功能更强。
特别是近20年时间里,计算机技术获得飞速的发展,计算机在工农业,科研,教育,国防和航空航领域获得了不得广泛的用,计算机技术已经是一个国家现代科学水平的重要标志。
单片机又称单片微型计算机,她诞生于20世纪70年代,1971年微处理器研制成功不久就出现了单片微型计算机,但最早的单片机是一位的,处理能力有限.
单片机的发展分为四个阶段:
第一阶段(1974___1976年):
单片机初级阶段.因为受工艺限制,单片机采用单片的形式而且功能比较简单.例如美国仙童公司生产的F8单片机,实际上只包括了8位CPU,64个字节的RAM和2个并行接口.
第二阶段(1976___1978年):
低性能单片机阶段.以Intel公司生产的MCS___48系列单片机为代表,该系列单片机内集成有8位CPU,8位定时器/计数器,并行I/O接口,RAM和ROM等,但是最大的缺点就是无串行接口,中断处理比较简单而且片内RAM和ROM容量较小,且寻址范围不大与4KB.
第三阶段(1978___1983)高性能单片机阶段这个阶段推出的单片机普遍带有串行接口,多级中断系统,16位定时器/计数器,片内ROM,RAM容量加大,且寻址范围可达64KB,有的片内还带有A/D转换器.
第四阶段(1983年至今)8位单片机巩固发展以及16位单片机,32位单片机推出阶段.此阶段主要特征是:
一方面发展16位单片机,32位单片机及专用型单片机;另一方面不断完善高档8位单片机,改善其结构,增加片内器件,以满足不同的客户要求.
1.2单片机的应用
单片机的应用很广,分别在以下领域中得到了广泛应用.
(1)工业自动化:
在自动化技术中,无论是过程控制技术、数据采集技术还是测控技术,都离不开单片机.在工业自动化的领域中,机电一体化技术将发挥愈来愈重要的最用,在这种机械、微电子和计算机技术为一体的综合技术(例如机器人技术、数控技术)中,单片机将发挥非常重要的作用特别是近些年来,随着计算机技术的发展,工业自动化也发展到了一个新的高度,出现了无人工厂、机器人作业、网络化工厂等,不仅将人从繁重、重复和危险的工业现场解放出来,还大大提高了生产效率,降低了生产成本.
(2)仪器仪表:
目前对仪器仪表的自动化和智能化要求越来越高.在自动化测量仪器中,单片机应用十分普及.单片机的使用有助于提高仪器仪表的精度和准确度,简化结构,减小体积,易于携带和使用,加速仪器仪表向数字化、智能化和多功能化方向发展.
(3)消费类电子产品:
该应用主要反映在家电领域.目前家电产品的一个重要发展趋势是不断提高其智能化程度.例如,电子游戏、照相机、洗衣机、电冰箱、空调、电视机、微波炉、手机、IC卡、汽车电子设备等.在这些设备中使用了单片机后,其功能和性能大大提高,并实现了智能化、最优化控制.
(4)通信方面:
较高档的单片机都具有通信接口,因为单片机在通信设备中的应用创造了很好的条件.例如,在微波通信、短信通信、载波通信、光纤通信、程控交换等通信设备和仪器中都能找到单片机的应用.
(5)武器装备:
在现代的武器装备中,如飞机、军舰、坦克、导弹、鱼雷制导、智能武器装备、设备航天飞机导航系统,都有单片机在其中发挥重要作用.
(6)终端及外部设备控制:
计算机网络终端设备,如银行终端,以及计算机外部设备如打印机、硬盘驱动器、绘图机、传真机、复印机等,在这些设备中都使用了单片机.
近年来随着科技的飞速发展,同时带动自动化控制系统日新月异更新,单片机的使用正在不断地走向深入.
2总体设计方案
2.1系统框图设计
本次设计音乐播放器主要以AT89C51为核心,同时包含了按键电路,晶振电路和复位电路,及用于放大音乐信号的音频功率放大器LM386,本次设计的主要框图如图2.2所示:
图2-1音乐播放器原理设计方框图
按键短路是由K0-K6组成,K0-K6的功能是试音,K7是用来控制按键子程序和音乐子程序。
晶振电路是用来稳定频率和选择频率的。
LM386是用来放大音频功率的。
具有功耗小,电压增益可调节,电源电压范围大,外接原件少等优点,功能是减小谐波失真。
2.2音乐播放器案件控制方案
2.2.1音乐播放器音符频率的产生
音乐播放器的模拟键是用单片机上的P2.0-P2.6来模拟实现的,它分别接K0-K6,当分别按下这些键时,就会发出DO、RE、MI、FA、SO、LA、XI。
2.2.2音乐播放器的设计说明
音乐是由不同的频率的方波产生,音节与频率的关系如下表(X为十六进制数)2.3.2所示:
表2.2.2
音节
频率/HZ
X(Hex#)
1
262
F921
2
294
F9E1
3
330
FA8C
4
349
FAD8
5
392
FB68
6
440
FBE9
7
494
FC5B
方波的频率由定时器控制,定时器溢出后,产生中断,将P1.0接口取反即得周期方波,每个音节相应的定时器初值X可按下法计算:
(1/2)*(1/f)=(12/fosc)*(216-X)
即X=216-(fosc/24f)
当晶振fosc=11.0592时,音节1相应的定时器初值为X,则可得X=63777D=F921H,其他的可同样求取。
音节的节拍由延时子程序实现。
延时子程序实现基本延时时间,节拍值只能是它的整倍数。
调试程序前,7位开关K0-6均未被按下,运行时从左到右依次按下K0-6扬声器就会发出DO、RE、MI、FA、SO、LA、XI。
2.2.3音乐播放器的控制键的控制原理
控制键主要是用来控制调用按键子程序和音乐子程序,其功能是由P2.7口来实现的。
其工作原理为:
通过判别按下P2.7键的次数来分别调用音乐程序和按键程序。
当按下奇数次时调用按键程序,偶数次按下时调用的是音乐程序。
2.3音乐控制方案
本系统主要完成播放功能,因此用定时器T1中断方式产生100ms基准时间,再根据音乐音拍的时间长短对基准时间用软件计时。
可以用查表方式取得技术参数,计时到后将播放子程序地址送DPTR,转入播放子程序,放2遍对应号音后再继续计时。
(1)若要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。
利用定时器计时半周期时间,每当计时终止后就将P1.0反向,然后重复计时再反相。
就可以再P1.0引脚上得到此频率的脉冲。
(2)利用AT89C51的内部定时器使其在工作计数器模式(MODE1)下,改变计数值TH0及TL0以产生不同频率的方法产生不同音阶。
例如,频率为523HZ,其周期T=1/523=1912μs,因此只要令计数器计时956μs/1μs=956,每计数956次时将I/O反相,就可得到中音DO(523HZ).
AT89C51单片机的自动播放电路如图2-2所示:
图2-2
计数脉冲值与频率的关系式是:
N=fi÷2÷fr
式中,N是计数值;fi是机器频率(晶体振荡器为12MHZ时,其频率为1MHZ);fr是想要产生的频率。
其计数初值T的求法如下:
T=65536—N=65536—fi÷2÷fr
例如:
设K=65536,fi=1MHZ,求低音DO(262HZ)、中音DO(523HZ)、高音DO(1046HZ)的计数值。
T=65536—N=65536—fi÷2÷fr=65536—1000000÷2÷fr=65536—500000/fr
低音DO的T=65536—500000/262=63627
中音DO的T=65536—500000/523=64580
高音DO的T=65536—500000/1046=65059
C调各音符频率计数初值T对照如表2.3.2所示:
表2.3.2
简谱
发音
简谱码
T值
3
低音M
1
64021
4
低音FA
2
64103
5
低音SO
3
64260
6
低音LA
4
64400
7
低音TI
5
64524
1
中音DO
6
64580
2
中音RE
7
64684
3
中音MI
8
64777
4
中音FA
9
64820
5
中音SO
A
64898
6
中音LA
B
64968
7
中音TI
C
65030
i
高音DO
D
65059
2
高音RE
E
65110
3
高音MI
F
65157
不发音
0
65110
下面我们要为这个音符建立一个表格,有助于单片机通过查表得方式来获得相应的数据:
TABLE1:
DW64021,64103,64260,64400
DW64524,64580,64684,64777
DW64820,64898,64968,65030
DW65058,65110,65157
(3)音乐的音拍,一个节拍为单位(C调)
音乐的节拍如表2.4.3所示:
表2.3.3
曲调值
DELAY
曲调值
DELAY
调4/4
125ms
调4/4
62ms
调3/4
187ms
调3/4
94ms
调2/4
250ms
调2/4
125ms
3硬件的设计
3.1电路原理
此次设计的是一个8按键的音乐电子程序,我们由电路的框图而知,按键P2.0-P2.6分别音乐播放器的7个按键,P1.0通过一个音频放大器接到一个喇叭上,P2.7键为音乐播放器的控制键。
我们可以通过判别按下控制键P2.7的次数来判别是可以按下音乐播放器的7个按键还是播放音乐。
比如,当我们按下控制键P2.7奇次时,这时我们可以分别按下P2.0-P2.6键,这样我们就可以清楚的听到从喇叭处发出的DO、RE、MI、FA、SO、LA、XI7个不同的音调,当按下P2.7偶次时,这时单片机内部程序就会自动转到音乐程序处,播放出好听的生日快乐曲,我们如果再按下K0-K6时,不会发出任何声音,同理,当我们再次按下控制键P2.7时,音乐的程序就会关闭,转去执行模拟键盘的程序。
如此重复,就会达到设计所提出的要求。
3.2AT89C51单片机的简介
AT89C51是一个低功耗,高性能CMOS8位单片机,片内含4KBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89C51具有如下特点:
40个引脚,4KBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89C51设计和配置了振荡频率可为0HZ并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作。
掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
3.3AT89C51单片机的引脚
AT89C51的引脚如图3.3所示
3.3.1主要特征:
1、与MCS-51兼容2、4K字节可编程闪烁存储器3、寿命:
1000写/擦循环
4、数据保留时间:
10年5、全静态工作:
0HZ-24HZ
6、三级程序存储器锁定7、128*8位内部RAM
8、32可编程I/O线9、两个16位定时器/计数器10、5个中断源
11、可编程串行通道12、低功耗的闲置和掉电模式13、片内振荡器和时钟电路
图3.3AI89C51
3.3.2主要管脚介绍
P0口(39脚至32脚):
是双向8位三态I/O口,在外接存储器时,与地址总线的低8位及数据总线复用。
P1口(1脚至8脚):
是准双向8位I/O口。
由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O口。
P2口(21脚至28脚):
是准双向8位I/O口。
在访问外部存储器时,还可以作为扩展电路高8位地址总线送出高8位地址。
P3口(10脚至17脚):
是准双向8位I/O口。
在MCS-51中,在8个引脚还用于专门功能,是复用双功能口。
P3口各口的第二功能定义如下所示:
P3.0-RXD(串行输入口);
P3.1-TXD(串行输出口);
P3.2-INT0(外部中断0);
P3.3-INT1(外部中断1);
P3.4-T0(定时器0外部输入);
P3.5-T1(定时器1外部输入);
P3.6-WR(外部数据存储器写脉冲);
P3.7-RD(外部数据存储器读脉冲);
本次做毕业设计只用到了AT89C51的P2.0-P2.7管脚和P1.0管脚
3.4AT89C51单片机的附属电路
单片机附属电路主要有晶体振荡电路和复位电路。
3.4.1振荡电路
石英晶体振荡器也称石英晶体谐振器,它用来稳定频率和选择频率,是一种可以取代LC谐振的晶体谐振元件。
本设计所用的晶体振荡电路如图3.4.1所示:
此晶体振荡电路选用的石英晶振频率为12MHZ。
在一个时钟周期内,CPU仅完成一个最基本的动作。
对于某种单片机,若采用了1MHZ的时钟频率,则时钟周期为1μs;若采用4MHZ的时钟频率,则时钟周期为250μs。
由于时钟脉冲是计算机的基本工作脉冲,它控制着计算机的工作节奏(使计算机的每一步都统一到它的步调上来)。
显然,对于同一种机型的计算机,时钟频率越高,计算机的工作速度就越快。
但是,由于不同的计算机硬件电路和器件的不完全相同,所以其所需要的时钟频率范围也不一定相同。
设计中使用到的单片机的时钟范围是12MHZ或11.0592MHZ。
3.5LM386的简介及功能
LM386是为低压应用设计的音频功率放大器。
LM386增益在内部设定到20可使外部元件数少,在引脚1和8之间连接电阻和电容可是增益超过200。
LM386集成电路适用于调幅——调频无线电放大器、便携式磁带重放设备、内部通信电路、电视音频系统、线性驱动器、超声波驱动器和功率变换电路。
LM386是一种音频集成功放,具有功耗小,电压增益可调节,电源电压范围大,外接元件少和总谐波失真小等优点。
3.5.1封装与引脚功能
该电路采用8引线双列直插封装,LM386位美国国家半导体公司产品。
3.5.2性能
该集成电路由于外接元件少、电源电压VCC适用范围宽(VCC=4-12V)、静态功耗低(VCC=6V时为4mW),因而在便携式无线电设备、收音机、录音机、小型放大设备中得到广泛应用。
当1脚和8脚之间开路时,电压增益为26DB;若在1脚和8脚之间接阻容串联元件,则增益可达456DB,改变阻容值,则增益可在26DB-16DB之间任意选取,电阻值越小增益越大。
3.6独立式按键的接口电路
在单片机应用系统中,有时只需要几个简单的按键向系统输入信息。
这时,可将每个按键接在一根I/O接口线上,这种方式的连接称为独立式按键。
每个独立式按键单独占有一根I/O接口线,每根I/O接口线的工作状态不会影响到其他I/O接口线。
这种按键接口电路配置灵活,硬件结构简单,但每个按键必须占用一根I/O接口线,I/O接口线浪费较大。
本次设计只需要8位独立式按键就可以实现。
因此,本次设计按键电路采用独立式键盘按键电路。
独立式键盘电路如图所示:
在此电路中,按键输入都采用低电平有效。
上拉电阻保证了按键断开时,I/O接口线有确定的高电平。
当I/O接口内部有上拉电阻时,外电路可以不配置上拉电阻。
独立式按键的编程:
独立式键盘的编程常采用查询式结构。
先逐位查询每根I/O接口线的输入状态,如某一根I/O接口线输入为低电平,则可确定该I/O接口线所对应的按键已按下。
然后,再转向按键的功能处理程序。
在本次设计中我使用P2.0-P2.7接按键,P2.0-P2.6按键分别接7个音乐播放器的模拟键,P2.7为控制按键。
P2.0-P2.6分别接K0-K6。
按下K0-K6分别发出DO、RE、MI、FA、SO、LA、XI。
音乐播放器电路图如下图所示:
4软件设计
4.1主程序模块
主程序主要包含对定时器T0和T1的初始化,及重复调用其它的子程序来工作的。
其程序的流程图如下:
图4.1
主程序:
ORG00