单片机按键控制定时器选播多段音乐_第1页
单片机按键控制定时器选播多段音乐_第2页
单片机按键控制定时器选播多段音乐_第3页
单片机按键控制定时器选播多段音乐_第4页
单片机按键控制定时器选播多段音乐_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

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

文档简介

1、郑州科技学院单片机课程设计题 目按键控制定时器选播多段音乐学生姓名 张三专业班级15级物联网一班学 号 学1566666院(系)信息工程学院指导教师 王完成时间2017 年6月8日一、背景介绍如今,电子技术获得了飞速的发展,现代电子产品几乎渗透了社会的各个领域。 目前,单片机正朝着高性能和多品种方向发展趋势将是进一步想着CMO觥、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片, 而是把一个 计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片 机只缺少了 I/O设备。概括的讲:一块芯片就成了一台计算机

2、。它的体积小、质 量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机 是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块, 比如CPU内存、并行总线。还有和硬件作用相同的存储器件,不同的是它的这 些部件性能都相对我们的家用电脑弱很多,不过价钱也是很低的。利用单片机实现音乐播放有很多要点, 例如外部电路简单,控制方便等,因 而备受广大单片机爱好者的喜爱。通过音乐播放器的设计方案,掌握C语言的编 写方法。并熟练的运用80C51单片机定时器产生固定频率的方波信号,推动喇叭 发出旋律,按下单键可以演奏预先设置的歌曲旋律, 最重要的是自己还可以通过 程序设计输入自己

3、喜欢的歌曲来演奏,本设计采用简易音阶编码直觉式输入法方 便设计音乐旋律。本文将围绕基于单片机按键控制定时器选播多段音乐,介绍一些关于单片机的基 础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理) 、定时器的 设定,以及仿真软件(Keil、Proteus )的使用方法。二、设计方案1、方案设计对于C51单片机,它抗干扰性较强,且集成度高、功能强、指令丰富等,可 以应用的地方较数字电路更多一些,广泛应用于工业控制系统,数据采集系统、 智能化仪器仪表及通讯设备。而且单片机已经深入到工业生产的各个环节以及人 民生活的各个层次。采用的是基于C51单片机的音乐播放器的设计,该系统控制 性能良好,

4、硬件电路简单、经济实惠,能得到更好的效果。本设计以at89C51单片机为核心,通过对其定时器的设定来实现音乐的播放, 借助键盘可以向计算机系统输入程序, 置数、送操作命令、控制程序的执行走向等,并最终通过数码管显示出播放曲目的标号图1-1结构总图2、方案要求音乐播放器按照从头到尾的顺序自动播放预先设定的1-3共3首乐曲,全部乐曲播放完毕则停止。按键分别是播放键。按下播放键时,音乐播放器会在当前播放的音乐切换播放和暂停;2.3、音乐播放器的组成据系统按键控制定时器选播多段音乐的功能要求,一个完整的音乐播放器电 路相当于一个简单的单片机系统,该系统由按键开关、单片机、LED显示电路、扬声器控制电路

5、4个方面构成。1.51单片机:at89c51单片机为整个系统的核心部分,是带动整个系统工作 的重要部分。2 .扬声器:扬声器用一蜂鸣器,作为输出部分按照键盘给单片机的指令发出 乐曲。3 .LED数码管显示电路:LED数码管也作为输出部分按照键盘给单片机的指 令,显示正在演奏的乐曲的序号。电源设计图音乐播放电路:牛Ris n/ Q11 I NPNIKgLS1巾/SPEAKER单片机介绍:(1)中央处理器(CPU中央处理器是单片机的核心,完成运算和控制功能。8051的CPUtt处理8位 二进制数或代码。(2)内部数据存储器(内部 RAM8951芯片中共有256个RAMI元,但其中后128单元被专用

6、寄存器占用, 能作为寄存器供用户使用的只是前 128单元,用于存放可读写的数据。因此通常 所说的内部数据存储器就是指前128单元,简称内部RAM(3)内部程序存储器(内部 ROM8951共有4KB掩月M ROM用于存放程序、原始数据或表格,因此,称之为程 序存储器,简称内部ROM(4)定时/计数器8951共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时 或计数结果对计算机进行控制。(5)并行 I/O 口MCS-51共有4个8位的I/O 口(PR P1、P2、P3),以实现数据的并行输 入/输出。(6)用行口8951单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行 数据

7、传送。该用行口功能较强,既可作为全双工异步通信收发器使用,也可作为 同步移位器使用。(7)中断控制系统8951单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和 低级共两个优先级别。(8)时钟电路8951芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为 单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该 具有的基本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。8951是标准的40引脚双列直插式集

8、成电路芯片。信号引脚介绍:(1)主电源引脚VCC +5 V电源VSS地线(2)时钟电路引脚XTAL1和XTAL2外接晶体引线端。当使用芯片内部时钟时,此二引线 端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(3)控制信号引脚RST/VPD复位信号。当输入的复位信号延续两个机器周期以上的高电平时 即为有效,用以完成单片机的复位初始化操作;当单片机掉电时,此引脚上可接 备用电源,由VPD向片内RA枫供备用电源,一保持片内RAW的数据不丢失。ALE/PROG地址锁存控制信号。在系统扩展时,ALE用于控制把P0 口输出 的低8位地址锁存起来,以实现低位地址和数据的隔离。 此外

9、,由于ALE是以晶 振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。对于EPROI®单片机,在EPRA喻程期间,此引脚接收编程脉冲。PSEN片外程序存储器读选通信号输出端。EA/VPP:访问程序存储控制信号。当EA信号为低电平时,对ROM勺读操作 限定在外部程序存储器;当EA信号为高电平时,对ROM勺读操作是从内部程序 存储器开始,并可延至外部程序存储器。对于EPROI®单片机,在EPRA编程期间,止匕引脚接上加 21VEPRO端程电 源VPP(4) I/O引脚P0.0P0.7 : P0 口 8位双向口线。P1.0P1.7 : P1D8位双向口线。P

10、2.0P2.7 : P2 口 8位双向口线。P3.0P3.7 : P3 口 8位双向口线。P3 口线的第二功能。P3的8条口线都定义有第二功能。引脚第二功能信号名称P3.0RXD申行数据接收P3.1TXD申行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6WR外部RAIW选通P3.7RD外部RA麟选通以上把8951单片机的全部信号引脚分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第 二功能信号。对于9、30和31三个引脚,由于第一功能信号

11、与第二功能信号是 单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是 P3 口的情 况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使 用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的 输入/输出使用。B并行输入/输出口电路结构单片机芯片内还有一项主要内容就是并行 I/O 口。8051共有4个8位的并 行I/O 口,分别记作PR P1、P2、P区每个口都包含一个锁存器、一个输出驱 动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址 和位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0 口分时传送, 高8位地址由P2

12、 口传送。在无片外扩展存储器的系统中,这 4个口的每一位均 可作为双向的I/O端口使用。8951单片机的4个I/O 口都是8位双向口,这些口在结构和特性上是基本 相同的,但又各具特点。中断源中断源:引起中断的事件或设备称为中断源。采用中断的优点:良好的中断系统使处理机具有随机应变的能力,从而扩大 应用范围,提高CP改率51中断系统的特点:内容丰富,结构合理,逻辑性强,高效实用中断源是指能发出中断请求,引起中断的装置或事件。8051单片机的中断源 共有5个,其中2个为外部中断源,3个为内部中断源:(1) INT0:外部中断0,中断请求信号由P3.2输入。(2) INT1:外部中断1,中断请求信号

13、由P3.3输入。(3) T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入 串行中断:包括串行接收中断RI和串行发送中断TI。中断寄存器8951单片机中涉及中断控制的有3个方面4个特殊功能寄存器:中断请求:定时和外中断控制寄存器TCON中行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。中断请求控制寄存器TCONINT0、INT1、T0、T1中断请求标志放在 TCON串行中断请求标志放在 SCON 中。TCOIffi结构、位名称、位地址如下:表3-2 TCON的状态TCOND7D6D5D4D3D2D1D

14、0位名称TF1-TF0-IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCO位功能:TF1 T1溢出中断请求标志,T1计数溢出后,TF1=1TF0 T0溢出中断请求标志T0计数溢出后,TF0=1IE1外中断中断请求标志当P3.3引脚信号有效时,IE1=1IE0外中断中断请求标志当P3.2引脚信号有效时,IE0=1IT1 外中断触发方式控制位IT1=1,边沿触发方式;IT1=0,电平触发方式。IT0 外中断触发方式控制位其意义和功能与IT1相似。(2)中断请求控制寄存器SCONscon结构、位名称、位地址如下:TI 用行口发送中断请求标志RI 用行口接收中断请求标

15、志SCOND7D6D5D4D3D2D1D0位名称-TIRI位地址-99H98H(3)中断允许控制寄存器IE8951对中断源的开放或关闭由中断允许控制寄存器 IE控制。IE的结构、位名称和位地址如下:表3-4 IE的状态IED7D6D5D4D3D2D1D0位名称EA-ESET1EX1ET0EX0位地址AFH-ACHABHAAHA9HA8HEA CPlfr断允许控制位EA=1, CPUF中;EA=0, CP庆中,且屏蔽所有5个中断源。EX0 外中断INT0中断允许控制位EX0=1, INT0开中;EX0=0 INT0关中。EX1 外中断INT1中断允许控制位EX1=1, INT1 开中;EX1=0

16、 INT1 关中。ET0 定时/计数器T0中断允许控制位ET0=1, T0FF 中;ET0=0, 3 中。ET1 定时/计数器T1中断允许控制位ET1=1, T1 开中;ET1=0, T1 关中。ES 用行口中断(包括用发、用收)允许控制位ES=1 ,用行口开中;ES=Q串行口关中。复位电路单片机复位电路是用来让程序回到初始状态并重新执行的。单片机系统在运 行中受到各种因素影响不能正常执行时,按下复位按钮内部的程序就会自动从头 开始执行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操 作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。为 了使单片机复

17、位后能脱离复位状态,通常选择 C=1030uF, R=101k?。在单片 机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近 于0V, RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个 时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电 容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变为了 1.5V, 甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V, 甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。中断入口地址8051的五个中断入口地址:INT0: 0003HT0: 000B

18、HINT1: 0013HT1: 001BH用行 口: 0023H中断优先控制和中断嵌套(1)中断优先控制8951中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间 的中断优先权。其从高到低的顺序为:INT0、INT1、T0、T1、用行口。(2)中断嵌套当CPUE在执行某个中断服务程序时,如果发生更高一级的中断源请求中断, CPUT以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中 断嵌套。中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。三、系统程序#include<reg51.h>#include<

19、intrins.h>#define uchar unsigned char#define uint unsigned intsbit K1=P1A0;/播放和停止键sbit SPK=P3A7;/ 蜂鸣器uchar Song_Index=0,Tone_Index=0; 当前音乐段索引,音符索引/数码管段码表codecodeucharDSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/标准音符频率对应的延时表ucharHI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,

20、246,247,248 ;uchar code LO_LIST=0,4,13,10,20,3,8,6,2,23,5,26,1,4,3;/三段音乐的音符uchar code Song50=1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,6,5,3,5,3,2,1,2,1,-1, 3,3,3,4,5,5,5,5,6,5,3,5,3,2,1,5,6,53,3,2,1,1,-1, 3,2,1,321,1,231,1,2,3,1,3,4,534,5,5,6,5,3,5,32132,1,1,-1;/三段音乐的节拍uchar code Len50=1,1,1,1,1,1,1,1,

21、1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,1,2,-1, 1,1,1,1,1,1,2,1,1,1,1,1,1,1,2,1,1,1,1,1,1,2,2,-1, 1,1,2,1,1,2,1,1,1,1,1,1,1,1,1,1,2,1,1,2,1,1,1,1,1,1,1,2,1,1,2,2,-1;/外部中断0void EX0_INT() interrupt 0(TR0=0; /播放结束或者播放中途切换歌曲时停止播放Song_Index=(Song_Index+1)%3;/ 跳到下一首的开头Tone_Index=0;P2=DSY_CODESong_Index;/数码管显示

22、当前音乐段号/定时器0中断函数void T0_INT() interrupt 1(TL0=LO_LISTSongSong_IndexTone_Index;TH0=HI_LISTSongSong_IndexTone_Index;SPK=SPK;/延时void DelayMS(uint ms)(uchar t;while(ms-) for(t=0;t<120;t+);/主程序void main()(P2=0xc0;SPK=0;TMOD=0x00;/T0 方式 0IE=0x83;IT0=1;IP=0x02;while(1)(while(K1=1);/未按键等待while(K1=0);/等待释放

23、TR0=1;开始播放Tone_Index=0;/从第0个音符开始播放过程中按下K1可提前停止播放(K1=0)。/若切换音乐段会触发外部中断,导致 TR0=0播放也会停止while(SongSong_Index北Tone_Index!=-1&&K1=1&&TR0=1)(DelayMS(300*LenSong_IndexTone_Index); /播放延时(节拍)Tone_Index+; /当前音乐段的下一音符索引TR0=0;/停止播放while(K1=0); /若提前停止播放,按键未释放时等待四、软件流程播放键按下f 14 ,、一 按键处理 五、仿真器设置曲目序号

24、显示程序仿真音乐播放程序调试过程关于音乐播放程序的调试,我首先采用Preteus软件来仿真,并在单片机的 P1.0处用三极管连接一个简单的音频放大器,再外接一个蜂鸣器。,想通过这样 来仿真并调试单片机按键控制定时器选播多段音乐, 程序运行的时候,能看见显 示器有数字变化。,二,二叫f "二 h “七阂*_1XTMJ日前RPi JU.H ><*5F0*THaWJHL* DwrUX 丁一1±±444&*1切ETlr纳lM声未加入程序时仿真器设置调试时,将keil生成的hex文件加入 仿真图中,点击播放开关,可以看到显示器的灯会亮起,点击切换按键,可

25、以播放其他的歌曲, 从而达到按键控制定时器选播多段音乐的目的。 如果成功,就可以看 到我们提前设置的音乐相对应的编码亮起。运行中的仿真器截图(1)运行中的仿真器截图(2)止匕外,由于本次试验是通过 C语言来试验,需要借助 keil来运 行程序,我就将其程序通过keil运行后生成的hex文件放到仿真器中 已经连接完毕的电路图中,才得到仿真器的运行结果。画基*"目:J 1m T £。"0 Group 1即因FFj"011 Heoi jii<reaM.h>现 *T!目Inde干工.三#=取二,R%03#d= fine nuEz" imsx

26、tned Uhaz1(M *d.efie uLnt uiL3j.q-d xiit帕 KbLl Kl->il"0:门错工'上mrp fbit ijy-p5-'";一 宫二二"D7 mcTiWE Sens IndeN = 0,tc r.e Ir 3ex=G;:. w - i/T = I - -,-=M n; GF 40) ucrar eofle DSY CQDEj'(' urf, " ; 土"x”, m J* :i> * ?i;卜而,"标准音符匀空对应的二十支T 1 -lEHar code HZ

27、LIST | J - tDjrZJfi,. JiSr2 32 F IZaJlE,. 2.2*; J2EV Z1:p Z-eS j ;JZ d 匚二 k 二 ubdc LQ二LM13Tli-« I). L _. 4匚. 1Ati. E. < . '占亡” J.,TJ二:产 U符”dr 1KMle 3皿门【工:产Br£BSp3rS?3r2ff1,3,;,工 F,1F 1. N, M二守九ucc.*£ God« Lb i 5i J*j T“卜,中断。;门斯.,也11*7:szfa畦 30第36E36班划».;«!川 汇TMF:

温馨提示

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

评论

0/150

提交评论