版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 . . . 項(xiàng)目設(shè)計(jì)說明書設(shè)計(jì)課題:自動循跡的智能公交車系統(tǒng) 系 別 電氣工程系學(xué)生 文、漠練、賀宇輝、鄒林、懇、周杭 指導(dǎo)老師 完成日期 5 / 28摘 要智能車輛是當(dāng)今車輛工程領(lǐng)域的前沿,它體現(xiàn)的車輛工程,人工智能,自動控制,計(jì)算機(jī)等多個(gè)科學(xué)領(lǐng)域的理論交叉綜合,是未來汽車發(fā)展的趨勢。本設(shè)計(jì)以ATMEL公司的DIP-40封裝的STC89S52單片機(jī)為核心,利用光敏電阻進(jìn)行循跡,并檢測小車是否越出軌道并且輸入信息給單片機(jī)進(jìn)行自動調(diào)整,回歸軌道;用L298N驅(qū)動電機(jī),控制小車的運(yùn)行方向,行駛速度,以與自動停車; 同時(shí)通過在小車底部安裝的紅外對管測試裝置測試小車車輪的運(yùn)轉(zhuǎn)周期,從而判斷小車的運(yùn)行
2、速度和運(yùn)行距離;利用公交站牌按鍵和顯示部分輸入和顯示公交小車所到的站點(diǎn)和與起始的距離;通過測試出的距離判斷與站牌的距離然后自動減速,小車上的語音裝置發(fā)出語音提示,并準(zhǔn)確地在站牌位置停下。本設(shè)計(jì)整個(gè)系統(tǒng)的電路結(jié)構(gòu)清晰,可靠性強(qiáng)解且有較多的功能,實(shí)驗(yàn)測試結(jié)果滿足設(shè)計(jì)要求。目 錄摘要前言題目要求.第一章方案論證、比較與選擇1.1 總體方案1.2驅(qū)動模塊方案1.2循跡模塊方案1.5顯示與輸入模塊方案第二章單元模塊硬件設(shè)計(jì)2.1驅(qū)動模塊設(shè)計(jì).2.2 循跡模塊設(shè)計(jì).2.3語音模塊設(shè)計(jì)2.4顯示與輸入模塊設(shè)計(jì)2.5測速模塊設(shè)計(jì)第三章 軟件系統(tǒng).第四章系統(tǒng)測試第五章系統(tǒng)功能與指標(biāo)參數(shù)4.1系統(tǒng)功能4.2 指標(biāo)
3、參數(shù)第五章總結(jié)附錄一原理圖附錄二 PCB板13附錄三程序流程圖14附錄四元件清單19參考文獻(xiàn)20前 言隨著汽車工業(yè)的迅速發(fā)展,關(guān)于汽車的研究也越來越受到關(guān)注。全國設(shè)計(jì)大賽和省設(shè)計(jì)大賽幾乎每次都有這方面的題目,全國各高校也特別重視該課題的研究,可見其研究意義很大,本設(shè)計(jì)就是在這樣的背景下提出的 。本課題是結(jié)合城市公交車的創(chuàng)新與優(yōu)化的目的而提出的,具有很大的實(shí)際意義。設(shè)計(jì)的自動循跡的公交車系統(tǒng)具有自動循跡,語音提示,輸入顯示,準(zhǔn)確??空九频墓δ?。根據(jù)題目的要求,確定了如下方案:在現(xiàn)裝有電動機(jī)的小車的基礎(chǔ)上,增加了自動循跡模塊,通過光敏電阻對地面軌跡地判斷反饋給單片機(jī),再通過單片機(jī)對電動機(jī)的控制從而
4、使小車能準(zhǔn)確地在軌道上行走。通過單光束放射采樣光電傳感器的測速裝置測試車輪轉(zhuǎn)動的周期從而算出小車的運(yùn)行距離。另外語音模塊通過測試出的距離,在??空厩鞍l(fā)出語言提示。在公交站牌上設(shè)置了輸入和現(xiàn)實(shí)模塊,顯示小車到的站點(diǎn)和與起始的距離。本設(shè)計(jì)采用了STC89S52單片機(jī)為控制核心,本設(shè)計(jì)與實(shí)際相結(jié)合,顯示意義很大?;谧詣訉ほE的智能公交車系統(tǒng)(C題)本科組一、任務(wù)設(shè)計(jì)并制作一套用電池供電的智能公交車系統(tǒng),包括一臺能沿著黑色引導(dǎo)線自主行駛的公交車和兩個(gè)電子公交站,公交車行駛線路如下圖所示。公交道路寬為60cm,公交道路用光滑平整的白紙制作,黑色小車引導(dǎo)線和狀態(tài)標(biāo)識線(可用電工膠帶)寬度為1.8±
5、;0.1cm,站臺??繕?biāo)識線長為20cm。起點(diǎn)與終點(diǎn)之間公交車道總長約25m,公交站點(diǎn)B、C、D的位置在示意圖位置附近任意放置。二、要求1基本要求 (1)電子公交站具有數(shù)據(jù)輸入和顯示功能,能在電子公交站上輸入站臺號以與本站與起始站間的距離。(2)公交車從起始站點(diǎn)A出發(fā),沿著黑色引導(dǎo)線,經(jīng)站點(diǎn)前下車提示、??縿幼骱?,自動駛到終點(diǎn)站C,行駛過程中不允許駛出公交車道,要求在1分鐘完成全程行駛;(3)公交車行駛到離站點(diǎn)100cm±10cm處時(shí)(以公交站臺標(biāo)識線為基準(zhǔn)),應(yīng)提前發(fā)出下車提示聲5s;(4)公交車駛?cè)胝九_??繒r(shí),其車身中心標(biāo)識線與站臺??繕?biāo)識線間誤差應(yīng)不超過10cm,站臺停靠時(shí)間為
6、5s;2發(fā)揮部分 (1)把5s下車提示聲改為下車語音提示(如:“B站到了,旅客請下車”,播報(bào)的站名必須是B站或C站);(2)撤消C站(將站臺移動到D點(diǎn)),要求公交車能在2分鐘從起始點(diǎn)A出發(fā)自動駛到D點(diǎn)(需要經(jīng)過環(huán)行車道,不允許直接在十字路口右轉(zhuǎn)彎),經(jīng)過B站點(diǎn)時(shí)仍應(yīng)有下車語音提示與??縿幼鳎ü卉囅萝囌Z音提示的距離與站臺??康奈恢靡笕酝静糠值南嚓P(guān)要求);(3)通過無線傳輸,公交站臺上能實(shí)時(shí)顯示駛向本站公交車的當(dāng)前車速(單位米/秒)、到站時(shí)間(單位秒)與兩者的距離(單位米),誤差要求不超過5%;(4)其它。三、說明1站臺可設(shè)置在公交線路上的任意位置;2公交車可用各類小車改裝,其尺寸不限,但
7、公交車必須標(biāo)出中心標(biāo)識線。四、評分標(biāo)準(zhǔn)設(shè)計(jì)報(bào)告項(xiàng) 目 滿分 設(shè)計(jì)與總結(jié)報(bào)告:方案比較、設(shè)計(jì)與論證,理論分析與計(jì)算,電路圖與有關(guān)設(shè)計(jì)文件,測試方法與儀器,測試數(shù)據(jù)與測試結(jié)果分析。 20 基本要求完成第(1)項(xiàng)10完成第(2)項(xiàng)15完成第(3)項(xiàng)15完成第(4)項(xiàng)10總分50發(fā)揮部分 完成第(1)項(xiàng) 10完成第(2)項(xiàng) 5完成第(3)項(xiàng) 25完成第(4)項(xiàng)10總分50第一章 方案論證、比較與選擇1.1 總體方案89S52單片機(jī)顯示與輸入模塊語音模塊測速模塊循跡模塊驅(qū)動模塊顯示模塊8951單片機(jī)3個(gè)圖1-1系統(tǒng)總體框圖1.2驅(qū)動模塊方案(1)電機(jī)驅(qū)動原理 直流調(diào)速控制的基本原理是按一個(gè)固定頻率來接通
8、和斷開電源,并根據(jù)需要改變一個(gè)周期接通和斷開的時(shí)間比(占空比)來改變直流電機(jī)電驅(qū)上電壓的“占空比”,從而改變平均電壓,控制電機(jī)的轉(zhuǎn)速。(2)方案的比較與選擇方案一:采用分立元件驅(qū)動,即用三極管來驅(qū)動。這種方案的優(yōu)點(diǎn)是成本低,但最大的缺點(diǎn)是穩(wěn)定性差,在調(diào)試時(shí)比較耗時(shí)。在參加比賽制作小車時(shí)注重穩(wěn)定性和時(shí)間性,故此方案不符合要求。方案二:采用專門電機(jī)驅(qū)動芯片L298N, L298N芯片可以驅(qū)動兩個(gè)二相電機(jī),也可以驅(qū)動一個(gè)四相電機(jī),輸出電壓最高可達(dá)50V,可以直接通過電源來調(diào)節(jié)輸出電壓??梢灾苯油ㄟ^單片機(jī)的O/I口提供信號,而且電路簡單,使用起來比較方便。所以本設(shè)計(jì)采用方案二。1.2循跡模塊方案方案一
9、:線性CCD(電荷偶合器件攝像頭)。優(yōu)點(diǎn)是檢測精度高、反應(yīng)速度快,缺點(diǎn)是信號處理比較復(fù)雜,對攝像頭記錄的圖像進(jìn)行分割可識別困難。方案二:光電傳感循跡。優(yōu)點(diǎn)是原理簡單、操作方便、信號處理速度快,缺點(diǎn)是分辨率低。通過分析,方案一實(shí)現(xiàn)困難,方案二能夠滿足測量需要,故選擇方案二。1.3站臺顯示與輸入模塊方案方案一:數(shù)碼管顯示這種方案的優(yōu)點(diǎn)是成本低,功耗小,無熱量,耐沖擊,長壽命,但最大的缺點(diǎn)是穩(wěn)定性差,在調(diào)試時(shí)比較耗時(shí)顯示容少,需要加三極管驅(qū)動占用單片機(jī)資源比較多。方案二:采用1602液晶顯示這種方案的優(yōu)點(diǎn)是顯示類容豐富,電路簡單無須驅(qū)動,占用單片機(jī)資源少,所以本設(shè)計(jì)采用方案二1.4測速模塊方案方案一
10、:采用可見光發(fā)光二極管和光敏二極管6I$S+CR*L0r)Z 33186We'g-J:Xf33186采用普通可見光發(fā)光管和光敏管組成的發(fā)射接收電路。其缺點(diǎn)在于易受到環(huán)境光源的影響。即便提高發(fā)光管亮度也難以抵抗外界光的干擾。方案二:采用反射式紅外發(fā)射接收器電子園51單片機(jī)學(xué)習(xí)網(wǎng)9yIl Y zc1z電子園51單片機(jī)學(xué)習(xí)網(wǎng)v!I H_Z+cy采用反射式紅外發(fā)射接收器。直接用直流電壓對發(fā)射管進(jìn)行供電,其優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,對環(huán)境光源的抗干擾能力強(qiáng),在要求不高時(shí)可以使用。根據(jù)設(shè)計(jì)要求選擇方案二。第二章 單元模塊硬件設(shè)計(jì)2.1驅(qū)動模塊設(shè)計(jì)2.1.1原理分析電機(jī)是整個(gè)小車的大腦,是整個(gè)小車運(yùn)行的核心部
11、分,起著控制小車所有運(yùn)行狀態(tài)的作用。通常選用單片機(jī)作為小車的核心控制單元,考慮到小車能夠前進(jìn),停止,并且能靈活轉(zhuǎn)彎,在左右兩輪各置一個(gè)電動機(jī)進(jìn)行驅(qū)動。當(dāng)左輪電動機(jī)轉(zhuǎn)速高于右輪時(shí),小車向右轉(zhuǎn),反之則向左轉(zhuǎn)??梢圆捎肞WM調(diào)速法,即用單片機(jī)的I0P8和I0P9輸出一系列頻率一樣的方波,再通過功率放大來驅(qū)動電機(jī)。占空比就可以改變加到電機(jī)上的平均電壓,從而改變電機(jī)的轉(zhuǎn)速。左右輪電動機(jī)轉(zhuǎn)速的配合就能實(shí)現(xiàn)小車的前進(jìn),轉(zhuǎn)向等功能。2.1.2 電路原理圖2.2 循跡模塊設(shè)計(jì)2.2.1電路原理這里的循跡是指小車在白色地板上循黑線行走,通常采取的方法是紅外探測法。紅外探測法,即利用紅外線在不同顏色的物體表面具有不
12、同的反射性質(zhì)的特點(diǎn),在小車行駛過程中不斷地向地面發(fā)射紅外光,當(dāng)紅外光遇到白色紙質(zhì)地板時(shí)發(fā)生漫反射,反射光被裝在小車上的接收管接收;如果遇到黑線則紅外光被吸收,小車上的接收管接收不到紅外光。單片機(jī)就是否收到反射回來的紅外光為依據(jù)來確定黑線的位置和小車的行走路線。紅外探測器探測距離有限,一般最大不應(yīng)超過15cm。2.2.2電路原理圖2.3語音模塊設(shè)計(jì)2.3.1工作原理:通過AT89C52單片機(jī)控制IS4004語音芯片在相應(yīng)時(shí)間發(fā)出對應(yīng)的語音提示,IS4004語音芯片原理不加以介紹,此模塊電路原理如下圖所示2.3.2電路原理圖:2.4顯示與輸入模塊設(shè)計(jì)2.4.1設(shè)計(jì)原理此模塊由AT89S51單片機(jī)的
13、最小系統(tǒng)與LCD1602與LCD12864顯示電路組成,此模塊用在公交站臺與小車上,小車上通過LCD12864顯示小車的車次、當(dāng)前的車速與到下一站的距離。LCD1602用在公交站臺上,主要用于顯示當(dāng)前站臺與前一站的距離、站臺號以與接受小車到來時(shí)發(fā)送的無線信號,無線信號主要顯示小車的車速。2.4.2電路原理圖2.5測速模塊設(shè)計(jì)2.5.1電路原理用光電傳感器的方法測量電機(jī),在電機(jī)上裝了一個(gè)與電機(jī)同大的四對黑白相間的圓圈讓光電管進(jìn)行檢測,光線照射到輪子并反射,由于黑線和白線的反射系數(shù)不同,可根據(jù)接收到的反射光的強(qiáng)弱來判斷傳感器和黑線相對位置。當(dāng)輪子開始旋轉(zhuǎn)的時(shí)候,光電管就會對黑白相間的圓圈進(jìn)行檢測產(chǎn)
14、生高低脈沖讓單片機(jī)進(jìn)行計(jì)算計(jì)數(shù)。2.5.2電路原理圖第三章 軟件設(shè)計(jì)#include "wenjian.h"/#include <main.h>sbit RS = P25; /寄存器選擇輸入 sbit RW = P26; /液晶讀/寫控制sbit EN = P27; /液晶使能控制/PSB=1; /串/并方式控制unsigned char data j, i=0;void delayus1(unsigned char cishu)unsigned char i;for(i=0;i<cishu;i+)_nop_();void delayms1(unsigne
15、d char time )unsigned int i,j;for(i=0;i<time;i+)for(j=0;j<150;j+);bit busy ()bit shuzhi;RS=0;RW=1;EN=1;delayus1(1);shuzhi=(bit)(P0&0x80);EN=0;return shuzhi;void wcmd (unsigned char cmd)while (busy();RS=0;RW=0;EN=0;P0=cmd;EN=1;delayus1(2);EN=0;void wdat(unsigned char dat)while (busy();RS=1;
16、RW=0;delayus1(1);EN=0;P0=dat;delayus1(1);EN=1;delayus1(2);EN=0;void chushihua() /時(shí)間重要wcmd(0x34); /擴(kuò)充指令操作 delayms1(10); wcmd(0x30); /基本指令操作 delayms1(1);/wcmd(0x05); / /delayms(5); wcmd(0x0c); /顯示開,關(guān)光標(biāo) delayms1(1);/wcmd(0x06);/delayms(5); /寫一個(gè)字符后地址指針自動加1 wcmd(0x01); /清除LCD的顯示容 delayms1(1);void lcdxian
17、shi(unsigned char *m,unsigned char shu,unsigned char qiwei,unsigned char adress)/unsigned char i=0;wcmd(adress);/顯示地址delayms1(1); for(;qiwei<shu;qiwei+)/顯示數(shù)組里面的第幾位到第幾位的數(shù)據(jù) wdat(*(m+qiwei); Delayms(2); #include "wenjian.h"/=分段錄音首地址定義=#define ISD_ADDS1 0x0000 /錄音存放地址1#define ISD_ADDS2 0x02
18、00 /錄音存放地址2#define ISD_ADDS3 0x0400 /錄音存放地址3#define ISD_ADDS4 0x0600 /錄音存放地址4#define ISD_ADDS5 0x0800 /錄音存放地址5/=ISD4004指令定義=/=ISD4004-c51接口定義=sbit ISD_SS = P23; /片選sbit ISD_MOSI = P22; /數(shù)據(jù)輸入sbit ISD_SCLK = P24; /ISD4004 時(shí)鐘sbit ISD_INT = P20; /溢出中斷 /sbit ISD_RAC = P32; /行地址時(shí)鐘sbit ISD_MISO = P21; /數(shù)據(jù)輸
19、出/=ISD4004函數(shù)定義=*/void ISD_SPI_Send8 ( uchar isdx8 ); /spi 串行發(fā)送子程序,8位數(shù)據(jù),從低到高void ISD_SPI_Send16( uint isdx16 ); /spi 串行發(fā)送子程序,16位數(shù)據(jù).從低到高uint ISD_SPI_Radd(void); /讀取標(biāo)行地址void ISD_Stop(void); /發(fā)送 stop 指令void ISD_PowerUp(void); /發(fā)送上電指令,并延遲 50msvoid ISD_PowerDown(void); /發(fā)送掉電指令,并延遲 50msvoid ISD_Play(void);
20、 /發(fā)送放音指令,并延遲 50ms void ISD_SetPlay(uint add); /發(fā)送指定放音指令,并延遲 50msvoid ISD_Rec(void); /發(fā)送錄音指令,并延遲 50ms void ISD_SetRec(uint add); /發(fā)送指定錄音指令,并延遲 50ms void PLAY_now(uchar add_sect); /按指定地址開始放音/=延時(shí)函數(shù)=void Delayms(unsigned int t); /延時(shí)t*1毫秒void Delay(unsigned char time);void Delayms(unsigned int time) ucha
21、r i,j;for(i=0;i<time;i+)for(j=0;j<124;j+);void Delay(uchar ti_me) /延時(shí)n微秒while(ti_me!=0)ti_me-;/*名稱:PLAY_now(uchar add_sect)功能:按指定地址段開始播放 指令:調(diào)用:無返回:無/*/void PLAY_now(uchar add_sect) ISD_PowerUp(); /ISD 上電 Delayms(30); switch (add_sect) /發(fā)送 setplay 指令,從 0x0000 地址開始放 case 1: ISD_SetPlay(ISD_ADDS1
22、);break; /發(fā)送地址的 SetRec 指令 case 2: ISD_SetPlay(ISD_ADDS2);break; /發(fā)送地址的 SetRec 指令 case 3: ISD_SetPlay(ISD_ADDS3);break; /發(fā)送地址的 SetRec 指令 case 4: ISD_SetPlay(ISD_ADDS4);break; /發(fā)送地址的 SetRec 指令 case 5: ISD_SetPlay(ISD_ADDS5);break; /發(fā)送地址的 SetRec 指令 Delayms(1); ISD_Play(); /發(fā)送放音指令 /*名稱:ISD_SPI_Send8(uch
23、ar isdx)功能:spi 串行發(fā)送子程序,8 位數(shù)據(jù) 指令:調(diào)用:無返回:無/*/void ISD_SPI_Send8( uchar isdx8 ) uchar i; ISD_SS = 0; /選中ISD4004Delay(2); ISD_SCLK = 0;Delay(2); for(i=0;i<8;i+) /先發(fā)低位再發(fā)高位,依次發(fā)送。 if (isdx8 & 0x01) = 1) /發(fā)送最低位 ISD_MOSI = 1; else ISD_MOSI = 0; isdx8 >>= 1; /右移一位 ISD_SCLK = 1;Delay(2); /時(shí)鐘下降沿發(fā)送
24、ISD_SCLK = 0;Delay(2); /*名稱:ISD_SPI_Send16(uint isdx16)功能:spi 串行發(fā)送子程序,16位數(shù)據(jù) 指令:調(diào)用:無返回:無/*/void ISD_SPI_Send16( uint isdx16 ) uchar i; ISD_SS = 0; /選中ISD4004Delay(2); ISD_SCLK = 0;Delay(2); for(i=0;i<16;i+) /先發(fā)低位再發(fā)高位,依次發(fā)送。 if (isdx16&0x0001)=1) /發(fā)送最低位 ISD_MOSI = 1; else ISD_MOSI = 0; isdx16 =
25、isdx16 >> 1; /右移一位; ISD_SCLK=1;Delay(2); /時(shí)鐘下降沿發(fā)送 ISD_SCLK=0;Delay(2); /*名稱:ISD_Stop(void)功能:發(fā)送 stop 指令 指令:ISD_SPI_Send8(uchar isdx8);調(diào)用:無返回:無/*/void ISD_Stop(void)Delay(10);ISD_SPI_Send8(0x30);ISD_SS = 1;Delayms(50); /關(guān)閉片選/*名稱:ISD_PowerUp(void)功能:發(fā)送上電指令,并延遲 50ms 指令:ISD_SPI_Send8(uchar isdx8);
26、調(diào)用:無返回:無/*/void ISD_PowerUp(void) Delay(10); ISD_SS = 0; ISD_SPI_Send8(0x20); ISD_SS = 1;Delayms(50);/*名稱:ISD_PowerDown(void)功能:發(fā)送掉電指令,并延遲 50ms 指令:ISD_SPI_Send8(uchar isdx8);調(diào)用:無返回:無/*/void ISD_PowerDown(void)Delay(10); ISD_SPI_Send8(0x10); ISD_SS = 1;Delayms(50);/*名稱:ISD_Play(void)功能:發(fā)送play指令,并延遲 5
27、0ms 指令:ISD_SPI_Send8(uchar isdx8);調(diào)用:無返回:無/*/void ISD_Play(void) ISD_SPI_Send8(0xf0); ISD_SS = 1;/*名稱:ISD_SetPlay(uint add)功能:發(fā)送setplay指令,并延遲 50ms 指令:ISD_SPI_Send8(uchar isdx8); ISD_SPI_Send16(uint isdx16);調(diào)用:無返回:無/*/void ISD_SetPlay(uint add) Delayms(1); ISD_SPI_Send16(add); /發(fā)送放音起始地址 Delay(2); ISD
28、_SPI_Send8(0xe0); /發(fā)送 setplay 指令字節(jié) Delay(2); ISD_SS = 1;/*/檢查芯片是否溢出(讀 OVF,并返回 OVF 值)/*void pofang(unsigned char ci) PLAY_now(ci);while(ISD_INT=1); /等待一段放音完畢的 EOM 中斷信號ISD_Stop(); /放音完畢,發(fā)送 stop 指令I(lǐng)SD_PowerDown();/= #include "wenjian.h"uchar code z_a = "株洲-T3路車"uchar code z_b = &quo
29、t;車速 M/S"uchar code z_c = " 站還有 秒"uchar code t_f="0123456789.ABCD"uchar led10;uint jishi,jishi_1;uchar sudu=0;uchar pan=2;uchar shijian=0;uint A_B=342,B_C=500;C_D=1100;/這是站與站的距離void che_su (uchar che,uint shi)/取值。che 為車速。 shi 為到下一站的時(shí)間led0 = t_fche/100%10;led1 = t_f10;led2 =
30、t_fche/10%10;led3 = t_fche%10;led4 = t_fshi/100%10;led5 = t_fshi/10%10;led6 = t_fshi%10;void init ()/初始化EA=1;TR0=1;ET0=1;TR1=1;ET1=1;TH0=0x3c;TL0=0xb0;TH1=0x00;TL1=0x00;TMOD=0x51;void jiemian ()/ 顯示文字初始界面lcdxianshi(z_a,14,0,0x81);lcdxianshi(z_b,14,0,0x88);lcdxianshi(z_c,16,0,0x98);che_su (sudu,shiji
31、an);lcdxianshi(led,4,0,0x8a);lcdxianshi(t_f,12,11,0x99);lcdxianshi(led,7,4,0x9d);void main ()chushihua();/lcd初始化init ();/單片機(jī)初始化jiemian();/顯示界面while (1)kongzhi();/檢測i黑線做出判斷void zhongduan () interrupt 1TH0=0x3c;TL0=0xb0;jishi+;if(pan=1)jishi_1+;if(jishi_1=100)jishi_1=0;pan=0;if(jishi=20)/一秒刷新數(shù)據(jù),列如,速度,
32、距離jishi=0;sudu=(TH1*256+TL1)*2;/紅外對管中斷次數(shù)sudu=sudu+7;TH1=0x00;TL1=0x00;if(panduan=1) /判斷進(jìn)入了什么站,根據(jù)相應(yīng)的參數(shù)進(jìn)行處理 A_B=A_B-sudu;if(A_B<=10)A_B=0;if(sudu!=0)shijian=A_B/sudu;elseshijian=16;if(shijian=5)pofang(1); / 播放到站信號if(panduan=2)B_C=B_C-sudu;if(B_C<=10)B_C=0;if(sudu!=0)shijian=B_C/sudu;elseshijian=
33、20;if(panduan>=3)C_D=C_D-sudu;if(C_D<=10)C_D=0;if(sudu!=0)shijian=C_D/sudu;elseshijian=36;if(shijian=6)pofang(3);/播放到站信號che_su (sudu,shijian);lcdxianshi(led,7,4,0x9d);lcdxianshi(led,4,0,0x8a);/動態(tài)顯示刷新數(shù)據(jù)void zhongduan1() interrupt 3/紅外對管中斷次數(shù) 通過中斷次數(shù)來測出車速TH1=0x00;TL1=0x00;#include "wenjian.h&
34、quot;#define qianjin 0x66; /前進(jìn)#define zuozhuan 0x55;/左轉(zhuǎn)#define youzhuan 0xaa;/右轉(zhuǎn)#define tingzhi 0x00;/停車sbit P_1=P37;/判斷引腳sbit P_2=P36;sbit P_3=P35;sbit P_4=P34;sbit P_5=P33;uchar panduan=0;void kongzhi () /控制車子方向的判斷if(P_1=0)&&(P_2=0)&&(P_4=0)&&(P_5=0)P1=qianjin;if(P_1=1)|(P_
35、2=1)&&(P_4=0)&&(P_5=0)P1=youzhuan;if(P_1=0)&&(P_2=0)&&(P_4=1)|(P_5=1)P1=zuozhuan;if(P_1=1)&&(P_2=1)&&(P_4=1)&&(P_5=1)pan=1;while(1)EA=1;P1=tingzhi;if(pan=0)break;if(panduan>=3&&panduan<5)/停車時(shí) 等待停留5秒break;if(panduan=0)/B站lcdxianshi(t_f,13,12,0x99);if(panduan=1)/C站lcdxianshi(t_f,14,13,0x
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024房產(chǎn)交易居間服務(wù)合同
- 跨界研究之路
- 金融危機(jī)應(yīng)對之道
- 外部培訓(xùn)服務(wù)協(xié)議書(2篇)
- 基礎(chǔ)工程承包協(xié)議書
- 大型購物中心監(jiān)理合同(2篇)
- 人力資源管理咨詢服務(wù)協(xié)議
- 2024煤礦勞動合同與勞動技能培訓(xùn)及考核協(xié)議3篇
- 漁船租賃及配套船員雇傭合同
- 地鐵線路建設(shè)運(yùn)營合作協(xié)議
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 單位工程質(zhì)量控制程序流程圖
- 部編版小學(xué)語文三年級(下冊)學(xué)期課程綱要
- 化學(xué)工業(yè)有毒有害作業(yè)工種范圍表
- 洼田飲水試驗(yàn)
- 定置定位管理一
- 商票保貼協(xié)議
- TOP-DOWN培訓(xùn)
- GB∕T 12703.2-2021 紡織品 靜電性能試驗(yàn)方法 第2部分:手動摩擦法
- 電動力學(xué)答案完整
- 弱電工程保修書(共4頁)
評論
0/150
提交評論