單片機課程設(shè)計出租車計價器_第1頁
單片機課程設(shè)計出租車計價器_第2頁
單片機課程設(shè)計出租車計價器_第3頁
單片機課程設(shè)計出租車計價器_第4頁
單片機課程設(shè)計出租車計價器_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南理工大學(xué)課程設(shè)計報告 河南理工大學(xué)河南理工大學(xué)河南理工大學(xué) 單片機應(yīng)用與仿真訓(xùn)練單片機應(yīng)用與仿真訓(xùn)練設(shè)計報告設(shè)計報告 題目題目:出租車計價器設(shè)計:出租車計價器設(shè)計 姓 名: 吳昊 學(xué) 號: 311008002225 姓 名: 林濤 學(xué) 號: 3110080022218 專業(yè)班級: 自動化 108 班 指導(dǎo)老師: 劉巍 所在學(xué)院:電氣工程與自動化學(xué)院 2012 年 1 月 16 日 河南理工大學(xué)課程設(shè)計報告 1 摘要摘要 隨著科技的進步和社會的發(fā)展,出租車行業(yè)已經(jīng)成為交通的重要部分, 因此是制定一個合適的出租車計價系統(tǒng)對于出租車公司和乘客是非常重要的。 本課程設(shè)計以 STC10F08XE 單

2、片機為核心,實現(xiàn)對出租車多功能計價設(shè)計。 出租車的計價是又乘客所選擇的乘車方式和出租車所行駛的里程所決定的, 而出租車的行駛的里程可通過測量車輪旋轉(zhuǎn)的圓周圈數(shù)間接計算出來,本課程 設(shè)計用微型電電動機模擬出租車輪,通過安裝在微型電動機上的霍爾傳感器測 量車輪旋轉(zhuǎn)圈數(shù)。輸出的脈沖信號被接入到 STC10F08XE 單片機系統(tǒng)中,通過計 算接收到的脈沖個數(shù),計算出當(dāng)前所行駛的路程,并且可以計算實時的速度, 在速度低于 5 公里每小時是進入等待計費。同時根據(jù)乘客選擇的乘車方式選擇 收費標(biāo)準(zhǔn),計算出乘客應(yīng)付的出租車費用,并顯示在數(shù)碼管上。 本設(shè)計可以實現(xiàn)單雙程設(shè)置、系統(tǒng)暫停和清零、空車指示、信息顯示、顯

3、 示切換、掉電保護等功能。它由 5 個單元組成:按鍵電路單元,指示燈電路單 元路,轉(zhuǎn)速信號,接收單元程時間與金額顯示單元。軟件系統(tǒng)可以大致分為五 個大的模塊為:總初始化模塊,按鍵掃描模塊,中斷與定時模塊,數(shù)據(jù)計算模 塊,數(shù)碼管顯示模塊。 關(guān)鍵字關(guān)鍵字:多功能計價器;STC10F08XE;霍爾傳感器;直流電動機 河南理工大學(xué)課程設(shè)計報告 1 第一章第一章 概述概述 .1 1.1 初始條件.1 1.2 要求完成的主要任務(wù) .1 1.3 設(shè)計參數(shù).1 第二章第二章 出租車計價系統(tǒng)的設(shè)計方案出租車計價系統(tǒng)的設(shè)計方案.1 第三章第三章 出租車計價系統(tǒng)的硬件設(shè)計出租車計價系統(tǒng)的硬件設(shè)計.2 3.1 單片機

4、最小系統(tǒng)單元 .2 3.2 顯示單元電路設(shè)計.4 3.3 鍵盤及 LED 指示燈電路設(shè)計.6 3.4 路程測量部分設(shè)計.7 第四章第四章 出租車計價系統(tǒng)出租車計價系統(tǒng)的軟件設(shè)計的軟件設(shè)計.7 4.1 掃描程序.7 4.2 中斷程序.8 4.3 顯示程序.9 4.4 計算程序.9 五五 PROTEUS 仿真仿真 .10 5.1 PROTEUS介紹.10 第六章第六章 設(shè)計體會與小結(jié)設(shè)計體會與小結(jié).11 參考文獻(xiàn)參考文獻(xiàn).12 附錄附錄.12 河南理工大學(xué)課程設(shè)計報告 1 0 第一章第一章 概述概述 1.1 初始條件初始條件 (1)運用所學(xué)的單片機原理與接口技術(shù)知識和數(shù)字電路知識; (2)STC1

5、0F08XE 單片機應(yīng)用開發(fā)系統(tǒng)一套; (3)PC 機及相關(guān)應(yīng)用軟件。 1.2 要求完成的主要任務(wù)要求完成的主要任務(wù) (1)能顯示里程,單位為公里,最后一位為小數(shù)位。 (2)能顯示金額數(shù),單位為元,最后一位為小數(shù)位。 (3)可設(shè)定單程價格和往返價格,單程價格為 2 元/公里,往返價格為 1.5 元/公里。 (4)車速5 公里/小時的時間累積為總等待時間,每 5 分鐘等待時間相 當(dāng)于里程數(shù)增加 1 公里。 (5)起步公里數(shù)為 3 公里,價格為 5 元,若實際距離大于 3 公里,按規(guī) 則 3 計算價格。 (6)按暫停鍵,計價器可暫停計價,按查詢鍵,可顯示總等待時間。 1.3 設(shè)計參數(shù)設(shè)計參數(shù) 由于

6、要求沒有給出車輪的相關(guān)參數(shù),所以這里進行一些基本參數(shù)的查詢。 據(jù)調(diào)查統(tǒng)計,現(xiàn)行出租車輪胎直徑大致有四種,直徑分別為 520mm、540mm、560mm 和 580mm. 本作品針對 560mm 的出租車進行設(shè)計。它的周長為:1.7584 m,57 圈行 駛 100m。 第二章第二章 出租車計價系統(tǒng)的設(shè)計方案出租車計價系統(tǒng)的設(shè)計方案 出租車計價器用于記錄里程與價格的關(guān)系,它能有效地避免司機與乘客的 矛盾,保證雙方的利益。 河南理工大學(xué)課程設(shè)計報告 1 計價是根據(jù)車所行駛的路程決定的,出租車行駛總路程可以通過車輪的周 長乘車輪旋轉(zhuǎn)圈數(shù)得到,即可計算得到車輪旋轉(zhuǎn)幾周出租車能行駛一公里的路 程。使用霍

7、爾傳感器方便地計量車輪旋轉(zhuǎn)的圈數(shù)。輸出的脈沖信號被接入到 STC10F08XE 單片機系統(tǒng)中,通過計算接收到的脈沖個數(shù),計算出當(dāng)前所行駛的 路程,并且可以計算實時的速度,在速度低于 5 公里每小時是進入等待計費。 于此同時,根據(jù)不同的收費標(biāo)準(zhǔn),通過選擇相應(yīng)的起步價、單價等收費標(biāo)準(zhǔn)進 行計算。通過鍵盤能夠?qū)崿F(xiàn)往返設(shè)置,啟動、暫停、停止計價器以及切換顯示 當(dāng)前的行駛里程和需支付的車費。 本設(shè)計硬件電路分為五個單元:單片機最小系統(tǒng)單元,指示燈電路單元, 按鍵電路單元,路程時間與金額顯示單元,轉(zhuǎn)速信號接收單元。軟件系統(tǒng)分為 五個大的模塊為:總初始化模塊,按鍵掃描模塊,中斷與定時模塊,數(shù)據(jù)計算 模塊,數(shù)

8、碼管顯示模塊。其中,鍵盤掃描和數(shù)碼管顯示采用查詢方式,轉(zhuǎn)速信 號接收與等待記時采用中斷方式。這些軟硬件系統(tǒng)構(gòu)成了最終的設(shè)計。系統(tǒng)框 圖如圖 1 所示: 圖 1 第三章第三章 出租車計價系統(tǒng)的硬件設(shè)計出租車計價系統(tǒng)的硬件設(shè)計 3.1 單片機最小系統(tǒng)單元單片機最小系統(tǒng)單元 本課程設(shè)計主控系統(tǒng)采用 STC 公司生產(chǎn)的 STC10F08XE 單片機,其內(nèi)部存儲空間滿足系統(tǒng)軟 件設(shè)計,各引腳功能如下 。 VCC:供電電壓。GND:接地。P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口,每腳可吸收 8TTL 門流。 按鍵電路 信號輸入 時鐘與復(fù) 位電路 LED 發(fā)光二級光 數(shù)碼管顯示 STC10f

9、 08xe 單片機 河南理工大學(xué)課程設(shè)計報告 2 當(dāng) P1 口的管腳第一次寫 1 時,被定義為高阻輸入。P0 能夠用于外部程序數(shù)據(jù) 存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在 FIASH 編程時,P0 口作為原 碼輸入口,當(dāng) FIASH 進行 校驗時,P0 輸出原碼,此時 P0 外部必須被 拉高。 P1 口:P1 口是一個內(nèi)部提供上拉電阻的 8 位雙向 I/O 口,P1 口緩沖器能接 收輸出 4TTL 門電流。 P1 口管腳寫入 1 后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低 電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在 FLASH 編程和校驗時,P1 口作為第八位地址接收。

10、P2 口:P2 口為一個內(nèi)部上拉電阻的 8 位雙向 I/O 口,P2 口緩沖器可接收, 輸出 4 個 TTL 門電流,當(dāng) P2 口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且 作為輸入。并因此作為輸入時,P2 口的管腳被外部拉低,將輸出電流。這是由 于內(nèi)部上拉的緣故。P2 口當(dāng)用于外部程序存儲器或 16 位地址外部數(shù)據(jù)存儲器 進行存取時,P2 口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉 優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2 口輸出其特殊功能寄存器 的內(nèi)容。P2 口在 FLASH 編程和校驗時接收高八位地址信號和控制信號。 P3 口:P3 口管腳是 8 個帶內(nèi)部上拉電阻的雙

11、向 I/O 口,可接收輸出 4 個 TTL 門電流。當(dāng) P3 口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。 作為輸入,由于外部下拉為低電平,P3 口將輸出電流(ILL)這是由于上拉的 緣故。P3 口也可作為STC10F08XE的一些特殊功能口,P3 口同時為閃爍編程和 編程校驗接收一些控制信號。 RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持 RST 腳兩個機器周期的高電 平時間。 ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址 的地位字節(jié)。在 FLASH 編程期間,此引腳用于輸入編程脈沖。在平時,ALE 端 以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的

12、 1/6。因此它可用 作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存 儲器時,將跳過一個 ALE 脈沖。如想禁止 ALE 的輸出可在 SFR8EH 地址上置 0。 此時, ALE 只有在執(zhí)行 MOVX,MOVC 指令是 ALE 才起作用。另外,該引腳被略 微拉高。如果微處理器在外部執(zhí)行狀態(tài) ALE 禁止,置位無效。 /PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個 河南理工大學(xué)課程設(shè)計報告 3 機器周期兩次/PSEN 有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN 信 號將不出現(xiàn)。 /EA/VPP:當(dāng)/EA 保持低電平時,則在此期間外部程序存

13、儲器(0000H- FFFFH) ,不管是否有內(nèi)部程序存儲器。注意加密方式 1 時,/EA 將內(nèi)部鎖定為 RESET;當(dāng)/EA 端保持高電平時,此間內(nèi)部程序存儲器。在 FLASH 編程期間,此 引腳也用于施加 12V 編程電源(VPP) 。 XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 單片機最小系統(tǒng)電路如圖 2。 圖 2 3.2顯示單元電路設(shè)計顯示單元電路設(shè)計 七段 LED 共陰極數(shù)碼管顯示有八個發(fā)光二級管組成,其管腳配置及常用的字 符段碼表如下圖: 顯示字符共陰數(shù)碼管段碼顯示字符共陰數(shù)碼管段碼 03FHC39H 106HD5EH 25BHE

14、79H 34FHF71H 466H.80H 56DHP73H 67DHU3EH 707HT31H 河南理工大學(xué)課程設(shè)計報告 4 97FHY6EH 96FH8.FFH A77H“滅”00H B7CH自定義 本課程設(shè)計采用 1 個四位 8 段共陰數(shù)碼顯示,通過按鍵將數(shù)碼管顯示切換為不 同的狀態(tài),即應(yīng)付金額顯,行駛路程,等待時間一組顯示金額,另一組顯示路 程與等待時間配合按鍵來切換。四位八段共陰極數(shù)碼管電路連接圖 3. 圖 3 3.3 鍵盤及鍵盤及 LED 指示燈電路設(shè)計指示燈電路設(shè)計 由于只有一個四位八段共陰極數(shù)碼管,因此不能將應(yīng)付金額,行駛路程, 等待時間同時顯示出來,故需要通過鍵盤使數(shù)碼管在三

15、種之間進行切換,并以 發(fā)光二級管作為數(shù)碼管顯示狀態(tài)的標(biāo)志,鍵盤的切換功能和 LED 燈所表示的狀 態(tài)如下 按鍵 1:系統(tǒng)清零按鍵,將數(shù)碼管顯示清零; 按鍵 2:單雙程切換按鍵,用來顯示是單程收費還是雙程; 按鍵 3:路程與等時間切換按鍵: 河南理工大學(xué)課程設(shè)計報告 5 按鍵 4:系統(tǒng)暫停按鍵暫; 按鍵 5:價格顯示按鍵; LED1:清零顯示標(biāo)志; LED2:單雙程收費顯示標(biāo)志; LED3:時間顯示標(biāo)志; LED4:暫停標(biāo)志; LED5:單片機是否檢測到車輛在行駛。 其鍵盤和 LED 指示燈的電路圖如圖 4. 圖 4 3.4 路程測量部分設(shè)計路程測量部分設(shè)計 里程計算是通過安裝在車輪上的霍爾傳感

16、器A44E檢測到的信號,送到單片 機,經(jīng)處理計算,送給顯示單元的。此處選擇單片機P3.2作為單片機的接收信號, 其原理圖5所示: 霍爾傳感 器 車輪 P3.2 STC89C 51 單片 機 小磁鐵 河南理工大學(xué)課程設(shè)計報告 6 圖 5 第四章第四章 出租車計價系統(tǒng)出租車計價系統(tǒng)的軟件設(shè)計的軟件設(shè)計 硬件電路搭建完成只是出租車計價器設(shè)計的基礎(chǔ),實現(xiàn)出租車計價器的核心 是其軟件的設(shè)計,本課程設(shè)計采用 C 語言編寫,共分五部分:掃描部分,中斷 部分,顯示部分,計算部分。 4.1 掃描程序掃描程序 對于掃描式鍵盤判鍵,首先看有鍵按下不,如果有鍵按下則延時一會兒, 在判斷是否真的有鍵按下,如果確實有鍵按

17、下,在判鍵釋放,最后執(zhí)行鍵功能 程序。判鍵子函數(shù)的流程框圖如 圖 6 所示。 判鍵子程序流程(圖 6) 河南理工大學(xué)課程設(shè)計報告 7 4.2 中斷程序中斷程序 當(dāng)車輪每轉(zhuǎn)動依次時,霍爾傳感器就輸出一個低電平信號,并傳給單片機系 統(tǒng),產(chǎn)生一次中斷每當(dāng)光電傳感器輸出一個低電平信號就使單片機中斷一次, 當(dāng)里程計數(shù)器對里程脈沖計滿 50 次時,進入里程計數(shù)中斷服務(wù)程序中,里程變 量加一。 主函數(shù)中總金額也相應(yīng)地變化。其流程圖如下圖 圖 7 河南理工大學(xué)課程設(shè)計報告 8 4.3 顯示程序顯示程序 對于一個四位八段位共陰極數(shù)碼管,采用動態(tài)顯示,通過按鍵在計費金額顯 示,等待時間顯示,行駛路程三種顯示狀態(tài)間

18、切換。 4.4 計算程序計算程序 計算程序根據(jù)里 程數(shù)分別進入不同 的計算公式。如果里 程大于 3 公里,則 執(zhí)行公式:總金額 =起步價+(里 程-3)*單價+等 待時間*等待單價; 否則,執(zhí)行公式: 總金額=起 步價+等待 時間*等待單價。 河南理工大學(xué)課程設(shè)計報告 9 圖 8 五五 proteus 仿真仿真 5.1 Proteus 介紹介紹 Proteus 軟件是來自英國 Labcenter electronics 公司的 EDA 工具軟件, 它組合了高級原理布圖、混合模式 SPICE 仿真,PCB 設(shè)計以及自動布線來實現(xiàn)一 個完整的電子設(shè)計系統(tǒng)。此系統(tǒng)受益于 15 年來的持續(xù)開發(fā),被電子

19、世界在 其對 PCB 設(shè)計系統(tǒng)的比較文章中評為最好產(chǎn)品“The Route to PCB CAD”。 Proteus 產(chǎn)品系列也包含了我們革命性的 VSM 技術(shù),用戶可以對基于微控制器的 設(shè)計連同所有的周圍電子器件一起仿真。用戶甚至可以實時采用諸如 LED/LCD、鍵盤、RS232 終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。 其功能模塊:個易用而又功能強大的 ISIS 原理布圖工具;PROSPICE 混合 模型 SPICE 仿真;ARES PCB 設(shè)計。PROSPICE 仿真器的一個擴展 PROTEUS VSM: 便于包括所有相關(guān)的器件的基于微處理器設(shè)計的協(xié)同仿真。此外,還可以結(jié)合 微控制器軟件

20、使用動態(tài)的鍵盤,開關(guān),按鈕,LEDs 甚至 LCD 顯示 CPU 模型。支 持許多通用的微控制器,如 PIC,AVR,HC11 以及 8051。最新支持 ARM。交互的 裝置模型包括:LED 和 LCD 顯示,RS232 終端,通用鍵盤,I2C,SPI 器件。強 大的調(diào)試工具,包括寄存器和存儲器,斷點和單步模式。IAR C-SPY 和 Keil uVision2 等開發(fā)工具的源層調(diào)試。應(yīng)用特殊模型的 DLL 界面-提供有關(guān)元件庫 的全部文件。5.2 軟件仿真軟件仿真 將整個系統(tǒng)原理圖在 Proteus 連接好后,下載如編寫好的程序下載進仿真 單片機系統(tǒng),仿真如圖顯示的狀態(tài),設(shè)置為:單程,車速大

21、于 5km/h,當(dāng)路程等于 40.4km 時的顯示情況。 河南理工大學(xué)課程設(shè)計報告 10 第六章第六章 設(shè)計體會與小結(jié)設(shè)計體會與小結(jié) 本次單片機課程設(shè)計,我們選的題目是出租車計價器的設(shè)計。通過仿真、 焊接、調(diào)試等不斷的努力,我們的出租車計價器實現(xiàn)了基本要求的全部功能和 發(fā)揮部分的部分功能。比如能顯示里程、金額數(shù)、總等待時間,可設(shè)定單程價 格和往返價格,按暫停鍵,計價器可暫停計價,按查詢鍵,可顯示總等待時間, 空車指示、信息存儲等。 最近以來,經(jīng)過我和隊友的努力,基本上完成了設(shè)計要求的內(nèi)容,在系統(tǒng) 可行性分析、原理圖設(shè)計等方面都作了許多實際工作,取得了一些成績,同時 也遇到了一些問題,存在一些不

22、足。經(jīng)過這一個月的學(xué)習(xí),我覺得自己不論是 在理論知識方面還是在動手能力方面都有了不小的進步,自己從中受益匪淺。 這次設(shè)計很好的把以前學(xué)到的理論知識應(yīng)用于實踐,使我認(rèn)識到理論知識與實 踐之間有一定的差距,只有通過不斷的努力學(xué)習(xí)和實踐才能很好的把理論知識 應(yīng)用到實踐當(dāng)中,也只有通過不斷的實踐才能對理論知識的理解。 通過這次設(shè)計不僅學(xué)會了如何去查找相關(guān)資料,更重要的是通過查找資料 和翻閱書籍學(xué)到了不少知識,擴大了知識面,提高了知識水平。經(jīng)過單元設(shè)計 河南理工大學(xué)課程設(shè)計報告 11 和系統(tǒng)設(shè)計鞏固了以前所學(xué)的專業(yè)知識,自己真正認(rèn)識到理論聯(lián)系實際的重要 性,為以后的學(xué)習(xí)和工作提供了很多有價值的經(jīng)驗。通過

23、這次設(shè)計不僅增強了 自己的動腦能力和動手能力,也提高了我思考問題、分析問題、解決問題的能 力,更重要的是學(xué)會用工程化的思想來解決問題。這在以前的學(xué)習(xí)過程中是不 曾學(xué)到的。 這次設(shè)計是我們認(rèn)真認(rèn)識到完整、嚴(yán)謹(jǐn)、科學(xué)分析問題、解決問題的思想 是多么的重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計出有用的產(chǎn)品。另外通過本次 設(shè)計,認(rèn)識到自己理論知識的應(yīng)用能力有很大的欠缺,需要在以后的學(xué)習(xí)中進 一步提高。 參考文獻(xiàn)參考文獻(xiàn) 1. 李廣弟,朱月秀,冷祖祁.單片機基礎(chǔ)M.第 3 版.北京航空航天大學(xué)出版社, 2007 2. 李華.MCS-51 系列單片機實用接口技術(shù)M.北京航空航天大學(xué)出版社,1996 3. 李群芳,

24、肖看.單片機原理接口與應(yīng)用.北京:清華大學(xué)出版社,2005 4. 朱承高.電工及電子技術(shù)手冊M.北京:高等教育出版社,1990 5. 高峰.單片微型應(yīng)用系統(tǒng)設(shè)計及實用技術(shù).北京:機械工業(yè)出版社,2004 6. 胡輝,單片機原理及應(yīng)用設(shè)計21 世紀(jì)高等院校規(guī)劃教材M,水利水電出 版社,2005.7 7.劉守義,單片機應(yīng)用技術(shù)M,西安:西安電子科技大學(xué)出版社,1996 附錄附錄 源程序代碼源程序代碼 LLED 燈標(biāo)志子程序 #includestc10.h #include #includechuli.h #includetype.h extern bit key1_flag,key0_flag,k

25、ey3_flag,flag; extern uchar second,minute,key2_flag; extern uint distance,price,cost,wait,round; 河南理工大學(xué)課程設(shè)計報告 12 void jisuan(void) wait=minute*60+second; distance=round+wait/30;/車輪轉(zhuǎn) 57 圈為 100m,等待時間 30s 為 100m if(key1_flag) price=15; /往返價格 1.5 元/公里 else price=20; /單程價格 2 元/公里 if(distance=30) /小于 3 公里

26、 cost=50; else cost=price*(distance-30)/10+50;/(distance-30)/10 是公里數(shù) void init_data(void) distance=0; cost=0; round=0; second=0; minute=0; key0_flag=0;/空車 河南理工大學(xué)課程設(shè)計報告 13 key1_flag=0; /單程 key2_flag=1; /路程 key3_flag=0; /正常,非暫停 flag=1; void init() P1M1=0 x00; P1M0=0 xff; init_data(); /初始化數(shù)據(jù) TMOD=0 x01

27、; TH0=(65536-50000)/256; TL0=(65536-50000)%256; ET0=1; / 開定時器中斷 IT0=0; /外部中斷 0 邊沿觸發(fā)方式 EA=1;/開總中斷 EX0=1; /開外部中斷 TR0=1; /開定時器 鍵盤掃描子程序 #includestc10.h #include #includeyanshi.h #includetype.h #includechuli.h #includekeyscan.h 河南理工大學(xué)課程設(shè)計報告 14 extern bit key0_flag,key1_flag,key3_flag,flagxian,flag; exter

28、n uchar key2_flag,second,minute; extern uint distance,price,cost,wait,round,temp; void keyscan(void) P3 P0|=0 xe0; if(P0!=0 xe0) delay(10); if(P0!=0 xe0) P3|=0 x80; P3 switch(P0if(!key0_flag) init_data(); break; / 空車 case 0 xa0:key1_flag=!key1_flag;break;/單程還是雙程 case 0 x60:key2_flag+;break;/路程還是時間 P

29、3|=0 x40; P3 switch(P0if(key3_flag) /暫停還是正常 EX0=0; /關(guān)閉外部中斷和定時器 TR0=0; 河南理工大學(xué)課程設(shè)計報告 15 else EX0=1; TR0=1; break; case 0 xa0:flagxian=!flagxian;break;/價格 P3 P0|=0 xe0; while(P0 延時子程序 #include #includeyanshi.h #includetype.h /#define uchar unsigned char /#define uint unsigned int void delay(uint z) uchar j; 河南理工大學(xué)課程設(shè)計報告 16 uint i; for(i=z;z0;z-) for(j=0;j115;j+); 處理子程序 #include #includeyanshi.h #includetype.h /#define uchar unsigned char /#define uint unsigned int void delay(uint z) uchar j; uint i; for(i=z;z0;z-) for(j=0;j115;j+); 主函數(shù)程序 #includestc10.h #include #includeyanshi.h #

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論