基于單片機的公交報站系統(tǒng)的設(shè)計_第1頁
基于單片機的公交報站系統(tǒng)的設(shè)計_第2頁
基于單片機的公交報站系統(tǒng)的設(shè)計_第3頁
基于單片機的公交報站系統(tǒng)的設(shè)計_第4頁
基于單片機的公交報站系統(tǒng)的設(shè)計_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

內(nèi)容摘要隨著我國經(jīng)濟(jì)的飛速開展和城市化進(jìn)程的加深,城市人口日益膨脹,機動車輛急劇增加,城市交通壓力越來越大。開展公共交通事業(yè)是為居民提供平安有序的出行方式不可替代的途徑,公共交通管理的高質(zhì)量和公共效勞水平的人性化是吸引居民采用公交出行的有效途徑,是中國解決交通問題的重要措施。公交車報站系統(tǒng)是公共交通系統(tǒng)的一個重要的組成局部,設(shè)計先進(jìn)的報站系統(tǒng)能為廣闊居民乘車提供優(yōu)質(zhì)的效勞,提高公交系統(tǒng)的效勞水平。本設(shè)計主要研究的是基于AT89C51的公交車自動報站系統(tǒng),以實現(xiàn)公交車的語音自動報站,即在進(jìn)站、出站時候自動播報語音提示信息,同時利用LCD液晶屏進(jìn)行站點信息顯示。本設(shè)計要求利用AT89C51作為主控芯片完成主控電路的設(shè)計,輔助電路要求包括語音電路、LCD顯示電路、電源電路等。本設(shè)計介紹基于AT89C51單片機實現(xiàn)自動報站功能,該系統(tǒng)能實夠?qū)崿F(xiàn)語音質(zhì)量好,良好的顯示站臺信息和站點數(shù),自動報站并及時更新等功能。在附錄中,本文還將給出一些重要的程序設(shè)計,供參考之用。關(guān)鍵詞:自動報站;AT89C51單片機;語音電路;LCDABSTRACTWiththedeepeningofChina'srapideconomicdevelopmentandurbanization,theurbanpopulationswelling,asharpincreaseinmotorvehicles,theincreasingpressureofurbantraffic.Thedevelopmentofpublictransportisanirreplaceablewaytoprovidetheresidentswithasafeandorderlywaytotravel,publictransportmanagementqualityandthehumanizationofthelevelofpublicservicesisaneffectivewaytoattractresidentsusingthebustravelisimportantforChinatosolvethetrafficproblemsmeasures.Thebusstopannouncementsystemisanimportantpartofthepublictransportsystem,thedesignofadvancedstopsystemforthemajorityofresidentstravelingtoprovidequalityservices,toimprovethetransitsystem'sservicelevel.ThemainstudyofthisdesignisAT89C51-bus-basedautomaticstopannouncementsystems,inordertoachievethevoiceofthebusstopinthepitstopoutboundtimeautomaticallybroadcastavoicemessage,whiletakingadvantageoftheLCDscreentositeinformation.ThedesignrequirementsbyAT89C51asthemainchiptocompletethedesignofthemaincontrolcircuit,auxiliarycircuitrequirementsincludevoicecircuits,LCDdisplaycircuit,powercircuit.Thisdesignintroducestheautomaticstopfunction,thesystemcanberealenoughtoachievegoodvoicequality,gooddisplaysiteinformationandthenumberofsites,andautomaticallystopandpromptlyupdatethefunctionalitybasedonAT89C51microcontroller.Atthesupplement,somethinglikeprogramcode,dialogsetcwillbewritten.Itmaybehelpfulforthefuturedesign.KEYWORDS:SCMAT89S51,ISD1700speechchip,LCD目錄第TOC\o"1-3"\h\z一章.緒論11.1公交報站系統(tǒng)的現(xiàn)狀與開展方向 11.2公交報站系統(tǒng)設(shè)計的意義 11.3公交報站系統(tǒng)設(shè)計的任務(wù)及要求 11.4公交報站系統(tǒng)設(shè)計研究內(nèi)容2第二章.公交報站系統(tǒng)方案設(shè)計22.1公交報站系統(tǒng)設(shè)計思路 22.2公交報站系統(tǒng)方案比擬和選擇 22.2.1方案一22.2.2方案二32.2.3方案選擇3第三章.公交報站系統(tǒng)硬件設(shè)計53.1主控電路設(shè)計53.1.1AT89C51單片機的介紹 53.1.2振蕩器電路設(shè)計 73.1.3復(fù)位電源電路設(shè)計 83.2語音輸出電路脈設(shè)計 103.3LCD1602液晶顯示電路設(shè)計143.3.1LCD液晶顯示器件介紹143.3.2LCD液晶顯示流程圖163.3.3LCD1602液晶顯示電路設(shè)計17第四章軟件設(shè)計184.1系統(tǒng)程序流程圖 184.2程序子函數(shù)模塊代碼 20第五章系統(tǒng)仿真與調(diào)試255.1系統(tǒng)的仿真 255.2系統(tǒng)調(diào)試27結(jié)束語28參考文獻(xiàn)29附錄程序清單30致謝37第一章緒論隨著科學(xué)技術(shù)的日益開展和進(jìn)步,城市化進(jìn)程的加快,公共交通作為城市的根底設(shè)施之一,是絕大多出行者的首選交通方式。為了使得人們特別是為外來旅游、出差、就醫(yī)、工作等急需了解本地的公交路線的人提供高效、方便、快捷的公交系統(tǒng),使他們能夠方便的獲得自己所需要的各種信息,以此來減少各種不必要產(chǎn)生的交通流量,緩解交通壓力,提高公交車的運作效率,由此公交車自動報站系統(tǒng)便得到了快速開展。在計算機還未普及之前公交車報站管理都是有工作人員人工報站的方式來操作的。隨著社會的進(jìn)步和計算機的快速開展,便有了公交車自動報站系統(tǒng)的出現(xiàn)。語音報站系統(tǒng)在公交車上的廣泛使用,這在相當(dāng)大的程度上免除了乘務(wù)人員沿途報站的麻煩,防止了錯報、漏報,給許多不熟悉公交線路的乘客帶來了方便。1.1公交報站系統(tǒng)的現(xiàn)狀與開展方向公交車報站器在公交事業(yè)中占有舉足輕重的地位,它直接影響到公交車的效勞質(zhì)量。目前公交車報站有三種方式,一種是利用GPS全球衛(wèi)星定位系統(tǒng)的公交車報站系統(tǒng),在司機座位后面隔板上,安裝了一臺15英寸的液晶電視和GPS信號接收器,安裝了這套設(shè)備后,公交車在語音報站的同時,通過液晶電視還可以顯示到站站名的字幕,這樣如果沒聽清報站的話,通過顯示屏,乘客也可以一目了然。當(dāng)出現(xiàn)緊急情況時,調(diào)度中心將會給公交車發(fā)出相應(yīng)的信息,以短信的形式傳送到顯示屏上,同時車載臺會發(fā)出相應(yīng)的提示音;駕駛員也可以通過相應(yīng)的工具進(jìn)行回復(fù)。目前在美國局部城市GPS衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無法承受。另外兩種是手動電子報站和人工報站的方式,而它們都離不開司務(wù)人員,加大司乘人員的工作強度。手動電子報站一般有司機或者乘務(wù)員控制,經(jīng)常出現(xiàn)錯報,誤報的情況。城市公共交通是市民出行的主要交通工具之一。提供舒適,平安、便捷的乘車環(huán)境,對于公交企業(yè)來說,不僅是應(yīng)盡的責(zé)任,亦是不斷追求的目標(biāo)。1.2公交報站系統(tǒng)設(shè)計的意義近年來單片機技術(shù)迅猛開展,廣泛應(yīng)用于諸多領(lǐng)域,在公交事業(yè)上已經(jīng)運用單片機來實現(xiàn)公交報站這項功能。但由于現(xiàn)在的公交車大局部還是采用的人工手動控制的報站器,這不但影響了公交司機的正常駕駛,分散了駕駛員的注意力,同時也加重了他的工作的負(fù)擔(dān)。不過這相對于以前的人工報站已經(jīng)有了大的提高,但同時由于人工控制就存在著過失,給人們的出行帶來不便。為了使大家的生活更加便捷,讓公交車駕駛員的工作量能有效減輕,減少報站出錯等的問題,故運用單片機技術(shù)、語音芯片技術(shù)、無線收發(fā)技術(shù)以及液晶顯技術(shù)溶于一體設(shè)計出既能手動又能自動報站的公交語音自動報站系統(tǒng),使每輛公交車都能準(zhǔn)確無誤的實現(xiàn)報站,讓每位乘客準(zhǔn)確知道自己的位置。1.3本設(shè)計的任務(wù)及要求本設(shè)計主要設(shè)計一種用單片機設(shè)計公交車報站系統(tǒng)。利用AT89C51單片機控制語音芯片ISD1700語音芯片模塊來控制播報站點信息,站點信息那么通過LCD液晶屏顯示出來。該設(shè)計可以模擬人聲音進(jìn)行報站和預(yù)報站;能準(zhǔn)確報站,可及時更新。本設(shè)計要求利用AT89C51作為主控芯片完成主控電路的設(shè)計,輔助電路要求包括語音電路、LCD顯示電路、電源電路等。1.4設(shè)計研究內(nèi)容根據(jù)對公交報站器的調(diào)研,本設(shè)計主要研究一種采用單片機來設(shè)計既能手動又能自動報站的公交語音自動報站系統(tǒng)。此設(shè)計主要采用AT89C51單片機、LCD顯示模塊、ISD1700語音芯片來設(shè)計本公交報站系統(tǒng)。第二章系統(tǒng)方案設(shè)計2.1系統(tǒng)設(shè)計思路本系統(tǒng)采用兩種工作模式,分別為自動模式和手動模式。本次設(shè)計采用一個AT89C51單片機作為接收端的控制器。在每個站臺上安裝上無線發(fā)射裝置,信號由無線發(fā)射頭通過編碼芯片不斷向一定半徑范圍內(nèi)發(fā)射無線信號。而公交車上那么安裝主體器件。包括LCD液晶顯示模塊、無線接收識別模塊以及語音播報模塊等。無線接收識別模塊由無線接收頭通過解碼芯片解碼接收到的信號。C51對無線接收模塊的端口進(jìn)行掃描,當(dāng)公交車即將到站進(jìn)入信號范圍時,端口電平發(fā)生改變,C51識別到后先調(diào)用語音芯片內(nèi)部播放指針,讓其指向預(yù)置的數(shù)據(jù)段,并進(jìn)行播報。同時改變LCD的顯示內(nèi)容,將下一站的站名進(jìn)行更新。接著下車指示燈亮起,通知到站乘客下車。車子離站臺后信號消失,指示燈熄滅。2.2系統(tǒng)方案比擬和選擇2.2.1方案一公交車站自動報站器的設(shè)計,對車輪軸的轉(zhuǎn)角的脈沖進(jìn)行計數(shù),將計數(shù)值與預(yù)置值比照,即可確定報站時刻,到達(dá)準(zhǔn)確自動的目的。以AT89C51為主控芯片,對外來脈沖計數(shù),結(jié)合語音芯片ISD1700輸出語音。系統(tǒng)由脈沖檢測、脈沖計數(shù)、CPU控制、控制信號、語音芯片、輸出顯示等組成。原理框圖如圖2-1所示。音頻播放電路語音芯片音頻播放電路語音芯片輸出顯示CPU控制控制信號輸出顯示CPU控制控制信號脈沖計數(shù)脈沖檢測脈沖計數(shù)脈沖檢測圖2-1原理框圖1.CPU控制:程序中將計數(shù)值于預(yù)置值進(jìn)行比擬,判斷是否到站,當(dāng)?shù)秸緯r就輸出信號控制語言芯片進(jìn)行報站。2.控制按鍵:用于手動控制、手動調(diào)整、預(yù)置值的輸入等。3.語言芯片:由專用語音芯片ISD1700組成,可擦寫,便于在不同公交線上使用。4.輸出顯示:LCD液晶屏顯示。5.預(yù)置存儲:采用兩種方式存儲,一種是在燒寫器上將數(shù)據(jù)寫入,另一種是在車上,單片機處于輸入狀態(tài),車輛行駛一遍,將站與站之間的脈沖數(shù)寫入片內(nèi)。2.2.2方案二利用8031單片機作為CPU來進(jìn)行總體控制,當(dāng)汽車到達(dá)某站時,汽車司機通過鍵盤來控制本系統(tǒng)進(jìn)行工作,并且,系統(tǒng)將使用狀態(tài)指示電路,向司機指示出當(dāng)前的行駛方向及站號。原理圖框圖如圖2-2所示。語音合成電路LED點陣顯示電路8031小系統(tǒng)語音合成電路LED點陣顯示電路8031小系統(tǒng)鍵盤狀態(tài)指示電路語音輸入輸出電路鍵盤狀態(tài)指示電路語音輸入輸出電路圖2-2原理框圖本系統(tǒng)使用8031作為CPU,由CPU去控制語音芯片,使系統(tǒng)在8031的控制下工作運行。當(dāng)系統(tǒng)進(jìn)行語音再生時,由CPU控制語音合成電路中的語音芯片來讀取其外接的存儲器內(nèi)部的語音信息,并合成語音信號,再通過語音輸出電路,進(jìn)行語音報站和提示。CPU同時通過程序讀取漢字信息,送入LCD屏顯示電路來進(jìn)行站點信息提示。當(dāng)系統(tǒng)進(jìn)行語音錄制時,語音信號通過語音輸入電路輸入給語音合成電路中的語音合成芯片,由語音合成芯片進(jìn)行數(shù)據(jù)處理,并將生成的數(shù)字語音信息存儲到語音存儲芯片中,從而建立語音庫。2.2.3方案選擇將方案一與方案二進(jìn)行比擬,方案二是采用8031單片機控制,通過鍵盤來控制報站時刻,需要全人工員手動控制,比擬繁瑣。所以本課題決定選用方案一,它使用AT89C51作為主控制芯片,通過對里程的計數(shù)來控制報站時刻,無需人工控制,選用的語音芯片是美國ISD公司的ISD1700,該芯片與其它語音芯片相比擬,其語音音質(zhì)好,錄放時間長。第三章系統(tǒng)硬件設(shè)計3.1主控電路設(shè)計公交車報站系統(tǒng)主要由四個局部組成,即主控電路、顯示電路、語音電路以及電源電路。3.1.1AT89C51單片機的介紹AT89C51是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含有4Kbytes的可反復(fù)擦寫的只讀程序存儲器和128的隨機存取數(shù)據(jù)存儲器,器件采用AEMEL公司的高密度,非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和FLASH存儲單元,功能強大AT89C51單片機可為您提供許多高性價比的應(yīng)用場合,可靈活應(yīng)用于各種控制領(lǐng)域。AT89C51是一種帶4K字節(jié)FLASH存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。AT89C51提供以下標(biāo)準(zhǔn)功能:4k字節(jié)Flash閃速存儲器,128字節(jié)內(nèi)部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5向量兩級中斷結(jié)構(gòu),一個全雙工串行通信口,片內(nèi)振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內(nèi)容,但振蕩器停止工作并禁止其它所有部件工作直到下一個硬件復(fù)位。AT89C51的封裝采用雙列直插式封裝〔DIP〕,其外部含有40個引腳,如下列圖所示:圖3-1AT89C51引腳圖VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P0口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的低八位。在FIASH編程時,P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須接上拉電阻。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為低八位地址接收。P2口:P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出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編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1〞后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流〔ILL〕這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,如下表所示:表3-1端口引腳第二功能P3.0RXD(串行輸入口〕P3.1TXD(串行輸出口〕P3.2INT0(外中斷0〕P3.3INT1(外部中斷1〕P3.4T0(定時/計數(shù)器0外部輸入〕P3.5T1(定時/計數(shù)器1外部輸入〕P3.6WR〔外部數(shù)據(jù)存儲器寫選通〕P3.7RD〔外部數(shù)據(jù)存儲器讀選通〕RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。ALE:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA:當(dāng)/EA保持低電平時,那么在此期間外部程序存儲器〔0000H-FFFFH〕,不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.1.2振蕩器電路設(shè)計89系列單片機的內(nèi)部振蕩器電路如圖3-2所示,由一個單級反相器組成。XTAL1為反相器的輸入,XTAL2為反相器的輸出??梢岳盟鼉?nèi)部的振蕩器產(chǎn)生時鐘,只要在XTAL1和XTAL2引腳上外接一個晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個完整的振蕩信號發(fā)生器,如圖3-4示,此方法稱為內(nèi)部方式。另一種使用方法如圖3-3示,由外部時鐘源提供一個時鐘信號到XTAL1端輸入,而XTAL2端浮空。在組成一個單片機應(yīng)用系統(tǒng)時,多數(shù)采用圖3-4所示的方法,這種方式的結(jié)構(gòu)緊湊,本錢低廉,可靠性高。振蕩器的等效電路如圖3-4上部所示。在圖中給出了外接元件,即外接晶體及電容C1,C2,并組成并聯(lián)諧振電路。在電路中,對電容C1和C2的值要求不是很嚴(yán)格,如果用高質(zhì)的晶振,那么不管頻率為多少,C1,C2通常都選擇20nF。有時,在某些應(yīng)用場合,為了降低本錢,晶體振蕩器可用陶瓷振蕩器代替。如果使用陶瓷振蕩器,那么電容C1,C2的值取47pF。XTAL2XTAL2XTAL1內(nèi)部定時/PD400D1D2Q1RfQ2VCCQ3Q4XTAL1XTAL289系列單片機GNDXTAL1XTAL289系列單片機GND內(nèi)部定時VCC/PDRf石英晶體或陶瓷振蕩器C1C2XTAL2XTAL2XTAL1GNDNCCMOS門外部振蕩信號圖3-3外部時鐘接法圖3-4片內(nèi)振蕩器等效電路通常,在單片機中對所使用的振蕩晶體的參數(shù)要求如下:ESR〔等效串聯(lián)電阻〕:根據(jù)所需頻率按圖3-6選取。C0〔并聯(lián)電容〕:最大7.0pF。CL〔負(fù)載電容〕:30pF+3pF。通常,其誤差及溫度變化的范圍要按系統(tǒng)的要求來確定。6006005004003002001000481216圖3-5ESR與頻率的關(guān)系曲線在本設(shè)計中,采用的是內(nèi)部方式,即如圖3-4所示,在XTAL1和XTAL2引腳上外接一個12MHZ的晶振及兩個20nF的電容組成。3.1.3復(fù)位電源電路設(shè)計89系列單片機與其他微處理器一樣,在啟動的時候都需要復(fù)位,使CPU及系統(tǒng)各部件處于確定的初始狀態(tài),并從初始狀態(tài)開始工作。89系列單片機的復(fù)位信號是從RST引腳輸入到芯片內(nèi)的施密特觸發(fā)器中的。當(dāng)系統(tǒng)處于正常工作狀態(tài)時,且振蕩器穩(wěn)定后,那么CPU就可以響應(yīng)并將系統(tǒng)復(fù)位。1、手動復(fù)位手動復(fù)位需要人為在復(fù)位輸入端RST上參加高電平。一般采用的方法是在RST端和正電源VCC之間接一個按鈕。當(dāng)人為按下按鈕時,那么VCC的+5V電平就會直接加到RST端。由于人的動作很快也會使按鈕保持接通達(dá)數(shù)十毫秒,所以,保證能滿足復(fù)位的時間要求。手動復(fù)位的電路如圖3-6所示。VccVccAT89C51RSTGND8.2k10uF+Vcc圖3-6手動復(fù)位電路2、上電復(fù)位AT89C51的上電復(fù)位電路如圖3-7所示,只要在RST復(fù)位輸入引腳上接一電容至VCC端,下接一個電阻到地即可。對于CMOS型單片機,由于在RST端內(nèi)部有一個下拉電阻,故可將外部電阻去掉,而將外接電容減至1uF。上電復(fù)位的過程是在加電時,復(fù)位電路通過電容加給RST端一個短暫的高電平信號,此高電平信號隨著Vcc對電容的充電過程而逐漸回落,即RST端的高電平信號必須維持足夠長的時間。上電時,Vcc的上升時間約為10ms,而振蕩器的起振時間取決于振蕩頻率,如晶振頻率為10MHz,起振時間為1ms;晶振頻率為1MHz,起振時間那么為10ms。在圖3-7的復(fù)位電路中,當(dāng)Vcc掉電時,必然會使RST端電壓迅速下降到0V以下,但是,由于內(nèi)部電路的限制作用,這個負(fù)電壓將不會對器件產(chǎn)生損害。另外,在復(fù)位期間,端口引腳處于隨機狀態(tài),復(fù)位后,系統(tǒng)將端口置為全“1〞態(tài)。如果系統(tǒng)在上電時得不到有效的復(fù)位,那么在程序計數(shù)器PC中將得不到一個適宜的初值,因此,CPU可能會從一個未被定義的位置開始執(zhí)行程序。VccVccAT89C51RST8.2k10uF+VccGND圖3-7上電復(fù)位電路3、復(fù)位后存放器的狀態(tài)當(dāng)系統(tǒng)復(fù)位時,內(nèi)部存放器的狀態(tài)如表3-1所列,即在SFRS中,除了端口鎖存器、堆棧指針SP和串行口的SBUF外,其余的存放器全部清0,端口鎖存器的復(fù)位值為0FFH,堆棧指針值為07H,SBUF內(nèi)為不定值。內(nèi)部RAM的狀態(tài)不受復(fù)位的影響,在系統(tǒng)上電時,RAM的內(nèi)容是不定的。專用存放器復(fù)位值專用存放器復(fù)位值PC0000HTCON00HACC00HB00HPSW00HSP07HDPTR0000HP0-P3FFHIP×××00000BIE0××00000BTMOD00HTH000HTL000HTH100HTL100HSCON00HSBUF不定PCON(CHMOS)0×××0000B表3-2各特殊功能存放器的復(fù)位值在本設(shè)計中復(fù)位電路采用的是上電復(fù)位,即如圖3-7所示。3.2語音輸出電路脈設(shè)計ISD1700是華邦I(lǐng)SD公司2007年新推出的單片優(yōu)質(zhì)語音錄放電路,該芯片提供多項新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示,雙運作模式,以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動增益控制、麥克風(fēng)前置擴大器、揚聲器驅(qū)動線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。1、特點:〔1〕可錄、放音十萬次,存儲內(nèi)容可以斷電保存一百年〔2〕兩種控制方式,兩種錄音輸入方式,兩種放音輸出方式〔3〕可處理多達(dá)255段以上信息〔4〕有豐富多樣的工作狀態(tài)提示〔5〕多種采樣頻率對應(yīng)多種錄放時間〔6〕音質(zhì)好,電壓范圍寬,應(yīng)用靈活2、電特性:〔1〕工作電壓:2.4V-5.5V,最高不能超過6V〔2〕靜態(tài)電流:0.5-1μA〔3〕工作電流:20mA圖3-8ISD1700引腳圖用戶可利用震蕩電阻來自定芯片的采樣頻率,從而決定芯片的錄放時間和錄放音質(zhì)。芯片的采樣率可以通過外部振蕩電阻來調(diào)節(jié):采樣頻率〔KHZ〕1286.45.34ROS阻值〔KΩ〕6080100120160表3-3獨立按鍵工作模式ISD1700的獨立按鍵工作模式錄放電路非常簡單,而且功能強大。不僅有錄、放功能,還有快進(jìn)、擦除、音量控制、直通放音和復(fù)位等功能。這些功能僅僅通過按鍵就可完成。在按鍵模式工作時,芯片可以通過LED管腳給出信號來提示芯片的工作狀態(tài),并且伴隨有提示音,用戶也可自定4種提示音效。錄音操作:按下REC鍵,/REC管腳電平變低后開始錄音,直到松開按鍵使電平拉高或者芯片錄滿時結(jié)束。錄音結(jié)束后,錄音指針自動移向下一個有效地址。而放音指針那么指向剛剛錄完的那段語音地址。放音操作:放音操作有兩種模式,分別是邊沿觸發(fā)和電平觸發(fā),都由PLAY管腳觸發(fā)。快進(jìn)操作:點按一下FWD按鈕將FWD端拉低,會啟動快進(jìn)操作??爝M(jìn)操作用來將播放指針移向下一段語音信息。當(dāng)播放指針到達(dá)最后一段語音處時,再次快進(jìn),指針會返回到第一段語音。當(dāng)下降沿來到FWD端時,快進(jìn)操作還要決定于芯片當(dāng)時的狀態(tài)。擦除操作:擦除操作分為單段擦除和全體擦除兩種擦除方式。復(fù)位操作:如果用RESET控制此管腳,建議RESET管腳與地之間連接一個0.1μF電容。當(dāng)RESET被觸發(fā),芯片將播放指針和錄音指針都放置在最后一段語音信息的位置。音量操作:點按一下VOL鍵將VOL管腳拉低會改變音量大小。每按一下,音量會減小一檔,再到達(dá)最小檔后再按的話,會增加音量直到最大檔,如此循環(huán)??偣灿?個音量檔供用戶選擇,每一檔會改變4dB。復(fù)位操作會將音量檔放在默認(rèn)位置,即最大音量。FT直通操作:按住FT鍵將FT管腳持續(xù)保持在低電平會啟動直通模式。出廠設(shè)定的是在芯片空閑狀態(tài),直通操作會將語音從Analn端直接通往喇叭端或AUD輸出口。在錄音期間按下FT鍵,會同時錄下Analn進(jìn)入的語音信號。4、管腳功能說明:管腳名稱PDIP/SOIC管腳TSOP管腳引腳說明VCCD122數(shù)字電路電源/LED223LED指示信號輸出/RESET324芯片復(fù)位MISO425SPI接口的串行輸出。MOSI526SPI接口的數(shù)據(jù)輸入端口。SCLK627SPI接口的時鐘。/SS728為低時,開啟SPI接口。VSSA81模擬地AnaIn92芯片錄音或直通時,輔助的模擬輸入。MIC+103麥克風(fēng)輸入+MIC-114麥克風(fēng)輸入-VSSP2125負(fù)極PWM喇叭驅(qū)動器地SP-136喇叭輸出-VCCP147PWM喇叭驅(qū)動器電源SP+158喇叭輸出+VSSP1169正極PWM喇叭驅(qū)動器地AUD/AUX1710輔助輸出,用來輸出一個AUD或AUXAGC1811自動增益控制/VOL1912音量控制ROSC2013振蕩電阻,決定芯片的采樣頻率VCCA2114模擬電路電源/FT2215在獨立芯片模式下,當(dāng)FT一直為低,Analn直通線路被激活。/PLAY2316播放控制端/REC2417錄音控制端/ERASE2518擦除控制端/FWD2619快進(jìn)控制端RDY/INT2720一個開路輸出。VSSD2821數(shù)字地3.3LCD1602液晶顯示電路設(shè)計3.3.1LCD液晶顯示器件介紹字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號等點陣式LCD,市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片,HD44780是帶西文字庫的液晶顯示控制器,用戶只需要向HD44780送ASCII的字符碼,HD44780就按照內(nèi)置的ROM點陣發(fā)生器自動在LCD液晶顯示器上顯示出來。所以,HD44780主要適用于顯示西文ASCII字符內(nèi)容的液晶顯示。1602字符型LCD能夠同時顯示16*2即32個字符(16列2行)。其內(nèi)置192種字符(160個5*7點陣字符和32個5*10點陣字符),具有64個字節(jié)的自定義字符RAM,可自定義8個5*8點陣字符或4個5*11點陣字符。1602通常有14條引腳線或16條引腳線兩種,多出來的2條線是背光電源線和地線,帶背光的比不帶背光的略厚,控制原理與14腳的LCD完全一樣,是否帶背光在應(yīng)用中并無差異。本設(shè)計中采用帶背光14引腳線的。其主要技術(shù)參數(shù)為:圖3-9LCD1602引腳圖VSS:電源地(GND)。VDD:電源電壓(5V)。VEE:LCD驅(qū)動電壓,液晶顯示器比照度調(diào)整端。使用時可以通過一個10K的電位器調(diào)整比照度,接正電源時比照度最弱,接地電源時比照度最高。RS:存放器選擇輸入端,選擇模塊內(nèi)部存放器類型信號。RS=0,進(jìn)行寫模塊操作時指向指令存放器,進(jìn)行讀模塊操作時指向地址計數(shù)器。RS=1,無論進(jìn)行讀操作還是寫操作均指向數(shù)據(jù)存放器。R/W:讀寫控制輸入端,選擇讀/寫模塊操作信號。R/W=0,讀操作;R/W=1,寫操作。本設(shè)計中只需往LCD里寫數(shù)據(jù)即可,寫時序見圖3-4。E:使能信號輸入端。讀操作時,高電平有效;寫操作時,下降沿有效DB0~DB7:數(shù)據(jù)輸入/輸出口,單片機與模塊之間的數(shù)據(jù)傳送通道。選擇4位方式通訊時,不使用DB0~DB3。1602模塊內(nèi)部主要由LCD顯示屏、控制器、列驅(qū)動器和偏壓產(chǎn)生電路構(gòu)成??刂破鹘邮軄碜訫PU的指令和數(shù)據(jù),控制著整個模塊的工作。主要由顯示數(shù)據(jù)緩沖區(qū)DDRAM,字符發(fā)生器CGROM,字符發(fā)生器CGRAM,指令存放器IR,地址存放器DR,忙標(biāo)志BF,地址計數(shù)器AC以及時序發(fā)生電路組成。模塊通過數(shù)據(jù)總線DB0~DB7和E、R/W、RS三個輸入控制端與MPU接口。這三根控制線按照規(guī)定的時序相互協(xié)調(diào)作用,使控制器通過數(shù)據(jù)總線接受MPU發(fā)來的數(shù)據(jù)和指令,從CGROM中找到欲顯示字符的字符碼,送入DDRAM,在LCD顯示屏上與DDRAM存儲單元對應(yīng)的規(guī)定位置顯示出該字符??刂破鬟€可以根據(jù)MPU的指令,實現(xiàn)字符的顯示,閃爍和移位等顯示效果。CGROM內(nèi)提供的是內(nèi)置字符碼,CGRAM那么是供用戶存儲自定義的點陣圖形字符。模塊字符在LCD顯示屏上的顯示位置與該字符的字符代碼在顯示緩沖區(qū)DDRAM內(nèi)的存儲地址一一對應(yīng)。LCD1602模塊內(nèi)部具有兩個8位存放器:指令存放器IR和地址存放器DR,用戶可以通過RS和R/W輸入信號的組合選擇指定的存放器,進(jìn)行相應(yīng)的操作。RSR/W操作00將DB0~DB7的指令代碼寫入指令存放器IR中01分別將狀態(tài)標(biāo)志BF和地址計數(shù)器AC內(nèi)容讀到DB7和DB6~DB010將DB0~DB7的數(shù)據(jù)寫入數(shù)據(jù)存放器中,模塊的內(nèi)部操作將數(shù)據(jù)寫到DDRAM或者CGRAM中的數(shù)據(jù)送入數(shù)據(jù)存放器中11將數(shù)據(jù)存放器內(nèi)的數(shù)據(jù)讀到DB0~DB7,模塊的內(nèi)部操作自動將DDRAM或者CGRAM中的數(shù)據(jù)送入數(shù)據(jù)存放器中表3-5存放器選擇組合1602提供了較為豐富的指令設(shè)置,通過選擇相應(yīng)的指令設(shè)置,用戶可以實現(xiàn)多種字符顯示樣式。下面僅簡要介紹本次設(shè)計中需要用到的一些指令設(shè)置。清屏指令Cleardisplay清顯示指令將空位字符碼20H送入全部DDRAM地址中,時DDRAM中的內(nèi)容全部去除,顯示消失,地址計數(shù)器AC=0,自動增一模式。顯示歸位,光標(biāo)閃爍回到原點(顯示屏左上角),但不改變移位設(shè)置模式。清屏指令碼見表3-6。RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001表3-6清屏指令碼進(jìn)入模式設(shè)置指令Entrymodeset見表3-7,進(jìn)入模式設(shè)置指令用于設(shè)定光標(biāo)移動方向和整體顯示是否移動。RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS表3-7模式設(shè)置指令碼顯示開關(guān)控制指令Displayon/offcontrol指令碼見表3-8,該指令功能為控制整體顯示開關(guān),光標(biāo)顯示開關(guān)和光標(biāo)閃爍開關(guān)。RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB表3-8顯示開關(guān)控制指令碼D:顯示開/關(guān)標(biāo)志。D=1,開顯示;D=0,關(guān)顯示。關(guān)顯示后,顯示數(shù)據(jù)仍保持在DDRAM中,開顯示即可再現(xiàn)。C:光標(biāo)顯示控制標(biāo)志。C=1,光標(biāo)顯示;C=0,光標(biāo)不顯示。不顯示光標(biāo)并不影響模塊其他顯示功能。顯示5*8點陣字體時,光標(biāo)在第八行顯示;顯示5*10點陣字符時,光標(biāo)在第11行顯示。B:閃爍顯示控制標(biāo)志。B=1,光標(biāo)所在位置會交替顯示全黑點陣和顯示字符,產(chǎn)生閃爍效果;B=0,光標(biāo)不閃爍。功能設(shè)置指令Functionset功能設(shè)置指令用于設(shè)置接口數(shù)據(jù)位數(shù),顯示行數(shù)以及字形。指令碼見表3-9。RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF**表3-9功能設(shè)置指令碼DL:數(shù)據(jù)接口寬度標(biāo)志。DL=1,8位數(shù)據(jù)總線DB7~DB0;DL=0,4位數(shù)據(jù)總線DB7~DB4,DB3~DB0不使用,此方式傳送數(shù)據(jù)需分兩次進(jìn)行。1602模塊內(nèi)部設(shè)有上電自動復(fù)位電路,當(dāng)外加電源電壓超過+4.5V時,自動對模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。初始化大約持續(xù)10ms左右。但是需要特別注意的是,倘假設(shè)供電電源達(dá)不到要求,模塊內(nèi)部復(fù)位電路無法正常工作,上電復(fù)位初始化就會失敗。因此,最好在系統(tǒng)初始化時通過指令設(shè)置對模塊進(jìn)行手動初始化。3.3.2LCD液晶顯示流程圖LCD液晶顯示是通過調(diào)用初始化程序,寫數(shù)據(jù)子程序,寫指令子程序,地址轉(zhuǎn)換子程序,讀忙狀態(tài)子程序以及延時子程序組合。具體如下:調(diào)用忙子程序調(diào)用忙子程序調(diào)用延時子程序調(diào)用延時子程序LCD寫指令子程序LCD寫指令子程序啟動寫數(shù)據(jù)啟動寫數(shù)據(jù)清屏清屏讀寫線置0讀寫線置0LCD寫指令子程序LCD寫指令子程序啟動使能控制線啟動使能控制線調(diào)用延時子程序調(diào)用延時子程序傳輸數(shù)據(jù)傳輸數(shù)據(jù)設(shè)定方向及位移設(shè)定方向及位移調(diào)用延時子程序調(diào)用延時子程序返回LCD寫指令子程序返回LCD寫指令子程序調(diào)用延時子程序調(diào)用延時子程序返回返回圖3.10寫數(shù)據(jù)子程序流程圖LCD主要負(fù)責(zé)將各個站臺的名稱顯示出來,首先由CPU中央處理器調(diào)用延時子程序,然后傳入LCD,LCD首先清屏,清屏結(jié)束后LCD讀取寫指令子程序,并調(diào)用延時子程序,將方向和位移存入LCD,再利用LCD顯示出來,在汽車運行過程中,會出現(xiàn)忙碌狀態(tài),汽車上會有自動提醒系統(tǒng),首先由CPU寫入忙碌時報警的程序,再由LCD顯示出來,3.3.3LCD1602液晶顯示電路設(shè)計圖3.11LCD1602液晶顯示電路設(shè)計程序存入AT89C51單片機系統(tǒng),汽車會根據(jù)行駛的路程方向等條件判別到了哪個站,然后單片機讀取相對應(yīng)的子程序傳入LCD,LCD會顯示相應(yīng)的站臺,并提示下一站的名字第四章軟件設(shè)計4.1系統(tǒng)程序流程圖圖4-1系統(tǒng)程序流程圖首先翻開程序,程序自動顯示下一站的名稱,由公交司機確定采用自動還是手動程序,如果采用自動模式,由無線接收掃描是否到站,如果確定到站,那么語音播報當(dāng)前到站信息,LCD顯示更新下一站的信息,同時下車指示燈亮,規(guī)定時間結(jié)束后,程序跳轉(zhuǎn)到運行模式,再重復(fù)之前的步驟,假設(shè)采用手動模式,那就由司機確定站臺名稱,并按下按鍵,出現(xiàn)語音播報,液晶顯示還有下車指示燈亮,確定下車指示燈滅的情況下重復(fù)運行模式。4.2程序子函數(shù)模塊代碼①按鍵掃描驅(qū)動該模塊為語音芯片內(nèi)部集成模塊。②無線接收端掃描函數(shù)該函數(shù)采用while語句判斷P31端口是否出現(xiàn)下降沿,如果出現(xiàn)下降沿那么往下執(zhí)行,如果沒有那么等待。while(P31);delay();③紅外發(fā)射模塊〔實驗室演示用〕voidsend(){re=0;TMOD=0x02;EA=1;TH0=0xf3;TL0=0xf3;ET0=1;}…………voidttl(void)interrupt1{re=~re;}通過設(shè)定采用定時器/計數(shù)器0以方式2工作。定時/計數(shù)方式2是將兩個8位計數(shù)器THx、TLx分成獨立的兩局部,組成一個8位可自動再裝入的定時器/計數(shù)器。由TLx作為8位計數(shù)器,THx作為計數(shù)初值存放器,設(shè)置初值時同時送THx和TLx,啟動后,當(dāng)TLx計數(shù)滿回0產(chǎn)生溢出,不僅置為TFx,向主機請求中斷,并且控制THx中的初值重新裝入TLx中,繼續(xù)下一輪計數(shù)。通過軟件只需設(shè)置一次初值,啟動后可連續(xù)無限次定時/計數(shù)運行,上一次計數(shù)結(jié)束,立即繼續(xù)下一次,中間不會喪失計數(shù)信號。重新再裝入將不影響THx的內(nèi)容[7]。系統(tǒng)采用12MHz晶振,時鐘周期為1/12us,機器周期那么為1us。中斷計數(shù)時間為〔FF-F3〕*2*1us=12us。如果忽略指令的執(zhí)行時間,那么re的電平改變周期為24us。發(fā)射頻率為1/24us≈41.7KHz。④語音模塊該模塊采用單片機端口輸出負(fù)脈沖信號模擬按鍵信號對語音芯片進(jìn)行控制。P24=0;delay();P24=1;delay();16P25=0;delay();P25=1;本模塊程序流程如圖4-3接收到信號接收到信號P24輸出一個負(fù)脈沖,語音芯片內(nèi)部指針指向本站點語音段頭P24輸出一個負(fù)脈沖,語音芯片內(nèi)部指針指向本站點語音段頭P25輸出一個負(fù)脈沖,播放當(dāng)前指針指向的語音段P25輸出一個負(fù)脈沖,播放當(dāng)前指針指向的語音段結(jié)束結(jié)束圖4-2語音芯片運行流程語音芯片接收到信號,24管腳輸出一個負(fù)脈沖,語音芯片內(nèi)部指針指向本站點語音段頭,25管腳輸出一個負(fù)脈沖,播放當(dāng)前指針指向的語音段,然后結(jié)束語音播報⑤液晶顯示模塊1、內(nèi)部等待函數(shù)LCD_Wait(void)unsignedcharLCD_Wait(void){LcdRs=0;LcdRw=1;_nop_();LcdEn=1;_nop_();while(DBPort&0x80);LcdEn=0;returnDBPort;}2、向LCD寫入命令或數(shù)據(jù)子函數(shù)LCD_Write()voidLCD_Write(bitstyle,unsignedcharinput){LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();LcdEn=1;_nop_();LcdEn=0;_nop_();LCD_Wait();}3、設(shè)置顯示模式子函數(shù)LCD_SetDisplay()該函數(shù)可以根據(jù)表3-2設(shè)置顯示的開關(guān)、光標(biāo)的有無、光標(biāo)是否閃動。voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}4、設(shè)置輸入模式子函數(shù)LCD_SetInput()該函數(shù)可根據(jù)表3-2設(shè)置畫面是否平移以及平移的方向。voidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}5、初始化LCD子函數(shù)LCD_Initial()voidLCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);LCD_SetInput(LCD_AC_UP|LCD_NO_MOVE);}6、顯示定位子函數(shù)GotoXY()voidGotoXY(unsignedcharx,unsignedchary){if(y==0)LCD_Write(LCD_COMMAND,0x80|x);if(y==1)LCD_Write(LCD_COMMAND,0x80|(x-0x40));}7、顯示字符子函數(shù)Print()voidPrint(unsignedchar*str){while(*str!='\0'){LCD_Write(LCD_DATA,*str);str++;delay1();}}⑥站點信息設(shè)置及調(diào)用用數(shù)組定義站點信息字符串:ucharcodedis1[]="Azhan";ucharcodedis2[]="Bzhan";ucharcodedis3[]="Czhan";ucharcodedis4[]="Dzhan";ucharcodedis5[]="Ezhan";uchar*p;用case語句判斷要顯示的站點switch(i)19{case0:{p=dis1;}break;case1:{p=dis2;}break;case2:{p=dis3;}break;case3:{p=dis4;}break;case4:{p=dis5;}break;};第五章系統(tǒng)仿真與結(jié)果5.1系統(tǒng)的仿真經(jīng)過使用proteus軟件的畫電路仿真圖結(jié)合keilc軟件的編寫程序,最終系統(tǒng)的簡單仿真出來了。圖5-1系統(tǒng)初始化圖5-2接到信號后圖5-3語音報站圖5-4到站門開圖5-5車子離開由仿真圖可以看出,當(dāng)程序下載至C51單片機中后即可運行電路仿真圖,開始運行,當(dāng)系統(tǒng)接收到信號后D2亮,語音芯片下移一位,此時D3燈亮,進(jìn)行語音報站,LCD液晶屏顯示下一站點信息。到站時指示燈D1亮,車子離站后指示燈滅。5.2電路調(diào)試 按照上面的步驟,系統(tǒng)在正常的情況下安裝并焊接完成。在調(diào)試前,先檢測系統(tǒng)的VCC和GND之間是否短路和斷路現(xiàn)象,如果有,用萬用表檢查故障原因并維修好,直接把故障消除。然后按照設(shè)計結(jié)構(gòu)電路分別對各個電路結(jié)構(gòu)進(jìn)行檢測。1〕前工序做好以后,接上+5V的電源,觀察電源指示燈是否正常。如果正常點亮,那么說明電源局部正常,否那么檢測電源電路故障,直到電源指示燈正常點亮。2〕單片機控制電路、液晶顯示器、按鍵局部。接上電源,將單片機下載好編寫的程序,再根據(jù)系統(tǒng)的控制要求對各局部進(jìn)行檢測,檢測要求包括AT89S51單片機正常工作、時間和溫度的顯示是否正常、按鍵的控制是否符合電路的控制要求。3〕語音電路的檢測:在接通電源的情況下,接上揚聲器,芯片錄音時,將REC鍵按下,并錄好音,再按下PLAY鍵,觀察錄好的音是否能夠播放,如果能播放,再按下VOL鍵看看能否調(diào)節(jié)音量,能夠調(diào)節(jié),那么說明電路正常。如果不能播放和調(diào)節(jié)音量,那么應(yīng)該維修電路,直到正常為止。對以上各個局部調(diào)節(jié)好以后。至此,系統(tǒng)的整個過程結(jié)束。否那么,要對其相應(yīng)的局部做維修處理,直到一切正常為止。TOC\o"1-3"\h\u結(jié)束語經(jīng)過一個多月的奮戰(zhàn),我的畢業(yè)設(shè)計公交車自動報站系統(tǒng),終于即將完成了。最終系統(tǒng)實現(xiàn)了自動報站功能。通過這次論文設(shè)計讓我對AT89C51單片機和一些陌生的器件LCD1602液晶芯片和ISD1700語音芯片有了一定熟知和了解。該設(shè)計的創(chuàng)新之處在于它應(yīng)用89C51單片機的高速計數(shù)器端口進(jìn)行脈沖計數(shù),以距離來控制報站時刻。本系統(tǒng)功能強大,本錢低,系統(tǒng)穩(wěn)定,無需人工介入,語音音質(zhì)好,很好的實現(xiàn)了車輛報站的自動化,具有很強的實用性。此次設(shè)計的公交車自動報站器初始值存入的方式是在車上,單片機處于輸入狀態(tài),車輛行駛一遍,將站與站之間的脈沖數(shù)寫入片內(nèi),該方式在公交車改變路線時便于修改。系統(tǒng)選用ISD1700語音芯片,它的錄音數(shù)據(jù)被存放方法是通過ISD多級存儲專利技術(shù)實現(xiàn)的,用聲音和聲頻信號的自然形式直接存放在故態(tài)存儲器,從而提供高質(zhì)量回放語音的保真度,使得該系統(tǒng)與其他語音報站系統(tǒng)相比擬,語音質(zhì)量較好。但是,本設(shè)計仍然存在的許多的缺乏之處,比方它在報站時刻上不能十分的精確,存在一定的誤差,還有就是所用的LCD液晶屏只能夠顯示32為字符但不能顯示漢字。這些問題都需要在今后的研究工作中加以改良,使系統(tǒng)更完善,更好的為人們效勞。28722參考文獻(xiàn)[1]唐穎.單片機原理與應(yīng)用及C51程序設(shè)計[M].北京:北京大學(xué)出版社,2023.[2]李建忠.單片機原理與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.[3]胡輝.單片機原理與應(yīng)用[M].北京:中國水利水電出版社,2007.[4]周波.公交車自動報站系統(tǒng)的設(shè)計[J].四川理工學(xué)院學(xué)報:自然科學(xué)版,2023.[5]李學(xué)軍.如何用MCS-51單片機擴展串口進(jìn)行通訊[J].寧夏機械,2003,(2).[6]潘新民,王燕芳.微型計算機控制技術(shù).[M]北京:電子工業(yè)出版社,2007.[7]杜志強,魏秉國.單片機原理及應(yīng)用[M].北京:鄭州大學(xué)出版社,2007..[8]譚浩強.C程序設(shè)計〔第三版〕[M].北京:清華大學(xué)出版社,2007.[9]常通義.微型計算機原理與接口技術(shù)〔第二版〕[M].華中科技大學(xué)出版社,2023.[10]董曉紅.單片機原理及接口技術(shù)[M].西安電子科技大學(xué)出版社,2004.[11]郭培源.電子電路及電子器件[M].高等教育出版社,2023.[12]石生.電路根本分析[M].高等教育出版社,2023.[13]徐熙文.電路根底[M].北京:高等教育出版社,2007.附錄:程序清單(1)LCD1602頭文件程序#include<AT89X52.h>#include<intrins.h>sbitLcdRs=P2^0;sbitLcdRw=P2^1;sbitLcdEn=P2^2;sfrDBPort=0x80;unsignedcharLCD_Wait(void){ LcdRs=0; LcdRw=1; _nop_(); LcdEn=1; _nop_(); LcdEn=0; returnDBPort; }#defineLCD_COMMAND 0#defineLCD_DATA 1#defineLCD_CLEAR_SCREEN 0x01#defineLCD_HOMING 0x02voidLCD_Write(bitstyle,unsignedcharinput){LcdEn=0;LcdRs=style;LcdRw=0;_nop_();DBPort=input;_nop_();LcdEn=1;_nop_();LcdEn=0;_nop_();LCD_Wait();}#defineLCD_SHOW 0x04#defineLCD_HIDE 0x00 #defineLCD_CURSOR 0x02 #defineLCD_NO_CURSOR 0x00 #defineLCD_FLASH 0x01#defineLCD_NO_FLASH 0x00voidLCD_SetDisplay(unsignedcharDisplayMode){LCD_Write(LCD_COMMAND,0x08|DisplayMode);}#defineLCD_AC_UP 0x02#defineLCD_AC_DOWN 0x00#defineLCD_MOVE 0x01#defineLCD_NO_MOVE 0x00voidLCD_SetInput(unsignedcharInputMode){LCD_Write(LCD_COMMAND,0x04|InputMode);}voidLCD_Initial(){LcdEn=0;LCD_Write(LCD_COMMAND,0x38);LCD_Write(LCD_COMMAND,0x38);LCD_SetDisplay(LCD_SHOW|LCD_NO_CURSOR);LCD_Write(LCD_COMMAND,LCD_CLEAR_SCREEN);LCD_SetInput(LCD_AC_U

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論