s08課程設(shè)計(jì)報(bào)告_第1頁(yè)
s08課程設(shè)計(jì)報(bào)告_第2頁(yè)
s08課程設(shè)計(jì)報(bào)告_第3頁(yè)
s08課程設(shè)計(jì)報(bào)告_第4頁(yè)
s08課程設(shè)計(jì)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、單片機(jī)與控制技術(shù)課 程 設(shè) 計(jì)成績(jī)?cè)u(píng)定表設(shè)計(jì)課題 基于89C51的出租車(chē)計(jì)價(jià)器設(shè)計(jì) 學(xué)院名稱(chēng) : 電氣工程學(xué)院 專(zhuān)業(yè)班級(jí) : 自動(dòng)化1004 學(xué)生姓名 : 周秋峰 學(xué) 號(hào) : 2 指導(dǎo)教師 : 王黎 臧海河 周剛 設(shè)計(jì)地點(diǎn) : 31-505 設(shè)計(jì)時(shí)間 : 2012-12-172012-12-28 指導(dǎo)教師意見(jiàn):成績(jī): 簽名: 年 月 日單片機(jī)與控制技術(shù)課 程 設(shè) 計(jì)課程設(shè)計(jì)名稱(chēng): 基于89C51的出租車(chē)計(jì)價(jià)器設(shè)計(jì) 專(zhuān) 業(yè) 班 級(jí) : 自動(dòng)化1004 學(xué) 生 姓 名 : 周秋峰 學(xué) 號(hào) : 2 指 導(dǎo) 教 師 : 臧海河 課程設(shè)計(jì)地點(diǎn): 31-505 課程設(shè)計(jì)時(shí)間: 2012-12-172012

2、-12-28 單片機(jī)系統(tǒng) 課程設(shè)計(jì)任務(wù)書(shū)學(xué)生姓名 周秋峰專(zhuān)業(yè)班級(jí)自動(dòng)化1004學(xué)號(hào)2題 目基于89C51的出租車(chē)計(jì)價(jià)器設(shè)計(jì)課題性質(zhì)工程設(shè)計(jì)課題來(lái)源自擬指導(dǎo)教師臧海河主要內(nèi)容(參數(shù))利用89C51設(shè)計(jì)出租車(chē)計(jì)價(jià)系統(tǒng),實(shí)現(xiàn)以下功能:1設(shè)置白天/晚上收費(fèi)標(biāo)準(zhǔn)的轉(zhuǎn)換開(kāi)關(guān),使白天和晚上這兩種不同情況具有不同的收費(fèi)標(biāo)準(zhǔn)。 2.設(shè)置數(shù)據(jù)的清零開(kāi)關(guān)。3.具有等待紅燈收費(fèi)功能。4.設(shè)置顯示液晶頁(yè)面,使司機(jī)與顧客能夠清楚的看到液晶所顯示等待紅燈時(shí)間以及路程、總金額和單價(jià)。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計(jì)任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計(jì)方案。第3-4天:按照確定的方案設(shè)計(jì)單元電路。要求畫(huà)出單元電路圖,元件

3、及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計(jì)要有詳細(xì)論述。第5-6天:軟件設(shè)計(jì),編寫(xiě)程序。第7-8天:實(shí)驗(yàn)室調(diào)試。第9-10天:撰寫(xiě)課程設(shè)計(jì)報(bào)告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)范、方案合理、設(shè)計(jì)正確,篇幅不少于6000字。主要參考資料1 張迎新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M北京:國(guó)防工業(yè)出版社,20042 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,20063 康華光. 電子技術(shù)基礎(chǔ) 模擬部分(第五版).北京;高等教育出版社,20064 郭天祥. 新概念51單片機(jī)C語(yǔ)言教程-入門(mén)、提高、開(kāi)發(fā)、拓展全攻略. 北京;電子工業(yè)出版社,2009審查意見(jiàn)系(教研室)主任簽字

4、: 年 月 日 目錄1 引言32 總體方案設(shè)計(jì)42.1硬件組成42.2 方案論證4(1)控制器4(2)速度里程傳感器5(3)信號(hào)處理模塊6(4)人機(jī)交互界面62.3 總體方案63 硬件電路設(shè)計(jì)73.1 單片機(jī)及其外圍電路73.2 光電傳感器與信號(hào)調(diào)理電路93.3 顯示及鍵盤(pán)接口電路10(1)顯示器接口電路10(2)鍵盤(pán)接口電路123.4 電源電路134 系統(tǒng)軟件設(shè)計(jì)134.1 主程序設(shè)計(jì)134.2 中斷服務(wù)程序設(shè)計(jì)144.3 部分主要子程序的設(shè)計(jì)16(1)距離顯示字程序16(2)金額顯示子程序16(3)等待時(shí)間顯示子程序175 系統(tǒng)調(diào)試與總結(jié)195.1 系統(tǒng)調(diào)試191.白天夜間模式選擇調(diào)試19

5、2.是否開(kāi)啟紅燈等待功能調(diào)試203.行程計(jì)費(fèi)205.2 總結(jié)21參考文獻(xiàn)22附錄A 系統(tǒng)原理圖23附錄B 源程序231 引言出租車(chē)是現(xiàn)代城市內(nèi)部主要交通工具之一,它給我們的出行帶來(lái)了方便與舒適。一個(gè)好的出租車(chē)計(jì)價(jià)器在整個(gè)出租車(chē)系統(tǒng)中是不可或缺的,他讓我們的出行費(fèi)用,車(chē)輛行駛距離有了明確的體現(xiàn),讓司機(jī)與乘客的利益的到平衡,讓出租車(chē)市場(chǎng)更加規(guī)范。如今的出租車(chē)計(jì)價(jià)器五花八樣,功能各異,但主要功能都基本相同,以行駛距離為標(biāo)準(zhǔn)計(jì)價(jià),有些加上的等待計(jì)價(jià),有些更智能,可以為乘客提供拼車(chē)計(jì)價(jià),本設(shè)計(jì)提供了基本的一距離為主要標(biāo)準(zhǔn)計(jì)價(jià),附加等待紅燈計(jì)價(jià)。介于出租車(chē)計(jì)價(jià)器不需要太多的功能,而單片機(jī)是一種集成電路芯片

6、,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。以8051為內(nèi)核AT89S52單片機(jī)足可以實(shí)現(xiàn)計(jì)價(jià)功能,以1602液晶顯示信息。AT89S52單片機(jī)價(jià)格便宜,工作穩(wěn)定,性能良好,易學(xué)易用,操作使用方便,ISP寫(xiě)入程序,方便快捷。8051系列單片機(jī)也是我們課程所學(xué)的主要單片機(jī),更利于我們學(xué)習(xí)實(shí)踐。而如今較為流行的AVR單片機(jī)和以cortex為內(nèi)核的單

7、片機(jī)比較流行,但他們的價(jià)格相對(duì)于AT89S52較貴,功能較多,控制復(fù)雜,程序編寫(xiě)較難,且大多為L(zhǎng)QFP封裝,不利于我們實(shí)驗(yàn)練習(xí),而使用51系列單片機(jī)足矣完成出租車(chē)計(jì)價(jià)功能,是比較理想的選擇。2 總體方案設(shè)計(jì)2.1硬件組成整個(gè)系統(tǒng)硬件有控制器,距離檢測(cè)系統(tǒng),速度檢測(cè)系統(tǒng),信號(hào)處理模塊,人機(jī)交換界面組成:(1)控制器。作為控制系統(tǒng)的核心,它在整個(gè)系統(tǒng)中接受由光電碼盤(pán)傳來(lái)的數(shù)據(jù),經(jīng)過(guò)內(nèi)部處理,按照事先約定將數(shù)據(jù)傳到顯示部分。(2)距離速度檢測(cè)系統(tǒng)。它由傳感器實(shí)現(xiàn),由機(jī)械機(jī)構(gòu)連接傳感器,再由傳感器輸出信號(hào),輸入控制器。(3)信號(hào)處理模塊,有傳感器輸入的信號(hào)進(jìn)行處理,處理后的信號(hào)為可以直接輸入控制器的信

8、號(hào)。(4)人機(jī)交互界面;需要一個(gè)顯示器顯示控制器輸出的信息,顯示出租車(chē)行駛的距離,等待時(shí)間,定價(jià)和最后總價(jià)。硬件方框圖如圖2.1所示。圖2.1 硬件方框圖2.2 方案論證(1)控制器控制器的選擇是確定整個(gè)系統(tǒng)硬件方案的關(guān)鍵,它關(guān)系到其它幾個(gè)部分方案的確定,對(duì)于出租車(chē)計(jì)價(jià)器,控制器一般使用MCU,MCU有許多種,可選的單片機(jī)有以下幾種:8051系列單片機(jī)。8051單片微型計(jì)算機(jī)簡(jiǎn)稱(chēng)為單片機(jī),又稱(chēng)為微型控制器,是微型計(jì)算機(jī)的一個(gè)重要分支。單片機(jī)是70年代中期發(fā)展起來(lái)的一種大規(guī)模集成電路芯片,是CPU、RAM、ROM、I/O接口和中斷系統(tǒng)于同一硅片的器件。80年代以來(lái),單片機(jī)發(fā)展迅速,各類(lèi)新產(chǎn)品不斷

9、涌現(xiàn),出現(xiàn)了許多高性能新型機(jī)種,現(xiàn)已逐漸成為工廠自動(dòng)化和各控制領(lǐng)域的支柱產(chǎn)業(yè)之一。AVR單片機(jī)。AVR單片機(jī)是1997年由ATMEL公司研發(fā)出的增強(qiáng)型內(nèi)置Flash的RISC(Reduced Instruction Set CPU) 精簡(jiǎn)指令集高速8位單片機(jī)。AVR的單片機(jī)可以廣泛應(yīng)用于計(jì)算機(jī)外部設(shè)備、工業(yè)實(shí)時(shí)控制、儀器儀表、通訊設(shè)備、家用電器等各個(gè)領(lǐng)域。 1997年,由Atmel公司挪威設(shè)計(jì)中心的A先生和V先生,利用Atmel公司的Flash新技術(shù),共同研發(fā)出RISC精簡(jiǎn)指令集高速8位單片機(jī),簡(jiǎn)稱(chēng)AVR。AVR單片機(jī)功能較完善,自帶A/D轉(zhuǎn)換。但開(kāi)發(fā)編程使用相比于8051系列有些復(fù)雜。需要一

10、定的學(xué)習(xí)。Cortex系列單片機(jī)。ARM公司在經(jīng)典處理器ARM11以后的產(chǎn)品改用Cortex命名,并分成A、R和M三類(lèi),旨在為各種不同的市場(chǎng)提供服務(wù)。 Cortex系列屬于ARMv7架構(gòu),這是ARM公司最新的指令集架構(gòu)。ARMv7架構(gòu)定義了三大分工明確的系列:“A”系列面向尖端的基于虛擬內(nèi)存的操作系統(tǒng)和用戶(hù)應(yīng)用;“R”系列針對(duì)實(shí)時(shí)系統(tǒng);“M”系列對(duì)微控制器。 由于應(yīng)用領(lǐng)域不同,基于v7架構(gòu)的Cortex處理器系列所采用的技術(shù)也不相同,基于v7A的稱(chēng)為Cortex-A系列,基于v7R的稱(chēng)為Cortex-R系列,基于v7M的稱(chēng)為Cortex-M系列。但Cortex系列單片機(jī)開(kāi)發(fā)復(fù)雜,需要深入學(xué)習(xí),

11、當(dāng)然其功能也強(qiáng)大,不過(guò)價(jià)格也相對(duì)8051貴一些。出租車(chē)計(jì)價(jià)器作為一種簡(jiǎn)單的設(shè)備,本身價(jià)值不高,更要求控制系統(tǒng)具有較好的性?xún)r(jià)比,控制系統(tǒng)部需要有強(qiáng)大的控制能力,而且要考慮安裝方便,計(jì)價(jià)器體積受限,經(jīng)上述分析比較,確定采用8051系列MCU作為控制器。(2)速度里程傳感器傳感器可選擇的較多,有模擬信號(hào)輸出的,有數(shù)字信號(hào)輸出的,由于模擬信號(hào)輸出的傳感器需要信號(hào)放大和A/D轉(zhuǎn)換模塊,信號(hào)放大比較難調(diào),信號(hào)容易失真,而A/D轉(zhuǎn)換模塊需要另外添加,有些單片機(jī)不具有A/D轉(zhuǎn)換功能,且增加模塊會(huì)增加整個(gè)產(chǎn)品的成本,對(duì)于簡(jiǎn)單低成本的出租車(chē)計(jì)價(jià)器是很不適合的。為了簡(jiǎn)單實(shí)用,可采用數(shù)字信號(hào)輸出的傳感器,由于大量數(shù)據(jù)

12、傳入單片機(jī)會(huì)增加處理器負(fù)擔(dān),可采用產(chǎn)生脈沖的傳感器,例如霍爾傳感器,光電碼盤(pán)等等。這類(lèi)長(zhǎng)安器相對(duì)來(lái)說(shuō)價(jià)格便宜,性能穩(wěn)定,簡(jiǎn)單實(shí)用,傳感器產(chǎn)生的脈沖可直接輸入單片機(jī),也可整形后輸入單片機(jī),防止數(shù)據(jù)丟失,也可實(shí)用達(dá)林頓管和光耦等元件對(duì)信號(hào)做進(jìn)一步處理。 (3)信號(hào)處理模塊傳感器輸出的脈沖信號(hào)可以整形放大后輸入單片機(jī),但單片機(jī)可以直接處理脈沖信號(hào),即使脈沖有些不穩(wěn)定,脈沖強(qiáng)度有些變化,也可以直接處理,單片機(jī)只是查脈沖的數(shù)目和一定時(shí)間內(nèi)脈沖的數(shù)目,脈沖的強(qiáng)度變化只要在可處理范圍之內(nèi)是沒(méi)有問(wèn)題的,經(jīng)試驗(yàn)證實(shí),傳感器輸出的信號(hào)時(shí)比較穩(wěn)定的,示波器顯示波形很好,脈沖丟失比較少,而單片機(jī)能夠完美的處理這些脈沖

13、,幾乎沒(méi)有出錯(cuò)。(4)人機(jī)交互界面人機(jī)交互界面主要有以下幾種形式: CRT顯示器及標(biāo)準(zhǔn)鍵盤(pán):顯示信息量大,操作方便,顯示界面友好,但價(jià)格高,適用于采用工控機(jī)作控制器的場(chǎng)合。 工業(yè)人機(jī)界面(觸摸屏):和CRT顯示器一樣,具有顯示信息量大,操作方便,顯示界面友好,適合惡劣的工業(yè)環(huán)境使用等特點(diǎn),但價(jià)格更高,一般與PLC配套使用。 LED或LCD數(shù)碼顯示器及自行設(shè)計(jì)的小鍵盤(pán):價(jià)格低廉、體積小是其最大優(yōu)點(diǎn),應(yīng)用于以MCU為控制器的系統(tǒng)中較合適??紤]價(jià)格及系統(tǒng)構(gòu)成等因素,人機(jī)交互界面采用LCD顯示和薄碼開(kāi)關(guān)選擇一些單片機(jī)需要處理的一些狀態(tài)。2.3 總體方案按照上述方案論證的結(jié)果,出租車(chē)計(jì)價(jià)器的總體方案框圖

14、如圖2.2所示。圖2.2中,傳感器輸出的脈沖信號(hào)直接連接單片機(jī)的外部中斷引腳,該脈沖信號(hào)輸入到MCU后。MCU對(duì)輸入的一定頻率的脈沖信號(hào)進(jìn)行處理,經(jīng)運(yùn)算后得到數(shù)據(jù),送LCD顯示器顯示,輸出數(shù)據(jù)供司機(jī)和乘客瀏覽。 圖2.3 總體方案框圖撥碼開(kāi)關(guān)可選擇白天模式和晚上模式,也可選擇是否等紅燈收費(fèi)。3 硬件電路設(shè)計(jì)3.1 單片機(jī)及其外圍電路微控制器采用AT89S52單片機(jī)。AT89S52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,

15、亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89S52在眾多嵌入式控制應(yīng)用系統(tǒng)中得到廣泛應(yīng)用.AT89S52的內(nèi)部資源主要包括:1、與MCS-51單片機(jī)產(chǎn)品兼容;2、8K字節(jié)在系統(tǒng)可編程Flash存儲(chǔ)器; 3、1000次擦寫(xiě)周期; 4、全靜態(tài)操作:0Hz-33MHz; 5、三級(jí)加密程序存儲(chǔ)器; 6、32個(gè)可編程I/O口線(xiàn); 7、三個(gè)16位定時(shí)器/計(jì)數(shù)器; 8、六個(gè)中斷源; 9、全雙工UART串行通道; 10、低功耗空閑和掉電模式; 11、掉電后中斷可喚醒; 12、看門(mén)狗定時(shí)器; 13、雙數(shù)據(jù)指針; 14、掉電標(biāo)識(shí)符 。 AT89S52的外圍電路主要包

16、括時(shí)鐘電路、復(fù)位電路。如圖3.1所示。圖3.1 AT89S52的接口電路3.2 光電傳感器與信號(hào)調(diào)理電路光碼盤(pán)即光柵碼盤(pán),在上面刻有許多同心碼道,每個(gè)碼道上都有按一定規(guī)律排列的透光和不透光部分。本系統(tǒng)光碼盤(pán)采用如今比較流行的金屬光碼盤(pán),如圖3.2.1所示。 圖3.2.1 光碼盤(pán)實(shí)物工作原理如圖3.2.2所示圖3.2.2 光碼盤(pán)工作原理工作時(shí),車(chē)輪轉(zhuǎn)動(dòng)通過(guò)機(jī)械機(jī)構(gòu)連接到管嗎盤(pán)上,光投射在碼盤(pán)上,碼盤(pán)隨運(yùn)動(dòng)物體一起旋轉(zhuǎn),透過(guò)亮區(qū)的光經(jīng)過(guò)狹縫后由光敏元件接受,光敏元件的排列與碼道一一對(duì)應(yīng),對(duì)于亮區(qū)和暗區(qū)的光敏元件輸出的信號(hào),前者為“1”,后者為“0”,當(dāng)碼盤(pán)旋轉(zhuǎn)在不同位置時(shí),光敏元件輸出信號(hào)的組合反

17、映出一定規(guī)律的數(shù)字量,代表了碼盤(pán)軸的角位移。本系統(tǒng)光碼盤(pán)有兩種輸出,一種是每個(gè)脈沖輸出一個(gè)脈沖,另一種是每轉(zhuǎn)一圈輸出一個(gè)脈沖,為了信號(hào)穩(wěn)定和減少單片機(jī)處理數(shù)據(jù)的負(fù)擔(dān),使用每圈輸出一個(gè)脈沖,經(jīng)測(cè)試,精度以足夠使用。3.3 顯示及鍵盤(pán)接口電路(1)顯示器接口電路出租車(chē)計(jì)價(jià)器運(yùn)行過(guò)程中需要顯示的信息包括:價(jià)格設(shè)定,等待時(shí)間顯示,行駛距離顯示,最終價(jià)格顯示。由于顯示的都可以用字符顯示,可用液晶1602顯示,1602液晶也叫1602字符型液晶,它是一種專(zhuān)門(mén)用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,

18、每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。 1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。 目前市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫(xiě)的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。1602采用標(biāo)準(zhǔn)的16腳接口,其中: 第1腳:VSS為電源地 第2腳:VCC接5V電源正極 第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì) 產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)

19、一個(gè)10K的電位器調(diào)整對(duì)比度)。 第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。 第5腳:RW為讀寫(xiě)信號(hào)線(xiàn),高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫(xiě)操作。 第6腳:E(或EN)端為使能(enable)端。 第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。編輯本段1602LCD的特性+3.3V電壓,對(duì)比度可調(diào) 內(nèi)含復(fù)位電路 提供各種控制命令,如:清屏、字符閃爍、光標(biāo)閃爍、顯示移位等多種功能 有80字節(jié)顯示數(shù)據(jù)存儲(chǔ)器DDRAM 內(nèi)建有192個(gè)5X7點(diǎn)陣的字型的字符發(fā)生器CGROM 8個(gè)可由用戶(hù)自定義的5X7

20、的字符發(fā)生器CGRAM。 1602LCD特征及應(yīng)用微功耗、體積小、顯示內(nèi)容豐富、超薄輕巧,常用在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中。由此按照?qǐng)D3.3.1連接圖3.3.1 1602液晶接口1602液晶數(shù)據(jù)口接單片機(jī)I/O口P2口,RS接P07,RW接P06,E接P05,其它接口如圖所示,VL接口可調(diào)節(jié)液晶對(duì)比度。(2)鍵盤(pán)接口電路本系統(tǒng)沒(méi)有使用復(fù)雜按鍵,只用了兩位簡(jiǎn)單的撥碼開(kāi)關(guān)一位選擇白天模式還是夜間模式,另一位選擇是否啟動(dòng)紅燈等待功能。3.4 電源電路電源直接由+5V輸入即可,只需要一種電源,簡(jiǎn)單易得,車(chē)載充電器即可實(shí)現(xiàn)+5V電源,無(wú)需另加電源模塊。4 系統(tǒng)軟件設(shè)計(jì)系統(tǒng)軟件分為主程序、中斷服務(wù)程序和

21、子程序三部分。4.1 主程序設(shè)計(jì)主程序是系統(tǒng)上電或復(fù)位后首先要執(zhí)行的程序,主程序主要完成系統(tǒng)的初始化、掃描顯示、掃描鍵盤(pán)等工作。本系統(tǒng)上電或復(fù)位時(shí),根據(jù)兩個(gè)撥碼開(kāi)關(guān)狀態(tài)可分為兩種模式,每種模式兩種狀態(tài),圖4.1 主程序流程圖系統(tǒng)上電后,單片機(jī)CPU自動(dòng)查詢(xún)撥碼開(kāi)關(guān),若選擇白天模式是,實(shí)行白天計(jì)費(fèi)標(biāo)準(zhǔn),若選擇夜間模式是時(shí),進(jìn)入夜間計(jì)費(fèi)標(biāo)準(zhǔn),程序執(zhí)行過(guò)程中會(huì)查詢(xún)撥碼開(kāi)關(guān)是否開(kāi)啟紅燈等待計(jì)費(fèi)功能,如果是,則執(zhí)行紅燈等待計(jì)費(fèi)程序,然后執(zhí)行總計(jì)價(jià)程序,如果否,則不執(zhí)行紅燈等待計(jì)費(fèi)程序,直接執(zhí)行總計(jì)價(jià)程序,得出最終價(jià)格。按照上述分析,主程序流程圖如圖4.1所示。4.2 中斷服務(wù)程序設(shè)計(jì)從主程序的設(shè)計(jì)可以知

22、道:定時(shí)器T0定義為方式1外部計(jì)數(shù)方式,用于產(chǎn)生5ms的時(shí)鐘周期,在主程序中累加1000次產(chǎn)生5s的時(shí)間,每隔5s執(zhí)行程序計(jì)算出租車(chē)行駛距離,判斷是否為等紅燈。外部中斷0為接受光碼盤(pán)傳感器傳來(lái)的脈沖信號(hào),每來(lái)一個(gè)脈沖產(chǎn)生一個(gè)中斷,計(jì)數(shù)加一,由此查看計(jì)數(shù)的數(shù)值就可以指導(dǎo)出租車(chē)行駛的距離。外部中斷流程圖如圖4.2.1所示。圖4.2.1 外部中斷服務(wù)程序流程圖T0定時(shí)器中斷流程圖如圖4.2.2所示。圖4.2.2 T0定時(shí)器中斷服務(wù)程序流程圖在執(zhí)行外部中斷時(shí)會(huì)暫停定時(shí)器中斷,雖然會(huì)有微小誤差,但可避免計(jì)數(shù)出錯(cuò)。4.3 部分主要子程序的設(shè)計(jì)系統(tǒng)主要子程序包括距離顯示子程序、金額顯示子程序,等待時(shí)間顯示子

23、程序等。(1) 距離顯示字程序距離顯示子程序是輸入一個(gè)浮點(diǎn)型數(shù)據(jù),將數(shù)據(jù)拆開(kāi)為千位,百位,十位,個(gè)位,小數(shù)點(diǎn),十分位,然后再寫(xiě)入地址,在每一位的地址寫(xiě)入對(duì)應(yīng)數(shù)據(jù),此時(shí)數(shù)據(jù)已經(jīng)為字符型。(2) 金額顯示子程序金額顯示子程序是輸入一個(gè)浮點(diǎn)型數(shù)據(jù),將數(shù)據(jù)拆開(kāi)為千位,百位,十位,個(gè)位,小數(shù)點(diǎn),十分位,然后再寫(xiě)入地址,在每一位的地址寫(xiě)入對(duì)應(yīng)數(shù)據(jù),此時(shí)數(shù)據(jù)已經(jīng)為字符型。當(dāng)不足2公里時(shí)顯示起步價(jià),當(dāng)超過(guò)3公里時(shí),按照計(jì)算公式顯示,計(jì)算公式為:總價(jià)=起步價(jià)+0.1*每公里單價(jià)*(行駛距離-3000)/100+1)。(3) 等待時(shí)間顯示子程序等待時(shí)間顯示子程序是輸入一個(gè)整型數(shù)據(jù),將數(shù)據(jù)拆開(kāi)為千位,百位,十位,個(gè)

24、位,然后再寫(xiě)入地址,在每一位的地址寫(xiě)入對(duì)應(yīng)數(shù)據(jù),此時(shí)數(shù)據(jù)已經(jīng)為字符型??偝绦蛄鞒虉D如圖4.2.3所示。圖4.2.3 總流程圖5 系統(tǒng)調(diào)試與總結(jié)系統(tǒng)研制完成后,在實(shí)驗(yàn)室進(jìn)行了系統(tǒng)功能測(cè)試和技術(shù)指標(biāo)測(cè)試。測(cè)試結(jié)果符合系統(tǒng)技術(shù)指標(biāo)規(guī)定。5.1 系統(tǒng)調(diào)試1.白天夜間模式選擇調(diào)試當(dāng)撥碼開(kāi)關(guān)選擇白天模式時(shí),即P11為1時(shí),即為白天模式,起步價(jià)顯示為08 Y(元),初始價(jià)顯示為08+1.5*S Y(元),如圖5.1.1.1。當(dāng)撥碼開(kāi)關(guān)選擇夜間模式時(shí),即為P11為0,即為夜間模式,起步價(jià)顯示為10 Y,初始價(jià)顯示為10+1.5*S Y,如圖5.1.1.2.圖5.1.1.1 白天模式選擇顯示圖5.1.1.2 夜

25、間模式選擇顯示2.是否開(kāi)啟紅燈等待功能調(diào)試當(dāng)撥碼開(kāi)關(guān)選擇開(kāi)啟紅燈等待計(jì)費(fèi)功能時(shí),即P10為0時(shí),等待紅燈時(shí)會(huì)計(jì)費(fèi),當(dāng)沒(méi)有脈沖輸入時(shí),即為等待紅燈,當(dāng)一開(kāi)始就沒(méi)有脈沖輸入時(shí),只按等待時(shí)間計(jì)費(fèi),而不按行程計(jì)費(fèi)。計(jì)費(fèi)圖如圖5.1.2.圖5.1.2 等待紅燈計(jì)費(fèi)顯示3.行程計(jì)費(fèi)當(dāng)行駛距離小于3000米時(shí),只收起步價(jià),如圖5.1.3.1。當(dāng)行駛距離大于3000米時(shí),按計(jì)算公式是收費(fèi),如圖5.1.3.2圖5.1.3.1 只收起步價(jià)圖5.1.3.2 按計(jì)算公式收費(fèi)測(cè)試結(jié)果符合系統(tǒng)技術(shù)指標(biāo)規(guī)定。5.2 總結(jié)MCU具有體積小、重量輕、價(jià)格低廉的特點(diǎn),應(yīng)用于自動(dòng)控制系統(tǒng)中可以有效降低系統(tǒng)的成本。針對(duì)不同工業(yè)現(xiàn)場(chǎng)的

26、情況,采取相應(yīng)的抗干擾措施,可以在環(huán)境惡劣的工業(yè)現(xiàn)場(chǎng)可靠地運(yùn)行。數(shù)據(jù)采集用光碼盤(pán),具有轉(zhuǎn)換精度高、抗工頻干擾能力強(qiáng)、易于實(shí)現(xiàn)光電隔離以及價(jià)格低廉等特點(diǎn),顯示采用1602液晶顯示,實(shí)用簡(jiǎn)單,操作方便,顯示清晰明了。合理確定外圍元件的參數(shù)是保證數(shù)據(jù)采集精度的關(guān)鍵。撥碼開(kāi)關(guān)可自由選擇模式和狀態(tài),使用方便靈活。參考文獻(xiàn)1 張迎新單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M北京:國(guó)防工業(yè)出版社,20042 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版)北京:高等教育出版社,20063 康華光. 電子技術(shù)基礎(chǔ) 模擬部分(第五版).北京;高等教育出版社,20064 郭天祥. 新概念51單片機(jī)C語(yǔ)言教程-入門(mén)、提高、開(kāi)發(fā)、

27、拓展全攻略. 北京;電子工業(yè)出版社,2009附錄A 系統(tǒng)原理圖附錄B 源程序#include #define uchar unsigned char #define uint unsigned intsbit rs=P07;/數(shù)據(jù)命令選擇sbit lcden=P05;/lcd使能sbit rw=P06;/lcd讀寫(xiě)控制sbit day=P11;/白天夜晚選擇sbit deng=P10;/是否開(kāi)啟紅燈等待計(jì)費(fèi)/sbit v4=P00;/調(diào)試時(shí)產(chǎn)生速度uchar day_price=8,night_price=10,i;float danjia=1.5;uint n=0,k=0,stopnum=0

28、;unsigned long int temp=0;uchar code tabled= s 08+1.5*S Y;uchar code tablen= s 10+1.5*S Y;uchar code tabledp=000.0km 0008.0 Y;uchar code tablenp=000.0km 0010.0 Y; void delay(uint z)/延時(shí)函數(shù)uint x,y;for(x=z;x0;x-)for(y=110;y0;y-);void write_com(uchar com)/寫(xiě)液晶命令函數(shù)rs=0;lcden=0;P2=com;delay(3);lcden=1;dela

29、y(3);lcden=0;void write_date(uchar date)/寫(xiě)液晶數(shù)據(jù)函數(shù)rs=1;lcden=0;P2=date;delay(3);lcden=1;delay(3);lcden=0;void write_km(unsigned long int date)/第一行寫(xiě)距離,寫(xiě)5占7uchar bai,shi,ge,shifen;shifen=(int)(date/100)%10;ge=date/1000%10;if(date=10000)shi=date/10000%10;if(date=)bai=date/%10;elsebai=0;elseshi=0;write_co

30、m(0x80);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30+ge);write_date(.);write_date(0x30+shifen);void write_stoptime(int num) /寫(xiě)等待時(shí)間char qian,bai,shi,ge;int time;time=num*5;ge=time%10;shi=time/10%10;bai=time/100%10;qian=time/1000%10;write_com(0x80+0x40);write_date(0x30+qian);write_date(0x

31、30+bai);write_date(0x30+shi);write_date(0x30+ge);void write_price(float date)/第一行顯示價(jià)格,10開(kāi)始,寫(xiě)6占7滿(mǎn)char qian,bai,shi,yuan,jiao;jiao=(int)(date*10)%10;yuan=(int)date%10;shi=(int)(date/10)%10;bai=(int)(date/100)%10;qian=(int)(date/1000)%10;write_com(0x80+8);write_date(0x30+qian);write_date(0x30+bai);write_date(0x30+shi);write_date(0x30

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論