




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州科技学院单片机课程设计 题 目 按键控制定时器选播多段音乐学生姓名 张三 专业班级 15级物联网一班 学 号 201566666 院 (系) 信息工程学院 指导教师 王 完成时间 2017年6月8日 1、 背景介绍 如今,电子技术获得了飞速的发展,现代电子产品几乎渗透了社会的各个领域。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步想着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路装化等几个方面发展。单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机内部也用和电脑功能类似的模块,比如CPU、内存、并行总线。还有和硬件作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是很低的。利用单片机实现音乐播放有很多要点,例如外部电路简单,控制方便等,因而备受广大单片机爱好者的喜爱。通过音乐播放器的设计方案,掌握C语言的编写方法。并熟练的运用80C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律。本文将围绕基于单片机按键控制定时器选播多段音乐,介绍一些关于单片机的基础知识、音乐播放器的制作原理及方法(其中包括了音乐编程原理)、定时器的设定,以及仿真软件(Keil、Proteus)的使用方法。二、设计方案1、方案设计对于C51单片机,它抗干扰性较强,且集成度高、功能强、指令丰富等,可以应用的地方较数字电路更多一些,广泛应用于工业控制系统,数据采集系统、智能化仪器仪表及通讯设备。而且单片机已经深入到工业生产的各个环节以及人民生活的各个层次。采用的是基于C51单片机的音乐播放器的设计,该系统控制性能良好,硬件电路简单、经济实惠,能得到更好的效果。本设计以at89C51单片机为核心,通过对其定时器的设定来实现音乐的播放,借助键盘可以向计算机系统输入程序,置数、送操作命令、控制程序的执行走向等,并最终通过数码管显示出播放曲目的标号。 2、方案要求音乐播放器按照从头到尾的顺序自动播放预先设定的1-3共3首乐曲,全部乐曲播放完毕则停止。 按键分别是播放键。按下播放键时,音乐播放器会在当前播放的音乐切换播放和暂停;2.3、音乐播放器的组成据系统按键控制定时器选播多段音乐的功能要求,一个完整的音乐播放器电路相当于一个简单的单片机系统,该系统由按键开关、单片机、LED显示电路、扬声器控制电路4个方面构成。1.51单片机:at89c51单片机为整个系统的核心部分,是带动整个系统工作的重要部分。2.扬声器:扬声器用一蜂鸣器,作为输出部分按照键盘给单片机的指令发出乐曲。3.LED数码管显示电路:LED数码管也作为输出部分按照键盘给单片机的指令,显示正在演奏的乐曲的序号。 设计图音乐播放电路:单片机介绍:(1)中央处理器(CPU)中央处理器是单片机的核心,完成运算和控制功能。8051的CPU能处理8位二进制数或代码。(2)内部数据存储器(内部RAM)8951芯片中共有256个RAM单元,但其中后128单元被专用寄存器占用,能作为寄存器供用户使用的只是前128单元,用于存放可读写的数据。因此通常所说的内部数据存储器就是指前128单元,简称内部RAM。(3)内部程序存储器(内部ROM)8951共有4KB掩膜ROM,用于存放程序、原始数据或表格,因此,称之为程序存储器,简称内部ROM。(4)定时/计数器8951共有两个16位的定时/计数器,以实现定时或计数功能,并以其定时或计数结果对计算机进行控制。 (5)并行I/O口 MCS-51共有4个8位的I/O口(P0、P1、P2、P3),以实现数据的并行输入/输出。(6)串行口8951单片机有一个全双工的串行口,以实现单片机和其它设备之间的串行数据传送。该串行口功能较强,既可作为全双工异步通信收发器使用,也可作为同步移位器使用。(7)中断控制系统8951单片机的中断功能较强,以满足控制应用的需要。8051共有5个中断源,即外中断两个,定时/计数中断两个,串行中断一个。全部中断分为高级和低级共两个优先级别。 (8) 时钟电路8951芯片的内部有时钟电路,但石英晶体和微调电容需外接。时钟电路为单片机产生时钟脉冲序列。系统允许的晶振频率一般为6 MHz和12 MHz。从上述内容可以看出,MCS-51虽然是一个单片机芯片,但作为计算机应该具有的基本部件它都包括,因此,实际上它已是一个简单的微型计算机系统了。8951是标准的40引脚双列直插式集成电路芯片。信号引脚介绍:(1)主电源引脚VCC:+5 V电源VSS:地线。(2)时钟电路引脚 XTAL1和XTAL2:外接晶体引线端。当使用芯片内部时钟时,此二引线端用于外接石英晶体和微调电容;当使用外部时钟时,用于接外部时钟脉冲信号。(3)控制信号引脚 RST/VPD:复位信号。当输入的复位信号延续两个机器周期以上的高电平时即为有效,用以完成单片机的复位初始化操作;当单片机掉电时,此引脚上可接备用电源,由VPD向片内RAM提供备用电源,一保持片内RAM中的数据不丢失。 ALE/PROG:地址锁存控制信号。在系统扩展时,ALE用于控制把P0口输出的低8位地址锁存起来,以实现低位地址和数据的隔离。此外,由于ALE是以晶振1/6的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。对于EPROM型单片机,在EPRAM编程期间,此引脚接收编程脉冲。 PSEN:片外程序存储器读选通信号输出端。 EA/VPP:访问程序存储控制信号。当EA信号为低电平时,对ROM的读操作限定在外部程序存储器;当EA信号为高电平时,对ROM的读操作是从内部程序存储器开始,并可延至外部程序存储器。对于EPROM型单片机,在EPRAM编程期间,此引脚接上加21V EPROM编程电源VPP。(4)I/O引脚P0.0 P0.7: P0口8位双向口线。P1.0 P1.7 :P1口8位双向口线。P2.0 P2.7 :P2口8位双向口线。P3.0 P3.7 :P3口8位双向口线。 P3口线的第二功能。P3的8条口线都定义有第二功能。引脚第二功能信号名称P3.0RXD串行数据接收P3.1TXD串行数据发送P3.2INT0外部中断0申请P3.3INT1外部中断1申请P3.4T0定时/计数器0的外部输入P3.5T1定时/计数器1的外部输入P3.6WR外部RAM写选通P3.7RD外部RAM读选通以上把8951单片机的全部信号引脚分别以第一功能和第二功能的形式列出。对于各种型号的芯片,其引脚的第一功能信号是相同的,所不同的只在引脚的第二功能信号。对于9、30和31三个引脚,由于第一功能信号与第二功能信号是单片机在不同工作方式下的信号,因此不会发生使用上的矛盾。但是P3口的情况却有所不同,它的第二功能信号都是单片机的重要控制信号。因此,在实际使用时,都是先按需要选用第二功能信号,剩下的才以第一功能的身份作数据位的输入/输出使用。B 并行输入/输出口电路结构单片机芯片内还有一项主要内容就是并行I/O口。8051共有4个8位的并行I/O口,分别记作P0、P1、P2、P3。每个口都包含一个锁存器、一个输出驱动器和输入缓冲器。实际上,它们已被归入专用寄存器之列,并且具有字节寻址和位寻址功能。在访问片外扩展存储器时,低8位地址和数据由P0口分时传送,高8位地址由P2口传送。在无片外扩展存储器的系统中,这4个口的每一位均可作为双向的I/O端口使用。8951单片机的4个I/O口都是8位双向口,这些口在结构和特性上是基本相同的,但又各具特点。 中断源中断源:引起中断的事件或设备称为中断源。采用中断的优点:良好的中断系统使处理机具有随机应变的能力,从而扩大应用范围,提高CPU效率51中断系统的特点:内容丰富,结构合理,逻辑性强,高效实用中断源是指能发出中断请求,引起中断的装置或事件。8051单片机的中断源共有5个,其中2个为外部中断源,3个为内部中断源: INT0:外部中断0,中断请求信号由P3.2输入。 INT1:外部中断1,中断请求信号由P3.3输入。 T0:定时/计数器0溢出中断,对外部脉冲计数由P3.4输入。 T1:定时/计数器1溢出中断,对外部脉冲计数由P3.5输入。 串行中断:包括串行接收中断RI和串行发送中断TI。 中断寄存器8951单片机中涉及中断控制的有3个方面4个特殊功能寄存器: 中断请求:定时和外中断控制寄存器TCON;串行控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。 中断请求控制寄存器TCONINT0、INT1、T0、T1中断请求标志放在TCON中串行中断请求标志放在SCON中。TCON的结构、位名称、位地址如下:表 3-2 TCON的状态TCOND7D6D5D4D3D2D1D0位名称TF1-TF0-IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88HTCON位功能: TF1 T1溢出中断请求标志,T1计数溢出后,TF1=1 TF0 T0溢出中断请求标志 T0计数溢出后,TF0=1 IE1 外中断中断请求标志 当P3.3引脚信号有效时,IE1=1 IE0 外中断中断请求标志 当P3.2引脚信号有效时,IE0=1 IT1 外中断触发方式控制位 IT1=1,边沿触发方式; IT1=0,电平触发方式。 IT0 外中断触发方式控制位 其意义和功能与IT1相似。(2)中断请求控制寄存器SCONSCON的结构、位名称、位地址如下: TI 串行口发送中断请求标志 RI 串行口接收中断请求标志SCOND7D6D5D4D3D2D1D0位名称-TIRI位地址-99H98H(3)中断允许控制寄存器IE8951对中断源的开放或关闭由中断允许控制寄存器IE控制。IE的结构、位名称和位地址如下:表 3-4 IE的状态IED7D6D5D4D3D2D1D0位名称EA-ESET1EX1ET0EX0位地址AFH-ACHABHAAHA9HA8H EA CPU中断允许控制位 EA=1,CPU开中; EA=0,CPU关中,且屏蔽所有5个中断源。 EX0 外中断INT0中断允许控制位 EX0=1,INT0开中;EX0=0,INT0关中。 EX1 外中断INT1中断允许控制位 EX1=1,INT1开中;EX1=0,INT1关中。 ET0 定时/计数器T0中断允许控制位 ET0=1,T0开中;ET0=0,T0关中。 ET1 定时/计数器T1中断允许控制位 ET1=1,T1开中;ET1=0,T1关中。 ES 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。复位电路单片机复位电路是用来让程序回到初始状态并重新执行的。单片机系统在运行中受到各种因素影响不能正常执行时,按下复位按钮内部的程序就会自动从头开始执行。当单片机的复位引脚RET出现5ms以上的高电平时,单片机就完成了复位操作。如果RST持续为高电平,单片机就处于循环复位状态,而无法执行程序。为了使单片机复位后能脱离复位状态,通常选择C=1030uF,R=101k。在单片机启动后,电容C两端的电压持续充电为5V,这是时候10K电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。当按键按下的时候,开关导通,这个时候电容两端形成了一个回路,电容被短路,所以在按键按下的这个过程中,电容开始释放之前充的电量。随着时间的推移,电容的电压从5V释放到变为了1.5V,甚至更小。根据串联电路电压为各处之和,这个时候10K电阻两端的电压为3.5V,甚至更大,所以RST引脚又接收到高电平。单片机系统自动复位。 中断入口地址8051的五个中断入口地址:INT0:0003H;T0:000BH;INT1:0013HT1:001BH;串行口:0023H 中断优先控制和中断嵌套(1) 中断优先控制8951中断优先控制首先根据中断优先级,此外还规定了同一中断优先级之间的中断优先权。其从高到低的顺序为:INT0、INT1、T0、T1、串行口。(2) 中断嵌套当CPU正在执行某个中断服务程序时,如果发生更高一级的中断源请求中断,CPU可以“中断”正在执行的低优先级中断,转而响应更高一级的中断,这就是中断嵌套。中断嵌套只能高优先级“中断”低优先级,低优先级不能“中断”高优先级,同一优先级也不能相互“中断”。3、 系统程序#include#include#define uchar unsigned char#define uint unsigned intsbit K1=P10; /播放和停止键sbit SPK=P37;/蜂鸣器uchar Song_Index=0,Tone_Index=0;/当前音乐段索引,音符索引/数码管段码表uchar code DSY_CODE=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;/标准音符频率对应的延时表uchar code HI_LIST=0,226,229,232,233,236,238,240,241,242,244,245,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,3,2,1,1,2,3,1,1,2,3,1,3,4,5,3,4,5,5,6,5,3,5,3,2,1,3,2,1,1,-1;/三段音乐的节拍uchar code Len50=1,1,1,1,1,1,1,1,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 0TR0=0;/播放结束或者播放中途切换歌曲时停止播放Song_Index=(Song_Index+1)%3;/跳到下一首的开头Tone_Index=0;P2=DSY_CODESong_Index; /数码管显示当前音乐段号/定时器0中断函数void T0_INT() interrupt 1TL0=LO_LISTSongSong_IndexTone_Index;TH0=HI_LISTSongSong_IndexTone_Index;SPK=SPK;/延时void DelayMS(uint ms)uchar t;while(ms-) for(t=0;t120;t+);/主程序void main()P2=0xc0;SPK=0;TMOD=0x00;/T0方式0IE=0x83;IT0=1;IP=0x02;while(1)while(K1=1);/未按键等待while(K1=0);/等待释放TR0=1;/开始播放Tone_Index=0;/从第0个音符开始/播放过程中按下K1可提前停止播放(K1=0)。/若切换音乐段会触发外部中断,导致TR0=0,播放也会停止while(SongSong_IndexTone_Index!=-1&K1=1&TR0=1)DelayMS(300*LenSong_IndexTone_Index);/播放延时(节拍)Tone_Index+;/当前音乐段的下一音符索引TR0=0;/停止播放while(K1=0);/若提前停止播放,按键未释放时等待4、 软件流程 五、仿真器设置曲目序号显示程序仿真音乐播放程序调试过程关于音乐播放程序的调试,我首先采用Preteus软件来仿真,并在单片机的P1.0处用三极管连接一个简单的音频放大器,再外接一个蜂鸣器。,想通过这样来仿真并调试单片机按键控制定时器选播多段音乐,程序运行的时候,能看见显示器有数字变化。 未加入程序时仿真器设置 调试时,将keil生成的hex文件加入 仿真图中,点击播放
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规划设计策划管理制度汇编
- 广西房屋建筑和市政工程勘察招标文件范本(2020年试行版)
- 力争上游2025年国际金融理财师考试试题及答案
- 微生物检验技师证书考试冲刺试题演练
- 滚动练1~60参考答案
- 项目可行性分析考题解读试题及答案
- 发掘潜能的2025年证券从业资格试题及答案
- 微生物培养与鉴定过程试题及答案
- 解析注册会计师考试重点试题及答案
- 项目沟通技巧考核试题及答案
- 2024年新人教版四年级数学下册《第6单元第2课时 小数加减法》教学课件
- 初中语文名著“整本书阅读”教学策略实践与研究
- 劳动合同(模版)4篇
- 第19课+资本主义国家的新变化+教案 高一下学期统编版(2019)必修中外历史纲要下
- 5.15钢铁长城教学设计2023-2024学年八年级历史下册
- 客观题法律职业资格考试(试卷二)试卷及解答参考(2025年)
- 公司法涉税实务手册-北京律协-2024-WN8
- 137案例黑色三分钟生死一瞬间事故案例文字版
- 人教版初三化学下册鉴别真假黄金
- 2024-2030年中国虾青素行业发展分析及投资风险预警与发展策略研究报告
- 直播电商策划与运营 课件 项目1 认识直播电商、项目2 主播人设打造与能力塑造
评论
0/150
提交评论