資源簡介
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
評論
共有 條評論