出租車(chē)自動(dòng)計(jì)費(fèi)器(共33頁(yè))_第1頁(yè)
出租車(chē)自動(dòng)計(jì)費(fèi)器(共33頁(yè))_第2頁(yè)
出租車(chē)自動(dòng)計(jì)費(fèi)器(共33頁(yè))_第3頁(yè)
出租車(chē)自動(dòng)計(jì)費(fèi)器(共33頁(yè))_第4頁(yè)
出租車(chē)自動(dòng)計(jì)費(fèi)器(共33頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩28頁(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、目 錄 TOC o 1-3 h z u HYPERLINK l _Toc409191142 摘要(zhiyo) 出租車(chē)自動(dòng)(zdng)計(jì)費(fèi)器設(shè)計(jì)摘要(zhiyo)近些年來(lái),出租車(chē)成為了人們出行重要的交通工具之一,出租車(chē)以低價(jià)高質(zhì)的服務(wù)(fw)給人們帶來(lái)了不少方便。基于單片機(jī)系統(tǒng)設(shè)計(jì)的出租車(chē)計(jì)費(fèi)器以單片機(jī)作為核心的控制元件,具有功能強(qiáng),性能可靠,電路簡(jiǎn)單,成本低的特點(diǎn),加上經(jīng)過(guò)優(yōu)化的程序,使其具有很高的智能化水平。本次設(shè)計(jì)中,硬件設(shè)計(jì)主電路以AT89S51單片機(jī)為核心控制元件,輸出采用LCD1602液晶屏和四位一體數(shù)碼管,顯示起價(jià)、每公里單價(jià)、等待價(jià)格、行駛總里程和總金額,并配有多個(gè)按鍵,以供手

2、動(dòng)調(diào)節(jié)乘車(chē)價(jià)格。關(guān)鍵詞:計(jì)費(fèi)器 51單片機(jī) LCD1602 數(shù)碼管 1 概述(i sh)1.1 基本(jbn)要求 以MCS-51系列(xli)單片機(jī)為核心,設(shè)計(jì)出租車(chē)自動(dòng)計(jì)費(fèi)器。 設(shè)計(jì)一個(gè)出租車(chē)自動(dòng)計(jì)費(fèi)器,具有行車(chē)?yán)锍逃?jì)費(fèi)、等候時(shí)間計(jì)費(fèi)、及起價(jià)三部分,用四位數(shù)碼管顯示總金額,最大值為99.99元。 行車(chē)?yán)锍虇蝺r(jià)1元/公里,等候時(shí)間單價(jià)0.5元/10分鐘,起價(jià)3元(3公里起價(jià))均能通過(guò)人工輸入。 行車(chē)?yán)锍痰挠?jì)費(fèi)以一個(gè)脈沖模擬汽車(chē)前進(jìn)十米, 用LED顯示行駛公里數(shù)和收費(fèi)金額。一、計(jì)費(fèi)功能費(fèi)用按行駛里程計(jì)費(fèi),起步價(jià)為3元。1、當(dāng)行駛里程小于或等于3公里,按起步價(jià)計(jì)費(fèi)2、當(dāng)行駛里程大于3公里,每公里

3、收費(fèi)1元,不足1公里不計(jì)3、等待時(shí)間為每10分鐘收費(fèi)0.5元,不足10分鐘不計(jì)二、顯示功能1、顯示行駛里程:用LCD1602液晶屏顯示,顯示方式為“XX”,單位為Km,范圍0-99Km2、顯示等候時(shí)間:用LCD1602液晶屏顯示,顯示方式為“XX”,單位Min,范圍0-99Min3、顯示總費(fèi)用:用四位數(shù)碼管顯示,顯示方式為“XX.X”,單位元,范圍3-99.9元1.2 功能(gngnng)介紹本出租車(chē)自動(dòng)(zdng)計(jì)費(fèi),上電后顯示默認(rèn)(mrn)的起步價(jià),每公里計(jì)費(fèi)單價(jià),等待時(shí)間計(jì)費(fèi)單價(jià),可通過(guò)按鍵調(diào)整起步價(jià),里程計(jì)費(fèi)單價(jià),等待時(shí)間計(jì)費(fèi)單價(jià)。具有運(yùn)行、暫停、停止?fàn)顟B(tài),可以顯示行駛的里程、等待的

4、時(shí)間和出租車(chē)行駛的總費(fèi)用。2 設(shè)計(jì)方案2.1設(shè)計(jì)原理利用單片機(jī)的強(qiáng)大功能,可用AT89S51單片機(jī)作主控芯片,用來(lái)處理計(jì)費(fèi)器的各種數(shù)據(jù)并控制LCD1602和數(shù)碼管顯示模塊,實(shí)現(xiàn)基本的里程計(jì)費(fèi)和價(jià)格調(diào)整。為模擬汽車(chē)行駛,用單片機(jī)的T0定時(shí)器進(jìn)行16位定時(shí),每0.05S發(fā)射一個(gè)信號(hào)進(jìn)入定時(shí)中斷,20個(gè)中斷為1S,每秒向單片機(jī)發(fā)送信號(hào)表示前進(jìn)10米。2.2 設(shè)計(jì)方案復(fù)位電路里程傳輸按鍵電路數(shù)碼管顯示總費(fèi)用鎖存器LCD1602顯示行駛里程和等待時(shí)間等AT89S51單片機(jī)圖2-1 總體設(shè)計(jì)框圖3 硬件(yn jin)電路3.1 單片機(jī)最小系統(tǒng)(xtng)該電路單片機(jī)最小系統(tǒng)由四個(gè)部分組成(z chn):

5、電源、地、復(fù)位電路、時(shí)鐘電路。電源電路中,電源接單片機(jī),同時(shí)連接一個(gè)電容接地用于去耦合,穩(wěn)定電源電壓。復(fù)位電路如圖3-1所示,共有兩種基本形式:上電復(fù)位和按鍵復(fù)位。單片機(jī)上電瞬間會(huì)對(duì)C1進(jìn)行充電,此過(guò)程C1相當(dāng)于短路,RST引腳電平升高單片機(jī)復(fù)位;若要手動(dòng)復(fù)位,則按下RSTK復(fù)位按鍵,RST引腳直接接高電平,單片機(jī)復(fù)位。圖3-1 復(fù)位電路圖3-2為單片機(jī)時(shí)鐘電路,AT89S51內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,它的輸入端為芯片引腳XTAL1,輸出端為XTAL2,。這兩個(gè)引腳跨接石英晶體和微調(diào)電容,構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,微調(diào)電容的典型值通常為30pF。圖3-2 時(shí)鐘(shzhng)

6、電路3.2 按鍵(n jin)電路本設(shè)計(jì)共有(n yu)6個(gè)獨(dú)立按鍵:復(fù)位按鍵RSTK,進(jìn)入退出設(shè)置鍵K1,光標(biāo)移動(dòng)鍵K2,數(shù)值增加鍵K3,等待計(jì)時(shí)鍵K4,開(kāi)始暫停計(jì)費(fèi)鍵K5。1.復(fù)位或者程序跑飛,可用RSTK鍵進(jìn)行復(fù)位;2.調(diào)整計(jì)費(fèi)單價(jià),按K1進(jìn)如設(shè)置狀態(tài),設(shè)置完后再按下K1退出設(shè)置狀態(tài);3.按K2可移動(dòng)光標(biāo),分別調(diào)整各收費(fèi)單價(jià);4.按K5鍵開(kāi)始計(jì)費(fèi),中間需要停車(chē)等待,可直接按K4進(jìn)行等待計(jì)時(shí)計(jì)費(fèi),等待完畢直接按K5繼續(xù)行駛計(jì)費(fèi)。按鍵電路如圖3-3所示。圖3-3 按鍵電路3.3 數(shù)碼(shm)管顯示(xinsh)電路(dinl)數(shù)碼管用于顯示計(jì)費(fèi)總價(jià),顯示方式為“XX.X”,單位元,顯示范圍

7、為3-99.9元。為保證數(shù)碼管顯示的穩(wěn)定性,在段選端前接鎖存器74HC573,數(shù)碼管電路如圖3-4所示。圖3-4 數(shù)碼管顯示電路由于單片機(jī)P0口沒(méi)有上拉能力,所以數(shù)碼管的段選口高電平由鎖存器提供。3.4 LCD1602顯示電路LCD1602液晶屏是字符型液晶屏,并且?guī)ё址麕?kù)的,不需要查找代碼,英文字符可直接輸入顯示。液晶電路使用時(shí),如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的變阻器,改變液晶的亮度。每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形。LCD1602顯示電路如圖3-5所示。圖3-5 LCD顯示(xi

8、nsh)電路另外(ln wi),系統(tǒng)(xtng)供電由P1口外接的5V電源供電,如圖3-6。圖3-6 電源接口4 軟件設(shè)計(jì)4.1單片機(jī)I/O資源(zyun)使用此設(shè)計(jì)(shj)中P10到P13口和P32口連接按鍵控制輸入,P0口和P14、P15、P16、P17口用于控制數(shù)碼管,P2口和P34、P35、P36口用于控制LCD1602液晶屏。4.2 單片機(jī)軟件(run jin)模塊設(shè)計(jì)一、LCD1602顯示模塊由于LCD1602程序比較復(fù)雜,所以專(zhuān)門(mén)創(chuàng)建一個(gè)1602的頭文件,將1602的使用程序存放于頭文件中,在主程序中只要聲明了1602頭文件,即可調(diào)用1602子程序。頭文件下包含的子程序有:延時(shí)

9、程序、LCD1602初始化程序、寫(xiě)命令程序和寫(xiě)數(shù)據(jù)程序。由于只是使用LCD1602進(jìn)行顯示,所以不需要讀命令數(shù)據(jù)程序。二、中斷程序模塊程序共使用三個(gè)中斷:INT0、T0、T1中斷。INT0中斷用于進(jìn)入或退出調(diào)價(jià)模式,打開(kāi)計(jì)費(fèi)器后進(jìn)行計(jì)費(fèi)之前,隨時(shí)可以利用INT0中斷進(jìn)行調(diào)價(jià),開(kāi)始計(jì)費(fèi)之后則關(guān)閉INT0中斷,不能調(diào)價(jià)。T0定時(shí)中斷形成行車(chē)脈沖,模擬汽車(chē)行駛,每0.05s產(chǎn)生一次中斷,每20次中斷為1s,每秒行駛10米距離。程序中設(shè)置一個(gè)變量flag2用來(lái)表示按下的是K4還是K5,按下K5鍵T0中斷中的t1開(kāi)始計(jì)時(shí),模擬汽車(chē)行駛,再次按下則暫停計(jì)時(shí),即停止行駛;按下K4,T0中的t2開(kāi)始計(jì)時(shí),計(jì)算

10、等待的時(shí)間。T1中斷用于數(shù)碼管顯示,由于數(shù)碼管是動(dòng)態(tài)顯示,所以在此較為復(fù)雜的主程序中運(yùn)行會(huì)產(chǎn)生閃爍,將數(shù)碼管顯示程序置于T1中斷程序中,就不會(huì)再閃爍。三、其它程序模塊其它程序模塊主要包括數(shù)碼管顯示模塊、數(shù)據(jù)計(jì)算模塊、調(diào)價(jià)模塊、按鍵掃描模塊等。數(shù)碼管顯示(xinsh)模塊用于顯示總費(fèi)用,使用四位一體數(shù)碼管顯示,但只用其中后三位,顯示0到99.9。數(shù)據(jù)(shj)計(jì)算模塊主要計(jì)算行車(chē)?yán)锍?、等待時(shí)間、等待收費(fèi)、總收費(fèi)。調(diào)價(jià)模塊用于調(diào)整起價(jià)、每公里單價(jià)和等待(dngdi)收費(fèi)單價(jià)。按鍵掃描模塊用于檢測(cè)用戶(hù)按下了哪些功能鍵。4.3 程序框圖本設(shè)計(jì)中,軟件設(shè)計(jì)采用模塊化操作,利用各個(gè)模塊之間的相互聯(lián)系,在設(shè)

11、計(jì)中采用主程序調(diào)用子程序的方法,使程序通俗易懂。 在main函數(shù)開(kāi)始,要對(duì)系統(tǒng)初始化,和對(duì)硬件設(shè)備進(jìn)行初始化,并使硬件處于就緒狀態(tài)。通過(guò)判斷是否計(jì)費(fèi),調(diào)價(jià),清零等狀態(tài),來(lái)分別調(diào)用不同的子程序,使程序在設(shè)計(jì)之前,就有了很強(qiáng)的邏輯關(guān)系。這些對(duì)應(yīng)于硬件就是通過(guò)按下各個(gè)控制開(kāi)關(guān),來(lái)分別進(jìn)行不同的動(dòng)作,最后顯示屏根據(jù)輸入的信息,來(lái)顯示不同的數(shù)據(jù)信息,這就達(dá)到了軟件控制硬件,同時(shí)輸入信息控制輸出信息的目的。整個(gè)程序的流程圖如下:開(kāi)始TO、T1、INT0初始化LCD1602初始化LCD默認(rèn)顯示 是否按下S1鍵 否 否 調(diào)價(jià)程序是 是是否按下S4或S5數(shù)碼管、LCD顯示數(shù)據(jù)圖4-1 程序(chngx)流程圖從

12、圖中可以看出,程序(chngx)開(kāi)始就對(duì)LCD1602、T0 T1計(jì)數(shù)器和INT0進(jìn)行了初始化,1602顯示(xinsh)器開(kāi)始顯示計(jì)費(fèi)標(biāo)準(zhǔn),之后判斷是否進(jìn)行調(diào)整收費(fèi)標(biāo)準(zhǔn),如需調(diào)整則進(jìn)入調(diào)整程序進(jìn)行價(jià)格調(diào)整,若不需要調(diào)整則判斷是否開(kāi)始計(jì)費(fèi)或者計(jì)時(shí),若開(kāi)始則進(jìn)入數(shù)據(jù)處理程序進(jìn)行各數(shù)據(jù)計(jì)算,計(jì)算結(jié)果顯示在LCD1602和數(shù)碼管上,若不開(kāi)始計(jì)價(jià)或者計(jì)時(shí),則只用LCD1602顯示收費(fèi)標(biāo)準(zhǔn)。5 PROTEUS仿真(fn zhn)5.1 總仿真(fn zhn)電路圖使用PROTEUS搭建好電路,下載程序進(jìn)行仿真。仿真電路包含(bohn)AT89S51單片機(jī)、按鍵控制電路、74HC573鎖存器、四位共陰極數(shù)

13、碼管和LCD1602液晶屏??傠娐啡鐖D5-1所示。圖5-1 仿真電路圖5.2 不調(diào)價(jià)仿真先使用默認(rèn)的價(jià)錢(qián)進(jìn)行仿真,即起步價(jià)3元,每公里1元,每等待10分鐘0.5元。通過(guò)計(jì)算,行駛10公里且不等待收費(fèi)10塊錢(qián),對(duì)比仿真結(jié)果圖5-2發(fā)現(xiàn)電路運(yùn)行正常。圖5-2 仿真(fn zhn)一再仿真等待收費(fèi)。行駛7公里,等待10分鐘,通過(guò)計(jì)算應(yīng)收費(fèi)7.5元,對(duì)比(dub)仿真結(jié)果圖5-3,運(yùn)行結(jié)果也正確。圖5-3 仿真(fn zhn)二5.3 調(diào)價(jià)仿真這次先進(jìn)行調(diào)價(jià),再開(kāi)始計(jì)費(fèi),檢查調(diào)價(jià)程序是否能夠正常運(yùn)行。將起步價(jià)調(diào)為6元,每公里單價(jià)調(diào)為3元,按K5開(kāi)始行駛計(jì)費(fèi),行駛10公里,計(jì)算得費(fèi)用為27元,對(duì)比仿真結(jié)

14、果圖5-4,結(jié)果相同。圖5-4 仿真(fn zhn)三再將起步價(jià)調(diào)為5元,每公里單價(jià)調(diào)為2元,每10分鐘等待單價(jià)調(diào)為1.5元進(jìn)行(jnxng)仿真,等待10分鐘,顯示計(jì)費(fèi)12.5元,與計(jì)算結(jié)果圖5-5相同(xin tn)。圖5-5 仿真四6 心得體會(huì)出租車(chē)計(jì)費(fèi)器系統(tǒng)的設(shè)計(jì)已經(jīng)全部完成,能按預(yù)期的效果進(jìn)行模擬汽車(chē)啟動(dòng),停止,暫停(zn tn)等功能,并能夠通過(guò)LCD和數(shù)碼(shm)管顯示(xinsh)車(chē)費(fèi)數(shù)目。本款出租車(chē)計(jì)價(jià)器包括單價(jià)輸出、單價(jià)調(diào)整、顯示當(dāng)前總費(fèi)用等功能。另外,多功能出租車(chē)計(jì)價(jià)器還具有性能可靠、電路簡(jiǎn)單、成本低、實(shí)用性強(qiáng)等特點(diǎn),加上經(jīng)過(guò)優(yōu)化的程序,使其有很高的智能化水平。 經(jīng)過(guò)自

15、己努力,基本上完成了設(shè)計(jì)要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計(jì)等方面都作了許多實(shí)際工作,取得了一些成績(jī),同時(shí)也遇到了一些問(wèn)題,存在一些不足。經(jīng)過(guò)這幾天的學(xué)習(xí)和工作,我覺(jué)得自己不論是在理論知識(shí)方面還是在動(dòng)手能力方面都有了不小的進(jìn)步,自己從中受益匪淺。這次設(shè)計(jì)很好的把以前學(xué)到的理論知識(shí)應(yīng)用于實(shí)踐,使我認(rèn)識(shí)到理論知識(shí)與實(shí)踐之間有一定的差距,只有通過(guò)不斷的努力學(xué)習(xí)和實(shí)踐才能很好的把理論知識(shí)應(yīng)用到實(shí)踐當(dāng)中,也只有通過(guò)不斷的實(shí)踐才能對(duì)理論知識(shí)的理解。 通過(guò)這次設(shè)計(jì)不僅學(xué)會(huì)了如何去查找相關(guān)資料,更重要的是通過(guò)查找資料和翻閱書(shū)籍學(xué)到了不少知識(shí),擴(kuò)大了知識(shí)面,提高了知識(shí)水平。經(jīng)過(guò)單元設(shè)計(jì)和系統(tǒng)設(shè)計(jì)鞏固了以前所

16、學(xué)的專(zhuān)業(yè)知識(shí),自己真正認(rèn)識(shí)到理論聯(lián)系實(shí)際的重要性,為以后的學(xué)習(xí)和工作提供了很多有價(jià)值的經(jīng)驗(yàn)。通過(guò)這次設(shè)計(jì)不僅增強(qiáng)了自己的動(dòng)腦能力和動(dòng)手能力,也提高了我思考問(wèn)題、分析問(wèn)題、解決問(wèn)題的能力,更重要的是學(xué)會(huì)用工程化的思想來(lái)解決問(wèn)題。這在以前的學(xué)習(xí)過(guò)程中是不曾學(xué)到的。在短短的三個(gè)月時(shí)間內(nèi)完成設(shè)計(jì)內(nèi)容,在很大程度上得益于老師的幫助。這次設(shè)計(jì)是我認(rèn)真認(rèn)識(shí)到完整、嚴(yán)謹(jǐn)、科學(xué)分析問(wèn)題、解決問(wèn)題的思想是多么的重要,只有擁有了科學(xué)的態(tài)度才能設(shè)計(jì)出有用的產(chǎn)品。另外通過(guò)本次設(shè)計(jì),使我認(rèn)識(shí)到自己理論知識(shí)的應(yīng)用能力有很大的欠缺,需要在以后的學(xué)習(xí)中進(jìn)一步提高。參考文獻(xiàn)1張毅坤等.單片微型計(jì)算機(jī)原理(yunl)及應(yīng)用.西安電

17、子科技大學(xué)出版社2李建忠.單片機(jī)原理(yunl)及應(yīng)用.西安電子科技大學(xué)出版社3張毅剛,彭喜元,彭宇.單片機(jī)原理(yunl)及應(yīng)用.高等教育出版社4康華光.電子技術(shù)基礎(chǔ)數(shù)字部分.高等教育出版社5劉坤,趙紅波,張憲棟.51單片機(jī)開(kāi)發(fā)技術(shù)大全.人民郵電出版社6李廣弟,朱月秀,冷祖祁.單片機(jī)基礎(chǔ).北京航空航天大學(xué)出版社附錄(fl)1 原件清單名稱(chēng)規(guī)格數(shù)量電阻10K1個(gè)排阻1K1排可變電阻1個(gè)極性電容10uF1個(gè)非極性電容33pF2個(gè)0.1uF2個(gè)晶振12MHz1個(gè)LCD16021個(gè)數(shù)碼管1個(gè)芯片AT89S511個(gè)74HC5731個(gè)附錄(fl)2 程序主程序:#include #include 160

18、2.h#define uint unsigned int#define uchar unsigned charuchar table3=3,1,5; /起步價(jià),單價(jià)(dnji),等待單價(jià)uchar table13;uchar code table2=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;/09uchar code table3=0 xbf,0 x86,0 xdb,0 xcf,0 xe6,0 xed,0 xfd,0 x87,0 xff,0 xef;/09帶小數(shù)點(diǎn)uchar SetPlace,SetState=0;

19、/設(shè)置(shzh)位置,設(shè)置狀態(tài)uchar time1,time2; /用于定時(shí)器計(jì)時(shí)uchar kilometre; /行走里程double min;double waitm=0.0,money=0.0;/等待計(jì)費(fèi)、總計(jì)費(fèi)uchar flag1=0,flag2; /用于K4和K5按鍵狀態(tài)uchar num=0;uint x;uint t1,t2; /t1為T(mén)0定時(shí),表示汽車(chē)行走了t1秒 /t2為T(mén)1定時(shí)(dn sh),表示等待了t2秒sbit K1=P32; /設(shè)置(shzh)sbit K2=P12; /移動(dòng)(ydng)光標(biāo)sbit K3=P13; /循環(huán)增加sbit K4=P10; /打開(kāi)

20、關(guān)閉等待計(jì)時(shí)器sbit K5=P11; /打開(kāi)關(guān)閉計(jì)價(jià)器sbit LSA=P14; /數(shù)碼管位選sbit LSB=P15;sbit LSC=P16;sbit LSD=P17;void Key(); /按鍵選擇計(jì)費(fèi)或計(jì)時(shí)void SMG(); /數(shù)碼管顯示void Data(); /計(jì)算行走里程、等待收費(fèi)、總收費(fèi)void tiaojia(); /按K1 K2 K3調(diào)整收費(fèi)標(biāo)準(zhǔn)void LcdDisplay(); /1602顯示void delay(uint c); /延時(shí)c毫秒void Int0Configuration(); /外部0中斷初始化void T_0Config(); /定時(shí)器0中斷

21、初始化void T_1Config(); /定時(shí)器1中斷初始化/*主程序*/void main()LCD1602init();T_0Config();T_1Config();Int0Configuration();while(1)if(SetState=1)tiaojia();/按下K1則調(diào)整(tiozhng)價(jià)格,不按則跳過(guò)elseKey();/按鍵選擇(xunz)計(jì)費(fèi)或計(jì)時(shí)Data(); /數(shù)據(jù)處理LcdDisplay(); /1602顯示(xinsh) /*數(shù)碼管顯示程序*/void SMG() /共陰極數(shù)碼管for(num=0;num2)SetPlace=0;while(i50)&(K

22、2=0)/檢測(cè)按鍵是否松開(kāi)delay(10);i+;i=0;if(K3=0)/檢測(cè)按鍵K3按下 調(diào)節(jié)價(jià)格delay(10);/消除抖動(dòng)if(K3=0)if(SetPlace9) /換成BCD碼。tableSetPlace=tableSetPlace+6; /轉(zhuǎn)換(zhunhun)為BCD碼之后,就相當(dāng)于十進(jìn)制數(shù)了if(tableSetPlace0 x9)&(SetPlace=0)/起步價(jià)tableSetPlace=0;if(tableSetPlace0 x9)&(SetPlace=1)/單價(jià)(dnji)tableSetPlace=0;elsetableSetPlace=tableSetPlac

23、e+5;if(tableSetPlace&0 x0f)9) /換成BCD碼。tableSetPlace=tableSetPlace+6; /轉(zhuǎn)換(zhunhun)為BCD碼之后,就相當(dāng)于十進(jìn)制數(shù)了if(tableSetPlace0 x99)&(SetPlace=2) /等待單價(jià)的10倍tableSetPlace=0;while(i10)&(K3=0) /檢測(cè)按鍵是否(sh fu)松開(kāi)delay(10);i+;i=0;/*數(shù)據(jù)處理計(jì)算(j sun)程序*/void Data() /計(jì)算行走里程、等待(dngdi)收費(fèi)、總收費(fèi)kilometre=(10*t1)/100;/1000!min=t2/6

24、00; /t2/600是等待了多少個(gè)10分鐘waitm=min*table2; /不/10,在money處也不*10,正好抵消if(kilometre=20) /1Stime1=0;switch(flag2) /按K5則t1+,按K4則t2+ /原因是兩個(gè)程序公用一個(gè)定時(shí)器case(1):t1+;break;case(2):t2+;break;/*定時(shí)器T1及T1中斷*/void T_1Config()TMOD=0 x10;TH1=(65535-10000)/256; / 0.05STL1=(65535-10000)%256; /給定時(shí)器裝初值,程序啟動(dòng)(qdng)之后定時(shí)器開(kāi)始計(jì)時(shí)EA=1;

25、TR1=1;ET1=1;void T_1() interrupt 3TH1=(65535-10000)/256; / 重裝(zhn zhun)初值TL1=(65535-10000)%256;SMG(); /數(shù)碼(shm)管顯示在中斷中,這樣就不會(huì)閃了/*外部中斷0及中斷*/void Int0Configuration() /設(shè)置INT0IT0=1;/跳變沿觸發(fā)方式(下降沿)EX0=1;/打開(kāi)INT0的中斷允許。EA=1; /打開(kāi)總中斷void Int0() interrupt 0/如果按下了K3就進(jìn)入中斷 delay(10);if(K1=0)switch(SetState)case 0:SetState=1;break;case 1:SetState=0;break;SetPlace=0;/*延時(shí)程序(chngx)*/void delay(uint c) /延時(shí)c毫秒粗略(cl)延時(shí)uchar a,b;for(c;c0;c-)for(b=199;b0;b-)for(a=1;a0;a-);LCD1602顯示(xinsh)程序:#ifndef _1602_H_#define _1602_H_#include #ifndef uchar#define uchar unsigned cha

溫馨提示

  • 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)論