




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、天津大學(xué)仁愛(ài)學(xué)院?jiǎn)纹瑱C(jī)原理及應(yīng)用課程設(shè)計(jì) 題 目: 出租車簡(jiǎn)易計(jì)價(jià)器 專 業(yè): 電子科學(xué)與技術(shù) 班 級(jí): 2班 姓 名: 任曉旭 學(xué) 號(hào): 6008202306 指導(dǎo)老師: 葛自強(qiáng) 成 績(jī): 2011.4目錄引言1. 課程設(shè)計(jì)的總體要求 1.1本設(shè)計(jì)任務(wù) 1.2系統(tǒng)主要功能2計(jì)價(jià)器硬件設(shè)計(jì) 2.1系統(tǒng)硬件構(gòu)成及功能 2.2計(jì)價(jià)單元的設(shè)計(jì) 2.3按鍵單元的設(shè)計(jì)3. AT89S51單片機(jī)及引腳說(shuō)明4. 硬件電路原理及軟件設(shè)計(jì) 4.1電路原理圖 4.2 系統(tǒng)軟件設(shè)計(jì)5. 程序流程圖6. 程序代碼7. 實(shí)驗(yàn)總結(jié)8. 參考文獻(xiàn)簡(jiǎn)易出租車計(jì)價(jià)器引 言汽車計(jì)價(jià)器是乘客與司機(jī)雙方的交易準(zhǔn)則,它是出租車行業(yè)發(fā)展
2、的重要標(biāo)志,是出租車中最重要的工具。它關(guān)系著交易雙方的利益。具有良好性能的計(jì)價(jià)器無(wú)論是對(duì)廣大出租車司機(jī)朋友還是乘客來(lái)說(shuō)都是很必要的。因此,汽車計(jì)價(jià)器的研究也是十分有一個(gè)應(yīng)用價(jià)值的。電路和數(shù)字電路設(shè)計(jì)的計(jì)價(jià)器整體電路的規(guī)模較大,用到的器件多,造成故障率高,難調(diào)試,對(duì)于模式的切換需要用到機(jī)械開(kāi)關(guān),機(jī)械開(kāi)關(guān)時(shí)間久了會(huì)造成接觸不良,功能不易實(shí)現(xiàn)。為此我們采用了單片機(jī)進(jìn)行設(shè)計(jì),相對(duì)來(lái)說(shuō)功能強(qiáng)大,用較少的硬件和適當(dāng)?shù)能浖嗷ヅ浜峡梢院苋菀椎膶?shí)現(xiàn)設(shè)計(jì)要求,且靈活性強(qiáng),可以通過(guò)軟件編程來(lái)完成更多的附加功能。針對(duì)計(jì)費(fèi)模式的切換,通過(guò)軟件編程就可以輕易而舉的實(shí)現(xiàn)。避免了機(jī)械開(kāi)關(guān)帶來(lái)的不穩(wěn)定因素。隨著生活水平的提高
3、,人們已不再滿足于衣食住的享受,出行的舒適已受到越來(lái)越多人的關(guān)注。于是,出租車行業(yè)以低價(jià)高質(zhì)的服務(wù)給人們帶來(lái)了出行的享受。但是總存在著買賣糾紛困擾著行業(yè)的發(fā)展。而在出租車行業(yè)中解決這一矛盾的最好方法就是改良計(jì)價(jià)器。用更加精良的計(jì)價(jià)器來(lái)為乘客提供更加方便快捷的服務(wù)?,F(xiàn)在各大中城市出租車行業(yè)都已普及自動(dòng)計(jì)價(jià)器,所以計(jì)價(jià)器技術(shù)的發(fā)展已成定局。而部分小城市尚未普及,但隨著城市建設(shè)日益加快,象征著城市面貌的出租車行業(yè)也將加速發(fā)展,計(jì)價(jià)器的普及也是毫無(wú)疑問(wèn)的,所以未來(lái)汽車計(jì)價(jià)器的市場(chǎng)還是十分有潛力的。1.課程設(shè)計(jì)的總體要求本電路以89S51 單片機(jī)為中心實(shí)現(xiàn)對(duì)出租車計(jì)價(jià)統(tǒng)計(jì),輸出采用LCD。本電路設(shè)計(jì)的計(jì)
4、價(jià)器能實(shí)現(xiàn)基本的計(jì)價(jià)。1.1 本設(shè)計(jì)任務(wù) 1.1.1 設(shè)計(jì)任務(wù)設(shè)計(jì)簡(jiǎn)易出租車計(jì)價(jià)器,計(jì)算出當(dāng)前金額。1.1.2 課程設(shè)計(jì)目的 «微機(jī)原理與接口技術(shù)»是一門實(shí)踐性和實(shí)用性都很強(qiáng)的課程,學(xué)習(xí)的目的在于應(yīng)用。本課程設(shè)計(jì)是配合“微機(jī)原理與接口技術(shù)”課堂教學(xué)的一個(gè)重要的實(shí)踐教學(xué)環(huán)節(jié),它能其到鞏固課堂和書本上所學(xué)知識(shí),加強(qiáng)綜合能力,提高系統(tǒng)設(shè)計(jì)水平,啟發(fā)創(chuàng)新思想的效果。我們希望每個(gè)學(xué)生都能自己動(dòng)手獨(dú)立設(shè)計(jì)完成一個(gè)典型的微機(jī)應(yīng)用小系統(tǒng)。1.1.3 課程設(shè)計(jì)內(nèi)容 系統(tǒng)功能任務(wù)要求1)自動(dòng)記錄單價(jià)2)按十進(jìn)制顯示以上數(shù)據(jù)3)全部采用LCD顯示 系統(tǒng)設(shè)計(jì)說(shuō)明 1)可以自增系統(tǒng)功能2)允許用MS
5、C-51系列3)系統(tǒng)程序采用C語(yǔ)言編程4)硬件原理圖采用電子Proteus繪制1.2 系統(tǒng)主要功能本課程設(shè)計(jì)所設(shè)計(jì)的出租車計(jì)價(jià)器的主要功能有:數(shù)據(jù)的復(fù)位、數(shù)據(jù)輸出、計(jì)價(jià)、輸出采用LCD顯示管,本電路設(shè)計(jì)的計(jì)價(jià)器能實(shí)現(xiàn)基本的計(jì)價(jià)。2 計(jì)價(jià)器硬件設(shè)計(jì)本系統(tǒng)的硬件設(shè)計(jì)主要包括單片機(jī)AT89S51、數(shù)據(jù)顯示部件、計(jì)價(jià)單元的設(shè)計(jì)。在硬件設(shè)計(jì)過(guò)程中,充分利用各部件的功能,實(shí)現(xiàn)出租車計(jì)價(jià)器設(shè)計(jì)。 2.1系統(tǒng)的硬件構(gòu)成及功能它由以下幾個(gè)部件組成:?jiǎn)纹瑱C(jī)AT89S51、總金額、按鈕控制部件。 利用單片機(jī)豐富的IO端口,及其控制的靈活性,實(shí)現(xiàn)基本的里程計(jì)價(jià)功能和價(jià)格調(diào)節(jié)、時(shí)鐘顯示功能。不但能實(shí)現(xiàn)所要求的功能而且能
6、在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí)。具體電路參見(jiàn)“總體電路圖”。里程計(jì)算單元89S51單片機(jī)總金額顯示串口顯示驅(qū)動(dòng)電路存儲(chǔ)器啟動(dòng)/清除開(kāi)關(guān)鍵盤控制2.2計(jì)價(jià)單元的設(shè)計(jì)里程計(jì)算是通過(guò)信號(hào)發(fā)生器的模擬信號(hào),送到單片機(jī),經(jīng)處理計(jì)算,送給顯示單元的。 2.3 按鍵單元的設(shè)計(jì)電路共采用了2個(gè)按鍵,P10作為上車開(kāi)始,P11作為下車結(jié)束3 AT89S51單片機(jī)及其引腳說(shuō)明 AT89S51是一個(gè)低功耗,高性能CMOS 8位單片機(jī),片內(nèi)含4k Bytes ISP(In-system programmable)的可反復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用ATMEL公司的高密度、
7、非易失性存儲(chǔ)技術(shù)制造,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu),芯片內(nèi)集成了通用8位中央處理器和ISP Flash存儲(chǔ)單元,具有很高性價(jià)比。 AT89S51是一個(gè)有40個(gè)引腳的芯片,引腳配置如下圖所示。 AT89S51引腳配置AT89S51芯片的40個(gè)引腳功能為:VCC 電源電壓。GND 接地。RST 復(fù)位輸入。當(dāng)RST變?yōu)楦唠娖讲⒈3?個(gè)機(jī)器周期時(shí),將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISKRTO位缺省為RESET輸出高電平打開(kāi)狀態(tài)。XTAL1 反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2
8、 來(lái)自反向振蕩放大器的輸出。P0口 一組8位漏極開(kāi)路型雙向I/O口。也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫“1”可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某
9、個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。Flash編程和程序校驗(yàn)期間,P1接收低8位地址。P1口部分端口引腳及功能如表1所示。表1 P1口特殊功能P1口引腳特殊功能P1.5MOSI(用于ISP編程)P1.6MOSI(用于ISP編程)P1.7SCK(用于ISP編程)P2口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)端口寫“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或16位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口送出高
10、8位地址數(shù)據(jù)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口線上的內(nèi)容在整個(gè)訪問(wèn)期間不改變。Flash編程和程序校驗(yàn)期間,P2亦接收低8位地址。P3口 一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口。P3的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電路。對(duì)P3口寫“1”時(shí),它們被內(nèi)部的上拉電阻把拉到高電并可作輸入端口。作輸入端口使用時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2所示。P3口還接收一些用于Flash閃速存儲(chǔ)器編程和程序校驗(yàn)期間的控制信號(hào)。表2 P3口特殊功能P3口引腳特殊功能P3.0RXD(串行輸入口)P3.1T
11、XD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時(shí)器0外部輸入)P3.5T1(定時(shí)器1外部輸入)P3.6(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7(外部數(shù)據(jù)存儲(chǔ)器讀選通)PSEN 程序儲(chǔ)存允許輸出是外部程序存儲(chǔ)器的讀先通信號(hào),當(dāng)AT89S51由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN/有效,即輸出兩個(gè)脈沖。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,沒(méi)有兩次有效的PSEN/信號(hào)。EA/VPP 外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器,EA端必須保持低電平,需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的編程電壓VP
12、P。4.硬件電路原理圖及軟件設(shè)計(jì)4.1電路原理圖4.2 系統(tǒng)的軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)主要可分為主程序模塊、定時(shí)計(jì)數(shù)中斷程序、顯示子程序服務(wù)程序、按鍵服務(wù)程序四大模塊。下面對(duì)各部分模塊作介紹。4.2.1 系統(tǒng)主程序設(shè)計(jì)在主程序模塊中,需要完成對(duì)各接口芯片的初始化、出租車起價(jià)和單價(jià)的初始化、中斷向量的設(shè)計(jì)以及開(kāi)中斷等工作。另外,在主程序模塊中還需要設(shè)置啟動(dòng)/清除標(biāo)志寄存器、價(jià)格寄存器,并對(duì)它們進(jìn)行初始化。然后,主程序?qū)⒏鶕?jù)各標(biāo)志寄存器的內(nèi)容,分別完成啟動(dòng)、清除、計(jì)程和計(jì)價(jià)等不同的操作。其程序流程如主程序流程圖所示。當(dāng)按下S1時(shí),就啟動(dòng)計(jì)價(jià),將根據(jù)里程寄存器中的內(nèi)容計(jì)算和判斷出行駛里程是否已超過(guò)起
13、價(jià)公里數(shù)。若已超過(guò),則根據(jù)里程值、每公里的單價(jià)數(shù)和起價(jià)數(shù)來(lái)計(jì)算出當(dāng)前的累計(jì)價(jià)格,并將結(jié)果存于價(jià)格寄存器中,當(dāng)前累計(jì)價(jià)格送顯示電路顯示出來(lái)。當(dāng)?shù)竭_(dá)目的地的時(shí)候,就停止計(jì)價(jià),顯示當(dāng)前所應(yīng)該付的金額和。4.2.2 里程計(jì)數(shù)中斷服務(wù)程序設(shè)計(jì)給出模擬信號(hào)模擬里程,進(jìn)入里程計(jì)數(shù)中斷服務(wù)程序中。用10HzTTL方波作為車輪轉(zhuǎn)動(dòng)一周的信號(hào)。在該程序中,需要完成當(dāng)前行駛里程數(shù)和總額的累加操作,并將結(jié)果存入里程和總額寄存器中。輪胎轉(zhuǎn)過(guò)的計(jì)數(shù)個(gè)數(shù)*輪胎周長(zhǎng)=里程4.2.3 顯示子程序服務(wù)程序設(shè)計(jì)用到LCD顯示子程序,顯示總金額。 LCD顯示計(jì)價(jià)=8(<=3km)+1.7*(里程-3)*/4.2.4 按鍵服務(wù)設(shè)
14、計(jì)兩個(gè)按鍵,P10作為上車開(kāi)始,P11作為下車結(jié)束5.程序流程圖6.程序代碼#include<reg51.h>#include<absacc.h>#definePAXBYTE0xcfa0#definePBXBYTE0xcfa1#definePCXBYTE0xcfa2#definePCTLXBYTE0xcfa3#defineclr_req0x70#defineset_req0x71#define uchar unsigned char #define uint unsigned int #define ulong unsigned long sbit up=P10;sbi
15、t down=P11;uchar last_state = 0;uchar now_state = 0;uchar counter = 0;void time_0(void) interrupt 1 using 3counter +;void delay(void)/delay 14.4mS uint time; for(time=900;time>0;time-);void writebyte(unsigned char dat) while(PC&0x80)=0x80); PCTL = clr_req; PA = dat; PCTL = set_req; while(PC&a
16、mp;0x80)!=0x80); PCTL = clr_req; delay();void writechar(bit flag,char column,char line,unsigned char dat1,unsigned char dat2)if(flag) writebyte(0xf0); writebyte(column); writebyte(line); writebyte(dat1); writebyte(dat2); elsewritebyte(0xf9); writebyte(column); writebyte(line); writebyte(dat1); void
17、keyscan(void)if(up=0)delay();if(up=0)now_state =2;while(!up);if(down=0)delay();if(down=0)now_state =1;while(!down);void main(void)uchar table1=21,17,39,16,29,80,22,78;uchar a5=0x30,0x30,0x30,46,0x30;uchar i;/displayulong s=0;/(uint)mileageuint mon=0;/(uint)moneyfloat mileage =0.0;float money = 0.0;
18、uchar state = 0x00;uchar mile_H=0x00,mile_L=0x00;TMOD |= 0X05;/counter,mode 1 PCTL = 0x88; writebyte(0xF4); while(1)keyscan();state = (last_state<<4)|now_state;switch(state)case 0x00:case 0x01:case 0x10:case 0x11:last_state = now_state;now_state = 0;break;case 0x02:case 0x12:case 0x22:TH0 = 0X00;TL0 = 0X00;counter = 0;TR0 = 1;ET0 = 1;EA = 1;last_state = 2;/count againnow_state = 0;break;case 0x
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料疲勞斷裂機(jī)理研究重點(diǎn)基礎(chǔ)知識(shí)點(diǎn)
- 軟件水平考前復(fù)習(xí)試題
- 高考作文中論據(jù)的選擇與應(yīng)用試題及答案
- 行政管理實(shí)踐中的試題及答案
- 跨境電商對(duì)傳統(tǒng)商業(yè)模式的沖擊試題及答案
- 恢復(fù)供電火災(zāi)應(yīng)急預(yù)案范文(3篇)
- 非住宅火災(zāi)應(yīng)急預(yù)案(3篇)
- 軟件設(shè)計(jì)方法的演變與展望試題及答案
- 專家點(diǎn)評(píng)與分析2025年計(jì)算機(jī)二級(jí)VB考試試題及答案
- 綠色經(jīng)濟(jì)轉(zhuǎn)型的經(jīng)濟(jì)學(xué)分析試題及答案
- 延邊大學(xué)《物聯(lián)網(wǎng)技術(shù)1》2023-2024學(xué)年第二學(xué)期期末試卷
- 2024年山東省濟(jì)南市中考英語(yǔ)試題卷(含答案解析)
- 基礎(chǔ)寫作-終結(jié)性考核(期末考試)-國(guó)開(kāi)(SC)-參考資料
- 中建路基邊坡防護(hù)及排水專項(xiàng)施工方案
- 《十萬(wàn)個(gè)為什么》(米伊林)分享課課件
- DB11-T 584-2022 薄抹灰外墻外保溫工程技術(shù)規(guī)程
- 2024秋期國(guó)家開(kāi)放大學(xué)《當(dāng)代中國(guó)政治制度》一平臺(tái)在線形考(任務(wù)一至四)試題及答案
- 2025年中考?xì)v史復(fù)習(xí)專項(xiàng)訓(xùn)練:中國(guó)近代史材料題40題(原卷版)
- 2024屆重慶市南開(kāi)中學(xué)高三第四次質(zhì)量檢測(cè)英語(yǔ)試題及答案
- 科研結(jié)余經(jīng)費(fèi)管理辦法
- 升職晉級(jí)與薪資調(diào)整管理制度
評(píng)論
0/150
提交評(píng)論