资源简介

51单片机音乐播放器的设计,在LCD12864液晶显示频谱高低。通过按键暂停,播放音乐。并有下一曲,上一曲等功能。程序+原理图

资源截图

代码片段和文件信息

#include “stc12c5a60s2.h“
#include “LCD12864.H“
#include

#define LCD12864_DATAPORT P0   //数据IO口
#ifndef uchar
#define uchar unsigned char
#endif

#ifndef uint
#define uint unsigned int
#endif

sbit LCD12864_RS  =  P2^6;             //(数据命令)寄存器选择输入
sbit LCD12864_RW  =  P2^5;             //液晶读/写控制
sbit LCD12864_EN  =  P2^7;             //液晶使能控制
sbit LCD12864_PSB =  P3^2;             //串/并方式控制
sbit LCD12864_RST =  P3^4;    //复位端

/*******************************************************************************
* 函 数 名         : LCD12864_Delay1ms
* 函数功能    : 延时1MS
* 输    入         : c
* 输    出         : 无
*******************************************************************************/
void delay(uchar c)
{
 while(c)c--;
}

void delayms(uchar c)
{
    uchar ab;
for(; c>0; c--)
{
    for(b=199; b>0; b--)
{
        for(a=12; a>0; a--);
}
}
}

/*******************************************************************************
* 函 数 名         : LCD12864_Busy
* 函数功能    : 检测LCD是否忙
* 输    入         : 无
* 输    出         : 1或0(1表示不忙,0表示忙)
*******************************************************************************/

uchar LCD12864_Busy(void)
{
uchar i = 0;
LCD12864_RS = 0;    //选择命令
LCD12864_RW = 1; //选择读取
LCD12864_DATAPORT = 0XFF;//否则会干扰读取
delay(1);
LCD12864_EN = 1; ///上升沿读
    delay(1);
for(i=0;i<255;i++)///短时延时
{
if((LCD12864_DATAPORT & 0x80) != 0x80)
{
    LCD12864_EN = 0;
    return 1;
}
}
for(i=0;i<255;i++)///长延时
{
delay(100);
if((LCD12864_DATAPORT & 0x80) != 0x80)
{
LCD12864_EN = 0;
    return 1;
}
}
LCD12864_EN = 0;
return 0;
}

/*******************************************************************************
* 函 数 名         : LCD12864_WriteCmd
* 函数功能    : 写命令
* 输    入         : cmd
* 输    出         : 无
*******************************************************************************/

void LCD12864_WriteCmd(uchar cmd)
{
LCD12864_Busy();
LCD12864_RS = 0;     //选择命令
LCD12864_RW = 0;     //选择写入
LCD12864_DATAPORT = cmd;   //放置数据
LCD12864_EN = 1;    //写时序下降沿写
delay(1);
LCD12864_EN = 0;    
}

/*******************************************************************************
* 函 数 名         : LCD12864_WriteData
* 函数功能    : 写数据
* 输    入         : dat
* 输    出         : 无
*******************************************************************************/

void LCD12864_WriteData(uchar dat)
{
LCD12864_Busy();
LCD12864_RS = 1;     //选择数据
LCD12864_RW = 0;     //选择写入
LCD12864_DATAPORT = dat;   //放置数据
LCD12864_EN = 1;    //写时序
delay(1);
LCD12864_EN = 0;   
}
/*******************************************************************************
* 函 数 名         : LCD12864_ReadData
* 函数功能    : 读取数据
* 输    入         : 无
* 输    出         : 读取到的8位数据
*******************************************************************************/

uchar LCD12864_ReadData(void)
{
uchar 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      17324  2017-04-07 18:26  程序\Sings\Listings\LCD12864.lst

     文件      46407  2017-04-07 18:26  程序\Sings\Listings\main.lst

     文件      10125  2017-03-19 18:56  程序\Sings\Listings\PlayMusic.lst

     文件      42136  2017-04-07 18:26  程序\Sings\Listings\Sings.m51

     文件      14548  2017-03-19 18:56  程序\Sings\Listings\STARTUP.lst

     文件        905  2017-03-19 18:56  程序\Sings\Listings\TimeControl.lst

     文件      12414  2017-04-07 18:26  程序\Sings\objects\LCD12864.obj

     文件      30356  2017-04-07 18:26  程序\Sings\objects\main.obj

     文件       7752  2017-03-19 18:56  程序\Sings\objects\PlayMusic.obj

     文件      37428  2017-04-07 18:26  程序\Sings\objects\Sings

     文件       1335  2017-04-07 18:26  程序\Sings\objects\Sings.build_log.htm

     文件      23122  2017-04-07 18:26  程序\Sings\objects\Sings.hex

     文件        141  2017-04-07 18:26  程序\Sings\objects\Sings.lnp

     文件        176  2017-05-25 22:18  程序\Sings\objects\Sings.plg

     文件        819  2017-03-19 18:56  程序\Sings\objects\STARTUP.obj

     文件        733  2017-03-19 18:56  程序\Sings\objects\TimeControl.obj

     文件     104448  2017-05-18 15:22  程序\Sings\Sheet1.SchDoc

     文件      86349  2017-04-07 18:31  程序\Sings\Sings.uvgui.YooHoo

    .......     57200  2017-05-25 22:18  程序\Sings\Sings.uvopt

    .......     13781  2017-05-15 20:26  程序\Sings\Sings.uvproj

    .......     57017  2017-05-15 20:26  程序\Sings\Sings_uvopt.bak

    .......     14396  2017-04-07 18:31  程序\Sings\Sings_uvproj.bak

     文件       9118  2017-04-02 23:25  程序\Sings\Src\LCD12864.c

     文件        899  2017-04-02 17:14  程序\Sings\Src\LCD12864.h

     文件      26032  2017-05-15 21:07  程序\Sings\Src\main.asv

     文件      26272  2017-05-15 21:11  程序\Sings\Src\main.c

     文件      17804  2015-01-29 21:57  程序\Sings\Src\stc12c5a60s2.h

     文件       6376  2016-04-01 17:01  程序\Sings\STARTUP.A51

     文件    8788480  2017-04-07 18:35  程序\音乐频谱播放器报告.doc

     目录          0  2017-04-07 18:26  程序\Sings\Listings

............此处省略7个文件信息

评论

共有 条评论