版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 出租車(chē)計(jì)價(jià)器</b></p><p> 摘 要:出租車(chē)計(jì)價(jià)器是乘客和司機(jī)的交易準(zhǔn)則,它是出租車(chē)行業(yè)發(fā)展的重要標(biāo)志,是出租車(chē)中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無(wú)論是對(duì)廣大出租車(chē)司機(jī)朋友還是乘客來(lái)說(shuō)都是很必要的。因此,汽車(chē)計(jì)價(jià)器的研究也是十分有一個(gè)應(yīng)用價(jià)值的。該系統(tǒng)由AT89S51單片機(jī)控制,滿足計(jì)程、計(jì)時(shí)、計(jì)費(fèi)、存儲(chǔ)等多種計(jì)量功能為一
2、體的出租車(chē)計(jì)價(jià)器的實(shí)用要求。相比于普通的模擬電路控制,采用單片機(jī)進(jìn)行的設(shè)計(jì)相對(duì)來(lái)說(shuō)功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過(guò)軟件編程來(lái)完成更多的附加功能。針對(duì)計(jì)費(fèi)模式的切換,通過(guò)軟件編程就可以輕易而舉的實(shí)現(xiàn)。避免了機(jī)械開(kāi)關(guān)帶來(lái)的不穩(wěn)定因素。</p><p> 關(guān)鍵詞:出租車(chē)計(jì)價(jià)器 單片機(jī) 控制</p><p><b> 目 錄&l
3、t;/b></p><p> 第一章 前 言1</p><p> 第二章 設(shè)計(jì)要求2</p><p> 2.1 基本功能2</p><p> 2.3 擴(kuò)展功能2</p><p> 第三章 系統(tǒng)的組成及工作原理3</p><p> 3.1 系統(tǒng)的硬件構(gòu)成及功能
4、3</p><p> 3.2 AT89S51單片機(jī)及其引腳說(shuō)明4</p><p> 第四章 硬件電路方案設(shè)計(jì)7</p><p> 4.1方案比較與確定7</p><p> 4.2 里程計(jì)算、計(jì)價(jià)單元的設(shè)計(jì)7</p><p> 4.3 顯示單元電路設(shè)計(jì)9</p><p&g
5、t; 4.4 鍵盤(pán)顯示模塊設(shè)計(jì)10</p><p> 第5章 系統(tǒng)的軟件設(shè)計(jì)12</p><p> 5.1 系統(tǒng)主程序設(shè)計(jì)12</p><p> 5.2 定時(shí)中斷服務(wù)程序14</p><p> 5.3 顯示服務(wù)程序14</p><p> 5.4 鍵盤(pán)服務(wù)程序15</p>
6、<p> 第6章 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析17</p><p> 6.1 使用的儀器儀表和工具17</p><p> 6.2 調(diào)試的方法17</p><p> 第7章 結(jié)論18</p><p><b> 參考文獻(xiàn)19</b></p><p><b>
7、 附錄20</b></p><p> 附錄1 總體設(shè)計(jì)電路圖20</p><p> 附錄2 元件清單20</p><p> 附錄3 全部源程序21</p><p><b> 第一章 前 言</b></p><p> 隨著我國(guó)國(guó)民經(jīng)濟(jì)的告訴發(fā)展,出租車(chē)已成為城市公共
8、交通的重要組成部分。出租車(chē)計(jì)價(jià)器這一專用計(jì)算器具必須經(jīng)當(dāng)?shù)丶急O(jiān)局所屬的管理部門(mén)堅(jiān)定認(rèn)可,且出租車(chē)安裝計(jì)價(jià)器整車(chē)鑒定合格后才能運(yùn)營(yíng)。針對(duì)電子式出租車(chē)計(jì)價(jià)器,建設(shè)部于1997年12月1日開(kāi)始貫徹新的行業(yè)標(biāo)準(zhǔn)“CJ5024-1997”,要求“本標(biāo)準(zhǔn)實(shí)施之日起,電子式出租車(chē)計(jì)價(jià)器的設(shè)計(jì),制造,和檢驗(yàn)必須符合本標(biāo)準(zhǔn)的規(guī)定”。根據(jù)新標(biāo)準(zhǔn)選擇性能價(jià)格比高的計(jì)價(jià)器,并與有關(guān)出租車(chē)管理部門(mén)一起確定選用哪個(gè)品牌則是計(jì)量部門(mén)的職責(zé)。如何選用計(jì)價(jià)器,主要應(yīng)考慮
9、兩個(gè)方面:第一是性能和質(zhì)量是否符合新標(biāo)準(zhǔn)CJ5024-1997,性能還包括本地區(qū)行政管理部門(mén)隨時(shí)間,區(qū)域和車(chē)型在運(yùn)價(jià)上的調(diào)整,如里程費(fèi),等候費(fèi),空貼費(fèi),夜間補(bǔ)償費(fèi)等作變更時(shí),改變計(jì)價(jià)器運(yùn)行程序的繁簡(jiǎn)程度。同時(shí)要考慮計(jì)價(jià)器自身防作弊的性能。第二要關(guān)注該品牌計(jì)價(jià)器是否具備升級(jí)換代或者是擴(kuò)展功能。雖然現(xiàn)在個(gè)別大城市有全部更新出租車(chē)計(jì)價(jià)器一步到位的能力,但絕大部分城市還不具備這種條件,須按步驟先安裝計(jì)價(jià)器,再裝語(yǔ)音提示器,然后才考慮票據(jù)打印或者
10、IC卡管理及收費(fèi)等問(wèn)題,這樣在選用計(jì)價(jià)器時(shí)就要想到它在未來(lái)發(fā)展中的配套能</p><p> 本次課程設(shè)計(jì)利用單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)一臺(tái)多功能出租車(chē)計(jì)價(jià)器,具有性能可靠、電路簡(jiǎn)單、成本低等特點(diǎn)。</p><p><b> 第二章 設(shè)計(jì)要求</b></p><p><b> 2.1 基本功能</b></p>&
11、lt;p><b> 1.基本要求:</b></p><p> ?。?)白天計(jì)程計(jì)價(jià)方法: (30)</p><p> 1)起步價(jià):乘客上車(chē),顯示起步價(jià)(例如7元),行車(chē)距離在3公里以內(nèi)。</p><p> 2)里程計(jì)價(jià):(計(jì)價(jià)單位為元,并進(jìn)行四舍五入)</p><p> a.行車(chē)?yán)锍?< 3公里時(shí),計(jì)
12、價(jià)為7元;</p><p> b.3公里≤行車(chē)?yán)锍獭?公里時(shí),計(jì)價(jià)為:7元+(里程-3)*1.2元/公里</p><p> c.行車(chē)?yán)锍?> 6公里時(shí),加收回空計(jì)費(fèi)每公里計(jì)價(jià)加收50%;</p><p> 計(jì)價(jià)為:7元+3公里*1.2元/公里+(里程-6)*1.2*(1+50%)元/公里</p><p> ?。?)計(jì)價(jià)器顯示功能:
13、顯示總價(jià)、總里程、車(chē)速,顯示北京時(shí)間,時(shí)間可以進(jìn)行設(shè)置。(20)</p><p> ?。?)顯示:可以顯示里程、金額、等待時(shí)間、速度。</p><p> ?。?)計(jì)費(fèi)功能:起步公里數(shù)為2公里,價(jià)格為6元;若實(shí)際運(yùn)行大于2公里,按單程價(jià)格為1.6元/公里,往返則價(jià)格為1.6元/公里。</p><p> ?。?)按鍵功能:?jiǎn)纬?往返分別由“單程” 按鍵和“往返” 按鍵設(shè)
14、定;按“暫停” 鍵,計(jì)價(jià)器可暫停計(jì)價(jià);按“清除” 鍵,計(jì)價(jià)器能將記錄數(shù)據(jù)(里程、等待時(shí)間與金額等)自動(dòng)清0;按“查詢”鍵,能自動(dòng)顯示總等待時(shí)間;按“返回”鍵,仍然顯示里程和金額。</p><p> 2.2 性能:公里數(shù)檢測(cè)誤差不超過(guò)±10%。</p><p><b> 2.3 擴(kuò)展功能</b></p><p> 停車(chē)計(jì)費(fèi)功能:用
15、單片機(jī)控制電機(jī)轉(zhuǎn)動(dòng),并用光電傳感器檢測(cè)轉(zhuǎn)盤(pán)轉(zhuǎn)動(dòng)模擬車(chē)速,車(chē)速與轉(zhuǎn)盤(pán)轉(zhuǎn)速成正比。車(chē)速<5公里/小時(shí)的時(shí)間累積為總等待時(shí)間,每5分鐘等待時(shí)間相當(dāng)于里程數(shù)增加1公里。</p><p> 第三章 系統(tǒng)的組成及工作原理</p><p> 本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī)AT89S51、數(shù)據(jù)顯示部件、模擬行駛路程單元、及計(jì)價(jià)單元的設(shè)計(jì)。在硬件設(shè)計(jì)過(guò)程中,充分利用各部件的功能,實(shí)現(xiàn)多功能的出租車(chē)計(jì)價(jià)
16、器設(shè)計(jì)。</p><p> 3.1 系統(tǒng)的硬件構(gòu)成及功能</p><p> 計(jì)價(jià)器的單片機(jī)控制方案圖如圖1 單片機(jī)控制方案圖所示。</p><p> 利用單片機(jī)豐富的IO端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格選擇、時(shí)間顯示控制等功能。不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí)。具體電路參見(jiàn)附錄中“多功能出
17、租車(chē)計(jì)價(jià)器總體電路圖”如圖3.1 單片機(jī)控制方案圖。</p><p> 圖3.1 單片機(jī)控制方案圖</p><p> 3.2 AT89S51單片機(jī)及其引腳說(shuō)明</p><p> AT89S51是美國(guó)ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4KB的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn)
18、,兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程(ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用 8位微處理器于單片芯片中,具有高性價(jià)比。</p><p> AT89S51是一個(gè)有40個(gè)引腳的芯片,引腳配置如圖3.2 AT89S51引腳配置所示。</p><p> 圖3.2 AT89S51引腳配置</p><p> AT89S51芯片的40個(gè)引腳功
19、能為:</p><p> VCC 電源電壓。</p><p><b> GND 接地。</b></p><p> RST 復(fù)位輸入。</p><p> 當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位(地址8EH)可打開(kāi)或關(guān)閉該功能
20、。DISKRTO位缺省為RESET輸出高電平打開(kāi)狀態(tài)。</p><p> XTAL1 反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2 來(lái)自反向振蕩放大器的輸出。</p><p> P0口 一組8位漏極開(kāi)路型雙向I/O口。也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端
21、用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。</p><p> P1口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入
22、口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P1口部分端口引腳及功能如表3-1 P1口特殊功能所示。</p><p> 表3-1 P1口特殊功能</p><p> P2口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部
23、的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)訪問(wèn)期間不改變。Flash編程和程序校驗(yàn)期間,P2亦接收低8位地址。</p><p> P3口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩
24、沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)“1”時(shí),它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3-2 P3口特殊功能所示。P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)期間的控制信號(hào)。</p><p> 表3-2 P3口特殊功能</p>
25、;<p> PSEN/ 程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀先通信號(hào),當(dāng)AT89S51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN/有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的PSEN/信號(hào)。</p><p> EA/VPP 外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器,EA端必須保持低電平,需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。Fla
26、sh存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓VPP。</p><p> 第四章 硬件電路方案設(shè)計(jì)</p><p> 4.1方案比較與確定</p><p> 出租車(chē)計(jì)價(jià)系統(tǒng)在模擬車(chē)輪轉(zhuǎn)動(dòng)方面上可以采用兩種方案:一種是用555芯片產(chǎn)生固定頻率的脈沖模擬。這種方案產(chǎn)生脈沖頻率很高,但是調(diào)節(jié)比較麻煩。第二種是采用槽型光耦的通與斷來(lái)模擬轉(zhuǎn)動(dòng),使用電機(jī)轉(zhuǎn)盤(pán)對(duì)光耦的切
27、割來(lái)產(chǎn)生脈沖。這種方案產(chǎn)生脈沖頻率不高,但是轉(zhuǎn)速可以輕松調(diào)節(jié)。經(jīng)過(guò)仔細(xì)考慮和權(quán)衡,由于兩種方案均有其優(yōu)點(diǎn),決定同時(shí)使用兩種方案,兩個(gè)模擬源可以根據(jù)需要任意使用。</p><p> 在顯示問(wèn)題上,可以使用7279芯片控制顯示,也可以通過(guò)動(dòng)態(tài)掃描實(shí)現(xiàn)顯示功能。考慮到動(dòng)態(tài)掃描使用的硬件較少,本著簡(jiǎn)捷易行的原則,采用了動(dòng)態(tài)掃描的方案。</p><p> 4.2 里程計(jì)算、計(jì)價(jià)單元的設(shè)計(jì)<
28、;/p><p> 里程計(jì)算是通過(guò)安裝在車(chē)輪上的霍爾傳感器A44E檢測(cè)到的信號(hào),在該系統(tǒng)中用兩種脈沖發(fā)生器進(jìn)行模擬,送到單片機(jī),經(jīng)處理計(jì)算,送給顯示單元的。其原理如圖4.1 所示。</p><p> 圖4.1 模擬測(cè)距示意圖</p><p> 555電路來(lái)產(chǎn)生一個(gè)脈沖來(lái)模擬霍爾傳感器輸出的里程脈沖,選擇P1.0口作為信號(hào)的輸入端,內(nèi)部采用外部中斷0,555脈沖產(chǎn)生
29、電路輸出一個(gè)脈沖信號(hào)直接加到IO口P1.0上(產(chǎn)生的頻率F=1/T=1.414/[(R1+2R2)C1]),由單片機(jī)的內(nèi)部算法對(duì)脈沖計(jì)數(shù),通過(guò)計(jì)算將脈沖增加體現(xiàn)在金額和里程上。具體電路如圖4.2所示。</p><p> 圖4.2 555脈沖產(chǎn)生電路圖</p><p> 光偶電路是以光為媒介傳輸電信號(hào)的一種光一電轉(zhuǎn)換器件,是另一種模擬將出租車(chē)行駛時(shí)車(chē)輪所轉(zhuǎn)的圈數(shù)轉(zhuǎn)換成脈沖信號(hào)送入數(shù)據(jù)處
30、理電路。H92B4是光偶電路的基本元件,它由發(fā)光源和受光器兩部分組成,發(fā)光源為發(fā)光二極管,受光器為光敏三極管。當(dāng)發(fā)光源與受光器之間存在光線阻擋時(shí),輸出端由高電平變?yōu)榈碗娖?,恢?fù)光通路又變?yōu)楦唠娖?,就這樣形成一個(gè)個(gè)的高低電平脈沖。選擇P3.4.口作為信號(hào)的輸入端,內(nèi)部采用外部中斷0,光偶電路輸出一個(gè)脈沖信號(hào)直接加到外部中斷0上,引起單片機(jī)的中斷,對(duì)脈沖計(jì)數(shù),通過(guò)計(jì)算將脈沖增加體現(xiàn)在金額和里程上。具體電路如圖4.3所示。</p>
31、<p> 圖4.3 H92B4光偶電路</p><p> 4.3 顯示單元電路設(shè)計(jì)</p><p> 由于設(shè)計(jì)要求有里程、金額、等待時(shí)間、速度顯示輸出,所以采用8位LED數(shù)碼管的分屏顯示。</p><p> 顯示電路由8數(shù)據(jù)鎖存器74HC573、譯碼器74LS138、8位LED數(shù)碼管組成。電路如圖6所示,74HC573用于連接51單片機(jī)和LE
32、D數(shù)碼管,51單片機(jī)的P0.0~P0.7分別順序?qū)?yīng)數(shù)碼管的A~G和dp,當(dāng)位P0.0為1時(shí),對(duì)應(yīng)A段點(diǎn)亮,以次類(lèi)推。而51單片機(jī)的P2.0~P2.2接74LS138的ABC輸入口,其8個(gè)輸出口分別接到8個(gè)數(shù)碼管,這樣就可以進(jìn)行3-8譯碼控制8個(gè)數(shù)碼管的顯示。</p><p> 顯示模塊電路圖見(jiàn)圖4.4</p><p> 各個(gè)數(shù)碼管顯示內(nèi)容示意圖見(jiàn)圖4.5</p><
33、;p> 圖4.4顯示單元電路</p><p> 圖4.5 數(shù)碼管顯示內(nèi)容示意圖(上下復(fù)用)</p><p> 4.4 鍵盤(pán)顯示模塊設(shè)計(jì)</p><p> 鍵盤(pán)采用4*4矩陣按鍵,接在AT89S51的P3口,當(dāng)有鍵按下時(shí),相對(duì)應(yīng)的接口被置0。矩陣鍵盤(pán)又稱為行列式鍵盤(pán),它是用4條I/O線作為行線,4條I/O線作為列線組成的鍵盤(pán)。在行線和列線的每一個(gè)交叉點(diǎn)上
34、,設(shè)置一個(gè)按鍵。如圖4.6所示,行線接P3.0~P3.3,列線接P3.4~P3.7。</p><p> 圖4.6 矩陣鍵盤(pán)電路</p><p> 按鍵S1:?jiǎn)纬贪存I。按下該鍵,里程隨脈沖數(shù)成正比累加,在里程大于3公里后,金額數(shù)按單程價(jià)格為2元/公里進(jìn)行累加。</p><p> 按鍵S2:往返按鍵。按下該鍵,里程隨脈沖數(shù)成正比累加,在里程大于3公里后,金額數(shù)按單
35、程價(jià)格為1.5元/公里進(jìn)行累加。</p><p> 按鍵S3:暫停按鍵。到達(dá)目的地后,按“暫停” 鍵,計(jì)價(jià)器可暫停計(jì)價(jià)。</p><p> 按鍵S4:清除按鍵。按“清除” 鍵,計(jì)價(jià)器能將記錄數(shù)據(jù)(里程、等待時(shí)間與價(jià)格等)自動(dòng)清0。</p><p> 按鍵S5:查詢按鍵。按“查詢”鍵,能自動(dòng)顯示總等待時(shí)間。</p><p> 按鍵S6:
36、返回按鍵。按下該鍵,回到顯示里程數(shù)、金額狀態(tài)。</p><p> 第5章 系統(tǒng)的軟件設(shè)計(jì)</p><p> 本系統(tǒng)的軟件設(shè)計(jì)主要可分為主程序模塊、定時(shí)計(jì)數(shù)中斷程序、里程計(jì)數(shù)中斷服務(wù)程序、中途等待中斷服務(wù)程序、顯示子程序服務(wù)程序、鍵盤(pán)服務(wù)程序六大模塊。下面對(duì)各部分模塊作介紹。</p><p> 5.1 系統(tǒng)主程序設(shè)計(jì)</p><p>
37、 在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車(chē)起價(jià)和單價(jià)的初始化、中斷向量的設(shè)計(jì)以及開(kāi)中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、里程寄存器和價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。主程序流程圖如圖5.1 所示。當(dāng)按下S1時(shí),就啟動(dòng)計(jì)價(jià),將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程是否已超過(guò)起價(jià)公里數(shù)。若已超過(guò),則根據(jù)里程值
38、、每公里的單價(jià)數(shù)和起價(jià)數(shù)來(lái)計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,然后將時(shí)間和當(dāng)前累計(jì)價(jià)格送顯示電路顯示出來(lái)。當(dāng)?shù)竭_(dá)目的地的時(shí)候,由于霍爾開(kāi)關(guān)沒(méi)有送來(lái)脈沖信號(hào),就停止計(jì)價(jià),顯示當(dāng)前所應(yīng)該付的金額和對(duì)應(yīng)的單價(jià),到下次啟動(dòng)計(jì)價(jià)時(shí),系統(tǒng)自動(dòng)對(duì)顯示清零,并重新進(jìn)行初始化過(guò)程。</p><p> 圖5.1 程序流程圖</p><p> 5.2 定時(shí)中斷服務(wù)程序</p>&
39、lt;p> 在定時(shí)中斷服務(wù)程序中,每1/40s 產(chǎn)生一次中斷,當(dāng)產(chǎn)生40 次中斷的時(shí)候,也就到了一秒,送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。其程序流程如圖5.2 所示。</p><p> 圖5.2 定時(shí)中斷服務(wù)程序</p><p> 5.3 顯示服務(wù)程序</p><p> 數(shù)碼管在一般情況下顯示里程數(shù),價(jià)格兩項(xiàng)數(shù)據(jù),當(dāng)按下鍵5時(shí)則跳
40、轉(zhuǎn)顯示等待時(shí)間和車(chē)速兩項(xiàng)數(shù)據(jù)。當(dāng)按下鍵6時(shí)則返回顯示里程數(shù),價(jià)格兩項(xiàng)數(shù)據(jù)。程序流程圖如圖5.3:</p><p> 圖5.3 顯示服務(wù)程序</p><p> 5.4 鍵盤(pán)服務(wù)程序</p><p> 鍵盤(pán)采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。</p><
41、p> 參見(jiàn)圖9,六個(gè)按鍵分別對(duì)應(yīng)六個(gè)簡(jiǎn)單的子程序。</p><p> 如果按鍵S1被按下,則調(diào)用第一個(gè)子程序:begin_signal標(biāo)志置1,將s_or_d標(biāo)志置0;表示單程開(kāi)始。</p><p> 如果按鍵S2被按下,則調(diào)用第一個(gè)子程序:begin_signal標(biāo)志置1,將s_or_d標(biāo)志置1; 表示往返開(kāi)始。</p><p> 如果按鍵S3被按下
42、,則調(diào)用第一個(gè)子程序:begin_signal標(biāo)志置0; 表示暫停。</p><p> 如果按鍵S4被按下,則調(diào)用第一個(gè)子程序:pulse_counter標(biāo)志置0,將t置0; 表示將顯示數(shù)據(jù)清空。</p><p> 如果按鍵S5被按下,則調(diào)用第一個(gè)子程序:dispflag標(biāo)志置1; 表示進(jìn)入查詢界面。</p><p> 如果按鍵S6被按下,則調(diào)用第一個(gè)子程序:
43、dispflag標(biāo)志置0; 表示退出查詢界面。</p><p> 第6章 系統(tǒng)調(diào)試與測(cè)試結(jié)果分析</p><p> 根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。測(cè)試包括里程計(jì)價(jià)測(cè)試、掉電存儲(chǔ)測(cè)試測(cè)試。</p><p> 6.1 使用的儀器儀表和工具 </p><p> 數(shù)字萬(wàn)用表
44、DT9203</p><p> 單片機(jī)仿真器 STC_ISP</p><p> 雙蹤穩(wěn)壓穩(wěn)流電源 DH1718E-5</p><p> 數(shù)字示波器 TDS1002</p><p><b> 電烙鐵</b></p><p><b> 單片機(jī)
45、實(shí)驗(yàn)板</b></p><p> 6.2 調(diào)試的方法</p><p> 根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟硬件聯(lián)調(diào)。由于在系統(tǒng)設(shè)計(jì)中采用模塊設(shè)計(jì)法,所以方便對(duì)各電路模塊功能進(jìn)行逐級(jí)測(cè)試。</p><p> 確定方案后的焊接過(guò)程很順利,3天后就完成了大部分電路的焊接工作,進(jìn)行簡(jiǎn)單的程序測(cè)試后發(fā)現(xiàn)一個(gè)問(wèn)題:由于要用到
46、555芯片產(chǎn)生脈沖,預(yù)先設(shè)計(jì)的電路中沒(méi)有提供5V電源給555供電。我們想到外接一個(gè)5V的直流電源,發(fā)現(xiàn)這樣會(huì)使整個(gè)系統(tǒng)顯示累贅而難以操作。后來(lái)我們想到與單片機(jī)最小系統(tǒng)的Vcc和555芯片共用5V電源。于是將555的電源和地接到了最小系統(tǒng)的Vcc和地。這樣,只要單片機(jī)一上電,555便可以正常工作,操作起來(lái)非常方便和快捷。</p><p> 在軟件設(shè)計(jì)過(guò)程中遇到一個(gè)嚴(yán)重的問(wèn)題就是系統(tǒng)的時(shí)序設(shè)計(jì)。我們發(fā)現(xiàn)程序的鍵盤(pán)掃
47、描程序和中斷程序發(fā)生沖突。導(dǎo)致按鍵功能和顯示功能不能同時(shí)出現(xiàn)。后來(lái)經(jīng)過(guò)排查發(fā)現(xiàn),中斷子程序設(shè)計(jì)的不合理,導(dǎo)致發(fā)生了中斷嵌套。將中斷子程序的部分內(nèi)容調(diào)整到主程序中調(diào)用子程序則這解決了這一問(wèn)題。</p><p><b> 第7章 結(jié)論</b></p><p> 經(jīng)過(guò)這些天有關(guān)于出租車(chē)計(jì)價(jià)器的課程設(shè)計(jì),使我對(duì)單片機(jī)的應(yīng)用有了更深的了解。在課程設(shè)計(jì)的過(guò)程中,還是碰到了許
48、多的問(wèn)題。比如,對(duì)于數(shù)碼管動(dòng)態(tài)掃描顯示和鍵盤(pán)的延時(shí)防抖的綜合編程不能較好地解決;對(duì)于代碼的前后順序及調(diào)用掌握得還不夠好;對(duì)于一些相關(guān)的應(yīng)用軟件沒(méi)能熟練掌握。通過(guò)這幾天晚上的苦想和反復(fù)調(diào)試,以及參考網(wǎng)上的程序,最終還是把問(wèn)題解決了。</p><p> 通過(guò)這次課程設(shè)計(jì),我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問(wèn)題的能力得到了很大的提高,也充分體會(huì)到了自己設(shè)計(jì)東西的樂(lè)趣、學(xué)會(huì)查閱資料和對(duì)別人的東西融會(huì)變通的重要性,
49、也明白了很多知識(shí)光靠趴在書(shū)本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實(shí)踐,親自去經(jīng)歷才能對(duì)它們真正的掌握,凡事都要自己去動(dòng)下手,去實(shí)踐一下,遇到困難,永遠(yuǎn)不要沮喪氣餒。在動(dòng)手的過(guò)程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識(shí);這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過(guò)不斷的摸索和實(shí)踐來(lái)提高其他方面的知識(shí)。通過(guò)本次課程設(shè)計(jì),又使我學(xué)到了許多書(shū)本上無(wú)法學(xué)到的知識(shí),也使也深該體會(huì)到單片機(jī)技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對(duì)學(xué)
50、過(guò)的單片機(jī)知識(shí)有了很多的鞏固,同時(shí)也對(duì)單片機(jī)這一門(mén)課程產(chǎn)生了更大的興趣。</p><p> 在本次課程設(shè)計(jì)過(guò)程中,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資源,其中包括:AT89S51單片機(jī)及其引腳說(shuō)明、555引腳圖及其引腳功能等,為本次課程設(shè)計(jì)提供了一定的資料。也為以后的進(jìn)一步學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。</p><p><b> 參考文獻(xiàn)</b></p>
51、<p> 張友德 趙志英 涂時(shí)亮 編 單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn) 上海:復(fù)旦大學(xué)出版社2005.12 全書(shū)</p><p> [2] 徐光翔 單片機(jī)原理接口及應(yīng)用 南京大學(xué)出版社 [3] 張淑清等. 單片微型計(jì)算機(jī)接口技術(shù)及其應(yīng)用 北京:國(guó)防工業(yè)出版社, [4] 王曉君等. MCS-51及兼容單片機(jī)原理與選型 北京:電子工業(yè)出版社</p
52、><p> [5]張?chǎng)?、華臻、陳書(shū)謙.《單片機(jī)原理及應(yīng)用》[M].電子工業(yè)出版社,2005.P110~136.</p><p> [6]丁元杰、吳大偉.《單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書(shū)》[M].機(jī)械工業(yè)出版社, 2004.P124~125.</p><p><b> 附錄</b></p><p> 附錄1 總體設(shè)計(jì)電路圖
53、</p><p><b> 附錄2 元件清單 </b></p><p><b> 附錄3 全部源程序</b></p><p> 該出租車(chē)計(jì)價(jià)器的系統(tǒng)軟件設(shè)計(jì)源程序如下:</p><p> #include<reg52.h> </p><p> #def
54、ine uint unsigned int </p><p> #define uchar unsigned char</p><p> #define rate 15//脈沖數(shù)與里程數(shù)的比例 </p><p> sbit P20=P2^0; </p><p> sbit P21=P2^1; </p>&l
55、t;p> sbit P22=P2^2; //接 74 LS 138 控制 數(shù)碼管 </p><p> sbit pulse_in=P1^0;</p><p> bit pulse=1;</p><p> bit dispflag;</p><p> uchar num,temp;</p><p&
56、gt; bit begin_signal;// 開(kāi)始標(biāo)志 </p><p> bit s_or_d;//單程 還是往返 標(biāo)志 </p><p> uint times; // 定時(shí)次數(shù) </p><p> uint pulse_counter;</p><p> uint record;</p>&l
57、t;p> uint s_temple;</p><p> uint s,m; //里程數(shù) s 和 金額 m </p><p> uint t; //等待時(shí)間 </p><p> char baiwei,shiwei,gewei,xiaoshu; </p><p> char keynum;
58、 //鍵盤(pán) 的鍵值 </p><p> uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,</p><p> 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40}; //0~f and '-'的字型碼(共陰) //聲明 區(qū) </p&g
59、t;<p> void delay(uint x); </p><p> void init();</p><p> void divide(uint counter);</p><p> void select(bit a,bit b,bit c);</p><p> void debouncer(void);&
60、lt;/p><p> uchar keyscan(void);</p><p> void delay(uint x)//延時(shí) x ms .</p><p><b> {</b></p><p><b> uint i,j;</b></p><p> for(i
61、=0;i<x;i++)</p><p> for(j=0;j<=150;j++)</p><p><b> ;</b></p><p><b> }</b></p><p> void init() // 定時(shí)器初始化 </p><p>
62、<b> {</b></p><p> TMOD=0x01;</p><p> TH0=(65536-25000)/256;// timer=1/40s</p><p> TL0=(65536-25000)%256;</p><p><b> EA=1;</b></p>
63、<p><b> ET0=1;</b></p><p><b> TR0=1;</b></p><p><b> }</b></p><p> void divide(uint counter)</p><p><b> {</b>&
64、lt;/p><p> if(dispflag==0)</p><p><b> {</b></p><p><b> P0=0x00;</b></p><p> counter=counter*10/rate;</p><p> xiaoshu=counter%10;
65、</p><p> gewei=(counter/10)%10;</p><p> shiwei=(counter/100)%10;</p><p> baiwei=(counter/1000)%10;</p><p> if(counter<=30)m=80;</p><p><b> e
66、lse</b></p><p> if(s_or_d==0)m=80+2*(counter-30)+t/300;</p><p> else m=80+1.5*(counter-30)+t/300;</p><p> select(1,1,0);//顯示里程數(shù)目 </p><p> P0=table[xiao
67、shu];</p><p> delay(2); </p><p> select(0,1,0);</p><p> P0=table[gewei]|0x80;</p><p><b> delay(2);</b></p><p> select(1,0,0);</p>
68、<p> P0=table[shiwei];</p><p><b> delay(2);</b></p><p> select(0,0,0);</p><p> P0=table[baiwei];</p><p><b> delay(2);</b></p>&
69、lt;p> xiaoshu=m%10;</p><p> gewei=(m/10)%10;</p><p> shiwei=(m/100)%10;</p><p> baiwei=(m/1000)%10;</p><p> select(1,1,1); //顯示 金額數(shù)目 </p><p> P0
70、=table[xiaoshu];</p><p> delay(2); </p><p> select(0,1,1);</p><p> P0=table[gewei]|0x80;</p><p><b> delay(2);</b></p><p> select(1,0,1);&
71、lt;/p><p> P0=table[shiwei];</p><p><b> delay(2);</b></p><p> select(0,0,1);</p><p> P0=table[baiwei];</p><p><b> delay(2);</b>&l
72、t;/p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p><b> P0=0x00;</b></p><p> xiaoshu=t%10;<
73、;/p><p> gewei=(t/10)%10;</p><p> shiwei=(t/100)%10;</p><p> baiwei=(t/1000)%10;</p><p> select(1,1,0);//顯示 等待時(shí)間 </p><p> P0=table[xiaoshu];</p&
74、gt;<p> delay(2); </p><p> select(0,1,0);</p><p> P0=table[gewei];</p><p><b> delay(2);</b></p><p> select(1,0,0);</p><p> P0=tab
75、le[shiwei];</p><p><b> delay(2);</b></p><p> select(0,0,0);</p><p> P0=table[baiwei];</p><p><b> delay(2);</b></p><p><b>
76、 }</b></p><p><b> }</b></p><p> void timer0() interrupt 1</p><p><b> {</b></p><p> TH0=(65536-25000)/256;</p><p> TL0=(
77、65536-25000)%256;</p><p> if(begin_signal==1)</p><p><b> {</b></p><p> if(pulse_in!=pulse)</p><p><b> {</b></p><p> delay(10);
78、</p><p> if(pulse_in!=pulse)</p><p> {pulse=~pulse;</p><p> pulse_counter++;</p><p><b> }</b></p><p><b> }</b></p><
79、;p> if (times==39)//1 s timer completed</p><p><b> {</b></p><p><b> times=0;</b></p><p> if((pulse_counter-record)<5)//如果 每秒 脈沖小于 5 , 則等待
80、時(shí)間 增加 </p><p><b> t++;</b></p><p> record=pulse_counter;</p><p><b> }</b></p><p><b> times++;</b></p><p>&l
81、t;b> }</b></p><p> //s_temple=pulse_counter/2;</p><p> //divide(s_temple);</p><p><b> }</b></p><p> void select(bit a,bit b,bit c)</p>
82、<p><b> {</b></p><p><b> P20=a;</b></p><p><b> P21=b;</b></p><p><b> P22=c;</b></p><p><b> }</b>
83、</p><p> void debouncer(void)// 防抖動(dòng) 程序 </p><p><b> {</b></p><p><b> uint i;</b></p><p> for(i=0;i<4800;i++);</p><p>&l
84、t;b> }</b></p><p> uchar keyscan()</p><p><b> {</b></p><p><b> P3=0x7f;</b></p><p><b> temp=P3;</b></p><p&g
85、t; temp=temp&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p> delay(10);</p><p><b> temp=P3;</b></p><p> temp=tem
86、p&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p><b> temp=P3;</b></p><p> switch(temp)</p><p><b> {</b&g
87、t;</p><p> case 0x7e:num=1;</p><p><b> break;</b></p><p> case 0x7d:num=2;</p><p><b> break;</b></p><p> case 0x7b:num=3;</
88、p><p><b> break;</b></p><p> case 0x77:num=4;</p><p><b> break;</b></p><p><b> }</b></p><p> while(temp!=0x0f)</p&
89、gt;<p><b> {</b></p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p><b> }</b></p><p><b> }</b></p
90、><p><b> }</b></p><p><b> P3=0xbf;</b></p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)&
91、lt;/p><p><b> {</b></p><p> delay(10);</p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)</p>&
92、lt;p><b> {</b></p><p><b> temp=P3;</b></p><p> switch(temp)</p><p><b> {</b></p><p> case 0xbe:num=5;</p><p>&l
93、t;b> break;</b></p><p> case 0xbd:num=6;</p><p><b> break;</b></p><p> case 0xbb:num=7;</p><p><b> break;</b></p><p>
94、 case 0xb7:num=8;</p><p><b> break;</b></p><p><b> }</b></p><p> while(temp!=0x0f)</p><p><b> {</b></p><p><b&g
95、t; temp=P3;</b></p><p> temp=temp&0x0f;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b&
96、gt; P3=0xdf;</b></p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p>
97、 delay(10);</p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p><b> te
98、mp=P3;</b></p><p> switch(temp)</p><p><b> {</b></p><p> case 0xde:num=9;</p><p><b> break;</b></p><p> case 0xdd:num=10
99、;</p><p><b> break;</b></p><p> case 0xdb:num=11;</p><p><b> break;</b></p><p> case 0xd7:num=12;</p><p><b> break;</
100、b></p><p><b> }</b></p><p> while(temp!=0x0f)</p><p><b> {</b></p><p><b> temp=P3;</b></p><p> temp=temp&0x
101、0f;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> P3=0xef;</b></p><p><b> temp=P
102、3;</b></p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p> delay(10);</p><p><b> temp=P3;</b>
103、</p><p> temp=temp&0x0f;</p><p> while(temp!=0x0f)</p><p><b> {</b></p><p><b> temp=P3;</b></p><p> switch(temp)</p>
104、<p><b> {</b></p><p> case 0xee:num=13;</p><p><b> break;</b></p><p> case 0xed:num=14;</p><p><b> break;</b></p>
105、<p> case 0xeb:num=15;</p><p><b> break;</b></p><p> case 0xe7:num=16;</p><p><b> break;</b></p><p><b> }</b></p>
106、<p> while(temp!=0x0f)</p><p><b> {</b></p><p><b> temp=P3;</b></p><p> temp=temp&0x0f;</p><p><b> }</b></p>&l
107、t;p><b> }</b></p><p><b> }</b></p><p> return num;</p><p><b> }</b></p><p> void singleway(void)// 單程 開(kāi)始 函數(shù) </p>&l
108、t;p><b> {</b></p><p> begin_signal=1;</p><p><b> s_or_d=0;</b></p><p><b> }</b></p><p> void doubleway(void)//往返 開(kāi)始 函數(shù) &l
109、t;/p><p><b> {</b></p><p> begin_signal=1;</p><p><b> s_or_d=1;</b></p><p><b> }</b></p><p> void pause(void)//暫停 函數(shù)
110、</p><p><b> {</b></p><p> begin_signal=0;</p><p><b> }</b></p><p> void clear(void)// 清除 函數(shù) </p><p><b> {</b>&l
111、t;/p><p> pulse_counter=0;</p><p><b> t=0;</b></p><p><b> }</b></p><p> void check(void)// 查詢 函數(shù) </p><p><b> {</b>
112、</p><p> dispflag=1;</p><p><b> }</b></p><p> void check2(void)// 查詢 函數(shù) </p><p><b> {</b></p><p> dispflag=0;</p>&l
113、t;p><b> }</b></p><p> void sentence(void)// 判定鍵盤(pán)值 </p><p><b> {</b></p><p> if(keynum!=0)</p><p><b> {</b></p><
114、;p> switch(keynum)</p><p><b> {</b></p><p> case 1:singleway();break;</p><p> case 2:doubleway();break;</p><p> case 3:pause();break;</p>
115、;<p> case 4:clear();break;</p><p> case 5:check();break;</p><p> case 6:check2();break;</p><p><b> }</b></p><p><b> }</b><
116、/p><p><b> }</b></p><p><b> main()</b></p><p><b> {</b></p><p><b> init();</b></p><p><b> while (1)
117、</b></p><p><b> {</b></p><p> divide(pulse_counter);</p><p> keynum=keyscan();</p><p> sentence();</p><p><b> }</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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)
- 課程設(shè)計(jì)---出租車(chē)計(jì)價(jià)器設(shè)計(jì)
- 課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器設(shè)計(jì)
- 出租車(chē)計(jì)價(jià)器設(shè)計(jì)課程設(shè)計(jì)
- 課程設(shè)計(jì)---出租車(chē)計(jì)價(jià)器設(shè)計(jì)
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)報(bào)告
- 出租車(chē)計(jì)價(jià)器課程設(shè)計(jì)論文
- 硬件課程設(shè)計(jì)----出租車(chē)計(jì)價(jià)器
- eda課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器
- eda課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器
- 接口課程設(shè)計(jì)---出租車(chē)計(jì)價(jià)器
- 課程設(shè)計(jì)---出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
- 課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器的設(shè)計(jì)
- 硬件課程設(shè)計(jì)--出租車(chē)計(jì)價(jià)器系統(tǒng)
- eda課程設(shè)計(jì)報(bào)告---出租車(chē)計(jì)價(jià)器
- eda課程設(shè)計(jì)報(bào)告--出租車(chē)計(jì)價(jià)器
- arm出租車(chē)計(jì)價(jià)器系統(tǒng)課程設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論