紅外測溫計的設(shè)計
本軟件系統(tǒng)設(shè)計簡單。主要是因為凌陽的十六位單片機(jī)開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調(diào)用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實現(xiàn)語音的播放。本系統(tǒng)采用S480壓縮格式,該壓縮算法壓縮比較大80:3, 存儲容量大,音質(zhì)介于A2000和S240之間,適用于語音播放。例如播放部分代碼如下:
本文引用地址:http://www.ex-cimer.com/article/276154.htm其相關(guān)API函數(shù)如下所示:
int SACM_S480_Initial(int Init_Index) //初始化
void SACM_ S480_ServiceLoop(void) //獲取語音資料,填入譯碼隊列
void SACM_ S480_Play(int Speech_Index, int Channel, int Ramp_Set) //播放
void SACM_ S480_Stop(void) //停止播放
void SACM_S480_Pause (void) //暫停播放
void SACM_S480_Resume(void) //暫停后恢復(fù)
void SACM_S480_Volume(Volume_Index) //音量的控制
unsigned int SACM_S480_Status(void) //獲取模塊的狀態(tài)
Call F_FIQ_Service_ SACM_S480 //中斷服務(wù)函數(shù)
各函數(shù)具體內(nèi)容如下:
1)【API格式】
C:int SACM_S480_Initial(int Init_Index)
ASM:R1=[ Init_Index]
Call F_ SACM_ S480_Initial
【功能說明】SACM_S480語音播放之前的初始化。
【參 數(shù)】Init_Index=0 表示手動方式;Init_Index=1 則表示自動方式。
【返 回 值】
0:代表語音模塊初始化失敗
1:代表初始化成功。
【備 注】該函數(shù)用于對定時器、中斷和DAC等的初始化。
2) 【API格式】
C:void SACM_S480_ServiceLoop(void)
ASM:Call F_ SACM_S480_ServiceLoop
【功能說明】從資源中獲取SACM_S480語音資料,并將其填入解碼隊列中。
【參 數(shù)】無。
【返 回 值】無。
【備 注】播放語音文件中數(shù)據(jù),當(dāng)出現(xiàn)FF FF FFH數(shù)據(jù)時便停止播放。
3) 【API格式】
C:int SACM_S480_Play(int Speech_Index, int Channel, int Ramp_Set);
ASM:R1=[ Speech _Index]
R2=[ Channel]
R3=[ Ramp_Set]
Call SACM_S480_Play
【功能說明】播放資源中SACM_S480語音。
【參 數(shù)】Speech _Index 表示語音索引號。
Channel: 1.通過DAC1通道播放; 2.通過DAC2通道播放; 3.通過DAC1和 DAC2雙通道播放。
Ramp_Set:0.禁止音量增/減調(diào)節(jié); 1.僅允許音量增調(diào)節(jié); 2.僅允許音量減調(diào) 節(jié); 3.允許音量增/減調(diào)節(jié)。
【返 回 值】無。
【備 注】
?、?SACM_S480的數(shù)據(jù)率有4.8Kbps7.2Kbps三種,可在同一模塊的幾種算法中自動選擇一種。
?、赟peech_Index是定義在resource.inc文件中資源表(T_SACM_S480_SpeechTable)的偏移地址。
?、?中斷服務(wù)子程序中F_FIQ_Service_ SACM_S480必須放在TMA_FIQ中斷向量上(參見SPCE的中斷系統(tǒng))。
?、芎瘮?shù)允許TimerA以所選的的數(shù)據(jù)采樣率(計數(shù)溢出)中斷。
c語言相關(guān)文章:c語言教程
傳感器相關(guān)文章:傳感器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 紅外熱像儀相關(guān)文章:紅外熱像儀原理 熱像儀相關(guān)文章:熱像儀原理
評論