基于51单片机LCD声光音乐盒

资料编号:120  下面是相关功能视频演示:

120-基于51单片机LCD声光音乐盒(原理图+源程序+仿真+论文)

本设计采用51单片机做为主控制器

主要功能:单片机内置8首歌曲,按键可以上一曲,下一曲,开始或暂停。电位器可以调节音量。LM386驱动喇叭,够响亮!

使用说明:

一共4个按键

上面那个独立的是复位按键,按下去程序从头执行,详情请看视频讲解中的最小系统介绍。

下面3个按键分别是:上一曲、开始/暂停、下一曲。

基于51单片机LCD声光音乐盒_第1张图片

下面是部分程序展示:

// 频率-半周期数据表 高八位  共保存了四个八度的28个频率数据
unsigned char code FREQH[]={
    0xF2, 0xF3, 0xF5, 0xF5, 0xF6, 0xF7, 0xF8,    //低音1234567
    0xF9, 0xF9, 0xFA, 0xFA, 0xFB, 0xFB, 0xFC, 0xFC,//1,2,3,4,5,6,7,i
    0xFC, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE,            //高音 234567
    0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFE, 0xFF};   //超高音 1234567

// 频率-半周期数据表 低八位
unsigned char code FREQL[]={
    0x42, 0xC1, 0x17, 0xB6, 0xD0, 0xD1, 0xB6,    //低音1234567
    0x21, 0xE1, 0x8C, 0xD8, 0x68, 0xE9, 0x5B, 0x8F, //1,2,3,4,5,6,7,i
    0xEE, 0x44, 0x6B, 0xB4, 0xF4, 0x2D,             //高音 234567
    0x47, 0x77, 0xA2, 0xB6, 0xDA, 0xFA, 0x16};   //超高音 1234567  

/*************************lcd1602程序**************************/
 void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)
 {unsigned int i,j;
   for(i=0;i     for(j=0;j<100;j++);
 }

void wr_com(unsigned char com)//写指令//
 {  delay1ms(1);
   RS=0;
   RW=0;
   EN=0;
   P0=com;
   delay1ms(1);
   EN=0;
   delay1ms(1);
   EN=1;
  }

void wr_dat(unsigned char dat)//写数据//
{  delay1ms(1);;
   RS=1;
   RW=1;
   EN=1;
   P0=dat;
   delay1ms(1);
   EN=0;
   delay1ms(1);
   EN=1;
}

基于51单片机LCD声光音乐盒_第2张图片

 下面是该设计的参考论文:

基于51单片机LCD声光音乐盒_第3张图片

下面是该设计的相关资料展示: 

基于51单片机LCD声光音乐盒_第4张图片 

 下面是该设计的分享下载链接:

https://pan.baidu.com/s/1pKhZXT301xqZz_7GZTinuA?pwd=nmzk

你可能感兴趣的:(51单片机,单片机,嵌入式硬件)