⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvr1600.inc

📁 凌阳16位单片机新版SACM_D10语音函数库
💻 INC
字号:
//========================================================
//	文件名称:	DVR1600.inc
//	功能描述:	DVR1600的库函数声明(汇编语言)
//	维护记录:	2006-10-16, by Qwerty
//========================================================
.IFNDEF __DVR1600_INC__
.DEFINE __DVR1600_INC__

//======================================================
// 函数名称:	F_SACM_DVR1600_Initial
// 实现功能:   开始DVR1600语音播放
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Initial

//======================================================
// 函数名称:	F_SACM_DVR1600_Play
// 实现功能:   开始DVR1600语音播放
// 入口参数:	R1:	待播放的语音资源序号
//				R2:	语音输出的DAC通道。
//					1 - DAC1
//					2 - DAC2
//					3 - DAC1+DAC2
//				R3:	是否在播放起始和结束时采取渐入渐出方式
//					0 - 不采取渐入渐出方式
//					1 - 播放起始时采取渐入方式
//					2 - 播放结束时采取渐出方式
//					3 - 播放起始时采取渐入方式,播放结束时采取渐出方式
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Play

//======================================================
// 函数名称:	F_SACM_DVR1600_Rec
// 实现功能:   开始DVR1600录音
// 入口参数:	R1:	用户自定义参数(例如录制语音的段序号),该参数将传递至_USER_DVR1600_SaveResource_Init函数
//				R2:	语音压缩编码之后的码率
//					0 - 10Kbit/s
//					1 - 12Kbit/s
//					2 - 14Kbit/s
//					3 - 16Kbit/s
//					4 - 20Kbit/s
//					5 - 24Kbit/s
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Rec

//======================================================
// 函数名称:	F_SACM_DVR1600_Stop
// 实现功能:   停止DVR1600录音或放音
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Stop

//======================================================
// 函数名称:	F_SACM_DVR1600_Pause
// 实现功能:   暂停录制或播放,可以通过F_SACM_DVR1600_Resume函数恢复
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Pause

//======================================================
// 函数名称:	F_SACM_DVR1600_Resume
// 实现功能:   恢复被暂停的录制或播放操作
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Resume

//======================================================
// 函数名称:	F_SACM_DVR1600_Volume
// 实现功能:   设定DVR1600的播放音量
// 入口参数:	R1:	音量等级,范围0~15,默认为8。
//					该参数为0则无声音输出,为15则以最大音量输出
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Volume

//======================================================
// 函数名称:	F_SACM_DVR1600_DAC_FIRType
// 实现功能:   设定DAC输出的滤波方式
// 入口参数:	R1:	输出滤波方式代码,范围0~3。
//					0 - 不进行滤波,解码后以8KHz采样率直接输出
//					1 - 不进行滤波,以二倍采样率(16KHz)插值输出
//					2 - 以二倍采样率(16KHz)进行简易滤波输出
//					3 - 以二倍采样率(16KHz)进行复杂滤波输出
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_DAC_FIRType

//======================================================
// 函数名称:	F_SACM_DVR1600_ADC_FIRType
// 实现功能:   设定ADC输入的滤波方式
// 入口参数:	R1:	输入滤波方式代码,范围0~2。
//					0 - 不进行滤波,以8KHz采样后直接编码
//					1 - 以二倍采样率(16KHz)采样滤波后再进行编码
//					2 - 以四倍采样率(32KHz)采样滤波后再进行编码
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_ADC_FIRType

//======================================================
// 函数名称:	F_SACM_DVR1600_ServiceLoop
// 实现功能:   执行DVR1600解码或编码操作
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_ServiceLoop

//======================================================
// 函数名称:	F_SACM_DVR1600_ISR
// 实现功能:   DVR1600中断服务,应在Timer中断服务程序中执行该函数
// 入口参数:	无
// 出口参数:	无
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_ISR

//======================================================
// 函数名称:	F_SACM_DVR1600_ISR
// 实现功能:   获取当前DVR1600录放音的状态
// 入口参数:	无
// 出口参数:	R1:	DVR1600录放音状态编码
//					bit0 - 1:当前处于录/放音状态;0:当前不处于录/放音状态
//					bit1 - 1:录音状态;0:放音状态
//					bit2 - 1:录放音暂停状态;0:正常状态
//					bit3 - 1:播放时可通过DAC1输出;0:播放时不通过DAC1输出
//					bit4 - 1:播放时可通过DAC2输出;0:播放时不通过DAC2输出
//					bit5 - 1:播放起始时采取渐入方式;0:播放起始时不采取渐入方式
//					bit6 - 1:播放结束时采取渐出方式;0:播放结束时不采取渐出方式
//					bit7~bit14 - 保留
//					bit15 - 放音时,如果当前处于输出缓冲区欠载状态(不能及时进行解码)则该位为1
//							录音时,如果当前处于输入缓冲区溢出状态(不能及时进行压缩编码)则该位为1
// 破坏寄存器:	无
//======================================================
.EXTERNAL F_SACM_DVR1600_Status


//=========================================================================
//	助记符定义
//=========================================================================
.IFNDEF _SACM_API_CONSTANTS_
.DEFINE _SACM_API_CONSTANTS_

.DEFINE	DAC_1			1
.DEFINE	DAC_2			2

.DEFINE RAMP_NONE		0
.DEFINE RAMP_UP			1
.DEFINE RAMP_DN			2
.DEFINE RAMP_UP_DN		3

.DEFINE BITRATE_10K		0				// DVR1600 Only
.DEFINE BITRATE_12K		1				// DVR1600 Only
.DEFINE BITRATE_14K		2				// DVR1600 Only
.DEFINE BITRATE_16K		3				// DVR1600 Only
.DEFINE BITRATE_20K		4				// DVR1600 Only
.DEFINE BITRATE_24K		5				// DVR1600 Only

.DEFINE DAC_FIRTYPE_0	0
.DEFINE DAC_FIRTYPE_1	1
.DEFINE DAC_FIRTYPE_2	2
.DEFINE DAC_FIRTYPE_3	3

.DEFINE ADC_FIRTYPE_0	0				// DVR1600 Only
.DEFINE ADC_FIRTYPE_1	1				// DVR1600 Only
.DEFINE ADC_FIRTYPE_2	2				// DVR1600 Only

.DEFINE STATUS_PLAY		0x0001
.DEFINE STATUS_RECORD	0x0002			// DVR1600 Only
.DEFINE STATUS_PAUSE	0x0004
.DEFINE STATUS_DAC1		0x0008
.DEFINE STATUS_DAC2		0x0010
.DEFINE STATUS_RAMPUP	0x0020
.DEFINE STATUS_RAMPDN	0x0040
.DEFINE STATUS_OVERFLOW	0x8000

.ENDIF
.ENDIF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -