優(yōu)秀畢業(yè)論文:基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究_第1頁(yè)
優(yōu)秀畢業(yè)論文:基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究_第2頁(yè)
優(yōu)秀畢業(yè)論文:基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究_第3頁(yè)
優(yōu)秀畢業(yè)論文:基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究_第4頁(yè)
優(yōu)秀畢業(yè)論文:基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、?單片機(jī)原理與接口技術(shù)?畢業(yè)課程設(shè)計(jì)題 目: 基于51單片機(jī)的出租車計(jì)價(jià)器分析與研究 學(xué)院系: 信 息 工 程 系 年級(jí)專業(yè): 自 動(dòng) 化 1081 班 學(xué) 號(hào): 學(xué)生姓名: X X 指導(dǎo)教師: X X 課程設(shè)計(jì)任務(wù)書學(xué)生姓名: XX 專業(yè)班級(jí): 自動(dòng)化1081班 指導(dǎo)教師: XXX 工作單位: 信息工程系 題 目: 基于51單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì) 初始條件:運(yùn)用所學(xué)的單片機(jī)原理與接口技術(shù)知識(shí)和數(shù)字電路知識(shí);51單片機(jī)應(yīng)用開發(fā)系統(tǒng)一套;PC機(jī)及相關(guān)應(yīng)用軟件;要求完成的主要任務(wù):以目前生活中正在使用的出租車計(jì)價(jià)器為原型進(jìn)行設(shè)計(jì),要求具有按時(shí)間和里程綜合計(jì)算車價(jià)的功能,能顯示時(shí)間、里程、單價(jià)、

2、總車價(jià)等相關(guān)信息。完成出租車計(jì)價(jià)器的設(shè)計(jì)和調(diào)試。 撰寫課程設(shè)計(jì)說(shuō)明書,說(shuō)明書使用A4打印紙計(jì)算機(jī)打印,用Protel等繪圖軟件繪制電子線路圖紙。時(shí)間安排:第1周 下達(dá)課程設(shè)計(jì)任務(wù)書和日程安排,調(diào)研和查找資料,明確設(shè)計(jì)任務(wù)要求;第2周 完成方案論證、總體設(shè)計(jì)和硬件設(shè)計(jì);第3周 完成軟件設(shè)計(jì)和程序的編寫; 第4周 調(diào)試硬件系統(tǒng)和軟件程序,完成整個(gè)系統(tǒng)的設(shè)計(jì)和調(diào)試; 結(jié)果分析整理、撰寫課程設(shè)計(jì)報(bào)告,驗(yàn)收和辯論。 指導(dǎo)教師簽名: 2021 年 11 月 28 日系主任或責(zé)任教師簽名: 2021 年 11 月 28 日基于51單片機(jī)原理出租車計(jì)價(jià)器的設(shè)計(jì) 摘要 現(xiàn)在各大中城市出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器

3、,所以計(jì)價(jià)器技術(shù)的開展已成定局。而局部小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速開展,計(jì)價(jià)器的普及也是毫無(wú)疑問(wèn)的,所以未來(lái)汽車計(jì)價(jià)器的市場(chǎng)還是十分有潛力的。本設(shè)計(jì)以 89S51 單片機(jī)為中心,利用信號(hào)發(fā)生器模擬代替霍爾傳感器測(cè)距,實(shí)現(xiàn)對(duì)出租車計(jì)價(jià)統(tǒng)計(jì),輸出采用1602液晶顯示屏。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)根本的計(jì)價(jià),而且還能根據(jù)里程或手動(dòng)來(lái)調(diào)節(jié)單價(jià)。通過(guò)單片機(jī)上的鍵盤上的按鍵來(lái)執(zhí)行開始、暫停、復(fù)位等功能。步驟如下:首先,程序開始做一些必要的初始化工作,等待鍵盤輸入。然后,啟動(dòng)鍵S1按下后單片機(jī)開始計(jì)數(shù)傳感器傳來(lái)的計(jì)數(shù)脈沖,1602液晶顯示器顯示路程和總費(fèi)用。最

4、后,當(dāng)需要停止是可按相應(yīng)的鍵S4對(duì)路程計(jì)數(shù)器進(jìn)行停止。而且還可以按下S2進(jìn)行等待計(jì)時(shí)收費(fèi)和按下S3鍵進(jìn)行起步價(jià)的調(diào)整。關(guān)鍵詞:89S51單片機(jī) 1602液晶顯示屏 計(jì)價(jià)器目錄 TOC o 1-3 h z u HYPERLINK l _Toc312182596 前 言 PAGEREF _Toc312182596 h 1 HYPERLINK l _Toc312182597 第一章 出租車計(jì)價(jià)系統(tǒng)的設(shè)計(jì)要求與設(shè)計(jì)方案 PAGEREF _Toc312182597 h 2 HYPERLINK l _Toc312182598 出租車計(jì)價(jià)器設(shè)計(jì)要求 PAGEREF _Toc312182598 h 2 HYP

5、ERLINK l _Toc312182599 系統(tǒng)主要功能 PAGEREF _Toc312182599 h 2 HYPERLINK l _Toc312182600 方案論證與比擬 PAGEREF _Toc312182600 h 2 HYPERLINK l _Toc312182601 第二章 出租車計(jì)價(jià)系統(tǒng)的硬件設(shè)計(jì) PAGEREF _Toc312182601 h 4 HYPERLINK l _Toc312182602 振蕩電路 PAGEREF _Toc312182602 h 4 HYPERLINK l _Toc312182603 復(fù)位電路設(shè)計(jì) PAGEREF _Toc312182603 h 4

6、 HYPERLINK l _Toc312182605 鍵盤接口電路 PAGEREF _Toc312182605 h 4 HYPERLINK l _Toc312182607 顯示電路 PAGEREF _Toc312182607 h 5 HYPERLINK l _Toc312182608 路程測(cè)量局部 PAGEREF _Toc312182608 h 5 HYPERLINK l _Toc312182609 單片機(jī)各引腳功能說(shuō)明 PAGEREF _Toc312182609 h 6 HYPERLINK l _Toc312182610 2.7 1602液晶的簡(jiǎn)介 PAGEREF _Toc312182610

7、 h 7 HYPERLINK l _Toc312182611 第三章 出租車計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì) PAGEREF _Toc312182611 h 10 HYPERLINK l _Toc312182612 系統(tǒng)主程序 PAGEREF _Toc312182612 h 10 HYPERLINK l _Toc312182613 里程計(jì)數(shù)子程序 PAGEREF _Toc312182613 h 10 HYPERLINK l _Toc312182614 等待計(jì)時(shí)子程序 PAGEREF _Toc312182614 h 11 HYPERLINK l _Toc312182615 單價(jià)設(shè)置子程序 PAGEREF _T

8、oc312182615 h 11 HYPERLINK l _Toc312182616 第四章 設(shè)計(jì)體會(huì)與小結(jié) PAGEREF _Toc312182616 h 12 HYPERLINK l _Toc312182617 參考文獻(xiàn) PAGEREF _Toc312182617 h 13 HYPERLINK l _Toc312182618 附 錄 PAGEREF _Toc312182618 h 14 HYPERLINK l _Toc312182619 源程序 PAGEREF _Toc312182619 h 14 HYPERLINK l _Toc312182620 硬件電路圖 PAGEREF _Toc31

9、2182620 h 19前 言單片機(jī)課程設(shè)計(jì)是單片機(jī)技術(shù)學(xué)習(xí)中非常重要的一個(gè)環(huán)節(jié),是將理論知識(shí)和實(shí)踐能力相統(tǒng)一的一個(gè)環(huán)節(jié),是真正鍛煉學(xué)生能力的一個(gè)環(huán)節(jié)。出租車能保證乘客快速,輕松的到達(dá)目的地。 這些優(yōu)點(diǎn)受到人們的歡送。隨著出租車行業(yè)的開展,出租車已經(jīng)是城市交通的重要組成局部,從加強(qiáng)行業(yè)管理以及減少司機(jī)與乘客的糾紛出發(fā),具有良好性能的計(jì)價(jià)器對(duì)出租車司機(jī)和乘客來(lái)說(shuō)都是很必要的。而采用模擬電路和數(shù)字電路設(shè)計(jì)的計(jì)價(jià)器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試。而采用單片機(jī)進(jìn)行的設(shè)計(jì),相對(duì)來(lái)說(shuō)功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎貙?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過(guò)軟件編程來(lái)完

10、成更多的附加功能。本設(shè)計(jì)采用AT89C52單片機(jī),輔以按鍵,實(shí)現(xiàn)對(duì)出租車的多功能的計(jì)價(jià)設(shè)計(jì),輸出采用1062液晶顯示屏。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)根本的計(jì)價(jià),而且還能根據(jù)里程或手動(dòng)來(lái)調(diào)節(jié)單價(jià)。要將出租車計(jì)價(jià)系統(tǒng)產(chǎn)品化,應(yīng)該根據(jù)客戶不同的需求進(jìn)行不同的設(shè)計(jì),應(yīng)該在程序中增加一些可以人為改變的參數(shù),以便客戶根據(jù)不同的需要隨時(shí)調(diào)節(jié)單價(jià)以及計(jì)價(jià)方式。因此,研究出租車計(jì)價(jià)器及擴(kuò)大其應(yīng)用,有著非?,F(xiàn)實(shí)的意義。第一章 出租車計(jì)價(jià)系統(tǒng)的設(shè)計(jì)要求與設(shè)計(jì)方案出租車計(jì)價(jià)器設(shè)計(jì)要求設(shè)計(jì)一個(gè)出租車自動(dòng)計(jì)費(fèi)器,計(jì)費(fèi)包括起步價(jià)、行車?yán)锍逃?jì)費(fèi)、等待時(shí)間計(jì)費(fèi)三局部,用1602液晶 顯示總金額,運(yùn)行時(shí)間,暫停時(shí)間,最大值為99

11、9元,起步價(jià)為6元,3Km之內(nèi)起步價(jià)計(jì)費(fèi),超過(guò)3Km,每一公里增加1元即1KM增加1元,等待時(shí)間單價(jià)為每分鐘1元,用液晶顯示總里程,同時(shí)用液晶顯示等待時(shí)間。計(jì)費(fèi)功能費(fèi)用的計(jì)算是按行駛里程收費(fèi)。設(shè)起步價(jià)為6元。1、當(dāng)里程3km時(shí),每公里按1元計(jì)費(fèi)3、等待累計(jì)時(shí)間1min時(shí),按1元/min計(jì)費(fèi)4、S1為啟動(dòng)按鈕、S2等待按鈕、S3調(diào)整計(jì)費(fèi)按鈕、S4停止按鈕、顯示功能1、顯示行駛里程:用三位數(shù)字顯示,顯示方式為“,單位為km。計(jì)程范圍0-99.9km,精確到0.1km。2、顯示等候時(shí)間:用兩位數(shù)字顯示,顯示方式為“XX,單位為min。計(jì)時(shí)范圍0-59min,精確到1min。3、顯示總費(fèi)用:用三位數(shù)字

12、顯示,顯示方式為“XXX,單位為元。計(jì)價(jià)范圍0-999元,精確到1元。系統(tǒng)主要功能本出租車自動(dòng)計(jì)費(fèi),上電后顯示最初的起步價(jià),里程計(jì)費(fèi)單價(jià),等待時(shí)間計(jì)費(fèi)單價(jià),通過(guò)按鍵可以調(diào)節(jié)起步價(jià),里程計(jì)費(fèi)單價(jià)。同時(shí)具有運(yùn)行,暫停,停止等狀態(tài),可以顯示暫停的時(shí)間,具有累加功能,暫停和運(yùn)行時(shí)間在暫停和運(yùn)行前一次的狀態(tài)上計(jì)時(shí)。出租車停止后能夠顯示行駛的總費(fèi)用。方案論證與比擬方案一:采用數(shù)字電子技術(shù),利用555定時(shí)芯片構(gòu)成多諧振蕩器,或采用外圍的晶振電路作為時(shí)鐘脈沖信號(hào),采用計(jì)數(shù)芯片對(duì)脈沖盡心脈沖的計(jì)數(shù)和分頻,最后通過(guò)譯碼電路對(duì)數(shù)據(jù)進(jìn)行譯碼,將譯碼所得的數(shù)據(jù)送給數(shù)碼管顯示,一下是該方案的流程框圖,方案一如圖1-1所示

13、:圖1-1方案一案二:采用EDA技術(shù),根據(jù)層次化設(shè)計(jì)理論,該設(shè)計(jì)問(wèn)題自頂向下可分為分頻模塊,控制模塊 計(jì)量模塊、譯碼和動(dòng)態(tài)掃描顯示模塊,其系統(tǒng)框圖如圖1-2所示:圖1-2方案二方案三:采用MCU技術(shù),通過(guò)單片機(jī)作為主控器,利用1602字符液晶作為顯示電路,采用外部晶振作為時(shí)鐘脈沖,通過(guò)按鍵可以方便調(diào)節(jié),以下是方案三的系統(tǒng)流程圖,本方案主要是必須對(duì)于數(shù)字電路比擬熟悉,本錢又不高。方案圖如圖1-3所示:圖1-3方案三方案總結(jié):通過(guò)各個(gè)方案的比擬,本次采用方案三,不但控制簡(jiǎn)單,而且本錢低廉,設(shè)計(jì)電路簡(jiǎn)單。第二章 出租車計(jì)價(jià)系統(tǒng)的硬件設(shè)計(jì)振蕩電路單片機(jī)內(nèi)部有一個(gè)高增益、反相放大器,其輸入端為芯片引腳X

14、TAL1,其輸出端為引腳XTAL2。通過(guò)這兩個(gè)引腳在芯片外并接石英晶體振蕩器和兩只電容電容和一般取33pF。這樣就構(gòu)成一個(gè)穩(wěn)定的自激振蕩器。 振蕩電路脈沖經(jīng)過(guò)二分頻后作為系統(tǒng)的時(shí)鐘信號(hào),再在二分頻的根底上三分頻產(chǎn)生ALE信號(hào),此時(shí)得到的信號(hào)時(shí)機(jī)器周期信號(hào)。振蕩電路如圖2-1所示:圖2-1振蕩電路復(fù)位電路設(shè)計(jì)復(fù)位操作有兩種根本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位具有上電復(fù)位功能外,假設(shè)要復(fù)位,只要按圖中的RESET鍵,電源VCC經(jīng)電阻R1、R2分壓,在RESET端產(chǎn)生一個(gè)復(fù)位高電平。上電復(fù)位電路要求接通電源后,通過(guò)外部電容充電來(lái)實(shí)現(xiàn)單片機(jī)自動(dòng)復(fù)位操作。上電瞬間RESET引腳獲得高電平

15、,隨著電容的充電,RERST引腳的高電平將逐漸下降。RERST引腳的高電平只要能保持足夠的時(shí)間2個(gè)機(jī)器周期,單片機(jī)就可以進(jìn)行復(fù)位操作。按鍵復(fù)位電路圖如圖2-2所示。圖2-2 AT89C51引腳配置鍵盤接口電路獨(dú)立式鍵盤:獨(dú)立式鍵盤中,每個(gè)按鍵占用一根I/O口線,每個(gè)按鍵電路相對(duì)獨(dú)立。I/O口通過(guò)按鍵與地相連,I/O口有上拉電阻,無(wú)鍵按下時(shí),引腳端為高電平,有鍵按下時(shí),引腳電平被拉低。I/O口內(nèi)部有上拉電阻時(shí),外部可不接上拉電阻。鍵盤接口電路如圖2-3所示:圖2-3鍵盤接口電路顯示電路對(duì)于現(xiàn)實(shí)電路我們可以采用數(shù)碼管,也可以采用液晶顯示,液晶又分字符型和點(diǎn)陣型,我們使用的液晶是字符型液晶,并且?guī)ё?/p>

16、符庫(kù)的,不需要查找代碼。英文字符就可。液晶電路使用時(shí),如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的點(diǎn)位器,改變液晶的亮度。顯示電路如圖2-4所示:圖2-4 數(shù)碼管封裝圖及數(shù)據(jù)線與數(shù)碼管管腳關(guān)系路程測(cè)量局部出租車中需要一個(gè)能準(zhǔn)確獲得車輪轉(zhuǎn)動(dòng)即路量信號(hào)的裝置,以得到標(biāo)準(zhǔn)的脈沖信號(hào)送入單片機(jī)的定時(shí)/ 計(jì)數(shù)器T1 即P3. 5 引腳,利用單片機(jī)的T1 的計(jì)數(shù)功能完成100次的計(jì)數(shù)后產(chǎn)生一中斷來(lái)完成路程的測(cè)量。(設(shè)車輪周長(zhǎng)為1 m ,那么霍爾傳感器每產(chǎn)生100 個(gè)脈沖便表示車已行程0. 1 km ,根據(jù)際情況在程序中進(jìn)行設(shè)置) 。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍傳感器集成芯片A44E 測(cè)并輸出脈沖,其工作原理如

17、圖4 所示,霍爾傳感器集成芯片A44E 有信號(hào)轉(zhuǎn)換、電壓放大、等功能,為增加其抗干擾的能力,經(jīng)過(guò)74L S14 對(duì)信號(hào)整形后再通過(guò)光偶送入P3. 5 引腳。圖2-5路程測(cè)量電路單片機(jī)各引腳功能說(shuō)明AT89S52電路圖如圖2-6所示: VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,每腳可吸收8TTL門流。當(dāng)P1口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時(shí),P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行。校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須被拉高。圖2-6 AT89S52P1口:P1口是一個(gè)

18、內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。 P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。 P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢(shì)

19、,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能存放器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流ILL這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字

20、節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無(wú)效。/PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的/PSEN信號(hào)將不出現(xiàn)。/EA/VPP:當(dāng)/E

21、A保持低電平時(shí),那么在此期間外部程序存儲(chǔ)器0000H-FFFFH,不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。在FLASH編程期間,此引腳也用于施加12V編程電源VPP。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來(lái)自反向振蕩器的輸出。2.7 1602液晶的簡(jiǎn)介字符型液晶1602主要技術(shù)參數(shù)如表2-1所示:顯示容量:16*2個(gè)字符芯片工作電壓:工作電流:V)模塊最正確工作電壓:字符尺寸:2.95*4.35W*Hmm表2-1 字符型液晶1602主要技術(shù)參數(shù)接口信號(hào)說(shuō)明如表2-2所示:編號(hào)符號(hào)引腳說(shuō)

22、明編號(hào)符號(hào)引腳說(shuō)明1Vss電源地9D2DataI/O2VDD電源正極10D3DataI/O3VL液晶顯示偏壓信號(hào)11D4DataI/O4Rs數(shù)據(jù)/命令選擇端H/L12D5DataI/O5R/W讀/寫選擇端H/L13D6DataI/O6E使能信號(hào)14D7DataI/O7D0DataI/O15BLA背光源正極8D1DataI/O16BLK背光源負(fù)極表2-2 1602接口信號(hào)說(shuō)明控制器接口說(shuō)明HD44780及兼容芯片1、 根本操作時(shí)序a 讀狀態(tài):輸入:Rs=L, Rw=H, E=H 輸出:D0D7=狀態(tài)字b 寫指令:輸入:Rs=L, Rw=L, D0D7=指令碼 輸出:無(wú) E=高脈沖C 讀數(shù)據(jù):輸入

23、:Rs=H, Rw=L, E=H 輸出:D0D7=數(shù)據(jù)d 寫數(shù)據(jù):輸入:Rs=H, Rw=L, D0D7=數(shù)據(jù) 輸出:無(wú) E=高脈沖狀態(tài)字說(shuō)明如表2-3所示:STA7D7STA6D6STA5 D5STA4 D4STA3 D3STA2 D2STA1 D1STA0 D0表2-3狀態(tài)字說(shuō)明aSTA0-6當(dāng)前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1:禁止 0:允許表2-4 狀態(tài)字說(shuō)明b注:對(duì)控制器進(jìn)行讀寫操作之前,都必須進(jìn)行讀寫檢測(cè),確保STA7為0RAM地址映射圖控制器內(nèi)部帶有80*8位的RAM緩沖區(qū),對(duì)應(yīng)關(guān)系如下列圖2-5所示:表2-5 RAM地址映射圖LCD16字*2行0001020304050

24、60708090A0B0C0D0E0F1027404142434445464748494A4B4C4D4E4F5067顯示模式設(shè)置如表2-6所示:指令碼功能00111000設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口表2-6 顯示模式設(shè)置指令碼功能00001DCBD=1 開顯示; D=0 關(guān)顯示C=1 顯示光標(biāo); C=0 不顯示光標(biāo)B=1 光標(biāo)閃爍; B=0 光標(biāo)不顯示000001NSN=1 當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一N=0 當(dāng)讀或?qū)懸粋€(gè)字后地址指針減一,且光標(biāo)減一S=1 當(dāng)寫一個(gè)字符后,整屏顯示左移(N=1)或右移N=0,以得到光標(biāo)不移動(dòng)而屏幕移動(dòng)的效果S=0 當(dāng)寫一個(gè)字符,整

25、屏顯示不移動(dòng)表2-7 顯示開關(guān)及光標(biāo)設(shè)置數(shù)據(jù)控制控制器內(nèi)部沒(méi)有一個(gè)數(shù)據(jù)地址指針,用戶可通過(guò)它們來(lái)訪問(wèn)內(nèi)部的全部80字節(jié)RAM。第三章 出租車計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)主程序在主程序模塊中,需要完成對(duì)各參量和接口的初始化、出租車起價(jià)和單價(jià)的初始化等工作。另外,在主程序模塊中還需要設(shè)置修改單價(jià)的程序。然后將總金額、里程和單價(jià)送數(shù)碼管顯示出來(lái)。程序流程如下圖。NNYY開始程序初始化顯示S1按下?S3按下?里程計(jì)數(shù)子程序單價(jià)設(shè)置子程序里程計(jì)數(shù)子程序當(dāng)汽車運(yùn)行起來(lái)時(shí),就啟動(dòng)計(jì)價(jià),根據(jù)里程存放器中的內(nèi)容計(jì)算和判斷行駛里程是否已超過(guò)起步價(jià)公里數(shù)。假設(shè)已超過(guò),那么根據(jù)里程值、每公里的單價(jià)數(shù)和起步價(jià)數(shù)來(lái)計(jì)算出當(dāng)前的

26、總金額,并將結(jié)果輸出在顯示屏上。啟動(dòng)等待計(jì)時(shí)子程序停止總計(jì)費(fèi)加一元S2按下?S4按下?滿0.1km?路程=3km?重置路程為1kmNNYYNYYN等待計(jì)時(shí)子程序中途等待時(shí),產(chǎn)生計(jì)時(shí),當(dāng)時(shí)間超過(guò)等待設(shè)定值時(shí),開始進(jìn)行計(jì)價(jià),并把等待價(jià)格加到總金額里。YNYN等待計(jì)時(shí)時(shí)間滿1min?時(shí)間計(jì)數(shù)加一時(shí)間計(jì)數(shù)加一S1按下?運(yùn)行里程計(jì)價(jià)單價(jià)設(shè)置子程序設(shè)置單價(jià)時(shí),按下S3鍵,此時(shí)按下S2起步價(jià)加一元,按下S4起步價(jià)減一元。按下S1鍵程序跳回等待運(yùn)行階段。YYYNNN設(shè)置S2按下?S2按下?S2按下?起步價(jià)加一元起步價(jià)減一元運(yùn)行 第四章 設(shè)計(jì)體會(huì)與小結(jié) 經(jīng)過(guò)這些天有關(guān)于出租車計(jì)價(jià)器的課程設(shè)計(jì),使我對(duì)單片機(jī)的應(yīng)用

27、有了更深的了解。在課程設(shè)計(jì)的過(guò)程中,還是碰到了許多的問(wèn)題。比方,對(duì)于數(shù)碼管動(dòng)態(tài)掃描顯示、數(shù)碼管的閃爍和鍵盤的延時(shí)防抖的綜合編程不能較好地解決;對(duì)于一些相關(guān)的應(yīng)用軟件沒(méi)能熟練掌握。通過(guò)這幾天晚上的苦想和反復(fù)調(diào)試,最終還是把問(wèn)題解決了。通過(guò)這次課程設(shè)計(jì),我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問(wèn)題的能力得到了很大的提高,也充分體會(huì)到了自己設(shè)計(jì)東西的樂(lè)趣、學(xué)會(huì)查閱資料和對(duì)別人的東西融會(huì)變通的重要性,也明白了很多知識(shí)光靠趴在書本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實(shí)踐,親自去經(jīng)歷才能對(duì)它們真正的掌握。最大的收獲是更清晰了如何有條理的編程。第一個(gè)就是流程圖,原來(lái)不以為然的事現(xiàn)在覺(jué)得非常的有必要。第二

28、就是編程順序,要寫一個(gè)功能很復(fù)雜的程序首先寫那些自己可以很快完成的較簡(jiǎn)單的內(nèi)容,比方調(diào)單價(jià)時(shí)的閃爍,那么就可以開始只寫調(diào)一位單價(jià),然后再參加程序可以調(diào)兩位單價(jià),再然后參加閃爍功能,這樣既可以使編程變得更有條理,而且對(duì)心態(tài)也是很有幫助的。一步一步的完成相應(yīng)的要求會(huì)使自己的心情倍感舒爽而不是一直未能到達(dá)要求時(shí)的迷茫。凡事都要自己去動(dòng)下手,去實(shí)踐一下,遇到困難,永遠(yuǎn)不要沮喪氣餒。在動(dòng)手的過(guò)程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識(shí);這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過(guò)不斷的摸索和實(shí)踐來(lái)提高其他方面的知識(shí)。參考文獻(xiàn)李群芳、張士軍、黃建.?單片微型計(jì)算機(jī)與接口技術(shù)?第三

29、版.電子工業(yè)出版社,2021.張?chǎng)巍⑷A臻、陳書謙?單片機(jī)原理及應(yīng)用?M電子工業(yè)出版社,2005 丁元杰、吳大偉?單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書?M機(jī)械工業(yè)出版社, 2004李群芳,肖看.單片機(jī)原理接口與應(yīng)用.北京:清華大學(xué)出版社,2005.張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).北京:國(guó)防工業(yè)出版社,1999.頂峰.單片微型應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù).北京:機(jī)械工業(yè)出版社,2004.附 錄 源程序 ORG 0000H AJMP MAIN ORG 000BH AJMP IP0 ORG 0030HCMD EQU 20HDAT EQU 21HMAIN: MOV R0,#30H ;初始化 MOV R2,#

30、1EH MOV R3,#00H MOV R4,#00H MOV R1,#06H LCALL SHOWMAIN1: JNB P1.0,RUN ;掃描按鍵 JNB P1.2,SEZHI AJMP MAIN1RUN: LCALL SHOW ;行駛里程計(jì)數(shù) MOV TMOD,#60H MOV TH1,#64H MOV TL1,#64H SETB TR1AGAI: JNB P1.1,WAIT JNB P1.3,STOP JBC TF1,LU1 SJMP AGAILU1: LCALL LU2 DJNZ R2,RUN LCALL LU3 AJMP RUNLU2: INC R3 RETLU3: INC R1

31、MOV R2,#0AH RETWAIT: MOV TMOD,#01H ;等待時(shí)間計(jì)數(shù) MOV TH0,#3CH MOV TL0,#0B0H SETB ET0 SETB EA MOV R5,#28H MOV R6,#1EH SETB TR0 SJMP $IP0: DJNZ R5,RET0 MOV R5,#28H DJNZ R6,IP0 MOV R6,#1EH INC R4 INC R1 LCALL SHOWRET0: MOV TH0,#3CH MOV TL0,#0B0H JNB P1.0,RUN SETB TR0 RETISEZHI: JNB P1.1,SEZHI1 ;單價(jià)設(shè)置 JNB P1.3

32、,SEZHI2 JNB P1.0,RUN AJMP SEZHISEZHI1: LCALL DELAY1 JB P1.1,SEZHI INC R1 LCALL SHOW AJMP SEZHISEZHI2: LCALL DELAY1 JB P1.3,SEZHI DEC R1 LCALL SHOW AJMP SEZHISTOP: LJMP MAINSHOW: MOV A,R3 ;顯示 MOV B,#64H DIV AB MOV R0,A ;里程顯示 INC R0 MOV A,#0AH XCH A,B DIV AB MOV R0,A INC R0 MOV R0,#0AH INC R0 MOV A,B

33、MOV R0,A INC R0 MOV R0,#0BH INC R0 MOV R0,#01H ;里程單價(jià)顯示 INC R0 MOV R0,#0BH INC R0 MOV A,R4 ;等待時(shí)長(zhǎng)顯示 MOV B,#0AH DIV AB MOV R0,A INC R0 MOV A,B MOV R0,A INC R0 MOV R0,#0BH INC R0 MOV R0,#01H ;等待1min單價(jià)顯示 INC R0 MOV R0,#0BH INC R0 MOV A,R1 ;總價(jià)顯示 MOV B,#64H DIV AB MOV R0,A INC R0 MOV A,#0AH XCH A,B DIV AB

34、MOV R0,A INC R0 MOV A,B MOV R0,AMOV R0,#30H LCALL MAIN2 RETMAIN2: LCALL INI ;液晶顯示 MOV CMD,#80HLCALL WR_CMDMOV DPTR,#TABMOV R5,#15 WRIN:MOV A,R0 MOVC A,A+DPTRMOV DAT,ALCALL WR_DATALCALL DELAYINC R0DJNZ R5,WRINMOV CMD,#80HLCALL WR_CMDLCALL RD_DATAMOV CMD,#0C0HLCALL WR_CMDLCALL WR_DATAMOV R0,#30HRETINI

35、: MOV CMD,#38H ;液晶屏初始化 LCALL WR_CMDMOV CMD,#38HLCALL WR_CMDMOV CMD,#38HLCALL WR_CMDMOV CMD,#38HLCALL WR_CMDMOV CMD,#01HLCALL WR_CMDMOV CMD,#06HLCALL WR_CMDMOV CMD,#0FHLCALL WR_CMDRETWR_CMD: PUSH ACC ;液晶屏寫指令程序BUSY1: SETB BIT_RW CLR BIT_RSSETB BIT_ELCALL DELAYMOV P0,#0FFHMOV A,P0CLR BIT_EJB ACC.7,BUSY

36、1CLR BIT_RWCLR BIT_RSMOV A,CMDMOV P0,ASETB BIT_ELCALL DELAYCLR BIT_EPOP ACCRETWR_DATA: PUSH ACC ;液晶屏寫數(shù)據(jù)程序BUSY2: SETB BIT_RW CLR BIT_RSSETB BIT_ELCALL DELAYMOV P0,#0FFHMOV A,P0CLR BIT_EJB ACC.7,BUSY2CLR BIT_RWSETB BIT_RSMOV A,DATMOV P0,ASETB BIT_ELCALL DELAYCLR BIT_EPOP ACCRETRD_DATA: PUSH ACC ;液晶屏讀顯

37、示數(shù)據(jù)程序 SETB BIT_RW CLR BIT_RSSETB BIT_ELCALL DELAYMOV P0,#0FFHMOV A,P0MOV DAT,ACLR BIT_E POP ACC RETDELAY: MOV R7,#0 ;延時(shí)程序LOP: NOP NOPDJNZ R7,LOPRETDELAY1: MOV R5,#200 ;延時(shí)去抖動(dòng)程序 MOV R6,#200LOP1: DJNZ R5,LOP1LOP2:DJNZ R6,LOP1RETTAB: DB 30H,31H,32H,33H,34H,35H ;0,1,2,3,4,5 DB 36H,37H,38H,39H,2EH,20H ;6,

38、7,8,9,小數(shù)點(diǎn),空格END硬件電路圖本科生課程設(shè)計(jì)成績(jī)?cè)u(píng)定表姓 名鄭兵性 別男專業(yè)、班級(jí)自動(dòng)化1081課程設(shè)計(jì)題目:基于51單片機(jī)的出租車計(jì)價(jià)器的設(shè)計(jì)課程設(shè)計(jì)辯論或質(zhì)疑記錄:成績(jī)?cè)u(píng)定依據(jù):設(shè)計(jì)方案與內(nèi)容20分制作與調(diào)試30分說(shuō)明書內(nèi)容與標(biāo)準(zhǔn)程度20分答 辯20分學(xué)習(xí)態(tài)度與考勤10分總 分100分最終評(píng)定成績(jī)以優(yōu)、良、中、及格、不及格評(píng)定指導(dǎo)教師簽字: 年 月 日戀愛(ài)運(yùn)UP一緒Lets月亭方正!気持今Flying Get!dou都斗豆逗陡抖痘兜讀蚪竇篼蔸乧侸兠凟剅吺唗投斣枓梪橷毭氀浢瀆瀆瞗窬竇脰艔豆讀逾郖酘酡鈄鋀鈄閗闘阧餖饾斗鬦鬪鬬鬭du讀度毒渡堵獨(dú)肚鍍賭睹杜督都犢妒頓蠹篤嘟瀆櫝牘黷髑芏儥凟

39、剢剫匵厾噣土涂妬嬻宅帾斁晵暏樚樞橐櫝殬殰涜瀆牘犢獨(dú)琽瓄皾睪秺竇竺笁篤纛荰蝳螙蠧裻襡襩覩詫読讀讟詫豄賭贕醏錖鍍鍺鑟鍺闍阇陼靯韇韣韥頓騳黷duan段短斷端鍛緞椴煅籪偳剬塅媏彖斷毈瑖碫篅籪緞專腶葮褍踹躖鍛鍴dui對(duì)隊(duì)堆兌敦鐓碓懟憝兊兌垖埻塠奪奪対對(duì)嵟憞懟捶杸濧濻瀢瀩痽磓祋綐膭薱謉譈譵追鈗銳銳錞鎚鐓鐜銳陮隊(duì)頧鴭dul乧dun噸頓蹲墩敦鈍盾囤遁不躉沌盹鐓礅燉砘伅俊噸墪壿庉忳敦憞撉撴楯橔潡燉犜獤碷腞腯蜳豚踲蹾躉逇遯鈍鐓鐜頓驐duo多朵奪舵剁垛跺惰墮掇哆馱度躲踱沲咄鐸裰哚綞亸仛兊兌兌凙刴剟剫吋喥嚉嚲垜埵墮墯夛奪奲媠嫷尮崜嶞憜挅挆捶揣敓敚敠敪朶雜杕枤柁柂柮桗棰椯橢毲沰沱澤痥硾綞茤袳詑誃貀趓跢跥跿躱軃鄲鄲鈬錞鍺鐸鍺陀陊隋隋隓飿饳馱駄鬌鮵鵽點(diǎn)e餓哦額鵝蛾扼

溫馨提示

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

評(píng)論

0/150

提交評(píng)論