




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、生产实习报告基于STM32勺播放器设计- 概述(1)使用STM3编写代码送至蜂鸣器中,实现简易的播放器功能(2)通过使用时钟芯片,可以显示出当前的时间日期(3)可以通过重力感应完成上下一曲。(4)开机时有开机动画。(5)完成完整的电路设计原理图及软件源代码。二总体设计框图液晶显示MCU蜂鸣器小组分工:总体设计:由组长郑健师完成。时间模块:张春蕾、张宁、张道永。重力感应模块:宗瑞、张正阳、金以俊、司良振。开机动画模块:王丹阳、张金凤、宋加伟。三、关键模块设计1、重力模块设计:在播放音乐时,可以通过改变ARM5的重心来进行歌曲的前一首和后一首的 切换.实现方法:在每次播放音符的时候检测是否有重力偏
2、转的大幅度改变,如果有,则停止播放当前歌曲,进去上下曲的播放。此外软件还设有重力感应锁定模块,只需要将开关 1打上就可以实现2、时间显示:这个模块主要是通过例程实验代码实现的。具体的就是读取时钟芯片的数据,然后显示在OLEDt面。3、开机显示:读取汉字“欢迎光临”程序没执行一次,改变显示的位置,从而实现了文字 在动的效果四.测试结果通过我们这两个星期的努力,我们的任务基本实现了,我们通过蜂鸣器来实现播放,通过重力感应来完成下一曲上一曲的播放和功能选择,还有就是开机动画也完成了预期的效果。五.总结我们经过了两个星期的共同合作,我们从一点也不懂,到对基板有了比较理性的认识,再到完成了基本的设计,实
3、现了基本的功能,团队协作精神也得 到了提高。我们从中收获了很多。六.关健程序代码主程序的菜单显示模块: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) 联比居哥(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重力感应实现的基
7、本原理:重力传感器是将运动或重力转换为电信号的传感器,主要用于倾斜角、惯性力、 冲击及震动等参数的测量。在测量平台倾斜角时,将重力传感器垂直放置于在所测平 台上,重力传感器的敏感轴应与倾斜平台的轴向一致,在水平状态下应与水平面平行。其中a为平台沿某一方向的倾斜角。重力传感器的质量块由于受到重力加速度g在倾斜方向上的分量g : g = g sin 的作用产生偏移,使重力传感器的输出电 压发生变化。若重力传感器在水平状态下的输出为 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根据这两个方向上的倾斜角可以确定出平台的横向倾角和纵向倾角。图1角度传感器2时间模块是如何实现: 实现原理图八关健程序代码主程序 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,/*- 文字 : 统 -*/*-宋体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();/设置系统时钟#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;/音乐数据格式:/0x110x17 表示低音17/0x210x27 表示中音17/0x310x37 表示高音17/0表示静音/ 每个音后面数据表示该音为多少个时间单位: 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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 银行网点业务运营流程规范
- 劳动教育引导大学生就业观念的塑造与提升
- 在线教育培训服务合同协议书版
- 供水管线完善工程实施方案(范文模板)
- 我的梦想与努力抒情文(5篇)
- 石油工程专业知识重点
- 音乐制作与录音工程教程
- 企业宣传印刷品制作合同协议
- 国际商务管理与跨文化交流试题集
- 建筑工程材料知识考核
- 酱料生产知识培训课件模板
- 药品网络销售监督管理办法培训
- 天车轨道梁加固安全施工方案
- 脱发介绍演示培训课件
- 初中物理教材插图原理集锦(回归教材)
- 肠梗阻护理查房(小肠减压管的应用)
- 2024届辽宁省沈阳市东北育才校中考冲刺卷物理试题含解析
- 抗菌药物合理应用
- 初中体育篮球双手胸前传接球教案
- 中建盘扣式落地卸料平台施工方案
- 配电网技术标准(施工验收分册)
评论
0/150
提交评论