基于單片機(jī)控制出租車(chē)計(jì)價(jià)器_第1頁(yè)
基于單片機(jī)控制出租車(chē)計(jì)價(jià)器_第2頁(yè)
基于單片機(jī)控制出租車(chē)計(jì)價(jià)器_第3頁(yè)
基于單片機(jī)控制出租車(chē)計(jì)價(jià)器_第4頁(yè)
基于單片機(jī)控制出租車(chē)計(jì)價(jià)器_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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、單片機(jī)原理與應(yīng)用技術(shù)課程設(shè)計(jì)報(bào)告題目:基于單片機(jī)控制的出租車(chē)計(jì)價(jià)器專(zhuān)業(yè)班級(jí):電氣項(xiàng)目及其自動(dòng)化082姓 名:牛振鋒時(shí) 間:2018. 02.21-2018. 03. 11指導(dǎo)教師:邵峰徐君鵬孔曉紅陳艷峰完成時(shí)間2018年03月23日基于單片機(jī)控制的出租車(chē)計(jì)價(jià)器1. 設(shè)計(jì)目的與要求(1)顯示:可以顯示單價(jià)、里程、總金額(2)停車(chē)計(jì)費(fèi)功能:中途因故停車(chē)超過(guò)5分鐘后每分鐘按當(dāng)時(shí)單價(jià)的50%收費(fèi)(3)自動(dòng)分時(shí)計(jì)費(fèi)功能:白天和夜間應(yīng)能自動(dòng)更換單價(jià)(4)性能里程誤差小于2%(5)擴(kuò)展功能(6)可增加時(shí)鐘功能(7)可增加數(shù)據(jù)掉電保護(hù)功能2. 計(jì)劃完成時(shí)間三周(1)第一周完成軟件和硬件的整體設(shè)計(jì),同時(shí)按要求上

2、交設(shè)計(jì)報(bào)告一份。(2)第二周完成軟件的具體設(shè)計(jì)和硬件的制作。(3)第三周完成軟件和硬件的聯(lián)合調(diào)試。3. 設(shè)計(jì)內(nèi)容(1)畫(huà)出電路原理圖,正確使用邏輯關(guān)系;(2)確定元器件及元件參數(shù);(3)進(jìn)行電路模擬仿真;(4)SCH文件生成與打印輸出;4. 編寫(xiě)設(shè)計(jì)報(bào)告寫(xiě)出設(shè)計(jì)的全過(guò)程,附上有關(guān)資料和圖紙,有心得體會(huì)。5. 答辯(1)在規(guī)定時(shí)間內(nèi),完成敘述并回答問(wèn)題。(2)論文結(jié)構(gòu)清晰,層次分明,理論嚴(yán)謹(jǐn)(3)任務(wù)書(shū)要求單頁(yè)打印。15倍行間距,標(biāo)準(zhǔn)字間距。1引S31.1出租車(chē)計(jì)價(jià)器述31.2系統(tǒng)主要功能31.3方案論證與比較 32出租車(chē)計(jì)價(jià)器硬件設(shè)計(jì)42.1 系 統(tǒng) 的 硬 件 構(gòu) 成 及 功Ba42.2 A

3、T89S51 單 片 機(jī) 及 其 引 腳 說(shuō)52.4數(shù)據(jù)顯示單元設(shè)計(jì)53系統(tǒng)軟件設(shè)計(jì)73.1系統(tǒng)主程序設(shè)計(jì)73.2定時(shí)中斷程序設(shè)2.3里 程 計(jì) 算計(jì) 價(jià) 單 元 的 設(shè)計(jì)73.3 里 程 計(jì) 數(shù) 中 斷 服 務(wù) 程 序 設(shè)計(jì)73.4 中 途 等 待 中 斷 服 務(wù) 程 序 設(shè)計(jì)73.5 鍵 盤(pán) 服 務(wù) 程 序 設(shè)計(jì)73.6 顯 示 子 程 序 服 務(wù) 程 序 設(shè)計(jì)74計(jì)價(jià)器使用說(shuō)明85系統(tǒng)調(diào)試與測(cè)試結(jié)果分析85.1 使用的儀器儀表 85.2 系統(tǒng)調(diào)試 8心得 9參考文獻(xiàn) 9附錄 10基于單片機(jī)控制的出租車(chē)計(jì)價(jià)器摘要:本設(shè)計(jì)以89S51單片機(jī)為中心、附加A44E霍爾傳感器測(cè)距,實(shí)現(xiàn)對(duì)出租車(chē)計(jì)價(jià)

4、統(tǒng)計(jì),采用AT24C02實(shí)現(xiàn)在系統(tǒng)掉電的時(shí)候保存單價(jià)和系統(tǒng)時(shí)間等信息,輸出釆用8段數(shù)碼顯示管。木電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí) 現(xiàn)基本的計(jì)價(jià),而口還能根據(jù)白天、黑夜、中途等待來(lái)調(diào)節(jié)單價(jià)。關(guān)鍵詞:?jiǎn)纹瑱C(jī)、計(jì)價(jià)器、程序本次課程設(shè)計(jì)利用單片機(jī)技術(shù)來(lái)實(shí)現(xiàn)一臺(tái)多功能出租車(chē)計(jì)價(jià)器,具有性能可靠、電路簡(jiǎn) 單、成本低等特點(diǎn)。1.1出租車(chē)計(jì)價(jià)器概述計(jì)價(jià)器顯示的營(yíng)運(yùn)金額是營(yíng)運(yùn)里程與價(jià)格的函數(shù) 等候時(shí)間一般折算成一定比例的里程來(lái)計(jì) 算)。出租車(chē)計(jì)價(jià)器通過(guò)傳感器與行駛車(chē)輛連接。出租汽車(chē)的實(shí)際里程通過(guò)傳感器的脈沖信號(hào) 在計(jì)價(jià)器里折算成一定的計(jì)價(jià)營(yíng)運(yùn)里程。目前市場(chǎng)上出租車(chē)計(jì)價(jià)器功能主要有具有數(shù)據(jù)的復(fù)位 功能、白天/晚上轉(zhuǎn)換功能

5、、數(shù)據(jù)輸出功能、計(jì)時(shí)計(jì)價(jià)功能等等,但能夠進(jìn)行語(yǔ)音播報(bào)數(shù)據(jù)信息 的出租車(chē)計(jì)價(jià)器還是比較少見(jiàn)的,針對(duì)這一點(diǎn)我們來(lái)設(shè)計(jì)一款多功能出租車(chē)計(jì)價(jià)器,在原有功 能的基礎(chǔ)上增加單價(jià)輸出、單價(jià)調(diào)整、路程輸出、顯示當(dāng)前的系統(tǒng)時(shí)間、語(yǔ)音播報(bào)數(shù)據(jù)信息等 功能。1.2系統(tǒng)主要功能本課程設(shè)計(jì)所設(shè)計(jì)的出租車(chē)計(jì)價(jià)器的主要功能有:數(shù)據(jù)的復(fù)位、白天/晚上轉(zhuǎn)換、數(shù)據(jù)輸 出、計(jì)時(shí)計(jì)價(jià)、單價(jià)輸出及調(diào)整、路程輸出、語(yǔ)音播報(bào)數(shù)據(jù)信息、實(shí)現(xiàn)在系統(tǒng)掉電的時(shí)候保存 單價(jià)和系統(tǒng)時(shí)間等信息等功能。輸出采用8段數(shù)碼顯示管。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)基本 的計(jì)價(jià),而且還能根據(jù)白天、黑夜、中途等待來(lái)調(diào)節(jié)單價(jià),同時(shí)在不計(jì)價(jià)的時(shí)候還能作為時(shí)鐘 為司機(jī)同志提

6、供方便。1.3方案論證與比較方案一:采用數(shù)字電路控制。采用傳感器件,輸出脈沖信號(hào),經(jīng)過(guò)放大整形作為移位寄存器的脈沖,實(shí)現(xiàn)計(jì)價(jià),但是考 慮到這種電路過(guò)于簡(jiǎn)單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價(jià),也不能根據(jù)天氣調(diào)節(jié)計(jì)費(fèi)標(biāo)準(zhǔn), 電路不夠?qū)嵱?。方案二:采用單片機(jī)控制。利用單片機(jī)豐富的DO端II,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí) 鐘顯示功能。通過(guò)比較以上兩種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功 能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用后一 種方案。2計(jì)價(jià)器硬件設(shè)計(jì)本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī)AT89S51.數(shù)據(jù)顯示部件、A44E霍

7、爾傳感器電路、里程 計(jì)算及計(jì)價(jià)單元的設(shè)計(jì)。在硬件設(shè)計(jì)過(guò)程中,充分利用各部件的功能,實(shí)現(xiàn)多功能的出租車(chē)計(jì) 價(jià)器設(shè)計(jì)。2.1系統(tǒng)的硬件構(gòu)成及功能計(jì)價(jià)器的單片機(jī)控制方案圖如圖1所示。它由以下幾個(gè)部件組成:?jiǎn)纹瑱C(jī)AT89S51.總金額 及單價(jià)顯示部件、鍵盤(pán)控制部件、里程計(jì)算單元、串中顯示驅(qū)動(dòng)電路等。利用單片機(jī)豐富的IO端I I,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí) 鐘顯示功能。不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì) 系統(tǒng)進(jìn)行升級(jí)。具體電路參見(jiàn)多功能出租車(chē)計(jì)價(jià)器總體電路圖”。圖1單片機(jī)控制方案圖2.2 ATS9S51單片機(jī)及其引腳說(shuō)明ATS9S51是美國(guó)

8、ATMEL公司生產(chǎn)的低功耗,高性能CMOS 8位單 片機(jī),片內(nèi)含4KB的可系統(tǒng)編程的Flash只讀程序存儲(chǔ)器,器件采 用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指 令系統(tǒng)及引腳。它集Flash程序存儲(chǔ)器既可在線編程ISP也可用 傳統(tǒng)方法進(jìn)行編程及通用8位微處理器于單片芯片中,具有高性 價(jià)比。AT89S51是一個(gè)有40個(gè)引腳的芯片,引腳配置如圖2所示。ATS9S51O片的40個(gè)引腳功能為:VCC電源電壓。GND接地。RST復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),將使 單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,P1.0CP1.1CP1.2EP1.3CP1.4E (

9、MOSI)P1.5C (MISO)P1.6C (SCK)P1.7CRST匚 (RXD) P3.0 匚 (TXD) P3/I 匚 (INTO) P3.2 匚 (IRTT) P33 匚 |T0) P3.4 匚 |T1)P3.5C (WR) P3.6 匚 (RD) P37 匚XTAL2EXTAL1CGND匚1402393384375關(guān)63573483393210311130122913261427152616251724182319222021 VCC PO.O (ADO) P0.1 (AD1) P0.2 (AD2) P0.3 (AD3) P0.4 (AD4) P0.5 (AD5) P0.6 (AD

10、6| P0.7 (AD7) KVVPP ALE/FFR53 P5ER P2.7(A15) P26 (A14) P2.5(A13) P2.4 (A12) P2.3(A11) P2.2(A1O) P2.1 (A9) P2.0(A8|圖2 AT89S51引腳配置2.3里程計(jì)算、計(jì)價(jià)單元的設(shè)計(jì)里程計(jì)算是通過(guò)安裝在車(chē)輪上的霍爾傳感器A44E檢測(cè)到的信號(hào),送到單片機(jī),經(jīng)處理計(jì)算,送給顯示單元的。其原理如圖3所示。圖3傳感器測(cè)距示意圖因?yàn)锳44E屬于開(kāi)關(guān)型的霍爾器件,其工作電壓范闈比較寬4.518V),其輸出的信號(hào)符合 TTL電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的IO端門(mén)上,而且其最高檢測(cè)頻率可達(dá)到1MHZ。A44

11、E集成霍耳開(kāi)關(guān)由穩(wěn)壓器A、霍耳電勢(shì)發(fā)生器(即硅霍耳片B、差分放大器C、施密特觸發(fā) 器D和0C門(mén)輸出E五個(gè)基本部分組成。在輸入端輸入電壓CCV,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍耳電勢(shì)發(fā)生器的兩端,根據(jù)霍耳效應(yīng)原 理,當(dāng)霍耳片處在磁場(chǎng)中時(shí),在垂直于磁場(chǎng)的方向通以電流,則與這二者相垂直的方向上將會(huì) 產(chǎn)生霍耳電勢(shì)差HV輸出,該HV信號(hào)經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸 送到0C門(mén)輸出。當(dāng)施加的磁場(chǎng)達(dá)到工作點(diǎn)(即OPB時(shí),觸發(fā)器輸出高電壓(相對(duì)于地電 位,使三極管導(dǎo)通,此時(shí)OC門(mén)輸出端輸出低電壓,通常稱這種狀態(tài)為開(kāi)。當(dāng)施加的磁場(chǎng)達(dá)到 釋放點(diǎn)(即rPB時(shí),觸發(fā)器輸出低電壓,三極管截止,使0C門(mén)輸出高電

12、壓,這種狀態(tài)為關(guān)。這 樣兩次電壓變換,使霍耳開(kāi)關(guān)完成了一次開(kāi)關(guān)動(dòng)作。我們選擇了P3.2II作為信號(hào)的輸入端,內(nèi)部采用外部中斷0這樣可以減少程序設(shè)計(jì)的麻煩),車(chē) 輪每轉(zhuǎn)一圈我們?cè)O(shè)車(chē)輪的周長(zhǎng)是1 M),霍爾開(kāi)關(guān)就檢測(cè)并輸出信號(hào),引起單片機(jī)的中斷,對(duì) 脈計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到1000次時(shí),也就是1公里,單片機(jī)就控制將金額自動(dòng)的加增加,其計(jì)算公 式:當(dāng)前單價(jià)X公里數(shù)二金額。2.4數(shù)據(jù)顯示單元設(shè)計(jì)因?yàn)樵O(shè)計(jì)要求有單價(jià)2位)、路程2位)、總金額3位)顯示輸出,加上我們另外擴(kuò)展 了時(shí)鐘顯示包含時(shí)分秒的顯示),采用LCD液晶段碼顯示,在距離屏幕1 M之外就無(wú)法看清數(shù) 據(jù),不能滿足要求,而且在白天其對(duì)比度也不能夠滿足要

13、求,因此我們采用6位LED數(shù)碼管的分 屏顯示, 數(shù)據(jù)的分屏的顯示是通過(guò)按鍵S1來(lái)實(shí)現(xiàn)切換的,如圖4所示。在出租車(chē)不走的時(shí)候,按下S1,可以實(shí)現(xiàn)數(shù)據(jù)的分屏顯示;車(chē)在行走的時(shí)候只有總金額和 單價(jià)顯示屏在顯示,當(dāng)?shù)竭_(dá)目的地的時(shí)候,客戶要求查看總的里程的時(shí)候,就可以按下S1切換 到里程和單價(jià)顯示屏,供客戶查詢。顯示電路的電路原理圖如圖5所示。1 20 04 6 r介紹。3.1系統(tǒng)主程序設(shè)計(jì)在主程序模塊中,需要完成對(duì)各接II芯片的初始化、出租車(chē)起價(jià)和單價(jià)的初始化、中斷向 量的設(shè)計(jì)以及開(kāi)中斷、循環(huán)等待等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存 器、里程寄存器和價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。

14、然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi) 容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。主程序流程圖如圖9所示。當(dāng)按卞S1 時(shí),就啟動(dòng)計(jì)價(jià),將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程是否已超過(guò)起價(jià)公里數(shù)。 若已超過(guò),則根據(jù)里程值、每公里的單價(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í)候,因?yàn)?霍爾開(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ò)程。3.2定時(shí)中斷服務(wù)程序在定時(shí)中斷服務(wù)程序中,每100ms產(chǎn)生一次中斷,當(dāng)產(chǎn)生10次中斷的時(shí)候

15、,也就到了一秒, 送數(shù)據(jù)到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序?qū)崟r(shí)顯示。其程序流程如圖10所示。3.3里程計(jì)數(shù)中斷服務(wù)程序每當(dāng)霍爾傳感器輸出一個(gè)低電平信號(hào)就使單片機(jī)中斷一次,當(dāng)里程計(jì)數(shù)器對(duì)里程脈沖計(jì)滿 1000次時(shí),使微機(jī)進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總 額的累加操作,并將結(jié)果存入里程和總額寄存器中。3.4中途等待中斷服務(wù)程序當(dāng)在計(jì)數(shù)狀態(tài)下霍爾開(kāi)關(guān)沒(méi)有輸出信號(hào),片內(nèi)的T1定時(shí)器便被啟動(dòng),每當(dāng)計(jì)時(shí)到達(dá)10分鐘, 就對(duì)當(dāng)前金額加上中途等待的單價(jià),以后每十分鐘都自動(dòng)加上中途等待的單價(jià)。當(dāng)中途等待結(jié) 束的時(shí)候,也就自動(dòng)切換到正常的計(jì)價(jià)。3.5顯示子程序服務(wù)程序因?yàn)槭欠?/p>

16、屏顯示數(shù)據(jù),所以就要用到4個(gè)顯示子程序,分別是:時(shí)分秒顯示子程序 HMS_DIS)、金額單價(jià)顯示子程序、單價(jià)調(diào)節(jié)子程序 (PA_DISo3. 6鍵盤(pán)服務(wù)程序鍵盤(pán)采用查詢的方式,放在主程序中,當(dāng)沒(méi)有按鍵按卞的時(shí)候,單片機(jī)循壞主程序,一旦 有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。4. 計(jì)價(jià)表使用說(shuō)明1)S1按鍵的功能在出租車(chē)不走的時(shí)候,按卞S1,可以實(shí)現(xiàn)數(shù)據(jù)的分屏顯示:車(chē)在行走的時(shí)候只有總金額和 單價(jià)顯示屏在顯示,當(dāng)?shù)竭_(dá)目的地的時(shí)候,客戶要求查看總的里程的時(shí)候,就可以按卞S1切換 到里程和單價(jià)顯示屏,供客戶查詢。2) S2按鍵的功能在按下S1按鍵之后,若接著按下S2鍵則進(jìn)行單價(jià)調(diào)整默認(rèn)

17、為調(diào)整白天單價(jià)),當(dāng)接著按下 S1時(shí),則進(jìn)行晚上單價(jià)調(diào),再次按卞S1可進(jìn)行中途等待單價(jià)調(diào)整。當(dāng)單價(jià)調(diào)整結(jié)束后,可以通 過(guò)過(guò)按卞S2按鍵進(jìn)行時(shí)間調(diào)整,默認(rèn)為調(diào)整時(shí),接著按卞S1可進(jìn)行調(diào)整分,分調(diào)整后再接下 S1可進(jìn)行秒調(diào)整。當(dāng)時(shí)調(diào)整完成后,若接著按下S2則又可進(jìn)行單價(jià)調(diào)整。3) S3按鍵的功能在顯示金額及單價(jià)時(shí),若按下S3鍵則顯示路程和單價(jià),再次按下S3,可返回顯示金額及單 價(jià)。4) S4按鍵的功能在按下S1按鍵之后,若接著按下S4按鍵,則進(jìn)行設(shè)定默認(rèn)晚上單價(jià),并啟動(dòng)計(jì)價(jià)器,若沒(méi) 有按下S4則可設(shè)定默認(rèn)單價(jià)白天),并啟動(dòng)計(jì)價(jià)器。當(dāng)設(shè)定默認(rèn)晚上單價(jià)結(jié)束后,再次接下 S4按鍵,則可設(shè)定默認(rèn)中途等待單

18、價(jià),并啟動(dòng)計(jì)價(jià)器。當(dāng)設(shè)定默認(rèn)中途等待單價(jià)后,若還按一 次S4,則返回系統(tǒng)時(shí)間的顯示。5系統(tǒng)調(diào)試與測(cè)試結(jié)果分析根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟碩件聯(lián)調(diào)。 測(cè)試包括里程計(jì)價(jià)測(cè)試、掉電存儲(chǔ)測(cè)試測(cè)試。5.1使用的儀器儀表數(shù)字萬(wàn)用表DT9203燒寫(xiě)器 GF2100雙蹤穩(wěn)壓穩(wěn)流電源 DH171SE-5數(shù)字示波器 TDS10025.2系統(tǒng)調(diào)試根據(jù)系統(tǒng)設(shè)計(jì)方案,本系統(tǒng)的調(diào)試共分為三大部分:硬件調(diào)試,軟件調(diào)試和軟碩件聯(lián)調(diào)。 因?yàn)樵谙到y(tǒng)設(shè)計(jì)中采用模塊設(shè)計(jì)法,所以方便對(duì)各電路模塊功能進(jìn)行逐級(jí)測(cè)試。6心得體會(huì)本款出租車(chē)計(jì)價(jià)器比目前市場(chǎng)現(xiàn)在的增加了不少功能,其中包括單價(jià)輸出、單價(jià)調(diào)整

19、、路 程輸出、顯示當(dāng)前的系統(tǒng)時(shí)間、語(yǔ)音播報(bào)數(shù)據(jù)信息等功能。另外,多功能出租車(chē)計(jì)價(jià)器還具有 性能可靠、電路簡(jiǎn)單、成本低、實(shí)用性強(qiáng)等特點(diǎn),加上經(jīng)過(guò)優(yōu)化的程序,使其有很高的智能化 水平。通過(guò)本次課程設(shè)計(jì),又使我學(xué)到了許多書(shū)本上無(wú)法學(xué)到的知識(shí),也使也深該體會(huì)到單片機(jī) 技術(shù)應(yīng)用領(lǐng)域的廣泛,不僅使我對(duì)學(xué)過(guò)的單片機(jī)知識(shí)有了很多的鞏固,同時(shí)也對(duì)單片機(jī)這一門(mén) 課程產(chǎn)生了更大的興趣。在本次課程設(shè)計(jì)過(guò)程中,我學(xué)會(huì)了在網(wǎng)絡(luò)上查找有關(guān)本設(shè)計(jì)的各硬件的資源,其中包括: AT89S51單片機(jī)及其引腳說(shuō)明,為本次課程設(shè)計(jì)提供了一定的資料。因?yàn)槠綍r(shí)很少進(jìn)行課程設(shè) 計(jì),所以對(duì)于課程設(shè)計(jì)報(bào)告的格式也是近期才接觸到,經(jīng)過(guò)這兩次的設(shè)計(jì)

20、,為我們以后畢業(yè)設(shè) 計(jì)的制作也奠定了一定的基礎(chǔ)。參考文獻(xiàn)1 張?chǎng)?、華臻、陳書(shū)謙.單片機(jī)原理及應(yīng)用M.電子工業(yè)出版社,2005. P110736.2 丁元杰、吳大偉.單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書(shū)M.機(jī)械工業(yè)出版社,2004. P124725.3 葉挺秀.應(yīng)用電子學(xué)M.杭州:浙江大學(xué)出版社,19944 朱承高.電工及電子技術(shù)手冊(cè)M.北京:高等教育出版社,19905 閻石.數(shù)字電子技術(shù)基礎(chǔ)第三版)M.北京:高等教育出版社,19S96 廖常初.現(xiàn)場(chǎng)總線概述J.電工技術(shù),1999.67 楊世品、陳林.基于proteus的單片機(jī)出租車(chē)計(jì)價(jià)器的設(shè)計(jì)J.中文核心期刊,23卷附錄1、總體設(shè)計(jì)電路圖1$vcc.UP

21、3 2 1A44FR1 IKCl 22uF 肛SETI:3PFRTLDRESET $ datQl 賑11 G 12TTIPIOvxPUR).CP12RJ.lP13R).2P1.+0).3P15WSCl A、(ISR).4OHP175CKrv.J血0).7MKXDEi2P31KDALE PROGPJW屈恥INT】K.7P3O巴6P35HK.5P3WRP?.4pjj.b mi: XIALl rxn巴3K.2 世.1 rn rr-.lU1 A1S9 爾 132KKKGsD2、主程序流程圖IGM)C4O.luFGNDEA:VP 如VCCilk.IkVCCSCLSDAVCC是否啟動(dòng)計(jì)價(jià)器設(shè)定中途等待單價(jià)

22、S4按下?開(kāi)始是否3、|定時(shí)血斷服務(wù)程序甲稈中斷?至I公是返回時(shí)間顯示中斷10次?是傳感有信號(hào)調(diào)用耘子程序舊】4工加11保護(hù)現(xiàn)場(chǎng)重置計(jì)|數(shù)初值-否總是.金額加S3按下數(shù)據(jù)送顯示緩沖單元顯不路程和否4部:,3按下?車(chē)出租M站;恢復(fù)現(xiàn)場(chǎng)并中斷返回是否里程計(jì)數(shù)i+DAY PRIC EEQU 6FHS2 BITP1.1MOVTMOD.#11HNIGHT_PRICEEQU 6EHNnDWAY.PRICEEQU 6DHSTART_PRICEEQU 6CH顯示金額及單價(jià)LINE_ EQU 5BHLEDCOUNT1 EQU 5AHS3 BITP1.2S4 BIT Pl.3Sil EQU4BHMOVTHO,#3

23、CHMOVTLO,旳EOHMOVTH1,#3CHCOUNTH EQU (5AHLEDCOUNT3 EQU 5SHS33 EQU49HMOV22H.旳AHM100 EQU 69H 外部中斷LEDDANJIA2L EQU 57HS44 EQU48HSETBEA伙數(shù)於程.單價(jià)顯示緩沖區(qū)M1EQU47HSETBTRODISTANCE EQU 6SH。行LEDDANJIA2H EQU 56HHl EQU46HSETBEXO車(chē)距離LINE_EQU55HM2EQU45HSETBITOMS100 EQU 67HLINE_ EQU 54HH2EQU44HSETBETOSEC EQU 66HLEDDISTANCE

24、L EQU 53HPRICE EQU 43HSETBET1MIN EQU 65HLEDDISTANCEH EQU 52HORG 0000HMOVR734HOUR EQU64HLEDDAY_PL EQU 51H。AJMPMAINMOVRO.-H59HLEDSL EQU (53H。時(shí)分鈔中途.晚上,白天顯示緩沖ORG 0003HLOOPL:MOV R0.)顯示緩沖區(qū)區(qū)AJNIPTODEC ROLEDSH EQU 62HLEDDAY_PH EQU 50HORG 000BHDJNZR7XOOPLLEDML EQU 61HLEDNIG.PL EQU 4FHAJNIPTOTIMEMOV COUNTL. M

25、)0H . 起LEDMH EQU 60HLEDNIG_PH EQU4EHORG 001BH步價(jià)LEDHLEQU5FHLEDW.PL EQU 4DHAJNIPTOSTARTMOV COUNTH.檔05HLEDHH EQU 5EHLEDV_PH EQU 4CHORG 0030HMOV DAY_PRICE.#25H ,LEDDANJIAL EQU 5DHS1BITP1.0MAIN: MOV SP,#70H白天價(jià)格初始化COUNTL EQU 6BHLEDCOUNT2 EQU 59HS22 EQU4AHMOVTL1,#OBOHMOVKI: JBS2,K2LCALL CP.DISKEY_SJ:JB SI,

26、 KEY1NIGHT_PRICE.*30H。 晚ACALL T10MSDNT2:CJNE A.W,NT3ACALL T10MSD上價(jià)格初始化JBS2.K2MOVJBS1.KEY1MOVWAIT2: JNB S2, WAIT2FRICE、IIDVAY_PRICEWAIT7:JNB SI. WAIT7MIDWAY.PRICEIOHDJC S22SETB TRIDJC Sil中途等待初始化MOVA,S22LCALL CP_DISMOV A, SilMOVSTART_PRICE,CJNE A#1,NEXT1NT3:CJNEA.#4,CJNE HNEXT21#50H起步價(jià)初始化LCALL PA_DISE

27、K_KEY_MAINLCALL HOU_TMOVSU,#0LJMP KEY_DJMOV S44, *0NEXT21:CJNEAMOVS22,#0NEXT1:CJNE A. #2. NEXT2LJMP KEY_MAIN#2.NEXT22MOV S33, #0CLR TROBK_KEY_MAIN:UMPLCALL MIN_TMOV S44. #0LCALL HMS_DISWAINEXT22: CJNE A. #3.KEYMOV DISTANCE. *02HLJMP KEY_SJKEY_DJ:JBS1,KY1MOV SI 1,0MOV HOUR #12HNEXT2:CJNE A. #3. K2ACA

28、LL T10MSDLJMP KEY.MAINKEY_MAIN: SETB TROMOV S22, *0JBS1.KY1KEY1: JBS2, KEY2ACALL HMS_DISK2:JB S3,K3WAIT5:JNBS15 WAITSACALL T10MSDACALL T100MSDACALL T10MSDINC SI 1JB S2. KEY2ACALL T100MSDJBS3.K3MOVA.SUWAIT&JNB S2 WAITSACALL T100MSDWAIT3:JNB S3. WAIT3CJNEA.#1.NEXT11DJC S22JB SI, KEY_MAINDJC S33LJMP DA

29、Y_PMOVA,S22ACALL T10MSDMOVA,S33NEXT11:CJNE A,#2,CJNE A#1,NEXT23JB SI, KEY_MAINCJNE A,#1,NXT1NEXT12LCALL PA_DISJNBS15LCALL DP.DISLCALL NIG_PLJMP KEY_DJSJMP WAI1NXT1: CJNE A. #2, NXT2NEXT12:CJNE A. #3, KYINEXT23:CJNE A, #2WA1:JB SI, KICLRCLCALL MID_PNEXT24ACALL T10MSDMOV A, M2MOV Sih *0CLR TROJBS1,K1S

30、UBB A. MlLJMP KEY_MAINLCALL HMS_DISWAIT1:JNBS15WAIT1MOV Ml, AKY1:JB S2, KY2NEXT24:CJNE A. #3, KEY2MOV RO, LEDDANJIALMOVA,H2ACALL T10MSDMOV S22,M)MOVR2,檔 6SUBB A. HlJB S2. KY2LCALL KEY_S JCLRAMOV Hl, AWAIT6:JNB S2, WAIT1AINNEXT43:CJNE A, #4,CJNE A. #1,KEY42: JB SI, KEY43KEY14:AJLIP DAY_PKEY23NEXT51AC

31、ALL T10MSDNIG_P:SETB FO。調(diào)用定時(shí)NIOV SI 1,代LCALL DAY_PJB SI. KEY43延時(shí)標(biāo)志位LJMP KEY_DJNEXT51:CJNEA,WAIT21: JNB SI, WAH21LCALL T100MSDKEY23:JB S2, KEY24#2.NEXT52DJCS11LCALL T100MSDLCALL T10MSDLCALL NIG_PMOV A, Silmovlednig.pl, *OAHJB S2. KEY24NEXT52:CJNEA,CJNE HNEXT61MOV LEDNIG_PH.飆)AHWAIT30:JNB S2. WAIT30#3

32、、NEXT53LJMP HOU.TLCALL PA.DISlLJIP KEY.MAINLCALL MID_PNEXT61:CJNEA.LCALL T100MSDKEY24: AJNIP NIG FNEXT53: CJNE A,#2.NEXT62LJMP MIN_TNEXT71:CJNEA.MOVA,#1ADD A. 24HNEXT62:CJNEA,#2,NEXT72ADD A.M100DAA#3EEY43LCALL MIN_TMOV Ml00AMOV24H.AMOVSU,#0NEXT72:CJNEA.MOVA.M100CJNE A、機(jī) OH. RETURN?LJMP KEY.SJ#3,KEY5

33、3CJNE A. #100.RETURNlMOV24H.M)KEY43: JB S2. KEY44SETB TROMOVMIOOKMOV A, START.PRICELCALL T10MSDNIOV SI 1,代INC21HADD A, COUNTLJB S2, KEY44LJXIP KEY_SJMOVA?21HDAAWAIT32: JNB S2, WAIT32KEY53: JBS2, KEY54CJNEA,#0AH,MOVCOUNTLALJMP KEYIAINLCALL T10MSDRETURN】。己經(jīng)到了 1公CJNE A、機(jī) OH. RETURN?KEY44: AJMP HOU.TJB

34、S2. KEY54里MOV COUNTL, )MIN_T: SETB FO。調(diào)用定WAIT33: JNB S2, WAIT33MOV 21H+0MOVA,#1時(shí)延時(shí)標(biāo)志位LJXIP KEY_MAINMOV A. #1ADD A, COUNTHLCALL T100MSDKEY54: AJMP NnN.TADD A. DISTANCEDAALCALL T100MSDTOTBIE: PUSH PSWDAAMOVCOUNTH.AMOVLEDML.丸AHPUSH ACCMOV DISTANCEDCJNE A.存99H.RETURN2MOVLEDMH. *0AHMOVTHO, #3CHMOV A. PRI

35、CEMOVCOUNTH.*0LCALL HMS_DIS1。直接調(diào)MOVTLO, M)B0HADD A. COUNTLRETURN?: POP ACC用顯示.不經(jīng)過(guò)拆分程序INC MS100DAAPOPPSWLCALL T100MSDMOVA,MS100MOV COUNTL.ARETILCALL T100MSDCJNE HCkRETURNCJNE A. #10H.RETURNlHMS_DIS:PUSHACCMOV SEC,杓MOVMSIOOOMOV COUNTL.M)PUSHPSWLCALL HMS_DISMOV A, SECMOV A. #1SETBRS1JB S3, KEY51ADD A,

36、#1ADD A. COUNTHMOV RO+SEC。時(shí)分秒的MOV A. MINDAADAA拆分(三個(gè)字節(jié)ADDA,#1MOV SEC.AMOV COUNTH.AMOVRlLEDSLDA ACJNE A.*50H.RETURNCJNE A.杓9H. RETURN1IOVR6 .丸 3HMOV NUN. AMOV SEC.*OMOV COUNTH 丸LOOP1:MOVA, R0CJNE A. *50K KEY51MOVA,#1HRETURN】:FOF ACCMOVB. AMOV NUN.)ADD A, NUNPOP PSWANLA.*0FHKEY51: JB S4. KEY52DAARETIMO

37、VR1.AMOV A. MINMOVNHN.ATOSTART: PUSH PSWDEC R1ADDA.*99HCJNE A.*DECR1MOV SBUF.ACLRRS1JNBTLSMOVA.BJNBTI $POPPSWCLRTISWAPACLRTIPOPACCMOV RO+PRICE。單價(jià)拆ANL A, *OFHMOVRET分(兩個(gè)字節(jié)MOV R1.AAXEDDISTANCEH。送路CP_DIS:PUSHACCMOV R1,#LEDDANHALDECR1程高位PUSH PSWIOVR6.M3HMOV A.LEDDANHAL。送NIOVDPTRHTABSETB RSIMOVA,RO單價(jià)低位MOV

38、C A,A-DPTRMOV RO,*COUNTH MOVB. AMOV DPTRTABMOVSBUF.AMOV R1LEDCOUNT2ANLA. *OFHMOVC A,A+DPTRJNBTLSMOVA. R0MOVR1.AMOV SBUF,ACLRTIMOVB, ADEC R1JNBTI. SCLR RSIANLA,代FHMOVA,BCLRTIPOPPSWMOV R1,ASWAPAMOV AXEDDANJIAH。送POP ACCDEC R1ANLA. *OFH單價(jià)高位RETMOVA.BMOVR1.AMOV DPTRTABPA_DIS:PUSH ACCSWAPADEC R1MOVCA.A+DPTRPUSH PSWANLA,代FHMOV A.LEDDANJIAL .送CYL ACC.4SETB RSIMOV R1,A單價(jià)低位MOV SBUF,AMOVRODAY_PRICE .價(jià)MOVMOVDPTR.TAB

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論