版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 畢 業(yè) 設 計</p><p> 設計題目: 語音多路出租車計價器 </p><p> 學 生: </p><p> 指導教師: </p&g
2、t;<p> 學 院: 機電工程學院 </p><p> 專 業(yè): </p><p><b> 2011年6月</b></p><p> 語音多路出租車計價器</p><p>
3、;<b> 摘要</b></p><p> 近些年來城市的交通擁堵情況越來越嚴重,一個很重要的原因是,近幾年城市出租車的擁有量不斷攀升,但是出租車大多時候載的是單個乘客,使得單個乘客占有路面面積大約是公交車的30倍,在有限的路面面積的情況下,這種路面面積占用越大,交通便越是擁堵。與此同時,單個乘客的尾氣排放量卻約為公交車的11倍。這樣在一定程度上也增加了廢氣排放量,因此提高出租車的運營效
4、率可以有效的緩解交通壓力和減少大氣污染。</p><p> 本文分析出租車拼車行為的背景,以及存在的合理性,并根據(jù)目前我國城市日常交通的特點和乘客需求,設計出一款能多路同時計費并且對不同乘客進行語音報價的出租車計價器。</p><p> 此計價器以STC89C52 單片機為數(shù)據(jù)處理器件,通過A44E 霍爾傳感器測距,實現(xiàn)對出租車的計費統(tǒng)計,采用AT24C02 實現(xiàn)在系統(tǒng)掉電時保存單價和
5、系統(tǒng)時間等信息,電源采用了防止插頭處正負接反的設計,人機交互通過JM320240F液晶觸摸屏與XF-S4240中文語音模塊實現(xiàn),空車屏的上升與下降用步進電機驅動。能實現(xiàn)對不同起初地點的乘客進行同時計費并分別顯示,觸摸屏操作簡單明了且方便,空車屏自動上升與下降,語音播報各乘客的金額,以及語音提醒司機不要超速行駛,乘客不要遺失物品等。</p><p> 關鍵詞: 單片機;觸摸顯示屏;語音合成;出租車計價器;<
6、/p><p> Speech multi-channel taxi meter</p><p><b> Abstract</b></p><p> In recent years the city's crowding traffic is more and more serious , the rising of urban ta
7、xi ownership is a very important reason, and most of the time the taxi contains only a single passenger, which makes the road surface area occupancy of ??a single passenger be about 30 times when he takes a bus. In the
8、 case of limited road space, this surface area occupancy is significantly larger; the traffic will be more congestion. At the same time, a taxi’s exhaust emissions are about 11 times more</p><p> Having the
9、 analysis of the taxi carpool reasonable behavior and rationality of the existence as a background and according to the current daily traffic characteristics of urban and passenger demands, this article designs a multi-
10、taximeter, which can offer different passengers respective voice quote.</p><p> The taximeter uses STC89C52 MCU as the data processing device, by A44E Hall sensor location, achieving the taxi billing statis
11、tics, implementing the functionality of saving the price and system time etc information by using AT24C02. The power uses the design to prevent positive and negative polarity at the plug. The function of human-computer i
12、nteraction is achieved by JM320240F LCD touch screen and the XF-S4240 Chinese voice module. The empty screen’s rising and falling utilizes stepper motor </p><p> Key words:MCU;touch screen;speech synthesis
13、; taximeter</p><p><b> 目 錄</b></p><p><b> 摘要</b></p><p><b> Abstract</b></p><p><b> 1緒論1</b></p><p>
14、 1.1拼車的背景與現(xiàn)狀1</p><p> 1.1.1拼車的背景及存在的合理性1</p><p> 1.1.2拼車的現(xiàn)狀與存在的問題1</p><p> 1.2計價器改進的意義2</p><p> 1.3主要的設計內容及說明書章節(jié)安排2</p><p> 2 系統(tǒng)硬件結構及功能特性3</p
15、><p><b> 2.1整體方案3</b></p><p> 2.2硬件電路設計4</p><p> 2.2.1數(shù)據(jù)處理及控制中心4</p><p> 2.2.2電源部分4</p><p> 2.2.3路程測量部分5</p><p> 2.2.4液晶觸摸
16、屏部分6</p><p> 2.2.5 時鐘部分11</p><p> 2.2.6語音播報部分12</p><p> 2.2.7 AT24C01存儲單元13</p><p> 2.2.8空車屏電機驅動電路14</p><p><b> 3 軟件設計16</b></p&g
17、t;<p> 3.1主程序設計16</p><p> 3.2外部中斷1 里程計數(shù)程序18</p><p> 3.3 T0 中途等待計時程序18</p><p> 3.4 觸摸屏服務程序18</p><p> 3.5語音輸出19</p><p><b> 4結語21<
18、/b></p><p><b> 參考文獻</b></p><p> 附錄1 觸摸屏子程序</p><p><b> 附錄2 語音子程序</b></p><p><b> 附錄3 原理圖</b></p><p><b> 致
19、謝</b></p><p> 語音多路出租車計價器 </p><p><b> 1緒論</b></p><p> 1.1拼車的背景與現(xiàn)狀</p><p> “拼車”亦稱為“合乘”,是指多名乘客由于相似的目的地而共同乘坐一輛車出行,屬于汽車共享,是一種試圖通過調整現(xiàn)行交通行為,提高交通效率的交通方
20、式,這種方式在一些發(fā)達國家已經(jīng)比較成熟,而國內主要還是一些個別的、自發(fā)的行為,不是一種商業(yè)行為。</p><p> 1.1.1拼車的背景及存在的合理性</p><p><b> (1)拼車的背景 </b></p><p> 拼車行為最早起源于瑞士和德國,由于提高了交通效率,所以在美國、加拿大、新加坡、日本也逐漸興起。隨著私家車、出租車數(shù)量
21、的增加,拼車出行成為人們自發(fā)的出行方式,并且通過實踐證明,John得出合乘方式可減少10%~15%的小汽車出行量[1],隨著High Occupancy vehicle System的功能發(fā)展與完善,合乘逐漸普及并發(fā)揮了積極的促進作用,更為深遠的社會意義在于合乘對節(jié)約能源,減少尾氣對環(huán)境造成的污染所做出的貢獻[1]。</p><p> 如今它已經(jīng)成為歐美國家提高運輸效率、緩解交通壓力和減少能源消耗的有效手段,也
22、是成為人們極其推崇的出行方式。其主要原因就是,這樣既可以無需忍受乘坐公交車時的擁擠,又可以快捷地到達目的地,尤其是針對惡劣的候車環(huán)境(如烈日,冰雪)與老弱病殘群體。</p><p> ?。?)拼車存在的合理性</p><p> 在國外的拼車服務行為一般都獲得政府、企業(yè)部分資金的支持,為其提供理論研究、政策支持、法律規(guī)范、業(yè)務與技術扶持等,它是在發(fā)達國家得到實際驗證并加以推廣的一種交通行為
23、,由于能提高運輸效率、緩解交通壓力和減少能源消耗,合理性是不容置疑的。</p><p> 交通經(jīng)濟學里有一條非常著名的“當斯定律(DOWNSLAW)”,該定律可以表述為:“在政府對城市交通不進行有效管制和控制的情況下,新建的道路設施會誘發(fā)新的交通量,而交通需求總是傾向于超過交通供給”。所以單純依靠交通供給方面的對策,很難從根本上解決城市交通供求不平衡的矛盾,因此從上個世紀80年代以來,交通管理者提出了交通需求管
24、理TDM(Traffic Demand Management)的概念, TDM研究的重點就是通過采取提高單車乘座人數(shù)、調整出行,減少交通需求等手段。因此,在城市里廣泛鼓勵拼車出行方式是解決城市交通問題的一個重要的手段[2]。</p><p> 1.1.2拼車的現(xiàn)狀與存在的問題</p><p><b> ?。?)拼車的現(xiàn)狀</b></p><p&g
25、t;<b> ?、賴鴥绕窜嚨默F(xiàn)狀</b></p><p> 目前隨著各大城市的居民生活水平的提高,私家車擁有量也呈明顯的上升趨勢。但是,由于城市道路的滯后發(fā)展帶來的養(yǎng)路費用和燃油等因素,使得私家車的運行成本不斷提高,一時之間在經(jīng)濟發(fā)展態(tài)勢較好的城市中率先出現(xiàn)了“拼車上、下班”、“拼車旅游”、“拼車購物”、“拼車上學”等一系列拼車行為。拼車服務在我國現(xiàn)處于初級階段,但發(fā)展速度很快,新型的電子
26、和通訊技術正快速地運用于該行業(yè)。</p><p> ?、趪鴥瘸鲎廛嚻窜嚨陌l(fā)展</p><p> “拼出租車”是我國拼車出行的源頭,并隨著私家車拼車而不斷發(fā)展,兩者的主要區(qū)別在于車輛載體換成了出租車,車主方換成了出租車公司。近年來,很多城市出租車數(shù)量迅速增加,導致了出租車空載率不斷提高,而空載時占用大量的道路資源,增加了城市道路交通的負荷,對城市交通運行順暢起到了消極作用,但是在上下班高峰
27、期、假期又出現(xiàn)打車難的現(xiàn)象[3]。</p><p> ?。?)拼出租車存在的問題</p><p> 雖然拼車對司機,可以因減少空車的概率而增加收入,對乘客可以減少等車的時間,對社會可以減少能源消耗與尾氣排放,但目前,我國的出租車拼車業(yè)務在市場上還沒有正規(guī)、合理的行業(yè)規(guī)范和完善的服務系統(tǒng),對于乘客而言,由于缺乏對其服務的信任度和認可度,雖然存在拼車需求但仍然沒有普遍采用這種出行方式[4]。
28、</p><p> 主要存在著這些問題:沒有正規(guī)的管理制度、合理的拼車服務系統(tǒng),出租車拼車行為與拼車市場的混亂,沒有合理健全的出租車拼車運營機制。</p><p> 1.2計價器改進的意義</p><p> 不管是高空載率還是打車難,都是我們正試圖解決的問題,如果想減輕打車難的問題,那么就需要多增加出租車的數(shù)量,但是,一味增加出租車的數(shù)量,又直接增加了非上下班
29、高峰時的空載率,有沒有一種方法,在不明顯增加出租車數(shù)量的同時,又降低等候出租車人的數(shù)量,一個很簡單的辦法那就是提高單車乘車人數(shù),相對于擁擠的公交車來說,出租車上每個人一個座,在合理降低打車費的情況下,乘客是很容易接受的。這是主觀上的能能夠達成識。</p><p> 近幾年來,隨著計算機技術、網(wǎng)絡技術、移動通信技術、全球定位系統(tǒng)(GPS)、地理信息系統(tǒng)(Gls)的發(fā)展和普及,建設基于多人拼車模式的出租車智能調度管
30、理系統(tǒng)成為可能。在這種主客觀都可以成立的情況下,對現(xiàn)有計價器進行改進成了必然,因為現(xiàn)有的計價器不能對對不同起初地點不同目的地的乘客進行同時計價。</p><p> 1.3主要的設計內容及說明書章節(jié)安排</p><p> 本文首先介紹了多人拼車的相關知識,出于以拼車為目的提出對計價器進行改進,然后對以液晶觸摸控,語音輸出,空車屏自動升降為主要設計的計價器進行闡述,分別從硬件的結構與軟件的
31、設計兩部分進行詳細的介紹。全文的具體組織結構如下:</p><p> 第一章:緒論:介紹了與本文研究有關的背景知識、發(fā)展現(xiàn)狀、主要設計內容及說明書組織結構。</p><p> 第二章:先介紹語音多路出租車計價器的整體結構與設計思想,然后對各部分電路及其功能與原理分別進行闡述。</p><p> 第三章:對語音多路出租車計價器的軟件部分的設計進行詳細的敘述,介紹
32、主程序的工作流程,然后主要闡述語音服務子程序的設計與液晶觸摸屏服務子程序的設計。</p><p> 第四章:結論與展望,對全文進行了總結。</p><p> 2 系統(tǒng)硬件結構及功能特性</p><p><b> 2.1整體方案</b></p><p> 整體方案設計方框圖如圖2-1所示,整個系統(tǒng)由單片機STC89
33、C55 控制電路、驅動空車屏升降的步進電機、JM320240F液晶觸摸屏、A44E霍爾傳感器、XF-S4240中文語音播報與語音播報的功率放大電路、掉電存儲電路以及電源電路組成。</p><p> 單片機采集并判斷觸摸屏信號及路程檢測傳感器信號,當出租車啟動時,單片機檢測到霍爾傳感器的脈沖信號并進行里程計算。若車上無乘客時,觸摸屏等待被觸發(fā)。</p><p> 當?shù)谝晃怀丝蜕宪嚕c擊屏
34、幕上的大寫字母A,大寫字母A背景變深,XF-S4240中文語音播報第一條語音:歡迎第一位乘客乘坐本出租車,請系好安全帶,同時空車屏自動下降,屏上LED燈熄滅,系統(tǒng)調用單價及起始價,便開始計價并顯示里程和金額等信息;</p><p> 當?shù)诙怀丝蜕宪嚂r,點擊屏幕上的大寫字母B ,大寫字母B背景變深,XF-S4240中文語音播報第二條語音:歡迎第二位乘客乘坐本出租車,請系好安全帶,同時系統(tǒng)存儲當前里程,并記錄作為
35、第二位乘客的初始值,用此乘客下車時用終值減去初始值即為第二位乘客所乘坐里程;</p><p> 當?shù)谌怀丝蜕宪嚂r,點擊屏幕上的大寫字母C,大寫字母C背景變深,XF-S4240中文語音播報第三條語音:歡迎第三位乘客乘坐本出租車,請系好安全帶,有超過兩位乘客,屏幕間歇性的閃爍出現(xiàn)不同代表不同乘客的字母,同時出現(xiàn)其里程與金額等信息。</p><p> 若中途某一乘客下車,點擊對應的字母,此
36、字母的深色背景變回白色,表示此乘客計價結束。直到最后一個乘客計價結束,出租車有四個座位,故設計為最多同時為四位乘客計價,但只要車上有乘客下車了,又可對新上乘客進行計價,直到四個乘客。若車上沒有了乘客,所有的字母的背景都變回白色,空車屏自動上升,觸摸屏等待被再次觸發(fā)。</p><p> 這樣可以很好的解決拼車的情況中,不能對后上車乘客的計費的問題。</p><p><b> 2
37、.2硬件電路設計</b></p><p> 計價器實物圖如圖2-2 所示。整個電路主要由單片機STC89C55 控制電路、驅動空車屏升降的步進電機、JM320240F液晶觸摸屏、A44E霍爾傳感器、XF-S4240中文語音播報與語音播報的功率放大電路、掉電存儲電路以及電源電路組成。各部分端口分別與單片機STC89C55的I/O口相連,通過單片機的控制來實現(xiàn)計價器的各個功能。</p>&
38、lt;p><b> 圖2-2計價器實物</b></p><p> 2.2.1數(shù)據(jù)處理及控制中心</p><p> 本設計的數(shù)據(jù)處理與控制器件使用的是STC89C55RC單片機,STC89C55RC單片機是宏晶科技推出的新一代超強抗干擾、高速、低功耗的單片機,指令代碼完全兼容傳統(tǒng)8051單片機[5],具有以下特征:</p><p>
39、?。?)增強型6時鐘、機器周期,12時鐘、機器周期8051CPU;</p><p> ?。?)20k字節(jié)的應用程序存儲空間以及1280字節(jié)數(shù)據(jù)存儲空間;</p><p> ?。?)ISP(在系統(tǒng)可編程)/IAP(在應用可編程),無需專用編程器/仿真器;</p><p> ?。?)共3個16位定時器/計數(shù)器,其中定時器0還可以當成2個8位定時器使用;</p>
40、;<p> (5)外部中斷4路,下降沿中斷或低電平觸 發(fā)中斷,Power Down 模式可由外部中斷低電平觸發(fā)中斷方式[6]喚醒。</p><p><b> 2.2.2電源部分</b></p><p> 車內有12V直流電源插座,一正一負的插座,如果不采用特殊防插反的插頭,很容易將電源接反。但采用如圖2-3電路,插頭處便可以不分正反極,能防止正負電
41、源接反。由于計價器的工作環(huán)境比較差,它要求有抗振動、抗高低溫、抗潮濕、抗電磁干擾等能力,特別是電源方面的干擾,如出租車啟動時,發(fā)動機打火、電瓶充電等造成輸入計價器的+12V電源不穩(wěn)定[7]。因此采用+ 12V電瓶電源的插頭處設計兩個較大容量電容,主要用于儲蓄電量,應對汽車啟動瞬間,可防止電壓在瞬間有較大降幅,起到了穩(wěn)定計價器輸入端電壓的作用。再經(jīng)過電源穩(wěn)壓芯片7805后,得到+5V的穩(wěn)定電壓輸出,保證整個系統(tǒng)能夠正常工作[8]。<
42、/p><p> 圖2-3 防反接的電路圖</p><p> 2.2.3路程測量部分</p><p> 出租車中需要一個能準確獲得車輪轉動即路程計量信號的裝置,以得到標準的脈沖信號送入單片機的定時/計數(shù)器T1即P3.5 引腳[8],利用單片機的T1的計數(shù)功能完成100次的計數(shù)后產(chǎn)生一中斷來完成路程的測量。(設車輪周長為1.5m,則霍爾傳感器[9]每產(chǎn)生100個脈沖便
43、表示車已行程0.15 km,根據(jù)實際情況在程序中進行設置)。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍爾傳感器集成芯片A44E 檢測并輸出脈沖如圖2-4所示,霍爾傳感器集成芯片A44E 有信號轉換、電壓放大、整形輸出等功能,為增加其抗干擾的能力,經(jīng)過74LS14 對信號整形后再通過光偶送入P3. 5 引腳[10]。如圖2-5所示。</p><p> 圖2-4霍爾傳感器安裝示意圖</p><p>
44、 圖2-5 A44E霍爾傳感器接口電路</p><p> 2.2.4液晶觸摸屏部分</p><p><b> 1.顯示部分</b></p><p> 由于設計要求有單價(2位)、中途等待時間(2位)、路程(4位)、金額(4位) 顯示、時鐘(4位)輸出,如果采用傳統(tǒng)的七段數(shù)碼管顯示,不但只能顯示數(shù)字以及少量的英文字母,而且所顯示的內容非常
45、的粗糙與單調,改為液晶觸摸屏之后,不僅顯示的信息量大,界面友好,而且操作更加簡單、更加人性化。當為空車時,為了節(jié)電,一段時間后顯示屏進入睡眠模式,當司機點擊觸摸屏時,觸摸屏被喚醒;在有乘客時顯示營運的單價、等待時間、路程、金額及時鐘等。</p><p> 圖2-6 觸摸屏接口電路</p><p> JM320240F液晶觸摸屏采用RA8806控制器,RA8806 是一個文字與繪圖模式的
46、點矩陣液晶顯示(STN-LCD)控制器,其內建了雙圖層(Two Page)顯示內存,及512Kbyte ROM 的字型碼,可以顯示全型(16*16 pixels)的繁體中文字型(BIG5,13973個字型)或是簡體中文字型(GB,9216 個字型)。RA8806 也內建4*256 個可顯示大部份使用于英語系和歐洲國家的半型字(8*16 pixels)字母及符號,也就是符合ISO8859-1~4(或稱為Latin-1~4)標準的ASCII
47、 字碼。</p><p> RA8806 支持可轉換到4-bit 或8-bit 數(shù)據(jù)總線的8080/6800 系列之MPU 接口,而對于LCD 驅動接口,RA8806 亦可以被設定為4-bit 或8-bit 的數(shù)據(jù)總線。在一般模式下,RA8806 可支持最大到320*240 點分辨率的LCD 面板,而在擴展模式下,可支持640*240 或是320*480 點分辨率的LCD 面板,同時藉由使用文字旋轉功能,可達成
48、垂直文字的顯示效果,其應用方塊圖如圖2-7。RA8806 也內建了智能型觸控掃瞄控制器,支持了4 線電阻式觸控掃瞄接口,而可程序化的脈波寬度調變器(PWM)可以用來調節(jié)LCD 面板的對比或背光。RA8806 也提供一個強大的4*8(32 鍵)或8*8(64 鍵)的鍵盤掃瞄接口,其中更包含了長按鍵的功能,同時透過適當?shù)闹袛嗪洼喸儥C制讓使用者可以輕易的操作觸控掃瞄、鍵盤掃瞄、和電源管理等功能,因此可以有效的減輕MPU 的負擔。內建512By
49、te 字型創(chuàng)造內存(Character Generation RAM,CGRAM)讓使用者可以自行創(chuàng)造出最多16個全型或32 個半型的字型或符號,甚至當只使用一個顯示圖層時,</p><p> 另外RA8806 提供了于灰階模式下顯示4 灰階圖案的顯示效果,當中資料安排的方式兼容于大部分的灰階圖案,且相當容易撰寫。RA8806 也提供了相當多有用的功能,例如區(qū)域卷動、文字反白、粗體文字、文字放大,內存清除等等。
50、RA8806 更提供了一項創(chuàng)新的功能——無雪花模式(no-flicker),此模式能有效的移除當頻繁的對內存讀寫而所產(chǎn)成的雪花,憑借著RA8806 提供此一模式,使用者能輕易地改善LCD 顯示的品質。</p><p> RA8806 是一個強大且容易使用的LCD 顯示控制器,它提供中等尺寸LCD 顯示控制的完整解決方案,使用者也因此可以節(jié)省相當多的時間和成本于系統(tǒng)硬件和軟件開發(fā)上。</p><
51、;p> ?。?)JM320240F寫入指令介紹</p><p> RA8806 可以接受四種數(shù)據(jù)傳輸周期,分別是指令寫入周期、狀態(tài)讀取周期、數(shù)據(jù)寫入周期以及數(shù)據(jù)讀取周期。舉例來說,當要針對某緩存器進行寫數(shù)據(jù)時,首先必須先執(zhí)行指令寫入周期,包括欲寫入緩存器之編號,然后再以寫入數(shù)據(jù)周期將數(shù)值寫入該緩存器。因此,寫入指令意指將數(shù)值數(shù)據(jù)寫到緩存器當中,在前述兩個周期執(zhí)行之后,數(shù)值數(shù)據(jù)將被寫入到該緩存器,相關情形請
52、參考圖2-8。由于每一指令的寫入都需要花費兩個數(shù)據(jù)傳輸周期,且每個數(shù)據(jù)傳輸周期最少也要2 個系統(tǒng)時脈周期的時間才能完成,因此每一指令至少需要花費4 個的系統(tǒng)時脈周期,才能寫入。針對不同的系統(tǒng)時脈,換算成指令存取的時間。如果欲讀取緩存器中的內容值,則第二個數(shù)據(jù)傳輸周期為讀取數(shù)據(jù)周期,相關情形請參考圖2-9。需注意的是圖2-8到圖2-9 都是以8080 的傳輸接口來舉例。</p><p> (2)JM320240F
53、內存寫入與讀取</p><p> 當欲寫數(shù)據(jù)到內存(可能是顯示內存或字型產(chǎn)生內存)時,必須先執(zhí)行緩存器編號為B0h的寫入指令周期。反之,如果是欲讀取內存中的數(shù)據(jù)時,則必須先執(zhí)行緩存器編號為B1h的寫入指令周期。</p><p> ?。?)JM320240F狀態(tài)讀取</p><p> RA8806 有提供一個讀取狀態(tài)值的方法,讓使用者(MPU)了解目前RA8806
54、 的狀況,請參考圖 2-10。</p><p> 圖2-7 320*240液晶顯示屏的應用方塊圖</p><p> 圖2-8 寫入指令與緩存器讀取</p><p> 圖2-9 內存寫入與讀取</p><p><b> 圖2-10狀態(tài)讀取</b></p><p> (4)顯示窗口與工作窗
55、口</p><p> 實際應用上,RA8806 提供兩種窗口,分別是顯示窗口(Display Window)和工作窗口(ActiveWindow)。顯示窗口所表示的就是實際液晶顯示屏的分辨率,亦即當液晶顯示屏分辨率為320*240 時,就表示顯示窗口的大小也必須為320*240(REG[21h] = 27h,REG[31h] = EFh)。而工作窗口則是比顯示窗口還小的窗口,舉凡光標移動、換行、換頁都是以工作窗
56、口的邊界為基準。這兩個窗口之相關緩存器如表2-1所示。</p><p><b> 表2-1 緩存器</b></p><p> 2-11顯示數(shù)據(jù)存儲器(DDRAM)RA8806 本身內建有兩塊容量為9.6K 字節(jié)大小的顯示數(shù)據(jù)存儲器,分別是DDRAM1 和DDRAM2。它可用來做單色的顯示或者四灰階的顯示,每一塊顯示數(shù)據(jù)存儲器最大均支持320x240 大小的顯示,顯
57、示模式包括文字模式和圖形模式??傊?,RA8806 的諸多功能可讓使用者既彈性又方便來進行各種顯示。</p><p> ?。?)內存存取的選擇</p><p> RA8806 內建一個512 字節(jié)的字型產(chǎn)生內存(CGRAM)和兩個9.6K 字節(jié)的顯示數(shù)據(jù)存儲器(DDRAM)。其中CGRAM 可用來儲存造字的字型數(shù)據(jù),而DDRAM 可用來儲存欲顯示的資料,另外,當僅用一個DDRAM 來進行顯
58、示時,另一個DDRAM 亦可當成CGRAM,來儲存造字的字型數(shù)據(jù)。在應用上,至于微處理機(MPU)要對那一個內存進行存取(Access),使用者可透過緩存器 [12h] 的Bit[1:0] 來進行設定。</p><p> 圖2-11 8080MPU接口傳輸協(xié)議</p><p><b> 2.觸控部分</b></p><p> 觸控屏幕功能
59、RA8806內建一組10位ADC和控制電路,以連接四線電阻式的觸控屏幕。一般來說,電阻式的觸控屏幕是由兩層非常薄的電阻式屏幕所組成,如圖 2-12。在兩層屏幕中間有一小縫隙,當有外力施加在面板上的某一點時,兩層電阻式屏幕將被觸碰(touch),形成回路而導通。由于兩層電阻式屏幕的端點含有電極(XL、XR、YU、YD),如圖 2-13,因此,相對于觸碰的位置,系統(tǒng)將偵測到一個XY的坐標值。</p><p><
60、b> 圖2-12觸控屏幕</b></p><p> 圖2-13 觸控屏幕的控制開關</p><p> 對使用者而言,應用觸控屏幕的功能只需連接XL、XR、YU 和YD 等四條信號線到RA8806 即可。系統(tǒng)就能不斷監(jiān)測,直到觸控的事件(touch event)發(fā)生為止。當觸控事件發(fā)生時,在屏幕電阻上所產(chǎn)生的分壓將決定觸控的所在位置。在XY 的坐標值被傳回系統(tǒng)(RA8
61、806)并個別儲存在特定的緩存器后,觸控屏幕控制器(touch panel controller)將發(fā)出一中斷告知微處理機(MPU)</p><p> 2.2.5 時鐘部分</p><p> 計價器在出租車空車行駛時需要顯示實時時鐘,因為它的時鐘是作為白天/ 晚上單價自動轉換的一個基準,而且計價器的時鐘顯示能為司機和乘客提供方便,所以選擇一個好的時鐘芯片對計價器很重要。DS1302是美
62、國DALLAS 公司推出的一種高性能、低功耗的實時時鐘芯片,采用SPI 三線接口與CPU 進行同步通信;時鐘可提供秒、分、時、日、星期、月和年; 通過設置DS1302 的控制/ 狀態(tài)寄存器選擇日歷,時鐘方式經(jīng)過初始校準后即可工作使用;工作電壓寬達2.5~5.5 V ,采用雙電源供電(主電源和備用電源) ,并設置備用電源充電方式,提供了對后背電源進行涓細電流充電的能力,在沒有主電源的情況下啟用備用電源能保存時間信息及數(shù)據(jù)[11]。如圖2-
63、14所示。</p><p> 圖2-14 時鐘接口電路</p><p> 2.2.6語音播報部分</p><p> XF-S4240 中文語音合成模塊,是安徽中科大訊飛信息科技有限公司(科大訊飛)推出的基于科大訊飛在嵌入式中文語音合成領域的最新研究成果—InterSound4。它是中文語音合成系統(tǒng),而設計的一款中文語音合成模塊。該模塊可以通過異步串口(UART
64、)、SPI 接口及I2C 總線三種方式接收待合成的文本,直接合成為語音輸出;XF-S4240 中文語音合成模塊是一款針對嵌入式應用領域而設計,具有合成任意中文文本的能力及英文字母合成的語音合成模塊。支持GB2312、GBK、BIG5、UNICODE 四種內碼格式的文本;該模塊的主要特點是合成語音自然度高,控制接口簡單方便,功能強大。其接口電路如圖2-15所示。</p><p> 圖2-15 語音播報接口電路&l
65、t;/p><p> XF-S4240 語音合成板卡支持UART、SPI 和I2C 三種通訊方式,用戶上位機可選擇其中任意一種通訊方式同合成板卡進行通訊,本設計采用UART通訊方式,下面圖2-16所示板卡與單片機[12]的異步串口連接方式[13]。</p><p> 圖2-16 XF-S4240 模塊與單片機的異步串口連接示意圖</p><p> UART 通訊方
66、式如圖2-17所示</p><p> 圖2-17 UART通訊方式</p><p> ?。?) 波特率:9600 bps</p><p> (2) 起始位:1bit</p><p> ?。?) 數(shù)據(jù)位:8 bits</p><p> ?。?) 停止位:1 bit</p><p><b&
67、gt; ?。?) 校驗:無</b></p><p> 音頻功放電路如圖2-18所示。</p><p> 圖2-18 XF-S4240 模塊與音頻功放LM4665 的接口示意圖</p><p> 2.2.7 AT24C01存儲單元</p><p> AT24C02 掉電存儲單元的設計掉電存儲單元的作用是在電源斷開的時候,存
68、儲當前設定的單價信息[14]。AT24C02 是ATMEL 公司的2KB 字節(jié)的電可擦除存儲芯片,采用兩線串行的總線和單片機通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10Ua(5.5V),芯片內的資料可以在斷電的情況下保存40 年以上,而且采用8 腳的DIP 封裝,使用方便。其電路如圖2 所示。圖2 -19掉電存儲單元原理圖圖中R8、R9 是上拉電阻,其作用是減少M24C02 的靜態(tài)功耗,由于M24C02 的數(shù)據(jù)線和地址線
69、是復用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(移位脈沖)和SDA(數(shù)據(jù)/ 地址)與單片機傳送數(shù)據(jù)。每當設定一次單價,系統(tǒng)就自動調用存儲程序,將單價信息保存在芯片內;當系統(tǒng)重新上電的時候,自動調用讀存儲器程序,將存儲器內的單價等信息,讀到緩存單元中,供主程序使用AT24C02 掉電存儲電路的設計存儲電路的作用是在電源斷開的時候, 存儲當前設定的單價信息。存儲電路采用Atmel 公司推出的容量為2 KB 的串行電可擦除、可編程存儲
70、芯片AT24C02 設計,傳輸方式為I2C 總</p><p> 圖2-19掉電存儲單元原理圖</p><p> 2.2.8空車屏電機驅動電路</p><p> 空車屏僅僅是顯示出租車是處于出租還是空車狀態(tài)的顯示器件。當有乘客上車時,司機點擊觸摸屏,空車屏自動下降,同時屏上的LED燈熄滅;而當空車時,空車屏自動上升,同時屏上的LED燈點亮,整個上升與下降過程由
71、一個步進電機驅動,驅動電路如圖2-20所示,本設計中的空車屏實物如圖2-21所示。</p><p> 圖2-20 空車屏驅動電路</p><p> 圖2-21 空車屏實物圖</p><p><b> 3 軟件設計</b></p><p><b> 3.1主程序設計</b></p>
72、<p> 在主程序模塊中,需要完成對各芯片的初始化(JM320240F、XF-S4240、AT24C02 )、各中斷的初始化(外部中斷0 、外部中斷1、T0 的初始化)[16],另外,在主程序模塊中還需要設置啟動/ 清除標志寄存器、里程寄存器和價格寄存器,并對它們進行初始化。然后,主程序將根據(jù)各標志寄存器的內容,分別完成啟動、清除、計程和計價等不同的操作。主程序流程圖如3-1所示。</p><p>
73、; 圖3-1 主程序流程圖</p><p> 當有乘客上車時,將根據(jù)里程寄存器中的內容計算和判斷出行駛里程是否已超過起步價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價和起價來計算出當前的累計金額,金額公式為:營運金額= 起步價+(營運里程- 起步里程)×單價+(等待時間-規(guī)定等待時間)×每分鐘價格,并將金額存于金額寄存器中,然后將當前時間和累計金額送JM320240F顯示出來。當中途塞車(
74、等待或低速行駛)時,在一定時間內沒有檢測到傳感器的脈沖信號就啟動T0 計時器[17]進行計時,當超過規(guī)定的等待時間后,計價器就根據(jù)等待價格進行當前金額的累加與顯示,并在計價器上顯示等待時間。</p><p> (1)當觸摸屏上的A被點擊時,步進電機驅動空車屏自動下降,空車屏的LED燈自動熄滅,表示有乘客(第一位乘客)上車,就進行語音播報1(歡迎第一位乘客,現(xiàn)在開始計價),并啟動對A(如圖觸摸屏上所顯示的A)的計
75、價,當?shù)竭_目的地的時候,司機點擊觸摸屏上的A,就停止對A計價,顯示當前所應該付的金額和對應的單價,并進行語音播報11 (第一位乘客金額為*元)。</p><p> ?。?)當車上已經(jīng)有乘客A,同時上來了B 乘客,點擊B,進行語音播報2(歡迎第二位乘客,現(xiàn)在開始計價),并記錄下當前的公里數(shù),作為B的初始值,當B下車時,用最終數(shù)值減去初始值,就得到B行駛的距離,通過公式計算出B乘客的金額。當B到達目的地后,司機點擊觸
76、摸屏上的B,就停止對B計價,顯示當前所應該付的金額和對應的單價,并進行語音播報22 (第二位乘客金額為*元)。</p><p> (3)只有在A與B都沒有下的情況下,才可能點擊C, 點擊C時,進行語音播報3(歡迎第三位乘客,現(xiàn)在開始計價),并記錄下當前的公里數(shù),作為C的初始值,當C下車時,用最終數(shù)值減去初始值,就得到C行駛的距離,通過公式計算出C乘客的金額。 當C到達目的地之后,司機點擊觸摸屏上的C,就停止對C
77、計價,顯示當前所應該付的金額和對應的單價,并進行語音播報33 (第三位乘客金額為*元)。</p><p> 而如果有乘客下,不管是A先下,還是B先下,只要上面還有人,就隨著脈沖信號,持續(xù)的往上加,只是要記錄下每位乘客上車的初始值與最終數(shù)值,就能得出每位乘客的里程。</p><p> (4)只有在A、B與C都沒有下的情況下,才可能點擊D, 點擊D時,進行語音播報4(歡迎第四位乘客,現(xiàn)在開
78、始計價),并記錄下當前的公里數(shù),作為D的初始值,當D下車時,用最終數(shù)值減去初始值,就得到D行駛的距離,通過公式計算出D乘客的金額。 當D到達目的地之后,司機點擊觸摸屏上的D,就停止對D計價,顯示當前所應該付的金額和對應的單價,并進行語音播報44 (第四位乘客金額為*元)。</p><p> 而如果有乘客下,不管是下一個,還是下兩個,只要上面還有人,就隨著脈沖信號,持續(xù)的往上加,只是要記錄下每位乘客上車的初始值與
79、最終數(shù)值,就能得出每位乘客的里程。</p><p> ?。?)當車上最后一位乘客下車之后,系統(tǒng)清零,空車屏自動上升,上面的LED燈自動點亮,等待下一次計價。</p><p><b> 圖3-2顯示主界面</b></p><p> 3.2外部中斷1 里程計數(shù)程序</p><p> 霍爾傳感器輸出的脈沖信號輸入到單片機
80、的外部中斷1 [17]接口,車輪每轉一圈就產(chǎn)生一個脈沖信號,單片機就進行一次中斷,在中斷程序中完成兩項任務:</p><p> ?。?)啟動定時器0 ,表示出租車啟動;</p><p> (2) 單次里程與總里程的累加計算并將結果存入寄存器中(設車輪轉1 圈為1 m ,則每中斷1 次,里程就增加1 m)[18]。</p><p> 3.3 T0 中途等待計時程序
81、</p><p> 當外部中斷1進行中斷時就啟動T0 開始計時,每當計時到達1 min ,等待時間累加器值就自加,而超過規(guī)定的等待時間后,就對當前金額加上額外的中途等待的價錢,以后每0. 1 min 都自動加上中途等待的單價。當中途等待結束的時候,也就自動切換到正常的計價[19]。</p><p> 3.4 觸摸屏服務程序</p><p> 觸摸屏分為顯示與觸
82、控兩部份,顯示部分的流程圖如圖3-3所示,觸控部分的流程圖如圖3-4所示。</p><p> 先向顯示屏的寄存器中寫放命令,然后寫入數(shù)據(jù),屏上便顯示所寫入的數(shù)據(jù)。</p><p> 觸控采用查詢的方式,點擊屏幕,數(shù)據(jù)被記錄到三個緩存器中,讀出緩存器中的數(shù)據(jù)便能確定所點擊的位置。</p><p> 圖3-3 觸摸屏顯示子程序流程圖</p><
83、p> 圖3-4 觸摸屏觸控子程序流程圖</p><p><b> 3.5語音輸出</b></p><p> 語音輸出部分的流程圖如圖3-5所示。先對串口進行初始化,然后向XF-S4240發(fā)控制命令,上位機發(fā)送給XF-S4240 的所有命令和數(shù)據(jù)都需要用“幀”的方式進行封裝后傳輸,如表3-1 所示。幀結構由幀頭標志、數(shù)據(jù)區(qū)長度和數(shù)據(jù)區(qū)三部分組成。表3-2 是
84、對命令幀格式的說明[20]。</p><p> 圖3-5語音播報子程序流程圖</p><p> 表3-1命令幀封裝格式</p><p> 表3-2 命令幀格式說明</p><p> 數(shù)據(jù)區(qū)是由命令字和命令參數(shù)組成的,上位機使用命令字來實現(xiàn)語音合成板卡的各種功能,表格8 中詳細描述了數(shù)據(jù)區(qū)的命令字和命令參數(shù)[21]。</p>
85、<p> 名稱 發(fā)送的數(shù)據(jù) 說明</p><p> 0x01 語音合成命令</p><p> 0x02 停止合成命令,沒有參數(shù)</p><p> 0x03 暫停合成命令,沒有參數(shù)</p><p> 0x04 恢復合成命令,沒有參數(shù)</p><p> 0x21 TTS 系統(tǒng)狀態(tài)查詢命令</
86、p><p> 0x88 系統(tǒng)進入Power Down 模式,Reset 之后恢復</p><p> 語音合成命令如表3-3所示。</p><p> 表3-3 語音合成命令</p><p><b> 4結語</b></p><p> 本設計以單片機STC89C55 為核心,以語音芯片XF-S4
87、240、時鐘芯DS1302 、步進電機、JM320240F液晶觸摸屏等為外設的新型出租車計價器。給出硬件電路圖與實物圖以及主程序流程圖并附上部分重要子程序,闡述了軟硬件設計過程中關鍵技術的處理。該系統(tǒng)完全滿足集計程、計時、不同乘客同時計費、空車屏自動升降、存儲、語音播報等多種計量功能為一體的出租車計價器的實用要求。本文在出租車計價器的設計中,優(yōu)化了程序的設計,使結構更加清晰有層次。跟其他任何設計一樣,在實際運用之前,都不敢確定一定會在將
88、來會在廣闊的運用。但隨著社會的進步,現(xiàn)有的技術與方式一定會逐步被更加智能化,更加人性化的設計所替代,本設計便是一個在出租車計價器不斷發(fā)展與完善過程中,提出的一個更加智能與人性化的設計,與已有的系統(tǒng)相比,該系統(tǒng)具有語音播報,多路同時計費的功能。而且這對于單片機應用系統(tǒng)、電子電路的開發(fā)和教學等也都有較大的實用價值。</p><p><b> 參考文獻</b></p><p&
89、gt; [1] 張瑾.出租車“拼車”問題研究及其服務系統(tǒng)設計實現(xiàn)[D]. 蘭州:蘭州交通大學,2009:6.</p><p> [2] 常超凡,陳團生,劉明君等.城市出租車擁有量對分擔率影響分析[J].交通科技與經(jīng)濟. 2007(3):75-88.</p><p> [3] 車勇.基于多人合乘模式的出租車智能調度管理系統(tǒng)設計與研究[J].上海:同濟大學,2008:4 5.</
90、p><p> [4] 晉江月.拼車的經(jīng)濟學分析[J].科技信息.2006(4):7.</p><p> [5] 白雪冰.單片機原理與應用[M] .哈爾濱:東北林業(yè)大學出版社,2007:41.</p><p> [6] 張毅剛.新編MCS- 51 單片機應用設計[M].哈爾濱:哈爾濱工業(yè)大學出版社,2003:25.</p><p> [7]
91、 陳大欽. 模擬電子技術基礎[M] . 北京:高等教育出版社,2000:74.</p><p> [8] 求實科技. 單片機典型模塊設計實例導航[M] . 北京:人民郵電出版社,2004:43.</p><p> [9] 黃代福. 出租車計價器傳感器原理及檢測[J] . 計量與測試技術. 2006(8):2021. </p><p> [1
92、0] 陳小忠.單片機接口技術實用子程序[M] . 北京:人民郵電出版社,2005:65.</p><p> [11] 全國大學生電子設計競賽組委會. 全國大學生電子設計競賽獲獎作品精選[M] . 北京:北京理工大學出版社,2000:43.</p><p> [12] 楊恢先,黃輝先. 單片機原理及應用[M] . 長沙:國防科技大學出版社,2003:23.</p><
93、p> [13] Jacob Millman and Arvin Grabel .Microelectronics.2nd ed.New York:Mcgraw-Hill book Company.</p><p> 1987.pp.20-23.</p><p> [14] 劉守義主編.單片機應用技術[M].西安:西安電子科技大學出版社,2003:32.</p>&
94、lt;p> [15] E.G.Richardson,MAX232,MAX232I DUAL EIA-232 DRIVER/RECEIVER. John Wiley &Sons </p><p> Ltd,2003.pp.24-26.</p><p> [16]求是科技. 單片機典型外圍器件及應用實例[ M] .北京:人民郵電出版社 ,2006:21-24.</p&
95、gt;<p> [17]吳金戌. 8051 單片機實踐以應用[M].北京:清華大學出版社, 2006:20-24.</p><p> [18]王宗和. 單片機實驗與綜合訓練[M]北京:高等教育出版社, 2005:42.</p><p> [19]戴永主編.微機控制技術[M].長沙:湖南大學出版社,2001:43.</p><p> [20]A.
96、J.Peyton V. Walsh: Analogue eletronics with Op Amps:a source book of practical, Campridge</p><p> university press,New york, 1993.pp.65.</p><p> [21]何立民. 單片機應用技術選編[M] . 北京:北京航空航天大學出版社,1999:20.
97、</p><p> 附錄1 觸摸屏子程序</p><p> #include "LCD.h" //對管腳進行定義以及對函數(shù)聲明</p><p> extern void LCD_display_code(unsigned char n);</p><p
98、> extern void LCD_display_line(unsigned char star_xx ,unsigned char star_yy,unsigned char heng,unsigned char shu);</p><p> unsigned char code digit[]={"0123456789"} ; //定義字符數(shù)組顯示數(shù)字&
99、lt;/p><p> unchar code tab1[]={"計程:"};</p><p> unchar code tab2[]={"計時:"};</p><p> unchar code tab3[]={"里貼:"};</p><p> unchar code tab4[]
100、={"單價:"};</p><p> unchar code tab5[]={"開始"};</p><p> unchar code tab6[]={"計 價 器"};</p><p> unchar code tab7[]={"使用說明"};</p><p&g
101、t; unchar code tab8[]={"正在計費"};</p><p> unchar code tab11[]={"(公里)"};</p><p> unchar code tab22[]={"(分鐘)"};</p><p> unchar code tab33[]={"元/公里
102、"};</p><p> unchar code tab44[]={"(元)"};</p><p> unchar code tab000[]={"0.00"};</p><p> unchar code tab00[]={"00"};</p><p> //***
103、****************顯示字碼表*******************</p><p> void LCD_display_code(unsigned char n)</p><p> { LCD_Text(); //文字模式開</p><p> LCD_CmdWrite(0xb0);
104、 //寫數(shù)據(jù)模式</p><p> LCD_DataWrite(n);</p><p><b> }</b></p><p> //*****************顯示一條線********************</p><p> void LCD_display_line(unsigned char s
105、tar_xx ,unsigned char star_yy,unsigned char heng,unsigned char shu)</p><p> { unsigned char i,j;</p><p> LCD_Graphic(); //選擇繪圖模式</p><p> LCD_GotoXY(star_x
106、x ,star_yy); //設定X,Y坐標位置</p><p> LCD_CmdWrite(0xB0);</p><p> for(i=0;i<heng;i++) //橫線</p><p> { LCD_DataWrite(0xfe); //實線,虛線,以及虛線的疏密由此數(shù)據(jù)決定<
107、/p><p><b> }</b></p><p><b> }</b></p><p> //************************************************</p><p> void delay_nms(unsigned int n)</p>
108、<p> { unsigned int i,j;</p><p> for(i=n;i>0;i--)</p><p> { for(j=20;j>0;j--) ;</p><p><b> }</b></p><p><b> }</b></p>
109、;<p> //********************屏幕開啟********************</p><p> void LCD_display_on(void)</p><p> { unchar temp;</p><p> temp=LCD_CmdRead(0x00);</p><p> temp
110、=temp|0x04;</p><p> LCD_CmdWrite(0x00);</p><p> LCD_DataWrite(temp);</p><p><b> }</b></p><p> //************************************************</p&g
111、t;<p> unchar LCD_DataRead(void)</p><p><b> {</b></p><p> unchar Data;</p><p><b> BUS=0XFF;</b></p><p><b> cs1=0;</b><
112、;/p><p><b> rs=0;</b></p><p><b> wr=1;</b></p><p><b> rd=1;</b></p><p><b> rd=0;</b></p><p><b> Dat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語音多路出租車計價器
- 畢業(yè)設計----出租車計價器
- 出租車計價器畢業(yè)設計
- 畢業(yè)設計--出租車計價器設計
- 出租車計價器的設計 畢業(yè)設計
- 多功能出租車計價器畢業(yè)設計
- 畢業(yè)設計--出租車計價器系統(tǒng)的設計
- 多功能出租車計價器畢業(yè)設計論文
- 出租車計價器系統(tǒng)應用畢業(yè)設計
- 出租車計價器__畢業(yè)設計(完整版)
- 出租車計價器設計畢業(yè)論文
- 出租車計價器(20170824174838)
- 出租車計價器畢業(yè)論文設計
- 出租車計價器畢業(yè)論文
- 帶語音提示的出租車計價器【畢業(yè)論文】
- 出租車計價器課程設計
- 578 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)設計.doc
- 765 出租車計價器系統(tǒng)設計
- 出租車計價器系統(tǒng)的設計
評論
0/150
提交評論