版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 1 引言</b></p><p> 1.1 出租車計(jì)價(jià)器發(fā)展背景</p><p> 出租車行業(yè)在我國(guó)是八十年代初興起的一項(xiàng)新興行業(yè),隨著我國(guó)國(guó)民經(jīng)濟(jì)的高速發(fā)展,出租汽車已成為城市公共交通的重要組成部分。多年來(lái)國(guó)內(nèi)普遍使用的計(jì)價(jià)器只具備單一的計(jì)量功能。目前全世界的計(jì)價(jià)器中有90%為臺(tái)灣所生產(chǎn)。現(xiàn)今我國(guó)生產(chǎn)計(jì)價(jià)器的企業(yè)有上百家,主要
2、是集中在北京,上海,沈陽(yáng)和廣州等地。</p><p> 近年來(lái),我國(guó)出租汽車行業(yè)迅猛發(fā)展,出租汽車已經(jīng)成為我國(guó)城市公共交通的重要組成部分和現(xiàn)代化城市必備的基礎(chǔ)設(shè)施,成為人們工作、生活中不可缺少的交通工具。出租汽車服務(wù)行業(yè)和出租汽車計(jì)價(jià)器緊密相關(guān),因?yàn)槌鲎馄嚤仨毎惭b出租汽車計(jì)價(jià)器才能投入營(yíng)運(yùn)。出租汽車計(jì)價(jià)器是一種能根據(jù)乘客乘坐汽車行駛距離和等候時(shí)間的多少進(jìn)行計(jì)價(jià),并直接顯示車費(fèi)值的計(jì)量器具。計(jì)價(jià)器是出租汽車的經(jīng)
3、營(yíng)者和乘坐出租汽車的消費(fèi)者之間用于公平貿(mào)易結(jié)算的工具,因而計(jì)價(jià)器計(jì)價(jià)準(zhǔn)確與否,直接關(guān)系到經(jīng)營(yíng)者和消費(fèi)者的經(jīng)濟(jì)利益。依據(jù)國(guó)家有關(guān)法律、法規(guī),出租汽車計(jì)價(jià)器是列入國(guó)家首批強(qiáng)制檢定的工作計(jì)量器具之一,也是近年來(lái)國(guó)家質(zhì)量技術(shù)監(jiān)督部門(mén)強(qiáng)化管理的六類重點(diǎn)計(jì)量器具之一。</p><p> 1.2 出租車計(jì)價(jià)器介紹</p><p> 出租車計(jì)價(jià)器是出租車營(yíng)運(yùn)收費(fèi)的專用智能化儀表, 隨著電子技術(shù)的發(fā)展
4、,出租車計(jì)價(jià)器技術(shù)也在不斷進(jìn)步和提高。國(guó)內(nèi)出租車計(jì)價(jià)器已經(jīng)經(jīng)歷了4個(gè)階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式,到半電子式即用電子線路代替部分機(jī)械元器件的出租車計(jì)價(jià)器;再?gòu)募呻娐肥降侥壳暗膯纹瑱C(jī)系統(tǒng)設(shè)計(jì)的出租車計(jì)價(jià)器。出租車計(jì)價(jià)器計(jì)費(fèi)是否準(zhǔn)確、出租車司機(jī)是否作弊才是乘客最關(guān)心的問(wèn)題,而計(jì)價(jià)器營(yíng)運(yùn)數(shù)據(jù)的管理是否方便才是出租車司機(jī)最關(guān)注的。因此怎樣設(shè)計(jì)出一種既能有效防止司機(jī)作弊又能方便司機(jī)的計(jì)價(jià)器尤為重要。因此, 本文以單片機(jī)AT8
5、9C51為核心設(shè)計(jì)一款多功能出租車計(jì)價(jià)器,該計(jì)價(jià)器能實(shí)現(xiàn)按時(shí)間和里程綜合計(jì)算車價(jià),能顯示時(shí)間、里程、單價(jià)、總車價(jià)等相關(guān)信息顯示。它比市場(chǎng)上的一些計(jì)價(jià)器使用更方便,功能更全,還具有有效防止司機(jī)作弊和系統(tǒng)穩(wěn)定性好的優(yōu)點(diǎn)。</p><p> 2 系統(tǒng)整體設(shè)計(jì)</p><p> 2.1 設(shè)計(jì)任務(wù)及要求</p><p> (1)模擬一個(gè)檢測(cè)車輪轉(zhuǎn)動(dòng)里程的計(jì)價(jià)系統(tǒng);
6、</p><p> (2)要求具有時(shí)鐘和計(jì)程計(jì)價(jià)顯示功能:當(dāng)啟動(dòng)鍵被按下時(shí),系統(tǒng)開(kāi)始計(jì)程,同時(shí)顯示出起價(jià)和每公里單價(jià);在行使過(guò)程中,實(shí)時(shí)顯示已行走的里程數(shù)和當(dāng)前累計(jì)價(jià)格;當(dāng)清除鍵被按下時(shí),計(jì)程計(jì)價(jià)器清零。</p><p> 2.2 方案論證與比較</p><p> 方案一: 采用數(shù)字電路控制,其原理如圖所示。采用傳感器件,輸出脈沖信號(hào),經(jīng)過(guò)放大整形作為移位寄
7、存器的脈沖,實(shí)現(xiàn)計(jì)價(jià),但是考慮到這種電路過(guò)于簡(jiǎn)單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價(jià),也不能根據(jù)天氣調(diào)節(jié)計(jì)費(fèi)保準(zhǔn),電路不夠?qū)嵱?。電路框圖如圖2.1所示:</p><p> 圖2.1 數(shù)字電路方案</p><p> 方案二: 出租車驅(qū)動(dòng)輪轉(zhuǎn)數(shù)與轉(zhuǎn)軸轉(zhuǎn)數(shù)的傳動(dòng)比是一定的,磁感應(yīng)傳感器會(huì)產(chǎn)生一個(gè)大約20 ms的低脈沖,可以通過(guò)計(jì)算磁感應(yīng)傳感器產(chǎn)生的低脈沖數(shù)來(lái)計(jì)算出租車跑的里程數(shù)及相應(yīng)的車費(fèi)。
8、</p><p> 編碼器的單片機(jī)通過(guò)一個(gè)I/O口來(lái)檢測(cè)磁感應(yīng)傳感器信號(hào),當(dāng)確定為傳感器產(chǎn)生的信號(hào)時(shí),就通過(guò)另一個(gè)I/O口向解碼器的單片機(jī)發(fā)送一組編碼,而解碼器的單片機(jī)則首先判斷當(dāng)前準(zhǔn)備接收的數(shù)據(jù)是編碼器發(fā)送的編碼還是解碼寫(xiě)入器發(fā)送的解碼。當(dāng)判斷是解碼寫(xiě)入器發(fā)送的解碼時(shí),解碼器的單片機(jī)接收此解碼,并利用12C總線協(xié)議將解碼保存到EEPROM中去;當(dāng)判斷是編碼器發(fā)送的編碼時(shí),解碼器的單片機(jī)先接收此編碼,然后讀出自
9、己EEPROM中的解碼,將其與接收到的編碼相比較,如果相同則解碼器單片機(jī)通過(guò)一個(gè)I/0口向計(jì)價(jià)裝置發(fā)出計(jì)價(jià)脈沖,否則不發(fā)出計(jì)價(jià)脈沖。解決了以往計(jì)價(jià)器計(jì)價(jià)不準(zhǔn)確、使用壽命短等缺點(diǎn),但此方法通常使干擾信號(hào)也能產(chǎn)生計(jì)數(shù)脈沖,分立元件過(guò)于復(fù)雜,電路穩(wěn)定性不好。方案框圖如圖2.2所示:</p><p> 圖2.2 編碼器方案</p><p> 方案三: 采用單片機(jī)控制。以單片機(jī)為核心,設(shè)計(jì)上
10、采用89C51單片機(jī)為主控器,以A44E霍爾傳感器測(cè)距,并采用AT24C02實(shí)現(xiàn)在系統(tǒng)掉電的時(shí)候保存單價(jià)和系統(tǒng)時(shí)間等信息,輸出采用lcd1602。利用單片機(jī)豐富的I/O端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)整、時(shí)鐘顯示功能。原理結(jié)構(gòu)如圖2.3所示:</p><p> 圖2.3 單片機(jī)控制方案</p><p> 本出租車自動(dòng)計(jì)費(fèi),上電后顯示最初的起步價(jià),里程計(jì)費(fèi)單價(jià),等待
11、時(shí)間計(jì)費(fèi)單價(jià),通過(guò)按鍵可以調(diào)節(jié)起步價(jià),里程計(jì)費(fèi)單價(jià),等待時(shí)間計(jì)費(fèi)單價(jià)。同時(shí)具有運(yùn)行,暫停,停止等狀態(tài),可以顯示運(yùn)行的時(shí)間,同時(shí)可以顯示暫停的時(shí)間,具有累加功能,暫停和運(yùn)行時(shí)間在暫停和運(yùn)行前一次的狀態(tài)上計(jì)時(shí)。出租車停止后能夠顯示行駛的總費(fèi)用。 </p><p> 通過(guò)比較以上三種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所有要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用第三
12、種方案,用AT89C51單片機(jī)實(shí)現(xiàn)出租車計(jì)價(jià)的功能。</p><p> 2.3 系統(tǒng)總體設(shè)計(jì)</p><p> 出租車自動(dòng)計(jì)費(fèi)器,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)三部分,用1602液晶 顯示總金額,運(yùn)行時(shí)間,暫停時(shí)間,最大值為99.9元,起步價(jià)為8.0元,3Km之內(nèi)起步價(jià)計(jì)費(fèi),超過(guò)3Km,每Km2.5元。等待時(shí)間單價(jià)為每分鐘1.5元,用液晶顯示總里程,同時(shí)用液晶顯示等待時(shí)間
13、和運(yùn)行花費(fèi)時(shí)間。</p><p> 費(fèi)用的計(jì)算是按行駛里程收費(fèi)。設(shè)起步價(jià)為8.00元。</p><p> 1、當(dāng)里程<3km時(shí),按起價(jià)計(jì)算費(fèi)用</p><p> 2、當(dāng)里程>3km時(shí),每公里按2.5元計(jì)費(fèi)</p><p> 3、等待累計(jì)時(shí)間>1min時(shí),按1.5元/min計(jì)費(fèi)</p><p>
14、 該設(shè)計(jì)以單片機(jī)為核心,設(shè)計(jì)上采用89C51單片機(jī)為主控器,以A44E霍爾傳感器測(cè)距,并采用AT24C02實(shí)現(xiàn)在系統(tǒng)掉電的時(shí)候保存單價(jià)和系統(tǒng)時(shí)間等信息,輸出采用lcd1602。利用單片機(jī)豐富的I/O端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)整、時(shí)鐘顯示功能。</p><p> 本設(shè)計(jì)中由P.3口所接的一個(gè)開(kāi)關(guān)代替霍爾傳感器,每摁一下相當(dāng)于一Km的脈沖。</p><p>
15、3 相關(guān)芯片介紹</p><p> 3.1 控制核心芯片AT89C51</p><p> 3.1.1 主要特性</p><p> ?。?) 與MCS-51系列單片機(jī)產(chǎn)品兼容</p><p> (2) 4K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器(片內(nèi)具有4K字節(jié)閃速存儲(chǔ)器)</p><p> ?。?) 1000次擦
16、寫(xiě)周期</p><p> ?。?) 128Bytes的內(nèi)部RAM單元</p><p> (5) 4個(gè)8位I/O口,即32位可編程I/O口線</p><p> ?。?) 2個(gè)16位定時(shí)器/計(jì)數(shù)器</p><p><b> (7) 6個(gè)中斷源</b></p><p> ?。?) 可編程全雙工串行口
17、</p><p> (9) 低功耗空閑和掉電模式</p><p> ?。?0) 掉電后中斷可喚醒</p><p> ?。?1) 雙數(shù)據(jù)指針</p><p> ?。?2) 靈活的ISP在線編程功能(字或字節(jié)模式)</p><p> ?。?3) 寬范圍的工作電壓,VCC的允許變化范圍為了2.7~6.0V</p>
18、;<p> ?。?4) 可設(shè)置為待機(jī)狀態(tài)和掉電狀態(tài)</p><p> ?。?5) 振蕩器及時(shí)鐘電路,全靜態(tài)工作方式,時(shí)鐘頻率可為0Hz~24MHz。具有全靜態(tài)的工作方式,表明它不一定要求連續(xù)的工作時(shí)鐘定時(shí),在等待內(nèi)部事件期間,時(shí)鐘頻率可降至0。</p><p> 3.1.2 AT89C51的管腳結(jié)構(gòu)圖及管腳說(shuō)明</p><p> VCC:供電電壓。
19、 GND:接地。 P0口:P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I/O口,每腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳第一次寫(xiě)1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。 P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電
20、流。P1口管腳寫(xiě)入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 </p><p> P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉
21、的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平
22、,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 如圖3.2所示:</p><p> 圖3.2 AT89C51管腳結(jié)構(gòu)圖</p><p> P3口也可作為AT89C51的一些特殊功能口,如表3.1所示: P3口管腳 備選功能</p><p> P3.0 RXD(串行輸入口) P3.1 TXD
23、(串行輸出口) P3.2 /INT0(外部中斷0) P3.3 /INT1(外部中斷1) P3.4 T0(記時(shí)器0外部輸入) P3.5 T1(記時(shí)器1外部輸入) P3.6 /WR(外部數(shù)據(jù)存儲(chǔ)器寫(xiě)選通) P3.7 /RD(外部數(shù)據(jù)存儲(chǔ)器讀選通) P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持R
24、ST腳兩個(gè)機(jī)器周期的高電平時(shí)間。 ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,M
25、OVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。 /PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。 /EA/VPP:當(dāng)EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí)
26、,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p> 3.2 掉電存儲(chǔ)芯片AT24C02</p><p><b> 3.2.1 概述</b></p><p> 單片機(jī)實(shí)現(xiàn)的儀器儀表,家用電
27、器,工業(yè)監(jiān)控等系統(tǒng)中,對(duì)某些狀態(tài)參數(shù),不僅要求能夠在線修改,而且斷電能保持,以備上電后恢復(fù)系統(tǒng)的狀態(tài)。斷電數(shù)據(jù)保護(hù)方法可選用具有斷電保護(hù)功能的RAM和電可擦存儲(chǔ)器EEPROM。具有斷電保護(hù)功能的RAM容量大,速度快,但占用線多,成本高,EEPROM適合數(shù)據(jù)交換量少,對(duì)傳送速度要求不高的場(chǎng)合。</p><p> EPROM有并行和串行之分,并行EEPROM速度比串行快,容量大。串行芯片成本低,線路簡(jiǎn)單,工作可靠,
28、占用單片機(jī)口線資源少。</p><p> AT24CX系列串行EEPROM是目前單片機(jī)應(yīng)用系統(tǒng)中使用較多的EEPROM芯片。其系列串行EEPROM除具有體積小、功耗低、工作電壓有效范圍寬等特點(diǎn)外,還具有型號(hào)多,容量大,I2C總線協(xié)議,占用I/O口線少,芯片擴(kuò)展配置方便靈活,讀/寫(xiě)操作相對(duì)簡(jiǎn)單等優(yōu)點(diǎn)。在智能化裝置中,正日益獲得廣泛應(yīng)用。</p><p> AT24CX系列EEPROM為串
29、行的用電擦除的可編程CMOS只讀存儲(chǔ)器。自定時(shí)寫(xiě)周期包括自動(dòng)擦除時(shí)間不超過(guò)10ms,典型時(shí)間為5ms。擦除/寫(xiě)入周期壽命一般都可達(dá)到10萬(wàn)次以上。片內(nèi)數(shù)據(jù)保存壽命可達(dá)410年以上。采用單一電壓+5V,低功耗工作電流1mA,備用狀態(tài)只有10uA,端口為三態(tài)門(mén)輸出,與TTL電平兼容。一般商業(yè)品工作溫度為0~+70℃,工業(yè)品為-40~+85℃。這個(gè)系列的芯片有8腳DIP(雙列直插)封裝,8腳SOIC(表面貼裝)封裝,一部分型號(hào)還有14腳SOI
30、C封裝。</p><p> 目前,我國(guó)采用的AT24CX系列串行芯片EEPROM主要是由ATMEL,MICROCHIP,XICOR,NATIONAL等幾家公司提供。下面以ATMEL公司的產(chǎn)品進(jìn)行說(shuō)明。</p><p> 3.2.2 AT24C02介紹</p><p> AT24C02系列串行EEPROM引腳、容量及結(jié)構(gòu)</p><p>
31、 目前我國(guó)應(yīng)用最多的封裝形式是8腳封裝,如圖3.3所示:</p><p> 圖3.3 AT24C02型號(hào)和引腳</p><p> AT24C02的EEPROM的引腳說(shuō)明如下:</p><p> (1)SCL—串行時(shí)鐘端,用于對(duì)輸入和輸出數(shù)據(jù)的同步。寫(xiě)入串行EEPROM的數(shù)據(jù)用SCL上升沿同步,輸出數(shù)據(jù)用下降沿同步</p><p>
32、 (2)SDA—串行數(shù)據(jù)輸入/輸出端,漏極開(kāi)路結(jié)構(gòu)。</p><p> 使用時(shí)該引腳必須接一個(gè)5.1KΩ左右的上拉電阻。SDA線上數(shù)據(jù)傳送順序是高位在先,低位在后。</p><p> (3)WP—寫(xiě)保護(hù),用于硬件數(shù)據(jù)保護(hù)功能。</p><p> 當(dāng)該引腳接地時(shí),可以對(duì)整個(gè)存儲(chǔ)器進(jìn)行正常讀/寫(xiě)操作;當(dāng)其接電源Vcc時(shí),芯片就具有寫(xiě)保護(hù)功能,被保護(hù)的區(qū)域因型號(hào)而異
33、。被保護(hù)部分的讀操作不受影響,實(shí)際上這時(shí)被保護(hù)的區(qū)域就可以作為串行只讀存儲(chǔ)器。英注意,對(duì)AT24C08芯片,雖然第7腳也定義為WP,但實(shí)際不起作用。</p><p> A0,A1,A2—片選或以頁(yè)面選擇地址輸入,用于EEPROM器件地址編碼。</p><p> 將這3個(gè)引腳配置成不同的編碼值,可選中不同的芯片。在同一串行總線上最多可擴(kuò)充8片同一容量或不同容量的芯片。但注意,有些型號(hào)的地
34、址是無(wú)效的。例如,AT24C16所對(duì)應(yīng)的3個(gè)引腳均無(wú)效,因此使用AT24C16時(shí)只能尋址1片,同樣,使用AT24C04時(shí)刻尋址4片;使用AT24C08可尋址2片。</p><p> (4)TEST—測(cè)試,用于對(duì)存儲(chǔ)器的檢測(cè)。</p><p> (5)Vcc—電源電壓+5V。</p><p> (6)GND—接地端。</p><p>
35、(7)NC—未連接。</p><p> ATC24C02是目前最常用的型號(hào),支持器件地址編碼,統(tǒng)一串行總線最多時(shí)可同時(shí)連接1~8片,支持硬件設(shè)置數(shù)據(jù)保護(hù)。</p><p><b> 1602液晶的簡(jiǎn)介</b></p><p> 字符型液晶1602主要技術(shù)參數(shù)如表3-1所示:</p><p> 表3-1 字符型液晶
36、1602主要技術(shù)參數(shù)</p><p> 接口信號(hào)說(shuō)明如表3-2所示:</p><p> 表3-2 1602接口信號(hào)說(shuō)明</p><p> 控制器接口說(shuō)明(HD44780及兼容芯片)</p><p><b> 1、 基本操作時(shí)序</b></p><p> a 讀狀態(tài):輸入:Rs=L, R
37、w=H, E=H 輸出:D0—D7=狀態(tài)字</p><p> b 寫(xiě)指令:輸入:Rs=L, Rw=L, D0—D7=指令碼 輸出:無(wú)</p><p><b> E=高脈沖</b></p><p> C 讀數(shù)據(jù):輸入:Rs=H, Rw=L, E=H 輸出:D0—D7=數(shù)據(jù)</p>
38、<p> d 寫(xiě)數(shù)據(jù):輸入:Rs=H, Rw=L, D0—D7=數(shù)據(jù) 輸出:無(wú)</p><p><b> E=高脈沖</b></p><p> 狀態(tài)字說(shuō)明如表3-3所示:</p><p> 表3-3狀態(tài)字說(shuō)明(a)</p><p> 表3-4 狀態(tài)字說(shuō)明(b)</p><
39、;p> 注:對(duì)控制器進(jìn)行讀寫(xiě)操作之前,都必須進(jìn)行讀寫(xiě)檢測(cè),確保STA7為0</p><p><b> RAM地址映射圖</b></p><p> 控制器內(nèi)部帶有80*8位的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如下圖2-5所示:</p><p> 表3-5 RAM地址映射圖LCD16字*2行</p><p> 顯示模式設(shè)
40、置如表3-6所示:</p><p> 表2-6 顯示模式設(shè)置</p><p> 顯示開(kāi)關(guān)及光標(biāo)設(shè)置如表3-7所示:</p><p> 表3-7 顯示開(kāi)關(guān)及光標(biāo)設(shè)置</p><p> 控制器內(nèi)部沒(méi)有一個(gè)數(shù)據(jù)地址指針,用戶可通過(guò)它們來(lái)訪問(wèn)內(nèi)部的全部80字節(jié)RAM。</p><p><b> 系統(tǒng)硬件設(shè)計(jì)
41、</b></p><p> 車輪轉(zhuǎn)動(dòng)里程檢測(cè)電路模塊</p><p> 霍爾傳感器是一種磁傳感器。用它們可以檢測(cè)磁場(chǎng)及其變化,可在各種與磁場(chǎng)有關(guān)的場(chǎng)合使用?;魻柶骷曰魻栃?yīng)為其工作基礎(chǔ)。霍爾器件有許多優(yōu)點(diǎn),它們的結(jié)構(gòu)牢固,體積小,重量輕,壽命長(zhǎng),安裝方便,功耗小,頻率高(可達(dá)1MHZ),耐震動(dòng),不怕灰塵、油污、水汽及鹽霧等的污染或腐蝕。</p><p&
42、gt; 本設(shè)計(jì)采用霍爾傳感器A44E,用它來(lái)檢測(cè)車輪信號(hào),送到單片機(jī)中,經(jīng)處理計(jì)算后,送給顯示單元,原理圖如圖4.1所示:</p><p> 圖4.1 傳感器測(cè)距示意圖</p><p><b> 電路圖如下所示:</b></p><p> 圖4.2 里程檢測(cè)電路連接圖</p><p> 4.2 系統(tǒng)總原理圖
43、</p><p> 圖4.3 系統(tǒng)原理圖</p><p><b> 仿真結(jié)果</b></p><p><b> 計(jì)價(jià)器開(kāi)始運(yùn)行前</b></p><p><b> 計(jì)價(jià)器開(kāi)始運(yùn)行</b></p><p> 運(yùn)行6Km后的顯示情況</p&
44、gt;<p><b> 等待29s顯示情況</b></p><p><b> 致謝</b></p><p> 在本次設(shè)計(jì)中,我們采用AT89C51芯片為核心器件,設(shè)計(jì)出了簡(jiǎn)單的出租車計(jì)價(jià)器,能夠?qū)崿F(xiàn)顯示總金額和總里程,按鍵控制清零,調(diào)價(jià)。</p><p> 選題后,我便開(kāi)始復(fù)習(xí)單片機(jī)方面的知識(shí),也查閱
45、、搜索了很多相關(guān)資料,進(jìn)行總體設(shè)計(jì)與具體設(shè)計(jì),同時(shí)也學(xué)習(xí)仿真軟件Protues和編程軟件KeiC。由于以前都采用匯編語(yǔ)言實(shí)現(xiàn)編程,對(duì)用C語(yǔ)言來(lái)實(shí)現(xiàn)單片機(jī)的編程不太習(xí)慣,花費(fèi)了一些時(shí)間來(lái)熟悉C語(yǔ)言的編程。在設(shè)計(jì)開(kāi)始,要形成流程圖,它可以使設(shè)計(jì)有一定的邏輯性與嚴(yán)密性,使得設(shè)計(jì)思路明確。采用模塊化的設(shè)計(jì)思想很重要,它方便編寫(xiě)、修改與調(diào)試,另外加上必要的注釋,便于交流與理解。</p><p> 這次畢業(yè)設(shè)計(jì)完成后,體會(huì)
46、頗多,在學(xué)與做的過(guò)程中,取長(zhǎng)補(bǔ)短,不斷學(xué)習(xí)新的知識(shí),吸取經(jīng)驗(yàn),達(dá)到進(jìn)步的目的。通過(guò)自身的努力以及相關(guān)圖書(shū)資料的幫助,逐漸熟悉了KEIL、PROTEUS和C語(yǔ)言等軟件的使用以及硬件檢測(cè)過(guò)程中的一些小技巧。本次設(shè)計(jì)我學(xué)習(xí)到不少單片機(jī)的知識(shí),但由于自己的理論知識(shí)水平有限,實(shí)踐知識(shí)和設(shè)計(jì)經(jīng)驗(yàn)不足,在設(shè)計(jì)過(guò)程中難免存在一些問(wèn)題。懇請(qǐng)各位老師批評(píng)指正,以使我在以后的學(xué)習(xí)和實(shí)踐中加以改進(jìn)和提高。</p><p><b&g
47、t; 參考文獻(xiàn)</b></p><p> [1] 李順增. 微機(jī)原理與接口技術(shù)[M]. 北京:機(jī)械工業(yè)出版社出版社,2005</p><p> [2] 顧德英. 計(jì)算機(jī)控制技術(shù)[M]. 北京:北京郵電大學(xué)出版社,2007</p><p> [3] 韓志軍,沈晉源,王振波.單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,1998</p>
48、<p> [4] 楊忠煌,黃博俊,李文昌. 單芯片8051實(shí)務(wù)與應(yīng)用[M]. 北京:中國(guó)水利水電出版社,2001</p><p> [5] 畢滿清. 模擬電子技術(shù)[M]. 北京:電子工業(yè)出版社,2008</p><p> [6] 閻石. 數(shù)字電子技術(shù)基礎(chǔ)[M]. 北京:高等教育出版社,2007</p><p><b> 附:程序源代碼
49、</b></p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int </p><p> //***********************************</
50、p><p> int kk=0;//路程標(biāo)志位</p><p> int dj=1;//路程單價(jià) </p><p> //************************************</p><p> sbit rw=P2^1;//讀或?qū)?lt;/p><p> sbit rs=P2^0;//</
51、p><p> sbit en=P2^2;//讀寫(xiě)時(shí)能控制端</p><p> sbit b=P0^7;//液晶判斷忙標(biāo)志位</p><p> void lcd_init();//</p><p> void wr_com(uchar command);//液晶寫(xiě)命令</p><p> void wr_data(u
52、char data0);//寫(xiě)數(shù)據(jù)</p><p> void lcd_clear();//液晶清屏</p><p> void lcd_set();//設(shè)置液晶的起始位置</p><p> void busy();//液晶判忙函數(shù)</p><p> void display();//顯示</p><p>
53、void printstring(uchar *s);//直接寫(xiě)字符</p><p> void display1();</p><p> void key1();</p><p> sbit K0=P1^0;</p><p> sbit K1=P1^1;</p><p> sbit K2=P1^2;<
54、/p><p> sbit K3=P1^3;</p><p> sbit K4=P3^4;</p><p> sbit led_run=P1^4;</p><p> sbit led_await=P1^5;</p><p> sbit led_stop=P1^6;</p><p> bit
55、 f_start;//開(kāi)始標(biāo)志位</p><p> bit jump_in;//跳入開(kāi)始標(biāo)志位</p><p> bit jump_out;//跳出標(biāo)志位</p><p> void key();</p><p> uchar code table[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,
56、0x38,0x39,0x70};//字符1,2,3,,,,,0</p><p> uchar dispbuf[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};</p><p> uchar dispbuf1[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};</p><p> uchar v,v1;//按鍵次數(shù)累加變量&l
57、t;/p><p><b> uchar i;</b></p><p> void init();//</p><p> void chuli();//</p><p> void chuli1();//</p><p> void delay(uchar t);//</p>&
58、lt;p> void clear();//</p><p> void set(uchar x);//</p><p> void set1(uchar y);//</p><p> uchar command;//</p><p> uchar count,count1;//</p><p> uc
59、har second,minite,second1,minite1;//</p><p> unsigned int tt,tt1;//</p><p> unsigned char value1=80,value2=25,value3=15;//起始價(jià),運(yùn)行價(jià),等待價(jià)</p><p> unsigned int money;//金額變量</p>
60、<p> //*******************************************</p><p> void delay(uchar t)</p><p><b> {</b></p><p> while(--t);</p><p><b> }</b>&
61、lt;/p><p> //*******************************************</p><p> //*****************************************************</p><p> sbit SCL=P3^0; //IIC引腳*********掉電存儲(chǔ)
62、</p><p> sbit SDA=P3^1;</p><p> void start() //IIC開(kāi)始位</p><p> { SDA = 1;</p><p><b> SCL = 1;</b></p><p><b> de
63、lay();</b></p><p><b> SDA = 0;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void stop() // IIC停止位
64、</p><p><b> {</b></p><p><b> SDA = 0;</b></p><p><b> delay();</b></p><p><b> SCL = 1;</b></p><p><b&
65、gt; delay();</b></p><p><b> SDA = 1;</b></p><p><b> }</b></p><p> void respons() //IIC應(yīng)答位</p><p><b> {</
66、b></p><p><b> uchar i;</b></p><p><b> SCL=1;</b></p><p><b> delay();</b></p><p> while((SDA==1)&&(i<250))</p>
67、;<p><b> i++;</b></p><p><b> SCL=0;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void init1()</p&
68、gt;<p><b> {</b></p><p><b> SDA=1;</b></p><p><b> delay();</b></p><p><b> SCL=1;</b></p><p><b> delay(
69、);</b></p><p><b> }</b></p><p> uchar read_byte() // 從EEPROM讀到MCU</p><p><b> {</b></p><p> uchar i,j;</p><
70、;p> for(i=0;i<8;i++)</p><p><b> {</b></p><p><b> SCL=1;</b></p><p><b> j<<=1;</b></p><p><b> j|=SDA;</b>
71、;</p><p><b> SCL=0;</b></p><p><b> }</b></p><p> return(j);</p><p><b> }</b></p><p> void write_byte(uchar date)
72、 // 從MCU寫(xiě)到EEPROM</p><p><b> {</b></p><p> uchar i,temp;</p><p> temp=date;</p><p> for(i=0;i<8;i++)</p><p><b> {</b&g
73、t;</p><p> temp=temp<<1;</p><p><b> SCL=0;</b></p><p><b> delay();</b></p><p><b> SDA=CY;</b></p><p><b>
74、; delay();</b></p><p><b> SCL=1;</b></p><p><b> delay();</b></p><p><b> }</b></p><p><b> SCL=0;</b></p>
75、<p><b> delay();</b></p><p><b> SDA=1;</b></p><p><b> delay();</b></p><p><b> }</b></p><p> void write_data(
76、uchar addr, uchar date) // 在指定地址addr處寫(xiě)入數(shù)據(jù)date</p><p><b> {</b></p><p><b> start();</b></p><p> write_byte(0xa0);</p><p> respons();&
77、lt;/p><p> write_byte(addr);</p><p> respons();</p><p> write_byte(date);</p><p> respons();</p><p><b> stop();</b></p><p><b
78、> }</b></p><p> uchar read_data(uchar addr) // 在指定地址addr讀取數(shù)據(jù)</p><p><b> {</b></p><p> uchar date;</p><p><b> start();&
79、lt;/b></p><p> write_byte(0xa0);</p><p> respons();</p><p> write_byte(addr);</p><p> respons();</p><p><b> start();</b></p><
80、;p> write_byte(0xa1);</p><p> respons();</p><p> date=read_byte();</p><p><b> stop();</b></p><p> return date;</p><p><b> }</
81、b></p><p> //***************************************************</p><p> //*******************************************</p><p> void main()</p><p><b> {<
82、/b></p><p><b> init();</b></p><p> lcd_init();</p><p><b> while(1)</b></p><p><b> { </b></p><p><b> key1(
83、);</b></p><p><b> chuli();</b></p><p> display();</p><p> if(jump_in==1)</p><p><b> {</b></p><p> jump_in=0;</p>
84、<p> lcd_init();</p><p><b> while(1)</b></p><p><b> {</b></p><p><b> key();</b></p><p><b> chuli1();</b></p
85、><p> display1();</p><p> if(jump_out==1) </p><p><b> {</b></p><p> lcd_init();</p><p> jump_out=0;</p><p><b> clear();&l
86、t;/b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }&l
87、t;/b></p><p><b> }</b></p><p> //*******************************************</p><p> void clear()//跳出下一次</p><p><b> {</b></p><
88、p><b> TR0=0;</b></p><p><b> TR1=0;</b></p><p><b> money=0;</b></p><p><b> second=0;</b></p><p> second1=0;</p
89、><p><b> minite=0;</b></p><p> minite1=0;</p><p> value1=80;</p><p> value2=25;</p><p> value3=15;</p><p> led_run=1;</p>
90、<p> led_await=1;</p><p> led_stop=1;</p><p><b> v=0;</b></p><p><b> v1=0;</b></p><p> for(i=0;i<15;i++)</p><p><
91、b> {</b></p><p> dispbuf[i]=0;</p><p> dispbuf1[i]=0;</p><p><b> }</b></p><p><b> }</b></p><p> //******************
92、*************************</p><p> void init()//定時(shí)器初始化</p><p><b> {</b></p><p> TMOD=0x11;</p><p> TH0=(65536-50000)/256;</p><p> TL0=(6553
93、6-50000)%256;</p><p> TH1=(65536-50000)/256;</p><p> TL1=(65536-50000)%256;</p><p><b> ET0=1;</b></p><p><b> ET1=1;</b></p><p>
94、<b> EA=1;</b></p><p><b> TR0=0;</b></p><p><b> TR1=0;</b></p><p><b> }</b></p><p> //******************************
95、*************</p><p> void t0_(void) interrupt 1 using 0//定時(shí)器0中斷</p><p><b> {</b></p><p><b> count++;</b></p><p> if(count==20)</p>&
96、lt;p><b> {</b></p><p><b> count=0;</b></p><p><b> second++;</b></p><p> if(second==60)</p><p><b> {</b></p>
97、;<p><b> second=0;</b></p><p><b> minite++;</b></p><p> if(minite==99)</p><p><b> {</b></p><p><b> minite=0;</b
98、></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> TH0=(65536-50000)/256;</p><p> TL0=(65536-50000)%2
99、56;</p><p> dispbuf1[0]=minite/10;</p><p> dispbuf1[1]=minite%10;</p><p> dispbuf1[2]=second/10;</p><p> dispbuf1[3]=second%10;</p><p><b> }<
100、/b></p><p> //*******************************************</p><p> void t1_(void) interrupt 3 using 3//定時(shí)器1中斷</p><p><b> {</b></p><p><b> count1
101、++;</b></p><p> if(count1==20)</p><p><b> {</b></p><p><b> count1=0;</b></p><p> second1++;</p><p> if(second1==60)</
102、p><p><b> {</b></p><p> second1=0;</p><p> minite1++;</p><p> if(minite1==99)</p><p><b> {</b></p><p> minite1=0;&l
103、t;/p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> TH1=(65536-50000)/256;</p><p> TL1=(65536-50000)%256;<
104、;/p><p> dispbuf1[4]=minite1/10;</p><p> dispbuf1[5]=minite1%10;</p><p> dispbuf1[6]=second1/10;</p><p> dispbuf1[7]=second1%10;</p><p><b> }</b
105、></p><p> //*******************************************</p><p> void lcd_init()//液晶初始化</p><p><b> {</b></p><p> wr_com(0x3c);</p><p> w
106、r_com(0x06);</p><p> wr_com(0x0c);</p><p> wr_com(0x01);</p><p><b> }</b></p><p> //*******************************************</p><p> vo
107、id wr_com(uchar command)//液晶寫(xiě)命令</p><p><b> {</b></p><p><b> busy();</b></p><p><b> rs=0;</b></p><p><b> rw=0;</b><
108、;/p><p> P0=command;</p><p><b> en=1;</b></p><p><b> en=0;</b></p><p><b> }</b></p><p> //***************************
109、****************</p><p> void wr_data(uchar data0)//液晶寫(xiě)數(shù)據(jù)</p><p><b> {</b></p><p><b> busy();</b></p><p><b> rs=1;</b></p>
110、<p><b> rw=0;</b></p><p><b> P0=data0;</b></p><p><b> en=1;</b></p><p><b> en=0;</b></p><p><b> }</
111、b></p><p> //*******************************************</p><p> void busy()//液晶判忙</p><p><b> {</b></p><p><b> while(1)</b></p>&l
112、t;p><b> {</b></p><p><b> en=0;</b></p><p><b> rs=0;</b></p><p><b> rw=1;</b></p><p> P0=0xff;
113、 </p><p><b> en=1;</b></p><p> if(b!=1)break;</p><p><b> }</b></p>
114、;<p><b> en=0;</b></p><p><b> }</b></p><p> //*******************************************</p><p> void chuli()//數(shù)值處理</p><p><b>
115、 {</b></p><p> dispbuf[0]=value1/100%10;</p><p> dispbuf[1]=value1/10%10;</p><p> dispbuf[2]=value1%10;</p><p> dispbuf[3]=value2/100%10;</p><p>
116、; dispbuf[4]=value2/10%10;</p><p> dispbuf[5]=value2%10;</p><p> dispbuf[6]=value3/100%10;</p><p> dispbuf[7]=value3/10%10;</p><p> dispbuf[8]=value3%10;</p>
117、<p><b> }</b></p><p> //*******************************************</p><p> void display()</p><p><b> {</b></p><p><b> set(0);
118、</b></p><p> printstring("s:");</p><p> wr_data(table[dispbuf[0]]);</p><p> wr_data(table[dispbuf[1]]);</p><p> printstring(".");</p>
119、;<p> wr_data(table[dispbuf[2]]);</p><p><b> set(8);</b></p><p> printstring("m:");</p><p> wr_data(table[dispbuf[3]]);</p><p> wr_dat
120、a(table[dispbuf[4]]);</p><p> printstring(".");</p><p> wr_data(table[dispbuf[5]]);</p><p><b> set1(0);</b></p><p> printstring("a:"
121、);</p><p> wr_data(table[dispbuf[6]]);</p><p> wr_data(table[dispbuf[7]]);</p><p> printstring(".");</p><p> wr_data(table[dispbuf[8]]);</p><p&
122、gt;<b> }</b></p><p> //*******************************************</p><p> void chuli1()</p><p><b> {</b></p><p> if(f_start==1)</p>
123、<p><b> {</b></p><p> if(kk<=3)//計(jì)價(jià)方案</p><p> {money=80;//起步價(jià)8元</p><p><b> kk=3;</b></p><p><b> }</b></p><p
124、> else if(kk>3 && kk<=35)</p><p><b> {</b></p><p> money=80+dj*(kk-3)+1;</p><p><b> }</b></p><p> else if(kk>35&&am
125、p;kk<900) </p><p><b> {</b></p><p> money=80+2*dj*(kk-2)+1;</p><p><b> }</b></p><p> dispbuf1[0]=kk/10;//路程十位</p><p> disp
126、buf1[1]=kk%10;//路程個(gè)位</p><p> //***************************************</p><p> tt=minite*60+second;//總時(shí)間</p><p> tt1=minite1;//等待時(shí)間</p><p> money=value1+value2*0.1*
127、tt+value3*tt1;//起始價(jià)+每公里價(jià)*時(shí)間*速度+等待價(jià)*等待時(shí)間</p><p> //*************************</p><p><b> }</b></p><p> else if(f_start==0)</p><p><b> {</b><
128、;/p><p><b> money=0;</b></p><p><b> }</b></p><p> dispbuf1[8]=money/100%10;//</p><p> dispbuf1[9]=money/10%10;//</p><p> dispbuf1
129、[10]=money%10;//</p><p><b> }</b></p><p> //******************************************</p><p> void display1()</p><p><b> {</b></p>&
130、lt;p><b> set(0);</b></p><p> printstring("run: ");</p><p> wr_data(table[dispbuf1[0]]);</p><p> wr_data(table[dispbuf1[1]]);</p><p><b&g
131、t; set(8);</b></p><p> printstring("a:");</p><p> wr_data(table[dispbuf1[4]]);</p><p> wr_data(table[dispbuf1[5]]);</p><p> printstring(":&quo
132、t;);</p><p> wr_data(table[dispbuf1[6]]);</p><p> wr_data(table[dispbuf1[7]]);</p><p><b> set1(0);</b></p><p> printstring("sum: ");</p>
133、<p> wr_data(table[dispbuf1[8]]);</p><p> wr_data(table[dispbuf1[9]]);</p><p> printstring(".");</p><p> wr_data(table[dispbuf1[10]]);</p><p><b
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車計(jì)價(jià)器課程設(shè)計(jì)
- 出租車計(jì)價(jià)器課程設(shè)計(jì)
- 出租車計(jì)價(jià)器課程設(shè)計(jì)
- 出租車計(jì)價(jià)器課程設(shè)計(jì)
- 硬件課程設(shè)計(jì)-- 出租車計(jì)價(jià)系統(tǒng)
- 課程設(shè)計(jì)---出租車計(jì)價(jià)器設(shè)計(jì)
- 課程設(shè)計(jì)--出租車計(jì)價(jià)器設(shè)計(jì)
- 出租車計(jì)價(jià)器設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)---出租車計(jì)價(jià)器設(shè)計(jì)
- 接口課程設(shè)計(jì)---出租車計(jì)價(jià)器
- 出租車自動(dòng)計(jì)費(fèi)系統(tǒng)eda課程設(shè)計(jì)
- eda課程設(shè)計(jì)出租車計(jì)費(fèi)器
- eda課程設(shè)計(jì)--出租車計(jì)費(fèi)器
- 出租車計(jì)價(jià)器課程設(shè)計(jì)報(bào)告
- 硬件課程設(shè)計(jì)----出租車計(jì)價(jià)器
- eda課程設(shè)計(jì)--出租車計(jì)價(jià)器
- 出租車計(jì)費(fèi)器課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)--出租車計(jì)價(jià)器
- 出租車計(jì)價(jià)器課程設(shè)計(jì)論文
- 出租車自動(dòng)計(jì)費(fèi)器課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論