中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ISDl420的語音編輯器設計

        基于ISDl420的語音編輯器設計

        作者: 時間:2010-04-27 來源:網(wǎng)絡 收藏


        系統(tǒng)控制芯片的PLAYE端口,平時為高電平,當出現(xiàn)下降沿時開始錄音。
        信號EOM是段結束標志,當錄音結束,若存儲器沒完,ISD1420會自動為其加上EOM標志符,表示該段錄音結束。放音時,當遇到EOM標志符,EOM信號會由高電平輸出一個低脈沖。該信號連至單片機的T1/P3.5引腳,使單片機能夠及時知道該段結束,以便控制下一步操作。
        2.4 單片機
        這里選擇的89C51具有40個I/O口。系統(tǒng)不能采用簡單的最小系統(tǒng)連接,由上述可知,它無法滿足該系統(tǒng)的需求。該可利用它的開放總線連接更多的設備。
        將3個數(shù)碼管和芯片通過總線方式接入系統(tǒng)。低位地址不用,所以不用進行低8位的地址擴展。選擇A8,A9,A10分別作為3個數(shù)碼低電平的有效地址信號,再與單片機的WR信號組合。以構成帶地址信息的寫控制信號。這樣,程序便可像訪問存儲器一樣訪問這些端口,其地址為:FE00H,F(xiàn)D00H,F(xiàn)B00H。
        語音芯片也是采用這種方式進入系統(tǒng)的,其地址是7F00H。這種方式既可使電路簡單,也可使操作簡單。P1口作為系統(tǒng)的鍵盤掃描接口,連接如前述,這里不再贅述。

        3 用戶界面
        用戶界面如下:
        鍵盤:0~9、[錄音]、[放音]、[組合]、[分段]。
        顯示:3位7段數(shù)碼管。段號2位,以確定錄音、放音位置;計數(shù)器1位,9~O減l計數(shù)。
        指令格式:參數(shù)表>命令>。
        四個主要功能為:
        (1)分段
        操作:分段數(shù)+[分段]
        (2)錄音
        操作:欲錄音段號+[錄音]
        顯示:當按下[錄音]時,欲錄音段號閃3下后,計數(shù)顯示9;錄音開始,計數(shù)器減l,直到O,錄音結束。
        (3)回放
        操作:欲放音段號+[放音]4)、組合放音:功能用于檢查組合放音效果。
        操作:段號i+[組合]+段號j+[組合]+…+段號n+[組合]+[放音]
        顯示:在組合時,顯示段號,閃爍,按下[組合]后顯示消失,再重復;組合放音時,顯示當前放音段號;計數(shù)器先顯示組合段總數(shù),每放完一段減1,直到O。

        4 軟件方案
        內存分配如下:顯示緩沖為3個單元,第一、二單元用于存放段號,第三單元用于存放計數(shù)器值。組合段緩沖為一個單元,為一個放音段地址??紤]單片機的存儲容量與系統(tǒng)成本。考慮10個單元,F(xiàn)F為組合結束標志。當?shù)谝粏卧扔贔F時,為緩沖器空,ISD1420的段地址從該緩沖區(qū)取出。軟件流程圖如圖5所示。


        為方便起見,系統(tǒng)采用平均分段管理方式。根據(jù)語音芯片器件使用手冊可知,最多可分為160個段。其中,O~159為分段使用的有效地址。系統(tǒng)按1 s四個字的語速算,對于20 s的存儲空間來說,最多不能超過80個段,該時段空間最小為1個字。其分段范圍為1分段數(shù)80,在這個前提下,用戶可根據(jù)實際需求來分段,段號為O~79。在執(zhí)行[分段]命令時,要將地址間隔計算出來,以便段號與語音芯片地址映射。地址間隔存于專用地址間隔單元spacing中。分段寄存器seg_num:存放執(zhí)行[分段]命令后的分段數(shù)。用戶進行錄音、放音的段號,程序必須驗證在此范圍方可執(zhí)行,否則提示錯誤信息“E”。系統(tǒng)默認分段數(shù)seg_num為40,spacing為4,分段確定后,段地址可以由下式計算:
        分段地址=seg_num×spacing
        地址間隔=160/seg_num
        暫存器temp:系統(tǒng)預留一個單元。用來以二進制數(shù)方式存放段號。以temp_sign為暫存器標志,用于指示按鍵輸入,其等于0時,段號只有1位;等于1時,段號有2位。前次數(shù)字鍵是十位,當前數(shù)字鍵是個位。如果是兩位數(shù),程序要對這兩位二一十進制數(shù)進行計算,轉換成二進制數(shù),即BCD十位×10+BCD個位。存入temp。當執(zhí)行錄音、放音、分段操作時,程序從temp取參數(shù),計算段地址。用戶在輸入段號時,如果出現(xiàn)錯誤,可重新輸入。第一次輸入的段號,將被第二次輸入的段號覆蓋。
        組合段緩沖ally_buf:系統(tǒng)預留1O個單元,只有執(zhí)行組合放音時才用。組合是所有段中任意選擇10個段構成的隊列。系統(tǒng)用ally_point-er作為入隊地址指針,以ally_out作為出隊地址指針。組合放音時,在該指針指示下,依次將錄音段從緩沖區(qū)中取出播放,以構成短語,直到ally_out=ally_pointer。程序在沒有執(zhí)行[組合]功能時,保持ally_pointer=O;當用戶按下[組合]鍵時,程序應將暫存器temp的內容傳入ally_buf中,并修改ally_pointer。在執(zhí)行[放音]時,程序首先檢查ally_pointer是否等于0,是,執(zhí)行temp的段放音;否則。執(zhí)行ally_buf的段放音,直到FF標志。用戶指令單元dictate;存放用戶指令。主程序從這里識別用戶命令,并執(zhí)行命令。命令標志sign_dic:其等于O時,當前按鍵為數(shù)字鍵。等于1時,當前按鍵為命令鍵。命令與數(shù)字的識別:當鍵盤碼大于7F時,為數(shù)字按鍵,否則為命令按鍵。七段顯示:O~9,E為錯誤提示。這里采用共陰極7段數(shù)碼管,如圖6所示。


        出口如下:
        temp為對應段號的二進制數(shù)??梢灾苯佑嬎愣蔚刂?,最大范圍,小于分段數(shù)seg_num。
        sign_dic等于1時,請求執(zhí)行dictate中的命令。
        dictate為命令代碼。

        5 結語
        按照該方法設計的語音可行性強,操作簡單,界面清晰,在實際的生活中,該語音經(jīng)過改進后可以很方便地應用到MP3,DVD,錄音筆等音頻設備中,同時也可以用到遠程語音控制中。與其他的相比,該語音具有價格更低廉,可單獨作為器件來實現(xiàn),因此具有一定的實用價值。

        電子血壓計相關文章:電子血壓計原理



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉