资源简介
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\ob
文件 30356 2017-04-07 18:26 程序\Sings\ob
文件 7752 2017-03-19 18:56 程序\Sings\ob
文件 37428 2017-04-07 18:26 程序\Sings\ob
文件 1335 2017-04-07 18:26 程序\Sings\ob
文件 23122 2017-04-07 18:26 程序\Sings\ob
文件 141 2017-04-07 18:26 程序\Sings\ob
文件 176 2017-05-25 22:18 程序\Sings\ob
文件 819 2017-03-19 18:56 程序\Sings\ob
文件 733 2017-03-19 18:56 程序\Sings\ob
文件 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个文件信息
- 上一篇:无线充电资料
- 下一篇:YaHei.Consolas字体 微软雅黑+Consolas
相关资源
- 基于MCS_51单片机的工业屏柜散热方案
- MCS_51单片机与8255A的接口设计
- LCD显示温度+串口接收温度.rar
- 51单片机PWM程序,占空比、周期可调整
- 51单片机多功能自行车测速仪
- 00
- 用51单片机实现G代码翻译
- 简易的电阻电容测量电路
- Img2Lcd(将图片转换为数组的工具)
- 我做的电子琴,21个音,一般歌曲基本
- 51单片机基于protues的几个仿真实例
- 51单片机PCB设计图
- PC -- 单片机的串口数据传输系统设计
- 基于c8051f020的AD转换程序及LCD显示程序
- 51单片机控制舵机程序
- [免费]msp430f149控制PS2键盘并用1602显示
- arm触摸屏与LCD校准程序三点校准法
- 51单片机读取温度数据存储到SD卡中并
- 【单片机】51单片机数码管显示万年历
- vhdl与lcd1602实现的多控制电子钟
- pctolcd2002完美版460701
- ADC0809数字电压表 LCD1602显示 汇编程序
- C51单片机汇编指令查询、学习工具集
- 基于8051单片机的红外接收程序
- lcd12684显示程序
- lcd12864的VHDL程序
- 51单片机频率计(很简单)
- LCD12864滚动显示
- 基于51单片机的智能温控器
- 基于51单片机的16*16点阵动态显示
评论
共有 条评论