




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
武漢理工大學(xué)華夏學(xué)院《單片機(jī)原理與接口技術(shù)》課程設(shè)計(jì)前言電子課程設(shè)計(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è)的發(fā)展,出租車已經(jīng)是城市交通的重要組成部分,從加強(qiáng)行業(yè)管理以及減少司機(jī)與乘客的糾紛出發(fā),具有良好性能的計(jì)價(jià)器對(duì)出租車司機(jī)和乘客來說都是很必要的。而采用模擬電路和數(shù)字電路設(shè)計(jì)的計(jì)價(jià)器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試。而采用單片機(jī)進(jìn)行的設(shè)計(jì),相對(duì)來說功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎貙?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過軟件編程來完成更多的附加功能。本設(shè)計(jì)采用AT89C52單片機(jī),輔以按鍵,實(shí)現(xiàn)對(duì)出租車的多功能的計(jì)價(jià)設(shè)計(jì),輸出采用8段數(shù)碼顯示管。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)基本的計(jì)價(jià),而且還能根據(jù)里程或手動(dòng)要將出租車計(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à)器概述計(jì)價(jià)器顯示的營運(yùn)金額是營運(yùn)里程與價(jià)格。出租車計(jì)價(jià)器通過傳感器與行駛車輛連接,但在此次課程設(shè)計(jì)中,因沒有傳感器,所以用鍵盤取代,用按鍵的次數(shù)來代表里程數(shù)。該課程設(shè)計(jì)的出租車計(jì)價(jià)器功能主要有具有數(shù)據(jù)的復(fù)位功能、單價(jià)修改功能、數(shù)據(jù)輸出功能、計(jì)價(jià)功能等等。系統(tǒng)主要功能本課程設(shè)計(jì)所設(shè)計(jì)的出租車計(jì)價(jià)器的主要功能有:數(shù)據(jù)的復(fù)位、單價(jià)修改、數(shù)據(jù)輸出、計(jì)價(jià)、單價(jià)輸出及調(diào)整、路程輸出等功能。輸出采用8段數(shù)碼顯示管。本電路設(shè)計(jì)的計(jì)價(jià)器不但能實(shí)現(xiàn)基本的計(jì)價(jià),而且還能手動(dòng)來調(diào)節(jié)單價(jià)。方案論證與比較方案一:采用數(shù)字電路控制。采用傳感器件,輸出脈沖信號(hào),經(jīng)過放大整形作為移位寄存器的脈沖,實(shí)現(xiàn)計(jì)價(jià),但是考慮到這種電路過于簡單,性能不夠穩(wěn)定,而且不能調(diào)節(jié)單價(jià),也不能根據(jù)天氣調(diào)節(jié)計(jì)費(fèi)標(biāo)準(zhǔn),電路不夠?qū)嵱?。方案二:采用單片機(jī)控制。利用單片機(jī)豐富的I/O端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí)鐘顯示功能。通過比較以上兩種方案,單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用后一種方案。第二章出租車計(jì)價(jià)系統(tǒng)的硬件設(shè)計(jì)出租車的硬件框圖鍵盤控制P3.0P3.1鍵盤控制P3.0P3.1P3.2P0P3.389C52單片機(jī)P2串口顯示驅(qū)動(dòng)電路2位里程或單價(jià)顯示4位總價(jià)顯示圖2-1鍵盤控制單元用于模擬傳感器和進(jìn)行價(jià)格的修改和復(fù)位操作。89C52用于進(jìn)行控制運(yùn)算。串口顯示驅(qū)動(dòng)電路用于用數(shù)碼管顯示所需的數(shù)字。AT89C52單片機(jī)及其引腳說明圖2-2AT89C52引腳配置AT89C52是51系列單片機(jī)的一個(gè)型號(hào),它是ATMEL公司生產(chǎn)的。AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,功能強(qiáng)大的AT89C52單片機(jī)可為您提供許多較復(fù)雜系統(tǒng)控制應(yīng)用場合。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫口線,AT89C52可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程(S系列的才支持在線編程)。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的Flash存儲(chǔ)器可有效地降低開發(fā)成本。AT89C52有PDIP、PQFP/TQFP及PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。鍵盤調(diào)整單元圖2-3S1:接P3.0口,功能一:正常狀態(tài)下,按一次里程計(jì)數(shù)加一;功能二:修改單價(jià)時(shí),作為切換鍵。S2:接P3.1口,功能一:進(jìn)入修改單價(jià)的界面;功能二:修改單價(jià)時(shí),對(duì)整數(shù)位按一次加一。S3:接P3.2口,跳出修改單價(jià)的界面。S4:接P3.3口,功能一:在正常狀態(tài)下為復(fù)位鍵;功能二:修改單價(jià)時(shí),對(duì)小數(shù)位按一次加一。顯示單元顯示單元由8個(gè)8段共陽數(shù)碼管組成,采用動(dòng)態(tài)掃描進(jìn)行顯示。前二個(gè)數(shù)碼管用于顯示里程數(shù)或者單價(jià);后四個(gè)用于顯示總價(jià)格;電路如圖2-4所示。圖2-4總電路接線圖見附錄。第三章出租車計(jì)價(jià)系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)主程序在主程序模塊中,需要完成對(duì)各參量和接口的初始化、出租車起價(jià)和單價(jià)的初始化以及計(jì)算、循環(huán)等工作。另外,在主程序模塊中還需要設(shè)置復(fù)位和修改單價(jià)的程序。當(dāng)汽車運(yùn)行起來時(shí),就啟動(dòng)計(jì)價(jià),根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷行駛里程是否已超過起步價(jià)公里數(shù)。若已超過,則根據(jù)里程值、每公里的單價(jià)數(shù)和起步價(jià)數(shù)來計(jì)算出當(dāng)前的總金額,并將結(jié)果輸出在顯示管中;中途等待時(shí),不產(chǎn)生計(jì)數(shù),當(dāng)時(shí)間超過等待設(shè)定值時(shí),開始進(jìn)行計(jì)時(shí),并把等待價(jià)格加到總金額里,然后將總金額、里程和單價(jià)送數(shù)碼管顯示出來。程序流程如圖3-1所示。開始開始初始化初始化切換 N切換調(diào)整單價(jià) Y調(diào)整單價(jià)金額計(jì)算金額計(jì)算顯示 復(fù)位 N復(fù)位 Y圖3-1計(jì)算子程序流程圖里程計(jì)數(shù)里程計(jì)數(shù)單元里程>3 里程>3 Y總金額=起步價(jià)總金額=起步價(jià)+總金額=起步價(jià)總金額=起步價(jià)+(里程-3)*單價(jià)返回返回圖3-2顯示子程序顯示程序每點(diǎn)亮一個(gè)數(shù)碼管,顯示一位數(shù)據(jù),利用主函數(shù)內(nèi)的循環(huán),實(shí)現(xiàn)動(dòng)態(tài)掃描顯示,同時(shí)根據(jù)數(shù)碼管余輝和人眼暫留現(xiàn)象,即可實(shí)現(xiàn)顯示。鍵盤子程序鍵盤采用查詢的方式,放在主程序中,當(dāng)沒有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦右按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。流程圖如圖3-3所示。主程序循環(huán)掃描主程序循環(huán)掃描Key2=0? YKey2=0?YKey3=0?Key1=0?N N YKey3=0?Key1=0?N修改M值 修改M值Key1=0?YNm為1且KKey1=0?YNm為1且Key4=0Y修改單價(jià)Y修改單價(jià)N修改里程數(shù)NN修改里程數(shù)NKey4=0Ym為0且Key4=0Ym為0且Key2=0YN修改單價(jià)YN修改單價(jià)NN復(fù)位復(fù)位顯示電路顯示電路圖3-3第四章出租車計(jì)價(jià)系統(tǒng)的安裝與調(diào)試硬件調(diào)試通電調(diào)試,檢查開發(fā)板是否正常,各個(gè)數(shù)碼管顯示是否正常。軟件調(diào)試輸入程序并檢查無誤,經(jīng)編譯、連接后燒入開發(fā)板運(yùn)行,觀察現(xiàn)象。經(jīng)過多次調(diào)試后達(dá)到了設(shè)計(jì)要求。調(diào)試過程在最初拿到任務(wù)書時(shí),由于第一次做單片機(jī)的課程設(shè)計(jì),所以心里感覺有點(diǎn)沒底。為了給自己減壓,于是開始時(shí)只是想著如何用數(shù)碼管同時(shí)顯示里程數(shù)和對(duì)應(yīng)的總價(jià)格,通過指定的按鍵按一次加一公里里程來模擬代替?zhèn)鞲衅魉a(chǎn)生的里程數(shù)。由于這個(gè)要求比較簡單,所以沒有碰到什么麻煩變順利的達(dá)到了要求。然后我就想著如何加入修改單價(jià)的程序。這部分也是先從簡單的做起。我先是想著處理如何通過按鍵進(jìn)入修改單價(jià)的界面并且停留在修改單價(jià)界面直到用指定的按鍵退出為止。開始時(shí)只是顯示單價(jià),單價(jià)的修改位并不閃爍。這時(shí)在修改單價(jià)的程序添加IF語句,來控制切換修改單價(jià)的各位和小數(shù)位,并且在相應(yīng)的條件下通過指定的按鍵來修改單價(jià)。開始想著單價(jià)的既能加又能減,后來從實(shí)際使用和程序的復(fù)雜度來考慮只是設(shè)置了單價(jià)的加法操作,在單價(jià)加到一定的數(shù)值變到相應(yīng)的最小值,如此反復(fù)。這樣修改單價(jià)的要求也就相應(yīng)的達(dá)到了。最后感覺最難控制的是調(diào)整單價(jià)時(shí),相應(yīng)的修改位的數(shù)碼管閃爍而其他非修改位不閃爍。在這個(gè)環(huán)節(jié)上我花了大量的時(shí)間進(jìn)行調(diào)試。最初的想法是用FOR語句來控制50次內(nèi)單價(jià)的個(gè)位和小數(shù)位都顯示,后50次屏蔽掉修改位,如此反復(fù)??山Y(jié)果確實(shí)是感覺修改位閃爍而非修改位一直顯示,但有明顯的瑕疵是非修改位也能感覺到有些閃爍。雖然試了許多總次數(shù)組合但依然達(dá)不到理想效果。最后沒有使用FOR語句,而是在正常的掃描顯示程序里通過添加IF語句來控制屏蔽位的亮與不亮的時(shí)間比,并且適當(dāng)延長的非閃爍位的延時(shí)時(shí)間。這樣一來,經(jīng)過多次調(diào)試,閃爍達(dá)到了一定效果。第五章設(shè)計(jì)體會(huì)與小結(jié)經(jīng)過這些天有關(guān)于出租車計(jì)價(jià)器的課程設(shè)計(jì),使我對(duì)單片機(jī)的應(yīng)用有了更深的了解。在課程設(shè)計(jì)的過程中,還是碰到了許多的問題。比如,對(duì)于數(shù)碼管動(dòng)態(tài)掃描顯示、數(shù)碼管的閃爍和鍵盤的延時(shí)防抖的綜合編程不能較好地解決;對(duì)于一些相關(guān)的應(yīng)用軟件沒能熟練掌握。通過這幾天晚上的苦想和反復(fù)調(diào)試,最終還是把問題解決了。通過這次課程設(shè)計(jì),我最大的收獲就是自己的動(dòng)手能力和獨(dú)立解決問題的能力得到了很大的提高,也充分體會(huì)到了自己設(shè)計(jì)東西的樂趣、學(xué)會(huì)查閱資料和對(duì)別人的東西融會(huì)變通的重要性,也明白了很多知識(shí)光靠趴在書本上學(xué)是學(xué)不到其中的精髓的,必須親自去試著實(shí)踐,親自去經(jīng)歷才能對(duì)它們真正的掌握。最大的收獲是更清晰了如何有條理的編程。第一個(gè)就是流程圖,原來不以為然的事現(xiàn)在覺得非常的有必要。第二就是編程順序,要寫一個(gè)功能很復(fù)雜的程序首先寫那些自己可以很快完成的較簡單的內(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)手的過程中,不僅能增強(qiáng)實(shí)踐能力,而且在理論上可以有更深的認(rèn)識(shí);這次設(shè)計(jì)給了我極大的鼓舞和信心,相信在以后的學(xué)習(xí)中可以通過不斷的摸索和實(shí)踐來提高其他方面的知識(shí)。參考文獻(xiàn)張鑫、華臻、陳書謙.《單片機(jī)原理及應(yīng)用》[M].電子工業(yè)出版社,2005.丁元杰、吳大偉.《單片微機(jī)實(shí)題集與實(shí)驗(yàn)指導(dǎo)書》[M].機(jī)械工業(yè)出版社,2004.朱承高.電工及電子技術(shù)手冊[M].北京:高等教育出版社,1990李群芳,肖看.單片機(jī)原理接口與應(yīng)用.北京:清華大學(xué)出版社,2005.張迎新.單片微型計(jì)算機(jī)原理、應(yīng)用及接口技術(shù).北京:國防工業(yè)出版社,1999.高峰.單片微型應(yīng)用系統(tǒng)設(shè)計(jì)及實(shí)用技術(shù).北京:機(jī)械工業(yè)出版社,2004.附錄一.源程序#include<reg52.h>codeunsignedchartab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};codeunsignedchartab1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};unsignedcharbaiwei;unsignedcharshiwei;unsignedchargewei;unsignedcharxiaoshu;unsignedcharcount;unsignedchardjgewei;unsignedchardjxiaoshu;unsignedchari;unsignedcharm;floatmoney;floatjiage;sbitkey1=P3^0;sbitkey2=P3^1;sbitkey3=P3^2;sbitkey4=P3^3;voiddelay(unsignedintcnt){while(--cnt);}main(){P0=0x00;count=0;money=0;jiage=3.6;while(1){if(!key2){m=0;delay(18000); while(key3) {if(!key1) {delay(30000); if(!key1) m++; if(m==2) m=0; } if(m) {if(!key4) {delay(50000); if(!key4) { jiage+=0.1; if((int)(jiage*10)%10==0) jiage-=1; } } jiage*=10; djgewei=tab1[(int)jiage/10]; P0=djgewei;P2=0;delay(600); i++; if(i<50) { djxiaoshu=tab[(int)jiage%10]; P0=djxiaoshu; P2=1; delay(200); } jiage/=10; if(i<160) if(i==159) i=0; }if(!m) { if(!key2) delay(50000); if(!key2) { jiage+=1; if(jiage>=10) jiage-=10; } jiage*=10; djgewei=tab1[(int)jiage/10]; djxiaoshu=tab[(int)jiage%10]; P0=djxiaoshu; P2=1; delay(600);i++; if(i<50) { P0=djgewei;P2=0;delay(200); }jiage/=10; if(i<160) if(i==159) i=0; } }}if(!key1){delay(25000);count++;if(count==100){count=0;}}if(!key4)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- DB3707T 135-2025大蔥三系雜交制種技術(shù)規(guī)程
- 江西公路瀝青路面施工方案
- 馬尾松種植中發(fā)生的主要病蟲害及針對(duì)性防治方法的多角度分析
- 醫(yī)療機(jī)構(gòu)水污染物的監(jiān)測與檢測方法
- 穩(wěn)定和擴(kuò)大就業(yè)的背景與意義
- 就業(yè)質(zhì)量提升的路徑
- 2025年配網(wǎng)自動(dòng)化監(jiān)控項(xiàng)目合作計(jì)劃書
- 廣東省佛山市2017-2018學(xué)年高一上學(xué)期期末考試教學(xué)質(zhì)量檢測政治試題
- 浙江省臺(tái)州市2024-2025學(xué)年高二上學(xué)期期末質(zhì)量評(píng)估數(shù)學(xué)試題2
- 四川省棠湖中學(xué)2017-2018學(xué)年高二下學(xué)期開學(xué)考試語文試題
- 七年級(jí)道法下冊 第一單元 綜合測試卷(人教海南版 2025年春)
- 海洋自主無人系統(tǒng)跨域協(xié)同任務(wù)規(guī)劃模型與技術(shù)發(fā)展研究
- GB/T 18851.2-2024無損檢測滲透檢測第2部分:滲透材料的檢驗(yàn)
- 正弦穩(wěn)態(tài)電路分析
- 中國中材海外科技發(fā)展有限公司招聘筆試沖刺題2025
- 專題02 光現(xiàn)象(5大模塊知識(shí)清單+5個(gè)易混易錯(cuò)+2種方法技巧+典例真題解析)
- 兩層鋼結(jié)構(gòu)廠房施工方案
- 支氣管封堵器在胸科手術(shù)中的應(yīng)用
- 班級(jí)凝聚力主題班會(huì)12
- 初中語文“經(jīng)典誦讀與海量閱讀”校本課程實(shí)施方案
- 北京市東城區(qū)2021-2022學(xué)年第一學(xué)期四年級(jí)期末考試語文試卷(含答案)
評(píng)論
0/150
提交評(píng)論