网站大量收购独家精品文档,联系QQ:2885784924

单片机音乐盒设计解决方案.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计目的 单片机课程设计是在理论教学与有关实验完成后进行的,目的是培养我们程序设计和实际应用单片机的能力。通过此实践环节,使我们能够熟练应用keil和proteus软件,并掌握设计调试单片机应用系统基本的方法和步骤,为今后更加深入的学习单片机奠定基础。 课程设计主要内容 制作一个简易音乐盒,利用若干开关按键控制音乐播放并利用一位数码管显示相关消息,要求: 1. 歌曲不少于四种,歌曲任意; 2. 可用键控制,不同按键对应不同的歌曲; 3. 可用键控制歌曲的暂停与播放; 4. 利用数码管显示当前播放的歌曲为第几首,在显示屏上显示对应歌曲的名称; 5. 上位机发送“1”时,下位机接收并回发“1”; 硬件电路设计 (一)晶振电路 晶体振荡器,简称晶振,它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络。晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。电路图如下: (二)复位电路 单片机在启动时都需要进行复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。单片机系统的复位方式有:手动按钮复位和上电复位,在这次的仿真设计中采用的是上电复位,只需要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。电路图如下: (三)蜂鸣器电路 在进行仿真时,不需要接运放,但在实际电路中需要接上运算放大器,电路图如下: (四)数码管显示电路 1. 采用共阳极数码管,当按下相应按键时进入到对应的件处理程序,将不同的字形码通过P0口送到数码管中,从而显示对应数字(字符)。 2. P0口作为I/O口输出的时候时输出低电平为0 输出高电平为高组态(相当于悬空状态)。也就是说P0 口不能真正的输出高电平,给所接的负载提供电流。因此必须接上拉电阻(一电阻连接到VCC)。由电源通过这个上拉电阻给负载提供电流。由于P0口内部没有上拉电阻,是开漏的,不管它的驱动能力多大,相当于它是没有电源的,需要外部的电路提供,所以绝大多数情况下P0口是必需加上拉电阻的,但是P0口在作为地址\数据复用时不接上拉电阻。电路图如下: (五)显示电路 在显示模块中,我们采用的是1602液晶显示模块,它是一种专门用于显示数字、英文字母和符号的点阵式液晶模块,可显示两行字符,应用广泛。引脚功能如下: 引脚编号 电路符号 引脚功能 引脚编号 电路符号 引脚功能 1 VSS 电源接地 9 D2 数据 2 VDD 电源正极 10 D3 数据 3 VL 显示偏压 11 D4 数据 4 R/S 数据/命令 12 D5 数据 5 R/W 读写 13 D6 数据 6 E 使能信号 14 D7 数据 7 D0 数据 15 BLA 背景灯正极 8 D1 数据 16 BLK 背景灯负极 显示开关及光标显示: 指令码 功能 0 0 0 0 1 D C B D=1开显示;D=0关显示 C=1显示光标;C=0不显示光标 B=1光标闪烁B=0光标不闪烁 0 0 0 0 0 1 N S N=1当读写一个字符后地址加一,光标加一 N=1当读写一个字符后地址减一,光标减一 S=1当写一个字符后,整屛右移(左移) S=0当写一个字符后,整屛不移动 0 0 0 1 0 0 0 0 光标左移 0 0 0 1 0 1 0 0 光标右移 0 0 0 1 1 0 0 0 整屛左移,光标跟随移动 0 0 0 1 1 1 0 0 整屛右移,光标跟随移动 P1.0~P1.4接电源,为高电平,当有按键按下时,由高电平降为低电平,芯片由此得知哪个键被按下,进入相应处理程序即可。 软件流程 程序清单 #include reg52.h #define uchar unsigned char #define uint unsigned int sbit speaker=P3^7; sbit Y1=P1^0; sbit Y2=P1^1; sbit Y3=P1^2; sbit Y4=P1^3; sbit Y5=P1^4; sbit Y6=P1^5; sbit Y=P1^7; sbit lcden=P3^4; //液晶使能端 sbit lcdrs=P3^5; unsigned char tim

文档评论(0)

过各自的生活 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档