资源简介
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
相关资源
- 基于STM32F4x9的LCD显示
- 基于Blackfin 处理器的TFT LCD 驱动设计
- 基于ARM7的LCD显示电压示波系统的设计
- 基于51单片机的交通信号灯程序
- GSM监控系统51单片机设计
- 51单片机定时器/计数器的结构和原理
- MCS-51单片机定时器和计数器区别的理
- 基于51单片机的多通道数据采集范围控
- ADC0832ADC0809DAC0832三种芯片程序,c程序
- 基于51单片机的直流电机转速控制及显
- 高速公路快速放行提示系统
- 光敏电阻传感器模块4线制
- 51单片机_DS1302时钟芯片_共阴数码管
- TFT-LCD系统时序控制模块
- TFT-LCD玻璃基板制造方法
- 基于51单片机的教室智能照明控制系统
- 基于单片机的智能低电阻测量仪
- mini2440全套裸机程序MDK 运行
- 电动车智能充电桩全套
- 五路循迹智能小车
- 基于51单片机的交通灯设计
- 51 教室智能灯 控制系统
- 二狗音乐播放器.zip
- 51单片机125Khz ID卡读卡程序
- 51单片机课程设计内含50多个课程设计
- 51单片机实现蜂鸣器的简易歌曲播放器
- 基于51单片机的智能十字路口交通灯系
- LCD1602显示程序
- 51单片机编写的标准modbus协议通信模版
- SIM900A通过51单片机拨打电话程序
评论
共有 条评论