收藏 分享(赏)

基于STC89C52单片机音乐播放器的设计.doc

上传人:lufeng10010 文档编号:1756689 上传时间:2018-08-22 格式:DOC 页数:16 大小:3.41MB
下载 相关 举报
基于STC89C52单片机音乐播放器的设计.doc_第1页
第1页 / 共16页
基于STC89C52单片机音乐播放器的设计.doc_第2页
第2页 / 共16页
基于STC89C52单片机音乐播放器的设计.doc_第3页
第3页 / 共16页
基于STC89C52单片机音乐播放器的设计.doc_第4页
第4页 / 共16页
基于STC89C52单片机音乐播放器的设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、东北石油大学生产实习总结报告1目 录第 1 章 单片机系统硬件电路 11.1 实习目的与要求 .11.2 单片机型号及特性 .21.3 单片机实验开发板原理图及硬件结构 .3第 2 章 单片机应用系统软件 72.1 STC 下载软件 72.2 Keil 编译软件 .82.3 硬件调试 .8第 3 章 音乐播放器设计 .103.1 软件开发系统方案 103.2 音乐播放器系统模块 11第 4 章 总结及体会 .12参考文献 13附录 音乐播放器设计主要程序代码 .14东北石油大学生产实习总结报告2第 1 章 单片机系统硬件电路1.1 实习目的与要求1、实习目的生产实习是我们大学学习期间很重要的实

2、践环节。实习是每一个大学毕业生的必修课,它不仅让我们学到了很多在课堂上根本就学不到的知识,还使我们开阔了视野,增长了见识,为我们以后更好把所学的知识运用到实际工作中打下坚实的基础。通过生产实习使我更深入地接触专业知识,进一步了解电子产品的生产,实践学习基本的电子工艺,掌握一般的电子工艺技能,掌握电子元器件基础知识,电子技术中的焊接、装配工艺、常用仪表的使用等,并通过撰写实习报告,使我学会综合应用所学知识,提高分析和解决专业问题的能力。利用单片机实验开发板,掌握电路原理图;通过对开发板的测试,了解开发板的工作原理及性能,掌握元器件及系统故障的排除方法;通过单片机系统的调试、程序编写及运行,掌握单

3、片机系统的工作原理、执行过程和操作方法。通过这次生产实习不但可以掌握单片机软、硬件的综合调试方法,而且还可以熟练掌握电路原理图,激发对单片机智慧性的探索精神,提高学生的综合素质,培养学生应用单片机实现对工业控制系统的设计、开发与调试的能力。在制作学习过程中,可以使学生对单片机产生浓厚的兴趣,达到最大限度地掌握微机应用技术,软件及接口设计和数据采集与处理的技能,从而加深对专业知识的系统把握。2、实习要求(1)掌 握 STC89C52 单片机的 基 本 硬 件 结 构 及 工 作 原 理 ;(2)熟悉 Keil 软件操作、程序下载及调试方法;(3)掌 握 STC89C52 单片机的 C 语言基本程

4、序设计;(4)掌握该电路板的设计原理及硬件布局;(5)学习并掌握使用 STC89C52 单片机开发控制系统的基本步骤及方法。1.2 单片机型号及特性1、STC89C52 单片机简介STC89C52 是一种低功耗、高性能 CMOS8 位微控制器,具有 8K 在系统可编程东北石油大学生产实习总结报告3Flash 存储器。STC89C52 使用经典的 MCS-51 内核,但做了很多的改进使得芯片具有传统 51 单片机不具备的功能。在单芯片上,拥有灵巧的 8 位 CPU 和在系统可编程Flash,使得 STC89C52 为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。 具有以下标准功能: 8k

5、字节 Flash,512 字节 RAM, 32 位 I/O 口线,看门狗定时器,内置 4KB EEPROM,MAX810 复位电路,3 个 16 位定时器/ 计数器,4 个外部中断,一个 7 向量 4 级中断结构(兼容传统 51 的 5 向量 2 级中断结构) ,全双工串行口。另外 STC89C52 可降至 0Hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,CPU 停止工作,允许 RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率 35MHz,6T/12T 可选。2、STC

6、89C52 单片机特性:(1)8K 字节程序存储空间;(2)512 字节数据存储空间;(3)内带 2K 字节 EEPROM 存储空间;(4)可直接使用串口下载。1.3 单片机实验开发板原理图及硬件结构1、单片机最小系统最小系统一般应该包括:单片机、晶振电路、复位电路。STC89C52 单片机最小系统复位电路的极性电容 MC4 的大小直接影响单片机的复位时间,一般采用1030uF,STC89C52 单片机最小系统容值越大需要的复位时间越短。STC89C52 单片机最小系统晶振 X1 可以采用 6MHz 或者 11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,STC89C52 单片机

7、最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。STC89C52 单片机最小系统起振电容 MC2、MC3 一般采用 1533pF,并且电容离晶振越近越好,晶振离单片机越近越好; P0 口为漏极开路输出,作为输出口时需加上拉电阻,阻值一般为 10K。单片机最小系统,其实就是能使单片机工作的最少的器件构成的系统。(1)复位电路:复位电路工作原理如图 1-1 所示。VCC 上电时,MC4 充电,在4.7K 电阻上出现电压,使得单片机复位;几个毫秒后, MC4 充满,4.7K 电阻上电流降为 0,电压也为 0,使得单片机进入工作状态。工作期间,按下复位键,MC4 放电;松手后,M

8、C4 又在充电,在 4.7K 电阻上出现电压,使得单片机再次复位,几个毫秒后,单片机进入工作状态。东北石油大学生产实习总结报告4( 2) 晶 振 电 路 : 晶 振 电 路 原 理 如 图 1-1 所 示 。 系 统 的 时 钟 电 路 设 计 是 采 用 的内 部 方 式 , 即 利 用 芯 片 内 部 的 振 荡 电 路 。 STC89C52 单 片 机 内 部 有 一 个 用 于 构 成振 荡 器 的 高 增 益 反 相 放 大 器 。 引 脚 OSC_IN 和 OSC_OUT 分 别 是 此 放 大 器 的 输 入端 和 输 出 端 。 这 个 放 大 器 与 作 为 反 馈 元 件

9、的 片 外 晶 体 谐 振 器 一 起 构 成 一 个 自 激 振 荡器 。 外 接 晶 体 谐 振 器 以 及 电 容 MC2 和 MC3 构 成 并 联 谐 振 电 路 , 接 在 放 大 器 的 反馈 回 路 中 。 对 外 接 电 容 的 值 虽 然 没 有 严 格 的 要 求 , 但 电 容 的 大 小 会 影 响 震 荡 器 频 率的 高 低 、 震 荡 器 的 稳 定 性 、 起 振 的 快 速 性 和 温 度 的 稳 定 性 。 在 焊 接 刷 电 路 板 时 , 晶体 振 荡 器 和 电 容 应 尽 可 能 安 装 得 与 单 片 机 芯 片 靠 近 , 以 减 少 寄 生

10、电 容 , 更 好 地 保 证震 荡 器 稳 定 和 可 靠 地 工 作 。图 1-1 单片机最小系统2、单片机外设STC89C52 单片机开发板外设主要包括:LED 灯、数码管、DS1302 及按键、蜂鸣器、温度传感器等。(1)发光二极管:单片机的 P0 口接了 8 个发光二极管,这些发光二极管的负极通过一个 1K 的排阻接到 P0 口各引脚,而正极则接到正电源端。发光二极管点亮的条件是 P0 口相应的引脚为低电平,即如果 P0 口某引脚输出为 0,相应的灯亮,如果输东北石油大学生产实习总结报告5出为 1,相应的灯灭。(2)数码管:单片机的 P1 口和 P0 口的共同控制数码管电路,实验板上

11、的八段数码管采用了共阳型。共阳数码管在应用时应将公共极接到正电源端,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。 图 1-2 LED 灯、PNP 三极管和数码管(3)压电式蜂鸣器:压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成,有的压电式蜂鸣器外壳上还装有发光二极管。多谐振荡器由晶体管或集成电路构成。当接通电源后多谐振荡器起振输出 1.52.5KHz 的音频信号,阻抗匹配器推动压电蜂鸣片发声。(4)独立按键、矩阵键盘和中断系统:通常,独立按键按下的时候,总是在按下的瞬间存在着一定的干扰信号,按下之后就基本上进入了稳

12、定的状态。具体的一个按键从按下到释放,需要排除干扰信号,在程序设计时,从按键被识别按下之后,加以延时,就可以避开干扰信号,从而提高了系统的可靠性。矩阵键盘又称行列键盘,它是用四条 I/O 线作为行线,四条 I/O 线作为列线组成的键盘,在行线和列线的每个交叉点上设置一个按键,这样键盘上按键的个数就为 4*4 个。独立按键具有编程简单但占用 I/O 口资源的特点,不适合在按键较多的场合应用。在实际应用中经常要用到输入数字、字母等功能键盘等,一般都需要多个按键,在这种情况下如果用独立按键显然浪费 I/O 口资源,因此矩阵键盘的应用和其特殊的行列式键盘结构能有效地提高单东北石油大学生产实习总结报告6

13、片机系统中 I/O 口的利用率。中断系统就是中断保护断点,即保存下一即将要执行的指令的地址,把这个地址送入堆栈,然后寻找中断入口,根据 5 个不同的中断源所产生的中断,查找 5 个不同的入口地址。在这 5 个入口地址处存放有中断处理程序,继而执行中断处理程序,执行完中断指令后,就从中断处返回到主程序,继续执行。图 1-3 LED 灯、PNP 三极管和数码管东北石油大学生产实习总结报告7第 2 章 单片机应用系统软件2.1 STC 下载软件STC-ISP 是一款单片机下载编程烧录 软件,是针对 STC 系列单片机而设计的,可下载 STC89 系列、12C2052 系列和 12C5410 等系列的

14、 STC 单片机,使用简便,现已经被广泛使用。图 2-1 STC-ISP 下载软件使用方法:打开 STC-ISP,如图 4 界面所示,在 MCU Type 栏目下选中需要的单片机,如本次生产实习所用的是 STC89C52RC 单片机。外部电路驱动可根据数据线连接情况,点击设备管理器查看端口,然后选中相应的 COM 端 口 ,波特率一般保持默认,如果遇到下载问题,可以适当下调一些,按图 4 所示选中各项,点击“打开文件”并在对话框内找到要下载的 HEX 文件。同时,如果选中两个条件项,就可以使在每东北石油大学生产实习总结报告8次编译 Keil 时 HEX 代码能自动加载到 STC-ISP,点击“

15、Download/下载”,手动按下电源开关便可把可 执 行 文 件 HEX 烧录到单片机内。2.2 Keil 编译软件Keil 软件是美国 Keil Software 公司出品的51系列兼容单片机 C 语言软件开发系统,与汇编语言相比,C 语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil 提供了包括 C 编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境将这些部分组合在一起。运行 Keil 软件需要 WIN98、NT、WIN2000 、WINXP 、WIN7等操作系统,Keil 生成的目标代码效率非常之高,多数语句生成

16、的汇编代码很紧凑,容易理解,在开发大型软件时更能体现高级语言的优势。图 2-2 Keil 编译软件2.3 硬件调试1、排除元器件失效元器件失效的原因有两个:首先可能是元器件买来时就已经坏了;另外就是是由于安装错误,造成器件烧坏。可以采取检查元器件与设计要求的型号、规格和安装是否一致。在保证安装无误后,用替换方法排除错误。东北石油大学生产实习总结报告92、排除电源故障在通电前,一定要检查电源电压的幅值和极性,否则很容易造成集成块损坏。加电后检查各插件上引脚的电位,一般先检查 VCC 与 GND 之间电位,若在 4.8V5V之间属正常。若有高压,联机仿真器调试时,将会损坏仿真器等,有时会使应用系统

17、中的集成块发热而损坏。3、联机仿真调试联机仿真必须借助仿真开发装置、示波器、万用表等工具,它们是单片机开发的最基本工具。(1)信号线是联络单片机和外部器件的纽带,如果信号线连结错误或时序不对,那么就会造成对外围电路读写错误。STC89C52 单片机的信号线大致分为读、写信号线、片选信号线、时钟信号线、外部程序存贮器读选通信号、地址锁存信号、复位信号等几大类。这些信号大多属于脉冲信号,对于脉冲信号借助示波器,并利用软件编程的方法来观测。例如对片选信号,执行设定好的程序后,就可以利用示波器观察芯片的片选信号引出脚,此时应看到周期为数微秒的负脉冲波形,若看不到则说明译码信号有错误。对于电平类信号,观

18、测起来就比较容易。例如对复位信号观测就可以直接利用示波器,当按下复位键时,可以看到 STC89C52 的复位引脚将变为高电平;一旦松开,电平将变低。(2)显示器的调试是分别用规定的电平加至控制数码管段和位显示的引脚,看数码管显示是否与理论上一致。不一致,一般为 LED 显示器接触不良所致,必须找出故障若故障排除并调试通过后,就可以执行设定的程序了。(3)键盘调试一般在显示器调试通过后,键盘调试就比较简单,完全可以借助于显示器,利用程序进行调试。利用开发装置对程序进行设置断点,通过断点可以检查程序在断点前后的键值变化,这样就可知键盘工作是否正常。借助简单工具对单片机硬件进行调试,就可以极大缩短单

19、片机的开发周期,灵活应用开发板的原理和功能,使我们加深对专业知识的理解有很大的帮助。东北石油大学生产实习总结报告10第 3 章 音乐播放器设计3.1 软件开发系统方案 STC89C52复位电路 独立按键矩阵键盘时钟模块LED 二极管 蜂鸣器模块图 3-1 系统总体框图系统初始化开始键盘扫描键盘编码送到 P34蜂鸣器振荡是否是开始结束判断按键是否按下图 3-2 系统控制流程图东北石油大学生产实习总结报告11音乐播放器的设计是以 STC89C52 单片机为核心,利用蜂鸣器实现音频的输出,并借助 LED 发光二极管的动态显示以及独立按键和矩阵键盘的中断服务,来完成音乐播放器的设计。系统初始化后,由独

20、立按键控制进入播放功能,开始从第一首曲目循环播放。当有矩阵键盘控制直接进入设定的曲目时,则跳入相应的程序,并开始播放跳选曲目。在曲目播放的过程中,LED 发光二极管始终以相应的频率动态闪烁,当停止播放中断服务时,系统再次初始化。3.2 音乐播放器系统模块1、KeyScan 按键扫描模块根据既定的系统设计,在 Keyscan 按键扫描模块总共定义了 7 个按键,包括两个独立按键和 5 个矩阵键盘按键。其中,独立按键 K1 起控制音乐播放器的停止功能,独立按键 K2 控制曲目的切换,矩阵键盘的按键 K12、K21、K31、K41 、K12 分别控制 5 首曲目的直接跳转。2、SoundPlay 曲

21、目播放模块设置曲谱的存储格式,播放速度以及计算曲目的长度。3、Define 定义模块Define 定义模块是声明 STC89C52 单片机引脚控制相应的独立按键和矩阵键盘按键。4、Delay 延时模块Delay 延时模块应用于 KeyScan 按键扫描模块、SoundPlay 曲目播放模块和YY_MPZ 主程序模块,并且延时模块还有去噪的功能。5、YY_MPZ 主程序模块YY_MPZ 主程序模块分别调用 KeyScan 按键扫描模块、SoundPlay 曲目播放模块、Define 定义模块和 Delay 延时模块,用以读取曲目代码,并定义中断服务和播放曲目标识。东北石油大学生产实习总结报告12

22、第 4 章 总结及体会短学期的生产实习即将接近尾声,回顾起此次实习,我感受颇深,受益匪浅。从焊接实验板的第一个元器件到硬件调试完毕,从选择音乐播放器设计到完成整个编程,从理论到实践,再到理论,我学到了很多在课堂理论中接触不到的东西,不仅学会了如何识别电路原理图,并根据原理图编写程序以完成既定的功能,而且对单片机的理论知识有了更全面的了解和把握,尤其是在学习使用 Keil 软件编程和仿真时收获良多。通过生产实习,还使我深深懂得了实践的重要性,同时在程序调试的过程中提高了自己发现问题、解决问题和独立思考的能力,提升了自己的综合素质。当然,在实习的过程中也有很多问题。首先,没有把握焊接元器件的技巧,

23、致使焊盘上的焊锡堆积过多,元器件摆放布局也不合理;其次,由于对单片机理论知识了解不够,导致软件开发出现很多的问题,使得在音乐播放器设计上花费了大量的时间;再次,这次生产实习是对我的学习态度的又一次检验,对于这次单片机综合生产实习,我最大的心得体会就是作为一名工程技术人员,要求具备的首要素质应该是绝对的严谨;最后,我还得出一个结论,无论做什么事情,只要足够坚强,有足够的毅力与决心,有足够的挑战困难的勇气,那么一切就皆有可能。通过这次短学期生产实习,我不仅加深了对单片机理论的理解和掌握,并将理论很好地应用到实际中去,而且还学会了如何去培养创新精神,从而不断地战胜自己,超越自己。最后,感谢指导老师的

24、辛勤教导。这次生产实习我能圆满的完成,除了我的认真和努力外,当然更离不开老师悉心的指导和教诲,使我在实习的过程中学到了很多实用性的知识。同时,对给过我帮助的所有同学和老师们表示衷心的感谢和祝福!东北石油大学生产实习总结报告13参考文献1 胡汉才.单片机原理及其接口技术M .北京:清华大学出版社,1996.2 李广弟.单片机基础 M .北京航空航天大学出版社,2007.3 刘守义等 .单片机入门技术基础M .西安电子科技大学出版社,2007.4 潘永顺等 .电子电路 CAD 实用教程 M .西安电子科技大学出版社,2007.5 张毅刚.单片机原理及应用M.北京:高等教育出版社,2010.东北石油

25、大学生产实习总结报告14附录 音乐播放器设计主要程序代码#include /头文件/*自定义头文件调用*/#include“Define.h“ /Define 定义模块#include“Delay.h“ /Delay 延时模块unsigned int Point,SoundLength; /定义变量unsigned char Music_Flag=0;#include“SoundPlay.h“ /SoundPlay 曲目播放模块 #include“KeyScan.h“ /KeyScan 按键扫描模块/*MUSIC(曲目播放)*/* 盛夏的果实*/unsigned char code Sxdgs

26、_Music_Code=盛夏的果实曲目代码;/*天使的翅膀*/unsigned char code Tsdcb_Music_Code=天使的翅膀曲目代码;/*想起*/unsigned char code Xq_Music_Code=想起曲目代码;/*童话*/unsigned char code Th_Music_Code=童话曲目代码;/*笨小孩*/unsigned char code Bxh_Music_Code=笨小孩曲目代码; /*主函数*/东北石油大学生产实习总结报告15void main()EX1=1;EX0=1;InitialSound(); /曲目播放初始化while(1)Key

27、Scan();if(Music_Flag=1)Play(Sxdgs_Music_Code,0,3,360);if(Music_Flag=2)Play(Tsdcb_Music_Code,0,3,350);if(Music_Flag=3)Play(Xq_Music_Code,0,3,320);if(Music_Flag=4)Play(Th_Music_Code,0,3,330);if(Music_Flag=5)Play(Bxh_Music_Code,0,3,310);Delay(10); /*中断服务*/void EX0_MPZ() interrupt 0Music_Flag=6;Point=SoundLength;void EX2_MPZ() interrupt 2Music_Flag+;if(Music_Flag=6)东北石油大学生产实习总结报告16Music_Flag=1;Point=SoundLength;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 音乐美术

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报