畢業(yè)設(shè)計(jì) 公交車自動(dòng)報(bào)站系統(tǒng)
《畢業(yè)設(shè)計(jì) 公交車自動(dòng)報(bào)站系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《畢業(yè)設(shè)計(jì) 公交車自動(dòng)報(bào)站系統(tǒng)(32頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、 公交車自動(dòng)報(bào)站系統(tǒng)【摘 要】本設(shè)計(jì)介紹了一種利用紅外線遙控技術(shù),模擬公交車自動(dòng)報(bào)站的系統(tǒng)。以AT89C52為主芯片。公交車上的接收電路收到站臺(tái)信息后解碼,解碼后把信號(hào)傳送給AT89C52單片機(jī),啟動(dòng)LCD12864顯示站名。同時(shí),應(yīng)用語音模塊播報(bào)站名.還可以實(shí)現(xiàn)手動(dòng)報(bào)站功能。報(bào)站的時(shí)候,相應(yīng)的指示燈亮;蜂鳴器蜂鳴一聲報(bào)警。系統(tǒng)由紅外線的發(fā)射模塊、接收模塊、 LCD12864顯示模塊及ISD4004語音播報(bào)模塊組成目 錄1 引言 (3)1.1本課題研究的意義 (3)1.2 AT89C52單片機(jī)介紹 (3)2 設(shè)計(jì)要求(4)3方案分析與論證 (4)3.1 無線收發(fā)模塊的分析與論證 (4)3.2控
2、制模塊的分析與論證 (4)4 系統(tǒng)硬件設(shè)計(jì)(4)4.1 系統(tǒng)的硬件設(shè)計(jì)(4)4.1.1電路設(shè)計(jì)原理框圖 (5)4.2 單元電路的設(shè)計(jì)和分析(5)4.2.1 遙控收發(fā)電路(5)4.2.2 AT89C52控制的LCD12864電路(6)4.2.3 ISD4004語音錄放電路 (9)4.2.4 本設(shè)計(jì)總原理圖(11)5 系統(tǒng)軟件設(shè)計(jì) (12)5.1 系統(tǒng)流程圖(12)5.2 程序設(shè)計(jì)(14)6 系統(tǒng)測試 (15)致謝(15)參考文獻(xiàn)(15)附錄(16)1 引言1.1 本課題研究的意義現(xiàn)今社會(huì),公交事業(yè)關(guān)乎到大多數(shù)城市居民的出行,可公交車上的報(bào)站系統(tǒng)依然無法滿足大家對(duì)其的要求。現(xiàn)在公交車上普遍使用的人
3、工按鍵報(bào)站會(huì)出現(xiàn)報(bào)站不準(zhǔn)確(由于司機(jī)在操作報(bào)站系統(tǒng)時(shí)經(jīng)常會(huì)按錯(cuò)鍵或忘記按鍵,而且在調(diào)整系統(tǒng)時(shí)會(huì)連續(xù)報(bào)出幾個(gè)站點(diǎn),讓不熟悉路線站點(diǎn)的乘客不知所措)。并且每次報(bào)站時(shí)都需要由駕駛員對(duì)報(bào)站器進(jìn)行操作,而在車輛起動(dòng)與進(jìn)站時(shí),往往是路面情況最復(fù)雜的時(shí)候,駕駛員既要對(duì)行駛中的汽車進(jìn)行起動(dòng)或制動(dòng)等操作,同時(shí)還要兼顧報(bào)站系統(tǒng)的操作,給行駛中的車輛帶來一定的安全隱患。雖然現(xiàn)在已經(jīng)有些大城市的某些公交車上已經(jīng)采用GPS定位系統(tǒng)自動(dòng)報(bào)站,但其昂貴的成本,難以實(shí)現(xiàn)普及,特別是一些中小城市難以負(fù)擔(dān)。本設(shè)計(jì)針對(duì)目前常見公交車報(bào)站系統(tǒng)的主要缺陷,介紹了基于單片機(jī)控制的公交車自動(dòng)報(bào)站系統(tǒng),該系統(tǒng)費(fèi)用廉價(jià),可以普及。1.2 AT
4、89C52單片機(jī)介紹隨著計(jì)算機(jī)技術(shù)的發(fā)展,單片機(jī)技術(shù)已成為計(jì)算機(jī)技術(shù)中的一個(gè)獨(dú)特的分支,單片機(jī)的應(yīng)用領(lǐng)域也越來越廣泛,特別是在工業(yè)控制和儀器儀表智能化中扮演著極其重要的角色。實(shí)際上,單片機(jī)幾乎在人類生活的各個(gè)領(lǐng)域都表現(xiàn)出強(qiáng)大的生命力,使計(jì)算機(jī)的應(yīng)用范圍達(dá)到了前所未有的廣度和深度。單片機(jī)的出現(xiàn)尤其對(duì)電路工作者產(chǎn)生了觀念上的沖擊。過去經(jīng)常采用模擬電路、數(shù)字電路實(shí)現(xiàn)的電路系統(tǒng),現(xiàn)在相當(dāng)大一部分可以用單片機(jī)予以實(shí)現(xiàn),傳統(tǒng)的電路設(shè)計(jì)方法已演變成軟件和硬件相結(jié)合的設(shè)計(jì)方法,而且許多電路設(shè)計(jì)問題將轉(zhuǎn)化為純粹的程序設(shè)計(jì)問題。誠然,單片機(jī)的應(yīng)用意義遠(yuǎn)不限于它的應(yīng)用范疇或由此帶來的經(jīng)濟(jì)效益,更重要的是它已從根本上
5、改變了傳統(tǒng)的控制方法和設(shè)計(jì)思想。是控制技術(shù)的一次革命,是一座重要的里程碑。 AT89C52是ATMEL公司生產(chǎn)的51系列單片機(jī)的一個(gè)型號(hào),是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8Kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外部中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可
6、以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。主要功能特性:兼容MCS51指令系統(tǒng)8K可反復(fù)擦寫(1000次)Flash ROM32個(gè)雙向I/O口2568bit內(nèi)部RAM3個(gè)16位可編程定時(shí)/計(jì)數(shù)中斷時(shí)鐘頻率0-24MHZ2個(gè)串行中斷可編程UART串行通道2個(gè)外部中斷,共6個(gè)中斷源2個(gè)讀寫中斷口線,3級(jí)加密位低功耗空閑和掉電模式軟件設(shè)置睡眠和喚醒功能 2 設(shè)計(jì)要求用AT89C52單片機(jī)來設(shè)計(jì)一個(gè)公交車自動(dòng)報(bào)站系
7、統(tǒng)。要求用遙控模擬實(shí)現(xiàn)當(dāng)公交車靠近站點(diǎn)時(shí)可以用文字來顯示站名,同時(shí)相應(yīng)指示燈亮、有報(bào)警功能。3 方案分析與論證3.1無線收發(fā)模塊的分析與論證方案一:無線AP。由無線AP構(gòu)成,通信的效果好,數(shù)據(jù)傳送量大,但是其成本比較高,由于采用IEEE 802.11b和IEEE 802.11g的通信協(xié)議,因此它比較適合用于移動(dòng)上網(wǎng)。 方案二:無線數(shù)傳模塊。采用專用收發(fā)集成電路的無線數(shù)傳模塊構(gòu)成,所以性能相對(duì)較好,而且容易實(shí)現(xiàn),并且在功耗,抗干擾性等方面都比較優(yōu)越,但是由于基于此芯片的無線傳輸模塊價(jià)格和無線AP模塊差不多,所以成本相對(duì)偏高。 方案三:PT2262/PT2272-L4集成芯片。方案采用低功耗、低價(jià)
8、位、通用編解碼電路,發(fā)送用高的達(dá)林頓管,所以在靈敏度和抗干擾性方面有保障。方案四:紅外遙控??梢杂矛F(xiàn)有的遙控裝置,我們只要了解其編解碼原理,就可以采用現(xiàn)成的簡易裝置來模擬應(yīng)用。 以上四種都是可供參考的方案,在考慮了諸多因素之后,決定采用方案四。雖然在軟件解碼方面比較復(fù)雜,但其工作穩(wěn)定,可靠性高。3.2 控制模塊的分析與論證方案一:采用GPRS作為系統(tǒng)的控制器。GPRS即“通用分組無線業(yè)務(wù)”(GeneralPacketRadioService的英文簡稱) 是在現(xiàn)有GSM網(wǎng)絡(luò)上開通的一種新型的分組數(shù)據(jù)傳輸技術(shù).相對(duì)于原來GSM以撥號(hào)接入的電路交換數(shù)據(jù)傳送方式 GPRS是分組交換技術(shù) 具有“永遠(yuǎn)在線
9、”、“自如切換”、“高速傳輸”等優(yōu)點(diǎn)。GPRS可作為實(shí)現(xiàn)各種復(fù)雜的邏輯功能,規(guī)模大,但其成本非常高。方案二:采用嵌入式ARM的32位單片機(jī)LPC2138。LPC2138功能龐大,內(nèi)部資源豐富,易于數(shù)據(jù)的采集,不但具有一般單片機(jī)的所有功能,還內(nèi)置了PWM,具有很強(qiáng)的串行通信功能,引腳非常豐富,功耗低,穩(wěn)定性好,易于功能擴(kuò)展,其在線仿真技術(shù),軟硬件調(diào)試方便,但ARM板成本較高。 方案三:采用AT89C52單片機(jī)控制, 它簡單易用、成本低廉,軟件編程自由度大,可用編程實(shí)現(xiàn)各種控制算法和邏輯控制,采用AT89C52單片機(jī)為控制核心,系統(tǒng)功能強(qiáng)大,資源配置靈活,運(yùn)行可靠穩(wěn)定,是一套相對(duì)完善工業(yè)低壓控制系
10、統(tǒng),采用板式結(jié)構(gòu)、安裝牢靠,操作簡潔。綜上所說ARM雖功能強(qiáng)但成本高,且用單片機(jī)也能很好的控制,所以該系統(tǒng)的設(shè)計(jì)選用單片機(jī)編程即可,我們所以選擇方案三。4 系統(tǒng)硬件設(shè)計(jì)4.1系統(tǒng)硬件設(shè)計(jì) 本設(shè)計(jì)采用紅外遙控來實(shí)現(xiàn)無線數(shù)據(jù)的收發(fā),采用AT89C52單片機(jī)為控制核心,實(shí)現(xiàn)公交車的自動(dòng)報(bào)站功能。4.1.1系統(tǒng)總體方框圖 +5V電源 C52單片機(jī)遙控收發(fā)電路語音錄放電路液晶顯示電路+3V電源按鍵電路蜂鳴器指示燈圖4.1 系統(tǒng)總體方框圖4.2 單元電路的設(shè)計(jì)、分析4.2.1 遙控收發(fā)電路 紅外線遙控是目前使用最廣泛的一種通信和遙控手段。由于紅外線遙控裝置具有體積小、功耗低、功能強(qiáng)、成本低等特點(diǎn),因而,繼
11、彩電、錄像機(jī)之后,在錄音機(jī)、音響設(shè)備、空凋機(jī)以及玩具等其它小型電器裝置上也紛紛采用紅外線遙控。工業(yè)設(shè)備中,在高壓、輻射、有毒氣體、粉塵等環(huán)境下,采用紅外線遙控不僅完全可靠而且能有效地隔離電氣干擾。 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編/解碼專用集成電路芯片來進(jìn)行控制操作,如圖4.2所示。發(fā)射部分包括鍵盤矩陣、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光、電轉(zhuǎn)換放大器、解調(diào)、解碼電路。 圖4.2 紅外遙控系統(tǒng)框圖遙控發(fā)射器專用芯片很多,根據(jù)編碼格式可以分成兩大類,這里我們以運(yùn)用比較廣泛,解碼比較容易的一類來加以說明,現(xiàn)以日本NEC的uPD6121G組成發(fā)射電路為例說明編碼原理。當(dāng)發(fā)射器
12、按鍵按下后,即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不同。這種遙控碼具有以下特征: 采用脈寬調(diào)制的串行碼,以脈寬為0.565ms、間隔0.56ms、周期為1.125ms的組合表示二進(jìn)制的“0”;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms的組合表示二進(jìn)制的“1”,其波形如圖4.3所示。 圖4.3 遙控碼的“0”和“1”上述“0”和“1”組成的32位二進(jìn)制碼經(jīng)38kHz的載頻進(jìn)行二次調(diào)制以提高發(fā)射效率,達(dá)到降低電源功耗的目的。然后再通過紅外發(fā)射二極管產(chǎn)生紅外線向空間發(fā)射,如圖4.4所示。圖4.4 遙控信號(hào)編碼波形圖UPD6121G產(chǎn)生的遙控編碼是連續(xù)的32位二進(jìn)制碼組,其中前16
13、位為用戶識(shí)別碼,能區(qū)別不同的電器設(shè)備,防止不同機(jī)種遙控碼互相干擾。該芯片的用戶識(shí)別碼固定為十六進(jìn)制01H;后16位為8位操作碼(功能碼)及其反碼。UPD6121G最多額128種不同組合的編碼。 遙控器在按鍵按下后,周期性地發(fā)出同一種32位二進(jìn)制碼,周期約為108ms。一組碼本身的持續(xù)時(shí)間隨它包含的二進(jìn)制“0”和“1”的個(gè)數(shù)不同而不同,大約在4563ms之間。當(dāng)一個(gè)鍵按下超過36ms,振蕩器使芯片激活,將發(fā)射一組108ms的編碼脈沖,這108ms發(fā)射代碼由一個(gè)起始碼(9ms),一個(gè)結(jié)果碼(4.5ms),低8位地址碼(9ms18ms),高8位地址碼(9ms18ms),8位數(shù)據(jù)碼(9ms18ms)和
14、這8位數(shù)據(jù)的反碼(9ms18ms)組成。如果鍵按下超過108ms仍未松開,接下來發(fā)射的代碼(連發(fā)代碼)將僅由起始碼(9ms)和結(jié)束碼(2.5ms)組成。解碼的關(guān)鍵是如何識(shí)別“0”和“1”,從位的定義我們可以發(fā)現(xiàn)“0”、“1”均以0.56ms的低電平開始,不同的是高電平的寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)高電平的寬度區(qū)別“0”和“1”。如果從0.56ms低電平過后,開始延時(shí),0.56ms以后,若讀到的電平為低,說明該位為“0”,反之則為“1”,為了可靠起見,延時(shí)必須比0.56ms長些,但又不能超過1.12ms,否則如果該位為“0”,讀到的已是下一位的高電平,因此取
15、(1.12ms+0.56ms)/2=0.84ms最為可靠,一般取0.84ms左右均可。 接收電路如圖4.5所示。PC3388是紅外接收頭,1腳是信號(hào)端,2腳是地端,3腳是電源端。當(dāng)電路正常工作時(shí),發(fā)光二極管發(fā)亮。測試時(shí)可以觀察D1的狀態(tài)來判斷是否有接收到信號(hào)。 圖4.5 紅外接收電路4.2.2 AT89C52控制的LCD12864電路LCD12864介紹LCD12864在市面上主要分為兩種,一種是采用st7920控制器的,它一般帶有中文字庫字模,價(jià)格略高一點(diǎn)。另一種是采用KS0108控制器,它只是點(diǎn)陣模式,不帶字庫。我的這塊就是KS0108控制器不帶漢字庫的。LCD12864模塊的20個(gè)引腳定
16、義如下:1.Vss邏輯電源地2.VDD邏輯電源正5v3.V0 LCD驅(qū)動(dòng)電壓4.RS 數(shù)據(jù)/指令選擇:高電平為數(shù)據(jù),低電平為指令5.R/W讀/寫選擇:高電平為讀數(shù)據(jù),低電平為寫數(shù)據(jù)6.E讀寫使能,高電平有效,下降沿鎖定數(shù)據(jù)7. DB0數(shù)據(jù)輸入輸出引腳8.DB1數(shù)據(jù)輸入輸出引腳9.DB2數(shù)據(jù)輸入輸出引腳10.DB3數(shù)據(jù)輸入輸出引腳11.DB4數(shù)據(jù)輸入輸出引腳12.DB5數(shù)據(jù)輸入輸出引腳13.DB6數(shù)據(jù)輸入輸出引腳14.DB7數(shù)據(jù)輸入輸出引腳15.CS1片選擇號(hào),低電平時(shí)選擇前64列16.CS2片選擇號(hào),低電平時(shí)選擇后64列17.RET復(fù)位信號(hào),低電平有效。18.VEE輸出15v電源給V0提供驅(qū)動(dòng)
17、電源19.A背光電源LED正極20.K背光電源LED負(fù)極圖4.6是LCD12864的內(nèi)部控制結(jié)構(gòu):圖4.6 LCD12864的內(nèi)部控制結(jié)構(gòu)圖由上圖可以看出12864屏是分為左、右兩塊控制的。所有對(duì)屏幕的操作要受片選CS1、CS2來控制。表4-1是屏幕操作數(shù)據(jù)與屏幕點(diǎn)陣的排布關(guān)系圖。 表4-1 屏幕操作數(shù)據(jù)與屏幕點(diǎn)陣的排布關(guān)系圖 從上表可以看出數(shù)據(jù)按字節(jié)在屏幕上是豎向排列的。上方為低位,下方為高位。因此在橫向上(也就是Y)就一共是128列數(shù)據(jù)。分為CS1和CS2兩個(gè)64列來寫入。在豎方向上(也就是X)一字節(jié)數(shù)據(jù)顯示8個(gè)點(diǎn),豎向64個(gè)點(diǎn)分為8個(gè)字節(jié),稱做8頁(X=0-7)。了解這些后我們就知道要滿
18、屏顯示一張圖就要從y=0127、X=07一共寫1288=1024個(gè)字節(jié)的數(shù)據(jù)。同樣在AT89S51中存一張圖就要1024個(gè)字節(jié)的空間。表4-2為其指令表。表4-2 指令表 顯示開關(guān)控制(DISPLAY ON/OFF) D=1:開顯示(DISPLAY ON) 意即顯示器可以進(jìn)行各種顯示操作 D=0:關(guān)顯示(DISPLAY OFF) 意即不能對(duì)顯示器進(jìn)行各種顯示操作 設(shè)置顯示起始行(DISPLAY START LINE) A5A0 6位地址自動(dòng)送入Z地址計(jì)數(shù)器,起始行的地址可以是063的任意一行。 例如: 選擇A5A0是62,則起始行與DDRAM行的對(duì)應(yīng)關(guān)系如下: DDRAM 行:62 63 0
19、1 2 3 28 29 屏幕顯示行: 1 2 3 4 5 6 31 32 設(shè)置頁地址(SET PAGE “X ADDRESS”) 所謂頁地址就是DDRAM的行地址,8行為一頁,模塊共64行即8頁,A2A0表示07頁。讀寫數(shù)據(jù)對(duì)地址沒有影響,頁地址由本指令或RST信號(hào)改變復(fù)位后頁地址為0。頁地址與DDRAM的對(duì)應(yīng)關(guān)系見DDRAM地址表。 設(shè)置Y地址(SET Y ADDRESS) 此指令的作用是將A5A0送入Y地址計(jì)數(shù)器,作為DDRAM的Y地址指針。在對(duì)DDRA M進(jìn)行讀寫操作后,Y地址指針自動(dòng)加1,指向下一個(gè)DDRAM單元。 讀狀態(tài)(STATUS READ) 當(dāng)R/W=1 D/I=0時(shí),在E信號(hào)
20、為“H”的作用下,狀態(tài)分別輸出到數(shù)據(jù)總線(DB7DB0)的相應(yīng)位。 BF: 前面已敘述過(見BF標(biāo)志位一節(jié))。 ON/OFF: 表示DFF觸發(fā)器的狀態(tài)(見DFF觸發(fā)器一節(jié))。 RST: RST=1表示內(nèi)部正在初始化,此時(shí)組件不接受任何指令和數(shù)據(jù)。寫顯示數(shù)據(jù)(WRITE DISPLAY DATE) D7D0為顯示數(shù)據(jù),此指令把D7D0寫入相應(yīng)的DDRAM單元,Y地址指針自動(dòng)加1。讀顯示數(shù)據(jù)(READ DISPLAY DATE)此指令把DDRAM的內(nèi)容D7D0讀到數(shù)據(jù)總線DB7DB0,Y地址指針自動(dòng)加1。 下圖4.7為AT89C52控制的LCD12864顯示電路。 圖4.7 89C52控制的LCD
21、12864顯示電路4.2.3 ISD4004語音錄放電路ISD4004芯片無須A/D轉(zhuǎn)換和壓縮就可以直接儲(chǔ)存,沒有A/D轉(zhuǎn)換誤差,具有可多次重復(fù)錄放、存儲(chǔ)時(shí)間長,使用時(shí)不需擴(kuò)充存儲(chǔ)器、所需外圍電路簡單。利用AT89C51控制ISD4004芯片的過程。外接輸入和輸出端口。通過系統(tǒng)功能模塊各部分的連接及軟硬件設(shè)計(jì)可以實(shí)現(xiàn)數(shù)字化語音的存儲(chǔ)和回放。ISD4004語音芯片采用CMOS技術(shù),內(nèi)含晶體振蕩器、防混疊濾波器、平滑濾波器、自動(dòng)靜噪、音頻功率放大器及高密度多電平閃爍存儲(chǔ)陣列等。因此只需要很少的外圍器件就可構(gòu)成一個(gè)完整的聲音錄放系統(tǒng)。芯片設(shè)計(jì)是基于所以操作由微控制器控制。操作命令通過串行通信接口(S
22、PI或Microwire)送入。采樣頻率可謂4.0HZ、5.3HZ、6.4HZ、8.0HZ,頻率越低,錄放時(shí)間越長。而音質(zhì)有所下降。片內(nèi)信息存于內(nèi)存儲(chǔ)器中,可在斷電情況下保存100年,反復(fù)錄音10萬次。器件工作電壓為3V,工作電流為2530mA。單片機(jī)錄放語音時(shí)間816min。圖4.8為ISD4004內(nèi)部框圖、圖4.9為ISD4004的引腳排列。圖4.8 ISD4004內(nèi)部框圖 圖4.9 ISD4004的引腳排列引腳12、27為電源線;4、11為地線;17為同相模擬輸入端,輸入放大器可用單端或差分驅(qū)動(dòng);16為反相模擬輸入端。音頻輸出(引腳13)提供音頻輸出,可驅(qū)動(dòng)5K的負(fù)載;引腳1為片選,此端
23、為低,即向ISD4004芯片發(fā)送指令,兩條指令之間為高電平。MOSI為串行輸入端口,MISO為串行輸出端口,串行時(shí)鐘SCLK由主控制器產(chǎn)生,用于同步MOSI和MISO的數(shù)據(jù)傳輸,數(shù)據(jù)在SCLK上升沿鎖存到ISD,在下降沿移出ISD。中斷(INT)為漏極開路輸出端口,ISD在任何操作(包括快進(jìn))中檢測到EOM或IVF時(shí),本端變低并保持。中斷狀態(tài)在下一個(gè)SPI周期開始時(shí)清除。中斷狀態(tài)也可用RINT指令讀取。每個(gè)RAC周期表示ISD存儲(chǔ)器的操作進(jìn)行了一行。該信號(hào)保持高電平的時(shí)間為175ms,低電平時(shí)間為25ms。在快進(jìn)模式,RAC可保持高電平218.75微秒,低電平為31.25微秒。ISD4004工
24、作于SPI串行接口。SPI協(xié)議是一個(gè)同步串行數(shù)據(jù)傳輸協(xié)議,協(xié)議假定微控制器的SPI以為寄存器在SCLD的下降沿動(dòng)作,因此,對(duì)ISD4004而言,在時(shí)鐘上升沿鎖存MOSI引腳數(shù)據(jù),在下降沿將數(shù)據(jù)送至MISO引腳。如圖4.11,在語音芯片的外圍只需接一個(gè)EMC輸入電路和一個(gè)功率放大器的輸出電路,就構(gòu)成了一個(gè)語音錄放系統(tǒng)。ISD4004的27腳接的是由+5V電源改裝成的+3V電源。 圖4.11 ISD4004語音錄放電路4.2.4 本設(shè)計(jì)總原理圖通過以上單元電路的分析我們已經(jīng)對(duì)各單元電路的硬件都有了一定的了解。下面對(duì)其總體實(shí)現(xiàn)情況作一個(gè)簡單的說明。紅外接收電路接收遙控信息并解碼,解碼后把信息通過外部
25、中斷1與單片機(jī)通信。單片機(jī)處理后,啟動(dòng)LCD12864及ISD4004模塊顯示播報(bào)站名。P2.0P2.4接LED1LED5等5個(gè)指示燈,P2.5控制蜂鳴器。PC3388的信號(hào)端連到AT89C52的外部中斷1。 圖4.12 本設(shè)計(jì)總原理圖5 系統(tǒng)軟件設(shè)計(jì)5.1 系統(tǒng)流程圖5.1.1 主程序流程圖 功能:通過按鍵來實(shí)現(xiàn)公交車的手動(dòng)報(bào)站。鍵1實(shí)現(xiàn)公交車站名的正順序顯示,鍵2實(shí)現(xiàn)公交車站名的逆顯示,鍵3實(shí)現(xiàn)清屏,鍵4可以用來插入廣告等。 開始LCD初始化定時(shí)器0的中斷設(shè)置鍵1按下?判斷是第幾次按下執(zhí)行相應(yīng)顯示,相應(yīng)的指示燈亮,蜂鳴器蜂鳴一聲YNNYWhile(1)鍵2按下?鍵3按下?鍵4按下?NN判斷
26、是第幾次按下LCD清屏插入廣告等YY執(zhí)行相應(yīng)顯示,相應(yīng)的指示燈亮,蜂鳴器蜂鳴一聲 圖5.1 主程序流程圖5.1.2 定時(shí)器中斷0服務(wù)子程序流程圖功能:按鍵處理。定時(shí)器中斷0鍵盤處理switch退出YCase1Case2Case3Case4圖5.2 定時(shí)器中斷0服務(wù)子程序流程圖5.1.3 遙控接收程序流程圖功能:判斷接收到的數(shù)據(jù)是否正確。開始串行口初始化接收數(shù)據(jù)數(shù)據(jù)是否接完?YNN不處理,退出進(jìn)入外部中斷1Y接收到的數(shù)據(jù)正確?圖5.3 遙控接收程序流程圖5.1.4 定時(shí)中斷1子程序流程圖 功能:解碼來控制播報(bào)站點(diǎn)相應(yīng)信息。定時(shí)器中斷1解碼判斷解出的是什么碼退出顯示相應(yīng)站名,相應(yīng)指示燈亮,蜂鳴器蜂
27、鳴一聲圖5.4 定時(shí)中斷1子程序流程圖5.1.5 外部中斷1子程序流程圖 功能:通過外部中斷1來實(shí)現(xiàn)紅外的控制。外部中斷1定時(shí)中斷1處理退出圖5.5 外部中斷1子程序流程圖5.2 程序設(shè)計(jì)源程序見附錄三6 系統(tǒng)測試紅外接收系統(tǒng)的測試可以通過觀察發(fā)光二極管D1的狀態(tài)來辨別該系統(tǒng)是否正常工作,如果接收到遙控信息,發(fā)光二極管點(diǎn)亮。還可以用電壓表來測試信號(hào)端的電壓來判斷接收系統(tǒng)是否正常工作,如果電壓表上顯示的電壓小幅度擺動(dòng),說明接收正常。按下遙控上的任意鍵,接收電路上的發(fā)光二極管D1發(fā)光,說明接收電路正常工作。但是,譯碼不夠準(zhǔn)確,所以不能很好的按預(yù)定的順序來顯示報(bào)站。預(yù)定的報(bào)站順序是:鍵1按下,LCD
28、12864顯示龍巖學(xué)院,LED1點(diǎn)亮;鍵2按下,LCD12864顯示曹溪金鵬,LED2點(diǎn)亮;鍵3按下,LCD12864顯示交警大隊(duì),LED3點(diǎn)亮;鍵4按下,LCD12864顯示人民醫(yī)院,LED4點(diǎn)亮;鍵5按下,LCD12864顯示羅橋西站,LED5點(diǎn)亮。報(bào)站的同時(shí),蜂鳴器蜂鳴一聲報(bào)警。SB1按下:如果是第1次按下,LCD12864顯示龍巖學(xué)院,LED1點(diǎn)亮;再按下,依次顯示曹溪金鵬、交警大隊(duì)、人民醫(yī)院、羅橋西站。SB2按下,如果是第1次按下,LCD12864顯示羅橋西站LED5點(diǎn)亮;再按下,依次顯示人民醫(yī)院、交警大隊(duì)、曹溪金鵬、龍巖學(xué)院。報(bào)站時(shí),相應(yīng)的指示燈點(diǎn)亮,蜂鳴器蜂鳴一聲報(bào)警。SB3按下
29、,LCD12864清屏;SB4按下,可以在LCD12864插入廣告等。測試基本達(dá)到設(shè)計(jì)要求, ISD4004語音芯片的調(diào)試尚未成功。 附 錄附錄一 原理圖附錄二 PCB圖 圖1 89C52控制的LCD12864顯示電路 圖2 ISD4004語音錄放電路附錄三 源程序#include /*預(yù)定義*/#define uchar unsigned char#define uint unsigned intunsigned char key_temp,key_bak,ychi,keyvalue=0x0f;unsigned char one_cnt=0,two_cnt=0;uchar key=0x0f;
30、unsigned char up,dowm;static unsigned char data IRCode3,IRCON,IRCON2;static unsigned char data DT;/*12864管腳配置*/#define port P1sbit rs=P30;sbit rw=P31;sbit e=P32;sbit cs1=P36;sbit cs2=P37;sbit P3_2 = P33;sbit led1 = P20;sbit led2 = P21;sbit led3 = P22;sbit led4 = P23;sbit led5 = P24;sbit beep = P25;u
31、char code data_shuju2232 = /*- 文字: 龍 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0xF0,0x12,0x1C,0xD0,0x10,0x10,0x10,0x00,0x00,0x40,0x20,0x10,0x0C,0x03,0x10,0x08,0x3F,0x42,0x41,0x40,0x40,0x40,0x70,0x00,/*- 文字: 巖 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x40,0x5E,0x50,0
32、x50,0xD0,0x50,0x5F,0x50,0x50,0x50,0x50,0x5E,0x40,0x40,0x00,0x10,0x08,0x04,0x02,0x7F,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,0x00,/*- 文字: 學(xué) -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x40,0x30,0x10,0x12,0x5C,0x54,0x50,0x51,0x5E,0xD4,0x50,0x18,0x57,0x32,0x10,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x42,
33、0x82,0x7F,0x02,0x02,0x02,0x02,0x02,0x02,0x00,/*- 文字: 院 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0x24,0x0C,0x04,0x00,0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00,/*- 文字: 曹 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x0
34、2,0x02,0xFA,0xAA,0xAA,0xAA,0xFF,0xAA,0xAA,0xFF,0xAA,0xAA,0xAA,0xFA,0x02,0x00,0x00,0x00,0x00,0x7E,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x2A,0x7E,0x00,0x00,0x00,/*- 文字: 溪 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x10,0x21,0x86,0x60,0x02,0x06,0x4A,0xE2,0x56,0x49,0x21,0x89,0x05,0x00,0x00,0x00,0x04,0xFC,0x03,0x
35、00,0x44,0x45,0x25,0x25,0x15,0x0F,0x15,0x25,0x47,0xC4,0x44,0x00,/*- 文字: 金 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x40,0x40,0x20,0x20,0x50,0x48,0x44,0xC3,0x44,0x48,0x50,0x50,0x20,0x60,0x20,0x00,0x40,0x40,0x42,0x42,0x4A,0x72,0x42,0x7F,0x42,0x62,0x5A,0x42,0x42,0x40,0x40,0x00,/*- 文字: 鵬 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣
36、為:寬x高=16x16 -*/0x00,0xFE,0x12,0xFE,0x00,0xFE,0x12,0xFE,0x00,0xFC,0x0E,0x35,0x44,0x7C,0x00,0x00,0x20,0x1F,0x21,0x7F,0x20,0x1F,0x41,0x7F,0x08,0x09,0x09,0x29,0x49,0x21,0x1F,0x00,/*- 文字: 人 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x3F,0xC2,0x00,0x00,0x00,0x00,0x00,0x00,0x00
37、,0x00,0x40,0x20,0x10,0x0C,0x03,0x00,0x00,0x01,0x06,0x0C,0x18,0x30,0x60,0x20,0x00,/*- 文字: 民 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x00,0xFE,0x92,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0x9E,0x80,0x80,0x00,0x00,0x00,0x00,0xFF,0x40,0x20,0x10,0x00,0x00,0x03,0x0C,0x10,0x20,0x40,0xF0,0x00,0x00,/*- 文字: 醫(yī) -*/
38、*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0xFE,0x42,0xA2,0x9E,0x92,0x92,0x92,0xF2,0x92,0x92,0x92,0xD2,0x82,0x00,0x00,0x00,0x7F,0x40,0x40,0x50,0x48,0x44,0x43,0x40,0x41,0x42,0x5C,0x48,0x40,0x40,0x00,/*- 文字: 院 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0xFE,0x02,0x32,0x4A,0x86,0x0C,0x24,0x24,0x25,0x26,0x24,0x24,0
39、x24,0x0C,0x04,0x00,0xFF,0x00,0x02,0x04,0x83,0x41,0x31,0x0F,0x01,0x01,0x7F,0x81,0x81,0x81,0xF1,0x00,/*- 文字: 交 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x08,0x88,0x48,0x38,0x28,0x09,0x0E,0x0C,0x08,0x98,0x28,0x68,0x48,0x08,0x00,0x00,0x80,0x80,0x40,0x41,0x22,0x14,0x18,0x0C,0x16,0x23,0x61,0xC0,0x40,0x00,
40、0x00,/*- 文字: 警 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x20,0x1A,0xFA,0xAF,0xAA,0xEF,0x0A,0xFA,0x10,0x8F,0x54,0x24,0x5C,0x84,0x04,0x00,0x02,0x02,0x02,0xEA,0xAA,0xAA,0xAB,0xAA,0xAB,0xAA,0xAA,0xEA,0x02,0x02,0x03,0x00,/*- 文字: 大 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x20,0x20,0x20,0x20,0x20,0x20,0xA0,0x7F,0xA
41、0,0x20,0x20,0x20,0x20,0x20,0x20,0x00,0x00,0x80,0x40,0x20,0x10,0x0C,0x03,0x00,0x01,0x06,0x08,0x30,0x60,0xC0,0x40,0x00,/*- 文字: 隊(duì) -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0xFE,0x02,0x12,0x2A,0xC6,0x02,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x00,0x02,0x44,0x43,0x20,0x10,0x0C,0x03,0x00,0x03,0x
42、0C,0x10,0x60,0x20,0x00,/*- 文字: 羅 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x00,0x7E,0x22,0x22,0x22,0xFE,0xA2,0xA2,0xBE,0xA2,0xA2,0xA2,0xBE,0x00,0x00,0x80,0x88,0x88,0x84,0x42,0x43,0x25,0x28,0x10,0x10,0x08,0x04,0x03,0x00,0x00,0x00,/*- 文字: 橋 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x88,0x68,0xFF,0x28,0x48,
43、0x18,0x92,0x52,0x32,0x1E,0x32,0x52,0x92,0x12,0x10,0x00,0x01,0x00,0xFF,0x00,0x01,0x41,0x30,0x0F,0x00,0x00,0x00,0xFF,0x00,0x01,0x01,0x00,/*- 文字: 西 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x02,0xF2,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xFE,0x12,0x12,0x12,0xF2,0x02,0x00,0x00,0x7F,0x28,0x24,0x22,0x21,0x20,0x20
44、,0x20,0x21,0x22,0x22,0x22,0x7F,0x00,0x00,/*- 文字: 站 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x10,0x50,0x92,0x1C,0x10,0xF0,0x10,0x00,0x00,0x00,0xFF,0x10,0x10,0x10,0x10,0x00,0x10,0x10,0x0B,0x0C,0x0B,0x08,0x00,0x7F,0x21,0x21,0x21,0x21,0x21,0x7F,0x00,0x00,/*- 文字: 到 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x
45、22,0x72,0x2A,0x26,0xE2,0x2A,0x72,0x22,0x00,0xF8,0x00,0x00,0xFF,0x00,0x00,0x00,0x42,0xC2,0x42,0x22,0x3F,0x22,0x12,0x12,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,/*- 文字: 了 -*/*- 宋體12; 此字體下對(duì)應(yīng)的點(diǎn)陣為:寬x高=16x16 -*/0x00,0x02,0x02,0x02,0x02,0x02,0x02,0xF2,0x12,0x0A,0x0A,0x06,0x06,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0
46、x00,0x40,0x80,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,;/* 函數(shù)名稱:Delay()* 功 能:延遲時(shí)間=a*1ms* 入口參數(shù):* 出口參數(shù):無*/void delay10ms(void) unsigned char i,j; for(i=2000;i0;i-) for(j=2000;j0;j-);/* 函數(shù)名稱:Lcd_Display_On()* 功 能:LCD顯示開* 入口參數(shù):無* 出口參數(shù):無*/void Lcd_Display_On() port=0x3f; rs=0; rw=0; e=1; e=0; /* 函數(shù)名稱
47、:Lcd_Display_Off()* 功 能:LCD顯示關(guān)* 入口參數(shù):無* 出口參數(shù):無*/void Lcd_Display_Off() port=0x3e; rs=0; rw=0; e=1; e=0; /* 函數(shù)名稱:Lcd_Set_X(uchar x)* 功 能:LCD設(shè)置X坐標(biāo)* 入口參數(shù):x * 出口參數(shù):無*/void Lcd_Set_X(uchar x) port=0xb8|x; rs=0; rw=0; e=1; e=0; /* 函數(shù)名稱:Lcd_Set_Y(uchar y)* 功 能:LCD設(shè)置Y坐標(biāo)* 入口參數(shù):y* 出口參數(shù):無*/void Lcd_Set_Y(uchar
48、 y) port=0x40|y; rs=0; rw=0; e=1; e=0; /* 函數(shù)名稱:Lcd_Set_X_Y(uchar x, uchar y )* 功 能:LCD設(shè)置x y坐標(biāo)* 入口參數(shù):x y* 出口參數(shù):無*/void Lcd_Set_X_Y(uchar x, uchar y) if( y64 ) cs1=1; cs2=0; Lcd_Set_Y( y ); else cs1=0; cs2=1; Lcd_Set_Y( y-64 ); Lcd_Set_X( x);/* 函數(shù)名稱:Lcd_Write_Command()* 功 能:寫指令代碼* 入口參數(shù):無* 出口參數(shù):無*/void
49、 Lcd_Write_Command(uchar temp) port=temp; rs=0; rw=0; e=1; e=0; /* 函數(shù)名稱:Lcd_Write_Byte()* 功 能:寫數(shù)據(jù)* 入口參數(shù):無* 出口參數(shù):無*/void Lcd_Write_Byte(uchar temp) port=temp; rs=1; rw=0; e=1; e=0; /*名稱:Lcd_Character_16X8( bit bit_flag, uchar x, uchar y, uchar code *point )*功能:顯示16X8字符(字母) *入口參數(shù):*出口參數(shù):*說明:bit_flag =
50、1 正常顯示 bit_flag = 0 黑白反相顯示 */void Lcd_Character_16X8( bit bit_flag, uchar x, uchar y, uchar code *point ) uchar i , j,temp; temp=y; if( bit_flag ) for( i=0; i2; i+ ) x+=i; y=temp; for( j=0;j8;j+ ) Lcd_Set_X_Y( x, y ); y+; Lcd_Write_Byte( point i*8 + j ); else for( i = 0; i 2; i+ ) x += i; y = temp; for( j = 0; j 8; j+ ) Lcd_Set_X_Y( x, y ); y+; Lcd_Write_Byte( point i * 8 + j ); /* 名稱:Lcd_Character_16X16( bit bit_flag, uchar x, uchar y, uchar code *point )* 功能:顯示16*16字符(漢字) * 入口參數(shù):x y data* 出口參數(shù):無*說明:bit_flag = 1 正常顯示 bit_flag = 0 黑白反相顯示*/void Lcd_Character_16X16( bi
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國古代宗教
- 施工項(xiàng)目安全與現(xiàn)場管理
- 圖書編輯出版的發(fā)展時(shí)期(隋)
- 代數(shù)式、整式與因式分解:第1課時(shí)
- 廢舊衣服粉碎機(jī)
- 某咨詢_企業(yè)變革與風(fēng)險(xiǎn)管理框架
- 東風(fēng)日產(chǎn)旗艦店客戶用車知識(shí)
- 國際結(jié)算實(shí)務(wù)操作流程
- 國際知名咨詢公司流程優(yōu)化管理咨詢報(bào)告采購部分
- 卷煙零售終端知識(shí)講座客戶版
- 老年癡呆癥課件
- (精品)中和反應(yīng)
- 急性上呼吸道感染宣講
- 聯(lián)通整合營銷傳播IMC提案分析PPT通用課件
- 空間向量及其運(yùn)算(新人教A版選修2)