资源简介
适用于凌阳单片机精简板、开发板的录音程序。采用c语言编写。最长录音时间20秒。
代码片段和文件信息
//*********************************************************//
//名称:“复读机“
//描述:结合“61板“的三个按键完成简易完成录音、停止和播放功能:
// 1、KEY1--录音
// 2、KEY2--停止
// 3、KEY3--播放
// 最长录20秒
//日期:2003/5/16
//*********************************************************//
#include “hardware.h“
#include “dvr.h“
#define C_flashSize 0xf000
#define sector 0xa000 //定义FLASH写的起始地址
#define Stop 0
#define Record 1
#define Play 2
#define Full 1
#define Empty 2
#define DAC1 1
#define DAC2 2
#define RceMonitorOff 0
#define RceMonitorOn 1
#define Manual 0
#define Auto 1
unsigned int Status;
unsigned int Ret;
unsigned int Key;
unsigned int Addr Save_Addr;
//*********************************************************//
//函数:main()
//描述:主函数
//*********************************************************//
int main()
{
System_Initial();
SACM_DVR_Initial(Manual);
Status = Stop;
while(1)
{
Key = SP_GetCh(); //获取键值
switch(Key)
{
case 0x0001: //KEY1
//**********************录音(record)***********************//
//*********************************************************//
for(Addr=sector;Addr<0xf000;Addr+=256)
{
Clear_WatchDog();
F_FlashErase(Addr);
}
Status = Record;
Addr=sector;
// DVR初始化
SACM_DVR_InitQueue();
SACM_DVR_InitEncoder(RceMonitorOn);
break;
case 0x0002: // KEY2
//**********************停止(stop)*************************//
//*********************************************************//
switch(Status)
{
case Record: // 仍在录音
SACM_DVR_Stop();
while(SACM_DVR_TestQueue() != Empty )
{
Ret = SACM_DVR_FetchQueue();// 从队列中取数
F_FlashWrite1Word(AddrRet);
Addr += 1;
}
break;
case Play:
SACM_DVR_Stop();
break;
default:
break;
}
Status = Stop;
break;
case 0x0004: //KEY3
//************************回放(playback)*******************//
//*********************************************************//
SACM_DVR_Stop();
if(Status == Record)
{
while(SACM_DVR_TestQueue() != Empty)
{
Ret = SACM_DVR_FetchQueue();// Put remain dat to Queue
F_FlashWrite1Word(AddrRet);// save to User Storage
Addr+= 1;
}
}
// Save_Addr=Addr;
Status = Play;
Addr = sector; //播放的首地址
SACM_DVR_InitQueue();
while(SACM_DVR_TestQueue() != Full) //如果队列不满则继续填
{
Ret=F_FlashRead(Addr); //从flash中读出数据
SACM_DVR_FillQueue(Ret); //填队列
Addr+= 1;
}
SACM_DVR_InitDecoder(DAC1+DAC2);
break;
default:
break;
}
//************************状态判断处理*********************//
//*****************
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2005-11-28 10:27 Record
文件 1849 2003-05-16 14:02 Record\system.asm
文件 294 2001-02-12 18:49 Record\system.inc
文件 3505 2005-11-28 10:25 Record\Record.spj
文件 22016 2003-03-28 21:28 Record\Addr.xls
文件 3072 2005-11-28 10:26 Record\Device.env
文件 1301 2001-12-03 15:45 Record\dvr.h
文件 1269 2001-12-04 11:01 Record\dvr.inc
文件 2635 2003-05-16 15:16 Record\Flash.asm
文件 28366 2003-04-25 00:25 Record\hardware.asm
文件 6167 2001-05-28 20:10 Record\hardware.h
文件 10242 2001-12-18 17:20 Record\hardware.inc
文件 587 2003-05-16 11:14 Record\isr.asm
文件 3688 2003-05-16 11:10 Record\key.asm
文件 18 2001-05-23 11:02 Record\key.h
文件 547 2001-05-23 11:41 Record\key.inc
文件 4749 2003-05-16 15:44 Record\main.c
文件 3901 2005-11-28 10:25 Record\Makefile
文件 44 2003-05-16 15:45 Record\PWM.WAV
文件 1030 2005-11-28 10:26 Record\Record.env
文件 76 2000-11-22 11:15 Record\Record.h
文件 1814 2005-11-28 10:26 Record\Record.lik
文件 308 2005-11-28 10:26 Record\Record.opt
文件 84 2005-11-28 10:25 Record\Record.rc
文件 1553 2005-11-28 10:25 Record\Record.scs
文件 720 2005-11-28 10:25 Record\Record.set
文件 131 2005-11-28 10:25 Record\Resource.asm
文件 80 2001-02-16 16:14 Record\Resource.h
文件 114 2005-11-28 10:25 Record\Resource.inc
文件 243880 2002-04-10 15:07 Record\sacmv26e.lib
............此处省略6个文件信息
- 上一篇:用c语言编写的一个中国象棋
- 下一篇:操作系统实验——spooling技术
相关资源
- MSP430单片机秒表程序完整 完整C语言代
- 52单片机打地鼠游戏
- 基于51单片机的汉字滚动显示
- 51单片机实现8个流水灯
- 单片机旋钮电位器控制电机速度
- 关于蓝桥杯单片机设计与开发项目模
- 基于51单片机的智能晾衣架
- at89c51单片机产生5KHZ方波c语言编程
- STM32系列单片机C语言编程语法指导
- IAR for ARM IAR5.4版本
- 单片机控制按键播放音乐
- C++实现音频录音wav格式
- 基于单片机的银行排队叫号系统的设
- 51单片机直流电机控制C语言代码.rar
- 纯C语言+libalsa实现最简单录音程序
- 基于单片机的数字时钟设计与实现p
- 51单片机实现CRC校验
- 单片机C语言,Proteus仿真,多功能闹钟
- 51单片机电子琴
- 基于51单片机的家庭安全防火防盗系统
- 扫描点阵式LED屏PIC单片机 附程序 原理
- ADS1115的51单片机驱动
- C++PCM音频格式录音双缓存MFC版本
- 单片机制作电池容量测试程序
- 基于单片机的智能计算器
- 单片机课程设计-自行车里程计速度计
- 函数信号发生器c语言
- 51单片机用C语言取出奇偶校验位
- 旋转编码开关C语言单片机开发
- IIC C语言编程实现单片机与存储器的数
评论
共有 条评论