練手項目,完整資料
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
0.jpg (105.72 KB, 下載次數: 77)
下載附件
2018-1-20 21:28 上傳
0.jpg (75.38 KB, 下載次數: 66)
下載附件
2018-1-20 21:29 上傳
單片機源程序如下:
- #include <string.h>
- #include <STC12C5A.H>
- #include "VS1003.h"
- #include "debug.h"
- #include "SPI.h"
- #include "SD.h"
- #include "myfun.h"
- #include "PFatFS/pff.h"
- #include "12864.h"
- #include "menu_UI.c"
- FATFS fatfs; ///定義一個文件系統對象
- FRESULT res;
- UINT8 Music_Vol=200; //音量大小
- UINT16 code bitrate[2][16]={{0,8,16,24,32,40,48,56,64,80,96,112,128,144,160,0},{0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,0}}; //用于MP3比特率的判斷
- UINT8 Time[6]={0,1,':',2,0,'\0'};
- UINT8 DispBitRate[]={0,0,0,'k','b','p','\/','s','\0'};
- UINT8 TxtBuffer[49]={0};
- UINT8 MusicVol[]={'0','0','0','\0'};//音量整形轉為字符串類型
- UINT8 Doc_pos=0; //文檔菜單索引
- UINT8 old_Doc_pos=-1; //按鍵之前文檔菜單索引
- UINT8 mpos=0; //主菜單播索引值
- UINT8 oldmpos = 2; //按鍵之前主菜單索引值
- UINT8 key=0; //當前按鍵值
- UINT8 MusicMax=0; //讀取音樂文件的個數
- UINT8 TxtMax=0; //讀取文檔文件的個數
- UINT8 flag_music=0;
- LONG pMusic=0;
- WORD br,rc;
- FILINFO filinfo;//文件信息
- DIR dir;
- //初始化所有設備
- void all_init()
- {
- {P1M1 = 0X40; P1M0 = 0xbF;} //硬件SPI必須!!。。。。。。。。/O口1模式控制器1
- // P0M1 = 0Xff; P0M0 = 0xff; //有上拉電阻的話就要該行 使其IO為弱 要是板子沒有上拉電阻就可注釋該句
- SPI_Init(); //SPI初始化,默認最低速
- UartInit(); //UART初始化
- DB_SendString("\nSPI and uart init ok............\n");
- LCD_Init();
- DB_SendString("LCD12864 init ok............\n");
-
- // SD_Init();
- // DB_SendString("SD init ok............\n"); //下面的掛載其實已經初始化SD卡了,可不必重復
- res = pf_mount(&fatfs); //掛在文件系統
- if(res == FR_OK) DB_SendString("掛載成功!\n"); //如果返回1,則掛載失敗,否則成功
- else DB_SendString("掛載失敗\n");
-
- VS1003_Reset();
- //Change_SineTest(1); //正弦測試
- DB_SendString("vs1003 init ok............\n");
-
- SPI_SetSpeed(0); //最高速
- VS_XDCS=0; //打開數據片選,注意此時XCS(片選)為高電平,SDI有效
- VS_XCS = 1; //關閉片選
- }
- void main()
- {
- all_init();
- Main_Menu();
- DB_SendString("所有初始化成功............\r\n");
- DB_SendInfo("VS_MODE = ",VS1003_ReadReg(VS_MODE)); //通過打印寄存器數值看VS1003是否初始化成功
- DB_SendInfo("VS_CLOCKF = ",VS1003_ReadReg(VS_CLOCKF));
-
- Main_Oper(); //死循環
- }
復制代碼
所有資料51hei提供下載:
MP3.zip
(11.19 MB, 下載次數: 163)
2018-1-20 17:22 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|