二、系统硬件电路设计-d1.amobbs.com.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二、系统硬件电路设计-d1.amobbs.com

基于AT89S52的 音乐播放器设计 目录 摘要: 2 一、系统设计要求与方案确定 2 1、系统设计要求 2 2、设计方案确定 2 二、系统硬件电路设计 3 1、系统硬件框图设计 4 2、系统原理图设计 4 三、系统软件设计 4 1、程序流程图: 4 2、程序代码设计: 6 四、总结与展望 10 1、总结: 10 2、展望: 10 【参考文献】 11 摘要:电子音乐播放器在现实生活中也已常见,如音乐贺卡、音乐闹钟、音乐门铃等。这些大多用的是专用音乐播放芯片,歌曲固化在芯片内部,设计者不易更改。本设计将使用单片机设计音乐播放器,利用蜂鸣器发声,LED数码管显示,普通按键用作人机交互,播放音乐种类可由软件更改,大大提高了系统设计的灵活性。 一、系统设计要求与方案确定 1、系统设计要求 以AT89S52单片机为核心设计一音乐播放器; 可以播放三首音乐,音乐编号分别为1,2,3; 设置三个按键,分别为:上一曲、下一曲、暂停/播放; 通过8位LED数码管显示:系统开机显示“HELLO”欢迎界面,按下暂停/播放键后,从第一首歌开始播放,LED显示当前歌曲编号,音乐播放时间,如“222 1-32”表示现在播放的是第二首歌,并且这首歌播放了1分32秒; 2、设计方案确定 硬件方案 硬件所需的元器件:AT89S52单片机、12MHz晶振1个、30pF瓷片电容2个、500Ω电阻2个、10KΩ电阻4个、10KΩ排电阻一个、8位LED数码管一组、74HC138译码器一片、按键开关4个、蜂鸣器一个、BC857A PNP型三极管一只。 硬件电路由5个部分组成,即单片机时钟电路、复位电路、Speaker电路、LED数码管显示电路、键盘输入电路。各部分实现功能如下: 单片机时钟电路、复位电路:单片机正常工作需要; Speaker电路:用于音乐播放,利用AT89C51的I/O口产生一定频率的方波脉冲,驱动蜂鸣器发出不同的音调从而演凑乐曲,利用PNP三极管进行简单的电路放大。如图1所示。 图1 Speaker电路 LED数码管显示电路:用于显示,如图2 所示。 键盘输入电路:用于人机交互,如图3所示。 图3键盘输入电路 软件方案 本系统的软件部分主要完成功能:键盘扫描、一定频率方波产生和输出、产生LED需要动态显示的位选与段选信号并输出。根据软件功能划分软件设计模块,如图4所示。 其中各模块具体任务如下: 初始化模块:对定时器的定时初值和中断类型定义; 定时器0中断:产生特定的方波,亦即不同的音符输出; 定时器1中断:计时,并且输出LED数码管的位选和段选达到后台显示的目的; 键盘扫描模块:扫描按键,控制播放; 二、系统硬件电路设计 1、系统硬件框图设计 根据确定的硬件方案设计系统硬件框图,如图5所示: 图5音乐播放器硬件模块结构 2、系统原理图设计 根据设计要求和硬件框图设计系统原理图,如图6所示 三、系统软件设计 1、程序流程图: 定时器0中断函数流程图: 定时器1中断函数流程图: 2、程序代码设计: #includereg52.h sbit last=P3^0; //上一曲 sbit next=P3^1; //下一曲 sbit pause=P3^2; //开始和暂停 sbit speaker=P1^2; //音乐输出口 unsigned char timer0h,timer0l,time; //timer0h,timer0l为定时器T0的高低位初值//设定,time为对应的节拍时间 unsigned char music_num,num; //music_num为歌曲编号(分别为1,2,3),//music_num=0只有在刚开机未按下暂停/播//放键时存在,表示刚开机时的状态,num是//查找歌曲数据表的地址 signed char fre; //对应频率数据表的地址 bit play_enable; //歌曲播放的使能标志位,用于暂停/播放 #define duanxuan P0 //数码管段选输出 #define weixuan P2 //数码管位选输出 unsigned char code smgduan[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40,0x00,0x76,0x38}; //共阴,第16位是“-”代码,第17位是无显示内容代码,第18位是‘H’代码, //第19位是‘L’代码

文档评论(0)

2105194781 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档