出租車課程設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論