出租車計價器微機(jī)接口課程設(shè)計_第1頁
出租車計價器微機(jī)接口課程設(shè)計_第2頁
出租車計價器微機(jī)接口課程設(shè)計_第3頁
出租車計價器微機(jī)接口課程設(shè)計_第4頁
出租車計價器微機(jī)接口課程設(shè)計_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、信息科學(xué)與技術(shù)學(xué)院微機(jī)原理與接口技術(shù)課程設(shè)計報告題目名稱: 學(xué)生姓名: 學(xué) 號: 專業(yè)年級: 指導(dǎo)教師: 時 間:出租車計價器王彪2010508115電信10級(2)班劉恩博老師2012.12.311課程設(shè)計綜述1.1課程設(shè)計的目的1.2課程設(shè)計的題目1.3題目要求2方案選擇3硬件原理電路圖的設(shè)計及分析3.1整體框圖3.2各模塊功能原理分析4程序設(shè)計與分析4.1程序框圖4.2各模塊程序分析5系統(tǒng)評價105.1程序運(yùn)行105.2評價分析116心得體會121 .課程設(shè)計綜述1.1 課程設(shè)計的目的微機(jī)原理與接口技術(shù)是一門理論結(jié)合實(shí)踐的專業(yè)基礎(chǔ)課,同時也是考研的考察科目??梢院敛豢鋸埖恼f,學(xué)好學(xué)精微機(jī)

2、原理,在就業(yè)時就有了非常大的優(yōu)勢。為了讓我們更好的掌握匯編語言和各種芯片的特點(diǎn)和功能,安排了我們這次課程設(shè)計。8086CPU及其相應(yīng)的外圍可編程芯片實(shí)現(xiàn)對計價器主體功能的實(shí)現(xiàn)是本次試驗(yàn)的目的。1.2 課程設(shè)計的題目出租車計價器1.3 題目要求(1)、實(shí)現(xiàn)計價功能。(2)、實(shí)現(xiàn)手動設(shè)計單價。(3)、實(shí)現(xiàn)顯示里程、單價與總價。(4)、擴(kuò)展功能:實(shí)現(xiàn)自動根據(jù)時間設(shè)定單價。2 .方案選擇根據(jù)題目要求,需要一個顯示單價的顯示器,并能夠手動調(diào)整大小,要有一個公里顯示器,來顯示行走的路程,還有一個總價顯示器,來達(dá)到計價功能。翻閱大量資料后得知公里顯示器的增加需要一個固定的脈沖或者霍爾式脈沖信號,我們用一個8

3、253來設(shè)置脈沖。把單價起始值設(shè)為5,設(shè)置一個加1和一個減1按鈕,實(shí)現(xiàn)對單價的手動設(shè)置。最后通過代碼的相乘運(yùn)算,把結(jié)果送到總價顯示器,完成初步的實(shí)驗(yàn)?zāi)康?。為了顯示以上三個數(shù)值,我們選用了三片8255芯片,1個2位7段LED數(shù)碼管和2個4位7段LED數(shù)碼管,CPU選用8086,地址總線通過兩片74LS373進(jìn)行地址鎖存,一片連接74LS138連通3片8255的片選信號CS,一片連接各個8255的控制端口A1和A0。通過3個單脈沖開關(guān)按鈕實(shí)現(xiàn)對整個電路的控制。原理框圖如下所示:#73 .硬件原理電路圖的設(shè)計及分析3.1 整體電路圖75TT7frkJrMn"64TKKKKKKKK3.2.1

4、CPU模塊3.2.274LS373模塊tCM4027(03894131-417Q7伯01234567QQQQQQQ7«4HC373一HE芯及3.2.374LS138模塊選定8086工作在最小模式下,地址選通信號連接兩片74LS373用于地址鎖存,RD和WR信號連接3片8255的RD和WR引腳。CPU的總線連到兩片74LS373的輸入端,AD0AD7接第一片用于三片8255和8253的Al、A0的選擇控制,AD8AD15接第二片用于連到74LS138并對三片8255和8253的CS片選信號進(jìn)行選擇。LE信號連接CPU的地址選通引腳ALE,OE信號固定接地使之一直能夠把鎖存器中的數(shù)據(jù)傳送

5、到輸出端。74LS138為常用的三線八線譯碼器,我們用它來進(jìn)行3片8255和8253的選擇,設(shè)置E1、E2、E3為有效電平使之工作,CBA為三線輸入,000選擇Y0端口輸出,001選擇Y1端口,010選擇Y2端口,100選擇Y4端口。由此,三片8255和8253的端口地址已經(jīng)可以確定,如下表所示:端口IOA/OUTOIOB/OUT1IOC/OUT2IOCON/CON18255A08000H8002H8004H8006H8255Al9000H9008H901OH9018H8255A20A000H0A020H0A040H0A060H8253A0C000H0C002H0C004H0C006H1八I

6、T 二11.QriIpaOM TOJ J - 禮 b OU,1±LU UI- N r , o M T"M一.z 3. 2. 4 8253 模塊8253是定時計數(shù)器,使計時器0工作在模式3,我們設(shè)置為60次記0.1公里。實(shí)現(xiàn)了車輪轉(zhuǎn)速和公里數(shù)的轉(zhuǎn)換。ADO 34RDWRAl RESET3,63. 2. 5 8255 模塊D123 45 67 口口DDD口DD01234567 BBDBDB-UA- PPPPPPPP01234567 CCCCCCCC PPPPPPPP41另-jULBQ57F18 LEDBO io LEDB120L£0B22l而ST.22 IFUH473

7、 LCDD524 LEDBS 至石 1£057一14IC LED881t LEDBQ i73 L StFSTF Z32ZE8255是通用的并行接口,在本次設(shè)計中,我們把PA口當(dāng)做輸入,PB和PC口當(dāng)做輸出,PB07和PC14連接LED燈做控制和顯示作用。由于三片8255的連線一致,所以我們把控制字統(tǒng)一設(shè)置為90H,使PA口做輸入,工作在方式0,PB口做輸出,亦工作在方式0,PC的高四位和低四位都工作在輸出狀態(tài)。3. 2. 6 7段LED數(shù)碼管顯示模塊7段LED數(shù)碼管分為共陽極和共陰極兩種,本次設(shè)計我們采用共陰極,ABCDEFG是每一段LED的引腳,1234為位選通信號,由于是共陰極,

8、所以是低電平有效,采用動態(tài)顯示的方法顯示每一位數(shù)碼管。由此可以得到數(shù)字09相對的ABCDEFG電平,如下表所示:01234567893FH06H5BH4FH66H6DH7DH07H7FH6FH若要加入小數(shù)點(diǎn)顯示,則十六進(jìn)制的第二位全部加8即可,具體如下表所示:0123456789OBFH86HODBHOCFH0E6HOEDHOFDH87HOFFHOEFH4.程序設(shè)計與分析4.1程序框圖154 .2各模塊程序分析DATASEGMENTCOUNTDB05;單價計數(shù)器,初值為5COUNT1DB00;公里計數(shù)器,初值為0SHIWEIDB?;單價十位GEWEIDB?;單價個位BAIWEI1DB?;公里百

9、位SHIWEI1DB?;公里十位GEWEI1DB?;公里個位BAIWEI2DB?;總價百位SHIWEI2DB?;總價十位GEWEI2DB?;總價個位TEMPDBO;以下三個為按鈕判斷值TEMPIDBOTEMP2DBOSEGTABDB3FH.06H,5BH.4FH.66HDB6DH.7DH.07H.7FH.6FH;不帶小數(shù)點(diǎn)的7段LED數(shù)碼管碼制SEGTAB1DB0BFH.86H.0DBH.0CFH.0E6HDB0EDH.0FDH.87H.0FFH.0EFH;帶小數(shù)點(diǎn)的7段LED數(shù)碼管碼制DATAENDSCODESEGMENT;ASSUMECS:CODE.DS:DATAIOAEQU8000H;各

10、個端口的端口地址IOBEQU8002HIOCEQU8004HIOCONEQU8006HIOA1EQU9000HIOB1EQU9008HIOC1EQU901OHIOCON1EQU9018HIOA2EQU0A000HIOB2EQU0A020HIOC2EQU0A040HIOCON2EQU0A060HJSQOEQU0C000HJSQ1EQU0C002HJSQ2EQU0C004HCONIEQU0C006HSTART:MOVAX.DATAMOVDS.AXMOVAL,90H;設(shè)置8255控制字MOVDXJOCONOUTDX.AL;輸出到三個控制端口MOVDXJOCON1OUTDX.ALMOVDX.IOCON

11、2OUTDX,ALMOVALJ6H;設(shè)置8253控制字MOVDX.CON1OUTDX,ALMOVAL.60MOVDXJSQOOUTDX,ALSTART1:MOVDXJOAINAL.DX;接收來自PA口的脈沖信號NOTAL;接收為低電平,變?yōu)楦唠娖紸NDAL.01H;屏蔽其它位,只接收PA0口CMPAL.TEMPJZSTART2MOVTEMP.AL;與判斷值相比,若不同則不跳轉(zhuǎn),若相同則說明長按或者沒按,直接跳轉(zhuǎn)到START2ADDACCOUNTMOVCOUNT.AL;對單價計數(shù)器加1START2:MOVDXJOA2INAL.DXNOTALANDAL,01HCMPAL.TEMP2JZSTART3

12、MOVTEMP2.ALCMPCOUNTS;若單價為0則不再減1JZSTART3SUBAL.COUNTMOVCOUNT.AL;對單價計數(shù)器減1START3:MOVDXJOAlINAL.DXNOTALANDAL.01HCMPAL.TEMP1JZ FENJIEMOV TEMP LALADD ACCOUNT 1MOV COUNT LAL;對公里計數(shù)器加1FENJIE:;對單價計數(shù)器的值進(jìn)行分解MOV ACCOUNTMOV AHQMOV CL JODIV CLMOV SHIWELAL;分成十位和個位MOV GEWELAHFENHEl:;對公里計數(shù)器進(jìn)行分解MOV ACCOUNT 1MOV AH,0MOV

13、 CL JODIV CLMOV GEWEILAHMOV AH,0DIV CLMOV SHIWEILAHMOV BAIWEILAL ;分百位十位和個位FENJIE2:;對總價進(jìn)行分解MOV ALCOUNTMOV AH.OMOV CLCOUNT1MOV CH,0MULCX;單價和公里數(shù)相乘得總價MOV CL JODIV CLMOV GEWEI2.AHMOV AH,0DIV CLMOV SHIWEI2,AHMOV BAIWEI2,AL ;分百位十位和個位 DISP:;三個值的顯示程序MOVAUOOOOOHOB;單價顯示器是二位7段LED數(shù)碼管,所以 只屏蔽兩位位選信號,1是未選中MOV DXJOCO

14、UT DX,ALMOVAUOOOllllOB;總價和總公里用四位7段LED數(shù)碼管MOVDXJOC1OUTDX.ALMOVDX.IOC2OUTDX.AL;顯示公里百位XORAX,AXMOVAL.BAIWEI1MOVSLAXMOVAL.SEGTABSI;數(shù)碼管碼制轉(zhuǎn)換MOVDXJOB1OUTDX,AL;輸出百位MOVAL.00011010B;開百位位選信號MOVDXJOC1OUTDX.ALCALLYS;輸出后執(zhí)行延時,讓該位短暫顯示;總價百位XORAX.AXMOVAL.BAIWEI2MOVSLAXMOVAL.SEGTABSIMOVDXJOB2OUTDX,ALMOVAL.00011010BMOVDX

15、JOC2OUTDX,ALCALLYS;顯示后繼續(xù)全部關(guān)閉MOVAL.OOOOOHOBMOVDXJOCOUTDX,ALMOVAL.OOOHHOBMOVDXJOC1OUTDX,ALMOVDX.IOC2OUTDX,AL;單價十位XORAX,AXMOVAL.SHIWEIMOVSLAXMOVAL.SEGTABSIMOVDXJOBOUTDX.ALMOVAL.OOOOOIOOBMOVDXJOCOUTDX.ALCALLYS;公里十位XORAX.AXMOVAUSHIWEIlMOVSLAXMOVAL5EGTAB1SI;用帶小數(shù)點(diǎn)顯示十位MOVDXJOB1OUTDX.ALMOVAL.OOOIOHOBMOVDXJOC

16、1OUTDX.ALCALLYS;總價十位XORAX.AXMOVAUSHIWEI2MOVSLAXMOVAL5EGTAB1SI;用帶小數(shù)點(diǎn)顯示十位MOVDXJOB2OUTDX.ALMOVAL.OOOIOHOBMOVDXJOC2OUTDX.ALCALLYS;顯示后繼續(xù)全部關(guān)閉MOVAL,OOOOOHOBMOVDXJOCOUTDX.ALMOVAUOOOllllOBMOVDXJOC1OUTDX.ALMOVDXJOC2OUTDX.AL;單價個位XORAX,AXMOVAL.GEWEIMOVSLAXMOVAL.SEGTABSIMOVDXJOBOUTDX,ALMOVAL.OOOOOOIOBMOVDXJOCOUT

17、DX,ALCALLYS;總公里個位XORAX.AXMOVAL.GEWEI1MOVSLAXMOVAL.SEGTABSIMOVDXJOB1OUTDX.ALMOVAL.00001110BMOVDXJOC1OUTDX.ALCALLYS;總價個位XORAX,AXMOVAL.GEWEI2MOVSLAXMOVAL.SEGTABSIMOVDXJOB2OUTDX,ALMOVAL.00001110BMOVDXJOC2OUTDX,ALCALLYSJMPSTART1;完成一次顯示后繼續(xù)YSPROCNEARMOVCX,500DELY:NOPLOOPDELYRETYSENDPCODEENDSENDSTART5.系統(tǒng)評價5

18、.1 程序運(yùn)行整個程序能夠正常運(yùn)行和顯示,運(yùn)行圖如下所示:(1)開始運(yùn)行(2)公里數(shù)增加009HS(3)手動設(shè)置單價8333修%管曾信維K%空維皿想E溫落5 .2評價分析本設(shè)計針對出租車計價器還有許多不足之處,并不是現(xiàn)今流行的出租車計價器,即一定公里數(shù)內(nèi)為定價,超出公里數(shù)后開始計價,只完成了題目的初步要求。本設(shè)計的特點(diǎn)在于可以手動設(shè)置單價整個電路其實(shí)并不用太多的8255芯片,可以把兩片對應(yīng)于4位7段LED數(shù)碼管的顯示部分進(jìn)行精簡,即用一個8255芯片控制兩個數(shù)碼管,讓他們公用輸出端口,只要輸出時正確選擇位選信號即可。對單價做減價處理時,單價為。時不再做減1處理,但運(yùn)行時發(fā)現(xiàn)有不穩(wěn)定顯示現(xiàn)象,即在按鈕按住不放時顯示不正確,可能是對各個寄存器的處理并不到位,處理方法可以是做好各個寄存器的保護(hù)工作。系統(tǒng)只設(shè)置了單價從。到99,總價和公里從。到99.9,若超出則會出現(xiàn)亂碼現(xiàn)象,我們可以在計數(shù)器之后設(shè)置判斷和跳轉(zhuǎn)指令,即超出顯示范圍時對計數(shù)器賦0處理??傮w來說,本次設(shè)計基本完成了題目要求。6 .心得體會通過本次課程設(shè)計,讓我受益頗豐。拿到題目時.,我即聯(lián)想到了實(shí)驗(yàn)課上老師給我們演示的顯示系統(tǒng),之后,我翻閱了微機(jī)接口的有關(guān)圖書資料后,對設(shè)計整體思路有了大概把握。查閱了7段LED數(shù)碼管的工作原理,由于在實(shí)驗(yàn)時忽略了共

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論