(完整版)基于STM32開發(fā)板的播放器設計_第1頁
(完整版)基于STM32開發(fā)板的播放器設計_第2頁
(完整版)基于STM32開發(fā)板的播放器設計_第3頁
(完整版)基于STM32開發(fā)板的播放器設計_第4頁
(完整版)基于STM32開發(fā)板的播放器設計_第5頁
免費預覽已結束,剩余15頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、生產實習報告基于STM32勺播放器設計- 概述(1)使用STM3編寫代碼送至蜂鳴器中,實現(xiàn)簡易的播放器功能(2)通過使用時鐘芯片,可以顯示出當前的時間日期(3)可以通過重力感應完成上下一曲。(4)開機時有開機動畫。(5)完成完整的電路設計原理圖及軟件源代碼。二總體設計框圖液晶顯示MCU蜂鳴器小組分工:總體設計:由組長鄭健師完成。時間模塊:張春蕾、張寧、張道永。重力感應模塊:宗瑞、張正陽、金以俊、司良振。開機動畫模塊:王丹陽、張金鳳、宋加偉。三、關鍵模塊設計1、重力模塊設計:在播放音樂時,可以通過改變ARM5的重心來進行歌曲的前一首和后一首的 切換.實現(xiàn)方法:在每次播放音符的時候檢測是否有重力偏

2、轉的大幅度改變,如果有,則停止播放當前歌曲,進去上下曲的播放。此外軟件還設有重力感應鎖定模塊,只需要將開關 1打上就可以實現(xiàn)2、時間顯示:這個模塊主要是通過例程實驗代碼實現(xiàn)的。具體的就是讀取時鐘芯片的數(shù)據(jù),然后顯示在OLEDt面。3、開機顯示:讀取漢字“歡迎光臨”程序沒執(zhí)行一次,改變顯示的位置,從而實現(xiàn)了文字 在動的效果四.測試結果通過我們這兩個星期的努力,我們的任務基本實現(xiàn)了,我們通過蜂鳴器來實現(xiàn)播放,通過重力感應來完成下一曲上一曲的播放和功能選擇,還有就是開機動畫也完成了預期的效果。五.總結我們經過了兩個星期的共同合作,我們從一點也不懂,到對基板有了比較理性的認識,再到完成了基本的設計,實

3、現(xiàn)了基本的功能,團隊協(xié)作精神也得 到了提高。我們從中收獲了很多。六.關健程序代碼主程序的菜單顯示模塊:while (1J打顯前受的違樂桌單8rrtf Dhta (Hy_Kflic 0 ,6,16+1,3,11;KritcDota (Hyjnuaic 1 ,17+6,334rlr 3,1);WriteData (My_ni3ic 2 f 34-hfi, 504rlr Sf 11;Wri t eEata Hyjmimic 3 L 51+6+仇 Id L);品示時同菜至wmeDatnHhiKan叫血 16地 1 冉 1):feiteDatafshljian 1 f 17+6,33+4,1 1);Sr

4、L說 Data (Bhijian 2 戶 4+6- 5M& 4,瓦 1);fltitDBtaflliLjian3| f 51+6r F7+j 4f 6r 1);勇力暴屈實較哀熊送Wswitch (LI35_out()( 一case 1: beep3)I -i nd包乂比口m三一;1 一else ir(LI3S_cutO-2)上一曲 _Index_np5l:if (ind-ex_inp30 ) - iadeK_irp3-3; 一else if(LJ35_GUX()l) 聯(lián)比居哥(Titer4 OutClaable();KrireData (0r 0r 132,0,e, C) :/厝屏treat;

5、 elseI時間顯示模塊的部分代碼: y_fl?rit-3ata (0/1,132,0,:/):盾屏PrintStringLocate(Date: t 16 r DxOOj 0x00);PrintStriDgLocatefWeek: ,16 , 0xQ4f OxQO);PrintStringLMatet-!: , IE , OxOfi, 0x00);for(;)(je:Tir*(iReaiTijne);GetDate(bRealDate);sprint!(char *)DispJiyBnfrJ I4d t02d t02dafRMlDate.y?arr (ue)RealD&t:.iHithr R

6、tblBamiM;PrinXStringLocate (Di 即 laWuffp 16r0x02f0x00);sprintf (char *)Di3pIayBuffr 胃隨、fee kDay Str Re al Late, weekday);Jrin:5:rinjLocate (DisplayBuff, 16r0x04r0x06);prmtf(cbar DimpOyBufL /2山+儂;制2dRsIIimg.h口叫*ITue,而1期辟式口熊蛻口M);PrintStringLocate (DisplayBuff, 16r。工居 0x06);Delays (500);七相關問題:1重力感應實現(xiàn)的基

7、本原理:重力傳感器是將運動或重力轉換為電信號的傳感器,主要用于傾斜角、慣性力、 沖擊及震動等參數(shù)的測量。在測量平臺傾斜角時,將重力傳感器垂直放置于在所測平 臺上,重力傳感器的敏感軸應與傾斜平臺的軸向一致,在水平狀態(tài)下應與水平面平行。其中a為平臺沿某一方向的傾斜角。重力傳感器的質量塊由于受到重力加速度g在傾斜方向上的分量g : g = g sin 的作用產生偏移,使重力傳感器的輸出電 壓發(fā)生變化。若重力傳感器在水平狀態(tài)下的輸出為 0 V,傾角為a時的輸出為a V ,且在1g加速度作用下的輸出為 V ,則有:0 V =V / g Xsin a x 1g +V a 即:a = arcsin(V a

8、- V0 ) /V 利用上式可以方便求得平面某一方向上的傾斜角。如果將兩個重力傳感器正交放置在平臺中心,則平臺在x方向上傾斜角x %和平臺在y方向上傾斜角y %為:x arcsinV( x V) /V,arcsin(V V ) /V y y根據(jù)這兩個方向上的傾斜角可以確定出平臺的橫向傾角和縱向傾角。圖1角度傳感器2時間模塊是如何實現(xiàn): 實現(xiàn)原理圖八關健程序代碼主程序 main: #include include.h#include uart.h#include stm32f10x_spi.h#include OLED.h#include MEMS.h#include #include TWI.

9、hacc_3d mems;extern u8 DisplayBuff20;int LI35_out(void);extern void beep(void);extern void time_test(void);unsigned char hanzi32=/*- 文字:歡 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x04,0x24,0x44,0x84,0x64,0x9C,0x40,0x30,0x0F,0xC8,0x08,0x08,0x28,0x18,0x00, 0x00,0x10,0x08,0x06,0x01,0x82,0x4C,0x20,0x18,0x06,0x

10、01,0x06,0x18,0x20,0x40,0x80,0 x00,/*- 文字:迎 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x40,0x40,0x42,0xCC,0x00,0x00,0xFC,0x04,0x02,0x00,0xFC,0x04,0x04,0xFC,0x0 0,0x00,0x00,0x40,0x20,0x1F,0x20,0x40,0x4F,0x44,0x42,0x40,0x7F,0x42,0x44,0x43,0x40,0 x00,/*- 文字:光 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x40,0x40,0x42,0x4

11、4,0x58,0xC0,0x40,0x7F,0x40,0xC0,0x50,0x48,0x46,0x40,0x40,0x00,0x80,0x80,0x40,0x20,0x18,0x07,0x00,0x00,0x00,0x3F,0x40,0x40,0x40,0x40,0x78,0 x00,/*- 文字 : 臨 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0xF8,0x00,0x00,0xFF,0x40,0x20,0x18,0x0F,0x18,0x68,0x08,0x08,0x08,0x08, 0x00,0x00,0x1F,0x00,0x00,0xFF,0x00,0

12、x00,0x7F,0x21,0x21,0x3F,0x21,0x21,0x7F,0x00,0 x00,;unsigned char My_music32=/*- 文字 : 我 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x20,0x24,0x24,0x24,0xFE,0x23,0x22,0x20,0x20,0xFF,0x20,0x22,0x2C,0xA0,0x20 ,0x00,0x00,0x08,0x48,0x84,0x7F,0x02,0x41,0x40,0x20,0x13,0x0C,0x14,0x22,0x41,0xF8,0 x00,/*- 文字 : 的 -*/*-宋

13、體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0xF8,0x0C,0x0B,0x08,0x08,0xF8,0x40,0x30,0x8F,0x08,0x08,0x08,0xF8,0x00 ,0x00,0x00,0x7F,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,0x00,0x43,0x80,0x40,0x3F,0x00,0 x00,/*- 文字 : 音 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x40,0x40,0x44,0x44,0x54,0x64,0x45,0x46,0x44,0x64,0x54,0x44,0x44,

14、0x40,0x40,0x00,0x00,0x00,0x00,0xFF,0x49,0x49,0x49,0x49,0x49,0x49,0x49,0xFF,0x00,0x00,0x00,0 x00,/*- 文字 : 樂 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0x00,0xE0,0x9C,0x84,0x84,0x84,0xF4,0x82,0x82,0x83,0x82,0x80,0x80,0x00, 0x00,0x00,0x20,0x10,0x08,0x06,0x40,0x80,0x7F,0x00,0x00,0x02,0x04,0x08,0x30,0x00,0 x

15、00,;unsigned char tool32=/*- 文字 : 系 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0x00,0x22,0x32,0x2A,0xA6,0xA2,0x62,0x21,0x11,0x09,0x81,0x01,0x00,0x00,0x00,0x00,0x42,0x22,0x13,0x0B,0x42,0x82,0x7E,0x02,0x02,0x0A,0x12,0x23,0x46,0x00, 0x00,/*- 文字 : 統(tǒng) -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x20,0x30,0xAC,0x63,0x30

16、,0x00,0x88,0xC8,0xA8,0x99,0x8E,0x88,0xA8,0xC8,0x88,0x00,0x22,0x67,0x22,0x12,0x12,0x80,0x40,0x30,0x0F,0x00,0x00,0x3F,0x40,0x40,0x71,0 x00,/*- 文字 : 設 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x40,0x40,0x42,0xCC,0x00,0x40,0xA0,0x9E,0x82,0x82,0x82,0x9E,0xA0,0x20,0x2 0,0x00,0x00,0x00,0x00,0x3F,0x90,0x88,0x40,0x

17、43,0x2C,0x10,0x28,0x46,0x41,0x80,0x80,0 x00,/*- 文字 : 置 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0x17,0x15,0xD5,0x55,0x57,0x55,0x7D,0x55,0x57,0x55,0xD5,0x15,0x17,0x00,0x00,0x40,0x40,0x40,0x7F,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x7F,0x40,0x40,0x40,0x00,;unsigned char shijian32=/*- 文字 : 時 -*/*-宋體12;此字體下對

18、應的點陣為:寬 x高=16x16-*/0x00,0xFC,0x84,0x84,0x84,0xFC,0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10 ,0x00,0x00,0x3F,0x10,0x10,0x10,0x3F,0x00,0x00,0x01,0x06,0x40,0x80,0x7F,0x00,0x00,0x00,/*- 文字 : 間 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0xF8,0x01,0x06,0x00,0xF0,0x12,0x12,0x12,0xF2,0x02,0x02,0x02,0xFE,0x00,

19、 0x00,0x00,0xFF,0x00,0x00,0x00,0x1F,0x11,0x11,0x11,0x1F,0x00,0x40,0x80,0x7F,0x00,0x 00,/*- 文字 : 顯 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x00,0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0x92,0x92,0x92,0xFE,0x00,0x00,0x00, 0x00,0x40,0x42,0x44,0x58,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x50,0x48,0x46,0x40,0x00,/*- 文字

20、: 示 -*/*-宋體12;此字體下對應的點陣為:寬 x高=16x16-*/0x40,0x40,0x42,0x42,0x42,0x42,0x42,0xC2,0x42,0x42,0x42,0x42,0x42,0x40,0x40, 0x00,0x20,0x10,0x08,0x06,0x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x02,0x04,0x08,0x30,0x00,;void write_c(u8 cdata)TWI_SendByte(0x80);TWI_SendByte(cdata);void write_d(u8 cdata)TWI_SendByte(0x40

21、);TWI_SendByte(cdata);void init_program() write_c(0xAE); /display offwrite_c(0xA1); /segment remapwrite_c(0xDA); /common pads hardware: alternativewrite_c(0x12);write_c(0xC8); /common output scan direction:com63com0write_c(0xA8); /multiplex ration mode:63write_c(0x3F);write_c(0xD5); /display divide

22、ratio/osc. freq. modewrite_c(0x70);write_c(0x81); /contrast controlwrite_c(0x30);write_c(0xD9); /set pre-charge periodwrite_c(0xF1);write_c(0x20); /Set Memory Addressing Modewrite_c(0x02);write_c(0xDb); /VCOM deselect level modewrite_c(0x3C);write_c(0xAD); /master configurationwrite_c(0x8E); /extern

23、al VCC supplywrite_c(0xA4); /out follows RAM contentwrite_c(0xA6); /set normal displaywrite_c(0xAF); /display onvoid playmusic() while(1) WriteData(0,0,132,0,8,0);/清屏MEMS_Get(&mems);DelayMs(80);sprintf( DisplayBuff,Y:%04d n,mems.y);PrintStringLocate(DisplayBuff, 16,0x00,0x00);printf( DisplayBuff,Y:%

24、04d n,mems.y);if(LI35_out()=2)/清屏WriteData(0,0,132,0,8,0); break;int main (void)/ int index=0;/int slect=0;int i=0;/_disable_interrupt();SystemInit();/設置系統(tǒng)時鐘#ifndef EMb_FLASH/* Set the Vector Ta0ble 0base location at 0x20000000 */NVIC_SetVectorTable(NVIC_VectTab_RAM, 0x0);#else /* VECT_TA0b_FLASH */

25、* Set the Vector Ta0ble 0base location at 0x08000000 */NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);#endifNVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);/NVIC_Configuration(); / 中斷配置FM_GPIOInit();LED_GPIOInit();I2C_GPIOInit();OLED_init();SW_GPIOInit();KEY_GPIOInit();MEMS_Init();RS232Init(9600); /V1.

26、1/ RS485Init(9600); /V1.0/ TWI_Initialize();TWI_START();TWI_SendByte(0x78);init_program();TWI_STOP();WriteData(0,0,132,0,8,0);/清屏for(i=0;i220&mems.x10&mems.x5&mems.y210&mems.y245)return 2;/代表向左偏轉else return 0;/無偏轉或者偏轉過大/揚聲器的模塊:#include include.h#include OLED.hextern int zhongli;int index_mp3=0;/音調表/

27、C 262/D 294/E 330/F 349/G 392/A 440/B 494/C 523/D 587/E 659/F 698/G 784/A 880/B 988/C 1047/D 1175/E 1319/F 1397/G 1568/A 1760/B 1976/低音 17constunsignedintMusicDataD7=61069,54422,48485,45845,40816,36364,32389;/ 中音 17const unsigned int MusicData7 = 30592,27257,24297,22922,20408,18182,16194;/ 高音 17cons

28、t unsigned int MusicDataG7 = 15282,13617,12130,11453,10204,9091,8097;/音樂數(shù)據(jù)格式:/0x110x17 表示低音17/0x210x27 表示中音17/0x310x37 表示高音17/0表示靜音/ 每個音后面數(shù)據(jù)表示該音為多少個時間單位: 1 個 16 分音符定為 1 個時間單位static void DelayMs(u32 ms)u32 i = Music_MSCnt * ms;while(i -);const unsigned char TwoTiger = /兩只老虎0x21,4,0x22,4,0x23,4,0x21,4

29、,0x21,4,0x22,4,0x23,4,0x21,4,0x23,4,0x24,4,0x25,4,0x25,4,0x23,4,0x24,4,0x25,4,0x25,4;const unsigned char CoolestEnthic = /鳳凰傳奇/最炫民族風0x16,4,0x16,2,0x15,2,0x16,4,0x21,4, 0x22,2,0x23,1,0x22,1,0x21,2, 0x23,8,0x16,2,0x26,2,0x26,2,0x25,2, 0x22,2,0x23,1, 0x22,1,0x21,2,0x22,2,0x23,8,0x21,2,0x16,2,0x16,2,0x2

30、1,2, 0x22,4,0x15,2, 0x15,2,0x23,2,0x25,2,0x23,2, 0x22,2,0x21,8, 0x16,2,0x21,2,0x22,2,0x23,2,0x22,2,0x21,2,0x15,2,0x13,2,0x16,8;const unsigned char GuoGe = /義勇軍進行曲/ 國歌0x21,3,0x23,1,0x25,2,0x25,2,0x26,4,0x25,4,0x23,3,0x21,1,0x25,1,0x25,2,0x25,1, 0x23,4,0x21,4,0x15,1,0x15,2,0x15,1,0x15,1,0x15,2,0x15,1,

31、0x21,4,0x00,2,0x15,2,0x21,6,0x21,2,0x2 1,3,0x21,1,0x15,2,0x16,1,0x017,1,0x21,4,0x21,4,0x00,2,0x23,2,0x21,2,0x22,1,0x23,1,0x25,4,0x25,4,0x23,3,0x23,1,0x2 1,3,0x23,1,0x25,3,0x23,1,0x22,4,0x22,8,0x26,4,0x25,4,0x22,4,0x23,4,0x25,2,0x23,2,0x00,2,0x25,2,0x23,2,0x22,1,0x2 3,1,0x21,4,0x23,4,0x00,4,0x15,3,0x

32、16,1,0x21,2,0x21,2,0x23,3,0x23,1,0x25,2,0x25,2,0x22,2,0x21,1,0x22,1,0x16,4,0x2 2,6,0x15,2,0x21,5,0x21,2,0x23,6,0x23,2,0x25,8,0x21,3,0x23,1,0x25,2,0x25,2,0x26,4,0x25,4,0x23,3,0x21,1,0x25,1,0x2 5,2,0x25,1,0x23,2,0x00,2,0x21,2,0x00,2,0x15,4,0x21,4,0x23,3,0x21,1,0x25,1,0x25,2,0x25,1,0x23,2,0x00,2,0x21,2

33、,0x0 0,2,0x15,4,0x21,4,0x15,4,0x11,4,0x21,4,0x00,4;const unsigned char Bajie = /豬八戒背媳婦0x16,1,0x21,1,0x16,1,0x21,1,0x25,4,0x23,1,0x25,1,0x23,1,0x23,2,0x21,4,0x22,4,0x22,4,0x23,2,0x33,2,0x23,1,0x23,1,0x16,4,0x23,3,0x25,1,0x23,2,0x16,2,0x21,4,0x23,4, 0x23,1,0x22,1,0x23,1,0x21,1,0x16,4,0x23,3,0x25,1,0x2

34、6,2,0x26,2,0x26,2,0x23,2,0x25,1, 0x26,2,0x26,2,0x26,2,0x23,2,0x25,4,0x25,2,0x16,2,0x25,2,0x16,2,0x23,1,0x22,2,0x22,2, 0x21,1,0x22,2,0x23,2,0x25,2,0x26,4,0x33,4,0x23,4,0x33,4,0x23,2,0x33,2,0x22,2, 0x23,2,0x21,4,0x22,4,0x22,4, 0x22,2,0x21,1,0x22,1,0x23,2,0x25,2,0x26,8 ;void SetBellF(const unsigned int

35、 SetV)TIM_OCInitTypeDef TIM_OCInitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);TIM_TimeBaseInitStructure.TIM_Period = SetV;TIM_TimeBaseInitStructure.TIM_Prescaler = 0;TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_Tim

36、eBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStructure);TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = (SetV/2);TIM_OCInitStructure.TIM_OCPolarity = TIM_OC

37、Polarity_Low;TIM_OC4Init(TIM4, &TIM_OCInitStructure);/TIM_CtrlPWMOutputs(TIM4, ENABLE);/* TIM1 enable counter */TIM_Cmd(TIM4, ENABLE);void Timer4Init(void) TIM_OCInitTypeDef TIM_OCInitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);TIM_

38、DeInit(TIM4);TIM_TimeBaseInitStructure.TIM_Period = 10000;TIM_TimeBaseInitStructure.TIM_Prescaler = 0;TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up;TIM_TimeBaseInit(TIM4,&TIM_TimeBaseInitStructure);TIM_OCInitStructure.TIM_OC

39、Mode = TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse = 5000;TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;TIM_OC4Init(TIM4, &TIM_OCInitStructure);TIM_CtrlPWMOutputs(TIM4, ENABLE);/* TIM1 enable counter */ TIM_Cmd(TIM4, ENABLE);vo

40、id Timer4OutEnable(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_Init(GPIOD, &GPIO_InitSt

41、ructure);GPIO_PinRemapConfig(GPIO_Remap_TIM4,ENABLE);void Timer4OutDisable(void)GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStructure.GPIO_Mode = GPIO_Mode

42、_IPD; GPIO_Init(GPIOD, &GPIO_InitStructure);void Timer4Start(void)TIM_Cmd(TIM4, ENABLE);void Timer4Stop(void)TIM_Cmd(TIM4, DISABLE);/播放歌曲void PlayMusicFile(unsigned int DataNumber,unsigned char* p,unsigned char UnitTime)unsigned int i = 0;unsigned int PlayWord;for(i=0;iDataNumber;i+)if(LI35_out()=2|

43、LI35_out()=4|LI35_out()=1)break;elseswitch (*p)case 0x11:PlayWord = MusicDataD0; break;case 0x12:PlayWord = MusicDataD1; break;case 0x13:PlayWord = MusicDataD2; break;case 0x14:PlayWord = MusicDataD3; break;case 0x15:PlayWord = MusicDataD4; break;case 0x16:PlayWord = MusicDataD5; break;case 0x17:Pla

44、yWord = MusicDataD6; break;case 0x21:PlayWord = MusicData0; break;case 0x22:PlayWord = MusicData1; break;case 0x23:PlayWord = MusicData2; break;case 0x24:PlayWord = MusicData3; break;case 0x25:PlayWord = MusicData4; break;case 0x26:PlayWord = MusicData5; break;case 0x27:PlayWord = MusicData6;break;c

45、ase 0x31:PlayWord = MusicDataG0;break;case 0x32:PlayWord = MusicDataG1;break;case 0x33:PlayWord = MusicDataG2;break;case 0x34:PlayWord = MusicDataG3;break;case 0x35:PlayWord = MusicDataG4;break;case 0x36:PlayWord = MusicDataG5;break;case 0x37:PlayWord = MusicDataG6;break;default:PlayWord = 0;/表示無聲音

46、break;if(*p = 0x17)Led0Pink();else if(*p = 0x27)Led1Pink();else if(*p 3)index_mp3=0;void beep(void) int i=0;NVIC_Configuration(); / 中斷配置Timer4Init();LED_GPIOInit();Timer4Start();/DelayMs(500);WriteData(0,0,132,0,8,0);/清屏while(1)switch(index_mp3)case 0:WriteData(0,0,132,0,8,0);/清屏PrintStringLocate(St

47、art,Ascii8x16,0x04,0x00);PrintStringLocate(TWO TIGER -,Ascii8x16,0x04,0x00);DelayMs(500);PlayMusicFile(sizeof(TwoTiger),(unsigned char*) TwoTiger,100);Timer4OutDisable();break;case 1:WriteData(0,0,132,0,8,0);/清屏PrintStringLocate(Start,Ascii8x16,0x04,0x00);PrintStringLocate(CoolestEnthic -,Ascii8x16,

48、0x04,0x00);DelayMs(500);char*)PlayMusicFile(sizeof(CoolestEnthic),(unsignedCoolestEnthic,100);Timer4OutDisable();break;case 2:WriteData(0,0,132,0,8,0);/清屏PrintStringLocate(Start,Ascii8x16,0x04,0x00);PrintStringLocate(GuoGe -,Ascii8x16,0x04,0x00);DelayMs(500);PlayMusicFile(sizeof(GuoGe),(unsigned char*) GuoGe,100);Timer4OutDisable();break;case 3:PrintStringLocate(Music Start,Ascii8x16,0x04,0x00);WriteData(0,0,132,0,8,0);/清屏PrintStringLocate(Baji

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論