系列單片機(jī)出租車計價器控制系統(tǒng)設(shè)計方案_第1頁
系列單片機(jī)出租車計價器控制系統(tǒng)設(shè)計方案_第2頁
系列單片機(jī)出租車計價器控制系統(tǒng)設(shè)計方案_第3頁
系列單片機(jī)出租車計價器控制系統(tǒng)設(shè)計方案_第4頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、個人資料整理僅限學(xué)習(xí)使用編號:本科畢業(yè)設(shè)計基于 51 系列單片機(jī)的出租車計價器控制系統(tǒng)設(shè)計系<院):信息工程學(xué)院姓名 :學(xué)號:專業(yè):通信工程年級:指導(dǎo)教師:職稱:完成日期:個人資料整理僅限學(xué)習(xí)使用摘 要隨著社會的進(jìn)步,電子類產(chǎn)品也得到了廣泛的發(fā)展,尤其是單片機(jī)的發(fā)展異常迅速。由于單片機(jī)的特殊結(jié)構(gòu)形式,在某些應(yīng)用領(lǐng)域中,它承擔(dān)了一些通用的微型計算機(jī)無法完成的工作,它是一種高性能,低價格的處理器,集成度高,體積小,可靠性又高,控制功能強(qiáng),電壓低。由于單片機(jī)具有這些特點,人類的生活應(yīng)用中十分廣泛。本電路以 AT89C51 單片機(jī)為中心,附加 A44E 霍爾傳感器測距 <本電路中用模擬開關(guān)

2、替代),實現(xiàn)對出租車計價,采用 FM24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價,輸出采用 8 段數(shù)碼顯示管,顯示行駛總里程和總金額。模擬出租車計價器設(shè)計:進(jìn)行里程顯示,預(yù)設(shè)起步價和起步公里數(shù);行程按全程收費(fèi),有復(fù)位功能和啟動功能,啟動后,開始計價。我們采用單片機(jī)進(jìn)行設(shè)計,可以用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜蟻韺崿F(xiàn)設(shè)計要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能 ,應(yīng)用前景廣闊。關(guān)鍵詞:計價器;?;魻杺鞲衅?;斷電保存?zhèn)€人資料整理僅限學(xué)習(xí)使用AbstractAs society advances, electronic products have been widely developed

3、. Exceptionally rapid development of the microcontroller. Due to the special structure of the microcontroller, in some applications, it bears some of the common micro-computer could not be done, it is a high performance, low price processor. High integration, small size, high reliability, and contro

4、l functions, low voltage. Microcontroller with these characteristics, a wide range of application of human life.The AT89C51 microcontroller circuit as the center, add A44E Hall sensor distance (instead of the circuit using analog switches>, to achieve the taxi meter, using FM24C02 achieve when st

5、ored in the system power-down unit, 8-segment LED output display tube shows the total mileage and total amount of driving.Taximeter analog design: the mileage display, the default starting price and the starting mileage。 travel by full fare, a reset and start, start, start pricing. We use single chi

6、p design, you can use less hardware and appropriate software to meet the design requirements of mutual cooperation, and flexibility, through software programming to accomplish more additional features, a bright future.Keywords: taxi meter。Hall sensors。save power個人資料整理僅限學(xué)習(xí)使用目錄1 緒論 11.1 課題背景與意義 11.2 計

7、價器的現(xiàn)狀 12 出租車計價系統(tǒng)的設(shè)計要求與設(shè)計方案32.1 出租車計價器概述32.2 系統(tǒng)主要功能 32.3 方案論證與比較 33 系統(tǒng)硬件設(shè)計 43.1 設(shè)計方案與硬件說明43.2 硬件設(shè)計說明 43.3 硬件電路組成 7驅(qū)動電路 8顯示電路 9復(fù)位電路 10掉電保護(hù)電路 11時鐘電路 12按鍵電路 124 系統(tǒng)軟件設(shè)計 144.1 軟件總體設(shè)計 144.2 系統(tǒng)程序設(shè)計 145 系統(tǒng)調(diào)試 165.1 軟件調(diào)試 16編程工具 C51 語言 16程序調(diào)試工具 KEIL16單片機(jī)仿真軟件在線調(diào)試 PROTEUS175.2 系統(tǒng)仿真 17總結(jié) 19個人資料整理僅限學(xué)習(xí)使用致謝 20參考文獻(xiàn) 21

8、附錄 22個人資料整理僅限學(xué)習(xí)使用1 緒 論1.1課題背景與意義隨著出租車行業(yè)的發(fā)展,出租車已經(jīng)是城市交通的重要組成部分,從加強(qiáng)行業(yè)管理以及減少司機(jī)與乘客的糾紛出發(fā),具有良好性能的計價器對出租車司機(jī)和乘客來說都是很必要的。我們知道,只要乘坐的出租車啟動,隨著行駛里程的增加,就會看到司機(jī)旁邊的計價器里程數(shù)字顯示的讀數(shù)從零逐漸增大,而當(dāng)行駛到某一值時 < 如 2KM )計費(fèi)數(shù)字顯示開始從起步價 <如 4 元)增加。當(dāng)乘客到站時,按下停止按鍵,計費(fèi)數(shù)字顯示總里程和總金額,它可以很直觀的反映用戶使用情況。出租車是城市交通的重要組成部分,行業(yè)健康和發(fā)展也獲得越來越多的關(guān)注。汽車計價器是乘客與

9、司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計價器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的,因此,汽車計價器的研究也是十分有一個應(yīng)用價值的。通過本次設(shè)計,可以增進(jìn)對單片機(jī)的感性認(rèn)識,加深對其理論方面的理解,掌握單片機(jī)的內(nèi)部功能模塊的應(yīng)用,了解掌握單片機(jī)的軟硬件設(shè)計過程、方法及實現(xiàn)。1.2 計價器的現(xiàn)狀出租車計價器是出租車營運(yùn)收費(fèi)的專用智能儀表,目前市面所使用的計價器大都功能較少。隨著人們生活水平的不斷提高,出租車的使用頻率也越來越高,出租車行業(yè)也以高質(zhì)量的服務(wù)給人們帶來了出行的享受。但是由于行業(yè)的特殊性,出租車行業(yè)總

10、存在著買糾紛,困擾著行業(yè)的發(fā)展。給服務(wù)質(zhì)量及管理帶來一定影響。隨著電子技術(shù)的發(fā)展,出租車計價器技術(shù)也在不斷進(jìn)步和提高。國內(nèi)出租車計價器已經(jīng)經(jīng)歷了 4 個階段的發(fā)展。從傳統(tǒng)的全部由機(jī)械元器件組成的機(jī)械式到半電子式,即用電子線路代替部分機(jī)械元器件的出租車計價器。而功能齊全的計價器大都采用雙CPU 結(jié)構(gòu),這就提高了計價器的生產(chǎn)成本。在考慮成本和使用的基礎(chǔ)上,本設(shè)計介紹了一種以AT89C51 單片機(jī)為核心個人資料整理僅限學(xué)習(xí)使用的,具有計時、計價、性能可靠、電路簡單、成本低等特點的多功能出租車計價器,能夠很好的滿足市場對出租車計價器的要求。本設(shè)計的目的就是通過對現(xiàn)有計價器的分析,解決計價器的問題,同時

11、完成具有單價輸出、單價調(diào)整、路程輸出等功能的新型計價器的硬件和軟件設(shè)計。個人資料整理僅限學(xué)習(xí)使用2 出租車計價系統(tǒng)的設(shè)計要求與設(shè)計方案2.1出租車計價器概述計價器顯示的營運(yùn)金額是營運(yùn)里程與價格。出租車計價器通過傳感器與行駛車輛連接,但在此次課程設(shè)計中,因沒有傳感器,所以用鍵盤取代,用按鍵的次數(shù)來代表里程數(shù)。該課程設(shè)計的出租車計價器功能主要有具有數(shù)據(jù)的復(fù)位功能、單價修改功能、數(shù)據(jù)輸出功能、計價功能等。2.2系統(tǒng)主要功能本課程設(shè)計所設(shè)計的出租車計價器的主要功能有:數(shù)據(jù)的復(fù)位、單價修改、數(shù)據(jù)輸出、計價、單價輸出及調(diào)整、路程輸出等功能。輸出采用 8 段數(shù)碼顯示管。本電路設(shè)計的計價器不但能實現(xiàn)基本的計價

12、,而且還能手動來調(diào)節(jié)單價。2.3方案論證與比較方案一:采用數(shù)字電路控制采用傳感器件,輸出脈沖信號,經(jīng)過放大整形作為移位寄存器的脈沖,實現(xiàn)計價,但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價,也不能根據(jù)天氣調(diào)節(jié)計費(fèi)標(biāo)準(zhǔn),電路不夠?qū)嵱?。方案二:采用單片機(jī)控制利用單片機(jī)豐富的 I/O 端口,及其控制的靈活性,實現(xiàn)基本的里程計價功能和價格調(diào)節(jié)、時鐘顯示功能。通過比較以上兩種方案,單片機(jī)方案有較大的活動空間,不但能實現(xiàn)所要求的功能,而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對系統(tǒng)進(jìn)行升級,所以采用后一種方案更好些。個人資料整理僅限學(xué)習(xí)使用3 系統(tǒng)硬件設(shè)計3.1設(shè)計方案與硬件說明采用單片機(jī)

13、進(jìn)行的設(shè)計,相對來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎貙崿F(xiàn)設(shè)計要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能。設(shè)計采用AT89C51 單片機(jī)為主控器,以A44E 霍爾傳感器測距 <按鍵替代),實現(xiàn)對出租車的基本的計價設(shè)計,并采用FM24C02 實現(xiàn)在系統(tǒng)掉電的時候保存單價等信息,輸出采用8 段數(shù)碼顯示管。利用單片機(jī)豐富的I/O 端口,及其控制的靈活性,實現(xiàn)基本的計價功能。其系統(tǒng)結(jié)構(gòu)圖如圖3.1 所示:按鍵控制復(fù)位電路掉電保護(hù)時鐘電路89C51單片機(jī)顯示總里程和總金額顯示模塊圖 3.1 系統(tǒng)結(jié)構(gòu)圖本電路設(shè)計的計價器能實現(xiàn)基本的計價功能,單片機(jī)計算總價的公式為:總

14、價 =起步價 +單價 *< 總里程 -起步里程) +1。 AT89C51 作為一個單片微型計算系統(tǒng),靈活性高,其強(qiáng)大的控制處理功能和可擴(kuò)展功能設(shè)計電路提供了很好的選擇。3.2硬件設(shè)計說明單片機(jī)是單片微型計算機(jī)的簡稱,單片機(jī)以其卓越的性能,得到廣泛的應(yīng)用,已經(jīng)深入到各個領(lǐng)域。在這次設(shè)計中,我們用到P0 口和 P2 口,P0 口為 8位三態(tài) I/O 口,此口為地址總線及數(shù)據(jù)總線分時復(fù)用; P2 口為 8 位準(zhǔn)雙向口,與地址總線高八位復(fù)用; P0 口和 P2 口都有一定的驅(qū)動能力, P0 口的驅(qū)動能力較強(qiáng)。個人資料整理僅限學(xué)習(xí)使用設(shè)計中,為了能夠讓數(shù)碼管更好的正常顯示,我們采用了驅(qū)動電路來驅(qū)動

15、。在本次硬件設(shè)計中,我們考慮采用芯片74LS245 來驅(qū)動數(shù)碼管顯示。設(shè)計電路時,考慮到用里程<霍爾)傳感器價格昂貴,且不便于實驗檢測,在設(shè)計中采用一個模擬開關(guān)來代替。模擬開關(guān)一端接在P3.4 口,另一端接地,通過來回高低電平的變化,每按兩次,對應(yīng)的里程數(shù)加一。通過在程序中設(shè)置的里程和金額的信息,在加上驅(qū)動電路的設(shè)計,就可以在數(shù)碼管上分別顯示總金額和總里程。在顯示方面,可以用液晶顯示,也可以用數(shù)碼管進(jìn)行顯示。由于在這次設(shè)計中只需要顯示里程和金額信息,我們采用數(shù)碼管進(jìn)行顯示。這樣既節(jié)約了成本,又可以達(dá)到顯示的目的。同時為了減少硬件的復(fù)雜度,我們采用了動態(tài)顯示方式,選用了共陰極數(shù)碼管。為了焊

16、接方便,我們選用了集成在一起的數(shù)碼管。我們還設(shè)計了控制按鍵,能夠很好的對出租車計價器控制,如啟動/停止按鍵,清零按鍵等。AT89C51 單片機(jī)簡介:AT89C51 是美國 ATMEL 公司生產(chǎn)的低功耗,高性能CMOS 8 位單片機(jī),片內(nèi)含4KB的可系統(tǒng)編程的Flash 只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程<ISP)也可用傳統(tǒng)方法進(jìn)行編程及通用8 位微處理器于單片芯片中,具有高性價比,其引腳配置如圖3.2 所示。個人資料整理僅限學(xué)習(xí)使用圖 3.2 AT89C51 引腳配置AT89C51 芯

17、片的 40 個引腳功能為:VCC 電源電壓。GND 接地。RST 復(fù)位輸入。當(dāng) RST 變?yōu)楦唠娖讲⒈3?2 個機(jī)器周期時,將使單片機(jī)復(fù)位。 WDT 溢出將使該引腳輸出高電平,設(shè)置 SFR AUXR 的 DISRTO 位<地址 8EH)可打開或關(guān)閉該功能。 DISKRTO 位缺省為 RESET 輸出高電平打開狀態(tài)。XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩放大器的輸出。P0 口 一組 8 位漏極開路型雙向 I/O 口。也即地址 /數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動 8 個 TTL 邏輯門電路,對端口寫“ 1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)

18、存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址 <低 8 位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在 Flash編程時, P0 口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。P1 口一個帶內(nèi)部上拉電阻的8 位雙向 I/O 口, P1 的輸出緩沖級可驅(qū)動 <吸個人資料整理僅限學(xué)習(xí)使用收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流<IIL )。 Flash 編程和程序校驗期間, P1 接收低 8 位地址。 P1

19、 口部分端口引腳及功能如表3.1 所示。表 3.1 P1 口特殊功能P1 口引腳特殊功能P1.5MOSI< 用于 ISP 編程)P1.6MOSI< 用于 ISP 編程)P1.7SCK< 用于 ISP 編程)P2 口 一個帶內(nèi)部上拉電阻的8 位雙向 I/O 口。 P1 的輸出緩沖級可驅(qū)動 <吸收或輸出電流) 4 個 TTL 邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流<IIL )。在訪問外部程序存儲器或 16 位地址的外部數(shù)據(jù)存儲器時,P2 口送出高 8

20、位地址數(shù)據(jù)。在訪問8 位地址的外部數(shù)據(jù)存儲器時,P2 口線上的內(nèi)容在整個訪問期間不改變。Flash 編程和程序校驗期間, P2亦接收低 8 位地址。P3 口一個帶內(nèi)部上拉電阻的8 位雙向 I/O 口。 P3 的輸出緩沖級可驅(qū)動 <吸收或輸出電流) 4 個 TTL 邏輯門電路。對P3 口寫“ 1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的P3 口將用上拉電阻輸出電流 <IIL )。 P3 口除了作為一般的I/O 口線外,更重要的用途是它的第二功能,如表3.2 所示。 P3 口還接收一些用于Flash閃速存儲器編程和程序校驗期間的控制信號。表 3.

21、2 P3 口特殊功能P3 口引腳特殊功能P3.0RXD< 串行輸入口)P3.1TXD< 串行輸出口)P3.2<外部中斷0)P3.3<外部中斷1)P3.4T0< 定時器 0 外部輸入)個人資料整理僅限學(xué)習(xí)使用P3.5T1< 定時器 1 外部輸入)P3.6<外部數(shù)據(jù)存儲器寫選通)P3.7<外部數(shù)據(jù)存儲器讀選通)硬件系統(tǒng)設(shè)計說明:按下計價按鍵時,顯示起步價和起步里程范圍,這些在程序中設(shè)置;當(dāng)?shù)扔诨虺^兩公里后,按計算總價的公式為:總價 =起步價 +單價 *< 總里程 -起步里程) +1 進(jìn)行計價。本設(shè)計中,起步價為 4 元,起步里程為 2 公里,

22、當(dāng)然這些數(shù)據(jù)可以在程序中改寫,以滿足不同時期價格調(diào)整的需要。3.3硬件電路組成硬件組成主要包括:驅(qū)動電路、顯示電路、復(fù)位電路、掉電保護(hù)電路、時鐘電路、按鍵電路。其整體電路圖 3.3 所示:圖 3.3 計價器整體電路圖驅(qū)動電路74LS245 是我們常用的芯片,用來驅(qū)動led 或者其他的設(shè)備??偩€驅(qū)動器個人資料整理僅限學(xué)習(xí)使用74LS244 和 74LS245 經(jīng)常用作三態(tài)數(shù)據(jù)緩沖器,器,而 74LS245 為雙向三態(tài)數(shù)據(jù)緩沖器。本設(shè)計用74LS244 為單向三態(tài)數(shù)據(jù)緩沖74LS245 作為驅(qū)動芯片,雙向總線發(fā)送器 /接收器 (3S>,管腳圖如圖 3.4 所示。圖 3.4 驅(qū)動芯片管腳圖74

23、LS245 主要電器特性的典型值如下:引出端符號:A A 總線端B B 總線端三態(tài)允許端 (低電平有效 >DIR方向控制端功能表如表 3.3 所示:表 3.3 功能表EnableDirectionLLHControlDIRLHXOperationB data to A busA data to B busIsolation利用74LS245 來驅(qū)動數(shù)碼管顯示,單片機(jī)的P2.0 到P2.5 分別接A0到A5管腳,進(jìn)行數(shù)據(jù)的傳送,其中AB/BA接高電平,控制數(shù)據(jù)從A 到B 進(jìn)行傳送,B0 到B5 分別接數(shù)碼管的位選端,驅(qū)動數(shù)碼管依次顯示。P2.0 到P2.5 的數(shù)據(jù)通過 A 傳送到 B 中的

24、數(shù)據(jù)送到數(shù)碼管,以達(dá)到顯示數(shù)據(jù)信息的目的。個人資料整理僅限學(xué)習(xí)使用顯示電路多數(shù)的應(yīng)用系統(tǒng)都要配輸入和輸出,外設(shè)LED 顯示器和LCD 顯示器,雖然 LCD 顯示效果比較好,已經(jīng)成為了一種發(fā)展趨勢,但為了節(jié)約成本,我們選用了 LED 顯示器 <圖 3.5)。圖 3.5 集成數(shù)碼管在顯示方面,我們選用了動態(tài)顯示。靜態(tài)顯示雖然亮度較高,接口編程容易,但是每位的段碼線分別與一個8 位的鎖存器輸出相連。占用的I/O 口線比較多,在顯示位數(shù)較多的情況下,一般都采用動態(tài)顯示方式。利用動態(tài)顯示的方法,由于LED 顯示器的余輝和人眼的視覺暫留現(xiàn)象,只要每位顯示的時間間隔足夠短,就仍能感覺到所有的數(shù)碼管都在

25、顯示。為了簡化硬件,通常將所有位的段碼線相應(yīng)段并聯(lián)在一起,由一個8 位I/O口控制,在同一時刻,只讓一位選通,如此循環(huán),就可以使各位顯示出將要顯示的字符。LED數(shù)碼有共陽和共陰兩種,把這些LED發(fā)光二極管的正極接到一塊<一般是拼成一個8 字加一個小數(shù)點)而作為一個引腳,就叫共陽的,相反的,就叫共陰的,那么應(yīng)用時這個腳就分別的接VCC和 GND。再把多個這樣的8 字裝在一起就成了多位的數(shù)碼管了。在本設(shè)計仿真中使用的是6 個一組的共陰8段數(shù)碼管<圖3.6)。圖 3.6 LED 數(shù)碼管找公共共陰和公共共陽的方法:首先我們找個電源穩(wěn)壓器<3到5伏)和 1個 1K<幾百歐的也行)

26、的電阻,VCC 串接 1 個電阻后和GND 接在任意 2 個腳個人資料整理僅限學(xué)習(xí)使用上,組合有很多,但總有一個 LED 會發(fā)光的,找到一個就夠了,然后用 GND 不動, VCC< 串電阻)逐個碰剩下的腳,如果有多個 LED< 一般是 8 個),那它就是共陰的了。共陰極數(shù)碼管,陰極接地,當(dāng)某個發(fā)光二極管的陽極為高電平時,發(fā)光二極管點亮,對應(yīng)的段就顯示。復(fù)位電路單片機(jī)的復(fù)位是由外部的復(fù)位電路實現(xiàn)的,復(fù)位電路通常采用上電自動復(fù)位和按鈕復(fù)位兩種方式。上電自動復(fù)位是通過外部復(fù)位電路的電容充電來實現(xiàn)的。除了上電復(fù)位外還需要按鍵手動復(fù)位<圖 3.7)。按鍵手動復(fù)位有電平方式和脈沖方式兩種

27、。其中電平復(fù)位是通過RST 端經(jīng)電阻與電源VCC 接通而實現(xiàn)的。單片機(jī)的復(fù)位速度比外圍I/O 接口電路快,為能夠保證系統(tǒng)可靠的復(fù)位,在初始化程序中應(yīng)安排一定的復(fù)位延遲時間。圖 3.7 復(fù)位電路掉電保護(hù)電路掉電保護(hù)電路中采用了存儲芯片F(xiàn)M24C02。FM24C02 是一個CMOS 標(biāo)準(zhǔn)的EEPROM 存儲器,是FM24CXX系列<FM24C01/02/04/08/16)成員之一,這些EEPROM 存儲器的特點是功耗小、成本低、電源范圍寬,靜態(tài)電源電流約30uA 110uA,具有標(biāo)準(zhǔn)的I2C 總線接口,是應(yīng)用廣泛的小容量存儲器之一。圖 3.8FM24C02 引腳圖個人資料整理僅限學(xué)習(xí)使用圖

28、3.8 是 FM24C02 的引腳圖,這個芯片是一個8 腳芯片,內(nèi)部存儲器有256 字節(jié)。引腳功能介紹如下:A0<引腳 1):器件地址的 A0 位,是器件地址的最低位,器件地址排列是 A6 A5 A4 A3A2 A1 A0 R/W 。A1<引腳 2):器件地址的A1 位。A2<引腳 3):器件地址的A2 位。GND<引腳 4):地線。SDA<引腳 5):數(shù)據(jù)總線引腳。SCL<引腳 6):時鐘總線引腳。TEST<引腳 7):測試引腳。Vcc<引腳 8):電源線引腳。本設(shè)計采用掉電存儲電路圖如圖3.9:圖 3.9 掉電存儲電路時鐘電路MCS-51 單

29、片機(jī)的各功能部件都是以時鐘控制信號為基準(zhǔn),內(nèi)部電路在時鐘信號的控制下,嚴(yán)格地按時序執(zhí)行指令進(jìn)行工作,單片機(jī)本身如同一個復(fù)雜的同步時序電路,為了保證其各個部分同步工作,電路要在唯一的時鐘信號控制下,嚴(yán)格地按照時序進(jìn)行工作。其實只需在時鐘引腳連接上外圍的定時控制元件,就可以構(gòu)成一個穩(wěn)定的自激振蕩器。為更好地保證振蕩器穩(wěn)定可靠地工作,諧振器和電容應(yīng)盡可能安裝得與單片機(jī)芯片靠近。本設(shè)計中使用的振蕩電路,由12MHZ 晶體振蕩器和兩個約30PF 的電容組成,在XTAL1和 XTAL2兩端跨接晶體,電容的大小不會影響振蕩頻率的高低。在整個系統(tǒng)中為系統(tǒng)各個部分提供基準(zhǔn)頻率,以防因其工作頻率不穩(wěn)定而造成相關(guān)設(shè)

30、備的工作頻率不穩(wěn)定,晶振可以在電路中產(chǎn)生振蕩電流,發(fā)出時鐘個人資料整理僅限學(xué)習(xí)使用信號。如圖 3.10 所示。圖 3.10 時鐘電路按鍵電路按鍵控制電路中,單片機(jī)的P1.0 管腳接啟動 /停止按鍵,通過軟件編程,當(dāng)按下按鍵計數(shù)器開始工作,開始計價;當(dāng)彈起按鍵時,計數(shù)器停止工作,停止計價,啟動 /停止按鍵帶自鎖功能。按下啟動按鍵,開關(guān)處于導(dǎo)通狀態(tài),這時給P1.0 送低電平信號,這時TR0=1,計數(shù)器開始工作,調(diào)用計價子程序開始計價。清零按鍵接單片機(jī)的P1.3 管腳,按下清零按鍵, P1.3 為低電平,調(diào)用清零子程序,用于將顯示數(shù)據(jù)清零,在程序中給各位賦0 代碼 <0x3f ),以達(dá)到清零的

31、目的,方便下次計價。另外為功能鍵,控制價格調(diào)整,這個按鍵是在沒有按下啟動 /停止按鍵時有作用,計價過程中無效,按鍵電路如圖3.11 所示。圖 3.11 按鍵電路個人資料整理僅限學(xué)習(xí)使用4 系統(tǒng)軟件設(shè)計4.1軟件總體設(shè)計51 單片機(jī)的程序設(shè)計語言主要有兩種:一是匯編程序設(shè)計;二是C 語言編程設(shè)計,兩種程序設(shè)計語言都有各自的優(yōu)點。用匯編語言編寫和高級語言(C語言 >比較起來節(jié)省空間,這樣對于存儲空間僅4Kb的芯片來說是極之有利的,51 單片機(jī)能更高速的運(yùn)行。C 語言編寫的程序,雖然不象匯編那樣速度快、但程序簡單易行、并且需要較小的存儲空間。 C 語言作為一種編譯型程序設(shè)計語言,它兼顧了多種高

32、級語言的特點,并具備匯編語言的功能。此外, C 語言程序還具有完善的模塊程序結(jié)構(gòu),從而為軟件開發(fā)中采用模塊化程序設(shè)計方法提供了有力的保障。因此,使用C 語言進(jìn)行程序設(shè)計已成為軟件開發(fā)的主流。本設(shè)計就是采用 C 語言編寫的,由于采用模塊化操作,使得程序在修改,執(zhí)行的時候顯得方便易行。4.2系統(tǒng)程序設(shè)計本設(shè)計中,軟件設(shè)計采用模塊化操作,利用各個模塊之間的相互聯(lián)系,在設(shè)計中采用主程序調(diào)用各個子程序的方法,使程序通俗易懂,我們設(shè)計了整體程序流程圖:在 main 函數(shù)編寫開始,要進(jìn)行初始化,包括對系統(tǒng)初始化和對存儲器初始化,要對硬件設(shè)備進(jìn)行初始化,并使硬件處于就緒狀態(tài)。通過判斷是否計費(fèi),調(diào)價,清零等狀態(tài)

33、,來分別調(diào)用不同的子程序,使程序在設(shè)計之前,就有了很強(qiáng)的邏輯關(guān)系。這些對應(yīng)于硬件就是通過按下各個控制開關(guān),來分別進(jìn)行不同的動作,最后數(shù)碼管根據(jù)輸入的信息,來顯示不同的數(shù)據(jù)信息,這就達(dá)到了軟件控制硬件,同時輸入信息控制輸出信息的目的。整個程序的流程圖如圖 4.1 所示:個人資料整理僅限學(xué)習(xí)使用初始化開始顯示N判斷是否進(jìn)入調(diào)價模式Y(jié)進(jìn)入調(diào)價模式N判斷是否開始計費(fèi)Y調(diào)用計費(fèi)子程序N判斷是否停止鍵按下Y結(jié)果顯示清顯示單價復(fù)位圖 4.1 系統(tǒng)程序流程圖個人資料整理僅限學(xué)習(xí)使用5 系統(tǒng)調(diào)試系統(tǒng)調(diào)試包括軟件調(diào)試和硬件調(diào)試。硬件調(diào)試的任務(wù)是排除所焊接電路故障。軟件調(diào)試是利用開發(fā)工具進(jìn)行在線仿真調(diào)試。調(diào)試的一般

34、過程如圖5.1 所示:系統(tǒng)調(diào)試硬件調(diào)試軟件調(diào)試系統(tǒng)聯(lián)調(diào)現(xiàn)場調(diào)試調(diào)試結(jié)束圖 5.1 系統(tǒng)調(diào)試流程圖系統(tǒng)調(diào)試的一般過程是上電運(yùn)行后觀察其運(yùn)行狀態(tài),數(shù)碼管是否點亮等。軟件調(diào)試先是各個模塊、各個子程序分別調(diào)試,最后進(jìn)行系統(tǒng)聯(lián)機(jī)調(diào)試。5.1軟件調(diào)試編程工具 C51語言8051 單片機(jī)的應(yīng)用程序設(shè)計,使用C51 語言進(jìn)行程序設(shè)計雖然相對于匯編語言代碼效率有所下降,但可以方便地實現(xiàn)程序設(shè)計模塊化,代碼結(jié)構(gòu)清晰、可讀性強(qiáng),易于維護(hù)、更新和移植,適合較大規(guī)模的單片機(jī)程序設(shè)計。近年來,隨著C51 語言的編譯器性能的不斷提高,在絕大多數(shù)應(yīng)用環(huán)境下,C51 程序的執(zhí)行效率已經(jīng)非常接近匯編語言,因此,使用C51 進(jìn)行單

35、片機(jī)程序設(shè)計已經(jīng)成為單片機(jī)程序設(shè)計的主流選擇之一。程序調(diào)試工具 KEIL本設(shè)計的軟件都是在Keil u Vision 7.5上進(jìn)行編寫,編譯,調(diào)試以及運(yùn)行操個人資料整理僅限學(xué)習(xí)使用作。單片機(jī)仿真軟件在線調(diào)試PROTEUS1.打開 Proteus軟件。2.選擇 file 菜單下的 open design 選項,找到所需的元器件,元器件上單擊右鍵選中,再單擊左鍵對其進(jìn)行命名和賦值,接著在編輯器左邊的一欄中,找出并繪制設(shè)計所要的各種元器件,按照電路圖連接后并保存。3.將用 keil 編譯產(chǎn)生的 hex 文件下載到單片機(jī)中:雙擊51 單片機(jī),在對話框中把保存過的hex 文件打開,再單擊確定。4.單擊左

36、下角運(yùn)行按鈕,進(jìn)行軟件仿真調(diào)試,直到出現(xiàn)正確的結(jié)果。圖 5.2 為軟件的仿真窗口圖:vccRP1U2119XTAL1P0.0/AD0392383P0.1/AD1374P0.2/AD218365XTAL2P0.3/AD3R7C3356P0.4/AD4201uFP0.5/AD5347338P0.6/AD69329RSTP0.7/AD7U1P2.0/A8212A0B01822317R1P2.1/A9A1B12341629P2.2/A10A2B21kPSENP2.3/A11245A3B3153025614ALEP2.4/A12A4B43126713EAP2.5/A13A5B527812P2.6/A14

37、A6B628911P2.7/A15A7B71P1.0P3.0/RXD1019CE2111P1.1P3.1/TXDAB/BA312P1.2P3.2/INT041374LS245P1.3P3.3/INT1514P1.4P3.4/T0U3615P1.5P3.5/T171661P1.6P3.6/WRA0817SCL2P1.7P3.7/RD5A1SDA3A2AT89C51FM24C02R3R210k10k圖 5.2 Proteus 仿真圖5.2 系統(tǒng)仿真下圖是通過在Keil C 中編譯通過,并生成Hex 文件,在 PROTEUS 中仿真通過的整體硬件原理圖如圖5.3 所示:個人資料整理僅限學(xué)習(xí)使用此位為

38、多功能位,當(dāng)為1時,可以調(diào)整單價,由最后兩位顯示計價(3位)公里數(shù)vccRP11U219392XTAL1P0.0/AD0383P0.1/AD1374P0.2/AD218365XTAL2P0.3/AD3R7C3356P0.4/AD4201uFP0.5/AD5347338P0.6/AD69329RSTP0.7/AD7U121218P2.0/A8A0B022317P2.1/A9A1B1R12341629P2.2/A10A2B21kPSENP2.3/A11245A3B3153025614ALEP2.4/A12A4B43126713EAP2.5/A13A5B527812P2.6/A14A6B6KEY12

39、8911P2.7/A15A7B71P1.0P3.0/RXD1019CE2111P1.1P3.1/TXDAB/BAKEY2312P1.2P3.2/INT041374LS2455P1.3P3.3/INT114P1.4P3.4/T0U3615P1.5P3.5/T1KEY371661P1.6P3.6/WRSCLA081752P1.7P3.7/RDSDAA13A2AT89C51FM24C02KEY4KEY5R3R210k10k圖 5.3 仿真結(jié)果圖中五個按鍵的作用KEY1 :按下時系統(tǒng)開始計價,抬起后系統(tǒng)計價暫停;KEY2 :功能調(diào)節(jié)按鈕,當(dāng)此按鍵觸發(fā)第4 位數(shù)碼管顯示為1 時,進(jìn)入單價調(diào)節(jié)模式;KEY

40、3 :與 KEY2 配合使用,當(dāng)進(jìn)入單價調(diào)節(jié)模式時,此按鍵觸發(fā)增加單價;KEY4 :按下時,計價器顯示清零,單價恢復(fù)到初始狀態(tài);KEY5 : 1 號中斷觸發(fā)按鍵,當(dāng)連續(xù)按兩下時,車量記錄的行駛公里數(shù)加1。個人資料整理僅限學(xué)習(xí)使用總結(jié)在本次設(shè)計中,我們采用AT89C51 芯片為核心器件,設(shè)計出了簡單的出租車計價器,能夠?qū)崿F(xiàn)顯示總金額和總里程,按鍵控制清零、調(diào)價。選題后,我便開始復(fù)習(xí)單片機(jī)方面的知識,也查閱、搜索了很多相關(guān)資料,進(jìn)行總體設(shè)計與具體設(shè)計,同時也學(xué)習(xí)仿真軟件Protues 和編程軟件KeilC 。由于以前都采用匯編語言實現(xiàn)編程,對用C 語言來實現(xiàn)單片機(jī)的編程不太習(xí)慣,花費(fèi)了一些時間來熟

41、悉C 語言的編程。在設(shè)計開始,要形成流程圖,它可以使設(shè)計有一定的邏輯性與嚴(yán)密性,使得設(shè)計思路明確。采用模塊化的設(shè)計思想很重要,它方便編寫、修改與調(diào)試,另外加上必要的注釋,便于交流與理解。這次畢業(yè)設(shè)計完成后,體會頗多,在學(xué)與做的過程中,取長補(bǔ)短,不斷學(xué)習(xí)新的知識,吸取經(jīng)驗,達(dá)到進(jìn)步的目的。通過自身的努力以及相關(guān)圖書資料的幫助,逐漸熟悉了KEIL 、PROTEUS 和 C 語言等軟件的使用以及硬件檢測過程中的一些小技巧。本次設(shè)計我學(xué)習(xí)到不少單片機(jī)的知識,但由于自己的理論知識水平有限,實踐知識和設(shè)計經(jīng)驗不足,在設(shè)計過程中難免存在一些問題。懇請各位老師批評指正,以使我在以后的學(xué)習(xí)和實踐中加以改進(jìn)和提高。個人資料整理僅限學(xué)習(xí)使用致謝經(jīng)過這學(xué)期的努力,本次畢業(yè)設(shè)計已經(jīng)接近尾聲。作為一個本科生的畢業(yè)設(shè)計,由于沒有足夠的經(jīng)驗,難免有諸多考慮不周的地方,好在有導(dǎo)師的指導(dǎo)和同學(xué)們的幫助,我才能按時完成任務(wù)。畢業(yè)設(shè)計培養(yǎng)了我們獨立思考問題,分析問題與解決問題的能力,在設(shè)計中我明白了理論與實踐有很大的區(qū)別,理論上可以實現(xiàn)的,但要做具體的實物,卻要多方面考慮。在老師的指導(dǎo)下,加上同學(xué)的討論與分析,使所遇到

溫馨提示

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

評論

0/150

提交評論