数码管显示模 块 蜂鸣器模块 LPC2131 PWM 串口模块
四、系统详细设计(模块详细设计及流程图)
LED显示与键盘模块
五、系统测试(数据测试结果及分析)
通过键盘按键输入相应功能,发送到开发板,数码管和LED灯接收到数据后,数码管会自动变化到该按键号,并且相应的LED灯在数码管变化的同时会点亮。在程序运行的任何期间都可以从键盘输入相应功能,而且程序会自动判断要满足的用户的优先级。 此次试验实现了简单的基本MP3功能。 六、总结
通过这次课程设计,使我对以前完全陌生的ARM 软件有了初步的接触,我学到了如何在ARM中实现基本的MP3播放功能。原先我对嵌入式系统并没有很深刻的了解,在做完课程设计后,我对数码管、蜂鸣器及流水灯的结构和功能有了更进一步的了解,并且知道了一些相关函数的功能与运用,真正的把所学的东西运用到了实际中,更好的把课本知识与实际相结合,对我以后的学习有很大帮助。 七、附录(代码+注释)
#include \#include \#include \
#define KEY1 #define KEY2 #define KEY3 #define KEY4 #define KEY5 #define KEY6
1 << 16 // P0.16连接KEY1 1 << 17 // P0.17连接KEY2 1 << 18 // P0.18连接KEY3 1 << 19 // P0.19连接KEY4 1 << 20 // P0.20连接KEY5 1 << 21 // P0.21连接KEY6
#define BEEP 1 << 7 // P0.7控制蜂鸣器BEEP
#define HC595_CS (1 << 29) //P0.29口为74HC595的片选
#define TaskStkLengh 栈长度
OS_EVENT *voice; OS_EVENT *b_n; OS_EVENT *p_s;
//歌曲曲谱 - 虹彩妹妹 const uint32 HCMM1[] = {
_LA,_SO,_MI,_LA,_SO,_MI, };
/* 歌曲节拍 */
const uint32 HCMM_L1[] = { };
// 歌曲曲谱 - 倩女幽魂 const uint32 HCMM2[] =
_4, _8, _8, _4, _8, _8, _8, _4, _8, _2, _4, _8, _8, _4, _8, _8, _8, _4, _8, _2,
_4, _8, _8, _8, _8, _8, _8, _8, _4, _8, _2, _4, _4, _4, _8, _8, _8, _4, _8, _2, _LA, _LA, _SO, _LA,
_LA, _SO, _MI, _LA, _SO, _MI, _RE, _RE, _DO, _RE,
_MI, _MI, _SO, _LA, _DO1, _LA, _SO, _MI, _MI, _SO, _DO, _MI, _MI, _MI, _MI, _MI, _1LA,_1LA,_1SO,_1LA,
64
//Define the Task0 stack length 定义用户任务0的堆
{
_LA, _SO, _MI, _MI, };
// 歌曲节拍
const uint32 HCMM_L2[] = {
_16, _16,_8, _2d, _4d, _4, _4, _8, _16, _16,_8, _2d,
_4, _4,_4d, _8, _1,
_4,_8, _8, _4d, _8, _1,
_4, _4,_4, _4,
_SO, _SO, _MI, _DO, _1LA, _RE,
_DO1, _DO1,_RE, _RE, _RE, _FA,
_DO1, _FA, _MI, _FA, _LA,
_MI,_RE, _DO, _DO1,_FA, _MI, _RE, _1TI, _1TI, _FA, _MI, _RE,_DO,
_1LA, _1SO, _1LA, _1LA, _MI, _RE, _DO, _SO, _LA, _DO, _LA, _LA,
_DO1, _DO1,_LA, _LA, _MI,
_DO1,_DO, _1TI, _DO, _1TI, _1LA,
_DO1, _DO1,_MI,_SO, _DO,_DO,_LA,
_1LA,