欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      基于CPLD的出租車計(jì)價器設(shè)計(jì)[優(yōu)秀范文5篇]

      時間:2019-05-13 22:54:15下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《基于CPLD的出租車計(jì)價器設(shè)計(jì)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《基于CPLD的出租車計(jì)價器設(shè)計(jì)》。

      第一篇:基于CPLD的出租車計(jì)價器設(shè)計(jì)

      基于CPLD的出租車計(jì)價器設(shè)計(jì)

      論文編號:2303 用戶評價:

      本店售價:¥50元

      論文摘要 商品屬性 商品標(biāo)簽

      摘 要

      本文論述了一種基于CPLD的出租車計(jì)價系統(tǒng)的設(shè)計(jì)。該計(jì)價器通過數(shù)碼管和按鍵可以顯示時間、單價、起步價、里程數(shù),并用掃描電路顯示所走路程需要的費(fèi)用。本論文主要工作是軟件設(shè)計(jì),它主要包括四個子模塊:按鍵模塊,控制模塊,譯碼模塊和顯示模塊。設(shè)計(jì)時采用VHDL硬件描述語言,通過軟件Quartus II對本設(shè)計(jì)進(jìn)行設(shè)計(jì),下載到芯片EPM7128SLC84-l5中,從而實(shí)現(xiàn)計(jì)價器的計(jì)費(fèi)功能。關(guān)鍵詞:CPLD 出租車計(jì)價器 VHDL QuartusII

      目 錄 1 緒論.1 1.1 出租車計(jì)價器的發(fā)展概況.1 1.2 出租車行業(yè)的管理現(xiàn)狀.1 2 出租車計(jì)價器系統(tǒng)硬件結(jié)構(gòu).2 2.1 硬件系統(tǒng)概述.2 2.1.1 EDA概述.2 2.1.2 CPLD器件MAX7000系列.2 2.1.3 霍爾傳感器.3 2.2 VHDL硬件描述語言.4 2.2.1 VHDL概述.4 2.2.2 VHDL語言基礎(chǔ)知識.4 3 軟件編程環(huán)境.5 3.1 QuartusII軟件的特點(diǎn).6 3.2 QuartusII軟件的集成工具.6 3.3 設(shè)計(jì)輸入.7 3.4 綜合.7 3.5 布局布線.8 3.6 仿真.8 3.7 編程與配置.8 4 出租車計(jì)價器的軟件設(shè)計(jì)過程.9 4.1 出租車計(jì)費(fèi)器工作原理.9 4.2 基本的設(shè)計(jì)思想.9 4.2.1 控制模塊.9 4.2.2 譯碼顯示模塊.12 4.3 設(shè)計(jì)的整個過程.15 4.4 各個模塊的仿真結(jié)果.22 4.4.1 控制模塊仿真結(jié)果.22 4.4.2 譯碼顯示模塊仿真結(jié)果.23 5 出租車計(jì)價器存在的問題和改進(jìn)工作.25 5.1 出租車計(jì)價器存在的問題.25 5.2 改進(jìn)方法.25 結(jié)束語.25 參考文獻(xiàn).27 英文摘要.28 附錄一 出租車計(jì)價器軟件設(shè)計(jì)的流程圖.29 附錄二 軟件設(shè)計(jì)的源代碼.30 致謝.37 仲愷農(nóng)業(yè)工程學(xué)院畢業(yè)設(shè)計(jì)成績評定表..38

      緒論

      1.1 出租車計(jì)價器的發(fā)展概況

      出租車行業(yè)在我國是八十年代初興起的一項(xiàng)新興行業(yè),隨著我國國民經(jīng)濟(jì)的高速發(fā)展,出租汽車已成為城市公共交通的重要組成部分[1]。多年來國內(nèi)普遍使用的計(jì)價器只具備單一的計(jì)量功能。目前全世界的計(jì)價器中有90%為臺灣所生產(chǎn)?,F(xiàn)今我國生產(chǎn)計(jì)價器的企業(yè)有上百家,主要是集中在北京,上海,沈陽和廣州等地。

      我國第一家生產(chǎn)計(jì)價器的是重慶市起重機(jī)廠,最早的計(jì)價器全部采用機(jī)械齒輪構(gòu),只能完成簡單的計(jì)程功能,可以說,早期的計(jì)價器就是個里程表。隨著科學(xué)技術(shù)的發(fā)展,產(chǎn)生了第二代計(jì)價器。它采用了手搖計(jì)算機(jī)與機(jī)械結(jié)構(gòu)相結(jié)合的方式,實(shí)現(xiàn)了半機(jī)械半電子化。此時它在計(jì)程的同時還可完成計(jì)價的工作。大規(guī)模集成電路的發(fā)展又產(chǎn)生了第三代計(jì)價器,也就是全電子化的計(jì)價器。它的功能也在不斷完善。出租汽車計(jì)價器是一種專用的計(jì)量儀器,它安裝在出租汽車上,能連續(xù)累加,并指示出行程中任一時刻乘客應(yīng)付費(fèi)用的總數(shù),其金額值是計(jì)程和計(jì)時時間的函數(shù)[2]。出租車計(jì)價器在最初使用時具備的主要功能是根據(jù)行駛里程計(jì)價,要求精度高,可靠性好。隨著電子技術(shù)的發(fā)展以及對計(jì)價器的不斷改進(jìn)和完善,便產(chǎn)生了諸多的附加功能。例如:(1)LED顯示功能,數(shù)碼管的使用讓計(jì)價器實(shí)現(xiàn)多屏顯示的功能,可同時顯示各項(xiàng)營運(yùn)數(shù)據(jù),使乘客一目了然;(2)永久時鐘功能,在非營運(yùn)狀態(tài)下,日歷時鐘芯片的使用使計(jì)價器可以顯示永久時鐘;(3)存儲功能,可存儲多項(xiàng)營運(yùn)數(shù)據(jù),便于查詢。新型數(shù)據(jù)存儲器的應(yīng)用使得計(jì)價器的營運(yùn)數(shù)據(jù)在掉電情況下還可以保存10年。1.2 出租車行業(yè)的管理現(xiàn)狀

      隨著我國國民經(jīng)濟(jì)的高速發(fā)展,出租汽車已成為城市公共交通的重要組成部分。近幾年來,出租車汽車行業(yè)在各地蓬勃發(fā)展,出租車經(jīng)營也從無序狀態(tài)逐漸走入正軌。出租車計(jì)價器成為出租車運(yùn)營中必配的、可靠的計(jì)量器具,其使用準(zhǔn)確性直接關(guān)系到經(jīng)營者與乘客的經(jīng)濟(jì)利益。但在實(shí)際運(yùn)營中,總有不少經(jīng)營者或乘客反映相同路徑,不同的出租車的收費(fèi)有較大的出入[3]。本課題采用CPLD芯片為核心,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜现饕鉀Q以下問題:

      (1)不同地區(qū)的計(jì)費(fèi)方式存在差異;即使同一地區(qū),不同車型的出租車,其計(jì)費(fèi)方式也有差別;另一方面,出租車還面臨幾年一次的調(diào)價或調(diào)整計(jì)費(fèi)方式等問題。因此,所設(shè)計(jì)的計(jì)費(fèi)器不僅要能滿足不同地區(qū)的要求,而且計(jì)費(fèi)方式的調(diào)整也應(yīng)當(dāng)很方便。

      (2)由于個別地區(qū)對計(jì)費(fèi)器有特殊要求,有時必須修改軟件;另外,計(jì)費(fèi)器還面臨軟件的升級;因而,所設(shè)計(jì)的計(jì)費(fèi)器應(yīng)能很方便地重新編程。

      (3)計(jì)費(fèi)器必須要有防作弊功能,能有效防止司機(jī)作弊;同時要防止計(jì)費(fèi)器在營運(yùn)過程中死機(jī)[4]。本課題實(shí)現(xiàn)上述設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能,具有一定的應(yīng)用價值。由于科技的發(fā)展,芯片中的數(shù)據(jù)可保持十年不變,且芯片體積小,容量大,因此這種方式是可行的,具有十分重要的現(xiàn)實(shí)意義和廣闊的市場前景。

      第二篇:出租車計(jì)價器設(shè)計(jì)范文

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      目錄

      目錄......................................................................................................................................................1 前言......................................................................................................................................................2 第一章 系統(tǒng)工作原理........................................................................................................................2 1.1 功能說明..............................................................................................................................2 1.2 基本原理..............................................................................................................................2 第二章 硬件設(shè)計(jì)...............................................................................................................................3 2.1 單片機(jī)最小系統(tǒng)單元..........................................................................................................3 2.2 A44E霍爾傳感器檢測單元................................................................................................4 2.3 AT24C01存儲單元..............................................................................................................6 2.4 鍵盤調(diào)整單元......................................................................................................................7 2.5 顯示單元..............................................................................................................................8 第三章 軟件設(shè)計(jì)...............................................................................................................................8 3.1 系統(tǒng)主程序..........................................................................................................................8 3.2 中斷程序..............................................................................................................................9 3.2.1 里程計(jì)數(shù)中斷程序...................................................................................................9 3.2.2 中途等待中斷程序.................................................................................................10 3.3 計(jì)算程序............................................................................................................................10 3.4 顯示程序............................................................................................................................10 3.5 鍵盤程序............................................................................................................................10 第四章 總結(jié).....................................................................................................................................11 參考文獻(xiàn)............................................................................................................................................12

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      算出行駛公里數(shù),再根據(jù)從EEPROM中讀取的價格等相關(guān)數(shù)據(jù)進(jìn)行金額的計(jì)算,計(jì)算好的金額、里程和單價都實(shí)時地顯示在數(shù)碼管上。獨(dú)立鍵盤可以調(diào)節(jié)價格等相關(guān)數(shù)據(jù),按下相應(yīng)的按鈕,產(chǎn)生信號交由單片機(jī)處理并實(shí)時顯示出來,調(diào)節(jié)好的數(shù)據(jù)存儲到EEPROM中,掉電后可以使調(diào)好的數(shù)據(jù)不丟失,下次得電后直接從EEPROM讀到單片機(jī),系統(tǒng)結(jié)構(gòu)圖如圖1。

      圖1 系統(tǒng)結(jié)構(gòu)圖

      第二章 硬件設(shè)計(jì)

      2.1 單片機(jī)最小系統(tǒng)單元

      主控機(jī)系統(tǒng)采用了Atmel 公司生產(chǎn)的 AT89S52單片機(jī),它含有256 字節(jié)數(shù)據(jù)存儲器,內(nèi)置8K 的電可擦除FLASH ROM,可重復(fù)編程,大小滿足主控機(jī)軟件系統(tǒng)設(shè)計(jì),所以不必再擴(kuò)展程序存儲器。復(fù)位電路和晶振電路是AT89S52 工作所需

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院 的最簡外圍電路。單片機(jī)最小系統(tǒng)電路圖如圖2所示。

      圖2 單片機(jī)最小系統(tǒng)圖

      AT89S52 的復(fù)位端是一個史密特觸發(fā)輸入,高電平有效。RST端若由低電平上升到高電平并持續(xù)2個周期,系統(tǒng)將實(shí)現(xiàn)一次復(fù)位操作。在復(fù)位電路中,按一下復(fù)位開關(guān)就使在RST端出現(xiàn)一段時間的高電平,外接11.0592M 晶振和兩個30pF 電容組成系統(tǒng)的內(nèi)部時鐘電路。

      2.2 A44E霍爾傳感器檢測單元

      A44E 屬于開關(guān)型的霍爾器件,其工作電壓范圍比較寬(4.5~18V),其輸出的信號符合TTL電平標(biāo)準(zhǔn),可以直接接到單片機(jī)的IO 端口上,而且其最高檢測頻率可達(dá)到1MHZ。

      A44E 集成霍耳開關(guān)由穩(wěn)壓器A、霍耳電勢發(fā)生器(即硅霍耳片)B、差分放大器C、施密特觸發(fā)器D和OC門輸出E五個基本部分組成。

      在輸入端輸入電壓Vcc,經(jīng)穩(wěn)壓器穩(wěn)壓后加在霍爾電勢發(fā)生器的兩端,根據(jù)霍爾效應(yīng)原理,當(dāng)霍爾片處在磁場中時,在垂直于磁場的方向通以電流,則與這二者相垂直的方向上將會產(chǎn)生霍爾電勢差VH輸出,該VH信號經(jīng)放大器放大后送至施密特觸發(fā)器整形,使其成為方波輸送到OC門輸出。當(dāng)施加的磁場達(dá)到工作點(diǎn)(即Bop)時,觸發(fā)器輸出高電壓(相對于地電位),使三極管導(dǎo)通,此時OC門輸出端輸出低電壓,三極管截止,使OC門輸出高電壓,這種狀態(tài)為關(guān)。這樣兩次電壓變換,使霍爾開關(guān)完成了一次開關(guān)動作。A44E霍爾傳感器原理如圖3所示。

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      圖3 A44E霍爾傳感器原理

      里程計(jì)算是通過安裝在車輪上的霍爾傳感器檢測到的脈沖信號,送到單片機(jī)產(chǎn)生中斷,單片機(jī)再根據(jù)程序設(shè)定,計(jì)算出里程。其原理如圖4所示。

      圖4 傳感器測距示意圖

      本系統(tǒng)選擇了將A44E的脈沖輸出口接到P3.3口外部中斷1作為信號的輸入端(這樣可以減少程序設(shè)計(jì)的麻煩),車輪每轉(zhuǎn)一圈(設(shè)車輪的周長是1米),霍爾開關(guān)就檢測并輸出信號,引起單片機(jī)的中斷,對脈沖計(jì)數(shù),當(dāng)計(jì)數(shù)達(dá)到1000次時,即1公里,單片機(jī)就控制將金額自動增加,如圖5。

      圖5 A44E霍爾元件接線圖

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      2.3 AT24C01存儲單元

      存儲單元的作用是在電源斷開的時候,存儲當(dāng)前設(shè)定的單價信息。AT24C01 是Ateml公司的1KB的電可擦除存儲芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到2.5V,額定電流為1mA,靜態(tài)電流10uA(5.5V),芯片內(nèi)的資料可以在斷電的情況下保存40年以上,而且采用8 腳的DIP 封裝,使用方便。AT24C02芯片引腳配置如圖6所示。

      存儲單元電路連接如圖7所示。

      圖 7 存儲單元電路原理圖

      圖中R4、R5 是上拉電阻,其作用是減少AT24C01 的靜態(tài)功耗。由于AT24C01的數(shù)據(jù)線和地址線是復(fù)用的,采用串口的方式傳送數(shù)據(jù),所以只用兩根線SCL(時鐘脈沖)和SDA(數(shù)據(jù)/地址)與單片機(jī)P2.2和P2.3口連接,進(jìn)行傳送數(shù)據(jù)。

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      每當(dāng)設(shè)定一次單價,系統(tǒng)就自動調(diào)用存儲程序,將單價信息保存在芯片內(nèi);當(dāng)系統(tǒng)重新上電的時候,自動調(diào)用讀存儲器程序,將存儲器內(nèi)的單價等信息,讀到緩存單元中,供主程序使用。

      2.4 鍵盤調(diào)整單元

      當(dāng)單價等信息需要進(jìn)行修改時,就要用到鍵盤進(jìn)行修改。由于調(diào)節(jié)信息不多,故采用4個獨(dú)立鍵盤即可,分別實(shí)現(xiàn)清零、切換、增大、減小和功能等作用。電路原理如圖8所示。

      圖8 鍵盤調(diào)整單元接線圖

      S1:接P1.0口,對上一次的計(jì)費(fèi)進(jìn)行清零,為下次載客準(zhǔn)備

      S2:接P1.1口,實(shí)現(xiàn)白天和夜晚單價的切換;當(dāng)功能鍵S4按下時,S2可對數(shù)據(jù)進(jìn)行增大。

      S3:接P1.2口,當(dāng)功能鍵S4按下時,S3可對數(shù)據(jù)進(jìn)行減小。

      S4:接P1.3口,按1次,進(jìn)入調(diào)整白天單價;按2次,進(jìn)入調(diào)整夜晚單價;按3次,進(jìn)入調(diào)整等待單價;按4次,進(jìn)入調(diào)整起步價;按5次,返回。

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      2.5 顯示單元

      顯示單元由7個8段共陽數(shù)碼管組成,采用動態(tài)掃描進(jìn)行顯示。前三個數(shù)碼管分別接P3.0、P3.1和P3.2,用于顯示總金額;中間兩個分別接P3.4和P3.5,用于顯示里程;后邊兩個分別接P3.6和P3.7,用于顯示單價。電路如圖9所示。

      圖9 數(shù)碼管顯示圖

      第三章 軟件設(shè)計(jì)

      3.1 系統(tǒng)主程序

      在主程序模塊中,需要完成對各參量和接口的初始化、出租車起價和單價的初始化以及中斷、計(jì)算、循環(huán)等工作。另外,在主程序模塊中還需要設(shè)置啟動/清除標(biāo)志寄存器、里程寄存器和價格寄存器,并對它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動、清除、計(jì)程和計(jì)價等不同的操作。當(dāng)汽車運(yùn)行起來時,就啟動計(jì)價,根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷行駛里程是否已超過起步價公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價數(shù)和起步價數(shù)來計(jì)算出當(dāng)前的總金額,并將結(jié)果存于總金額寄存器中;中途等待時,無脈沖輸入,不產(chǎn)生中斷,當(dāng)時間超過等待設(shè)定值時,開始進(jìn)行計(jì)時,并把等待價格加到總金額里,然后將總金額、里程和單價送數(shù)碼管顯示出來。程序流程如圖10所示。

      平頂山工業(yè)職業(yè)技術(shù)學(xué)院

      圖10 主程序流程圖

      圖11 計(jì)算程序流程圖

      3.2 中斷程序

      3.2.1 里程計(jì)數(shù)中斷程序

      每當(dāng)霍爾傳感器輸出一個低電平信號就使單片機(jī)中斷一次,當(dāng)里程計(jì)數(shù)器對里程脈沖計(jì)滿1000次時,進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中,里程變量加一。主函數(shù)中總金額也相應(yīng)地變化。

      101112-

      第三篇:出租車計(jì)價器

      基于單片機(jī)的出租車計(jì)價器設(shè)計(jì)

      摘要

      出租車計(jì)價器的數(shù)字系統(tǒng)的設(shè)計(jì)正是基于一些專用的芯片,才發(fā)揮其有效特性,從而實(shí)現(xiàn)出租車的計(jì)價功能。此數(shù)字系統(tǒng)主要分為三個單元,即里程計(jì)數(shù)及顯示單元、價格計(jì)數(shù)及顯示單元、脈沖產(chǎn)生。本設(shè)計(jì)是一個基于單片機(jī)AT89C51的出租車自動計(jì)費(fèi)設(shè)計(jì),附有復(fù)位電路,時鐘電路等。關(guān)鍵詞:出租車計(jì)費(fèi)器;單片機(jī);控制

      Abstract Taximeter design digital system is based on some special chip, to play their effective characteristics, thus realizing the taxi valuation function.This system is mainly divided into there modules, namely the mileage counting and display unit, and display unit price counting, pulsing.The design is based on a single chip AT89C51taxis design, a reset circuit, clock circuit.Keywords:taximeter,a single-chip microcomputer,control

      1引言

      1.1 設(shè)計(jì)目的

      近幾年來,出租汽車行業(yè)在各地得以蓬勃發(fā)展,但采用模擬電路和數(shù)字電路設(shè)計(jì)的計(jì)價器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試。而采用單片機(jī)進(jìn)行的設(shè)計(jì),相對來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎貙?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng)。

      1.2 功能要求

      (1)用前4位數(shù)碼管實(shí)時顯示里程數(shù),單位為千米,最后一位為小數(shù)位;用后4位數(shù)碼管時時顯示金額數(shù),單位為元,最后一位為小數(shù)位。

      (2)規(guī)定出租車?yán)锍绦∮?千米收費(fèi)5元,超過2千米收費(fèi)為8*(way-20)/5。

      1.3 設(shè)計(jì)方法

      本設(shè)計(jì)采用AT89C51單片機(jī)為主控器,并用頻率信號發(fā)生器模擬車速,利用AT89C51的定時器工作在方式1下定時實(shí)現(xiàn)對出租車的計(jì)價設(shè)計(jì),輸出采用共陰極的集成8位7段數(shù)碼顯示管。設(shè)計(jì)方案及原理

      2.1 設(shè)計(jì)方案

      采用AT89C51單片機(jī)為主控器,并用頻率信號發(fā)生器模擬車速,利用AT89C51的定時器/定時器T1工作在方式1下定時實(shí)現(xiàn)對出租車的計(jì)價設(shè)計(jì),輸出采用共陰極的集成8位7段數(shù)碼顯示管。本電路設(shè)計(jì)的計(jì)價器不但能實(shí)現(xiàn)基本的計(jì)價,而且

      單片機(jī)原理及系統(tǒng)課程設(shè)計(jì)報(bào)告

      還能根據(jù)里程來調(diào)節(jié)單價。

      2.2 設(shè)計(jì)原理

      出租車計(jì)價是根據(jù)車所行駛的路程以及乘客乘車的里程綜合決定的。出租車行駛總路程可以通過車輪的周長乘車輪旋轉(zhuǎn)圈數(shù)得到。即可計(jì)算得到車輪旋轉(zhuǎn)幾周出租車能行駛一公里的路程。通過計(jì)數(shù)接收到的脈沖個數(shù),計(jì)算出當(dāng)前所行駛的路程。同時,通過數(shù)碼管顯示當(dāng)前的行駛里程和需支付的車費(fèi)。出租車計(jì)價器用于記錄里程、起步公里數(shù)與價格的關(guān)系。模擬出租車計(jì)價器能根據(jù)總里程數(shù)、起步公里數(shù)的情況作出相應(yīng)報(bào)價等。這個系統(tǒng)以AT89C51單片機(jī)為主控器,單片機(jī)的計(jì)數(shù)器/定時器T1工作在方式1下來對外部脈沖計(jì)數(shù),最后通過集成的8位7段LED數(shù)碼管顯示里程數(shù)和價錢??傮w模塊框圖如圖1所示。

      總金額顯示單價顯示AT89C51脈沖產(chǎn)生動態(tài)掃描數(shù)碼管顯示

      圖1 總體框圖 硬件設(shè)計(jì)

      對于AT89C51的計(jì)數(shù)器/定時器T1,通過對寄存器TCON的設(shè)置,即使它的M1M0=01,計(jì)數(shù)器/定時器T1工作在方式1下,構(gòu)成16位計(jì)數(shù)器/定時器。此時TH0、TL0都是8位加法計(jì)數(shù)器。此設(shè)計(jì)中,T1為計(jì)數(shù)工作方式,計(jì)數(shù)范圍為1~2^16=1~65536(個外部脈沖)。當(dāng)計(jì)數(shù)溢出時則置位并申請中斷,進(jìn)入中斷服務(wù) 執(zhí)行中斷程序。

      通過74HC138接P20、P21、P22輸出來對8位7段的智能掃描LED進(jìn)行段選,并且通過P1口對LED進(jìn)行位選,最后將結(jié)果顯示在LED上。硬件設(shè)計(jì)圖如圖2所示。

      74HC138是三八譯碼器,在工作之前,使74HC138的使能端有效,再使74HC138的A、B、C接P20、P21、P22的輸出達(dá)到對LED位選線的控制,使相應(yīng)的位顯示相應(yīng)的結(jié)果。硬件總設(shè)計(jì)圖如圖2所示。

      第四篇:基于單片機(jī)的出租車計(jì)價器設(shè)計(jì)報(bào)告

      河南理工大學(xué)

      《單片機(jī)應(yīng)用與仿真訓(xùn)練》設(shè)計(jì)報(bào)告 出租車計(jì)價器設(shè)計(jì)

      姓名學(xué)號: 專業(yè)班級: 指導(dǎo)老師: 所在學(xué)院: 2012年6月25日 摘要

      本設(shè)計(jì)用直流電機(jī)轉(zhuǎn)動模擬出租車車輪轉(zhuǎn)動,實(shí)現(xiàn)出租車多功能的計(jì)價功能。設(shè)計(jì)采用AT89S52單片機(jī)為主控芯片,用光電對管檢測電機(jī)轉(zhuǎn)盤轉(zhuǎn)速,采用24C02芯片為系統(tǒng)在掉電時路程、錢數(shù)等重要信息提供存儲保護(hù),采用兩個四位8段共陰數(shù)碼管顯示里程、總價格和等待時間等信息。本設(shè)計(jì)可以實(shí)現(xiàn)單雙程設(shè)置、系統(tǒng)暫停、空車指示、信息顯示、掉電保護(hù)等功能。

      出租車計(jì)價是根據(jù)車所行駛的路程以及乘客乘車的方式綜合決定的。出租車行駛總路程可以通過車輪的周長乘車輪旋轉(zhuǎn)圈數(shù)得到。即可計(jì)算得到車輪旋轉(zhuǎn)幾周出租車能行駛一公里的路程。使用光電對管能方便地計(jì)量車輪旋轉(zhuǎn)的圈數(shù),輸出的脈沖信號被接入到AT89S52單片機(jī)系統(tǒng)中,通過計(jì)算接收到的脈沖個數(shù),計(jì)算出當(dāng)前所行駛的路程,并且可以計(jì)算實(shí)時的速度。與此同時,根據(jù)不同的收費(fèi)標(biāo)準(zhǔn)計(jì)算收費(fèi)。通過鍵盤能夠?qū)崿F(xiàn)往返設(shè)置,啟動、暫停、停止計(jì)價器、設(shè)置單返程等。

      關(guān)鍵字:出租車計(jì)價器,AT89S52,24C02,光電對管 Abstract This design with DC motor to rotate the analog taxi wheels turning, multi-purpose taxi pricing function.Design using AT89S52 MCU for master chip with a photoelectric tube test motor turntable speed, AT24C02 chip to make the system power-down distance, money and other important information on the storage protection, the use of two four-segment common cathode digital display tube mileage, the total price and waiting time information.This design enables single and double-way set, system halted, empty instructions, information display, power-down protection and other functions.The taxi meter according to the distance traveled by the vehicle and passengers ride the decision.Taxi driving the total distance by the circumference of the wheel drive wheel rotation laps.Can be calculated by the wheel rotation a few weeks a taxi to travel one kilometer away.The use of opto-the number of turns of the tube can be easily measured wheel rotation, the output pulse signal is connected to the microcontroller AT89S52 system, calculated by computing the number of pulses received, the current driving distance, and can calculate the real-time speed.At the same time, the charge will be calculated according to the different charges.Able to achieve a round trip via the keyboard settings, start, pause, stop the meter, set the single return.Key words: Meter,AT89S52,AT24C02,Photoelectric tube 目錄 1 概述 1 2 系統(tǒng)總體方案及硬件設(shè)計(jì) 2 2.1系統(tǒng)總體方案 2 2.2 硬件電路設(shè)計(jì)單元 2.2.1 電源電路單元 2 2.2.2 系統(tǒng)控制單元 3 2.2.3 驅(qū)動電路單元 6 2.2.4 信號檢測單元 7 2.2.5 顯示單元 8 2.2.6 數(shù)據(jù)存儲單元 9 3 軟件設(shè)計(jì) 10 3.1 軟件設(shè)計(jì)流程圖 10 3.2 計(jì)算模塊 11 3.3 鍵盤掃描 11 3.4 顯示程序 11 3.5 PWM波的生成 11 3.6 速度檢測 12 3.7 程序源代碼 12 4 Proteus軟件仿真 13 5 課程設(shè)計(jì)體會 14 6 主要參考文獻(xiàn) 16 致謝 17 附1 程序源代碼 18 附2 系統(tǒng)原理圖 33 1 概述

      出租車計(jì)價器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展的重要標(biāo)志。它關(guān)系著交易雙方的利益,具有良好性能的計(jì)價器無論是對廣大出租車司機(jī)朋友還是乘客來說都是很必要的。因此,汽車計(jì)價器的研究也是十分有應(yīng)用價值和現(xiàn)實(shí)意義的。

      出租車計(jì)價是根據(jù)車所行駛的路程以及乘客乘車的方式綜合決定的。出租車行駛總路程可以通過車輪的周長乘車輪旋轉(zhuǎn)圈數(shù)得到。即可計(jì)算得到車輪旋轉(zhuǎn)幾周出租車能行駛一公里的路程。使用霍爾傳感器方便地計(jì)量車輪旋轉(zhuǎn)的圈數(shù)。輸出的脈沖信號被接入到AT89S52單片機(jī)系統(tǒng)中,通過計(jì)算接收到的脈沖個數(shù),計(jì)算出當(dāng)前所行駛的路程,并且可以計(jì)算實(shí)時的速度,在速度低于5公里每小時是進(jìn)入等待計(jì)費(fèi)。于此同時,根據(jù)不同的收費(fèi)標(biāo)準(zhǔn),通過選擇相應(yīng)的起步價、單價等收費(fèi)標(biāo)準(zhǔn)進(jìn)行計(jì)算。通過鍵盤能夠?qū)崿F(xiàn)往返設(shè)置,啟動、暫停、停止計(jì)價器以及切換顯示當(dāng)前的行駛里程和需支付的車費(fèi)。

      本設(shè)計(jì)硬件電路分為六個單元:電源電路單元,系統(tǒng)控制單元,驅(qū)動電路單元,信號檢測單元,顯示單元和數(shù)據(jù)存儲單元。軟件系統(tǒng)分為五個大的模塊為:總初始化模塊,按鍵掃描模塊,中斷與定時模塊,數(shù)據(jù)計(jì)算模塊,數(shù)碼管顯示模塊。其中,鍵盤掃描和數(shù)碼管顯示采用查詢方式,轉(zhuǎn)速信號接收與等待記時采用中斷方式。這些軟硬件系統(tǒng)構(gòu)成了最終的設(shè)計(jì)。系統(tǒng)總體方案及硬件設(shè)計(jì) 2.1系統(tǒng)總體方案 本設(shè)計(jì)以AT89S52單片機(jī)為中央控制芯片,通過按鍵控制實(shí)現(xiàn)計(jì)價器的啟動、停止、暫停、等待時間顯示、單返程等功能;因?yàn)閱纹瑱C(jī)的I/O無法直接驅(qū)動直流電機(jī)轉(zhuǎn)動,所以通過L298N為驅(qū)動芯片驅(qū)動電路來驅(qū)動直流電機(jī)轉(zhuǎn)動;通過光電對管檢測直流電機(jī)的轉(zhuǎn)速,并利用電壓比較器將整理后的信號送給給單片機(jī);通過數(shù)碼管來顯示里程、總價格、等待時間等信息;通過AT24C02來存儲信息,防止系統(tǒng)掉電信息丟失。系統(tǒng)設(shè)計(jì)總框圖,如圖2.1所示。

      圖2.1系統(tǒng)設(shè)計(jì)總框圖 2.2 硬件電路設(shè)計(jì)單元

      本設(shè)計(jì)硬件電路分為六個單元:電源電路單元,系統(tǒng)控制單元,驅(qū)動電路單元,信號檢測單元,顯示單元和數(shù)據(jù)存儲單元。

      2.2.1 電源電路單元

      電源是由7805芯片,變壓器和整流橋組成的一個5V穩(wěn)壓電源。變壓器將220V交流電轉(zhuǎn)變?yōu)?2V交流電,經(jīng)過整流橋和濾波電容后變?yōu)橹绷?經(jīng)過7805芯片后輸出5V穩(wěn)壓電源。電源電路原理圖,如圖2.2所示。

      圖2.2電源電路原理圖 2.2.2 系統(tǒng)控制單元

      系統(tǒng)控制單元主要有單片機(jī)最小系統(tǒng)和獨(dú)立按鍵組成。2.2.2.1 單片機(jī)最小系統(tǒng)

      單片機(jī)采用了Atmel 公司生產(chǎn)的 AT89S52單片機(jī),它含有256 字節(jié)數(shù)據(jù)存儲器,內(nèi)置8K 的電可擦除FLASH ROM,可重復(fù)編程,大小滿足主控機(jī)軟件系統(tǒng)設(shè)計(jì)。

      AT89S52芯片的主要引腳功能分別為: VCC 電源電壓。GND 接地。

      RST 復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個機(jī)器周期時,將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位(地址8EH)可打開或關(guān)閉該功能。DISKRTO位缺省為RESET輸出高電平打開狀態(tài)。

      ALE/PROG: 當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。

      XTAL1 反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2 來自反向振蕩放大器的輸出。

      P0口:一組8位漏極開路型雙向I/O口。也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時,每位能驅(qū)動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗(yàn)時,輸出指令字節(jié),校驗(yàn)時,要求外接上拉電阻。

      P1口:一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。

      P2口:一個帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因?yàn)閮?nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器時,P2口送出高8位地址數(shù)據(jù)。在訪問8位地址的外部數(shù)據(jù)存儲器時,P2口線上的內(nèi)容在整個訪問期間不改變。Flash編程和程序校驗(yàn)期間,P2亦接收低8位地址。

      P3口:一個帶內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。對P3口寫“1”時,它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時,被外部拉低的P3口將用上拉電阻輸出電流。P3口除了作為一般的I/O口線外,還作特殊功能口。P3口的第二功能引腳分配如下:

      P3.0:RXD,串行通信輸入。P3.1:TXD,串行通信輸出。P3.2:INT0,外部中斷0輸入。P3.3:INT1,外部中斷1輸入。P3.4:T0,計(jì)時計(jì)數(shù)器0輸入。P3.5:T1,計(jì)時計(jì)數(shù)器1輸入。P3.6:WR:外部數(shù)據(jù)存儲器的寫入信號。P3.7:RD,外部數(shù)據(jù)存儲器的讀取信號。單片機(jī)最小系統(tǒng)原理圖,如圖2.3所示。圖2.3 單片機(jī)最小系統(tǒng)原理圖 2.2.2.2 獨(dú)立按鍵

      本設(shè)計(jì)按照功能要求設(shè)置了六個按鍵。按鍵接線圖,如圖2.4所示。按鍵功能分別為:

      key0:系統(tǒng)啟動,用來啟動計(jì)價器,使計(jì)價器開始工作; key1:系統(tǒng)停止/復(fù)位,用來關(guān)閉計(jì)價器,是計(jì)價器停止工作并復(fù)位;

      key2:單程雙程,用來設(shè)置是單程計(jì)費(fèi)還是往返計(jì)費(fèi);

      key3:系統(tǒng)暫停,用來將整個計(jì)費(fèi)系統(tǒng)暫停; key4:等待時間顯示,當(dāng)按下不放時 圖2.4按鍵接線圖

      數(shù)碼管為顯示等待的時間。

      Key5:調(diào)速按鈕,用來調(diào)整電機(jī)的轉(zhuǎn)速,使測試時可控制電機(jī)轉(zhuǎn)速。2.2.3 驅(qū)動電路單元

      LM298N是SGS公司的產(chǎn)品,內(nèi)部包含4通道邏輯驅(qū)動電路。是一種二相和四相電機(jī)的專用驅(qū)動器,即內(nèi)含二個H橋的高電壓大電流雙全橋式驅(qū)動器,接收標(biāo)準(zhǔn)TTL邏輯電平信號,可驅(qū)動46V、2A一下的電機(jī)。LM298N的管腳圖,如圖2.5所示。通過單片機(jī)的I/O輸入改變芯片控制端的電平,即可以對電機(jī)進(jìn)行正反轉(zhuǎn),停止的操作,LM298N的邏輯功能表,如圖2.6所示。

      圖2.5 LM298N的管腳圖 圖2.6 LM298N的邏輯功能表

      LM298N有兩路電源分別為邏輯電源和動力電源,圖中6V為邏輯電源,12V為動力電源。J4接入邏輯電源,J6接入動力電源,J1與J2分別為單片機(jī)控制兩個電機(jī)的輸入端,J3與J5分別與兩個電極的正負(fù)極相連。ENA與ENB直接接入AVR單片機(jī)的PWM輸出口;控制電機(jī)的正反轉(zhuǎn)通過J1與J2兩個接口,控制電機(jī)的轉(zhuǎn)速的通過ENA和ENB的口輸入的PWM波的占空比。由于我們使用的電機(jī)是線圈式的,在從運(yùn)行狀態(tài)突然轉(zhuǎn)換到停止?fàn)顟B(tài)和從順時針狀態(tài)突然轉(zhuǎn)換到逆時針狀態(tài)時會形成很大的反向電流,在電路中加入二極管的作用就是在產(chǎn)生反向電流的時候進(jìn)行泄流,保護(hù)芯片的安全。LM298N電機(jī)驅(qū)動原理圖,如圖2.7所示。

      圖2.7 LM298N電機(jī)驅(qū)動原理圖 2.2.4 信號檢測單元

      電機(jī)轉(zhuǎn)速的檢測模塊是由對射式光電傳感器及其配套電路組成的,對射式光電傳感器原理圖,如圖2.8所示。

      對射式光電傳感器由紅外發(fā)光二極管與光敏三極管組成,主要檢測發(fā)射管與接收管之間有無物體存在。如上圖所示,當(dāng)發(fā)射管與接收管之間沒有物體存在時,光敏三極管接收到紅外光后導(dǎo)通,out輸出低電平;當(dāng)發(fā)射管與接收管之間有物體存在時,光敏三極管無法接收到足夠的強(qiáng)的紅外光所以截止,out輸出高電平。

      但是上述電路存在缺陷,當(dāng)直流電機(jī)高速旋轉(zhuǎn)時,out輸出的信號就容易失真,很難被單片機(jī)檢測識別。為了能夠讓單片機(jī)準(zhǔn)確識別光電傳感器輸出地信號,需在傳感器的輸出端連接一個比較器。

      電壓比較器可以看作是放大倍數(shù)接近“無窮大”的運(yùn)算放大器。電壓比較器的功能:比較兩個電壓的大小 用輸出電壓的高或低電平,表示兩個輸入電壓的大小關(guān)系 :當(dāng)”+”輸入端電壓高于”-”輸入端時,電壓比較器輸出為高電平;當(dāng)”+”輸入端電壓低于”-”輸入端時,電壓比較器輸出為低電平。LM393是雙電壓比較器集成電路

      圖2.8對射式光電傳感器原理圖 圖2.9 LM393引腳圖

      速度檢測電路原理圖,如圖2.10所示。由原理圖可知, 當(dāng)發(fā)射管與接收管之間沒有物體存在時,光敏三極管接收到紅外光后導(dǎo)通,out輸出高電平;當(dāng)發(fā)射管與接收管之間有物體存在時,光敏三極管無法接收到足夠的強(qiáng)的紅外光所以截止,out輸出低電平。經(jīng)過整理后的電路能輸出比較標(biāo)準(zhǔn)的高低電平信號,很容易被單片機(jī)識別。圖2.10 速度檢測電路原理圖 2.2.5 顯示單元 2.2.5.1 數(shù)碼管顯示

      顯示單元采用兩個四位8段數(shù)碼管顯示信息,一組顯示金額,另一組顯示路程配合按鍵來切換顯示。用鎖存器來驅(qū)動數(shù)碼管顯示,數(shù)據(jù)位連接單片機(jī)P0口,片選端和段選端分別用單片機(jī)的P2.6和P2.7端口。如圖2.11所示為數(shù)碼管顯示接線圖。

      圖2.11 數(shù)碼管顯示接線圖 2.2.5.1 LED指示燈

      本設(shè)計(jì)按照功能要求設(shè)置了五個LED燈。接線圖如圖2.12所示。各個LED燈的功能分別為:

      DS0:等待指示燈,車速小于5Km/h時指示燈亮; DS1:暫停指示燈,當(dāng)暫停鍵按下,計(jì)價器暫停計(jì)價時亮; DS2:空車指示,當(dāng)計(jì)價器停止工作也就是空車時,此指示燈亮; DS3:啟動指示燈,當(dāng)按下啟動鍵,計(jì)價器開始計(jì)價時亮; DS4:單雙程指示燈,默認(rèn)為單程,當(dāng)選 圖2.12 LED指示燈接線圖

      擇雙程時亮。2.2.6 數(shù)據(jù)存儲單元

      本設(shè)計(jì)使用了24C02作為外部存儲芯片。24C02是串行2K的EEPROM,是基于I2C-BUS 的存儲器件,遵循二線制協(xié)議,具有接口方便,體積小,數(shù)據(jù)掉電不丟失等特點(diǎn)。計(jì)價器能將里程和總價格實(shí)時的存儲到24C02中,當(dāng)計(jì)價器因掉電停止工作,24C02會存儲掉電前一刻的數(shù)據(jù),使系統(tǒng)從新上電時能夠恢復(fù)里程和總價格。當(dāng)計(jì)價器是被手動正常停止時,將會對24C02相應(yīng)的地址寫0,以使下次啟動時,計(jì)價器從初始化數(shù)據(jù)開始計(jì)價。24C02的接線圖,如圖2.13所示。

      圖2.13 24C02的接線圖 3 軟件設(shè)計(jì) 3.1 軟件設(shè)計(jì)流程圖

      軟件系統(tǒng)可以大致分為幾個大的模塊為:初始化模塊,按鍵掃描模塊,中斷與定時模塊,數(shù)據(jù)計(jì)算模塊,數(shù)碼管顯示模塊,IIC總線通信模塊等。其中,鍵盤掃描和數(shù)碼管顯示采用查詢方式,轉(zhuǎn)速信號接收采用中斷方式。軟件設(shè)計(jì)流程圖,如圖3.1所示。

      圖3.1 軟件設(shè)計(jì)流程圖 3.2 計(jì)算模塊

      計(jì)算程序根據(jù)里程數(shù)分別進(jìn)入不同的計(jì)算公式。如果里程大于3公里,則執(zhí)行公式:總金額 起步價+(里程-3)*單價+等待時間*等待單價;否則,執(zhí)行公式:總金額 起步價+等待時間*等待單價。

      對于速度的判斷及等待時間的記錄采用定時器零中斷,設(shè)定10ms一個中斷,然后判斷車速,小于5公里/小時時,則開始記錄等待時間。

      3.3 鍵盤掃描

      鍵盤掃描才用查詢方式,當(dāng)有按鍵按下時就對相應(yīng)的標(biāo)志進(jìn)行取反,或調(diào)用其他子函數(shù),在消抖過程中,這里將數(shù)碼管顯示程序潛入以保證顯示的穩(wěn)定。

      3.4 顯示程序

      顯示程序利用主函數(shù)內(nèi)的循環(huán),實(shí)現(xiàn)動態(tài)掃描顯示,同時根據(jù)數(shù)碼管余輝和人眼暫留現(xiàn)象,即可實(shí)現(xiàn)顯示

      3.5 PWM波的生成

      在AT89系列單片機(jī)中,由于沒有PWM控制器,要輸出PWM信號就需通過軟件的方式在I/O口上模擬PWM的輸出。PWM軟件設(shè)計(jì)一般可以利用軟件延時的方式或利用單片機(jī)內(nèi)部的定時器/計(jì)數(shù)器作為時鐘信號。

      本設(shè)計(jì)是利用軟件延時獲得PWM信號的,在軟件中設(shè)計(jì)一個基準(zhǔn)的軟件延時程序,通過反復(fù)調(diào)用這個延時程序,從而獲得不同的時間長度,為了電機(jī)速度穩(wěn)定,我們選擇使用同周期,不同占空比的PWM進(jìn)行調(diào)速。

      若頻率為1kHZ,則每個方波的周期為1ms,占空比從0變化到100%,最小的變化量為10%,即高電平維持時間的最小值是100us,所以只要設(shè)計(jì)出100us的延時程序作為基準(zhǔn)即可。具體程序如下: #define uchar unsigned char sbit PWM P3^4;//定義PWM輸出口為P3.4 void PWMout uchar q //生成同周期的PWM波

      PWM 1;delay q;PWM 0;delay 10-q;

      void delay uchar a //100us延時函數(shù)

      uchar b;for;a 0;a--

      for b 29;b 0;b--

      _nop_;

      _nop_;

      3.6 速度檢測

      經(jīng)檢測模塊得到的信號輸入到單片機(jī)內(nèi),因?yàn)檩斎氲氖堑碗娖叫盘?所以我把信號輸入到了中斷0端口,每接收一個低電平信號程序就會進(jìn)入中斷函數(shù)里面,中斷0函數(shù)如下: void int0 interrupt 0

      sudu++;

      這樣就完成了速度測量。3.7 程序源代碼 程序源代碼見附錄2。4 Proteus軟件仿真

      將整個系統(tǒng)原理圖在Proteus連接好后,下載如編寫好的程序仿真如下:如圖4.1顯示的狀態(tài)設(shè)置為:單程,車速大于5km/h,當(dāng)路程等于40.4km時的顯示情況。

      圖4.1 Proteus軟件仿真圖 5 課程設(shè)計(jì)體會

      本次單片機(jī)課程設(shè)計(jì),我們選的題目是出租車計(jì)價器的設(shè)計(jì)。通過仿真、焊接、調(diào)試等不斷的努力,我們的出租車計(jì)價器實(shí)現(xiàn)了基本要求的全部功能和發(fā)揮部分的部分功能。比如能顯示里程、金額數(shù)、總等待時間,可設(shè)定單程價格和雙程價格,按暫停鍵,計(jì)價器可暫停計(jì)價,按查詢鍵,可顯示總等待時間,空車指示、信息存儲等。

      經(jīng)過這些天有關(guān)于出租車計(jì)價器的課程設(shè)計(jì),使我們對MCS-51系列單片機(jī)的應(yīng)用有了更深的了解。從前的學(xué)習(xí)過程過于浮淺,只是流于表面的理解,而現(xiàn)在要做課程設(shè)計(jì),就不得不要求我們對所用到的知識有更深層次的理解。因?yàn)檎n程設(shè)計(jì)的內(nèi)容比及書本中的理論知識而言,更接近于現(xiàn)實(shí)生活,而理論到實(shí)踐的轉(zhuǎn)化往往是一個艱難的過程,它猶如一只攔路虎,橫更在我們的面前。但是我們毫不畏懼,因?yàn)槲覀兿嘈盼覀兡苄小?/p>

      事情并不總是一帆風(fēng)順的,我們總會遇到困難和險阻。在此次課程設(shè)計(jì)的過程中,我們碰到了許多的問題。比如,對于數(shù)碼管動態(tài)掃描顯示和鍵盤的延時防抖的綜合編程不能較好地解決;對于代碼的前后順序及調(diào)用掌握得還不夠好;對于一些相關(guān)的應(yīng)用軟件 KEIL、PROTEUS、Altium esigner 沒能熟練掌握。當(dāng)然,問題并不可怕,只要我們懷著一顆不服輸?shù)男模峦鼻?,那么勝利將不會離我們太遠(yuǎn)。通過上網(wǎng)查找資料、與同學(xué)老師交流、小組成員間的討論、不斷實(shí)踐與探索,我們總能找到解決問題的方法,最后得到良好的效果。

      通過這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。同時在設(shè)計(jì)的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固。

      總之,本次課程設(shè)計(jì)讓我們更加深刻的掌握了MCS-51系列單片機(jī)的工作原理和編程語言,更加熟練的掌握了KEIL、PROTEUS、Altium designer等專業(yè)軟件的使用,熟悉了產(chǎn)品開發(fā)的大致流程,深刻的體會到了團(tuán)隊(duì)協(xié)作精神的重要性,培養(yǎng)了我們發(fā)現(xiàn)問題、獨(dú)立思考問題、多種途徑解決問題的能力,鍛煉并提高了了我們的動手實(shí)踐能力和理論與實(shí)踐相結(jié)合的能力。

      我以后做一個動手能力強(qiáng)的大學(xué)生。http://004km.cn.致謝

      在課程設(shè)計(jì)即將完成之際,我想向給予我?guī)椭椭С值娜吮硎局孕牡母兄x!感謝高老師和王老師給我們提供這次難得的課程設(shè)計(jì)機(jī)會,讓我們有機(jī)會把理論

      得以應(yīng)用到實(shí)踐上。

      感謝我們的指導(dǎo)老師王莉,課程設(shè)計(jì)是在老師的親切關(guān)懷和悉心指導(dǎo)下完成的。嚴(yán)肅的科學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。老師不僅在學(xué)業(yè)上給我以精心指導(dǎo),同時還在思想、上給我以無微不至的關(guān)懷,在此謹(jǐn)向老師致以誠摯的謝意和崇高的敬意。我還要感謝在一起愉快的度過的同學(xué)們,正是由于你們的幫助和支持,我才能克服一個一個的困難和疑惑,直至本文的順利完成。最后,再次對關(guān)心、幫助我的老師和同學(xué)表示衷心地感謝!#include

      //頭文件

      #include

      #include

      //IIC總線通信 #include

      //數(shù)碼管顯示 #define uint unsigned int

      #define uchar unsigned char sbit key0 P1^0;//啟動 sbit key1 P1^1;//停止 sbit key2 P1^2;//單返程 sbit key3 P1^3;//暫停 sbit key4 P1^4;//顯示等待時間 sbit key5 P1^5;//調(diào)速 sbit led0 P2^2;//暫停指示燈 sbit led1 P2^3;//空車指示燈 sbit led2 P2^4;//啟動指示燈 sbit led3 P2^5;//雙程指示燈 sbit led4 P2^1;//等待指示燈 sbit PWM P3^4;//PWM輸出口

      uchar sudu,sudu0,shi,fen,miao,shi0 12,fen0 30,miao0;uchar danfanflag 0,flag 0,speedflag 1,stopflag 0;uint licheng 0,maichong,r 0,money 0;uint t,t1,t2;uchar num1,num2,num3,num4,lichenga,lichengb,moneya,moneyb;long licheng0;void init0;//系統(tǒng)初始化函數(shù) void delay uint a;//延時函數(shù) void PWMout uchar q;//PWM產(chǎn)生函數(shù) void anjian;//按鍵掃描函數(shù) void jisuan;//路程、價錢計(jì)算函數(shù) void chuli;void main

      num1 read_add 25;num2 read_add 26;delay 5;licheng num1*100+num2;licheng0 150*licheng-300*fen;init0;while 1

      anjian;chuli;lichenga licheng/100;lichengb licheng%100;

      write_add 25,lichenga;delay 5;write_add 26,lichengb;

      void init0

      TH0 0x3c;TL0 0xb0;EA 1;

      //初始化

      TMOD 0x01;EX0 0;IT0 1;ET0 1;TR0 1;P0 0xff;P1 0xff;P2 0xff;P3 0xfe;

      void chuli

      if speedflag 1 PWMout 12;else if speedflag 2 PWMout 20;else PWMout 6;if flag 1 led2 0;

      led3 1;jisuan;

      if key4 0

      display0 shi,fen,miao;

      else

      display licheng,money;

      if flag 2

      led2 0;led3 1;display 1,2;

      if flag 0

      display0 shi0,fen0,miao0;led3 0;led2 1;

      if danfanflag 1 led1 0;if danfanflag 0 led1 1;if stopflag 1

      led0 0;

      else led0 1;

      void jisuan

      r maichong;licheng0+ r;licheng licheng0/150+ fen/5 *10;sudu0+ r;maichong 0;if t2 10

      t2 0;

      sudu sudu0;

      sudu0 0;

      if licheng 30

      money 50;else

      if danfanflag 1

      money 50+1.5* licheng-30;

      else

      money 50+2* licheng-30;

      void anjian

      if key0 0

      EX0 1;

      flag 1;

      stopflag 0;

      if key1 0 EX0 0;maichong 0;

      licheng0 0;licheng 0;flag 0;

      shi 0;

      fen 0;

      miao 0;write_add 25,0;delay 5;write_add 26,0;

      if key2 0

      delay 5;

      if key2 0

      if flag 1

      danfanflag++;

      if danfanflag 2

      danfanflag 0;

      while!key2;delay 5;while!key2;

      if key3 0

      if flag 1

      EX0 0;

      stopflag 1;

      if key5 0

      delay 5;

      if key5 0

      speedflag++;

      if speedflag 3

      speedflag 0;

      while!key5;delay 5;while!key5;

      void int0 interrupt 0 數(shù)

      maichong++;

      void timer0 interrupt 1

      TH0 0x3c;TL0 0xb0;t++;t1++;t2++;if t1 20

      t1 0;

      miao0++;

      //檢測與計(jì)定時器50ms

      //

      if miao0 60

      miao0 0;

      fen0++;

      if fen0 60

      fen0 0;

      shi0++;

      if shi0 24

      shi0 0;

      if sudu 50&&flag 1&&stopflag 0 led4 0;if t 20

      t 0;

      miao++;

      if miao 60

      miao 0;

      fen++;

      if fen 60

      fen 0;

      shi++;

      if shi 24

      shi 0;

      else led4 1;

      void PWMout uchar q

      PWM 1;delay q;

      //生成PWM波

      PWM 0;delay 20-q;

      IIC.h IIC通信

      #define uint unsigned int

      #define uchar unsigned char sbit sda P1^6;sbit scl P1^7;void delay0;;void start

      sda 1;delay0;scl 1;delay0;sda 0;delay0;

      void stop

      sda 0;delay0;scl 1;delay0;sda 1;delay0;

      void respons

      uchar i;scl 1;delay0;while sda 1 && i 250 i++;scl 0;delay0;

      void init

      sda 1;scl 1;

      void write_byte uchar date uchar i,temp;temp date;scl 0;delay0;for i 0;i 8;i++

      temp temp 1;

      sda CY;

      delay0;

      scl 1;

      delay0;

      scl 0;

      delay0;

      sda 1;

      delay0;

      uchar read_byte

      uchar i,j,k;scl 0;delay0;sda 1;delay0;for i 0;i 8;i++

      scl 1;

      delay0;

      j sda;

      k k 1 |j;

      scl 0;

      delay0;

      return k;

      void write_add uchar address,uchar date

      start;write_byte 0xa0;//器件地址;

      respons;write_byte address;//存儲器地址;

      respons;write_byte date;//寫數(shù)據(jù)

      respons;stop;

      uchar read_add uchar address

      uchar date;start;write_byte 0xa0;respons;write_byte address;respons;start;write_byte 0xa1;respons;date read_byte;stop;return date;

      display.h 數(shù)碼管顯示#define uint unsigned int

      #define uchar unsigned char sbit dula P2^7;//端口

      定義段選

      sbit wela P2^6;//定義位選端口

      uchar code table[]

      //數(shù)碼管編碼 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71;void delay uint c

      //延時100us

      uint a,b;for a c;a 0;a--for b 40;b 0;b--;

      void display uint shu,uint shu1 //顯示函數(shù)

      uchar qian,bai,shi,ge,qian1,bai1,shi1,ge1;qian shu/1000;bai shu/100%10;shi shu%100/10;ge shu%10;qian1 shu1/1000;bai1 shu1/100%10;shi1 shu1%100/10;ge1 shu1%10;dula 1;P0 table[qian];dula 0;wela 1;P0 0xfe;wela 0;delay 2;dula 1;P0 table[bai];dula 0;wela 1;P0 0xfd;wela 0;delay 2;dula 1;P0 table[shi]|0x80;dula 0;wela 1;P0 0xfb;wela 0;delay 2;dula 1;P0 table[ge];dula 0;wela 1;P0 0xf7;wela 0;delay 2;dula 1;P0 table[qian1];dula 0;wela 1;P0 0xef;wela 0;delay 2;dula 1;P0 table[bai1];dula 0;wela 1;P0 0xdf;wela 0;delay 2;dula 1;P0 table[shi1]|0x80;dula 0;wela 1;P0 0xbf;wela 0;delay 2;dula 1;P0 table[ge1];dula 0;wela 1;P0 0x7f;wela 0;delay 2;

      void display0 uchar shi,uchar fen,uchar miao 示時間函數(shù)

      uchar aa,bb,cc,dd,ee,ff;aa shi/10;bb shi%10;cc fen/10;

      顯 // dd fen%10;ee miao/10;ff miao%10;dula 1;P0 table[aa];dula 0;wela 1;P0 0xfe;wela 0;delay 4;dula 1;P0 table[bb]|0x80;dula 0;wela 1;P0 0xfd;wela 0;delay 4;dula 1;P0 table[cc];dula 0;wela 1;P0 0xfb;wela 0;delay 3;dula 1;P0 table[dd]|0x80;dula 0;wela 1;P0 0xf7;wela 0;delay 4;dula 1;P0 table[ee];dula 0;wela 1;P0 0xef;wela 0;delay 4;dula 1;P0 table[ff];dula 0;wela 1;P0 0xdf;wela 0;delay 4;

      附2 系統(tǒng)原理圖

      河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告河南理工大學(xué)本科課程設(shè)計(jì)報(bào)告按 鍵

      AT89S52單片機(jī) L298N驅(qū)動 數(shù)碼管顯示 信號檢測 24C02 指示燈 直 流 電 機(jī) 開始 初始化 按鍵掃描 是否啟動 結(jié)束 是否暫停

      速度是否小于5Km/h 是 否

      1.5元/公里 2元/公里 數(shù)碼管顯示 是否雙程 暫停計(jì)價 是 是 否

      每5分鐘加1公里 是 否 查詢 處理計(jì)算

      第五篇:出租車計(jì)價器 硬件課程設(shè)計(jì)

      硬件課程設(shè)計(jì)報(bào)告

      題目:出租車計(jì)價器

      目錄

      1. 引言....................................................................................................................................錯誤!未定義書簽。

      1.1設(shè)計(jì)目的................................................................................................................錯誤!未定義書簽。1.2設(shè)計(jì)任務(wù)................................................................................................................錯誤!未定義書簽。1.3設(shè)計(jì)思路................................................................................................................錯誤!未定義書簽。

      2.需求分析.............................................................................................................................錯誤!未定義書簽。

      2.1芯片原理................................................................................................................錯誤!未定義書簽。2.1.1可編程計(jì)數(shù)器/定時器8253/8254原理.............................................................錯誤!未定義書簽。2.1.2可編程外圍接口芯片8255原理.......................................................................錯誤!未定義書簽。2.1.3 12864液晶顯示器ST7920原理........................................................................錯誤!未定義書簽。2.2硬件設(shè)計(jì)................................................................................................................錯誤!未定義書簽。2.3軟件設(shè)計(jì)................................................................................................................錯誤!未定義書簽。2.3.1功能模塊圖.........................................................................................................錯誤!未定義書簽。2.3.2程序流程圖.........................................................................................................錯誤!未定義書簽。2.3.3模塊流程圖.........................................................................................................錯誤!未定義書簽。

      3.詳細(xì)設(shè)計(jì).............................................................................................................................錯誤!未定義書簽。

      3.1程序模塊分析........................................................................................................錯誤!未定義書簽。3.1.1初始化模塊程序分析.........................................................................................錯誤!未定義書簽。3.1.2判斷開關(guān)程序模塊分析.....................................................................................錯誤!未定義書簽。3.1.3圈數(shù)統(tǒng)計(jì)模塊程序分析.....................................................................................錯誤!未定義書簽。3.1.4計(jì)算里程模塊程序分析.....................................................................................錯誤!未定義書簽。3.1.5顯示模塊程序分析.............................................................................................錯誤!未定義書簽。3.1.6結(jié)束模塊程序分析.............................................................................................錯誤!未定義書簽。3.2程序代碼................................................................................................................錯誤!未定義書簽。

      4.5.6.程序結(jié)果.............................................................................................................................錯誤!未定義書簽。分析與測試.........................................................................................................................錯誤!未定義書簽。體會.....................................................................................................................................錯誤!未定義書簽。

      附錄A:參考文獻(xiàn).....................................................................................................................錯誤!未定義書簽。

      一、引言

      1.1設(shè)計(jì)目的

      現(xiàn)在各大城市出租車已經(jīng)成為了一種重要的交通工具,當(dāng)然出租車的收費(fèi)問題也成了人們關(guān)注的焦點(diǎn),那么怎么樣才能實(shí)現(xiàn)一種合理的收費(fèi)方式讓大家都認(rèn)可呢?在這種要求下,出租車自動計(jì)價器就走進(jìn)了人們的生活,當(dāng)然這就要求有一種合理公正的計(jì)價器收費(fèi)方式。這不僅關(guān)系到出租車計(jì)價器的市場,也影響這出租車的市場,這就要求我們設(shè)計(jì)出更好的計(jì)價器來滿足人們的需求。

      本設(shè)計(jì)是關(guān)于出租車計(jì)價器的設(shè)計(jì)。在本次設(shè)計(jì)中,我以計(jì)價器的基本功能作為設(shè)計(jì)的重點(diǎn)。為了完成上述設(shè)計(jì),我們采用了8254、8255等芯片,用計(jì)算機(jī)匯編語言進(jìn)行軟件功能的實(shí)現(xiàn)。

      1.2設(shè)計(jì)任務(wù)

      1.實(shí)現(xiàn)一個出租車計(jì)價器,可以顯示起步價。2.一個鍵來控制是否到達(dá)終點(diǎn),是否計(jì)價要清零。3.基于路程的出租車計(jì)價方式。

      1.3設(shè)計(jì)思路

      利用直流電機(jī)來模仿出租車輪子的轉(zhuǎn)動來計(jì)算出租車行進(jìn)的路程。將直流電機(jī)的直流端與滑動變阻器相連,通過人工控制滑動變阻器來模擬出租車的行進(jìn);并將計(jì)數(shù)端與8253CLK0端相連,GATE0接高電平,工作方式為方式二。直流電機(jī)每轉(zhuǎn)1000圈,8253輸出一個高電平,假設(shè)出租車已經(jīng)走了1公里。同時將8253OUT0接入8255方便CPU讀取。再將8255與ST7920顯示器相連,CPU通過控制8255來控制顯示,一旦8255從8253讀入一個高電平,則公里數(shù)加一,同時價格相應(yīng)增加。另有一個開關(guān)連入8255,用以判斷出租車計(jì)價器是否啟動。

      二、需求分析

      2.1芯片原理

      本節(jié)主要在介紹本次設(shè)計(jì)所用到的芯片的原理,共有可編程計(jì)數(shù)器/定時器8253/8254、可編程外圍接口芯片8255和12864液晶顯示器ST7920原理三種芯片。

      2.1.1可編程計(jì)數(shù)器/定時器8253/8254原理

      圖2-1 8254內(nèi)部結(jié)構(gòu)圖

      從圖2-1可見,8254內(nèi)部包含數(shù)據(jù)總線緩沖器、讀/寫控制邏輯、控制字寄存器和3個結(jié)構(gòu)完全相同的計(jì)數(shù)器,這3個計(jì)數(shù)器分別稱為計(jì)數(shù)器0、計(jì)數(shù)器1和計(jì)數(shù)器2。

      圖2-2 8254管腳圖

      A1、A0:地址輸入線,用來控制8253內(nèi)部的4個端口,即3個計(jì)數(shù)器和1個控制字寄存器與CPU系統(tǒng)地址線相連。

      CLK0-2:時鐘脈沖輸入端,用于輸入定時脈沖或計(jì)數(shù)脈沖信號。CLK可以是系統(tǒng)的時鐘脈沖,也可以由系統(tǒng)時鐘分頻或者其他脈沖源提供。當(dāng)用于定時時,這個脈沖必須是均勻的、連續(xù)的、周期精確的,而用于計(jì)數(shù)時,這個脈沖可以是不均勻的、斷續(xù)的、周期不定的。

      GATE0-2:門控輸入端,用于外部控制計(jì)數(shù)器的啟動計(jì)數(shù)和停止計(jì)數(shù)的操

      作。兩個或兩個以上計(jì)數(shù)器連用時,可用此信號同步,也可用于與外部某信號的同步。

      OUT0-2:計(jì)數(shù)輸出,當(dāng)計(jì)數(shù)器從初值開始完成計(jì)數(shù)操作進(jìn),OUT引腳輸出相應(yīng)的信號。

      8253的方式控制字

      圖2-3 8254控制字圖

      本設(shè)計(jì)中8254的功能

      只是用通道1,采用方式三。采用二進(jìn)制計(jì)數(shù),輸入0FFFH。先輸入低字節(jié),再輸入高字節(jié)。當(dāng)8254從0FFFFH遞減到159FH時(即轉(zhuǎn)了60000圈時),8254向總線發(fā)信號使程序向下進(jìn)行。

      2.1.2可編程外圍接口芯片8255原理

      內(nèi)部結(jié)構(gòu)如圖所示,由以下4個部分組成:

      圖2-4 8255內(nèi)部結(jié)構(gòu)圖

      (1)輸入/輸出端口A、B、C。這三個端口均可看作是I/O端口,但它們的結(jié)構(gòu)和功能也稍有不同。A口和B口是一個獨(dú)立的8位I/O口。C口:可以看作是一個獨(dú)立的8位I/O口;也可以看作是兩個獨(dú)立的4位I/O口。

      (2)A組和B組控制電路。這是兩組根據(jù)CPU命令控制8255A工作方式的電路,這些控制電路內(nèi)部設(shè)有控制寄存器,可以根據(jù)CPU送來的編程命令來控制8255A的工作方式,也可以根據(jù)編程命令來對C口的指定位進(jìn)行置/復(fù)位的操作。A組控制電路用來控制A口及C口的高4位;B組控制電路用來控制B口及C口的低4位

      (3)讀/寫控制邏輯。(同上:它負(fù)責(zé)管理8255A的數(shù)據(jù)傳輸過程。它接收CS*及RD*、WR*、RESET,還有來自系統(tǒng)地址總線的口地址選擇信號A0和A1。將這些信號組合后,得到對A組控制部件和B組控制部件的控制命令,并將命令發(fā)給這兩個部件,以完成對數(shù)據(jù)、狀態(tài)信息和控制信息的傳輸。)

      (4)數(shù)據(jù)總緩沖器。(同上:它是8位的雙向的三態(tài)緩沖器。作為8255A與系統(tǒng)總線連接的界面,輸入/輸出的數(shù)據(jù),CPU的編程命令以及外設(shè)通過8255A傳送的工作狀態(tài)等信息,都是通過它來傳輸?shù)?。?/p>

      如圖所示8255A的芯片引腳信號。除了電源和地以外,其他信號可以分為兩組:

      圖2-5 8255管腳圖

      1.和外設(shè)一邊相連的: PA7-PA0:A組數(shù)據(jù)信號

      PB7-PB0:B組數(shù)據(jù)信號 PC7-PC0:C組數(shù)據(jù)信號 2.和CPU一邊相連的:

      RESET:復(fù)位信號,低電平有效。當(dāng)RESET信號來到時,所有內(nèi)部寄存器就被清除,同時,3個數(shù)據(jù)端口被自動設(shè)為輸入端口。

      D7-D0:它們是8255A的數(shù)據(jù)線,和系統(tǒng)數(shù)據(jù)總線相連。

      CS*:芯片選擇信號,低電平有效。在一個系統(tǒng)中,一般根據(jù)全部接口芯片來分配若干較低位地址(比如A5、A4、A3)來組成各種芯片選擇碼,當(dāng)這幾位地址組成某一個代碼時,譯碼器便往8255A的CS*端輸出一個低電平,于是8255A被選中。只有當(dāng) CS*有效時,讀信號RD*和寫信號WR*才對8255A有效。

      RD*:芯片讀出信號低電平有效。WR*:芯片寫入信號低電平有效。8255的方式控制字格式

      圖2-6 8255控制字圖

      本設(shè)計(jì)中8255的功能

      8255PA0-PA7和PC0-PC2與ST7920相連,控制輸出。PB0與8253的OUT1相連,讀入8253OUT1 的數(shù)據(jù)。PB1與開關(guān)K0相連,讀入K0的數(shù)值用于確定是否開啟計(jì)價器。

      2.1.3可編程外圍接口芯片8255原理

      ST7920控制器系列中文圖形液晶模塊的軟件特性主要由ST7920控制驅(qū)動器決定。ST7920同時作為控制器和驅(qū)動器,它可提供33路com輸出和64路seg輸出。在驅(qū)動器ST7921的配合下,最多可以驅(qū)動256×32點(diǎn)陣液晶。

      ST7920是臺灣矽創(chuàng)電子公司生產(chǎn)的中文圖形控制芯片,它是一種內(nèi)置12864漢字圖形點(diǎn)陣的液晶顯示控制模塊,用于顯示漢字及圖形。該芯片共內(nèi)置8192

      個中文漢字(16×16點(diǎn)陣)、128個字符的ASCII字符庫(8×16點(diǎn)陣)及64×2256點(diǎn)陣顯示RAM(GDRAM)。

      為了能夠簡單、有效地顯示漢字和圖形,該模塊內(nèi)部設(shè)計(jì)有2MB的中文字型CGROM和64×256點(diǎn)陣的GDRAM繪圖區(qū)域;同時,該模塊還提供有4組可編程控制的16×16點(diǎn)陣造字空間;除此之外,為了適應(yīng)多種微處理器和單片機(jī)接口的需要,該模塊還提供了4位并行、8位并行、2線串行以及3線串行等多種接口方式。利用上述功能可方便地實(shí)現(xiàn)漢字、ASCII碼、點(diǎn)陣圖形、自造字體的同屏顯示,所有這些功能(包括顯示RAM、字符產(chǎn)生器以及液晶驅(qū)動電路和控制器)都包含在集成電路芯片里,因此,只要一個最基本的微處理系統(tǒng)就可以通過ST7920芯片來控制其它的芯片

      圖2-7 ST7920外觀尺寸圖

      本設(shè)計(jì)中ST7920的功能

      用于顯示出租車行駛路程與應(yīng)收費(fèi)用。

      2.2硬件設(shè)計(jì)

      其中,8253GATE1連+5V高電平,直流電機(jī)連0~+5V,8253連280h~287h,8255連288h~28fh。8255PA0-PA7連ST7920顯示器D0-D7,PC0連DI,PC1連RW,PC2連E。開關(guān)K0連8255PB0。8253CLK1連直流電機(jī)計(jì)數(shù)端。

      0~+5V直流電機(jī)D0-D7計(jì)數(shù)ST7920顯示屏DIRWE+5VGATE1CLK1PA0-PA7+5VPC0PC1PC2開關(guān)K0PB0+5V8253CS8255CS280H-288H289H-28FH總線圖2-8硬件連接圖

      實(shí)際連接圖如下圖所示

      圖2-9硬件實(shí)際連接圖

      2.3軟件設(shè)計(jì) 2.3.1功能模塊圖

      本節(jié)先給出一個程序的功能模塊圖。

      出租車計(jì)價器系統(tǒng)計(jì)價器開關(guān)功能模塊讀入直流電機(jī)轉(zhuǎn)圈數(shù)模塊ST7920顯示功能模塊根據(jù)里程計(jì)算價格模塊

      圖2-10軟件功能模塊圖

      2.3.2程序流程圖

      本節(jié)先給出一個程序的整體流程圖。

      開始結(jié)束8253初始化液晶顯示屏初始化8255初始化是計(jì)價器是否開始工作通過8255讀入b0否是否有鍵盤輸入否液晶顯示屏初始化是液晶顯示屏調(diào)用顯示價格功能從直流電機(jī)讀入輸入圈數(shù)將更改過的路程在顯示器中顯示出來讀到一定圈數(shù)走的路程加一比較路程是否大于3公里是價格為(路程-3)*2+7 元將儲存的顯示字符串內(nèi)路程價格改為目前路程價格否價格為7元

      圖2-11軟件程序流程圖

      2.3.3模塊流程圖

      如果對整個程序進(jìn)行細(xì)分則可以分為初始化模塊,判斷開關(guān)模塊,圈數(shù)統(tǒng)計(jì)模塊,計(jì)算里程模塊、結(jié)束模塊和顯示模塊。其中初始化模塊是8253芯片、8255芯片和顯示屏的初始化。判斷開關(guān)模塊是對8255的b0端是否有高電平進(jìn)行判斷。

      圈數(shù)統(tǒng)計(jì)模塊是對直流電機(jī)傳入8253中高電平的數(shù)量進(jìn)行圈數(shù)統(tǒng)計(jì)。計(jì)算里程模塊是對里程及價格進(jìn)行計(jì)算的模塊。結(jié)束模塊是程序結(jié)束的操作與方法。顯示模塊是控制顯示屏顯示計(jì)算模塊的結(jié)果。

      初始化模塊顯示模塊調(diào)用關(guān)判斷開關(guān)模塊開結(jié)束模塊圈數(shù)統(tǒng)計(jì)模塊計(jì)算里程模塊調(diào)用顯示模塊圖2-12軟件模塊流程圖

      三、詳細(xì)設(shè)計(jì)

      3.1程序模塊分析

      我們將按模塊分析程序的功能并給出模塊內(nèi)的功能流程圖。

      3.1.1初始化模塊分析

      在初始化模塊中,我們定義了需要使用的8255和8254的接口,需要使用的變量如JSS,要輸出的字符串等,初始化了DS,完成了8255的初始化以及顯示屏的初始化。其流程圖為

      開始圖3-1初始化模塊流程圖

      3.1.2判斷開關(guān)模塊分析

      以上為判斷開關(guān)模塊,在判斷開關(guān)模塊中,系統(tǒng)讀入8255PB0的電平,如果是高電平則程序繼續(xù)進(jìn)行,如果是低電平則程序調(diào)用chushi函數(shù),用屏幕顯示“空車歡迎乘坐”,并繼續(xù)度8255PB0直到有高電平為止。其流程圖如下所示:

      8255PB0是否為高電平是圈數(shù)統(tǒng)計(jì)模塊否Chushi函數(shù)計(jì)數(shù)變量和對應(yīng)的字符串置零顯示 空車 歡迎乘坐 調(diào)用顯示模塊

      圖3-2判斷開關(guān)模塊流程圖

      3.1.3圈數(shù)統(tǒng)計(jì)模塊分析

      在圈數(shù)統(tǒng)計(jì)模塊中,我們將直流電機(jī)計(jì)數(shù)端連入8254CLK1中(8253采用方式三),在CLK1中讀所記的數(shù),從0FFFFH向下計(jì),一直計(jì)到159FH,即轉(zhuǎn)了6000圈后,進(jìn)入程序的下一段。其流程圖如下所示:

      讀8254計(jì)數(shù)值否是否到159FH以下是重新將8254計(jì)數(shù)初值設(shè)為0FFFFH計(jì)算里程模塊

      圖3-3圈數(shù)統(tǒng)計(jì)模塊流程圖

      3.1.4計(jì)算里程模塊分析

      我們用地址JSS里表示已經(jīng)走過的公里,即8254傳過來的高電平,同時我們采用價格公式來計(jì)算價格,將其里程和價格對應(yīng)的中文字碼表存入要顯示的字符串中。我們用地址JSS里表示已經(jīng)走過的公里,即8254傳過來的高電平,同時我們采用價格公式來計(jì)算價格,將其里程和價格對應(yīng)的中文字碼表存入要顯示的字符串中。

      計(jì)算公式為: 價格=(里程-3)* 2……(里程>3)

      價格= 7…………………..(里程<=3)并調(diào)用顯示模塊來顯示這些字碼其流程圖如下所示:

      圈數(shù)統(tǒng)計(jì)模塊計(jì)數(shù)值JSS加一并十進(jìn)制化里程數(shù)加一里程數(shù)是否是大于3是價格為(里程-3)*2調(diào)用顯示模塊否價格為7

      圖3-4計(jì)算里程模塊流程圖

      3.1.5顯示模塊分析

      在顯示模塊中,我們使用ST7920顯示我們要顯示的兩行字符串。我們采取先顯示第一行,再顯示第二行的方法,只是用ST7920的中間兩行。

      調(diào)整顯示屏指針指向第二行調(diào)整顯示屏指針指向第三行調(diào)整字符串指針指向第一個字調(diào)整字符串指針指向第九個字輸出輸出延時延時

      圖3-5顯示模塊流程圖

      3.1.6結(jié)束模塊分析

      結(jié)束模塊在程序的尾部在結(jié)束模塊中,我們規(guī)定只要在鍵盤上按任意一個鍵就會結(jié)束整個程序。如果無鍵按下,則程序自動跳轉(zhuǎn)到程序頭部。其程序流程圖如下圖所示:

      調(diào)用DOS中斷是否有鍵按下是結(jié)束否判斷開關(guān)模塊

      圖3-6結(jié)束模塊流程圖

      3.2程序代碼

      IO8253A

      EQU 280H IO8253B

      EQU 281H IO8253C

      EQU 283H

      DATA

      SEGMENT HZ DW 0C2B7H,0B3CCH,0A3B0H,0A3B0H,0A3AEH,0A3B0H,0B9ABH,0C0EFH

      DW BCDBH,0B8F1H,0A3B0H,0A3B0H,0A3B0H,0A3AEH,0A3B0H,0D4AAH;存放原始輸出 HZ_TAB DW 0C2B7H,0B3CCH,0A3B0H,0A3B0H,0A3AEH,0A3B0H,0B9ABH,0C0EFH

      DW 0BCDBH,0B8F1H,0A3B0H,0A3B0H,0A3B0H,0A3AEH,0A3B0H,0D4AAH;存放要輸出的值 HZ_BG DW 0BFD5H,0B3B5H,0A2A0H,0A2A0H,0BBB6H,0D3ADH,0B3CBH,0D7F8H

      DW 0A2A0H,0A2A0H,0A2A0H,0A2A0H,0A2A0H,0A2A0H,0A2A0H,0A2A0H;存放“空車歡迎乘坐”

      HZ_ADR DB ?

      ;存放顯示行起始端口地址 JSS

      DW 0000H DII

      DW 0000H GAO

      DW 0000H ZHE

      DW 0000H NUMBER

      DW 0A3B0H,0A3B1H,0A3B2H,0A3B3H,0A3B4H,0A3B5H,0A3B6H,0A3B7H,0A3B8H,0A3B9H DATA

      ENDS IO_ADDRESS

      EQU 288H

      CODE SEGMENT ASSUME CS:CODE,DS:DATA START:

      MOV AX,DATA MOV DS,AX

      MOV DX,IO_ADDRESS ADD DX,3 MOV AL,82H OUT DX,AL

      ;8255初始化 MOV AL,0FFH MOV DX,300H OUT DX, AL CALL CLEAR

      ;LCD 清除

      LLL:

      MOV DX,IO_ADDRESS ADD DX,1 IN AL,DX

      ;判斷開關(guān)是否打開 AND AL,01H CMP AL,01H JZ F0 CALL CHUSHI JMP LLL F0: MOV AL,01110110B MOV DX,IO8253C OUT DX,AL

      ;8254初始化 MOV AL,0FFH MOV DX,IO8253B OUT DX,AL MOV AL,0FFH

      ;設(shè)置計(jì)數(shù)初值0FFFFH OUT DX,AL F1: MOV AL,01000000B

      MOV DX,IO8253C OUT DX,AL MOV DX,IO8253B

      IN AL,DX MOV AH,AL IN AL,DX XCHG AH,AL CMP AX,159FH

      ;查看是否下降到159FH JA F1

      ;不滿足條件繼續(xù)讀值

      MOV AL,01110110B

      ;重置8253 MOV DX,IO8253C OUT DX,AL MOV AL,0FFH MOV DX,IO8253B OUT DX,AL MOV AL,0FFH OUT DX,AL

      CALL DISP

      ;調(diào)顯示子程序

      CALL DDSP

      CALL DELAY PUSH DX

      MOV AH,06H MOV DL,0FFH INT 21H POP DX

      JZ LLL

      MOV AH,4CH

      ;退出

      INT 21H L1:

      JMP

      START;L1

      CHUSHI PROC NEAR

      LEA SI, HZ_TAB LEA DI,HZ MOV CX,0FH F3: ADD SI,2 ADD DI,2 MOV AX,[DI] MOV [SI],AX LOOP F3

      ;重置HZ_TAB

      MOV AX,0000H LEA BX,JSS MOV [BX],AX LEA BX, HZ_BG MOV CH,2

      CALL LCD_DISP LEA BX, HZ_BG MOV CH,3

      ;顯示“空車歡迎乘坐” CALL LCD_DISP RET CHUSHI ENDP

      DDSP

      PROC NEAR

      LEA DI,HZ_TAB LEA BX,JSS LEA SI,NUMBER MOV AX,WORD PTR[BX]

      MOV BP,AX AND BP,00FFH ADD BP,BP

      MOV DX,WORD PTR[BP+SI] MOV WORD PTR[DI+6],DX

      ;將JSS中低八位傳入HZ_TAB MOV BP,AX AND BP,0FF00H ROR BP,8 ADD BP,BP MOV DX,WORD PTR[BP+SI] MOV WORD PTR[DI+4],DX

      LEA BX, HZ_TAB

      MOV CH,2

      CALL LCD_DISP LEA DI,HZ_TAB LEA BX,JSS LEA SI,NUMBER MOV AX,WORD PTR[BX] CMP AX,0003H

      JBE L3 CALL BJ LEA BX,JSS JMP L4

      L3:MOV BP,0007H

      ADD BP,BP MOV DX,WORD PTR[BP+SI ] MOV WORD PTR[DI+24],DX JMP L4 L4:

      LEA BX, HZ_TAB

      MOV CH,3

      CALL LCD_DISP RET DDSP

      ENDP

      BJ

      PROC NEAR

      LEA DI,HZ_TAB LEA BX,JSS LEA SI,NUMBER MOV AX,WORD PTR[BX] CMP AL,03H

      ;將JSS中高八位傳入HZ_TAB

      ;顯示第2行信;比較路程與3的大小;路程比3小的情況

      ;顯示第3行信息

      JAE BJ1 SUB AH,01H ADD AL,0AH SUB AL,03H AAS

      ;路程減三并十進(jìn)制化 JMP BJ2 BJ1:

      SUB AX,0003H BJ2: MOV CX,AX AND AX,00FFH ADD AL,AL AAA ADD AX,07H AAA

      LEA BX,DII MOV [BX],AX;DII MOV BP,AX AND BP,00FFH ADD BP,BP MOV DX,WORD PTR[BP+SI] MOV WORD PTR[DI+24],DX

      MOV AX,CX SHR AX,8 AND AX,00FFH ADD AL,AL

      AAA LEA BX,GAO MOV [BX],AX;GAO LEA BX,DII MOV DX,[BX];DII AND AX,00FFH AND DX,0FF00H SHR DX,8 AND DX,00FFH ADD AL,DL

      AAA LEA BX,ZHE MOV [BX],AX;ZHE MOV BP,AX AND BP,00FFH ADD BP,BP MOV DX,WORD PTR[BP+SI]

      ;路程加七并十進(jìn)制化;先計(jì)算個位

      ;十位相加

      ;再加進(jìn)位

      MOV WORD PTR[DI+22],DX

      ;再計(jì)算十位 LEA BX,ZHE MOV DX,[BX] LEA BX,GAO MOV AX,[BX] AND DX,0FF00H AND AX,0FF00H SHR AX,8 SHR DX,8 ADD DL,AL

      ;百位加進(jìn)位 AAA MOV BP,DX AND BP,00FFH ADD BP,BP MOV DX,WORD PTR[BP+SI] MOV WORD PTR[DI+20],DX

      ;最后計(jì)算百位 RET BJ ENDP

      DISP

      PROC NEAR

      ;顯示子程序

      PUSH DX

      LEA BX, JSS

      MOV AX,WORD PTR[BX]

      ADD AL,01H

      CMP AL,09H

      ;判斷是否<=9

      JLE NUM

      ;若是則為'0'-'9',ASCII碼加30H

      MOV AL,00H

      ADD AH,01H

      CMP AH,0AH

      JZ L2 NUM:

      MOV WORD PTR[BX],AX

      ADD AL,30H

      ADD AH,30H

      MOV DL,AH

      MOV DH,AL

      MOV AH,02H

      ;屏幕顯示

      INT 21H

      MOV DL,DH

      MOV AH,02H

      ;屏幕顯示

      INT 21H

      MOV DL,0DH

      ;加回車符

      INT 21H

      MOV DL,0AH

      ;加換行符

      INT 21H

      POP DX

      RET

      ;子程序返回 DISP ENDP L2: MOV AH,4CH

      ;退出

      INT 21H

      CLEAR

      PROC

      MOV AL,0CH

      CLEAR

      FUNCUP

      ;

      ;

      ;

      FUNCUP

      LCD_DISP

      ;

      DISP_SEC:

      NEXT:

      CONTINUE:

      MOV DX, IO_ADDRESS OUT DX,AL

      ;設(shè)置CLEAR命令 CALL CMD_SETUP

      ;啟動LCD執(zhí)行命令 RET

      ENDP

      PROC MOV AL, 0FH

      ;LCD功能設(shè)置命令 OUT DX, AL CALL CMD_SETUP MOV AL, 34H

      ;LCD顯示狀態(tài)命令 OUT DX, AL CALL CMD_SETUP RET

      ENDP PROC LEA BX, HZ_TAB CMP CH, 2 JZ DISP_SEC MOV BYTE PTR HZ_ADR, 88H

      ;第三行起始端口地ADD BX,16

      ;指向第二行信息 JMP NEXT MOV BYTE PTR HZ_ADR,90H MOV CL,8

      PUSH CX MOV AL,HZ_ADR MOV DX, IO_ADDRESS OUT DX, AL CALL CMD_SETUP

      ;設(shè)定DDRAM地址命令 MOV AX,[BX] PUSH AX MOV AL,AH

      ;先送漢字編碼高位 MOV DX,IO_ADDRESS OUT DX,AL CALL DATA_SETUP

      ;輸出漢字編碼高字節(jié)

      CALL DELAY

      ;延遲

      POP AX

      MOV DX,IO_ADDRESS

      OUT DX, AL

      CALL DATA_SETUP

      ;輸出漢字編碼低字節(jié)

      CALL DELAY

      INC BX

      INC BX

      ;修改顯示內(nèi)碼緩沖區(qū)指針

      INC BYTE PTR HZ_ADR

      ;修改LCD顯示端口地址

      POP CX

      DEC CL

      JNZ CONTINUE

      RET LCD_DISP

      ENDP CMD_SETUP

      PROC

      MOV DX,IO_ADDRESS

      制端口

      ADD DX,2

      NOP

      MOV AL,00000000B

      (LCD I端=0,W端=0)

      OUT DX, AL

      CALL DELAY

      NOP

      MOV AL,00000100B

      =1)

      OUT DX, AL

      NOP

      CALL DELAY

      MOV AL, 00000000B

      0)

      OUT DX, AL

      CALL DELAY

      RET CMD_SETUP

      ENDP DATA_SETUP

      PROC

      MOV DX,IO_ADDRESS

      ADD DX,2

      MOV AL,00000001B

      (LCD I端=1)

      OUT DX, AL

      NOP

      CALL DELAY

      ;指向8255端口控

      ;PC1置0,PC0置0

      ;PC2置1(LCD E端

      ;PC2置0,(LCD E端置

      ;指向8255控制端

      ;PC1置0,PC0=1

      MOV AL,00000101B

      ;PC2置1(LCD E端=1)

      OUT DX, AL

      NOP

      CALL DELAY

      MOV AL, 00000001B

      ;PC2置0,(LCD E端=0)

      OUT DX, AL

      NOP

      CALL DELAY

      RET DATA_SETUP

      ENDP DELAY

      PROC

      PUSH CX

      PUSH DX

      MOV CX, 0FFFH X1:

      LOOP

      X1

      POP DX

      POP CX

      RET DELAY

      ENDP

      CODE ENDS

      END START

      四、程序結(jié)果

      我們利用8254、8255、ST7920顯示屏、直流電機(jī)等制作出了一個出租車計(jì)價器有專用鍵可以表示是否空車,同時利用直流電機(jī)模擬車輪運(yùn)動,通過路程計(jì)算價格,成果如下圖所示:

      圖4-1程序結(jié)果圖

      五、分析與測試

      程序中,我遇到的最大的難題就是如何完成正確的十進(jìn)制計(jì)算,因?yàn)樗械挠?jì)算指令都是十六進(jìn)制的,雖然有的計(jì)算里有類似AAA這樣的調(diào)整指令,但是很多時候就不一定記得起來加上。同時由于需要根據(jù)數(shù)字來查表對應(yīng)相應(yīng)的字符碼,而且我是建立一個從零到九的數(shù)組,而由于計(jì)算錯誤導(dǎo)致經(jīng)常出現(xiàn)亂碼,而且比較難找到相應(yīng)的錯誤。而且有些計(jì)算沒有十進(jìn)制轉(zhuǎn)換指令,需要自己編寫。

      同時我認(rèn)為我利用提前存儲變量來表示走過的路程比利用堆棧要好,因?yàn)槎褩H菀子浕欤兞坑歇?dú)特的名字,利于記憶與調(diào)用。而且易于清零、增減。

      六、心得體會

      這次課程設(shè)計(jì)中,令我印象最為深刻的就是我們應(yīng)該有一種堅(jiān)持的精神,有時候幾個小時都沒有成果,找不到BUG。顯示的就是有問題,這時候我們應(yīng)該有一種堅(jiān)持下去的毅力,積極詢問老師同學(xué),問題的解決就很快了。

      同時我發(fā)現(xiàn)編程習(xí)慣非常重要,應(yīng)該有一個提前的規(guī)劃,不能想到哪寫到哪,這樣的話,后期的DEBUG會非常麻煩,因?yàn)樽约阂部床欢约旱拇a,我們都應(yīng)該有規(guī)范化的代碼意識,這樣的編程能力才能上升。

      參考文獻(xiàn)

      [1]周荷琴,吳秀清,《微型計(jì)算機(jī)原理與接口技術(shù)》,合肥:中國科學(xué)技術(shù)大學(xué)出版社 2008。[2] 曹國清,《數(shù)字電路與邏輯設(shè)計(jì)》,徐州:中國礦業(yè)大學(xué)出版社 2003。[3] 8255芯片原理:http://baike.baidu.com/link?url=KHojvZzBGmo26_6iYGTdrdqH6PxQbM1Hnnc8hWQNPIp60L7TWG5LZu_ppSkXo5maU5M4APs4qCGSudiqZ0bdl_ [4]ST7920芯片原理:http://wenku.baidu.com/view/0dafd9232f60ddccda38a0fa.html訪問時間2013/10/15 [5]ST7920中文字碼表:http://wenku.baidu.com/view/d4abe628647d27284b735127.html訪問時間:2013/10/15

      下載基于CPLD的出租車計(jì)價器設(shè)計(jì)[優(yōu)秀范文5篇]word格式文檔
      下載基于CPLD的出租車計(jì)價器設(shè)計(jì)[優(yōu)秀范文5篇].doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        出租車計(jì)價器畢業(yè)論文附錄

        北京信息科技大學(xué) 畢業(yè)設(shè)計(jì)(論文)附錄 題 目:學(xué) 院: 專 業(yè):學(xué)生姓名: 班級/學(xué)號 指導(dǎo)老師/督導(dǎo)老師:起止時間:2012 年 月 日 至 2012 年 月 日 目錄 附件1 原理圖·······......

        出租車計(jì)價器調(diào)試報(bào)告

        出租車計(jì)價器調(diào)試報(bào)告 本設(shè)計(jì)可分為單片機(jī)主控模塊、鍵盤、顯示器、溫度檢測、狀態(tài)指示、時鐘日歷、語音收錄播報(bào)、分頻器電路、脈沖信號發(fā)生器等9部分。仔細(xì)分析系統(tǒng)的工作......

        出租車計(jì)價器信息(精選5篇)

        霍市質(zhì)監(jiān)局集中對全市出租車計(jì)價器進(jìn)行安裝檢定 切實(shí)規(guī)范運(yùn)營行為近期,霍市質(zhì)監(jiān)局下屬檢測中心對全市范圍內(nèi)具有交通主管部門頒發(fā)經(jīng)營許可證的500余輛出租車計(jì)價器進(jìn)行統(tǒng)一......

        出租車計(jì)價器課程設(shè)計(jì)2

        出租車計(jì)價器課程設(shè)計(jì) 目錄 前言 1、 系統(tǒng)工作原理 1.1 功能說明 1.2 基本原理 2、 硬件設(shè)計(jì) 2.1 單片機(jī)最小系統(tǒng)單元 2.2 A44E霍爾傳感器檢測單元 2.3 AT24C01存儲單元 2.......

        單片機(jī)出租車計(jì)價器源程序

        出租車計(jì)價器設(shè)計(jì)與制作 設(shè)計(jì)并制作一臺出租車計(jì)價器。調(diào)試時采用10Hz方波信號模擬,每個方波代表10m。基本要求: (1)不同情況具有不同的收費(fèi)標(biāo)準(zhǔn) 白天 1元/公里 晚上 2元/ 公......

        《基于單片機(jī)的出租車計(jì)價器的設(shè)計(jì)》開題報(bào)告

        《基于單片機(jī)的出租車計(jì)價器的設(shè)計(jì)》開題報(bào)告 關(guān)鍵詞:出租車計(jì)價器 浙江師范大學(xué)應(yīng)用電子技術(shù)專業(yè)開題報(bào)告范文 杭州論文 開題報(bào)告 一.選題背景和意義 隨著我國經(jīng)濟(jì)的迅速發(fā)展......

        EDA課程設(shè)計(jì)-簡易出租車計(jì)價器設(shè)計(jì)5則范文

        HBQY #20080230403 課程設(shè)計(jì) EDA 課 程 設(shè) 計(jì) [RTX于2012/2/22] 簡 易 出租車計(jì)價器設(shè)計(jì) 要求: ? 計(jì)價器按1.2元/公里計(jì)費(fèi),超過10公里后,則按1.8元/公里收費(fèi)。 ? 起步價6元(3公......

        出租車計(jì)價器設(shè)計(jì)方案(5篇范例)

        1 系統(tǒng)硬件組成 總體結(jié)構(gòu)如圖一所示。硬件上主要由HT46RU24單片機(jī),霍爾傳感器,空載開關(guān),鍵盤電路,數(shù)據(jù)存儲電路,時鐘電路,顯示電路,蜂鳴器,IC卡電路以及串口電路組成。1.1 HT46RU24......