亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main.c

?? 凌陽單片機的錄音,方音程序,用c語言邊的,可用性強.
?? C
字號:
//======================================================
//	The information contained herein is the exclusive property of
//	Sunnnorth Technology Co. And shall not be distributed, reproduced,
//	or disclosed in whole in part without prior written permission.
//	(C) COPYRIGHT 2003  SUNNORTH TECHNOLOGY CO.
//	ALL RIGHTS RESERVED
//	The entire notice above must be reproduced on all authorized copies.
//========================================================
//============================================================
//	工程名稱:	SD_Recording_Demo
//	功能描述:	61板與SD卡相連
//				按下Key3鍵開始錄音,再次按下停止錄音
//				支持多段錄音,Key2為播放上一曲,Key1為播放下一曲
//				長按Key1停止播放,長按Key2擦除錄音
//	涉及的庫:	CMacro.lib
//				clib.lib
//            	SACM_DVR1600_V40a.lib
//				SDDriver_061A.lib
//	組成文件:	main.c,
//				.\DVRSystem\sacmv40.asm, .\DVRSystem\sacmv40.h, .\DVRSystem\sacmv40.inc, sacm_DVR1600_user.asm,
//				.\DVRSystem\spce.inc, .\DVRSystem\PlaySnd.c, .\DVRSystem\PlaySnd.h,
//
//				.\Driver\SD\SD_Hardware.asm, .\Driver\SD\SD_CFG.inc, .\Driver\SD\SD_Hardware.h,
//
//				.\Driver\KEY\DvrKEY.c, .\Driver\KEY\DvrKEY.h, .\Driver\KEY\KEY.c, .\Driver\KEY\KEY.h,
//
//				.\FS\FS.c, .\FS\FS.h,
//
//				.\System\SetInterruptStatus.asm, .\System\SetInterruptStatus.h, .\System\ISR.asm
//	硬件連接:	將SD卡座模組插接到61板的IOB口的低八位
//	維護記錄:	2006-9-18 v1.0
//===============================================
#include "SD_Recording_Demo.h"
#include ".\Driver\SD\SD_Driver.h"
#include ".\FS\fs.h"
#include ".\DVRSystem\sacmV40.h"
#include ".\DVRSystem\PlaySnd.h"
#include ".\System\SetInterruptStatus.h"
#include ".\Driver\KEY\Key.h"

#define ADC_Channel Mic		 				// 0~7 (Mic, Line_In1 ~ Line_In6)

void KeyProcess();
void StatusProcess();

SysStatus Status;							//	系統狀態,SysStatus定義在SDDVR.h中

int SpeechIndex;

int WriteProtect;
//=============================================================
// 語法格式:	int main(void)
// 實現功能:	主函數
// 參數:		無
// 返回值:		無
//=============================================================
int main()
{
	SpeechIndex = 0;
	WriteProtect = 0;
	Status = IDLE;

	DrvKeyInit();
	SD_IOInit();
	SetINTStatus(C_IRQ5_2Hz);
	SetINTStatus(C_IRQ4_1KHz);
	__asm("IRQ ON");
	SACM_DVR1600_Initial();					//	語音初始化
	if(0 == SD_ChkCard())
	{										//	檢測卡是否插入
		PlaySnd(VOICE_ATTENTION, DAC1 + DAC2);
		PlaySnd(VOICE_SDCARDNOTINSERT, DAC1 + DAC2);
		while(0 == SD_ChkCard());			//	等待卡插入
	}
	if(1 == SD_ChkCardWP())					//	檢測卡是否有寫保護
	{
		WriteProtect = 1;
		PlaySnd(VOICE_ATTENTION, DAC1 + DAC2);
		PlaySnd(VOICE_SDCARDWRITEPROTECT, DAC1 + DAC2);
	}
	else
	{
		FS_Init();							//	沒有寫保護,執行初始化操作
		PlaySnd(VOICE_READY, DAC1 + DAC2);
	}
	//-----------------------------------------------------------------
	while(1)
	{
		KeyProcess();						//	按鍵處理
		StatusProcess();					//	系統狀態處理
		SACM_DVR1600_ServiceLoop();			//	錄/放音服務
	}
   	return 0;
}

//=============================================================
// 語法格式:	int StatusProcess(void)
// 實現功能:	系統狀態處理函數
// 參數:		無
// 返回值:		無
//=============================================================
void StatusProcess()
{
	switch(Status)
	{
		case RECORD:
			if(FS_GetUnusedSecNum() < 1)	//	檢測是否超出SD卡容量范圍
			{
				SACM_DVR1600_Stop();	    
				Status = IDLE;
			}
			break;
		case PLAY:
			if(FS_CheckFileEnd())			//	檢測當前語音是否播放完畢
			{
				SACM_DVR1600_Stop();
				FS_CloseOpenFile();
				Status = IDLE;
			}
//		case IDLE:
		default:
			break;
	}
}
//=============================================================
// 語法格式:	int KeyProcess(void)
// 實現功能:	按鍵處理函數
// 參數:		無
// 返回值:		無
//=============================================================
void KeyProcess()
{
	unsigned int Key, KeyType;
	Key = KeyScan_GetKey(&KeyType);
	if(1 == WriteProtect)					//	卡有寫保護,拒絕按鍵操作
	{
		if((C_SReleaseKeyState == KeyType) || (C_LReleaseKeyState == KeyType))
		{
			PlaySnd(VOICE_SDCARDWRITEPROTECT, DAC1 + DAC2);
		}
		return;
	}
	switch(Key)
	{	
		case C_Record:  					// Record
			if(C_SReleaseKeyState == KeyType)
			{								//	短按鍵,錄/放音控制
				if(PLAY == Status)
				{
					SACM_DVR1600_Stop();	//	如果正在放音,則先停止播放
					FS_CloseOpenFile();
					Status = IDLE;
				}
				if(IDLE == Status)
				{
					if((g_FileNum >= FS_MAX_FILENUM) || (FS_GetUnusedSecNum() <= 0))
					{						//	文件已滿,退出
						PlaySnd(VOICE_DANG, DAC1 + DAC2);
						break;
					}
					PlaySnd(VOICE_START, DAC1 + DAC2);
					FS_CreatFile();
					FS_WriteFile(0);		//	為語音長度跳過兩個word
					FS_WriteFile(0);
					SACM_DVR1600_Rec(RceMonitorOff, ADC_Channel, BIT_RATE_24K);
					Status = RECORD;
				}
				else if(RECORD == Status)
				{
					SACM_DVR1600_Stop();
					while(RECORD == Status)	//	等待完成錄音收尾工作
						SACM_DVR1600_ServiceLoop();
					PlaySnd(VOICE_OVER, DAC1 + DAC2);
					SpeechIndex = g_FileNum - 1;
				}
			}
			break;
		case C_Prev:						// Play Prev
			if((C_SReleaseKeyState != KeyType) && (C_LReleaseKeyState != KeyType))
				break;
			if(g_FileNum > 0)
			{
				if(PLAY == Status)			//	如果正在放音,則先停止播放
				{
					SACM_DVR1600_Stop();
					FS_CloseOpenFile();
				}
				else if(RECORD == Status)	//	如果正在錄音則不處理
				{
					break;
				}
				if(C_LReleaseKeyState == KeyType)
				{							//	長按鍵,擦除所有語音段
					FS_Init();
					PlaySnd(VOICE_SDCARDERASED, DAC1 + DAC2);
					Status = IDLE;
					break;
				}
				else if(C_SReleaseKeyState == KeyType)
				{							//	短按鍵,播放上一曲
					if(--SpeechIndex <= 0)
					{
						SpeechIndex = g_FileNum;
					}
					FS_OpenFile(SpeechIndex);
					SACM_DVR1600_Play(Manual_Mode_Index, DAC1 + DAC2, Ramp_Up + Ramp_Dn);
					Status = PLAY;
				}
			}
			break;
		case C_Next:						//	Play Next
			if((C_SReleaseKeyState != KeyType) && (C_LReleaseKeyState != KeyType))
				break;
			if(g_FileNum > 0)
			{
				if(PLAY == Status)			//	如果正在放音,則先停止播放
				{
					SACM_DVR1600_Stop();
					FS_CloseOpenFile();
				}
				else if(RECORD == Status)	//	如果正在錄音則不處理
				{
					break;
				}
				if(C_LReleaseKeyState == KeyType)
				{							//	長按鍵,停止當前播放
					Status = IDLE;
					break;
				}
				else if(C_SReleaseKeyState == KeyType)
				{							//	短按鍵,播放下一曲
					if(++SpeechIndex > g_FileNum)
					{
						SpeechIndex = 1;
					}
					FS_OpenFile(SpeechIndex);
					SACM_DVR1600_Play(Manual_Mode_Index, DAC1 + DAC2, Ramp_Up + Ramp_Dn);
					Status = PLAY;
				}
			}
			break;
		default:
			break;
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97久久精品人人澡人人爽| 激情综合网天天干| 在线观看视频一区二区| 亚洲精品国产精品乱码不99| 日本精品一区二区三区四区的功能| 日韩伦理免费电影| 色呦呦国产精品| 一级做a爱片久久| 欧美电影在哪看比较好| 日本大胆欧美人术艺术动态 | 成人avav影音| 国产精品久久久久aaaa| 91国在线观看| 蜜桃精品视频在线观看| 久久九九99视频| 91麻豆视频网站| 亚洲bdsm女犯bdsm网站| 精品国产乱码久久| 不卡免费追剧大全电视剧网站| 亚洲欧美另类综合偷拍| 欧美片在线播放| 国产精品香蕉一区二区三区| 国产精品高潮久久久久无| 在线看国产日韩| 美女视频黄 久久| 亚洲欧洲另类国产综合| 欧美三电影在线| 国产精品一线二线三线精华| 一区二区三区四区蜜桃| 日韩一区国产二区欧美三区| 国产精品综合网| 亚洲电影在线播放| 久久精品人人做人人综合| 91免费观看视频| 九色综合狠狠综合久久| 中文字幕一区二区三区在线播放 | 成人18视频在线播放| 亚洲电影你懂得| 久久九九国产精品| 精品视频资源站| 成+人+亚洲+综合天堂| 天堂久久久久va久久久久| 久久久久成人黄色影片| 欧美日韩国产综合草草| 成人国产免费视频| 精品一区二区三区在线观看国产| 亚洲视频一区在线| 久久奇米777| 欧美人妇做爰xxxⅹ性高电影| 国产成人99久久亚洲综合精品| 香蕉成人啪国产精品视频综合网| 中文字幕亚洲综合久久菠萝蜜| 日韩一级片在线观看| 在线免费一区三区| 国产成人精品免费一区二区| 奇米色777欧美一区二区| 亚洲综合视频在线| 国产精品乱人伦一区二区| 日韩欧美一级二级三级久久久| 一本大道久久a久久综合婷婷| 国产一区在线视频| 日韩国产精品久久久久久亚洲| 亚洲日本免费电影| 国产精品污网站| 国产欧美日韩精品一区| 精品国产精品网麻豆系列| 欧美高清一级片在线| 91精品1区2区| 欧美性做爰猛烈叫床潮| 色偷偷88欧美精品久久久| av一区二区三区| 成人18视频日本| 不卡的电影网站| 成人黄色电影在线 | 日韩三级电影网址| 欧美福利一区二区| 欧美日韩一二区| 欧美日本不卡视频| 91精品国产综合久久精品app| 色视频一区二区| 91成人免费网站| 欧美日韩综合在线免费观看| 在线视频国内一区二区| 欧美午夜免费电影| 欧美喷潮久久久xxxxx| 欧美日韩国产片| 欧美性色欧美a在线播放| 欧美日韩国产经典色站一区二区三区| 欧美羞羞免费网站| 91精品国产麻豆| 精品国产百合女同互慰| 久久久777精品电影网影网 | 日韩在线播放一区二区| 日韩国产精品大片| 精品一区二区免费视频| 国产资源精品在线观看| 国产激情视频一区二区在线观看| 成人深夜视频在线观看| 91麻豆国产福利精品| 欧美日韩一区二区在线视频| 日韩欧美在线影院| 国产视频不卡一区| 亚洲天堂福利av| 日本欧美大码aⅴ在线播放| 国产麻豆一精品一av一免费| 成人av免费在线观看| 欧美在线免费播放| 日韩精品中文字幕一区| 久久精品人人做人人综合 | 国产日韩v精品一区二区| 国产女同性恋一区二区| 自拍偷拍国产亚洲| 亚洲国产精品精华液网站| 久久99久国产精品黄毛片色诱| 国产一区二区日韩精品| 在线中文字幕一区二区| 日韩免费看的电影| 综合欧美一区二区三区| 日韩成人免费电影| 成人性视频免费网站| 欧美性生活大片视频| 国产视频一区不卡| 亚洲网友自拍偷拍| 成人小视频在线观看| 欧美日本乱大交xxxxx| 国产精品美女久久久久久| 日韩电影在线观看一区| a亚洲天堂av| 日韩欧美一区二区视频| 一区二区三区在线观看网站| 久久er精品视频| 在线观看视频欧美| 国产欧美精品区一区二区三区 | 国产一区三区三区| 精品视频在线免费观看| 国产精品国产三级国产a| 三级欧美在线一区| 91网站最新地址| 精品国产乱码久久久久久蜜臀| 一区二区三区成人在线视频| 国产激情一区二区三区四区| 7878成人国产在线观看| 亚洲色图制服诱惑| 成人久久视频在线观看| 欧美成人伊人久久综合网| 亚洲一区二区高清| 99re视频精品| 亚洲国产精品高清| 久久99精品国产91久久来源| 欧美视频中文一区二区三区在线观看| 国产欧美视频一区二区| 蜜臀久久99精品久久久久宅男| 欧美综合一区二区| 亚洲欧洲日韩在线| 成人免费毛片app| 久久婷婷国产综合国色天香| 日韩专区欧美专区| 欧美性大战久久| 亚洲精品国产视频| 91黄色在线观看| 亚洲男人的天堂av| 成人免费毛片高清视频| 国产精品久久久99| 91日韩精品一区| 亚洲色图在线播放| 在线观看精品一区| 亚洲一区二区偷拍精品| 欧美日产在线观看| 五月天久久比比资源色| 欧美日韩一区二区三区不卡| 亚洲综合久久av| 欧美亚洲动漫制服丝袜| 亚洲国产人成综合网站| 欧美性极品少妇| 日韩av电影免费观看高清完整版 | 欧美少妇xxx| 亚洲福利一区二区三区| 欧美日韩一区中文字幕| 亚洲一区二区三区在线播放| 在线观看国产日韩| 日韩电影在线观看一区| 精品剧情在线观看| 成人做爰69片免费看网站| 中文幕一区二区三区久久蜜桃| 成人黄色电影在线 | 欧美一区2区视频在线观看| 日韩在线一区二区三区| 精品国产百合女同互慰| 成人综合婷婷国产精品久久| 亚洲欧洲日韩一区二区三区| 欧美性受xxxx黑人xyx性爽| 五月激情六月综合| 日韩一区二区在线免费观看| 激情偷乱视频一区二区三区| 中文欧美字幕免费| 欧美色综合网站| 国产一区二区三区美女| 亚洲免费看黄网站| 日韩欧美激情在线| 99久久精品国产麻豆演员表|