新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SLH89F5162單片機的公交車語音報站系統

        基于SLH89F5162單片機的公交車語音報站系統

        作者: 時間:2014-03-31 來源:網絡 收藏

        3、軟件設計原理

        本系統的軟件設計分為兩部分,的語音庫下載和程序下載。

        3.1 的語音庫下載程序

        首先利用科大訊飛的語音軟件《文語通》進行語音合成,合成需要的站臺信息和提示聲音,利用詞語分組和句子劃分,讓語音通順流暢,最后生成wav文件,如圖3.1.1所示。然后利用的處理軟件WT588D VoiceChip V-B進行語音文件的編譯處理,如圖3.1.2所示,最后下載到WT588D里面。


        圖3.1.1文語通的CSSML Editor語音生成界面


        圖3.1.2 WT588D VoiceChip V-B語音編譯與下載界面

        3.2程序設計

        的程序是用KEIL4編制的,主要是按鍵的識別、液晶屏的顯示、語音芯片WT588D的單線通信程序三部分。主要程序如下,詳情見附件。

        void main(void)

        {

        uint block_n;

        uint updata;

        uint key_flag;

        uchar flag_hold;

        initinal(); //調用LCD字庫初始化程序

        delay(50); //大于100uS的延時程序

        flag_key=0;

        flag_hold=0;

        beep1(2-1);

        block_n=2;

        updata=1;

        Display_hanzi(0,0,“公交報站系統”,8);

        Display_hanzi(0,2,“本站:”,3);

        Display_hanzi(0,1,“上站:”,3);

        Display_hanzi(0,3,“下站:”,3);

        Display_hanzi(3,2,Station[block_n],5);

        Display_hanzi(3,1,Station[block_n-1],5);//上一站

        Display_hanzi(3,3,Station[block_n+1],5);//下一站

        Display_hanzi(0,1,“本站:”,3);

        Display_hanzi(0,2,“上站:”,3);

        Display_hanzi(0,3,“下站:”,3);

        while(1)

        {

        delay(200);

        if(K1==0

        key_flag=0;

        updata=1;

        block_n=1;

        beep1(block_n-1);

        }

        else if(K2==0

        key_flag=0;

        updata=1;

        block_n=block_n+1;

        if(block_n》10)

        block_n=10;

        beep1(block_n-1);

        }

        else if(K3==0

        key_flag=0;

        updata=1;

        block_n=block_n-1;

        if(block_n《1)

        block_n=1;

        beep1(block_n-1);

        }

        else if(K4==0

        key_flag=0;

        updata=1;

        block_n=10;

        beep1(block_n-1);

        }

        if(K1!=0

        {

        key_flag=1; ///標志,當按鍵按下,動作一下,按鍵松開后才能再次按下響應,防止連續動作

        }

        if(updata==1){

        updata=0;

        if(block_n==1){

        Display_hanzi(3,1,Station[block_n],5);

        Display_hanzi(3,2,Station[block_n],5);//上一站

        Display_hanzi(3,3,Station[block_n+1],5);//下一站

        }else if(block_n==10){

        Display_hanzi(3,1,Station[block_n],5);

        Display_hanzi(3,2,Station[block_n-1],5);//上一站

        Display_hanzi(3,3,Station[block_n],5);//下一站

        }else{

        Display_hanzi(3,1,Station[block_n],5);

        Display_hanzi(3,2,Station[block_n-1],5);//上一站

        Display_hanzi(3,3,Station[block_n+1],5);//下一站

        }}}}

        本文引用地址:http://www.104case.com/article/256963.htm

        單片機相關文章:單片機教程


        電路圖符號相關文章:電路圖符號大全


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        手機充電器相關文章:手機充電器原理
        燃氣報警器相關文章:燃氣報警器原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 余干县| 伊金霍洛旗| 沧源| 丘北县| 恭城| 东至县| 淮南市| 漠河县| 虞城县| 赤峰市| 兰坪| 吴堡县| 中卫市| 民权县| 萝北县| 乐至县| 卢氏县| 东丰县| 昭平县| 鄂伦春自治旗| 文安县| 逊克县| 丁青县| 绥芬河市| 商都县| 大余县| 勐海县| 高雄县| 青铜峡市| 婺源县| 静安区| 台江县| 丹凤县| 达日县| 新晃| 凤冈县| 金川县| 万安县| 天长市| 通河县| 华池县|