单片机实验报告:简易复读机的设计与实现

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验名称简易复读机的设计与实现

课程名称单片机原理机应用

院系部:电气与电子工程学院专业班级:电子0601学生姓名:赵峰学号:1061230128同组人:无实验台号:

指导教师:梁光胜成绩:

实验日期:2008 年 11月 18 日

华北电力大学

一、实验目的及要求

以凌阳单片机简易61板为主体,设计并制作一台简易复读机。

二、仪器用具

装有μ’nSP ™ IDE 仿真环境的PC 机一台、μ’nSP ™十六位单片机实验箱一个、示波器一台。

三、实验原理

四、实验方法与步骤:

结合“61板”的三个按键完成简易录音、停止和播放功能:

1、KEY1--录音

2、KEY2--停止

3、KEY3--播放

要求播放时能够循环播放。

五、实验结果与数据处理:

复读机结构:

2.程序流程图

2

六、讨论与结论

程序根据按键执行不同程序,当按下“录音”键,则先擦除flash中的内容,修改状态为“录音”,进行录音的初始化。

按下“停止”键,如果当前正在录音,停止录音,把编码队列中待写入的数据写入flash,如果当前正在播放,停止,修改状态为“停止”。

按下“播放”键,判断状态若正在录音,停止,写入数据,写入完成修改状态为“播放”,再进行播放初始化:选择播放地址,读出flash中的数据到译码队列。

以上只完成状态的修改过程,只是执行操作的初始化。真正执行时,判断状态进入不同的执行程序。若状态为“录音”,开始编码,并写入flash。

若为“停止”状态,不进行任何操作。

“播放“状态,若播放未停止,继续读数据填入译码队列;若播放已结束,停止。解码

器从队列取数据进行解码,通过中断服务程序送入DAC通道播放。

通过本实验,本人对复杂程序的理解有了进一步的提高,对单片机有了进一步的了解。对日后的学习,帮助挺大。

实验改进:循环播放

if(SACM_DVR_Status()&0x01) //是否正在播放第0位bit0=1,正在播放中

{

if(SACM_DVR_TestQueue() != Full) //队列不满,满了则入不了队列了

{

Ret=F_FlashRead(Addr); //读出flash中的数据

SACM_DVR_FillQueue(Ret); // 填队列,队列中数据等待播放

Addr += 1;

}

}

删除 else //播放结束

{

SACM_DVR_Stop();

Status = Stop;}

相关文档
最新文档