




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PAGE56 / NUMPAGES61寧波理工學院 畢業設計(論文)題 目基于單片機的公交車語音報站系統的設計姓 名周玲燕學 號3080431052專業班級08通信工程2班指導教師林功學 院信息科學與工程學院完成日期2012年5月20日摘要為了提高公交車服務質量,滿足各類乘客需求,設計了一個帶有語音播放的公交車報站系統。系統通過3個按鍵控制實現起始站、上一站、下一站的控制功能。系統主要由AT89C51單片機、語音模塊ISD4004、按鍵和LCD1602顯示器組成。ISD4004語音模塊存放報站信息,按鍵控制語音播放,播放的信息在液晶上顯示。經6組人員的試用測試,結果表明系統工作穩定,可靠,達
2、到了設計要求。關鍵詞:單片機控制;液晶顯示;ISD4004;鍵盤AbstractIn order to improve the quality of bus service and satisfy the requirements of all kinds of passengers, a bus-stop-reporting system with voice player is designed. The system realizes the function of reporting the originating station、the previous station and th
3、e next station. The system is made up of AT89C51、voice module ISD4004、buttons and monitor LCD1602. Information of stations reported is stored in ISD4004 voice module. Voice player is controlled by buttons, broadcasted information is displayed on LCD. The design is tested by six groups of people and
4、the result shows that the system works stably and reliably. It reaches the design requirements.Keywords:Single chip microcomputer;LCD;ISD4004;Keys目錄TOC o 1-3 h u HYPERLINK l _Toc325925697摘要 5。圖 STYLEREF 1 s 2.1 系統總框圖下面介紹一下各部分電路的功能與原理。主控電路是由AT89C51單片機與其相關外圍電路組成,AT89C51在系統中實現對ISD4004中的語音信號的控制,實現存儲和播放的
5、控制,并響應按鍵引起的中斷,播放合適的語音,同時調用字符庫在液晶上顯示相關站點名稱。總之,AT89C51在系統中實現對整個系統的全局控制,是該系統的指揮部件。結構如圖 STYLEREF 1 s 2.2所示。ISD4004具有如下特點:首先是記錄聲音沒有段長度限制,并且聲音記錄不需要A/D轉換和壓縮。其次,快速閃存作為存儲介質,無需電源可保存數據長達100年,重復記錄10000次以上。此外,ISD4004具有記錄時間長(可達16分鐘)的優點。而且ISD4004開發應用具有所需外圍電路簡單的優點。 HYPERLINK :/ atvoc /cpsj/xpzl/isd4004-08.html ISD4
6、004系列工作電壓3V,單片錄放時間8分鐘至16分鐘,音質好,適用于移動與其他便攜式電子產品中。芯片采用CMOS技術,含振蕩器、防混淆濾波器、平滑濾波器、音頻放大器、自動靜噪與高密度多電平閃爍存貯列。芯片設計是基于所有操作必須由微控制器控制,操作命令可通過串行通信接口(SPI或Microwire)送入。芯片采用多電平直接模擬量存儲技術, 每個采樣值直接存貯在片閃爍存貯器中,因此能夠非常真實、自然地再現語音、音樂、音調和效果聲,避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和金屬聲。采樣頻率可為 4.0,5.3,6.4,8.0kHz,頻率越低,錄放時間越長,而音質則有所下降,片信息存于閃爍存貯
7、器中,可在斷電情況下保存100年(典型值),反復錄音10萬次。適合用于公交車語音報站系統這種多段錄音的設計 REF _Ref325369855 r h * MERGEFORMAT 6。本次液晶模塊選用LCD1602。報站系統液晶驅動顯示電路連接圖如圖 STYLEREF 1 s 2.3所示。控制電路選用單片機AT89C51,本電路/EA接高電平,沒有擴展ROM。將液晶的數據輸入端DB0DB7與單片機的P2口相連,將P0.0,P0.1,P0.2分別與液晶的RS,RW,E端連接,用來控制液晶LCD1602的顯示。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 2 主控電路圖
8、 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 3 液晶顯示電路在本次按鍵模塊的設計中,我選擇了擁有8個按鍵的矩陣式鍵盤模塊。矩陣式鍵盤的工作過程可分為兩步:第一步是CPU首先檢測鍵盤上是否有按鍵按下;第二步是識別哪一個鍵按下。檢測鍵盤上是否有按鍵按下的處理方法是:將列線送入全掃描字,讀入行線的狀態來辨別。其過程如下:PA口輸出00H,即所有列線置成低電平,然后將行線的電平狀態讀入累加器A中。如果有按鍵按下,總會有一根行線的電平被拉至低電平,從而使行輸入狀態不全為“1”。識別鍵盤中哪一個鍵按下的處理方法是:將列線逐列置成低電平,檢查行輸入狀態,稱為逐列掃描。其具體過程如
9、下:從PA0開始,依次輸出“0”,置對應的列線為低電平,然后從PC口讀入行線狀態,如果全為“1”,則按下的鍵不在此列;如果不全為“1”,則按下的鍵必在此列,而且是該列與“0”電平行線相交的交點上的那個鍵。為求取編碼,在逐列掃描時,可用計數器記錄下當前掃描列的列號,檢測到第幾行有鍵按下,就用該行的首鍵碼加列號得到當前按鍵的編碼。軟硬件功能分配軟件功能分配 在整一個系統設計中,軟件主要負責程序的編寫,實現語音模塊ISD4004的多段語音錄放,以與LCD1602的液晶顯示,最后將各個獨立的程序進行整合實現最終的公交車語音報站系統的設計。下面主要介紹一下語音模塊ISD4004,以與LCD1602在程序
10、編寫時所采用的原理。ISD4004 采用多電平直接模擬量存儲技術,每個采樣值直接存儲在片閃爍存儲器中,因此能夠非常真實的再現語音,音樂等效果。ISD4004工作于SPI串行接口。SPI協議是一個同步串行數據傳輸協議。協議要求數據在時鐘上升沿移入,在下降沿移出。即在時鐘上升沿鎖存MOSI引腳數據,寫入命令字;在下降沿將數據送至MISO引腳,讀取狀態字。MCS-51單片機的串行口方式0與其要求一致的。ISD4004端口的狀態字和命令字如圖 STYLEREF 1 s 2.4所示。命令字的高5為為操作碼,低11位為操作地址。狀態字的最高2位分別是溢出標志OVF和信息段末尾標志EOM,緊跟其后的是行地址
11、計數器的值。ISD4004總共10條命令。當單片機作為主芯片控制ISD4004時,我們只需要在主程序中完成一些初始化的工作以與錄放結束工作,如ISD上電,掉電等。另外通過循環掃描鍵盤,來檢查啟動鍵是否按下,根據錄放開關狀態跳轉到相應的子程序 REF _Ref325369881 r h * MERGEFORMAT 7。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 4 SPI端口的命令字和狀態字LCD1602字符型液晶顯示模塊是一種專門用于顯示字母、數字、符號等點陣式的顯示模塊。1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0
12、為低電平)。表 STYLEREF 1 s 2. SEQ 表 * ARABIC s 1 1是1602液晶模塊部的控制器共有11條控制指令。表 STYLEREF 1 s 2.1 1602液晶模塊部的控制器共用11條控制指令指令1:清顯示,指令碼01H,光標復位到地址00H位置。指令2:光標復位,光標返回到地址00H。指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B
13、:控制光標是否閃爍,高電平閃爍,低電平不閃爍。指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。指令7:字符發生器RAM地址設置。指令8:DDRAM地址設置。指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。指令10:寫數據。指令11:讀數據。LCD1602液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低
14、電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖 STYLEREF 1 s 2.5是1602的部顯示地址。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 5LCD1602部顯示地址硬件功能分配硬件需要實現的主要功能是將AT89C51最小系統,LCD1602液晶顯示模塊,ISD4004語音芯片模塊以與按鍵模塊,按照程序正確的連接,觀察現象,看是否能夠實現所需要的功能。由于AT89C51最小系統是主控中心,所以在此主要介紹各個模塊是如何與AT89C51連接的。ISD4004的工作電壓為3.3V,本模塊已經做好5V3.3V電
15、壓轉換處理(由ASM1117-3.3V實現)模塊引腳直接接5V電源。模塊有兩路輸入和兩路輸出。輸入:MIC輸入以與耳機插口輸入;輸出:喇叭輸出與耳機插口輸出。其中GND與P6.25相連,VCC與P6.26相連接,為語音模塊提供電源。SCLK串行接口時鐘輸入端與P1.5相連,/SS為片選與P1.6相連,MISO串行數據輸出端與P1.8相連,用來控制數據輸出,MOSI串行數據輸入端與P1.3相連,用來控制數據輸入。模塊的接口定義如下(頂視)圖 STYLEREF 1 s 2.6所示。(注:NC為空腳) MISO串行輸出 MOSI串行輸入 VCC5V/SS片選 SCLK時鐘 GND地 此處為IDC10
16、接口標有白色框的為VCC.定義同上音頻輸入MIC音頻輸出電源轉換輸入和輸出音量調節圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 6 語音模塊的接口定義LCD1602液晶顯示模塊的rs,rw,e分別與51單片機的P35,P36,P37端口連接,進行程序的讀寫數據,字符操作。而D0D7分別與51單片機的P0口進行連接,用來輸出數據與字符。如圖 STYLEREF 1 s 2.7 所示。圖 STYLEREF 1 s 2. SEQ 圖 * ARABIC s 1 7液晶1602與AT89C51實物連接圖本次設計的按鍵模塊采用通用按鍵開關,簡單易行且控制方便,與51單片機的P2.
17、0口連接,用以控制整個系統設計中LCD液晶顯示以與語音播放。在此就不做詳細介紹。功能描述本次設計的課題是基于單片機的公交車語音報站系統,因此主要功能是完成公交車語音報站。采用AT89C51單片機作為主控芯片,對ISD4004數碼語音芯片與LCD1602進行控制,實現語音報站,同時顯示站名。鍵盤采用通用按鍵開關,簡單易行且控制方便。在本次軟件設計中,主要設計了4站,通過三個按鍵進行控制。具體如下:k1鍵起始鍵現象:ISD4004播報“歡迎乘坐”,同時LCD1602上顯示“Huan Ying Cheng Zuo”。k2鍵上一站,k3鍵下一站,現象:num=1,ISD4004播報“歡迎乘坐363路公
18、交車”,同時LCD1602上顯示“Huan Ying Cheng Zuo ”。num=2,ISD4004播報“理工到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠萬里學院”,同時LCD1602上顯示“Ningboligong Dao Le”。num=3,ISD4004播報“萬里學院到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠醫藥學校”,同時LCD1602上顯示“Wanglixueyuan Dao Le”。num=4,ISD4004播報“醫藥學校到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠鄞州二院”,同時LCD1602上顯示“Yiyaoxuexi
19、ao Dao Le”。num=5,ISD4004播報“鄞州二院到了,請從后門下車,下車請當心;”,同時LCD1602上顯示“Yinzhoueryuan Dao Le”。num=6,ISD4004播報“乘坐本次公交車”,同時LCD1602上顯示“Xie Xie Cheng Zuo”。技術指標針對本次基于單片機的公交車語音報站系統的設計,其技術指標主要來源于ISD4004語音模塊以與LCD1602液晶顯示模塊。ISD4004:3V單電源工作工作電流2530mA維持電流1uA多段信息處理10 萬次錄音周期(典型值) 不耗電信息保存100年(典型值)LCD1602:顯示容量:162個字符芯片工作電壓:
20、4.55.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.954.35(WH)mm 系統硬件設計思想本次設計主要是利用AT89C51單片機作為CPU來進行總體控制,通過語音芯片ISD4004組成的語音控制電路能夠建立多段語音庫信息,并且可以對這些段的語音信息進行自由的組合,形成變化多樣的語音提示信息,同時使用LCD1602液晶顯示電路進行字符顯示,能夠實現公交車的語音報站與字符顯示。在CPU控制模式下,鍵盤采用按鍵掃描法,當有鍵按下時,通過軟件進行按鍵掃描,實現鍵碼對應的功能。因此當公交車到達某站時通過鍵盤來控制本系統進行工作,通過語音輸出電路進行語音報站,CPU同
21、時通過程序讀取字符信息送入LCD液晶顯示電路進行液晶顯示 REF _Ref325369938 r h * MERGEFORMAT 8。系統原理圖圖 STYLEREF 1 s 3. SEQ 圖 * ARABIC s 1 1是系統仿真時的原理圖,在整個系統軟件設計中,依舊從語音,液晶顯示以與按鍵這三大部分進行綜合考慮。由于Proteus軟件的限制,無法對ISD4004語音芯片進行仿真,從而在此處我選用了LED燈來代替語音芯片,當按鍵按下時,相對應的LED燈點亮。所以在此,我主要介紹一下液晶顯示模塊LCD1602以與按鍵顯示的工作原理。在此次軟件設計過程中,總共有4個按鍵,k1:HuanyingCh
22、engzuo,k2:上一站,k3:下一站,k4:乘坐。當按下k1鍵時,LCD上顯示“HuanyingChengzuo”,同時LED1亮;如果當前的站是“Wanlixueyuan Dao Le”,當按下k2鍵時,LCD上顯示“Ningboligong Dao Le”,此時LED2亮,LED3滅;當按下k3鍵時,LCD上顯示“Yiyaoxuexiao Dao Le”,此時LED4亮,LED3滅。當按下k4時,LCD上顯示“XiexieChengzuo”。1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平)。1602液晶模塊部的控制器共有11條控制指
23、令,通過這11條指令,可以完成1602上數據、字幕等顯示。LCD1602液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符 REF _Ref325369979 r h * MERGEFORMAT 9。圖 STYLEREF 1 s 3.1 系統原理圖仿真在將12864與LCD1602進行對比后,我選擇了LCD1602液晶顯示模,因為1602實現起來較為簡單,也很實用,在兩個能夠達到類似功能的時候,我選擇了1602,不過唯一的缺點就是1602不能顯示漢字。除此之外,我將仿真中的
24、LED換成了真正的語音模塊,ISD4004語音模塊,用以實現語音播放的功能。元器件選擇在本次設計中,我主要選擇的器件有LCD1602,語音模塊ISD4004,按鍵模塊,以與AT89C51的最小系統。由于LCD1602具有顯示質量高,數字式接口,功耗低等優點,其中因為擁有數字式接口,在和單片機系統的接口變得更加簡單可靠,操作更加方便。因此對于LCD液晶顯示模塊我選擇了LCD1602。ISD4004具有如下特點:首先是記錄聲音沒有段長度限制,并且聲音記錄不需要A/D轉換和壓縮。其次,快速閃存作為存儲介質,無需電源可保存數據長達100年,重復記錄10000次以上。此外,ISD4004具有記錄時間長(
25、可達16分鐘),音質好,適用于移動與其他便攜式電子產品中的優點。同時ISD4004開發應用具有所需外圍電路簡單的優點。同時51最小系統能夠給他提供3.3V的工作電壓,讓它正常工作。除此之外,由于身邊有同學用過這個芯片,對它比較了解,如果我遇到問題了,可以有人請教。因此對于語音模塊,我選擇了ISD4004。按鍵模塊比較簡單,因為我只需要3個按鍵而已,所以無論是三個獨立的按鍵,還是一個按鍵模塊,只要能實現我要的功能都可以。在本次設計中,我選擇了一個按鍵模塊。AT89C51單片機最小系統是上課上過的容對此比較熟悉,同時本次設計也是針對單片機的公交車語音報站系統的設計,而且實驗室有現成的資源可以利用,
26、所以毫無疑問,主控系統就選擇了AT89C51最小系統。各模塊介紹本次設計主要由AT89C51最小系統,ISD4004語音模塊,LCD1602液晶顯示模塊以與按鍵模塊這四模塊組成。單片機又稱單片微控制器,是在一塊芯片中集成了CPU(中央處理器)、RAM(數據存儲器)、ROM(程序存儲器)、定時器/計數器和多種功能的I/O(輸入/輸出)接口等一臺計算機所需要的基本功能部件,從而可以完成復雜的運算、邏輯控制、通信等功能。對51 系列單片機來說,最小系統一般應該包括:單片機、時鐘電路、復位電路、輸入/輸出設備等(見圖3.2)。在本次設計中,AT89C51作為系統的CPU來對語音模塊,液晶顯示模塊,按鍵
27、模塊進行總體的控制。單片機復位電路時鐘電路電源輸入/輸出設備圖 STYLEREF 1 s 3. SEQ 圖 * ARABIC s 1 2 AT89C51最小系統框圖ISD4004引腳排列如圖3.3所示,其中NC為空引腳,其余引腳的功能如下:圖 STYLEREF 1 s 3. SEQ 圖 * ARABIC s 1 3 ISD4004引腳排列圖VCCA、VCCD分別為模擬和數字電路的電源端;VSSA、VSSD分別為模擬地和數字地;ANAIN+、ANAIN分別為模擬信號同相和反相輸入端,模擬信號可采用單端輸入方式或差分輸入方式;AUDOUT為音頻輸出端,能驅動5000歐姆的負載;/SS為片選,低電平
28、有效;MOSI為串行數據輸入端;MISO為串行數據輸出端;SCLK為串行接口時鐘輸入端;XCLK為外部時鐘輸入端;/INT為中斷請求端,漏極開路;AMCAP為自動靜噪控制端;單片機選用ATMEL公司的AT89C51,其含4KB的FLASH存儲器,可擦寫10萬次。ISD4004語音芯片與單片機的接口如圖 STYLEREF 1 s 3.4所示。GND與P6.25相連,VCC與P6.26相連接,為語音模塊提供電源。SCLK串行接口時鐘輸入端與P1.5相連,/SS為片選與P1.6相連,MISO串行數據輸出端與P1.8相連,用來控制數據輸出,MOSI串行數據輸入端與P1.3相連,用來控制數據輸入。圖 S
29、TYLEREF 1 s 3. SEQ 圖 * ARABIC s 1 4 ISD4004語音模塊與51的實物連接圖 硬件連接的幾點說明:串口工作于方式0發送方式,P1.4用于串口時鐘輸入端,P1.5用于片選,此時高電平有效,P1.2用于串行數據輸入端,P1.7用于串行數據輸出端。ISD部功放驅動能力較低,因此外接了一個LM386可驅動的0.5W的喇叭。自動靜噪端AMCAP通過1uF電容接地,XCLK接地,使用部時鐘。撥動開關k1為錄音狀態,k2為放音狀態。錄音時按下k4,可將錄音地址后移100,存放另一段錄音片段。LCD1602液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有
30、電就有顯示,這樣即可以顯示出圖形。其實用LCD顯示一個字符時比較復雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于帶字符發生器的控制器來說,顯示字符就比較簡單了,可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號與每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。在本次設計中,LCD1602液晶顯示模塊的rs,rw,e分別與51單片機的P35,P36,P37端口連接,進行程序的讀寫數據,字符操作。而D0D7
31、分別與51單片機的P0口進行連接,用來輸出數據與字符,這樣就可以在液晶上顯示出自己想要的字符 REF _Ref325370029 r h * MERGEFORMAT 10。鍵盤是若干按鍵的集合,是向系統提供操作人員干預命令與數據的接口設備。鍵盤可分為編碼鍵盤和非編碼鍵盤兩種類型。前者能自動識別按下的鍵并產生相應代碼,以并行或串行方式發送給CPU。它使用方便,接口簡單,響應速度快,但需要專用的硬件電路。后者則通過軟件來確定按鍵并計算鍵值。這種方法雖然沒有編碼鍵盤速度快,但它不需要專用的硬件支持。鍵盤,作為向系統提供操作人員的干預命令的接口,以其特定的按鍵序列代表著各種確定的操作命令。所以,準確無
32、誤地辨認每個鍵的動作與其所處的狀態,是系統能否正常工作的關鍵。因此在設計按鍵模塊時,通過延時進行了按鍵去抖動的現象 REF _Ref325370062 r h * MERGEFORMAT 11。 系統軟件設計思想軟件設計的主要功能是完成公交車語音報站,采用AT89C51單片機作為主控芯片,對ISD4004數碼語音芯片與LCD1602進行控制,實現語音報站,同時顯示站名。鍵盤采用通用按鍵開關,簡單易行且控制方便。在本次軟件設計中,主要設計了4站,通過三個按鍵進行控制。具體如下:k1鍵起始鍵現象:ISD4004播報“歡迎乘坐”,同時LCD1602上顯示“Huan Ying Cheng Zuo”。k
33、2鍵上一站,k3鍵下一站,現象:num=1,ISD4004播報“歡迎乘坐”,同時LCD1602上顯示“Huan Ying Cheng Zuo”。num=2,ISD4004播報“理工到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠萬里學院”,同時LCD1602上顯示“Ningboligong Dao Le”。num=3,ISD4004播報“萬里學院到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠醫藥學校”,同時LCD1602上顯示“Wanglixueyuan Dao Le”。num=4,ISD4004播報“醫藥學校到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,
34、前方停靠鄞州二院”,同時LCD1602上顯示“Yiyaoxuexiao Dao Le”。num=5,ISD4004播報“鄞州二院到了,請從后門下車,下車請當心;”,同時LCD1602上顯示“Yinzhoueryuan Dao Le”。num=6,ISD4004播報“乘坐本次公交車”,同時LCD1602上顯示“Xie Xie Cheng Zuo”。模塊程序設計在本次設計中我針對363公交車,從中取了“理工,萬里學院,醫藥學校,鄞州二院”這4站進行了單邊線路的設計。軟件主流程圖系統上電后,液晶顯示模塊LCD1602與語音模塊ISD4004進行初始化,當檢測到有按鍵按下時,進行鍵值的判斷,根據鍵值,
35、跳轉到相應的顯示程序和語音播放程序并執行,從而實現公交車語音報站功能。軟件主流程圖如圖4.1所示。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 1軟件主流程圖ISD4004語音模塊錄放音在本次軟件程序設計中,我總共設置了5個按鍵,錄音鍵(k1=P2.5),放音鍵(k2=P2.6),停止鍵(k3=P2.7),錄放音地址移位鍵(k4=P2.0),復位鍵(k5=P2.1)。當按下k1鍵時,語音模塊就從0X05開始錄音,錄好一段音后,按下k3鍵,停止錄音。按下k2鍵,開始播放之前所錄的聲音。按下k4鍵,錄音地址往后移100,此時再按下k1鍵,開始第二段錄音。如此,便可實現多
36、段錄音,而且每段錄音所存放的地址都通過計算得出。若是不滿意當前的錄音,可以按下k5鍵,重新錄音。圖4.2為錄音流程圖。圖4.3為放音流程圖。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 2 錄音程序流程圖圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 3 放音程序流程圖LCD1602系統上電后,液晶顯示模塊進行初始化。同時液晶顯示部分按照數組序號顯示字符程序,程序中table為要顯示的數組序號,按照數組的次序依次顯示每站的站名。圖4.4為本次設計的液晶顯示1602的程序流程圖。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC
37、 s 1 4 LCD1602程序流程圖按鍵部分按鍵部分采用掃描法,當檢測到按鍵按下時,進行鍵值判斷,并進行相應的顯示程序以與語音播放程序的跳轉,實現公交車語音報站功能。圖4.5是本次設計的按鍵程序流程圖。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 5 按鍵程序流程圖仿真過程、結果分析本次單片機軟件仿真系統我選擇了Proteus。在整個系統軟件設計中,依舊從語音,液晶顯示以與按鍵這三大部分進行綜合考慮。由于Proteus軟件的限制,無法對ISD4004語音芯片進行仿真,從而在此處我選用了LED燈來代替語音芯片,當按鍵按下時,相對應的LED燈點亮。在仿真時,由于語音模
38、塊不能進行仿真,為了增加點難度,在液晶顯示模塊方面我選擇了可以顯示漢字的1602模塊。下面主要介紹一下1602的工作原理 REF _Ref325370100 r h * MERGEFORMAT 12。LCD1602液晶顯示的原理是利用液晶的物理特性,通過電壓對其顯示區域進行控制,有電就有顯示,這樣即可以顯示出圖形。其實用LCD顯示一個字符時比較復雜,因為一個字符由68或88點陣組成,既要找到和顯示屏幕上某幾個位置對應的顯示RAM區的8字節,還要使每字節的不同位為“1”,其它的為“0”,為“1”的點亮,為“0”的不亮。這樣一來就組成某個字符。但由于帶字符發生器的控制器來說,顯示字符就比較簡單了,
39、可以讓控制器工作在文本方式,根據在LCD上開始顯示的行列號與每行的列數找出顯示RAM對應的地址,設立光標,在此送上該字符對應的代碼即可。在本次設計中,LCD1602液晶顯示模塊的rs,rw,e分別與51單片機的P35,P36,P37端口連接,進行程序的讀寫數據,字符操作。而D0D7分別與51單片機的P0口進行連接,用來輸出數據與字符,這樣就可以在液晶上顯示出自己想要的字符 REF _Ref325370124 r h * MERGEFORMAT 13。在此次仿真過程中,總共設計了4個按鍵,k1:歡迎乘坐,k2:上一站,k3:下一站,k4:乘坐。當按下k1鍵時,LCD上顯示“Huan Ying C
40、heng Zuo”,同時LED1亮;如果當前的站是Wanglixueyuan Dao Le”,當按下k2鍵時,LCD上顯示“Ningboligong Dao Le”,此時LED2亮,LED3滅;當按下k3鍵時,LCD上顯示“Yiyaoxuexiao Dao Le”,此時LED4亮,LED3滅。當按下k4時,LCD上顯示“Xie Xie Cheng Zuo”。實現的效果圖如下圖4.6,4.7,4.8,4.9,4.10,4.11所示按下k1鍵 LCD1602液晶顯示“Huan Ying Cheng Zuo”,同時LED1亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1
41、6 “Huan Ying Cheng Zuo”按下k2或者k3鍵顯示,k2鍵逆向顯示,k3鍵順向顯示Num=1 LCD1602液晶顯示“Ningboligong Dao Le”,同時LED2亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 7 “Ningboligong Dao Le”Num=2 LCD1602液晶顯示“Wanglixueyuan Dao Le”,LED3亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 8 “Wanglixueyuan Dao Le”Num=3 LCD1602液晶顯示“Yiyaoxuexiao Dao L
42、e”,同時LED4亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 9 “Yiyaoxuexiao Dao Le” Num=4 LCD1602液晶顯示“Yinzhoueryuan Dao Le”,同時LED5亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 10 “Yinzhoueryuan Dao Le”按下k4鍵 LCD1602液晶顯示“Xie Xie Cheng Zuo”,同時LED5亮。圖 STYLEREF 1 s 4. SEQ 圖 * ARABIC s 1 11 “Xie Xie Cheng Zuo” 系統調試硬件調試在整一個硬
43、件調試過程中,我主要分為三部分進行調試,第一部分是按鍵調試。,第二部分是LCD液晶顯示調試,第三部分是ISD4004語音模塊錄放調試。首先,我進行了按鍵調試。對于按鍵和LED調試,我所采用的工具是萬用表,因為按鍵原理是松開狀態,電路斷開;按下按鍵,電路短路,以此來檢測它們的好壞。其次,第二部分就是LCD1602液晶顯示的調試。第一步,將LCD1602正確的連接到51單片機上,在連接時要注意液晶屏的日rs,rw,e這三個口的位置,一旦接錯LCD就有可能被燒壞。我的LCD模塊的這三個接口分別是P3.5,P3.6,P3.7,而數據輸入口接在P0口上,因此只要將其連接上即可。第二步,將已編譯正確的LC
44、D液晶顯示程序下載到51單片機,查看LCD1602上是否能夠顯示你想得到的容。這一部分,因為看了很多相關的視頻,所以基本沒有遇到問題。例如顯示“Huan Ying Cheng Zuo”如圖5.1所示。圖 STYLEREF 1 s 5. SEQ 圖 * ARABIC s 1 1 LCD1602液晶顯示調試模塊示例最后,進行ISD4004錄放音的調試。在這次設計中,如何正確的將ISD4004與51連接成了我最大的問題。經過咨詢好多人后,才得以成功連接,并能播放示例音樂。此外,將另外一段一錄一放的程序下載到51,檢測ISD4004的錄放音功能。若程序燒錄成功后,按下錄音鍵,喇叭出現“滴滴滴滴”連續的
45、響聲,說明錄音開始,可以進行錄音。復位鍵錄完后,按下放音鍵,檢測是否能夠正確放音。檢測完語音芯片后,接下來就是實現多段語音錄放。在本次設計中,我設置了一個移位變量add,每錄完一個音,移位100,開始錄下一段語音。移位的目的就是將不同的語音段保存在指定的位置,這樣以便地址的查詢。ISD4004語音調試模塊如圖5.2所示。錄音鍵暫停鍵放音鍵移位鍵圖 STYLEREF 1 s 5. SEQ 圖 * ARABIC s 1 2 ISD4004語音調試模塊 軟件調試與硬件調試類似,在本次軟件調試中,主要分為三部分進行調試,按鍵與LCD1602結合程序的調試,ISD4004與按鍵結合程序的調試,以與ISD
46、4004、LCD1602與按鍵的調試。首先,按鍵與LCD1602的調試。由于在使用LCD1602之前,翻閱了很多相關的資料以與視頻,因此LCD1602液晶顯示程序已經調試好,沒有問題。主要的問題是如何將按鍵加入到程序中,對LCD1602顯示的容進行控制。一開始,我先讓按鍵控制LCD1602顯示容中的其中一條。在程序中設置了void key(),通過調用void write(uchar )這個函數,顯示出LCD1602的第一條容“Huan Ying Cheng Zuo”。因此想要顯示其他容,原理也一樣。如圖5.3所示。圖 STYLEREF 1 s 5. SEQ 圖 * ARABIC s 1 3“
47、Huan Ying Cheng Zuo”示例圖其次,按鍵與ISD4004的調試。由于之前查閱的很多資料中有一段一錄一放的程序,了解他的原理后,發現與我需要的多段錄放效果原理一樣。因此在原有的基礎上,我設置了一個k4,k4所需要實現的功能是移位,每錄好一次,按下k4移位100,然后再按下錄音鍵,這樣就實現了多段錄放音。其中,在調試錄放音時,還添加了LED模塊,主要功能是檢測按鍵是否有效。初始狀態,系統上電,所有LED燈亮,有鍵按下時LED1滅。如果再有按鍵按下LED1亮,如此來判別錄音鍵,放音鍵,移位鍵,復位鍵以與停止鍵是否有效。如下圖5.4ISD4004與按鍵的實物連接圖。放音鍵停止鍵錄音鍵復
48、位鍵移位鍵LED燈圖 STYLEREF 1 s 5. SEQ 圖 * ARABIC s 1 4 ISD4004與按鍵的實物連接圖最后,按鍵、LCD1602與ISD4004三者的結合。在這三者結合時,對于ISD4004語音模塊,我只需要一段放音程序,只要將之前存放在地址位置里面的錄音片段通過放音程序放出來就好。在這一測試中,按鍵要控制兩項LCD1602的液晶顯示以與ISD4004語音的播放,而且兩個要同時。這時候,通過設置void write(uchar )中com的值以與將語音播放play()函數添加到void key()中,通過void key()中按鍵按下后多種條件的核對,從而確定按鍵按下
49、后要顯示的容以與語音播放的容。以“Ningboligong Dao Le”一站為例,最終的結果如下圖5.5所示。圖 STYLEREF 1 s 5. SEQ 圖 * ARABIC s 1 5 “Ningboligong Dao Le”總體示例圖綜合調試根據給出ISD4004的電路原理圖,正確連接電路;調試已編譯的程序,將程序下載到51單片機中;按下錄音鍵進行錄音,連續錄完一段后,按下停止鍵停止。然后按下移位鍵再次按下錄音鍵開始錄另外一段音,按停止鍵停止;如此反復6次,將需要的錄音片段錄好并存放到單元位置;錄完音后,按放音鍵放音,按一次鍵就播放一段錄音;將語音模塊正確連接到AT89C51最小系統。
50、最后,將整個程序合并,進行最后的調試,公交車語音報站系統完成。測試結果為了使本設計的結果更加客觀與可靠,我隨機調查了一下身邊同學試用情況。本次調查中,我主要將試驗者分為6組,第一組“Huanyingchengzuo”組,如表5-1所示,第二組“Ningboligon Dao Le”組,如表5-2所示,第三組“Wanlixueyuan Dao Le”組,如表5-3所示,第四組“Yiyaoxuexiao Dao Le”組,如表5-4所示,第五組“Yinzhoueryuan Dao Le”組,如表5-5所示,第六組“Xiexiechengzuo”組,如表5-6所示,每組抽查5個人,其中上一站/下一站
51、一起進行檢測。表5.1是隨機者A1,A2,A3,A4,A5按下k1鍵時的反饋情況。此時num=1,如果LCD1602上顯示“Huanyingchengzuo”,同時語音ISD4004中播放“歡迎乘坐363路公交車”,則說明正確,五名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 1 “Huanyinchenzuo”編號按鍵(num=1)LCD上顯示“Huanyingchengzuo”語音播放同一站名A1k1是是A2k1是是A3k1是是A4k1是是A5k1是是表5.2是10名隨機者對num=2時的反饋情況,其中A1A5是對k2鍵的試用,A6A10對
52、k3鍵的試用。如果此時LCD1602上顯示“Ningboligong Dao Le”,同時語音ISD4004中播放“理工到了,請從后門下車,下車請當心。車輛起步,請拉好扶手,前方停靠,萬里學院”,則說明正確,十名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 2“Ningboligong Dao Le”編號按鍵(num=2)LCD上顯示“Ningboligong Dao Le”語音播放同一站名A1k2是是A2k2是是A3k2是是A4k2是是A5k2是是A6k3是是A7k3是是A8k3是是A9k3是是A10k3是是表5.3是10名隨機者對num=3
53、時候的反饋情況,其中A1A5是對k2鍵的試用,A6A10對k3鍵的試用。如果此時LCD1602上顯示“Wanlixueyuan Dao Le”,同時語音ISD4004中播放“萬里學院到了,請從后門下車,下車請當心。車輛起步,請拉好扶手,前方停靠,醫藥學校”,則說明正確,十名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 3“Wanlixueyuan Dao Le”編號按鍵(num=3)LCD上顯示“Wanlixueyuan Dao Le”語音播放同一站名A1k2是是A2k2是是A3k2是是A4k2是是A5k2是是A6k3是是A7k3是是A8k3是
54、是A9k3是是A10k3是是表5.4是10名隨機者對num=4時候的反饋情況,其中A1A5是對k2鍵的試用,A6A10對k3鍵的試用。如果此時LCD1602上顯示“Yiyaoxuexiao Dao Le”,同時語音ISD4004中播放“醫藥學校到了,請從后門下車,下車請當心。車輛起步,請拉好扶手,前方停靠,鄞州二院”,則說明正確,十名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 4“Yiyaoxuexiao Dao Le”編號按鍵(num=4)LCD上顯示“Yiyaoxuexiao Dao Le”語音播放同一站名A1k2是是A2k2是是A3k2
55、是是A4k2是是A5k2是是A6k3是是A7k3是是編號按鍵(num=4)LCD上顯示“Yiyaoxuexiao Dao Le”語音播放同一站名A8k3是是A9k3是是A10k3是是表5.5是10名隨機者對num=5時候的反饋情況,其中A1A5是對k2鍵的試用,A6A10對k3鍵的試用。如果此時LCD1602上顯示“Yinzhoueryuan Dao Le”,同時語音ISD4004中播放“鄞州二院到了,請從后門下車,下車請當心”,則說明正確,十名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 5“Yinzhoueryuan Dao Le”編號按鍵
56、(num=5)LCD上顯示“Yinzhoueryuan Dao Le”語音播放同一站名A1k2是是A2k2是是A3k2是是A4k2是是A5k2是是A6k3是是A7k3是是A8k3是是A9k3是是A10k3是是表5.6是10名隨機者對num=6時候的反饋情況,其中A1A5是對k2鍵的試用,A6A10對k3鍵的試用。如果此時LCD1602上顯示“Xiexiechengzuo”,同時語音ISD4004中播放“乘坐本次公交車”,則說明正確,十名隨機者回答“是”即可。表 STYLEREF 1 s 5. SEQ 表 * ARABIC s 1 6“Xiexiechengzuo”編號按鍵(num=6)LCD上
57、顯示“Xiexiechengzuo”語音播放同一站名A1k2是是A2k2是是A3k2是是A4k2是是編號按鍵(num=6)LCD上顯示“Xiexiechengzuo”語音播放同一站名A5k2是是A6k3是是A7k3是是A8k3是是A9k3是是A10k3是是通過以上6組的隨機試用測試,結果表明改系統穩定,可靠。 測試結果與分析測試環境在本次測試中,主要用到的測試工作是萬能表,由于都是現成的模塊,因此不需要電烙鐵,錫之類的焊接工具。軟件測試環境主要是在Keil,Vw,Proteus,STC這四類。Keil和Vw主要用于程序的編寫以與運行。Keil C51是HYPERLINK :/baike.bai
58、du /view/2398.htm美國Keil Software公司出品的51系列兼容單片機C語言軟件開發系統,在C語言在功能上、結構性、可讀性、可維護性上有明顯的優勢13。C文件可以在Keil中由C51與C51編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51創建生成庫文件,也可以與庫文件一起經L51連接定位生成絕對目標文件(.ABS)。ABS文件由OH51轉換成標準的Hex文件,這樣通過STC可以將程序下載到51單片機中,進行硬件方面的測試。當然偉幅也是可以生成.HEX文件的,在這次設計中,我用的比較多的就是VW。Proteus主要用于仿真,運用這個軟件,我們可以通過仿真來查看我們
59、的一些參數以與實現的效果。STC主要用于燒錄程序,將程序燒錄到硬件中。硬件測試的環境是win7系統。測試結果按下k1鍵起始鍵現象:ISD4004播報“歡迎乘坐”,同時LCD1602上顯示“Huan Ying Cheng Zuo”。按下k2鍵上一站,k3鍵下一站,現象:num=1,ISD4004播報“歡迎乘坐”,同時LCD1602上顯示“Huan Ying Cheng Zuo”。num=2,ISD4004播報“理工到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠萬里學院”,同時LCD1602上顯示“Ningboligong Dao Le”。num=3,ISD4004播報“萬里學院到
60、了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠醫藥學校”,同時LCD1602上顯示“Wanglixueyuan Dao Le”。num=4,ISD4004播報“醫藥學校到了,請從后門下車,下車請當心;車輛起步,請拉好扶手,前方停靠鄞州二院”,同時LCD1602上顯示“Yiyaoxuexiao Dao Le”。num=5,ISD4004播報“鄞州二院到了,請從后門下車,下車請當心;”,同時LCD1602上顯示“Yinzhoueryuan Dao Le”。 總結與展望本次設計主要是研究了公交車語音的報站系統。在這一課題的研究中,主要做了一下一些工作。首先對課題的背景,課題研究的現實意
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 潛水裝備的水下作業安全意識培養與提升考核試卷
- 舞蹈教育在兒童成長中的作用考核試卷
- 窗簾面料的環保染整技術考核試卷
- 四川水利職業技術學院《臨床檢驗儀器與技術》2023-2024學年第二學期期末試卷
- 山西省運城市萬榮縣2025年初三下學期第二次模擬考試化學試題文試卷含解析
- 山東省威海市文登區文登實驗、三里河中學2025屆中考化學試題模擬試卷(8)含解析
- 沈陽工業大學《現代地球物理學進展》2023-2024學年第二學期期末試卷
- 濰坊學院《大學寫作實踐課》2023-2024學年第二學期期末試卷
- 景德鎮市重點中學2024-2025學年初三考前熱身生物試題試卷含解析
- 天門職業學院《應用真菌學》2023-2024學年第二學期期末試卷
- 航空航天凝膠應用
- 陜西省2024年中考化學真題(含答案)
- 2024年度危廢培訓完整課件
- 2024秋期國家開放大學《可編程控制器應用實訓》一平臺在線形考(形成任務6)試題及答案
- 《PBR次世代游戲建模技術》(微課版)課件 2低模制作
- 2022年廣東省高考數學試卷(新高考I)(含答案)
- 中醫四季養生之道課件
- 二下音樂《阿西里西(簡譜、五線譜)》公開課課件
- 【涪陵榨菜產品成本控制問題及完善措施分析9600字】
- 巾幗家政職業技能競賽(家政服務)理論考試題庫(含答案)
- 終止合作意向書
評論
0/150
提交評論