版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 畢 業(yè) 設(shè) 計(論 文)</p><p> 設(shè)計題目: 公交車報站 </p><p> 專業(yè)名稱: 電氣工程及其自動化 </p><p> 學(xué) 號: </p><p> 姓 名:
2、 </p><p> 指導(dǎo)教師: </p><p> 設(shè)計時間: 2012/5/7~2012/5/11 </p><p><b> 摘要</b></p><p> 本次課程設(shè)計以實現(xiàn)公交車的語音自動報站,即在進(jìn)站、出站時候自
3、動播報語音提示信息及服務(wù)用語,同時利用LCD電路進(jìn)行漢字顯示。本設(shè)計要求利用AT89C52作為主控芯片完成主控電路的設(shè)計,輔助電路要求包括語音電路、漢字點(diǎn)陣顯示電路、時鐘電路、電源電路等。</p><p> 本系統(tǒng)使用了晶振電路做定時,模擬實現(xiàn)報站的過程。語音芯片使用的是ISD4003,它是使用很廣泛的語音芯片。該芯片具有很強(qiáng)大的功能,可容納300個站點(diǎn)信息和8分鐘語音廣告信息。 </p><
4、;p> 關(guān)鍵字:AT89S51單片機(jī),ISD4003語音芯片,LED1602芯片、公交車報站</p><p><b> 目錄</b></p><p><b> 摘要</b></p><p> 1設(shè)計任務(wù)和要求……………………………………….………..…….3</p><p> 2方
5、案論證………………………………………………….…….……..4</p><p> 2.1方案比較…………………………………………….…….……..4</p><p> 2.1.1方案一…………………………………………….………….4</p><p> 2.1.2方案二………………………………………………….…….5</p><p>
6、2.2方案選擇……………………………………………….….……..5</p><p> 3系統(tǒng)硬件設(shè)計……………………………………………….….……..6</p><p> 3.1主控電路設(shè)計………………………………………….….……..6</p><p> 3.1.1關(guān)于AT89C51單片機(jī)……………………………..…………6</p><p
7、> 3.1.2振蕩器電路的設(shè)計……………………………….…..……..10</p><p> 3.1.3復(fù)位電路的設(shè)計…………………………………...…..……12</p><p> 3.2語音輸出電路設(shè)計……………………………………......…….15</p><p> 3.2.1關(guān)于語音芯片………………………………….…......……..15&
8、lt;/p><p> 3.2.2錄音、放音電路設(shè)計………………………..……..….……20</p><p> 3.3 LCD1602液晶顯示電路設(shè)計………………..…………….……22</p><p> 3.3.1 LCD液晶顯示流程圖………………………………….……22</p><p> 3.3.2 LCD1602液晶顯示電路設(shè)計……
9、……………………...…..23</p><p> 4軟件設(shè)計……………………………………………………..….……24</p><p> 4.1主控程序的設(shè)計……………………………………….…….….24</p><p> 4.2程序清單及元件清單………………………………….….…….25</p><p> 5測試方法與課程設(shè)計小結(jié)…
10、………………………………..……….30</p><p> 致謝…………………………………………………………….……….31</p><p> 參考文獻(xiàn)…………………………………………………………....…..32</p><p> 附錄…………………………………………………………………..…34</p><p><b>
11、1設(shè)計任務(wù)和要求</b></p><p><b> 設(shè)計任務(wù):</b></p><p> (1) 應(yīng)用AT89S51單片機(jī)設(shè)計單片機(jī)實現(xiàn)對語音芯片ISD4003的控制;</p><p> (2) 硬件設(shè)計部分,根據(jù)設(shè)計的任務(wù)選定合適的單片機(jī),根據(jù)控制對象設(shè)計接口電路。設(shè)計的單元電路必須有工作原理,器件的作用,分析和計算過程;&
12、lt;/p><p> (3) 軟件設(shè)計部分,根據(jù)電路工作過程,畫出軟件流程圖,根據(jù)流程圖編寫相應(yīng)的程序,進(jìn)行調(diào)試并打印程序清單;</p><p> (4) 原理圖設(shè)計部分,根據(jù)所確定的設(shè)計電路,利用Protel99se和Protues工具軟件繪制電路原理圖。</p><p><b> 設(shè)計要求:</b></p><p>
13、; (1)主控部分:選擇單片機(jī)為核心元件構(gòu)成系統(tǒng)。</p><p> (2)語音部分:選擇ISD4003系列語音芯片,作為報站器系統(tǒng)設(shè)計的基礎(chǔ)。</p><p> ?。?) 硬件設(shè)計:供電部分、錄音電路、ISD4003基本電路部分、放音電路、單片機(jī)系統(tǒng)部分、按鍵輸入部分和提示燈部分。</p><p><b> 2方案論證</b></
14、p><p><b> 2.1方案比較</b></p><p><b> 2.1.1方案一</b></p><p> 公交車自動報站器的設(shè)計,模擬定時,將計數(shù)值與預(yù)置值對比,即可確定報站時刻,達(dá)到準(zhǔn)確自動的目的。以AT89C51為主控芯片,對外來脈沖計數(shù),結(jié)合語音芯片ISD4003輸出語音。系統(tǒng)由脈沖檢測、脈沖計數(shù)、CPU
15、控制、控制信號、語音芯片、輸出顯示等組成。原理框圖如圖2.1所示。</p><p> 圖2.1 方案1原理框圖</p><p> ?。?) 脈沖檢測:設(shè)計為模擬到站脈沖,即把預(yù)值作為到站脈沖進(jìn)行中斷定時響應(yīng)。</p><p> (2) 脈沖計數(shù):光電耦合器的信號進(jìn)入C51后,采用中斷方式對脈沖計數(shù)。外部晶振12MHz。</p><p>
16、 (3)CPU控制:程序中將計數(shù)值于預(yù)置值進(jìn)行比較,判斷是否到站,當(dāng)?shù)秸緯r就輸出信號控制語言芯片進(jìn)行報站。</p><p> ?。?)控制按鍵:用于手動控制到站后的清零。</p><p> ?。?) 語言芯片:由專用語音芯片ISD4003組成,可擦寫,便于在不同公交線上使用。</p><p> (6)預(yù)置存儲:采用預(yù)先設(shè)置好在程序里的方式對站點(diǎn)信息存儲。</
17、p><p> ?。?)LED液晶:顯示到站站臺名稱。</p><p><b> 2.1.2方案二</b></p><p> 利用8051單片機(jī)作為CPU來進(jìn)行總體控制,當(dāng)汽車到達(dá)某站時,汽車司機(jī)通過鍵盤來控制本系統(tǒng)進(jìn)行工作,并且,系統(tǒng)將使用狀態(tài)指示電路,向司機(jī)指示出當(dāng)前的行駛方向及站號(如與實際方向不符,司機(jī)可通過鍵盤來調(diào)整)。原理圖框圖如圖2
18、.2所示。</p><p> 圖2.2方案二原理框圖</p><p> 本系統(tǒng)使用8051作為CPU,由CPU來控制語音合成芯片TC8830AF,使其工作在CPU控制模式下。當(dāng)系統(tǒng)進(jìn)行語音再生時,由CPU控制語音合成電路中的語音芯片來讀取其外接的存儲器內(nèi)部的語音信息,并合成語音信號,再通過語音輸出電路,進(jìn)行語音報站和提示。CPU同時通過程序讀取漢字信息,送入LED點(diǎn)陣顯示電路來進(jìn)行漢字
19、提示。當(dāng)系統(tǒng)進(jìn)行語音錄制時,語音信號通過語音輸入電路輸入給語音合成電路中的語音合成芯片,由語音合成芯片進(jìn)行數(shù)據(jù)處理,并將生成的數(shù)字語音信息存儲到語音存儲芯片中,從而建立語音庫。</p><p><b> 2.2方案選擇</b></p><p> 將方案一與方案二進(jìn)行比較,方案二是采用8051單片機(jī)控制,通過鍵盤來控制報站時刻,并不完全符合設(shè)計的要求,它仍然需要操作
20、員員手動控制,所以本課題決定選用方案一,它使用AT89C51作為主控制芯片,通過對里程的計數(shù)來控制報站時刻,完全無需人工介入,選用的語音芯片是美國ISD公司的ISD4003,該芯片與其它語音芯片相比較,其語音音質(zhì)好,錄放時間長。</p><p><b> 3系統(tǒng)硬件設(shè)計</b></p><p><b> 3.1主控電路設(shè)計</b></p
21、><p> 公交車報站系統(tǒng)主要由四個部分組成,即主控電路、時鐘電路、語音電路以及電源電路。</p><p> 圖3.1主控電路原理圖</p><p> 3.1.1關(guān)于AT89C51單片機(jī)</p><p> AT89C51單片機(jī)的結(jié)構(gòu)框圖如圖3.2所示。它主要由下面幾個部分組成:1個8位中央處理單元(CPU)、片內(nèi)Flash存儲器、片內(nèi)RA
22、M、4個8位的雙向可尋址I/O口、1個全雙工UART(通用異步接收發(fā)送器)的串行接口、2個16位的定時器/計數(shù)器、多個優(yōu)先級的嵌套中斷結(jié)構(gòu),以及一個片內(nèi)振蕩器和時鐘電路。在AT89C51單片機(jī)結(jié)構(gòu)中,最顯著的特點(diǎn)是內(nèi)部含有Flash存儲器,而在其他方面的結(jié)構(gòu),則和Inter公司的8051的結(jié)構(gòu)沒有太大的區(qū)別。</p><p> 圖3.2 AT89C51單片機(jī)的結(jié)構(gòu)框圖</p><p>&
23、lt;b> ?。?)主要性能</b></p><p> 與MCS-51 兼容;4K字節(jié)可編程閃爍存儲器; 1000次寫/擦循環(huán);數(shù)據(jù)保留時間10年;全靜態(tài)工作:0Hz-24Hz;三級程序存儲器鎖定;128*8位內(nèi)部RAM;32可編程I/O線;;兩個16位定時器/計數(shù)器; 6個中斷源;可編程串行通道;片內(nèi)振蕩器和時鐘電路</p><p> 另外,AT89C51是用靜態(tài)邏
24、輯來設(shè)計的,其工作頻率可下降到0Hz,并提供兩種可用軟件來選擇的省電方式——空閑方式(Idle Mode)和掉電方式(Power Down Mode)。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內(nèi)振蕩器停止工作,由于時鐘被“凍結(jié)”,使一切功能都暫停,故只保存片內(nèi)RAM中的內(nèi)容,直到下一個硬件復(fù)位為止。</p><p><b> ?。?)引腳功能說
25、明</b></p><p> 圖3.3 AT89C51引腳圖</p><p> VCC:供電電壓。VSS:接地。</p><p> P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8個TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0 口作為
26、原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。</p><p> P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接
27、收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p&g
28、t;<p> P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,口管腳備選功能:P3.0 RXD(串行輸入口);P3.1 TXD(串行輸出口);P3.2 /INT0(外部中斷0);P3.3 /INT1(外部中斷
29、1);P3.4 T0(記時器0外部輸入); P3.5 T1(記時器1外部輸入); P3.6 /WR(外部數(shù)據(jù)存儲器寫選通);P3.7 /RD(外部數(shù)據(jù)存儲器讀選通);P3口同時為閃爍編程和編程校驗接收一些控制信號。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機(jī)器周期的高電平時間。ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH
30、編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p&g
31、t; /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP:當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期
32、間,此引腳也用于施加12V編程電源(VPP)。.</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。</p><p> 3.1.2振蕩器電路的設(shè)計</p><p> 89系列單片機(jī)的內(nèi)部振蕩器電路如圖3.4所示,由一個單級反相器組成。XTAL1為反相器的輸入,XTAL2為反相器的輸出??梢岳盟鼉?nèi)部的
33、振蕩器產(chǎn)生時鐘,只要在XTAL1和XTAL2引腳上外接一個晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個完整的振蕩信號發(fā)生器,如圖3.5示,此方法稱為內(nèi)部方式。</p><p> 另一種使用方法如圖3.5示,由外部時鐘源提供一個時鐘信號到XTAL1端輸入,而XTAL2端浮空。在組成一個單片機(jī)應(yīng)用系統(tǒng)時,多數(shù)采用圖3.5所示的方法,這種方式的結(jié)構(gòu)緊湊,成本低廉,可靠性高。</p><p> 振
34、蕩器的等效電路如圖3.6上部所示。在圖中給出了外接元件,即外接晶體及電容C1,C2,并組成并聯(lián)諧振電路。在電路中,對電容C1和C2的值要求不是很嚴(yán)格,如果用高質(zhì)的晶振,則不管頻率為多少,C1,C2通常都選擇30pF。有時,在某些應(yīng)用場合,為了降低成本,晶體振蕩器可用陶瓷振蕩器代替。如果使用陶瓷振蕩器,則電容C1,C2的值取47pF。</p><p> 圖3.4 AT89C51單片機(jī)內(nèi)部振蕩器電路</p&
35、gt;<p> 圖3.5 外部時鐘接法</p><p> 圖3.6 片內(nèi)振蕩器等效電路</p><p> 通常,在單片機(jī)中對所使用的振蕩晶體的參數(shù)要求:ESR(等效串聯(lián)電阻):根據(jù)所需頻率按圖3.6選取。C0(并聯(lián)電容):最大7.0pF。CL(負(fù)載電容):30pF+3pF。其誤差及溫度變化的范圍要按系統(tǒng)的要求來確定。</p><p> 圖3
36、.7 ESR與頻率的關(guān)系曲線</p><p> 在本設(shè)計中,采用的是內(nèi)部方式,即如圖3.6所示,在XTAL1和XTAL2引腳上外接一個12MHZ的晶振及兩個30pF的電容組成。</p><p> 3.1.3復(fù)位電路的設(shè)計</p><p> 89系列單片機(jī)與其他微處理器一樣,在啟動的時候都需要復(fù)位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始工作。
37、89系列單片機(jī)的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,如RST引腳上有一個高電平并維持2個機(jī)器周期(24個振蕩周期),則CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。復(fù)位時序如圖3.8所示,因外部的復(fù)位信號是與內(nèi)部時鐘異步的,所以在每個機(jī)器周期的S5P2都對RST引腳上的狀態(tài)采樣。當(dāng)在RST端采樣到“1”信號且該信號維持19個振蕩周期以后,將ALE和/PSEN接成高電平 ,使器件復(fù)位。在RST端
38、電壓變低后,經(jīng)過1-2個機(jī)器周期后退出復(fù)位狀態(tài),重新啟動時鐘,并恢復(fù)ALE和/PSEN的狀態(tài)。如果在系統(tǒng)復(fù)位期間將ALE和/PSEN引腳拉成低電平,則會引起芯片進(jìn)入不定狀態(tài)。</p><p> 圖3.8 內(nèi)部復(fù)位定時時序</p><p><b> (1) 手動復(fù)位</b></p><p> 手動復(fù)位需要人為在復(fù)位輸入端RST上加入高電平。
39、一般采用的辦法是在RST端和正電源VCC之間接一個按鈕。當(dāng)人為按下按鈕時,則VCC的+5V電平就會直接加到RST端。由于人的動作很快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,保證能滿足復(fù)位的時間要求。手動復(fù)位的電路如圖3.9所示。</p><p> 圖3.9 手動復(fù)位電路</p><p><b> (2) 上電復(fù)位</b></p><p> A
40、T89C51的上電復(fù)位電路如圖3.10所示,只要在RST復(fù)位輸入引腳上接一電容至VCC端,下接一個電阻到地即可。對于CMOS型單片機(jī),由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。</p><p> 上電復(fù)位的過程是在加電時,復(fù)位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平信號必須維持足夠長的時間。</p
41、><p> 上電時,Vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間則為10ms。</p><p> 在圖3.9的復(fù)位電路中,當(dāng)Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負(fù)電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機(jī)狀態(tài),復(fù)位后,系統(tǒng)將端口置為
42、全“1”態(tài)。</p><p> 如果系統(tǒng)在上電時得不到有效的復(fù)位,則在程序計數(shù)器PC中將得不到一個合適的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。</p><p> 圖3.10 上電復(fù)位電路</p><p> (3) 復(fù)位后寄存器的狀態(tài)</p><p> 當(dāng)系統(tǒng)復(fù)位時,內(nèi)部寄存器的狀態(tài)如表3.1所列,即在SFRS中,除
43、了端口鎖存器、堆棧指針SP和串行口的SBUF外,其余的寄存器全部清0,端口鎖存器的復(fù)位值為0FFH,堆棧指針值為07H,SBUF內(nèi)為不定值。內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時,RAM的內(nèi)容是不定的。在本設(shè)計中復(fù)位電路采用的是手動復(fù)位,即如圖3.10所示。</p><p> 表3.1各特殊功能寄存器的復(fù)位值</p><p> 3.2語音輸出電路設(shè)計</p><
44、;p> 3.2.1關(guān)于語音芯片</p><p> (1) ISD—Winbond語音芯片概述</p><p> 美國ISD(Information Storsge Devices)公司是專業(yè)研制和生產(chǎn)先進(jìn)的半導(dǎo)體語音芯片的著名廠家和領(lǐng)導(dǎo)者,其開發(fā)的高密度“多級”存儲方法稱作“ChipCorder”的專業(yè)技術(shù),可以在一個存儲單元存儲256級的不同電平,即存儲相同信息僅需要用傳統(tǒng)存
45、儲技術(shù)1/8的存儲空間。該公司與1998年12月被臺灣華邦(Winbond)并購,1990年改名為WECA(Winbond Electronic Corpration American),但保留其ISD名稱和標(biāo)識,這個合并將把ISD公司領(lǐng)先的信息存儲、語音錄放技術(shù)和強(qiáng)大的用戶群與Winbond公司的高效率的制造能力和分布于全時間的營銷能力結(jié)合起來。</p><p> ISD系列語音芯片有ISD1100系列、IS
46、D1200系列、ISD1400系列、ISD2500系列、ISD4000系列和ISD5000系列幾種。</p><p> ISD1100系列中有10s和12s的單片聲音錄放器件ISD1110和ISD1112。</p><p> ISD1200系列中有10s和12s的單片聲音錄放器件ISD1210和ISD1212。</p><p> ISD1400系列中有16s和
47、20s的單片聲音錄放器件ISD1416和ISD1620。</p><p> ISD1800系列中有8s、10s、12s和16s的單片單段聲音錄放器件ISD1810。</p><p> ISD2500系列中有32s、40s、48s、64s和60s、75s、90s、120s的單片聲音錄放器件ISD2532、ISD2540、ISD2548、ISD2564和ISD2560、ISD2575、IS
48、D2590、ISD120。</p><p> ISD4000系列中有120s、150s、180s和240s的單片聲音錄放器件ISD4001、ISD4002、ISD4003和ISD4004。</p><p> ISD5000系列中有4min、5min、6min和8min的單片聲音錄放器件ISD5008。</p><p> 其中ISD1100系列、ISD1200系
49、列和ISD1400系列都是獨(dú)立使用;ISD2500系列是手動切換或則與微控制器兼容,放音時可以用邊沿或電平進(jìn)行觸發(fā);ISD4000系列、ISD5000系列都帶有微控制器SPI或Microwire串行接口。</p><p> (2)語音芯片ISD4003</p><p> ISD4000系列單片聲音錄放器件是用CMOS工藝實現(xiàn)的高語音質(zhì)量、3V工作電壓的集成電路芯片,特別適用于移動電話和
50、各種便攜式產(chǎn)品。按錄放時間又分ISD4002、ISD4003和ISD4004三個子系列。片內(nèi)集成有振蕩器、抗混疊濾波器、平滑濾波器、自動靜音電路、音頻放大器和高密度多級Flash存儲陣列。這個系列的新片要求用于微處理器或微控制器系列,通過串行外圍接口SPI或Microwire串行接口進(jìn)行尋址和控制。錄音數(shù)據(jù)被存放方法是通過ISD的多級存儲專利技術(shù)實現(xiàn)的,用聲音和聲頻信號的自然形式直接存放在故態(tài)存儲器中,從而提供高質(zhì)量回放語音的保真度。&
51、lt;/p><p> ISD4003的主要性能及其特點(diǎn):</p><p> 單片實現(xiàn)聲音錄放功能;采用單一3V工作電壓;低功耗:典型的錄音工作電流為25mA;典型的放音工作電流為15mA,典型待機(jī)節(jié)能狀態(tài)電流為1uA;單片錄放時間為8min、10min、12min和16min;高質(zhì)量自然的聲音/音頻回放;自動靜音電路可以在無聲狀態(tài)時消除背景噪音;不需要考慮實現(xiàn)算法;具有微控制器SPI或Mi
52、crowire串行接口;可以對多段信息尋址控制;可以通過SPI或Microwire控制寄存器控制功耗;語音數(shù)據(jù)斷電不丟失,可以保存100年;允許反復(fù)錄音10萬次;片上帶有時鐘源;有PDIP、SOIC、TSOP和CSP多種封裝形式;使用溫度范圍有商業(yè)用擴(kuò)展型和工業(yè)用兩種可供選擇:商業(yè)品擴(kuò)展型:-20~+70℃,工業(yè)品:-40~+85℃。</p><p> ISD4003外部引腳及其說明:</p>&
53、lt;p> 電源 (VCCA,VCCD):為使噪聲最小,芯片的模擬和數(shù)字電路使用不同的電源總線,并且分別引到外封裝的不同管腳上,模擬和數(shù)字電源端最好分別走線,盡可能在靠近供電端處相連,而去耦電容應(yīng)盡量靠近器件;</p><p> 地線(VSSA,VSSD):芯片內(nèi)部的模擬和數(shù)字電路也使用不同的地線;</p><p> 同相模擬輸入(ANA IN+): 這是錄音信號的同相輸入端。
54、輸入放大器可用單端或差分驅(qū)動。單端輸入時,信號由耦合電容輸入,最大幅度為峰峰值32mV,耦合電容和本端的3KΩ電阻輸入阻抗決定了芯片頻帶的低端截止頻率。差分驅(qū)動時,信號最大幅度為峰峰值16mV,為ISD33000系列相同;</p><p> 反相模擬輸入(ANA IN-):差分驅(qū)動時,這是錄音信號的反相輸入端。信號通過耦合電容輸入,最大幅度為峰峰值16mV;</p><p> 音頻輸出
55、(AUD OUT):提供音頻輸出,可驅(qū)動5KΩ的負(fù)載;</p><p> 片選(SS):此端為低,即向該ISD4003芯片發(fā)送指令,兩條指令之間為高電平;</p><p> 串行輸入(MOSI):此端為串行輸入端,主控制器應(yīng)在串行時鐘上升沿之前半個周期將數(shù)據(jù)放到本端,供ISD輸入;。</p><p> 串行輸出(MISO):ISD的串行輸出端。ISD未選中時,
56、本端呈高阻態(tài);</p><p> 串行時鐘(SCLK):ISD的時鐘輸入端,由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸。數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD;</p><p> 中斷(/INT):本端為漏極開路輸出。ISD在任何操作(包括快進(jìn))中檢測到EOM或OVF時,本端變低并保持。中斷狀態(tài)在下一個SPI周期開始時清除。中斷狀態(tài)也可用RINT指令讀取。OVF
57、標(biāo)志----指示ISD的錄、放操作已到達(dá)存儲器的未尾。EOM標(biāo)志----只在放音中檢測到內(nèi)部的EOM標(biāo)志時,此狀態(tài)位才置;</p><p> 行地址時鐘(RAC):漏極開路輸出。每個RAC周期表示ISD存儲器的操作進(jìn)行了一行(ISD4003系列中的存貯器共2400行)。該信號175ms保持高電平,低電平為25ms??爝M(jìn)模式下,RAC的218.75μs是高電平,31.25μs為低電平。該端可用于存儲管理技術(shù);&l
58、t;/p><p> 外部時鐘(XCLK):本端內(nèi)部有下拉元件。芯片內(nèi)部的采樣時鐘在出廠前已調(diào)校,誤差在 +1%內(nèi)。商業(yè)級芯片在整個溫度和電壓范圍內(nèi), 頻率變化在+2.25%內(nèi)。工業(yè)級芯片在整個溫度和電壓范圍內(nèi),頻率變化在-6/+4%內(nèi),此時建議使用穩(wěn)壓電源。若要求更高精度,可從本端輸入外部時鐘(如前表所列)。由于內(nèi)部的防混淆及平滑濾波器已設(shè)定,故上述推薦的時鐘頻率不應(yīng)改變。輸入時鐘的占空比無關(guān)緊要,因內(nèi)部首先進(jìn)行了
59、分頻。在不外接地時鐘時,此端必須接地;</p><p> 自動靜噪(AMCAP):當(dāng)錄音信號電平下降到內(nèi)部設(shè)定的某一閾值以下時,自動靜噪功能使信號衰弱,這樣有助于養(yǎng)活無信號(靜音)時的噪聲。通常本端對地接1mF的電容,構(gòu)成內(nèi)部信號電平峰值檢測電路的一部分。檢出的峰值電平與內(nèi)部設(shè)定的閾值作比較,決定自動靜噪功能的翻轉(zhuǎn)點(diǎn)。大信號時,自動靜噪電路不衰減,靜音時衰減6dB。1mF的電容也影響自動靜噪電路對信號幅度的響應(yīng)
60、速度。本端接VCCA則禁止自動靜噪。</p><p> 圖3.11 ISD4003引腳圖</p><p> 極限參數(shù):支流電源電壓范圍(Vcc~Vss):-0.3~+0.7V;輸入電壓范圍(所有引腳):(Vss-0.3V)~(Vcc+0.3V);輸入電壓范圍(所有引腳,輸入電流不超過±20mA):(Vss-1.0V)~(Vcc+1.0V);輸入電壓范圍(MOSI、SCLK、
61、INT、RAC、SS引腳,輸入電流不超過±20mA):(Vss-1.0V)~5.5V;結(jié)溫:+150℃;存儲溫度范圍(Tstg):-65~+150℃;引腳焊接溫度(10s):+300℃; 串行外圍接口SPI;</p><p> ISD4003SPI串行接口協(xié)議:</p><p> ISD4003SPI的串行操作是通過SPI串行接口實現(xiàn)的,SPI串行接口協(xié)議:數(shù)據(jù)傳輸協(xié)議設(shè)定微
62、控制器SPI的移位寄存器是有串行時鐘SCLK的下降沿驅(qū)動。而對ISD4003數(shù)據(jù)輸入是由MOSI引腳上的上升沿驅(qū)動,數(shù)據(jù)輸出是由MISO引腳上的下降沿驅(qū)動;所有串行數(shù)據(jù)傳送都是由/SS引腳上的下降沿開始;在所有串行通信期間,/SS引腳上都保持低電平,而在兩條指令之間保持高電平;數(shù)據(jù)輸入由時鐘的上升沿驅(qū)動,數(shù)據(jù)輸出由時鐘的下降沿驅(qū)動;錄音和放音操作的初始化是通過把/SS引腳為低電平使能芯片,把操作碼和地址串行輸入;輸入操作碼和地址的格式如
63、:<8位控制碼>和<16位地址>;每個由EOM或溢出產(chǎn)生的結(jié)果信號都將產(chǎn)生中斷,包括報文周期插入周期。當(dāng)下一次初始化SPI周期時,中斷將被清除;當(dāng)中斷數(shù)據(jù)被移位移出MISO引腳時,控制和地址數(shù)據(jù)就同時被移進(jìn)MOSI引腳。需要注意的是,移入的數(shù)據(jù)與當(dāng)前系統(tǒng)的操作是一致的。有可能在同一個SPI周期讀中斷數(shù)據(jù)和啟動一個新的操作;任何一個操作都是從RUN位被置1開始,由RUN位清零結(jié)束;所有的操作都是有/SS的上升沿開始
64、;SPI控制寄存器用于各個期間功能的控制,這些控</p><p> ISD4003SPI是控制寄存器:</p><p> N控制寄存器:用于控制操作。當(dāng)其為1時,啟動操作;當(dāng)其為0時,停止操作。/控制寄存器:用于選擇放音和錄音操作。當(dāng)其為1時選擇放音操作;當(dāng)其為0時,選擇錄音操作。MC控制寄存器:用語控制報文插入功能。當(dāng)其為1時,允許報文插入;當(dāng)其為0時,關(guān)閉報文插入功能;PU控制寄存
65、器:用于主電源控制。當(dāng)其為1時,控制上電;當(dāng)其為0時,掉電進(jìn)入節(jié)能狀態(tài);IAB控制寄存器:忽略地址控制位。當(dāng)其為1時,忽略輸入地址寄存器的內(nèi)容A9-A0/A15-A0。當(dāng)其為0時,使用在操作上使用的輸入地址寄存器的內(nèi)容A9-A0/A15-A0。當(dāng)IAB被清0時,放音或錄音操作就從地址A9-A0/A15-A0開始。為了連續(xù)放音或錄音,IAB應(yīng)該在相應(yīng)行結(jié)束前變?yōu)?,否則將會從同一行的地址處重復(fù)操作。存儲器管理時,RAC(行地址時鐘)引腳和
66、IAB可以用來繞著存儲器分段移動;P9-P0/P15-P0:行指針寄存器的輸出;A9-A0/A15-A0:輸入地址寄存器。</p><p> 圖3.12 SPI端口及其相關(guān)控制位示意圖</p><p> 3.2.2錄音、放音電路設(shè)計</p><p> ISD4003聲音錄放器件的采樣頻率為6.4kHz,它單片錄放時間有8min、10min、12min和16mi
67、n幾種,其采用內(nèi)置非易失性FLASH存儲器,這種快擦寫存儲器斷電不會丟失數(shù)據(jù),所以保存數(shù)據(jù)不需要耗電。典型的被存儲信息可以保存時間高達(dá)100年,同一個存儲單元可以反復(fù)被錄音10萬次。</p><p> (1)功放電路的設(shè)計</p><p> ISD4003芯片的音頻輸出引腳AUD OUT可以驅(qū)動一個5k的負(fù)載,當(dāng)器件上電后,該引腳輸出的電源為1.2V。本設(shè)計中選用的放大器是LM386,
68、LM386是為低電壓應(yīng)用設(shè)計的音頻功率放大器,其工作電壓為6V,最大失真度為0.2,功率頻響為20~100kHz。功放電路連線圖如圖3.13所示。</p><p><b> 圖3.13功放電路</b></p><p> 由于功率放大器OPAMP要接+5V電壓,因此還需要一個電壓變換電路將24V電壓變換成+5V的電壓。這里選用的是芯片OPAMP。LM331是三端可調(diào)
69、式集成穩(wěn)壓器,其電路結(jié)構(gòu)和外接元件如圖3.14所示。它的內(nèi)部電路有比較放大器、偏置電路(圖中未畫出)、恒流源電路和帶隙基準(zhǔn)電壓等,它的公共端改接到輸出端,器件本身無接地端。所以消耗的電流都從輸出端流出,內(nèi)部的基準(zhǔn)電壓(約1.2V)接至比較放大器的同相端和調(diào)整端之間。若接上外部的調(diào)整電阻R1、R2后,LM317的=1.2V,=50uA,由于調(diào)整端電流 、,故可以忽略,</p><p> 圖3.14 三端可調(diào)試集成
70、穩(wěn)壓器結(jié)構(gòu)圖</p><p><b> 所以上式化簡為:</b></p><p><b> (3.1)</b></p><p> 電壓變換電路連線圖如圖3.15所示:</p><p> 圖3.15 電壓變換電路</p><p> (2) 錄音電路的設(shè)計</p&
71、gt;<p> 連線圖如圖3.16所示,MIC是麥克風(fēng),即語音信號的輸入端,輸出的模擬語音信號經(jīng)過三極管組成的放大器放大后加到ISD4003語音芯片的ANA IN+反向模擬輸入端。</p><p> 圖3.16 錄音電路</p><p> 3.3 LED1602液晶顯示電路設(shè)計</p><p> 3.3.1 LCD液晶顯示流程圖</p&g
72、t;<p> LCD液晶顯示是通過調(diào)用初始化程序,寫數(shù)據(jù)子程序,寫指令子程序,地址轉(zhuǎn)換子程序,讀忙狀態(tài)子程序以及延時子程序組合。具體如下:</p><p> 圖3.17 寫數(shù)據(jù)子程序流程圖</p><p> 3.3.2 LED1602液晶顯示電路設(shè)計</p><p> 圖3.18 LED1602液晶顯示電路設(shè)計</p><p
73、><b> 4軟件設(shè)計</b></p><p> 4.1主控程序的設(shè)計</p><p> 流程圖如圖4.1所示</p><p> 圖4.1 整體流程圖</p><p> 首先,設(shè)備上電以后,程序開始運(yùn)行。進(jìn)入主函數(shù)后,開始對系統(tǒng)的一些初始化。初始化完成以后,因為在被系統(tǒng)的設(shè)計中,我們是利用外部中斷來進(jìn)行計
74、數(shù)來模擬汽車車輪前進(jìn)的圈數(shù)。當(dāng)我們計數(shù)值沒有到達(dá),則我們應(yīng)該返回,如果在這個時候我們按下了復(fù)位鍵,這是程序也的返回。當(dāng)我們計數(shù)的值到達(dá)以后,我們這個時候可以調(diào)用語言報站程序,使喇叭發(fā)出聲音,提醒乘客站點(diǎn)已到。如果語音報站程序執(zhí)行完畢以后,程序自然返回到開始出,在重新執(zhí)行。</p><p> 4.2程序清單與元件清單</p><p><b> ?。?)程序清單</b>
75、</p><p> 一:ISD4003驅(qū)動程序</p><p> #include"isd4004.h"</p><p> #include"delay.h"</p><p> void play(uint addr)</p><p><b> {</b
76、></p><p><b> uchar i;</b></p><p><b> SS=0;</b></p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p>
77、 for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK=0;</b></p><p> if((ISDPOWERUP>>i)&0x01)</p><p><b> {</b></p&
78、gt;<p><b> MOSI=1;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b&
79、gt;</p><p><b> }</b></p><p> delay_spi();</p><p><b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p>
80、<p><b> SS=1;</b></p><p> delay_50ms(2);</p><p><b> SS=0;</b></p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b><
81、;/p><p> for(i=0;i<16;i++)</p><p><b> {</b></p><p><b> SCLK=0;</b></p><p> if((addr>>i)&0x01)</p><p><b> {<
82、/b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> M
83、OSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p><b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b>
84、;</p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK
85、=0;</b></p><p> if((PLAYSET>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p&
86、gt;<b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p>&
87、lt;b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p> delay_50ms(2);</p><p><b>
88、 SS=0;</b></p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p>
89、<b> SCLK=0;</b></p><p> if((PLAYCUR>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b><
90、;/p><p><b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p&
91、gt;<p><b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p><b> }</b></p>
92、<p><b> /*</b></p><p> void record(uint addr)</p><p><b> {</b></p><p><b> uchar i;</b></p><p><b> SS=0;</b>&
93、lt;/p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK=0
94、;</b></p><p> if((ISDPOWERUP>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p
95、><b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p>
96、<b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p> delay_50ms(2);</p><p><b>
97、 SS=0;</b></p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p>
98、;<b> SCLK=0;</b></p><p> if((ISDPOWERUP>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b>
99、;</p><p><b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();<
100、;/p><p><b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p> delay_50ms(2);</p>
101、<p> delay_50ms(2);</p><p><b> SS=0;</b></p><p><b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<16;i++)</p
102、><p><b> {</b></p><p><b> SCLK=0;</b></p><p> if((addr>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;&
103、lt;/b></p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b>
104、 }</b></p><p> delay_spi();</p><p><b> SCLK=1;</b></p><p> delay_spi();</p><p><b> }</b></p><p><b> MOSI=0;</b
105、></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK=0;</b></p><p> if((RECSET
106、>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p><b> else</b></p><p&g
107、t;<b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p><b> SCLK=1;</b></p><p>
108、; delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p> delay_50ms(2);</p><p><b> SS=0;</b></p><p><b>
109、 MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK=0;</b></p><p&
110、gt; if((RECCUR>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p><b> else</b><
111、/p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p><b> SCLK=1;</b></
112、p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p><b> }</b></p><p> void stop()</p><p>&l
113、t;b> {</b></p><p><b> uchar i;</b></p><p><b> SS=1;</b></p><p> delay_50ms(2);</p><p><b> SS=0;</b></p><p&g
114、t;<b> MOSI=0;</b></p><p><b> SCLK=0;</b></p><p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCLK=0;</b></p&
115、gt;<p> if((OPERSTOP>>i)&0x01)</p><p><b> {</b></p><p><b> MOSI=1;</b></p><p><b> }</b></p><p><b> else&
116、lt;/b></p><p><b> {</b></p><p><b> MOSI=0;</b></p><p><b> }</b></p><p> delay_spi();</p><p><b> SCLK=1;&l
117、t;/b></p><p> delay_spi();</p><p><b> }</b></p><p><b> SS=1;</b></p><p><b> }*/</b></p><p><b> 二:主函數(shù)</
118、b></p><p> #include"main.h"</p><p> #include"playrecord.h"</p><p> #include"lcd12864.h"</p><p> #include"ds1302.h"</p&
119、gt;<p> #include"delay.h"</p><p> #include"ds18b20.h"</p><p> #include"keyscan.h"</p><p> uchar code str4[][16]={</p><p> {&qu
120、ot;湖北理工學(xué)院到了! "},</p><p> {"皇姑嶺到了!"},</p><p> {"桂花廣場到了! "},</p><p> {"湖北師范學(xué)院到了!"}</p><p><b> };</b></p><p
121、> uchar code str5[][16]={</p><p> {" 尊老愛幼 "},</p><p> {" 互相謙讓 "},</p><p> {" 互相幫助 "},</p><p> {" 追求和諧
122、 "}</p><p><b> };</b></p><p> uchar count;</p><p> uchar temp;</p><p> void init()</p><p><b> {</b></p><p>&
123、lt;b> EA=1;</b></p><p><b> EX0=1;</b></p><p><b> IT0=1;</b></p><p><b> count=0;</b></p><p><b> }</b></p
124、><p> void str_pros()</p><p><b> {</b></p><p> str1[2]=codetable[disp[0]/16];</p><p> str1[3]=codetable[disp[0]%16];</p><p> str1[5]=codetabl
125、e[disp[2]/16];</p><p> str1[6]=codetable[disp[2]%16];</p><p> str1[8]=codetable[disp[3]/16];</p><p> str1[9]=codetable[disp[3]%16];</p><p> str2[0]=codetable[disp[4
126、]/16];</p><p> str2[1]=codetable[disp[4]%16];</p><p> str2[3]=codetable[disp[5]/16];</p><p> str2[4]=codetable[disp[5]%16];</p><p> str2[6]=codetable[disp[6]/16];&l
127、t;/p><p> str2[7]=codetable[disp[6]%16];</p><p> str2[14]=weektable[(disp[1]%16-1)*2]; </p><p> str2[15]=weektable[(disp[1]%16-1)*2+1];</p><p> temp=readtmp();</p&
128、gt;<p> str1[12]=codetable[temp/10];</p><p> str1[13]=codetable[temp%10];</p><p><b> }</b></p><p> void display_biaoyu()</p><p><b> {</
129、b></p><p> switch(count)</p><p><b> {</b></p><p> case 5: display4(str4[0],4);break;</p><p> case 10:display4(str4[1],4);break;</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單片機(jī)課程設(shè)計---公交車自動報站系統(tǒng)
- 嵌入式課程設(shè)計--公交車語音報站系統(tǒng)
- 課程設(shè)計-單片機(jī)原理公交車語音報站系統(tǒng)設(shè)計
- 課程設(shè)計——基于單片機(jī)的公交車報站器設(shè)計
- 公交車人機(jī)課程設(shè)計
- 畢業(yè)設(shè)計--公交車智能報站
- 公交車語音報站器設(shè)計[開題報告]
- 智能公交車報站系統(tǒng)設(shè)計【開題報告】
- 公交車自動報站系統(tǒng)畢業(yè)設(shè)計
- 公交車自動報站系統(tǒng)畢業(yè)設(shè)計
- 模擬公交車報站系統(tǒng)設(shè)計【文獻(xiàn)綜述】
- 公交車自動報站系統(tǒng)開題報告
- 畢業(yè)設(shè)計---公交車報站系統(tǒng)的設(shè)計
- 公交車語音報站器設(shè)計【畢業(yè)論文】
- 外文翻譯--公交車自動報站系統(tǒng)
- 公交車語音報站器設(shè)計[任務(wù)書]
- 智能公交車報站系統(tǒng)設(shè)計【任務(wù)書】
- 公交車自動報站的系統(tǒng)畢業(yè)設(shè)計
- 智能公交車報站系統(tǒng)設(shè)計【畢業(yè)論文】
- 畢業(yè)設(shè)計---公交車自動報站系統(tǒng)的設(shè)計
評論
0/150
提交評論