- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
西安邮电大学
嵌入式系统设计实验报告
专 业 班 级 学 号 学生姓名 指导教师 学 期 2013-2014学年第2学期 完成日期 2014-06-25
基于lpc2131的模拟MP3播放器实验
实验目的
熟悉ARM ADS V1.2 的环境
理解LPC2131芯片引脚功能的选择
理解GPIO的使用设置、输入驱动方法
理解PWM的通信原理,学习ARM PWM资源的通信编程
学习在LPC2131上移植ucosⅡ系统
实验内容及要求
(1)通过键盘输入,进入MP3播放器相应的功能选项。
(2)MP3播放器具备的功能选项为:播放、暂停、停止、音量控制、音乐下载。
(3)MP3播放器响应进入各功能状态时,蜂鸣器蜂鸣。
(4)流水灯表示MP3播放器当前所处的功能状态。
(5)蜂鸣器蜂鸣声音的大小代表音量的大小,音量控制状态和音乐下载状态可分别与其他3种状态同事存在。
(6)数码管数字大小表示执行MP3各功能状态的时间。
系统总体设计(总体方案及系统框图)
系统主要创建了六个任务,分别为MP3总任务、判断按键任务、播放音乐任务、控制音量任务、播放上一曲或下一曲任务及暂停或停止任务,然后启动多任务环境,通过创建的消息邮箱发送并接收消息,进而实现MP3播放的一些简单功能。
系统详细设计(模块详细设计及流程图)
系统测试(数据测试结果及分析)
通过键盘按键输入相应功能,发送到开发板,数码管和LED灯接收到数据后,数码管会自动变化到该按键号,并且相应的LED灯在数码管变化的同时会点亮。在程序运行的任何期间都可以从键盘输入相应功能,而且程序会自动判断要满足的用户的优先级。
此次试验实现了简单的基本MP3功能。
总结
通过这次课程设计,使我对以前完全陌生的ARM 软件有了初步的接触,我学到了如何在ARM中实现基本的MP3播放功能。原先我对嵌入式系统并没有很深刻的了解,在做完课程设计后,我对数码管、蜂鸣器及流水灯的结构和功能有了更进一步的了解,并且知道了一些相关函数的功能与运用,真正的把所学的东西运用到了实际中,更好的把课本知识与实际相结合,对我以后的学习有很大帮助。
附录(代码+注释)
#include config.h
#include stdlib.h
#include music.h
#define KEY1 1 16 // P0.16连接KEY1
#define KEY2 1 17 // P0.17连接KEY2
#define KEY3 1 18 // P0.18连接KEY3
#define KEY4 1 19 // P0.19连接KEY4
#define KEY5 1 20 // P0.20连接KEY5
#define KEY6 1 21 // P0.21连接KEY6
#define BEEP 1 7 // P0.7控制蜂鸣器BEEP
#define HC595_CS (1 29) //P0.29口为74HC595的片选
#define TaskStkLengh 64 //Define the Task0 stack length 定义用户任务0的堆栈长度
OS_EVENT *voice;
OS_EVENT *b_n;
OS_EVENT *p_s;
//歌曲曲谱 - 虹彩妹妹
const uint32 HCMM1[] =
{
_LA,_SO,_MI,_LA,_SO,_MI,
_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,
};
/* 歌曲节拍 */
const uint32 HCMM_L1[] =
{
_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,
};
// 歌曲曲谱 - 倩女幽魂
const uint32 HCMM2[] =
{
_LA, _SO, _MI, _MI,
_MI, _RE, _DO, _SO,
_LA, _
文档评论(0)