日本老熟妇一二三区-麻豆视频精品一区-人妻中文字幕xx-一区二区美女少妇-日本成人一级在线

  • 紅外測溫計的設(shè)計———紅外測溫計的設(shè)計

          1 引言

      去年在我國局部地區(qū)流行的SARS 前期癥狀是高燒38oC 以上(少數(shù)長期病患者除外),紅外測溫儀可為防止SARS 的擴散和傳播提供了快速、非接觸測量手段,可廣泛、有效地用于人群的體溫排查。一時紅外測溫在我國迅速紅火起來,這里介紹一種采用SPCE061A和TN系列傳感器實現(xiàn)紅外測溫的方法。

      2 芯片特性簡介

      SPCE061A是臺灣凌陽公司生產(chǎn)的性價比很高的一款十六位單片機,使用它可以非常方便的實現(xiàn)控制和語音播報的系統(tǒng),該芯片擁有8路10位精度的AD,其中1路AD為音頻轉(zhuǎn)換通道,并且內(nèi)置有自動增益電路。這為實現(xiàn)語音錄入提供了方便的硬件條件。2路10位精度的DA,只需要外接2個功放(LM386)即可完成語音的播放。另外,凌陽十六位單片機具有易學(xué)易用的效率較高的一套指令系統(tǒng)和集成開發(fā)環(huán)境。在此環(huán)境中,支持標(biāo)準(zhǔn)C語言,可以實現(xiàn)C語言與凌陽匯編語言的互相調(diào)用,并且,提供了語音錄放的庫函數(shù),只要了解庫函數(shù)的使用,就會很容易完成語音播報,這些都為軟件開發(fā)提供了方便的條件。

      3 系統(tǒng)總體方案介紹

      系統(tǒng)結(jié)構(gòu)圖如下:

      本系統(tǒng)包括按鍵部分、音頻輸出部分和TN紅外測溫傳感器接入等三部分。

      按鍵部分:按鍵開始測溫,一直按下,聽到聲音表示測溫完畢。
      音頻輸出部分:主要是將SPCE061A兩路音頻輸出端通過LM386放大,經(jīng)喇叭播放。
      TN紅外測溫傳感器接入部分:通過SPCE061A IO口的控制,將將所測得的溫度接受到SPCE061A中來處理。
      系統(tǒng)實現(xiàn)的功能:按住按鍵,聽到聲音,此時播報測得的環(huán)境溫度和目標(biāo)溫度。
      
            4 系統(tǒng)硬件設(shè)計

      紅外測溫傳感器如圖 4.1 所示。

      紅外測溫模塊與SPCE061A的接口如下:

      V-->3.3v
      D-->IOA15
      C-->IOB8
      G-->GND
      A-->按鍵-->GND
      音頻輸出部分詳細(xì)電路圖如圖4.2

      5 系統(tǒng)軟件設(shè)計

      本系統(tǒng)軟件設(shè)計流程如下:

      其中,SPCE061A讀取紅外傳感器的測量結(jié)果,是采用SPI接口進(jìn)行讀取,其中數(shù)據(jù)格式如下:

      SPI時序圖:

      一幀數(shù)據(jù)包括5Byte,每個Byte代表含義如下:

      Item “L”(4CH): 代表此幀為目標(biāo)溫度

      “f”(66H): 代表此幀為環(huán)境溫度

      MSB 8 bit Data Msb

      LSB 8 bit Data Lsb

      Sum Item+MSB+LSB=SUM

      CR 0DH,結(jié)束碼

      讀取數(shù)據(jù)流程圖如圖5.3:

      本軟件系統(tǒng)設(shè)計簡單。主要是因為凌陽的十六位單片機開發(fā)環(huán)境使用方便,并支持C語言與匯編語言的互相調(diào)用,且提供豐富的凌陽語音函數(shù)庫,只要我們了解這些函數(shù)的使用方法,我們就可以很容易的實現(xiàn)語音的播放。本系統(tǒng)采用S480壓縮格式,該壓縮算法壓縮比較大80:3, 存儲容量大,音質(zhì)介于A2000和S240之間,適用于語音播放。例如播放部分代碼如下:

      其相關(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.8Kbps\7.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ù)溢出)中斷。

      SACM_S480自動方式主程序流程見:

      6 結(jié)語

      凌陽公司的SPCE061A的結(jié)構(gòu)特點及其相關(guān)的一些開發(fā)平臺為我們控制和播放提供了極其方便的條件,當(dāng)然SPCE061A還<

     
     
    網(wǎng)站首頁  |  關(guān)于我們  |  聯(lián)系我們  |  廣告服務(wù)  |  版權(quán)隱私  |  友情鏈接  |  站點導(dǎo)航