單片機課程設(shè)計出租車計價器就_第1頁
單片機課程設(shè)計出租車計價器就_第2頁
單片機課程設(shè)計出租車計價器就_第3頁
單片機課程設(shè)計出租車計價器就_第4頁
單片機課程設(shè)計出租車計價器就_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、河南理工大學單片機應(yīng)用與仿真訓(xùn)練設(shè)計報告基于單片機的由租車計價器的設(shè)計2012年7月1日摘要出租車已經(jīng)是城市交通的重要組成部分,從加強行業(yè)管理以及減少司機與 乘客的糾紛出發(fā),具有良好性能的計價器對出租車司機和乘客來說都是很必要 的。而采用模擬電路和數(shù)字電路設(shè)計的計價器整體電路的規(guī)模較大,用到的器 件多,造成故障率高,難調(diào)試。而采用單片機進行的設(shè)計,相對來說功能強 大,用較少的硬件和適當?shù)能浖嗷ヅ浜峡梢院苋菀椎貙崿F(xiàn)設(shè)計要求,且靈活 性強,可以通過軟件編程來完成更多的附加功能。本設(shè)計的是一個基于單片機AT89S52的出租車自動計費設(shè)計,附有復(fù)位電路,時鐘電路,鍵盤電路等。復(fù)位電 路是單片機的初始

2、化操作,除了正常的初始化外,為擺脫困境,通過復(fù)位電路可以 重新開始。時鐘電路采用12MHz勺晶振,作為系統(tǒng)的時鐘源,具有較高的準確 性。在上電時四位共陰極 5461AS數(shù)碼管顯示最初的起步價,里程收費,等待時間收費三種 收費,通過按鍵可以調(diào)整起步價,里程收費,等待時間收費。通過按鍵模擬出租車的運行, 暫停,停止。在 5461As液晶上可以顯示運行的時間,運行時暫停的時間,通過計算可以得 出總共的費用和總的路程。在這里主要是以AT89S52單片機為核心控制器, P0 口接5461AS液晶顯示模塊,P1 口接按鍵的,通過按鍵輸入。第一章 概述 -1 -1.1 出租車計價器設(shè)計要求1-1.2 系統(tǒng)主

3、要功能1 -1.3 方案論證與比較 .1-第二章出租車計價系統(tǒng)的硬件設(shè)計 -3 -2.1 振蕩電路3-2.2 復(fù)位電路設(shè)計3-2.3 鍵盤接口電路42.4 顯示電路4-2.5 路程測量部分5-2.6 單片機各引腳功能說明62.7 5461As液晶的簡介7-第三章出租車計價系統(tǒng)的軟件設(shè)計 -10 -3.1 單片機資源使用 10-3.2 中斷子函數(shù)10-3.3 判鍵子函數(shù)113.4 顯小子程序 .12-3.5 總程序流程框圖 13-第四章PROTEU漱件仿真 -14 -4.1 PRoteu吩紹.144.2 調(diào)試與測試154.3 里程計價測試15-第五章 設(shè)計體會與小結(jié) -16 -參考文獻-17 -

4、附 錄 -18 -1 .源程序-18-2 .系統(tǒng)原理圖-24-第一章概述1.1出租車計價器設(shè)計要求設(shè)計一個出租車自動計費器,計費包括起步價、行車里程計費、二部分,用5461As液晶顯示總金額,運行時間,暫停時間,最大值為99.9元,起步價為5.0元,3Km之內(nèi)起步價計費,超過3Km增加2.0元(即1KM增力口 2.0元),用液晶顯示總里程,同時用液晶顯 示等待時間和運行花費時間。、計費功能費用的計算是按行駛里程收費。設(shè)起步價為5.00元。1、當里程3km時,按起價計算費用2、當里程3km時,每公里按 2.0元計費、顯示功能1、顯示行駛里程:用四位數(shù)字顯示,顯示方式為“XXXX,單位為kmo計程

5、范圍0-99km, 精確到1km=2、顯示等候時間:用兩位數(shù)字顯示,顯示方式為"XX",單位為min。計時范圍0-59min , 精確到1min。3、顯示總費用:用四位數(shù)字顯示, 顯示方式為“XXX.X",單位為元。計價范圍0-999.9 元,精確到0.1元。1.2 系統(tǒng)主要功能本出租車自動計費, 上電后顯示最初的起步價,里程計費單價,等待時間計費單價,通 過按鍵可以調(diào)節(jié)起步價,里程計費單價,等待時間計費單價。同時具有運行,暫停,停止等 狀態(tài),可以顯示運行的時間,同時可以顯示暫停的時間,具有累加功能,暫停和運行時間在暫停和運行前一次的狀態(tài)上計時。出租車停止后能夠顯

6、示行駛的總費用。1.3 方案論證與比較方案一:采用數(shù)字電子技術(shù),利用555定時芯片構(gòu)成多諧振蕩器,或采用外圍的晶振電路作為時鐘脈沖信號, 采用計數(shù)芯片對脈沖盡心脈沖的計數(shù)和分頻,最后通過譯碼電路對數(shù)據(jù)進行譯碼,將譯碼所得的數(shù)據(jù)送給數(shù)碼管顯示,一下是該方案的流程框圖,方案一如圖 1-1所示:等待信號時鐘脈沖公里脈沖計費脈沖計時,曹,譯碼數(shù)碼管顯示圖1-1方案一案二:采用EDA技術(shù),根據(jù)層次化設(shè)計理論, 該設(shè)計問題自頂向下可分為分頻模塊,控制模塊 計量模塊、譯碼和動態(tài)掃描顯示模塊,其系統(tǒng)框圖如圖1-2所示:圖1-2方案二方案三:采用 MC眼術(shù),通過單片機作為主控器,利用1602字符液晶作為顯示電路

7、,采用外部晶振作為時鐘脈沖,通過按鍵可以方便調(diào)節(jié),以下是方案三的系統(tǒng)流程圖,本方案主要是必須對于數(shù)字電路比較熟悉,成本又不高。方案圖如圖1-3所示:電源電路口 按鍵電路口傳感電路口VVV圖1-3方案三方案總結(jié):通過各個方案的比較,本次采用方案三,不但控制簡單,而且成本低廉,設(shè) 計電路簡單。第二章 出租車計價系統(tǒng)的硬件設(shè)計2.1 振蕩電路單片機內(nèi)部有一個高增益、反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2通過這兩個引腳在芯片外并接石英晶體振蕩器和兩只電容(電容和一般取33pF)。這樣就構(gòu)成一個穩(wěn)定的自激振蕩器。振蕩電路脈沖經(jīng)過二分頻后作為系統(tǒng)的時鐘信號,再在二分頻的基礎(chǔ)上三

8、分頻產(chǎn)生 ALE信號,此時得到的信號時機器周期信號。振蕩電路如圖 2-1所示:2.2 復(fù)位電路設(shè)計復(fù)位操作有兩種基本形式:一種是上電復(fù)位,另一種是按鍵復(fù)位。按鍵復(fù)位 具有上電復(fù)位功能外,若要復(fù)位,只要按圖中的 RESETS,電源VCCS電阻R1、 R2分壓,在RESE,產(chǎn)生一個復(fù)位高電平。上電復(fù)位電路要求接通電源后,通 過外部電容充電來實現(xiàn)單片機自動復(fù)位操作。上電瞬間RESEE I腳獲得高電平,隨著電容的充電,RERS引腳的高電平將逐漸下降。RERSTH腳的高電平只要能 保持足夠的時間(2個機器周期),單片機就可以進行復(fù)位操作。按鍵復(fù)位電路 圖如圖2-2所示。VCC-A,R1ik.vTE>

9、;圖2-2 AT89C52引腳配置2.3 鍵盤接口電路獨立式鍵盤:獨立式鍵盤中,每個按鍵占用一根I/O 口線,每個按鍵電路相對獨立。I/O 口通過按鍵與地相連,I/O 口有上拉電阻,無鍵按下時,引腳端為高電平,有鍵按下時,引 腳電平被拉低。I/O 口內(nèi)部有上拉電阻時,外部可不接上拉電阻。鍵盤接口電路如圖2-3所示:圖2-3鍵盤接口電路2.4 顯示電路對于現(xiàn)實電路我們可以采用數(shù)碼管,也可以采用液晶顯示,液晶又分字符型和點陣型,我們使用的液晶是字符型液晶,并且?guī)ё址麕斓模?不需要查找代碼。英文字符就可。液晶電路使用時,如果發(fā)現(xiàn)液晶不亮可以調(diào)節(jié)連接液晶的點位器,改變液晶的亮度。顯示電路如圖2-4所示

10、:PDSACn PD.1MD1pgQ FD.WACt ,口目歡區(qū) 口后慎Efi PQL7慎 PTFZalM FZ2TA1Q FZjrAIM N*g FZJVAta FZJ&AH 股了雌筠圖2-4數(shù)碼管封裝圖及數(shù)據(jù)線與數(shù)碼管管腳關(guān)系2.5 路程測量部分+5 V74LSJ174LSH圖2-5路程測量電路出租車中需要一個能準確獲得車輪轉(zhuǎn)動即路量信號的裝置,以得到標準的脈 沖信號送入單片機的定時/計數(shù)器T1即P3. 5弓I腳,利用單片機的T1的計數(shù) 功能完成100次的計數(shù)后產(chǎn)生一中斷來完成路程的測量。(設(shè)車輪周長為1 m , 則霍爾傳感器每產(chǎn)生100個脈沖便表示車已行程0.1 km,根據(jù)際情況

11、在程序中 進行設(shè)置)。汽車聯(lián)軸器按圓周間隔嵌入磁鋼,用霍傳感器集成芯片A44E測并 輸出脈沖,其工作原理如圖4所示,霍爾傳感器集成芯片A44E有信號轉(zhuǎn)換、電壓 放大、等功能,為增加其抗干擾的能力,經(jīng)過74L S14對信號整形后再通過光偶 送入P3. 5引腳。2.6 單片機各引腳功能說明AT89S52電路圖如圖2-6所示:VCC供電電壓。GND接地。P0 口: P0 口為一個8位漏級開路雙向I/O 口,每 腳可吸收8TTL門流。當P1 口的管腳第一次寫1時,被定義為高阻輸入。P0能 夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù) /地址的第八位。在FIASH編 程時,P0 口作為原碼輸入口, 當

12、FIASH 進行 圖2-6校驗時,P0輸出原碼,此時 P0外部必須被拉高。 圖 2-6 AT89S52P1 口: P1 口是一個內(nèi)部提供上拉電阻的 8位雙向I/O 口,P1 口緩沖器能接 收輸出4TTL門電流。P1 口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1 口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。 在FLASH®程和校驗時,P1 口作為第八位地址接 收。P2 口 : P2 口為一個內(nèi)部上拉電阻的 8位雙向 I/O 口,P2 口緩沖器可接收,輸出4個TTL門電 流,當P2 口被寫“1”時,其管腳被內(nèi)部上拉電 阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳

13、被外部拉低,將輸出電流。這是由于內(nèi) 部上拉的緣故。P2 口當用于外部程序存儲器或 16位地址外部數(shù)據(jù)存儲器進行存取時,P2 口輸(T2) P1CC (T2 EX)戶1 1 匚 P1.2C P1.3IZ P1 4匚 制口即P1 5C 制由5 P1 £匚 (SCK) P1 7C RSTC (RXD) P3 0C (TXD) P3 1 匚 iIRTD) P3 2C (INTi) P3.3C(TO) P3.4 匚(T1)內(nèi)$匚 d麗j P3fiZ (RD) P3. 7 匚 XTAL2C XTAL1 E GNDC40融383736若 M333231W 兇2327262524212221FO 1

14、 23456789® .1. 2 3 4-5 6. 78 -y 1 1 11111 1 1 2 vcc P&0 (ADA PO. 1 (AD1 P0.2 £.AD2 PQ.3 (AD3) P0.4 JAD4) P*5 (AD5 P0.5 EAD61 P£7 AD 門 EAAPP ALErtPRSG PEER P27 (Al 5) PZ.6 (A14) P2.5 (A13) P2.4 (Al 2J P2.3 (A11) Zl P2.2 £A1D> P2.1 (A9) P20 網(wǎng)出地址的高八位。在給出地址“ 1”時,它利用內(nèi)部上拉優(yōu)勢,當對外部

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

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

17、EN信 號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH, 不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET當/EA端保持高電平時,此間內(nèi)部程序存儲器。在 FLASHS程期間,此引腳也用于 施加12V編程電源(VPP。XTAL1反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2來自反向振蕩器的輸出。2.7 5461AS液晶的簡介5461As共陰四位數(shù)碼管主要技術(shù)參數(shù)如表2-1所示:顯示容量:16*2個字符芯片工作電壓:4.5 5.5V工作電流:2.0mA(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95*4.

18、35 (W*H mm表2-1 5461AS共陰四位數(shù)碼管主要技術(shù)參數(shù)接口信號說明如圖 2-6所示: 0S CD cd O.LJ:O.D DP©回©叵I臼A5461AH網(wǎng)屈共陰數(shù)碼管實物引腳圖圖2-5 5461As共陰四位數(shù)碼管接口信號說明控制器接口說明(HD44780及兼容芯片)1、基本操作時序輸出:D0- D7= 犬態(tài)字輸出:無a 讀狀態(tài):輸入: Rs=L, Rw=H, E=Hb 寫指令:輸入: Rs=L, Rw=L, D0 D7=旨令碼E二高脈沖C 讀數(shù)據(jù):輸入: Rs=H, Rw=L, E=H輸出:D0- 口7曝據(jù)d 寫數(shù)據(jù):輸入: Rs=H, Rw=L, D0D7至

19、據(jù)輸出:無E=高脈沖狀態(tài)字說明如表 2-2所示:STA7STA6STA5STA4STA3STA2STA1STA0D7D6D5D4D3D2D1D0表2-2狀態(tài)字說明(a)STA0-6當前數(shù)據(jù)地址指針的數(shù)值STA7讀寫操作使能1 :禁止 0 :允許表2-3狀態(tài)字說明(b)注:對控制器進行讀寫操作之前,都必須進行讀寫檢測,確保STA7為0RA例址映射圖控制器內(nèi)部帶有80*8位的RAM暖沖區(qū),對應(yīng)關(guān)系如下圖 2-5所示:表2-4 RAM地址映射圖 LCD16字*2行0000000000000000120123456789ABCDEF074444444444444444560123456789ABCDE

20、F07顯示模式設(shè)置如表 2-5所示:指令碼功能00111000設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口表2-5顯示模式設(shè)置顯示開關(guān)及光標設(shè)置如表2-6所示:指令碼功能00001DCBD=1開顯示;D=0 關(guān)顯示C=1顯小九標, C=0不立小九標B=1光標閃爍;B=0光標不顯示000001NSN=1當讀或?qū)懸粋€字符后地址指針加一,且 光標加一N=0當讀或?qū)懸粋€子后地址指針減一,且光 標減一S=1當寫一個字符后,整屏顯示左移(N=1)或 右移(N=0),以得到光標不移動而屏幕移動 的效果S=0當寫一個字符,整屏顯木/、移動表2-4顯示開關(guān)及光標設(shè)置數(shù)據(jù)控制80字節(jié)RAM控制器內(nèi)部沒有一個數(shù)據(jù)地址

21、指針,用戶可通過它們來訪問內(nèi)部的全部第三章出租車計價系統(tǒng)的軟件設(shè)計3.1 單片機資源使用在本次設(shè)計中像電路鍵盤用到了P1 口,其中P1.0到P1.4 口作為鍵盤的輸入,直流電機電路的控制線用了P2 口線,P3.0、P3.1、P3.2分別為led信號控制腳。顯示電路用到了 P0和P2 口,P0 口為液晶的數(shù)據(jù)口。3.2 中斷子函數(shù)對于中斷程序,只要定時器計數(shù)滿就會產(chǎn)生中斷50ms中斷一次,共計20次,秒鐘加1,秒鐘計滿再分鐘加,當分鐘加到99時全部清零。以下是中斷子函數(shù)的流程圖如圖3-1所示:圖3-1中斷子程序流程圖3.3 判鍵子函數(shù)對于獨立式鍵盤判鍵, 首先看有鍵按下不, 如果有鍵按下則延時一

22、會兒,在判斷是否真的有鍵按下,如果確實有鍵按下,在判鍵釋放,最后執(zhí)行鍵功能程序。判鍵子函數(shù)的流程框3.4顯小子程序圖3-2判鍵子程序流程圖1602液晶是字符型液晶,它的內(nèi)部自帶字符庫,它可以寫兩行的字符,同時每行可以寫40個字符,在寫顯示程序的時候,我們先寫命令,再設(shè)定字符顯示,最后寫數(shù)據(jù),在每寫一次命令或數(shù)據(jù)都需要判斷液晶是否忙。液晶顯示程序流程圖如圖3-3所示:圖3-3顯示子程序流程圖3.5總程序流程框圖(開始) 故需初始化定時器初始化調(diào)鍵打摘程序圖3-4整體程序流程圖第四章proteus軟件仿真4.1 Proteus 介紹Proteus軟件是來自英國 Labcenter electron

23、ics 公司的EDAX具軟件,它組合了高級原理布圖、混合模式 SPICE仿真,PCB設(shè)計以及自動布線來實現(xiàn)一個完整的電子設(shè)計系統(tǒng)。此系統(tǒng)受益于15年來的持續(xù)開發(fā),被電子世界在其對PCB設(shè)計系統(tǒng)的比較文章中評為最好產(chǎn)品一" The Route to PCB CAD "。Proteus產(chǎn)品系列也包含了我們革命性的VSM術(shù),用戶甚至可以實時采用用戶可以對基于微控制器的設(shè)計連同所有的周圍電子器件一起仿真。諸如LED/LCD鍵盤、RS232終端等動態(tài)外設(shè)模型來對設(shè)計進行交互仿真。其功能模塊:一個易用而又功能強大的ISIS原理布圖工具;PROSPICE1合模型SPICE仿真;ARES

24、PC股計。PROSPICE仿真器的一個擴展 PROTEUS VS便于包括所有相關(guān) 的器件的基于微處理器設(shè)計的協(xié)同仿真。此外,還可以結(jié)合微控制器軟件使用動態(tài)的鍵盤,開關(guān),按鈕,LEDs甚至LCD顯示CPU莫型。支持許多通用的微控制器 ,如PIC, AVR HC11 以及8051。最新支持ARM交互的裝置模型包括:LED和LCD顯示,RS232終端,通用鍵盤,I2C, SPI器件。強大的調(diào)試工具,包括寄存器和存儲器,斷點和單步模式。IAR C-SPY和Keil uVision2 等開發(fā)工具的源層調(diào)試。應(yīng)用特殊模型的DLL界面-提供有關(guān)元件庫的全部文件。4.2 調(diào)試與測試采用KeilC51編譯器進行

25、源程序編譯及仿真調(diào)試,同時進行硬件電路板的 設(shè)計制作。硬件電路制作完畢,用萬用表檢測有無短路開路等現(xiàn)象, 確定硬件電 路沒有問題后,用仿真頭與硬件電路相連,運行程序進行調(diào)試。若調(diào)試不成功,則可再單獨調(diào)試程序和硬件電路。程序用軟件仿真運行, 硬件電路再次檢查有無焊錯,或者元件與插座接觸不良等方面問題; 確認均無問 題后,再次把軟件和硬件聯(lián)機調(diào)試,直至功能正常。把程序燒錄進單片機 STC89C5站束調(diào)試。4.3 里程計價測試由于實驗條件的限制,我們采用霍爾傳感器產(chǎn)生外部中斷,設(shè)定中斷間隔 為10ms假定1500個脈沖為1公里,則此時車速為1km/h=5圈/S。整個系統(tǒng)以 此為基礎(chǔ),通過計費程序完成

26、中金額的計算。 表4.1的測試條件是:假設(shè)單程的 單價是2元,起步價為5元(包含3公里),分別不公里程測試得數(shù)據(jù)如表:4km6km7km9km總理論7兀11兀13兀17兀金實 際7元11元13元17元額行駛里程理 論4km6km7km9km實 際4km6km7km9km表4.1實際金額和里程數(shù)表4.2的測試條件是:假設(shè)在單程運行中的單價2元的情況下行駛了 6km 進行中途等待,分別等待不同的時間(每 5分鐘相當于增加1公里),起步價為 5元(包含3kmj)。5min10min15min20min總金理 論13元15元17元19元實 際13元15元17元19元額表4.2總金額對比第五章設(shè)計體會與

27、小結(jié)出租車計費器系統(tǒng)的設(shè)計已經(jīng)全部完成,能按預(yù)期的效果進行模擬汽車啟動,停止,暫停等功能并能夠通過 LCD顯示車費數(shù)目。本款出租車計價器包括單價輸出、單價調(diào)整、顯示當前的系統(tǒng)時間等功能。 另外,多功能出租車計價器還具有性能可靠、電路簡單、成本低、 實用性強等特點,加上經(jīng)過優(yōu)化的程序,使其有很高的智能化水平。一個月來,經(jīng)過自己努力,基本上完成了設(shè)計要求的內(nèi)容,在系統(tǒng)可行性分析、原理圖設(shè)計等方面都作了許多實際工作,取得了一些成績,同時也遇到了一些問題,存在一些不足。經(jīng)過這一個月的學習, 我覺得自己不論是在理論知識方面還是在動手能力方面都有了不 小的進步,自己從中受益匪淺。這次設(shè)計很好的把以前學到的

28、理論知識應(yīng)用于實踐,使我認識到理論知識與實踐之間有一定的差距,只有通過不斷的努力學習和實踐才能很好的把理論知識應(yīng)用到實踐當中,也只有通過不斷的實踐才能對理論知識的理解。通過這次設(shè)計不僅學會了如何去查找相關(guān)資料,更重要的是通過查找資料和翻閱書籍 學到了不少知識,擴大了知識面,提高了知識水平。 經(jīng)過單元設(shè)計和系統(tǒng)設(shè)計鞏固了以前所 學的專業(yè)知識,自己真正認識到理論聯(lián)系實際的重要性,為以后的學習和工作提供了很多有價值的經(jīng)驗。通過這次設(shè)計不僅增強了自己的動腦能力和動手能力,也提高了我思考問題、 分析問題、解決問題的能力,更重要的是學會用工程化的思想來解決問題。這在以前的學習過程中是不曾學到的。這次設(shè)計是

29、我認真認識到完整、嚴謹、科學分析問題、解決問題的思想是多么的重要, 只有擁有了科學的態(tài)度才能設(shè)計出有用的產(chǎn)品。另外通過本次設(shè)計,是我認識到自己理論知識的應(yīng)用能力有很大的欠缺,需要在以后的學習中進一步提高。參考文獻1 .李廣弟,朱月秀,冷祖祁.單片機基礎(chǔ)M.第3版.北京航空航天大學出版社,20072 .李華.MCS-51系列單片機實用接口技術(shù)M.北京航空航天大學出版社,19963 .李群芳,肖看.單片機原理接口與應(yīng)用.北京:清華大學出版社,20054 .朱承高.電工及電子技術(shù)手冊M.北京:高等教育出版社,19905 .高峰.單片微型應(yīng)用系統(tǒng)設(shè)計及實用技術(shù).北京:機械工業(yè)出版社,20046 .胡輝

30、,單片機原理及應(yīng)用設(shè)計一21世紀高等院校規(guī)劃教材M,水利水電出版社,2005.77 .劉守義,單片機應(yīng)用技術(shù)M,西安:西安電子科技大學出版社,1996一.源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intuchar qianwei,baiwei,shiwei,gewei; /顯示數(shù)據(jù)各個位置數(shù)字的臨時變量char Ied_seg_code10=0x3f,0x06,0x05b,0x04f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/段碼表小0-9uint tt,aa,pul

31、se,distance,cost,danjia,wait,way;/ 定義路程、價錢、等待時間及一些全局的變量等;uchar dengdai,second,minute;/按鍵的定義,所有按鍵按下去為低電平sbit key0=P1A0;/清零sbit key1=P1Al;/切換路程與等待時間sbit key2=P1A2;/單程還是往返設(shè)置sbit key3=P1A3;/暫停按鈕sbit led1=P1A4;/指示sbit led2=P1A5;sbit led3=P1A6;sbit led4=P1A7;bit key1_flag;/由于按鍵會自動復(fù)位,這個為標志位bit key2_flag;bi

32、t key3_flag;bit flag;/初始化函數(shù) void initial_data(void)distance=0;cost=0;second=0;minute=0;way=0;單程or往返,接指示燈; 暫停,接指示燈;key1_flag=1; /key2_flag=0; /key3_flag=1; flag=0;pulse=0;dengdai=0;led1=1;led2=1;led3=1;led4=1;/雙程指示/暫停指示/堵車指不/等待時間切換標志/暫停程序void zanting(void)if(key3_flag)EX0=0;TR0=0;/關(guān)閉中斷定時器elseEX0=1;TR

33、0=1; key3_flag=!key3_flag;/計算數(shù)據(jù)處理void jisuan()if(pulse<=180)distance=pulse/6+way/3000;cost=50;/60 角danjia=20;/單程價格if(key2_flag) danjia=15; / 往返價格if(pulse>180)distance=pulse/6+way/3000;cost=danjia*(distance-30)/10+50;wait=minute*100+second;/顯示的輔助程序,分離一個數(shù)的各個數(shù)字 void fenli(uint temp)/數(shù)據(jù)的分離處理if(tem

34、p>9999) temp=9999;qianwei=temp/1000;baiwei=temp/100%10;shiwei=temp%100/10;gewei=temp%10;/延時約1ms,數(shù)碼管顯示時使用void diplay_delay(void)uchar i;for(i=0;i<240;i+);/顯示程序;void led_show()/-顯示路程或者等待時間-if(key1_flag) fenli(distance);else fenli(wait);P2=0xfe;P0=led_seg_codegewei;diplay_delay();P2=0xfd;if(key1_

35、flag) P0=led_seg_codeshiwei|0x80; /如果是路程,點亮小數(shù)點兒else P0=led_seg_codeshiwei; /如果是時間,不需要點亮小數(shù)點兒diplay_delay(); P2=0xfb; if(key1_flag) P0=led_seg_codebaiwei;else P0=led_seg_codebaiwei|0x80;diplay_delay();P2=0xfb7;P0=led_seg_codeqianwei;diplay_delay();/顯示價格-fenli(cost);P2=0xef;P0=led_seg_codegewei;diplay_delay();P2=0xdf;P0=led_seg_codeshiwei|

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論