




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 基于單片機的出租車計價器的設(shè)計 院 系 獨 創(chuàng) 性 聲 明本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計)是本人在指導(dǎo)老師指導(dǎo)下取得的研究成果。除了文中特別加以注釋和致謝的地方外,論文(設(shè)計)中不包含其它人已經(jīng)發(fā)表或撰寫的研究成果。和本研究成果相關(guān)的所有人所做出的任何貢獻(xiàn)均已在論文(設(shè)計)中作了明確的說明并表示了謝意。 簽名: 年月日授 權(quán) 聲 明本人完全了解許昌學(xué)院有關(guān)保留、使用本科生畢業(yè)論文(設(shè)計)的規(guī)定,即:有權(quán)保留并向國家有關(guān)部門或機構(gòu)送交畢業(yè)論文(設(shè)計)的復(fù)印件和磁盤,允許畢業(yè)論文(設(shè)計)被查閱和借閱。本人授權(quán)許昌學(xué)院可以將畢業(yè)論文(設(shè)計)的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印
2、、縮印或掃描等復(fù)制手段保存、匯編論文(設(shè)計)。本人論文(設(shè)計)中有原創(chuàng)性數(shù)據(jù)需要保密的部分為: 簽名: 年月日指導(dǎo)教師簽名: 年月日摘 要本設(shè)計就是以AT89C51單片機為控制核心,用LCD顯示器顯示出租車的路程,價格,通過按鍵來實現(xiàn)開始,暫停,復(fù)位,轉(zhuǎn)換等功能,還可根據(jù)不同情況來調(diào)節(jié)價格,不計價的時候還可以作為時鐘使用。設(shè)計中一共采用了四個頻率開關(guān),每個開關(guān)模擬不同的車速,6個按鍵,每個按鍵控制不同的功能,N鍵和P鍵是調(diào)整時間的導(dǎo)航鍵,+ 鍵和- 鍵是調(diào)節(jié)時間和日期的,E/C鍵是模式切換鍵,Pause鍵是暫停計費按鍵。關(guān)鍵詞:AT89C51單片機;LCD;數(shù)字時鐘DS1302 ABSTRAC
3、TThe design is a control center based on AT89C51 microcontroller. LCD display show the journey and price of taxi, by the keyboard, achieved start suspended, reset, display conversion and so on. You also can adjust the price according to different circumstances, when it comes to pricing can be used a
4、s a clock. There are four frequency switchs in the design, each switch simulation different speed, and six keys, each key control different function, N key and P key is the navigation keys to adjust the time, + keys and - key is to adjust the time and date, E/C key is mode switch button, Pause key i
5、s suspended billing buttons.Key words: AT89C51 microcontroller; LCD; digital clock DS1302目錄1課題背景11.1研究背景11.2研究內(nèi)容12硬件平臺12.1單片機概述12.1.1 AT89C51單片機的中央處理器22.1.2 AT89C51單片機引腳介紹22.2硬件電路的組成42.2.1復(fù)位電路的設(shè)計42.2.2時鐘電路的設(shè)計42.3單片機最小系統(tǒng)電路52.4 A44E霍爾傳感器52.4.1 A44E霍爾傳感器簡介52.4.2里程計算、計價單元設(shè)計62.5液晶顯示簡介72.6時鐘芯片DS130272.6.1
6、 DS1302的簡介72.6.2 DS1302的電路82.6.3 DS1302的控制字節(jié)83軟件平臺93.1 Proteus ISIS 仿真軟件簡介93.2 Proteus ISIS 的仿真步驟93.3 Keil uVision2 調(diào)試軟件104軟硬件設(shè)計124.1電路的總體設(shè)計124.1.1電路設(shè)計方案124.1.2計價器總體設(shè)計圖124.2計價器系統(tǒng)軟件的設(shè)計134.2.1主程序模塊134.2.2定時中斷服務(wù)程序144.2.3液晶驅(qū)動程序144.2.4計價管理程序144.3主程序設(shè)計及程序流程圖145 Proteus ISIS仿真結(jié)果165.1出租車停止行駛時165.2出租車行駛時165.
7、3出租車暫停計費時175.4顯示時間和日期175.5仿真結(jié)果分析186總結(jié)19參考文獻(xiàn)20附 錄21致 謝341 課題背景1.1 研究背景隨著我國經(jīng)濟的快速發(fā)展,人民的生活水平有了很大的改善,旅游已經(jīng)成為一種時尚,旅游業(yè)的發(fā)展,讓人們對交通和服務(wù)行業(yè)的要求越來越高,而出租車就成為了外出旅游的重要工具之一。當(dāng)然,出租車計價就成為了最重要的問題,也是廣大消費者最關(guān)心的問題。隨著出租車行業(yè)的迅猛發(fā)展,出租車成為了日常生活中重要的交通工具,只有安裝了計價器的出租車才可以使用。計價器是出租車公司和消費者之間公平交易的重要工具,所以計價器的性能一定要穩(wěn)定,準(zhǔn)確。近年來,依據(jù)國家有關(guān)法律、法規(guī)。出租車計價器
8、已經(jīng)被列為國家強制檢定的計量器具之一。出租車作為重要的交通工具,其行業(yè)的發(fā)展也早已備受關(guān)注,出租車能否準(zhǔn)確的計價,是乘客和司機一直關(guān)注的重點,而良好性能的計價器無論是對汽車司機還是對廣大消費者都是很重要的。我國最早的生產(chǎn)計價器的是重慶市起重機廠,那時的計價器都是采用機械齒輪鉤,只能完成簡單的計程功能,但它是早期計價器的一個里程碑。隨著科學(xué)技術(shù)的飛速發(fā)展,第二代半機械化、半電子化的計價器產(chǎn)生,這時的計價器不但可以計程,還可計價。當(dāng)大規(guī)模集成電路發(fā)展時,第三代計價器很快問世,即全電子化的計價器,它利用了功能強大的單片機,可輕易的完成計程,計價,顯示等基本工作。1.2 研究內(nèi)容計價器是主要負(fù)責(zé)出租車
9、收費的職能儀表,它關(guān)系到消費者的經(jīng)濟利益,所以它對穩(wěn)定性,準(zhǔn)確性,精確性的要求非常的高。本設(shè)計利用AT89C51作為核心控制中心,使計價器具有計價、計程、停車時間計價,時鐘顯示等相關(guān)功能。2 硬件平臺2.1 單片機概述單片機又稱為單片微型計算機,是典型的嵌入式微控制器(Microcontroller Unit),常用英文縮寫字母MCU來表示單片機,單片機最早被用在工業(yè)控制領(lǐng)域。單片機主要由中央處理器(CPU)、內(nèi)部數(shù)據(jù)存儲器(內(nèi)部RAM)、內(nèi)部程序存儲器(內(nèi)部ROM)、I/O口、串行口、定時器、終端程序等系統(tǒng)組成。AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器(FPEROMFalsh
10、 Programmable and Erasable Read Only Memory),高性能CMOS8位微處理器,單片機的可擦除只讀存儲器可以反復(fù)擦除100次。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器。AT89C51單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。2.1.1 AT89C51單片機的中央處理器單片機的核心部分是CPU,它相當(dāng)于單片機的大腦和心臟。CPU的主要功能是產(chǎn)生各種控制信號,以控制存儲器、輸入/輸出端口的數(shù)據(jù)傳送、數(shù)據(jù)的算術(shù)運算和邏輯預(yù)算以及位操作處理等。AT89C51的中央處理器主要由運算器和控制邏輯組
11、成,其中包括一些特殊功能寄存器(SFR)。算術(shù)邏輯單元ALU能對數(shù)據(jù)進行加、減、乘、除等算術(shù)運算;“和”、“或”、“異或”等邏輯運算以及位操作運算。ALU只進行運算,運算的操作數(shù)可以事先存放到累加器ACC或寄存器TMP中,運算結(jié)果可以送回ACC或通用寄存器或存儲單元中, ACC也可簡寫為A。寄存器B在乘法指令中用來存放一個乘數(shù),在除法指令中用來存放除數(shù),運算后B中為部分運算結(jié)果。2.1.2 AT89C51單片機引腳介紹AT89C51有40個引腳,32個外部雙向輸入/輸出(I/O)端口,同時內(nèi)含2個外中斷口,3個16位可編程定時計數(shù)器,2個全雙工串行通信口,2個讀寫口線,AT89C51可以按照常
12、規(guī)方法進行編程,也可在線編程。它將通用的微處理器和Flash存儲器結(jié)合在一起,可反復(fù)擦寫的Flash存儲器可有效地降低開發(fā)成本。 AT89C51單片機是高性能單片機,因為受引腳數(shù)目限制,所以有許多引腳具有第二功能,各引腳功能如圖2-1所示。圖2-1 AT89C51的引腳圖電源引腳VCC和VSS VSS:接地端。VCC:+5V電源端。時鐘信號引腳XTAL1和XTAL2XTAIL1、XTAL2:當(dāng)使用單片機內(nèi)部振蕩電路時,用外接石英晶振和微調(diào)電容,XTAL1是內(nèi)部振蕩電路反相放大器的輸入端,XTAL2是片內(nèi)振蕩電路反相放大器的輸出端,振蕩電路的頻率就是晶振的固有頻率。當(dāng)使用外部時鐘時,XTAL1接
13、地,XTAL2接外部時鐘信號源??刂菩盘栆_RST/VPD、ALE/、和EA/VPPRST/VPD:RET是復(fù)位信號輸入端。當(dāng)輸入的復(fù)位信號保持兩個機器周期(24個時鐘周期)以上的高電平時有效,用來完成復(fù)位操作;第二功能VPD作為備用電源輸入端,當(dāng)電源VCC發(fā)生故障,電壓降低到低電平規(guī)定值時,可通過VPD為單片機內(nèi)部RAM提供電源,以保護片內(nèi)RAM中的信息不丟失,使系統(tǒng)在上電后能繼續(xù)正常運行。ALE/:ALE為地址鎖存允許輸出信號。在訪問外部存儲器時,ALE用來鎖存P0口擴展低8位地址的控制信號。在不訪問外部存儲器時,ALE也以時鐘振蕩頻率的1/6的固定頻率輸出,因而它又可以作對外輸出時鐘信號
14、或其他需要,例如可以示波器查看ALE是否有脈沖信號輸出來確定89C51芯片的好壞;第二功能PROG是對內(nèi)部有EPROM的單片機的EPROM編程脈沖輸入端,它和31號引腳的第二功能VPP一起使用。:外部ROM的讀選通信號輸出端。在訪問外部ROM時,PSEN產(chǎn)生負(fù)脈沖作為讀外部ROM的選通信號。而在訪問外部RAM或片內(nèi)ROM時,不會產(chǎn)生有效PSEN信號。/VPP:EA是訪問外部ROM的控制信號。EA為低電平時,CPU只執(zhí)行外部ROM中的程序。EA為高電平且PC值小于0FFF(4K)時,CPU執(zhí)行內(nèi)部ROM的程序,但當(dāng)PC的值超出4K時將自動轉(zhuǎn)去執(zhí)行片外ROM的程序。對于無片內(nèi)ROM的8031或不使
15、用內(nèi)部ROM的89C51,EA必須接地;第二種功能VPP是作為8751的片內(nèi)EPROM的+21V編程電源輸入端。并行I/O端口P0、P1、P2和P3P0口(P0.0P0.7):P0口是一個8位雙向I/O端口(無需外接上拉電阻)。在訪問外存儲器時,分時提供低8位地址線和8位雙向數(shù)據(jù)線。P0口先輸出片外存儲器的低8位地址并鎖存在地址鎖存器中,然后再輸入或輸出數(shù)據(jù)。P1口(P1.0P1.7):P1口是一個內(nèi)部帶有上拉電阻的8位準(zhǔn)雙向I/O端口。且P1口只能作為一般I/O口使用。P2口(P2.0P2.7):P2口是一個內(nèi)部帶有上拉電阻的8位準(zhǔn)雙向I/O端口。在訪問外部ROM或外部RAM時,輸出高8位地
16、址,和P0口提供的低8位地址一起組成16位地址總線。P0口和P2口用作數(shù)據(jù)/地址線后,不能再作為通用I/O口使用。P3口(P3.0P3.7):P3口是一個內(nèi)部帶有上拉電阻的8位準(zhǔn)雙向I/O端口,在系統(tǒng)中8個引腳都有各自的第二功能。2.2 硬件電路的組成2.2.1 復(fù)位電路的設(shè)計單片機復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個確定的初始狀態(tài),并從這個狀態(tài)開始工作,例如復(fù)位后PC0000H,使單片機從第一個單元取指令。無論是在單片機剛開始接上電源時,還是斷電后或者發(fā)生故障后都要復(fù)位。本設(shè)計所用的復(fù)位電路如圖2-2所示。 圖2-2 復(fù)位電路2.2.2時鐘電路的設(shè)計AT89C51系列單片機內(nèi)部有一
17、個可控制的反相放大器,引腳XTAL1、XTAL2為反相放大器的輸入端和輸出端,在XTAL1、XTAL2上外接晶振和電容便組成振蕩器。具體的時鐘電路如圖2-3所示。振蕩器頻率主要取決和晶振的頻率,但小于器件所允許的最高頻率。振蕩器的工作可由軟件置1,使振蕩器停止振蕩,從而使整個單片機停止工作,以達(dá)到節(jié)電的目的。圖2-3 時鐘電路2.3 單片機最小系統(tǒng)電路單片機最小系統(tǒng)是指用最少的元件組成的單片機可以工作的系統(tǒng)。對于AT89C51單片機來說,最小系統(tǒng)一般應(yīng)該包括:單片機、晶振電路、復(fù)位電路等。它們是AT89C51工作所需的最簡外圍電路。單片機最小系統(tǒng)電路如圖2-4所示。圖2-4 單片機最小系統(tǒng)電路
18、圖2.4 A44E霍爾傳感器2.4.1 A44E霍爾傳感器簡介A44E霍爾傳感器是一種磁傳感器??梢詸z測磁場及其變化,可在各種磁場有關(guān)的場合中使用。以霍爾效應(yīng)為其工作基礎(chǔ)。它結(jié)構(gòu)牢固,體積小,重量輕,壽命長,安裝方便,功耗小,頻率高,耐震動不怕一些污染和腐蝕,而且精度高工作溫度范圍寬。這種霍爾元件大量用于直流無刷電機和測磁儀表。A44E集成霍爾開關(guān)由穩(wěn)壓器,霍爾電勢發(fā)生器(即硅霍爾片)B,差分放大器C,施密特觸發(fā)器D和OC門輸出E五個基本部分組成。 (a)1VCC 2GND (b) 3OUT 圖2-5 集成霍爾開關(guān)外形及引線在輸入端 輸入電壓VCC,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)
19、霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則和這二者相垂直的方向上將會產(chǎn)生霍爾電勢差VH輸出,該VH信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當(dāng)施加的磁場達(dá)到工作點(即Bop)時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導(dǎo)通,此時OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動作。集成開關(guān)型霍爾傳感器原理如圖2-6所示。圖2-6 集成開關(guān)霍爾傳感器原理2.4.2 里程計算、計價單元設(shè)計里程計算是通過安裝在車輪上的霍爾傳感器A44E檢測到的信號,送到單片機,經(jīng)處理計算,送給顯示單
20、元的,其原理如圖2-7所示。圖2-7傳感器測距示意圖由于A44E屬于開關(guān)型的霍爾傳感器件,其工作電壓范圍比較寬(4.5V18V),其輸出的信號符合TTL電平標(biāo)準(zhǔn),可以直接接到單片機的I/O端口上,而且其最高檢測頻率可達(dá)到1MHZ。我們選擇了P3.2口作為信號的輸入端,內(nèi)部采用外部中斷0(這樣可以減少程序設(shè)計的麻煩),車輪每轉(zhuǎn)一圈,霍爾開關(guān)就檢測并輸出信號,引起單片機的中斷,對脈沖計數(shù),當(dāng)計數(shù)達(dá)到1000次時,也就是1公里,單片機就控制將金額自動的增加,其計算公式:當(dāng)前單價公里數(shù)=金額。由于在仿真過程中不能直接用霍爾傳感器,所以仿真時使用了系統(tǒng)中的頻率來模擬霍爾傳感器脈沖。仿真時共用了四個不同頻
21、率的脈沖模擬傳感器脈沖。2.5 液晶顯示簡介LM016L是一款較常用的液晶。通常有16條引腳線,其中有8位數(shù)據(jù)總線D0-D7,和RS、R/W、EN三個控制端口,還有兩個腳為背光源正負(fù)極,工作電壓為5V。液晶顯示原理:液晶顯示的原理是利用液晶的物理性質(zhì),通過電壓對其顯示區(qū)域進行控制,有電就可顯示出圖形。液晶顯示具有厚度薄,使用于大規(guī)模集成電路進行驅(qū)動,目前已被廣泛使用于眾多領(lǐng)域,例如便攜式電腦,數(shù)字?jǐn)z像機,PDA移動通信工具等。引腳如下:第1腳:VSS為地第2腳:VDD接5V正電源第3腳:V0為液晶顯示器對比度調(diào)整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產(chǎn)生“鬼影”,使用時可以
22、通過一個10K的電位器調(diào)整對比度,或直接通過一個電阻到地.第4腳:RS為寄存器選擇,高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。第5腳:RW為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當(dāng)RS和RW共同為低電平時可以寫入指令或者顯示地址,當(dāng)RS為低電平RW為高電平時可以讀忙信號,當(dāng)RS為高電平RW為低電平時可以寫入數(shù)據(jù)。第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。第714腳:D0D7為8位雙向數(shù)據(jù)線。第1516腳:背光源正負(fù)極。2.6時鐘芯片DS13022.6.1 DS1302的簡介DS1302是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時
23、時鐘芯片,它可以對年、月、日、周日、時、分、秒進行計時,且具有閏年補償功能,工作電壓寬達(dá)2.55.5V。采用三線接口和CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數(shù)據(jù)。DS1302內(nèi)部有一個318的用于臨時性存放數(shù)據(jù)的RAM寄存器。DS1302的管腳如圖2-8所示。圖 2-8 DS1302管腳引腳介紹:VCC1后背電源 VCC2主電源X1,X2振蕩源 RST復(fù)位/片選線2.6.2 DS1302的電路在DS1302電路(如圖2-9)中,VCC2是主電源,VCC1是后備電源。當(dāng)主電源關(guān)閉時,后背電源 同樣能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2中的電壓較大的
24、一個供電。RST的輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時,所有的數(shù)據(jù)傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,就會終止此次數(shù)據(jù)傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。 圖2-9 DS1302電路2.6.3 DS1302的控制字節(jié)DS1302 的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入DS1302中,位6如果為0,則表示存取日歷時鐘數(shù)據(jù)
25、,為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。1RAN/CKA4A3A2A1A0RAN/K圖 2-10 DS1302的控制字節(jié)3 軟件平臺3.1 Proteus ISIS 仿真軟件簡介Proteus ISIS是一種操作簡便而又功能強大的原理圖編輯工具,它運行于Windows操作系統(tǒng)上,可以仿真、分析各種模擬器件和集成電路,該軟件的特點有:(1)實現(xiàn)了單片機仿真和SPICE電路仿真的結(jié)合具有模擬電路仿真、數(shù)字電路仿真、單片機及其外圍電路組成的系統(tǒng)仿真、RS232動態(tài)仿真、I2C調(diào)試器、SPI調(diào)試
26、器、鍵盤和LCD系統(tǒng)仿真等功能。(2)支持主流單片機系統(tǒng)的仿真目前支持的單片機類型有68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。(3)提供軟件調(diào)試功能在硬件仿真系統(tǒng)中具有全速、單步、設(shè)置斷點等調(diào)試功能,同時可以觀察各個變量、寄存器等的當(dāng)前狀態(tài),因此在該軟件仿真系統(tǒng)中,也必須具有這些功能。(4)具有強大的原理圖繪制功能目前支持的單片機類型有:68000 系列、8051 系列、AVR 系列、PIC12 系列等。3.2 Proteus ISIS 的仿真步驟Proteus仿真時,單片機需要加載程序,加載程序為.HE
27、X文件。在Proteus ISIS中,選中AT89C51并單擊鼠標(biāo)左鍵,對AT89C51進行設(shè)置,設(shè)置單片機時鐘頻率為12MHz,按照正確的文件路徑加載.HEX文件,對單片機設(shè)置完畢后就可以開始仿真了。Proteus ISIS仿真界面如圖3-1所示。圖3-1 Proteus ISIS仿真界面運行Proteus程序后,進入軟件的主界面。通過左側(cè)工具欄中的P(從庫中選擇元件命令)命令,在Pick Devices 左側(cè)窗口中選擇所需元件的關(guān)鍵字,然后放置元件并調(diào)整方向和位置以及參數(shù)設(shè)置。元件的選取界面如圖3-2所示。 圖3-2 元件選取界面3.3 Keil uVision2 調(diào)試軟件Keil uVi
28、sion2是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),使用接近于傳統(tǒng)C語言的語法來開發(fā),提供豐富的庫函數(shù)和功能強大的集成開發(fā)調(diào)試工具,和匯編相比,C語言在功能性、結(jié)構(gòu)性、可讀性、可維護性上有明顯的優(yōu)勢。Keil uVision2 的使用流程如圖3-3所示。 圖 3-3 Keil的基本使用流程Keil uVision軟件的調(diào)試界面如圖3-4所示。圖3-4 Keil uVision2 程序調(diào)試界面本設(shè)計利用軟件Keil uVision2,在新建Keil項目時選擇AT89C51單片機作為CPU,將源程序?qū)?,在“Options For Target”對話窗口中,選
29、中“Output”選項中的“Create HEX File”,在編譯鏈接后就可以生成.HEX文件。此文件的選取界面如圖3-5所示。 圖 3-5 可執(zhí)行的.HEX 文件的選取界面4 軟硬件設(shè)計4.1 電路的總體設(shè)計4.1.1 電路設(shè)計方案如果我們在設(shè)計電路時用的是傳統(tǒng)的數(shù)字電路或者模擬電路的話,那么可用的顯示器就只能是LED顯示,VFD顯示,分段式數(shù)碼管等這些傳統(tǒng)的顯示器,這樣的話,僅顯示電路框圖和實際電路就已經(jīng)非常得復(fù)雜,整體電路更是非常的麻煩。此外,當(dāng)進行計費模式切換時所用的按鍵是機械按鍵,而機械按鍵用久了很容易老化,會造成接觸不良,容易導(dǎo)致功能不易實現(xiàn)。和此相比,單片機的功能就強大很多,只
30、需用較少的硬件和少量的軟件就可以實現(xiàn)較復(fù)雜的設(shè)計要求,還可以添加更多的其他功能,靈活性很強,計費模式切換通過軟件就可輕易實現(xiàn),避免了因機械開關(guān)的老化而造成的潛在危險。因此本電路以AT89C51單片機為中心,實現(xiàn)對出租車路程的統(tǒng)計,輸出采用液晶顯示器LM016L。4.1.2 計價器總體設(shè)計圖顯示電路 單片機復(fù)位設(shè)置設(shè)置電路獨立按鍵時鐘電路輸入脈沖圖4-1 計價器設(shè)計原理框圖圖4-2 計價器設(shè)計原理圖原理圖功能分析:本設(shè)計一共采用了四個頻率開關(guān),每個開關(guān)對應(yīng)的頻率分別為5Hz,50Hz,150Hz,211Hz,這些頻率是采用系統(tǒng)中的頻率來模擬的霍爾傳感器脈沖。當(dāng)選擇低于10Hz的頻率的時候,所表示
31、的是出租車停止行駛,此時采用的是計時收費模式,即100s按照1km收費,1km收費1.4元,起步價為6元(含3km)。當(dāng)選擇50Hz,150Hz,211Hz時,表示出租車分別行駛在中速,高速,超高速的行駛狀態(tài)下,這是計價器的收費為計價收費,起步價為6元(含3km),行駛1km收費1.4元。時間顯示部分是用DS1302為時間基準(zhǔn)計時的,N鍵和P鍵是調(diào)整時間的導(dǎo)航鍵,N鍵是順序,P鍵是倒序,+ 鍵和- 鍵是調(diào)節(jié)時間和日期的,E/C鍵是選擇時間顯示還是計費顯示的按鍵。Pause鍵是暫停計費的按鍵,當(dāng)出租車正在行駛的過程中,也就是說計價器正在計價的時候,按下該按鍵,計費就會停止。4. 2 計價器系統(tǒng)軟
32、件的設(shè)計4. 2.1主程序模塊在主程序模塊設(shè)計中,要設(shè)置啟動/清除標(biāo)志寄存器、里程寄存器,然后對它們進行初始化,這時,主程序就會根據(jù)需要完成啟動、清除、計程等各種操作。初次之外還要對各接口芯片初始化,對中斷向量的設(shè)計,開中斷和循環(huán)等待的工作。4. 2.2 定時中斷服務(wù)程序在定時中斷服務(wù)程序中,每1ms就會產(chǎn)生一次中斷,當(dāng)產(chǎn)生1000次中斷的時候,也就是一秒,然后把數(shù)據(jù)送到相應(yīng)的顯示緩沖單元,并調(diào)用顯示子程序即可顯示。4. 2.3 液晶驅(qū)動程序主程序的實現(xiàn)是用LCD驅(qū)動,系統(tǒng)初始化時涉及的硬件、鍵盤的控制,根據(jù)按鍵來啟動或者停止里程的測量,然后調(diào)用用戶界面程序定時更新日期和時間的顯示,及時的更新
33、價格、里程、費用等一些信息顯示,文本、圖形顯示等功能。4. 2.4 計價管理程序計價管理程序主要作用是對脈沖的計量并轉(zhuǎn)換為公里數(shù),計算出所需費用,同時,測出出租車的行駛速度,統(tǒng)計低速行駛的時間和費用,并把檢測到的結(jié)果傳送給液晶顯示器,及時的更新函數(shù),以便主函數(shù)可以及時的控制用戶界面,計時費用,行駛路程等信息。計價管理程序主要包括PWM管理程序、里程計量程序、時間管理程序、費用管理程序、用戶界面控制程序等部分。 4. 3 主程序設(shè)計及程序流程圖程序開始運行后,首先初始化各個硬件部分,同時打開時基中斷,準(zhǔn)備好為鍵盤掃描和時間管理做好服務(wù)工作,程序進入主循環(huán)之后會不斷的對按鍵進行掃描,隨時準(zhǔn)備根據(jù)按
34、鍵的啟動、停止里程計量,或者是轉(zhuǎn)換顯示模式和進入設(shè)置模式,主循環(huán)時,時間也會及時更新。主程序流程圖如下圖所示:NYYYN暫停計費進入計時收費模式是否按下暫停鍵進入按里程收費模式出租車是否高速行駛時間設(shè)定OK,進入計費模式日期、時間調(diào)整按鍵是否按下Time set over鍵是否按下進行時間日期的調(diào)整液晶顯示年月日時分秒單片機液晶初始化操作NYN圖4-3 主程序流程圖主程序見附錄5 Proteus ISIS 仿真結(jié)果5.1 出租車停止行駛時圖5-1 出租車停止時當(dāng)頻率選擇在10Hz以下的情況時,出租車停止行駛,按一下按鍵E/C,切換至計費模式,LOW燈點亮,采用計時收費,100s按照1km收費,
35、1km 收費1.4元,起步價為6元(含3km)。5.2 出租車行駛時圖5-2 出租車行駛時當(dāng)頻率選擇在50Hz,150Hz,211Hz的情況下時,出租車中速、高速、超高速行駛,按一下按鍵E/C,切換至計費模式,RUN燈點亮,采用計價收費,每行駛1公里收費1.4元,起步價為6元(含3公里)。5.3 出租車暫停計費時圖5-3 出租車暫停計費時出租車正在行駛的過程中,按下PAUSE鍵,將會停止計費。5.4 顯示時間和日期圖5-4 顯示時間和日期出租車不計費時,按下E/C鍵,就會切換顯示模式,同時還可根據(jù)需要,按下N鍵或P鍵選中要調(diào)整的日期或者時間,然后按+ 或- 鍵就可以隨意修改時間和日期了。5.5
36、 仿真結(jié)果分析以上是出租車計價器具體計價的四種情況,其他情況和此相類似。本設(shè)計中用虛擬的儀表發(fā)生頻率模擬了四個霍爾傳感器脈沖,共用了四個頻率開關(guān)的ON和OFF來選擇頻率,不同的頻率模擬了汽車不同的行駛情況,10Hz以下時模擬汽車停止行駛,計價方式為按時計費,每過100s收費1.4元;50Hz,150Hz,211Hz分別模擬汽車中速,高速,超高速的行駛狀態(tài),計價方式為計程計費,每行駛1km收費1.4元,起步價為6元(含3km)。計時用DS1302作為時間基準(zhǔn)來計時,N鍵和P鍵為調(diào)節(jié)時間的導(dǎo)航鍵,+鍵和-鍵可以調(diào)節(jié)時間和日期,E/C鍵切換顯示模式。本設(shè)計雖然成功通過仿真,但還是有很多需要改進的地方
37、,對實際使用場合的一些環(huán)境因素考慮不周,應(yīng)增加此方面的處理,更好的提高計價器的準(zhǔn)確性和精確性。6 總結(jié)通過這次的論文設(shè)計,使我將理論和實際真正結(jié)合了起來,這次的設(shè)計不但讓我對單片機有了更深刻的認(rèn)識,而且還學(xué)到了其他一些芯片的很多知識,對Proteus ISIS 仿真軟件也能較好的運用。感觸最深的就是畫圖和編程了,也是單片機最重要的部分。這次的畢業(yè)設(shè)計讓我明白了:在以后的學(xué)習(xí)和工作中一定要把理論和實際結(jié)合起來,不能只會理論而不會實際,那是不現(xiàn)實的,只有實際的做了,你才會知道自己究竟掌握了多少東西,永遠(yuǎn)不要做一個眼高手低的人。這次我設(shè)計的是基于單片機的出租車計價器的設(shè)計,總體來看還是比較簡單的,可
38、以在以后考慮增加一些特殊的功能,使其在計價的同時還可有一定的記憶功能,這樣的話,無論是對出租車司機還是對廣大消費者都是一個很好的保護措施,計價器的功能也會變的更加強大!參考文獻(xiàn)1 康華光.數(shù)字電子技術(shù)基礎(chǔ)(第四版)M.北京:高等教育出版社,1998.52 劉和平,劉躍.單片機原理及使用M.重慶:重慶大學(xué)出版社,2004.2 3 張靖武,周靈彬.單片機系統(tǒng)PROTEUS設(shè)計和仿真M.北京:電子工業(yè)出版社,2008.74 楊剛,周群.電子系統(tǒng)設(shè)計和實踐M.北京:電子工業(yè)出版社,2004.6 5 郝鴻安.555集成電路實用大全M.上海:上海科學(xué)普及出版社,2000.3 6 吳運昌.模擬電子線路基礎(chǔ)M
39、.廣州:華南理工大學(xué)出版社, 2005.8 7 沈任元,吳勇.常用電子元器件簡明手冊M.北京:機械工業(yè)出版社, 2004.78 陳有卿.555時基集成電路原理和使用M.北京:機械工業(yè)出版社,2006.49 李群芳,肖看.單片機原理接口及使用嵌入式系統(tǒng)技術(shù)基礎(chǔ)M.北京:清華大學(xué)出版社,2005.410 劉南平,孫蕙芹.單片機實訓(xùn)和開發(fā)教程M.北京:科學(xué)出版社,2008.1011 樓然苗,李光飛.51系列單片機設(shè)計實例M.北京:北京航空航天大學(xué)出版社,2003.412 陳明熒.89C51單片機課程設(shè)計實訓(xùn)教材M.北京:清華大學(xué)出版社,2004.5附 錄 /出租車計價器 設(shè)計/該模擬程序折合規(guī)則:1
40、km-1m,等待100s-1km-1m,1m-1.4元/底層規(guī)則:若脈沖個數(shù)/秒 10,則判為低速,1m-200個脈沖#include#include#include#include#includeuchar code univalent2 = 1,40;/保存單價的數(shù)組,0-里程單價整數(shù)位,1-里程單價小數(shù)位uchar code time_pos7 = 4,-1,7,10,4,7,10; /各時間在液晶上的顯示位置uchar code money_pos4 = 4,7,4,7; /計價器價格各位在液晶上的顯示位置bit config_ok = 0; /0-未配置完成,1-配置完成bit st
41、ate = 0;/當(dāng)前儀表的運行狀態(tài),0-全速(計里程),1-低速(計時間)bit pause = 0;/計價停止?fàn)顟B(tài)位,0-正常計價,1-暫停計價uint pulse_count = 0; /脈沖計數(shù)器uint pulse_count_tmp = 0;uint time_count = 0;/保存等待計時的變量,單位為秒,10s-1km-1.4元uint mileage_count_new = 0,mileage_count_old = 0;/保存里程的變量,通過差值計算里程變化,單位為km,1km-1.4元,uchar idata time7 = 0x09,0x1,0x1,0x1,0x0,
42、0x0,0x0;/保存時間的數(shù)組uint money2=6,0; /保存車費的數(shù)組,0-整數(shù)位,1-小數(shù)位uchar first_3_km = 0;void INT0_init(void);void INT1_init(void);void Delay(uint);void System_init(void);void Time_Show(uchar time_data7);void Run_Show_Time(uchar time_data7);void Money_Show(uint money2);void Show_Wait_Time(uint);void Show_Mileage(v
43、oid);void Run_BackGround(void);/運行起來后,將在LCD上一直出現(xiàn)的void Run_BackGround(void)WriteChar(/, 3,0);WriteChar(:,10,0);WriteChar(:,13,0);WriteChar(.,3,1);WriteChar(Y,6,1);void Show_Mileage(void)WriteDecimal(pulse_count / 200,0,12,1);WriteInt(pulse_count % 200 / 10,0,0,13,1);WriteChar(.,12,1);WriteString(km,1
44、4,1);void Show_Wait_Time(uint time_count)WriteChar(s,15,1);WriteChar( , 10,1);WriteInt(time_count,1,4,11,1);void Money_Show(uint money2)WriteDecimal(money0,0,3,1);WriteDecimal(money1,1,3,1);void Run_Show_Time(uchar time_data7)WriteInt(BcdToInt(time_data2),1,2, 1,0);WriteInt(BcdToInt(time_data3),1,2,
45、 4,0);WriteInt(BcdToInt(time_data4),1,2, 8,0);WriteInt(BcdToInt(time_data5),1,2,11,0);WriteInt(BcdToInt(time_data6),1,2,14,0);void Time_Show(uchar time_data7)WriteChar(/,6,0);WriteChar(/,9,0);WriteChar(:,6,1);WriteChar(:,9,1);WriteInt(BcdToInt(time_data0),1,2, 4,0);WriteInt(BcdToInt(time_data2),1,2,
46、 7,0);WriteInt(BcdToInt(time_data3),1,2,10,0);WriteInt(BcdToInt(time_data4),1,2, 4,1);WriteInt(BcdToInt(time_data5),1,2, 7,1);WriteInt(BcdToInt(time_data6),1,2,10,1);void System_init(void)RstLcd();ClrLcd();P1 = 0x00;config_ok = 0;Time_Show(time);LcdPos(5,0);SetCur(3);INT1_init();while(config_ok = 0)
47、;/等待配置時間結(jié)束標(biāo)志ClrLcd();SetCur(1);WriteString(set time over.,0,0);Delay(60000);ClrLcd();Run_BackGround();P1= 0xff;void Delay(uint dtime) uint temp;for(temp=0;tempdtime;temp+);void INT0_init(void)EA = 0;IT0 = 1;EX0 = 1;EA = 1;void INT1_init(void)EA = 0;IT1 = 1;EX1 = 1;EA = 1;void main() uchar time_tmp7,
48、i;System_init();DS1302_GetData(time);pulse_count_tmp = pulse_count;mileage_count_new = mileage_count_old = 0;Money_Show(money);Run_Show_Time(time);Show_Mileage();while(1)if(config_ok = 0)/若設(shè)置時間未完成System_init();DS1302_GetData(time_tmp);if(!(P1 & 0x04)P1 &= 0xfe;P1 |= 0x02;pause = 0;if(time6 != time_t
49、mp6)Run_Show_Time(time_tmp);for(i = 0;i 7;i+)timei = time_tmpi;first_3_km = 0;money0 = 6;money1 = 0;mileage_count_new = mileage_count_old = 0;WriteString( ,0,1);WriteString( ,9,1);Money_Show(money);pulse_count = 0;Show_Mileage();time_count = 0;else if(pause = 0)INT0_init();if(time6 != time_tmp6)Run_Show_Time(time_tmp);for(i = 0;i 7;i+)timei = time_tmpi;if(pulse_count - pulse_count_tmp 2)/由等待時間換算公里數(shù),10s折合為1km(1m)money1 += 40;if(money1 99)mone
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 語文知識的系統(tǒng)復(fù)習(xí)試題及答案
- 2024年CPSM考試網(wǎng)絡(luò)資源試題及答案
- 2024年思政理論核心問題試題及答案
- 2025年飼料生產(chǎn)專用設(shè)備合作協(xié)議書
- 小學(xué)教案課件說課稿范文
- 家長開家長會怎么發(fā)言稿
- 專升本思政復(fù)習(xí)指導(dǎo)試題及答案
- 二零二五年度供熱供用熱力應(yīng)急響應(yīng)服務(wù)協(xié)議
- 2025年度股權(quán)投資基金投資合同
- 2025年度珠寶品牌國際市場拓展合作合同
- 碼頭維修加固工程施工組織設(shè)計
- JJF 1806-2020微小孔徑測量儀校準(zhǔn)規(guī)范
- GB/T 20548-2006金融零售業(yè)務(wù)商戶類別代碼
- GB/T 19012-2008質(zhì)量管理顧客滿意組織處理投訴指南
- FZ/T 72016-2012針織復(fù)合服用面料
- 猴子補船看圖寫話-1資料講解課件
- 美術(shù)九年級下冊測試卷附答案
- 最新呼吸機消毒流程圖
- 肉鴿養(yǎng)殖課件
- 結(jié)直腸癌流行病學(xué)
- IEC 61000-4-5 電磁兼容測試標(biāo)準(zhǔn)
評論
0/150
提交評論