單片機(jī)課程設(shè)計(jì)報(bào)告-公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、湖 北 理 工 學(xué) 院電氣與電子信息工程學(xué)院? 單片機(jī)課程設(shè)計(jì)報(bào)告?課設(shè)名稱:基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng) 專業(yè)名稱:電氣工程自動(dòng)化 班 級(jí): 2021級(jí)專升本 1 班 學(xué)號(hào): 姓 名: 指導(dǎo)教師: 課設(shè)時(shí)間: 2021.12.5 課設(shè)地點(diǎn): K2407 電氣與電子信息工程學(xué)院?單片機(jī)課程設(shè)計(jì)?任務(wù)書 2021 2021 學(xué)年第1學(xué)期學(xué)生姓名: 專業(yè)班級(jí):電氣工程及自動(dòng)化2021級(jí)專升本1班 指導(dǎo)教師: 肖志軍 工作部門: 電氣自動(dòng)化教研室 1、課程設(shè)計(jì)題目: 基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng) 2、課程設(shè)計(jì)要求:根據(jù)具體設(shè)計(jì)課題的技術(shù)指標(biāo)和給定條件,以單片機(jī)為核心器件,能獨(dú)立而正確地進(jìn)行方案論

2、證和電路設(shè)計(jì),完成仿真操作。要求概念清楚、方案合理、方法正確、步驟完整; 2.2 熟悉、掌握各種外圍接口電路芯片的工作原理和控制方法; 熟練使用單片機(jī)匯編語(yǔ)言或C51進(jìn)行軟件設(shè)計(jì); 熟練使用Proteus、Keil軟件進(jìn)行仿真電路測(cè)試;或用開發(fā)板聯(lián)合調(diào)試 熟練使用Protel軟件設(shè)計(jì)印刷電路板; 學(xué)會(huì)查閱有關(guān)參考資料和手冊(cè),并能正確選擇有關(guān)元器件和參數(shù); 編寫設(shè)計(jì)報(bào)告,參考畢業(yè)設(shè)計(jì)論文格式。1根據(jù)課題要求確定系統(tǒng)設(shè)計(jì)方案;2繪制系統(tǒng)框圖、系統(tǒng)仿真原理圖印刷電路板圖,列出元器件明細(xì)表;3計(jì)算電路參數(shù)和選擇元器件,畫出軟件框圖,列出程序清單;4打印仿真結(jié)果,根據(jù)測(cè)試結(jié)果進(jìn)行誤差分析與修改調(diào)整;5對(duì)

3、設(shè)計(jì)進(jìn)行全面總結(jié)。3、 技術(shù)指標(biāo):設(shè)計(jì)公交車自動(dòng)報(bào)站系統(tǒng),以實(shí)現(xiàn)公交車的語(yǔ)音自動(dòng)報(bào)站,即在進(jìn)站、出站時(shí)候自動(dòng)播報(bào)語(yǔ)音提示信息及效勞用語(yǔ),同時(shí)利用LCD液晶電路進(jìn)行本站站名以及下一站站名的顯示,還可對(duì)實(shí)時(shí)時(shí)間進(jìn)行顯示。本設(shè)計(jì)利用STC89C52作為主控芯片完成主控電路的設(shè)計(jì),輔助電路要求包括語(yǔ)音電路、顯示電路、電源電路、時(shí)鐘電路等。4、進(jìn)度安排教學(xué)第 15 周:時(shí) 間星期一星期二星期三星期四星期五星期六星期天1、2節(jié)講解設(shè)計(jì)題目、要求3、4節(jié)方案的選擇論證方案的選擇論證系統(tǒng)硬件設(shè)計(jì)1系統(tǒng)硬件設(shè)計(jì)2系統(tǒng)軟件設(shè)計(jì)15、6節(jié)7、8節(jié)地 點(diǎn)K2-407K2-407K2-407K2-407K2-407教學(xué)

4、第 16周:時(shí) 間星期一星期二星期三星期四星期五星期六星期天1、2節(jié)系統(tǒng)軟件設(shè)計(jì)23、4節(jié)仿真調(diào)試1仿真調(diào)試2設(shè)計(jì)辯論設(shè)計(jì)辯論講解報(bào)告要求5、6節(jié)7、8節(jié)地 點(diǎn)K2-407K2-407K2-407K2-407K2-407、根本要求根據(jù)過(guò)程、報(bào)告、辯論等確定設(shè)計(jì)成績(jī),成績(jī)分優(yōu)、良、中、及格、不及格五等。評(píng)定工程根本內(nèi)涵分值平時(shí)表現(xiàn)考勤10分辯論情況答復(fù)下列問題情況20分操作能力實(shí)物或仿真測(cè)試正常無(wú)故障運(yùn)行20分課設(shè)報(bào)告完成設(shè)計(jì)任務(wù)、報(bào)告標(biāo)準(zhǔn)性等情況50分90100分:優(yōu);8089分:良;7079分:中;6069分,及格;60分以下:不及格5、課程設(shè)計(jì)參考資料1賀哲榮.AT89S51單片機(jī)硬件設(shè)計(jì)

5、與編程實(shí)例.北京:中國(guó)電力出版社.2021 2李泉溪.單片機(jī)原理與應(yīng)用實(shí)例仿真.北京:北京航空航天大學(xué)出版社,2021.3王平.單片機(jī)應(yīng)用設(shè)計(jì)與制作.北京:清華大學(xué)出版社, 2021.4彭為等.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講. 北京:電子工業(yè)出版社,20075王慶利等.單片機(jī)設(shè)計(jì)案例實(shí)踐教程.北京:北京郵電大學(xué)出版社,2021入門向?qū)c設(shè)計(jì)實(shí)例.北京:機(jī)械工業(yè)出版社,20057皮大能等. 單片機(jī)課程設(shè)計(jì)指導(dǎo)書. 北京:北京理工大學(xué)出版社,20218張毅剛.單片機(jī)原理及應(yīng)用.北京:高等教育出版社,2021.基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)課程設(shè)計(jì)方案選擇1.1、示案論證:文字顯示電路CPU控制晶振、復(fù)

6、位語(yǔ)音播放電路脈沖檢測(cè)電路 時(shí)鐘電路圖1-1系統(tǒng)組成結(jié)構(gòu)圖如圖4-1所示本系統(tǒng)使用八位單片機(jī)作為控制器件。當(dāng)系統(tǒng)進(jìn)行語(yǔ)音再生時(shí),單片機(jī)控制電路中的語(yǔ)音芯片來(lái)讀取其外接的存儲(chǔ)器內(nèi)部的語(yǔ)音信息,并合成語(yǔ)音信號(hào),再通過(guò)語(yǔ)音輸出電路,進(jìn)行語(yǔ)音報(bào)站和提示。同時(shí),單片機(jī)通過(guò)程序讀取文字信息并讀取時(shí)鐘電路的實(shí)時(shí)時(shí)間,送入液晶顯示模組來(lái)進(jìn)行站數(shù)和站名以及當(dāng)前時(shí)間的顯示。當(dāng)脈沖檢測(cè)電路到達(dá)系統(tǒng)預(yù)定值是就說(shuō)明到了某一站系統(tǒng)就會(huì)對(duì)當(dāng)前車站進(jìn)行播報(bào)和顯示。當(dāng)系統(tǒng)進(jìn)行語(yǔ)音錄制時(shí),語(yǔ)音信號(hào)通過(guò)語(yǔ)音錄入電路送給語(yǔ)音合成電路中的語(yǔ)音芯片,由語(yǔ)音芯片進(jìn)行數(shù)據(jù)處理,并將生成的數(shù)字語(yǔ)音信息存儲(chǔ)到語(yǔ)音存儲(chǔ)芯片中,從而建立語(yǔ)音庫(kù)。1.

7、2、硬件方案的選擇1.2.1語(yǔ)音芯片的選澤:方案一:基于ISD2560語(yǔ)音芯片的錄放電路設(shè)計(jì)ISD2560系列語(yǔ)音芯片可通過(guò)SPI協(xié)議方便地與CPU接口。用ISD2560芯片構(gòu)成的單片機(jī)通用開發(fā)板采用國(guó)內(nèi)最常用的MCS-51語(yǔ)言單片機(jī)89C51來(lái)與ISD2560系列語(yǔ)音芯片相結(jié)合,可供用戶開發(fā)各種新型智能型數(shù)碼語(yǔ)音產(chǎn)品。方案二;基于ISD1730語(yǔ)音芯片的錄放電路ISD1730是華邦公司新推出ISD1700系列芯片的單片優(yōu)質(zhì)語(yǔ)音錄放電路,該芯片能提供多項(xiàng)新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示,雙運(yùn)作模式獨(dú)立&嵌入式,以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動(dòng)增益控制、麥克風(fēng)前置

8、擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。通過(guò)分析比擬,本次設(shè)計(jì)采用ISD1730語(yǔ)音芯片設(shè)計(jì)錄放電路,其相對(duì)于ISD2560語(yǔ)音芯片來(lái)講功能更強(qiáng)大,由按鍵直接控制語(yǔ)音的錄放等,電路工作穩(wěn)定、可靠性高,完全到達(dá)了設(shè)計(jì)要求,具有非常好的實(shí)用性。1.2.2顯示芯片的選澤:方案一:采用LCD點(diǎn)陣顯示,用來(lái)顯示文字、圖形、圖像、等各種信息的顯示屏幕。它均由LCD矩陣塊組成。圖文顯示屏可與計(jì)算機(jī)同步顯示漢字、英文文本和圖形,該方案簡(jiǎn)單易行。但所需的元件較多,且不容易進(jìn)行操作,可讀性差,一旦設(shè)定后,很難再參加其他的功能。方案二:采用液晶LCD1602顯示器件,該液晶顯示器件與同類型的圖形

9、點(diǎn)陣液晶顯示模塊相比,不管硬件電路結(jié)構(gòu)或顯示程序都要簡(jiǎn)潔得多,且該器件的價(jià)格也略低于相同點(diǎn)陣的圖形液晶模塊。而且此液晶顯示平穩(wěn)、省電、美觀,更容易實(shí)現(xiàn)題目要求,對(duì)后續(xù)的功能兼容性高,。只需將軟件作修改即可,可操作性強(qiáng),也易于讀數(shù),能同時(shí)顯示日期、時(shí)間、星期且易于修改。綜上分析,我們采用了第二個(gè)方案。1.2.3時(shí)鐘芯片的選澤:方案一:采用軟件實(shí)現(xiàn),直接用單片機(jī)的定時(shí)器編程實(shí)現(xiàn),優(yōu)點(diǎn)節(jié)省硬件,但編程復(fù)雜且程序運(yùn)行的每一步都需要時(shí)間,多一步或少一步程序都會(huì)影響記時(shí)的準(zhǔn)確度,準(zhǔn)確度較差。方案二:采用專用的時(shí)鐘芯片實(shí)現(xiàn)時(shí)鐘的記時(shí),專用時(shí)鐘芯片記時(shí)準(zhǔn)確,容易控制,能夠從芯片直接讀出日期、時(shí)間、星期,更符合

10、題目要求。綜上分析,我們采用了第二個(gè)方案,時(shí)鐘芯片選擇常用的DS1302。1.控制模塊的選擇:所學(xué)專業(yè)課中學(xué)習(xí)過(guò)51單片機(jī),并且單片機(jī)體積小,重量輕,具有很強(qiáng)的靈活性而且價(jià)格廉價(jià),所以控制模塊選用AT89C52單片機(jī)。1.2.5脈沖檢測(cè)電路的選擇:脈沖檢測(cè)電路該系統(tǒng)關(guān)鍵是對(duì)轉(zhuǎn)軸所轉(zhuǎn)過(guò)的圈數(shù)進(jìn)行計(jì)數(shù),考慮到車輛將在復(fù)雜的 環(huán)境中運(yùn)行,故采用可靠的霍爾元件DN6848作為信號(hào)的采集裝置,再經(jīng)光電耦合器4N25輸入給單片機(jī)。光電耦合器的信號(hào)進(jìn)入C51后,采用中斷方式對(duì)脈沖計(jì)數(shù)。外部晶振12MHz。2、硬件設(shè)計(jì)圖2-1 總原理圖如圖2-1所示:?jiǎn)纹瑱C(jī)的P0口接顯示模塊芯片1602的數(shù)據(jù)口,P20P22

11、接1602的讀寫口及使能端。P10P12接時(shí)鐘電路DS1302。P23接脈沖檢測(cè)電路。P3口接語(yǔ)音電路。2.1語(yǔ)音播放電路ISD17302語(yǔ)音播放電路的管腳圖如圖2-2所示:總共有28個(gè)管腳。通過(guò)STC89C51單片機(jī)控制ISD1730語(yǔ)音芯片的錄放,并用單片機(jī)對(duì)錄放時(shí)間的設(shè)定和控制。ISD1730 芯片提供了多項(xiàng)新功能,包括內(nèi)置專利的多信息管理系統(tǒng),新信息提示,雙運(yùn)作模式,以及可定制的信息操作指示音效。芯片內(nèi)部包含有自動(dòng)增益控制、麥克風(fēng)前置擴(kuò)大器、揚(yáng)聲器驅(qū)動(dòng)線路、振蕩器與內(nèi)存等的全方位整合系統(tǒng)功能。此芯片的性能特點(diǎn)是:1) 可錄、放音十萬(wàn)次,存儲(chǔ)內(nèi)容可以斷電保存一百年。2) 兩種控制方式,兩

12、種錄音輸入方式,兩種放音輸出方式。3) 可處理多達(dá)255 段以上信息。4) 有豐富多樣的工作狀態(tài)提示。 5) 多種采樣頻率對(duì)應(yīng)多種錄放時(shí)間。 圖2-2 ISD1730管腳圖6) 音質(zhì)好,電壓范圍寬,應(yīng)用靈活,價(jià)廉物美。2 與單片機(jī)的連接圖2-3 接口圖如圖2-3所示圖中的4-7腳和單片機(jī)P3口相連,此時(shí)P3口做根本的輸入輸出成為當(dāng)前被控制設(shè)備并且開啟 SPI 接口,此端口為低電時(shí)平有效。SPI13腳,15腳為喇叭輸出腳。MISO4腳:SPI 接口的串行輸出端口, SCLK 下降沿之前的半個(gè)周期將數(shù)據(jù)放置在 MISO 端,數(shù)據(jù)在 SCLK 的下降沿時(shí)移出,此時(shí)語(yǔ)音通過(guò)喇叭進(jìn)行播放。MOSI5腳:

13、SPI 接口的數(shù)據(jù)輸入端口。主控制芯片在 SCLK 上升沿之前的半個(gè)周期將數(shù)據(jù)放置在 MOSI 端。數(shù)據(jù)在 SCLK 上升沿被鎖存在芯片內(nèi)。此管腳在空閑時(shí),應(yīng)該被拉高。SCLK6腳:接口時(shí)鐘管腳,單片機(jī)通過(guò)此管腳來(lái)同步MISO和MOSI端各自的數(shù)據(jù)輸入輸出,此管腳空閑時(shí),必須拉高。當(dāng)REC(24腳)接地時(shí)通過(guò)MIC10腳、11腳接麥克風(fēng)進(jìn)行語(yǔ)音信息的錄入。2.2液晶顯示電路(LCD1602):2. 字符型液晶顯示是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,本設(shè)計(jì)采用的是LCD1602-LM032L型液晶顯示器如圖2-4所示,其外形尺寸為803614,單5V供電,由左到右共14個(gè)引腳. L

14、CD1602分兩行顯示,每行可顯示多達(dá)16個(gè)字符。本設(shè)計(jì)在LCD1602第一行固定顯示時(shí)間,第二行顯示歡送語(yǔ)并在車輛到站時(shí)顯示本站站名和下一站站名。在車輛離站時(shí)再次顯示歡送語(yǔ)。 圖2-4 管腳圖2 與單片機(jī)的連接如圖2-5所示芯片(D0-D7)為其數(shù)據(jù)口和單片機(jī)P0口相接,此時(shí)單片機(jī)P0口做根本的輸入輸出功能,因?yàn)镻0口具有地址/數(shù)據(jù)復(fù)用的功能所以在當(dāng)根本的輸入輸出時(shí)需要接上拉電阻。芯片的使能端以及讀/寫端存放器的選擇端接到P20P22。單片機(jī)通過(guò)P00對(duì)芯片進(jìn)行控制,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令,低電平時(shí)寫入數(shù)據(jù)。RW為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)

15、RS和RW共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時(shí)可以讀忙信號(hào),當(dāng)RS為高電平RW為低電平時(shí)可以寫入數(shù)據(jù)。 圖2-5接口圖2.3時(shí)鐘電路DS1302:2 DS1302時(shí)鐘芯片可以工作于24小時(shí)模式或AM/PM的12小時(shí)模式。其內(nèi)部包含了10個(gè)小時(shí)存放器和31字節(jié)RAM,這些存放器和RAM用來(lái)存放各種時(shí)間數(shù)據(jù)。在使用時(shí),可以對(duì)芯片的當(dāng)前時(shí)間進(jìn)行設(shè)定。如圖2-6所示芯片共有8個(gè)管腳采用了簡(jiǎn)單的I2C三線通信方式,便于節(jié)省芯片和與之接口的微處理器管腳。芯片有著2.05.5V的寬供電電壓范圍,在5V供電時(shí) 圖2-6 管腳圖300nA的電流。實(shí)時(shí)時(shí)鐘可提供秒、分、時(shí)、日、星期

16、、月和年,一個(gè)月小于31日時(shí)可自動(dòng)調(diào)整,包括閏年,有效至2100年??刹捎?2h或24h方式計(jì)時(shí),采用雙電源主電源和備用電 源供電,可設(shè)置備用電源充電方式,同時(shí)提供了對(duì)后背電源進(jìn) 行涓細(xì)電流充電的能力。主要性能:131字節(jié)RAM存儲(chǔ)時(shí)間數(shù)據(jù)。22.05V供電。3支持單字節(jié)傳輸模式和突發(fā)式傳輸模式。48針DIP封裝和SOIC封裝。53線接口,簡(jiǎn)單易用。6兼容TTL電平。7操作溫度-40+85C。2 與單片機(jī)的連接如圖2-7所示DS1302與單片機(jī)的連接僅需要3條線,即SCLK、I/O、RST、。Vcc2在單電源與電池供電的系統(tǒng)中提供低電源并提供低功率的電池備份。Vcc2在雙電源系統(tǒng)中提供主電源,

17、在這種運(yùn)行方式下Vcc1連接帶備份電源,以便在沒有主電源的情況下能保存時(shí)間信息以及數(shù)據(jù)。DS1302由兩者中的較大者供電。當(dāng)Vcc2大于時(shí),Vcc2給DS1302供電。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供電15。RST接在P1.2上,此引腳為高電位時(shí),選中此芯片,可對(duì)其進(jìn)行操作。串行數(shù)據(jù)線I/O與串行時(shí)鐘線SCLK分別接在P1.0和P1.2上,所有的單片機(jī)地址、命令及數(shù)據(jù)均通過(guò)這兩條線傳輸。 圖2-7 接口圖 2.4脈沖檢測(cè)電路: 如圖2-8所示本設(shè)計(jì)的關(guān)鍵是對(duì)轉(zhuǎn)軸所轉(zhuǎn)過(guò)的圈數(shù)進(jìn)行計(jì)數(shù),考慮到車輛將在復(fù)雜的環(huán)境中運(yùn)行,而霍爾元件具有耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕

18、的優(yōu)點(diǎn),故采用可靠的霍爾元件DN6848作為信號(hào)采集裝置,采集公交車車軸轉(zhuǎn)數(shù)。再經(jīng)過(guò)光電耦合器4N25輸入給單片機(jī)。光電耦合器的電流傳輸比為10%250%,響應(yīng)時(shí)間小于10ms,把霍爾元件集成的開關(guān)按預(yù)定位置有規(guī)律地布置在物體上,當(dāng)車軸轉(zhuǎn)動(dòng)經(jīng)過(guò)它時(shí),可以從測(cè)量電路上測(cè)得脈沖信號(hào)。根據(jù)脈沖信號(hào)列可以傳感出該運(yùn)動(dòng)物體的位移。再通過(guò)光電耦合器是一種電信號(hào)的耦合器件,它一般是將發(fā)光二極管和光敏三極管的光路耦合在一起,輸入信號(hào)加于發(fā)光二極管上,輸出信號(hào)由光敏三極管輸出,送入單片機(jī)的P23進(jìn)行檢測(cè)。 圖2-8 脈沖電路圖軟件設(shè)計(jì)3.1流程圖 如圖3-1所示為系統(tǒng)的總體流程圖,系統(tǒng)運(yùn)行時(shí)先對(duì)所有芯片進(jìn)行初始

19、化,然后通過(guò)對(duì)DS1302時(shí)鐘芯片進(jìn)行控制讀取時(shí)鐘芯片的系統(tǒng)時(shí)間并將時(shí)間顯示在顯示芯片LCD1602液晶顯示屏的第一行,并使時(shí)間一直顯示。然后車子啟動(dòng)在液晶顯示屏上顯示歡送語(yǔ)通過(guò)車輪的轉(zhuǎn)動(dòng)單片機(jī)對(duì)脈沖電路進(jìn)行檢測(cè)并計(jì)數(shù),在和系統(tǒng)中的預(yù)定值進(jìn)行比擬,判斷其是否到達(dá)預(yù)定值,如果到達(dá)預(yù)定值那么讀取預(yù)先儲(chǔ)存的站名信息然后通過(guò)開始語(yǔ)音芯片ISD1730進(jìn)行播放并提示, 然后將站名通過(guò)LCD1602進(jìn)行顯示如果對(duì)脈沖計(jì)數(shù)判斷未到達(dá)預(yù)定值系統(tǒng)初始化那么返回到脈沖計(jì)數(shù)在進(jìn)行繼續(xù)計(jì)數(shù)當(dāng)計(jì)數(shù)到達(dá)預(yù)定值時(shí)就進(jìn)行相應(yīng)的操作最后執(zhí)行完在返回脈沖計(jì)數(shù)來(lái)顯示時(shí)間進(jìn)行下一站的是否到達(dá)進(jìn)行判斷并執(zhí)行相應(yīng)的操作。一直到最后一站整

20、個(gè)系統(tǒng)執(zhí)行完畢再一次執(zhí)行初始化進(jìn)行第二次循環(huán)。對(duì)脈沖計(jì)數(shù)如圖3-2所示為語(yǔ)音芯片ISD1730 的錄音流程圖,首先通過(guò)控制選定錄音存放的地址,然后設(shè)定控制字的命令,然后判斷錄音時(shí)相對(duì)應(yīng)的按鍵是否到預(yù)設(shè)值?是否按下如果檢測(cè)到按鍵按下那么開始 錄音操作,錄音完畢返回。如果相對(duì) 否的按鍵未按下那么返回繼續(xù)進(jìn)行判斷 直到相對(duì)應(yīng)的按鍵按下然后進(jìn)行錄音。 如圖3-3所示為ISD1730的放音流程 圖當(dāng)系統(tǒng)要進(jìn)行放音操作時(shí)通過(guò) 是語(yǔ)音播報(bào)當(dāng)前站點(diǎn)并顯示單片機(jī)對(duì)其進(jìn)行相應(yīng)的控制然后讀取所播放語(yǔ)音的地址然后進(jìn)行其控制字的控制,之后芯片進(jìn)行自動(dòng)播放語(yǔ)音顯示下一站點(diǎn)播報(bào)信息。然后返回,播放語(yǔ)音完成。返回 圖3-1

21、總流程圖 圖3-1 總流程圖開始開始送放音地址送錄音地址送放音控制字送錄音控制字判斷按鍵狀態(tài)?自動(dòng)放音 否返回 是開始錄音返回 圖3-3播放流程圖圖3-2啟動(dòng)寫入數(shù)據(jù) 錄音流程圖 讀寫線置0調(diào)用延時(shí)子程序開始啟動(dòng)使能控制線設(shè)定方向及位移調(diào)用延時(shí)子程序傳輸數(shù)據(jù)寫指令子程序?qū)懼噶钭映绦蛘{(diào)用延時(shí)子程序調(diào)用延時(shí)子程序清屏調(diào)用忙子程序?qū)懼噶钭映绦蚍祷貓D3-4 顯示流程圖如圖3-4所示為顯示芯片LCD1602的顯示流程圖,當(dāng)其需要顯示信息時(shí)先調(diào)用一段延時(shí)子程序這里如果不調(diào)用延時(shí)子程顯示屏那么無(wú)發(fā)顯示然后調(diào)用LCD的寫指令子程序,完畢之后清屏再次調(diào)用寫指令子程序和延時(shí)子程序,然后設(shè)定寫入的方向以及寫入的位移

22、之后再次執(zhí)行寫指令子程序,又一次調(diào)用延時(shí),所有的寫操作準(zhǔn)備做完之后,調(diào)用其忙子程序檢測(cè)其是否可以進(jìn)行寫入,啟動(dòng)寫數(shù)據(jù)操作指令,將讀寫線置0使其可以進(jìn)行寫操作,啟動(dòng)使能控制端開始傳輸數(shù)據(jù)傳輸完畢之后再調(diào)用一次延時(shí)子程序,使顯示信息可以被人看到,所有工作做完之后返回,在進(jìn)行下一次的信息進(jìn)行顯示。依次循環(huán)。仿真結(jié)果及分析4.1仿真結(jié)果圖圖4-1初始化圖如圖4-1所示為仿真結(jié)果運(yùn)行開始的圖也就是系統(tǒng)運(yùn)行但公交車未啟動(dòng)時(shí)的初始圖,只通過(guò)時(shí)鐘芯片顯示了當(dāng)前時(shí)間。圖4-2車輛啟動(dòng)顯示圖圖4-2為公交車啟動(dòng)系統(tǒng)自動(dòng)顯示時(shí)間和顯示歡送語(yǔ)以及效勞提示的語(yǔ)音播報(bào),圖中用一個(gè)按鍵來(lái)控制脈沖的輸入來(lái)模仿公交車的啟動(dòng)。圖

23、4-3 A站顯示圖圖4-3為公交車到達(dá)A站時(shí)的運(yùn)行結(jié)果圖,系統(tǒng)通過(guò)對(duì)車輪走過(guò)的的路程來(lái)判別是否到站,仿真圖中用一個(gè)脈沖發(fā)生器來(lái)模擬單片機(jī)通過(guò)對(duì)脈沖的的計(jì)數(shù)來(lái)與預(yù)定值進(jìn)行判別,如果到站那么進(jìn)行播報(bào)并顯示。圖4-4 B站顯示圖圖4-4為到達(dá)B 站時(shí)的仿真結(jié)果圖,原理與A站的相同。本仿真只選取了少數(shù)幾個(gè)站做代表,實(shí)際運(yùn)用中可以添加更多的車站信息。5、課程設(shè)計(jì)小結(jié)經(jīng)過(guò)了近幾個(gè)月的學(xué)習(xí)和努力,我終于完成了基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng)的設(shè)計(jì),在這個(gè)過(guò)程中我的收獲是非常多的,并且需要改良和學(xué)習(xí)的地方也非常多。我從以下兩個(gè)方面來(lái)對(duì)自己在這次畢業(yè)設(shè)計(jì)的過(guò)程中的感想來(lái)做一下總結(jié):5.1 收獲通過(guò)這次設(shè)計(jì)我知道了

24、在做一個(gè)系統(tǒng)之前很重要的是要做好需求分析,為此,我在網(wǎng)上查看了大量的相關(guān)資料,對(duì)目前市面上流行的幾種公交車報(bào)站器進(jìn)行了分析和比擬,來(lái)為此次設(shè)計(jì)個(gè)方案確定來(lái)做了充足的準(zhǔn)備。通過(guò)研究各種公交車報(bào)站器來(lái)自己確定要完成的公交車報(bào)站器的工作原理和要具備的各種功能。在我做這次畢業(yè)設(shè)計(jì)之前,我以為這東西很好做,一做起來(lái)才感動(dòng)力不從心,并且我對(duì)一些EDA的軟件根本沒有了解,甚至都不知道它是干什么,怎么用,對(duì)程序的理解也僅僅局限于書本上有限的知識(shí)。但是通過(guò)了這次設(shè)計(jì),我深入了解了單片機(jī)的工作原理和機(jī)制,對(duì)它的各個(gè)模塊功能有了更深層認(rèn)識(shí)和更本質(zhì)的理解,并且在這個(gè)過(guò)程中,我更加深入認(rèn)識(shí)了Proteus和KeilC5

25、1這兩個(gè)軟件,對(duì)這軟件的根本操作能夠熟練的使用,了解了軟件的優(yōu)缺點(diǎn),并且熟練了對(duì)C語(yǔ)言的使用和LCD1602程序設(shè)計(jì)。在做課程設(shè)計(jì)的過(guò)程中我遇到了很多困難,很多方案確定不下來(lái),編寫代碼時(shí)也總是出現(xiàn)這樣或者那樣的錯(cuò)誤,并且有些功能自己也不知道該用什么方法來(lái)實(shí)現(xiàn),經(jīng)過(guò)和同學(xué)的討論以及老師的深刻指導(dǎo),我克服了這一些困難。最終根本完成了用Proteus來(lái)實(shí)現(xiàn)公交車的模擬報(bào)站,但是模塊還是很簡(jiǎn)陋,也需要進(jìn)一步的優(yōu)化。5.2 缺乏之處該系統(tǒng)還存在著一些缺乏,主要表達(dá)在:仿真過(guò)程沒有方法使用ISD1730語(yǔ)音模塊和脈沖 檢測(cè)電路的霍爾元件,用了蜂鳴器和脈沖信號(hào)發(fā)生器來(lái)代替,只對(duì)這兩個(gè)模塊根據(jù)資料進(jìn)行了相應(yīng)的

26、介紹。如果以后做實(shí)物的過(guò)程,那應(yīng)該完善這兩局部。并且在設(shè)計(jì)過(guò)程中也暴露了很多的缺點(diǎn),比方編程能力有待提高,需要通過(guò)不斷的編譯仿真調(diào)整才能最終得到想要的結(jié)果。5.3 總結(jié)本次設(shè)計(jì)用Proteus仿真根本到達(dá)了預(yù)先的要求。設(shè)計(jì)采用了Atmel公司的AT89C51單片機(jī)來(lái)設(shè)計(jì)的一個(gè)公交自動(dòng)報(bào)站系統(tǒng),本設(shè)計(jì)使用了C語(yǔ)言進(jìn)行編程,利用了KeilC51軟件進(jìn)行編譯生成HEX文件,使用了Proteus軟件進(jìn)行了根本的仿真實(shí)現(xiàn),能夠完成對(duì)輸入信號(hào)的判斷處理,自動(dòng)液晶顯示站名以及聲音提示。這次設(shè)計(jì)能夠?qū)崿F(xiàn)設(shè)計(jì)中提出的功能方案。通過(guò)這次的設(shè)計(jì),對(duì)于在KeilC51環(huán)境下的編程能力有了進(jìn)一步的提高,同時(shí)對(duì)單片機(jī)系統(tǒng)

27、設(shè)計(jì)理念也有了進(jìn)一步認(rèn)識(shí),理解了模塊化設(shè)計(jì)在整個(gè)系統(tǒng)設(shè)計(jì)中的作用。電氣與電子信息工程學(xué)院?單片機(jī)課程設(shè)計(jì)?成績(jī)?cè)u(píng)定表課程設(shè)計(jì)名稱:基于單片機(jī)的公交車自動(dòng)報(bào)站系統(tǒng) 辯論或質(zhì)疑記錄:1、設(shè)計(jì)中用ISD1730為語(yǔ)音播報(bào)芯片進(jìn)行語(yǔ)音播報(bào)與站名信息的儲(chǔ)存但在仿真時(shí)由于Proteus軟件元件庫(kù)的限制沒有ISD1730這款芯片,然后用了一個(gè)蜂鳴器做了模擬,來(lái)代替語(yǔ)音芯片的放音,但設(shè)計(jì)中給出了此芯片的介紹及用法以及和單片機(jī)的接法。假設(shè)做實(shí)物圖那么可以用ISD1730這款芯片來(lái)接喇叭進(jìn)行語(yǔ)音播報(bào)。2、設(shè)計(jì)中用霍爾元件對(duì)車輪所轉(zhuǎn)過(guò)的圈數(shù)進(jìn)行計(jì)數(shù)然后再通過(guò)車輪轉(zhuǎn)一周所走過(guò)的路程來(lái)得到每一站之間的路程,然后根據(jù)這個(gè)

28、路程來(lái)判斷車輛是否到站然后進(jìn)行相應(yīng)的操作。仿真中無(wú)法用霍爾元件來(lái)仿真所以用了一個(gè)脈沖發(fā)生器來(lái)代替,通過(guò)對(duì)脈沖的計(jì)數(shù)來(lái)判別是否到站,但設(shè)計(jì)中給出了其實(shí)際檢測(cè)電路的具體介紹以及應(yīng)用及其和單片機(jī)的接法。假設(shè)做實(shí)物圖那么可直接應(yīng)用使設(shè)計(jì)更為精確可行。成績(jī)?cè)u(píng)定依據(jù):平時(shí)表現(xiàn) 10:操作能力 20:辯論情況 20:課設(shè)報(bào)告 50:最終評(píng)定成績(jī)以百分制評(píng)定附錄1 電路總原理圖附錄2 源程序清單#include #include #include #define uint unsigned int#define uchar unsigned charsbit IO = P10; /定義1302雙向數(shù)據(jù)線管腳s

29、bit SCLK = P11; /定義1302串行接口的同步時(shí)鐘sbit RST = P12; /定義1302復(fù)位管腳sbit RS = P20;sbit RW = P21;sbit EN = P22;sbit BEEP = P37;sbit P32 = P23;uchar *WEEK=SUN,*,MON,TUS,WEN,THU,FRI,SAT;uchar LCD_DSY_BUFFER1=TIME 00:00:00 ;uchar LCD_DSY_BUFFER2= welcome to:HS ;uchar LCD_DSY_BUFFER3=AAAAAAAAA ;uchar LCD_DSY_BUFF

30、ER4=BBBBBBBBB ;uchar LCD_DSY_BUFFER5=CCCCCCCCC ;uchar DateTime7;void DelayMS(uint x) uchar t;while(x-) for(t=0;t120;t+);void Play(uchar t) uchar i;for(i=0;i100;i+) BEEP = BEEP;DelayMS(t);BEEP = 0;void Write_A_Byte_TO_DS1302(uchar x) uchar i;for(i=0;i=1;uchar Get_A_Byte_FROM_DS1302() uchar i,b=0 x00;

31、for(i=0;i8;i+) b |= _crol_(uchar)IO,i);SCLK=1;SCLK=0;return b/16*10+b%16;uchar Read_Data(uchar addr) uchar dat;RST = 0;SCLK=0;RST=1; Write_A_Byte_TO_DS1302(addr);dat = Get_A_Byte_FROM_DS1302(); SCLK=1;RST=0;return dat;void GetTime() uchar i,addr = 0 x81;for(i=0;i7;i+) DateTimei=Read_Data(addr);addr+

32、=2;uchar Read_LCD_State() uchar state;RS=0;RW=1;EN=1;DelayMS(1);state=P0;EN = 0;DelayMS(1);return state;void LCD_Busy_Wait() while(Read_LCD_State()&0 x80)=0 x80);DelayMS(5);void Write_LCD_Data(uchar dat) LCD_Busy_Wait();RS=1;RW=0;EN=0;P0=dat;EN=1;DelayMS(1);EN=0;void Write_LCD_Command(uchar cmd) LCD

33、_Busy_Wait();RS=0;RW=0;EN=0;P0=cmd;EN=1;DelayMS(1);EN=0;void Init_LCD() Write_LCD_Command(0 x38);DelayMS(1);Write_LCD_Command(0 x01);DelayMS(1);Write_LCD_Command(0 x06);DelayMS(1);Write_LCD_Command(0 x0c);DelayMS(1);void Set_LCD_POS(uchar p) Write_LCD_Command(p|0 x80);void Display_LCD_String(uchar p

34、,uchar *s) uchar i;Set_LCD_POS(p);for(i=0;i16;i+)Write_LCD_Data(si);DelayMS(1); void Format_DateTime(uchar d,uchar *a) a0=d/10+0;a1=d%10+0;void main()int F=0; Init_LCD();while(1) GetTime();Format_DateTime(DateTime6,LCD_DSY_BUFFER1+5);Format_DateTime(DateTime4,LCD_DSY_BUFFER1+8);Format_DateTime(DateT

35、ime3,LCD_DSY_BUFFER1+11);strcpy(LCD_DSY_BUFFER1+13,WEEKDateTime5);Format_DateTime(DateTime2,LCD_DSY_BUFFER1+5);Format_DateTime(DateTime1,LCD_DSY_BUFFER1+8);Format_DateTime(DateTime0,LCD_DSY_BUFFER1+11); Display_LCD_String(0 x00,LCD_DSY_BUFFER1);if(P32=0) F+;switch(F) case 1:Display_LCD_String(0 x40,

36、LCD_DSY_BUFFER2);break;case 45:Play(2),Display_LCD_String(0 x40,LCD_DSY_BUFFER3);break;case 55:Display_LCD_String(0 x40,LCD_DSY_BUFFER2);break;case 100:Play(2),Display_LCD_String(0 x40,LCD_DSY_BUFFER4);break;case 115:Display_LCD_String(0 x40,LCD_DSY_BUFFER2);break; case 150:Play(2),Display_LCD_Strin

37、g(0 x40,LCD_DSY_BUFFER5);break;case 170:Display_LCD_String(0 x40,LCD_DSY_BUFFER2);break;case 200:Play(2),Display_LCD_String(0 x40,LCD_DSY_BUFFER5);break;case 210:Display_LCD_String(0 x40,LCD_DSY_BUFFER2);break;case 260:Play(2),Display_LCD_String(0 x40,LCD_DSY_BUFFER4);break;case 270:Display_LCD_Stri

38、ng(0 x40,LCD_DSY_BUFFER2);break; case 300:Play(2),Display_LCD_String(0 x40,LCD_DSY_BUFFER3);break;case 310:Display_LCD_String(0 x40,LCD_DSY_BUFFER2),F=0;break; 附錄3 頭文件清單reg52.h/*-Header file for generic 80C52 and 80C32 microcontroller.Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, I

39、nc.All rights reserved.-*/#ifndef _REG52_H_#define _REG52_H_/* BYTE Registers */sfr P0 = 0 x80;sfr P1 = 0 x90;sfr P2 = 0 xA0;sfr P3 = 0 xB0;sfr PSW = 0 xD0;sfr ACC = 0 xE0;sfr B = 0 xF0;sfr SP = 0 x81;sfr DPL = 0 x82;sfr DPH = 0 x83;sfr PCON = 0 x87;sfr TCON = 0 x88;sfr TMOD = 0 x89;sfr TL0 = 0 x8A;

40、sfr TL1 = 0 x8B;sfr TH0 = 0 x8C;sfr TH1 = 0 x8D;sfr IE = 0 xA8;sfr IP = 0 xB8;sfr SCON = 0 x98;sfr SBUF = 0 x99;/* 8052 Extensions */sfr T2CON = 0 xC8;sfr RCAP2L = 0 xCA;sfr RCAP2H = 0 xCB;sfr TL2 = 0 xCC;sfr TH2 = 0 xCD;/* BIT Registers */* PSW */sbit CY = PSW7;sbit AC = PSW6;sbit F0 = PSW5;sbit RS

41、1 = PSW4;sbit RS0 = PSW3;sbit OV = PSW2;sbit P = PSW0; /8052 only/* TCON */sbit TF1 = TCON7;sbit TR1 = TCON6;sbit TF0 = TCON5;sbit TR0 = TCON4;sbit IE1 = TCON3;sbit IT1 = TCON2;sbit IE0 = TCON1;sbit IT0 = TCON0;/* IE */sbit EA = IE7;sbit ET2 = IE5; /8052 onlysbit ES = IE4;sbit ET1 = IE3;sbit EX1 = I

42、E2;sbit ET0 = IE1;sbit EX0 = IE0;/* IP */sbit PT2 = IP5;sbit PS = IP4;sbit PT1 = IP3;sbit PX1 = IP2;sbit PT0 = IP1;sbit PX0 = IP0;/* P3 */sbit RD = P37;sbit WR = P36;sbit T1 = P35;sbit T0 = P34;sbit INT1 = P33;sbit INT0 = P32;sbit TXD = P31;sbit RXD = P30;/* SCON */sbit SM0 = SCON7;sbit SM1 = SCON6;

43、sbit SM2 = SCON5;sbit REN = SCON4;sbit TB8 = SCON3;sbit RB8 = SCON2;sbit TI = SCON1;sbit RI = SCON0;/* P1 */sbit T2EX = P11; / 8052 onlysbit T2 = P10; / 8052 only /* T2CON */sbit TF2 = T2CON7;sbit EXF2 = T2CON6;sbit RCLK = T2CON5;sbit TCLK = T2CON4;sbit EXEN2 = T2CON3;sbit TR2 = T2CON2;sbit C_T2 = T

44、2CON1;sbit CP_RL2 = T2CON0;#endif頭文件清單intrins.h/*-Intrinsic functions for C51.Copyright (c) 1988-2004 Keil Elektronik GmbH and Keil Software, Inc.All rights reserved.-*/#ifndef _INTRINS_H_#define _INTRINS_H_extern void _nop_ (void);extern bit _testbit_ (bit);extern unsigned char _cror_ (unsigned char, unsigned char);extern unsigned int _iror_ (unsigned int, unsigned char);extern unsigned long _lror_ (unsigned long, unsigned char);extern unsigned char _crol_ (unsigned char, unsigned char);extern unsigned int _irol_ (unsigned int, unsigned char);extern unsigned long _lro

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論