畢業(yè)設(shè)計(jì)—基于自動(dòng)尋跡的智能公交車系統(tǒng)_第1頁
畢業(yè)設(shè)計(jì)—基于自動(dòng)尋跡的智能公交車系統(tǒng)_第2頁
畢業(yè)設(shè)計(jì)—基于自動(dòng)尋跡的智能公交車系統(tǒng)_第3頁
畢業(yè)設(shè)計(jì)—基于自動(dòng)尋跡的智能公交車系統(tǒng)_第4頁
畢業(yè)設(shè)計(jì)—基于自動(dòng)尋跡的智能公交車系統(tǒng)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、基于自動(dòng)尋跡的智能公交車系統(tǒng)摘要:智能公交車系統(tǒng),包括一臺能沿著黑色引導(dǎo)線自主行駛的公交車和兩個(gè)電子公交站。電子公交站具有數(shù)據(jù)輸入和顯示功能,能在電子公交站上輸入站臺號以及本站與起始站間的距離。公交車行駛到離站點(diǎn) 100cm±10cm 處時(shí)(以公交站臺標(biāo)識線為基準(zhǔn)),應(yīng)提前發(fā)出下車提示聲 5s 或語音提示并報(bào)站名。能通過無線傳輸,公交站臺上能實(shí)時(shí)顯示駛向本站公交車的當(dāng)前車速、到站時(shí)間及兩者的距離。關(guān)鍵字: 智能系統(tǒng);自動(dòng)尋跡。Abstract:Intelligent bus system, including a can drive along the black guide lin

2、e independent bus and two electronic bus station. Electronic bus station has data input and display function, can in electronic bus website input platform number and site and the distance between QiShiZhan. The bus runs until 10cm from site to place (plus or minus 100cm at present with bus station l

3、ogo line basis) shall be issued in advance and get off hint sound 5s or voice prompt and stops name. Can pass the wireless transmission, bus on the platform to this site can real-time display the current speed, bus station time and both distance. Keyword:Intelligent system, automatic tracing 1總體設(shè)計(jì)方案

4、該系統(tǒng)以AT89S52單片機(jī)為控制器,包含語音模塊、無線傳輸模塊、控制器模塊、軌跡探測模塊、顯示模塊、輸入模塊等部分。通過黑白線探測器來識運(yùn)動(dòng)軌跡,并通過計(jì)算碼盤的運(yùn)動(dòng)來計(jì)算運(yùn)動(dòng)的距離和計(jì)算小車的運(yùn)動(dòng)速度。在站臺設(shè)計(jì)上使用nokia5110作為現(xiàn)實(shí)屏幕,可以現(xiàn)實(shí)當(dāng)前的車速以及到站時(shí)間等。公交車與站臺通過Nrf24l01傳輸信息。控制器模塊站臺檢測模塊運(yùn)算模塊電機(jī)驅(qū)動(dòng)模塊信息傳輸模塊語音模塊軌跡探測模塊運(yùn)動(dòng)距離檢測控制模塊發(fā)送模塊鍵盤輸入模塊圖11.1控制器模塊方案一:選用凌陽公司的SPCE061A單片機(jī)。SPCE061A單片機(jī)是16位的處理器,單片機(jī)運(yùn)算能力強(qiáng),而且SPCE061A自帶語音模塊

5、,便于實(shí)現(xiàn)語音的添加,但該單片機(jī)的應(yīng)用適用于范圍較小,在資源共享上不是非常充足。方案二:采用現(xiàn)在比較通用的51系列單片機(jī)。51系列單片機(jī)的發(fā)展已經(jīng)有比較長的時(shí)間,應(yīng)用比較廣泛,各種技術(shù)都比較成熟,綜合考慮51單片機(jī)的特性及價(jià)格,故本系統(tǒng)采用方案二,選用EXP-89S52平臺作為整個(gè)作品的核心控制。電路如圖1圖2圖21.2語音模塊方案一:使用bmp5008語音芯片,但bmp5008的穩(wěn)定性較差,不能夠準(zhǔn)確的完成語音報(bào)警的任務(wù)。方案二:使用Isd1720語音芯片。能夠提高優(yōu)質(zhì)的放音,并且有獨(dú)立按鍵和單片機(jī)控制兩種控制方式,操作更加方便。故選擇方案二。如圖2:圖31.3無線傳輸模塊方案一: Nrf9

6、05模塊。使用SPI接口與微控制器通信,配置非常方便,其功耗非常低,傳輸距離遠(yuǎn)。方案二:Nrf24l01無線模塊。本設(shè)計(jì)中,信息傳輸方面要求不高,且Nrf24l01模塊在滿足傳輸要求的情況下,在性價(jià)比上夜比較符合要求,故選擇方案二。如圖3:圖41.4信息顯示模塊方案一:采用12864等液晶屏來顯示站牌的信息,時(shí)間的顯示,但是12864顯示過于死板,顯示漢字字符顯示不太清楚,顯示的信息量還有顯示模式太少而不適合做站牌信息顯示。 方案二:Nokia5110液晶顯示屏。該顯示屏能夠顯示漢字,顯示的信息量過大,在性價(jià)比上優(yōu)于12864液晶屏。故選擇方案二。如圖五:圖51.5軌跡檢測模塊使用終端查詢的方

7、法,即在發(fā)生中斷的時(shí)刻,查詢發(fā)生終端的引腳,并根據(jù)IO口的輸入來做出相應(yīng)的判斷。如圖6:圖62程序設(shè)計(jì)2.1總體設(shè)計(jì)開始輸入站臺信息尋找軌跡程序初始化是否偏離是否到站語音提示2.2軌跡查詢開始調(diào)整產(chǎn)生中斷處理器讀取IO口利用多個(gè)中斷事件應(yīng)用一個(gè)中斷源,并查詢產(chǎn)生中斷的IO口的方法,判斷運(yùn)動(dòng)軌跡的的方向及調(diào)整的角度。2.3站臺控制開始顯示無線接收信息輸入站臺信號息計(jì)算時(shí)間我們將無線接收的信號,通過車速和時(shí)間計(jì)算,得到距離的長短,在顯示屏上顯示站臺號時(shí)間距離等提示的信息,到達(dá)站牌達(dá)到報(bào)站牌的功能。2.4顯示程序我們采用了Nokia5110屏作為顯示模塊,顯示當(dāng)前的站臺號、時(shí)間以及距離。清屏顯示信息

8、清屏處理器讀取信息GRAM初始化開始3功能簡介 1.電子公交站具有數(shù)據(jù)輸入和顯示功能,能在電子公交站上輸入站臺號以及本站與起始站間的距離。 2.公交車從起始站點(diǎn) A 出發(fā),沿著黑色引導(dǎo)線,經(jīng)站點(diǎn)前下車提示、??縿?dòng)作后,自動(dòng)駛到終點(diǎn)站 C,行駛過程中不允許駛出公交車道; 3.公交車行駛到離站點(diǎn) 100cm±10cm 處時(shí)(以公交站臺標(biāo)識線為基準(zhǔn)),應(yīng)提前發(fā)出下車提示聲 5s 或語音提示并報(bào)站名; 4.公交車駛?cè)胝九_??繒r(shí),其車身中心標(biāo)識線與站臺??繕?biāo)識線間誤差應(yīng)不超過 10cm,站臺??繒r(shí)間為 5s; 5.通過無線傳輸,公交站臺上能實(shí)時(shí)顯示駛向本站公交車的當(dāng)前車速、到站時(shí)間)及兩者的距

9、離。4特色與創(chuàng)新1.利用多個(gè)中斷使用一個(gè)中斷源并查詢IO口的方法,使公交車能及時(shí)的根據(jù)其軌跡而做出相應(yīng)的判斷。2.能夠?qū)崟r(shí)的輸入站臺信息,并根據(jù)輸入的信息做出相應(yīng)的語音提示。3.在終點(diǎn)站能夠自動(dòng)返回并能夠停站。5性能指標(biāo)性能指標(biāo)可測范圍2CM-5CM分辨線寬1CM-5CM工作電壓電機(jī)12V控制系統(tǒng)5V功率5W6結(jié)論經(jīng)過了多日的努力,我們在本設(shè)計(jì)中基本實(shí)現(xiàn)了上述要求,并在有些功能方面提出了改進(jìn),使系統(tǒng)設(shè)計(jì)更加完善。在該設(shè)計(jì)中我們使用了AT89S52作為主控器,但由于時(shí)間及器材條件的限制,本設(shè)計(jì)也存在不足,例如,測量范圍不能達(dá)到更高的要求,測量精度也存在很大的提升空間。我們會(huì)在以后的學(xué)習(xí)中不斷地彌

10、補(bǔ)這些不足,完善測量系統(tǒng)設(shè)計(jì)。7參考文獻(xiàn)1 陳尚松,雷加,郭慶.電子測量與儀器M .北京:電子工業(yè)出版社,2005.2 張培仁.基于C語言編程 MCS251 單片機(jī)原理與應(yīng)用M.北京:清華出版社, 2003.3 顧正華,顧亞平,陳光.基于 VXI總線數(shù)字多用表模塊硬件設(shè)計(jì)J .中國測試技術(shù),2006,32 (4) :87289 ,143.4 陳江華.一種實(shí)用的電容、電感和電阻自動(dòng)測量儀J .計(jì)量與測試技術(shù),2002.5 黃智偉.大學(xué)生電子設(shè)計(jì)競賽訓(xùn)練教程.電子工業(yè)出版社,2005年,第2版.6 全國大學(xué)生電子設(shè)計(jì)競賽組委會(huì).第五屆全國大學(xué)生電子設(shè)計(jì)競賽獲獎(jiǎng)作品選編(2001).北京:北京理工大

11、學(xué)出版社,2003.7 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分).高等教育出版社,2006.附錄源程序#include <intrins.h>#include "api.h"#include "nrf24l01.h"#define uchar unsigned char#define uint unsigned intsbit l0=P30;sbit l1=P31;sbit r0=P34;sbit r1=P35;sbit f0=P36;sbit f1=P37;sbit f2=P06;sbit f3=P07;sbit bf=P25;sbit ch=P2

12、6;sbit kg= P27;sbit sce = P20; /片選sbit res = P21; /res=0時(shí),LCD復(fù)位 sbit dc = P22; /dc=0_指令,DC=1_數(shù)據(jù) sbit sdin = P23; /數(shù)據(jù)信號 sbit sclk = P24; /時(shí)鐘信號uchar sc,count,fc,vv,ff1,ff2,key,flag,zp;uint ss,js,jl,zh,cc,jl1;/延時(shí)程序uchar code hz=/*- 文字: 車 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x

13、高度=12x16 -*/0x02,0x22,0x32,0x2E,0x23,0xFA,0x22,0x22,0x22,0x22,0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,/*- 文字: 速 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x11,0xF6,0x00,0x02,0x3A,0xAA,0xFF,0x6A,0xAA,0x3A,0x02,0x00,0x06,0x01,0x02,0x05,0

14、x05,0x04,0x07,0x04,0x04,0x05,0x04,0x00,/*- 文字: : -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 行 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*

15、/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x48,0x24,0xF3,0x08,0x09,0x09,0x09,0x09,0xF9,0x09,0x08,0x00,0x00,0x00,0x07,0x00,0x00,0x04,0x04,0x04,0x07,0x00,0x00,0x00,/*- 文字: 程 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x8A,0x6A,0xFF,0x49,0x20,0xAF,0xA9,0xE9,0xA9,0xAF,0x20,0x00,

16、0x01,0x00,0x07,0x00,0x04,0x04,0x04,0x07,0x04,0x04,0x04,0x00,/*- 文字: : -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x00,0x00,0x00,0x00,0x8C,0x8C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 一 -*/*- Trebuchet MS9; 此字

17、體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*- 文字: 路 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0xDF,0x09,0xF9,0x4F,0x88,0x44,0xEB,0x52

18、,0x6A,0xC6,0x40,0x00,0x07,0x02,0x03,0x02,0x02,0x00,0x07,0x04,0x04,0x07,0x00,0x00,/*- 文字: 公 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x20,0x10,0x08,0x07,0xC0,0x30,0x83,0x0C,0x10,0x20,0x20,0x00,0x00,0x04,0x06,0x05,0x04,0x04,0x02,0x03,0x06,0x00,0x00,0x00,/*- 文字: 交 -*

19、/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x22,0x12,0x0A,0x76,0x82,0x03,0x82,0x76,0x0A,0x12,0x02,0x00,0x04,0x04,0x04,0x02,0x02,0x01,0x02,0x02,0x04,0x04,0x04,0x00,/*- 文字: 車 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=12x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=12x16 -*/0x02,0x22,0x32,0x2

20、E,0x23,0xFA,0x22,0x22,0x22,0x22,0x02,0x00,0x01,0x01,0x01,0x01,0x01,0x07,0x01,0x01,0x01,0x01,0x01,0x00,;uchar code str=/*- 文字: 0 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0xF8,0x04,0x04,0x04,0xF8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 1 -*/*- Trebuchet MS9; 此字體下對應(yīng)

21、的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x02,0x03,0x02,0x00,0x00,/*- 文字: 2 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x18,0x84,0x44,0x24,0x18,0x00,0x03,0x02,0x02,0x02,0x02,0x00,/*- 文字: 3 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6

22、x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x08,0x04,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 4 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x03,0x02,0x00,/*- 文字: 5 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*-

23、高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x3C,0x24,0x24,0x24,0xC4,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 6 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0xF8,0x24,0x24,0x2C,0xC0,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 7 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)

24、調(diào)整為:寬度x高度=6x16 -*/0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x03,0x00,0x00,0x00,/*- 文字: 8 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0xD8,0x24,0x24,0x24,0xD8,0x00,0x01,0x02,0x02,0x02,0x01,0x00,/*- 文字: 9 -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=

25、6x16 -*/0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x03,0x02,0x02,0x01,0x00,;uchar code dw=/*- 文字: c -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x00,0xC0,0x20,0x20,0x60,0x00,0x00,0x01,0x02,0x02,0x02,0x00,/*- 文字: m -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬

26、度x高度=6x16 -*/0xE0,0x20,0xE0,0x20,0xC0,0x00,0x03,0x00,0x03,0x00,0x03,0x00,/*- 文字: / -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x00,0x80,0x60,0x1C,0x02,0x00,0x04,0x03,0x00,0x00,0x00,0x00,/*- 文字: s -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16

27、-*/0x00,0x60,0xA0,0xA0,0x20,0x00,0x00,0x02,0x02,0x02,0x03,0x00,/*- 文字: c -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0x00,0xC0,0x20,0x20,0x60,0x00,0x00,0x01,0x02,0x02,0x02,0x00,/*- 文字: m -*/*- Trebuchet MS9; 此字體下對應(yīng)的點(diǎn)陣為:寬x高=6x12 -*/*- 高度不是8的倍數(shù),現(xiàn)調(diào)整為:寬度x高度=6x16 -*/0xE0,0x

28、20,0xE0,0x20,0xC0,0x00,0x03,0x00,0x03,0x00,0x03,0x00,;void delay_ms1() uchar z; for(z=0;z<200;z+); void delay_s() uint x,y; for(x=0;x<200;x+) for(y=0;y<5000;y+);void delay_s1() uint x,y; for(x=0;x<100;x+) for(y=0;y<5000;y+);void lf() l0=1; l1=0;void ls() l0=0; l1=0;void rf() r0=1; r1=

29、0;void rs() r0=0; r1=0;void rb() r0=0; r1=1; / 前進(jìn)執(zhí)行程序void forward() lf(); rf();void init_inte()/ EA=1; /開總中斷 EX1=1; /開外部中斷1 EX0=1; /開外部中斷0 IT1=0; /外部中斷邊沿觸發(fā),下降沿觸發(fā) IT0=1; /外部中斷0邊沿觸發(fā),下降沿觸發(fā) IP=0x01;void init_time() TMOD=0x01;TH0=(65535-1)/256; TL0=(65535-1)%256;ET0=1;TR0=1; EA=1;void write_com(uchar com

30、)unsigned char i;sce=0;dc=0;for(i=0;i<8;i+)if(com&0x80)sdin=1;elsesdin=0;com=com<<1;sclk=0;sclk=1; sce=1;void write_dat(uchar dat)unsigned char i;sce=0;dc=1;for(i=0;i<8;i+)if(dat&0x80)sdin=1;elsesdin=0;dat=dat<<1;sclk=0;sclk=1; sce=1;void set_xy(uchar x,uchar y) write_com(0

31、x40|y); write_com(0x80|x);void init_5110()res=0;res=1;write_com(0x21); / 使用擴(kuò)展命令設(shè)置LCD模式write_com(0xc8); / 設(shè)置LCD偏置電壓write_com(0x06); / 溫度校正write_com(0x12); / 1:48write_com(0x20); / 使用基本命令,V=0,水平尋址write_com(0x0c); / LCD正常顯示模式void clear() uchar m,n; set_xy(0,0); for(m=0;m<6;m+) for(n=0;n<84;n+)wri

32、te_dat(0x00); /void write_hz(uchar x,uchar y,uchar num)uchar i;set_xy(x,y);for(i=0; i<12;i+)write_dat(hznum*24+i);set_xy(x,y+1);for(i=12; i<24;i+)write_dat(hznum*24+i);void write_hzs(uchar x,uchar y,uchar num,uchar n) uchar i; for(i=0;i<n;i+) write_hz(x+i*12,y,num+i);void write_num(uchar x,

33、uchar y,uchar num)uchar i;set_xy(x,y);for(i=0; i<6;i+)write_dat(strnum*12+i);set_xy(x,y+1);for(i=6; i<12;i+)write_dat(strnum*12+i);void write_nums(uchar x,uchar y,uint num) /* if(num<10) write_num(x+12,y,num%10); else if(num<100) write_num(x+6,y,num/10%10); write_num(x+12,y,num%10); else

34、 if(num<1000) write_num(x,y,num/100); write_num(x+6,y,num/10%10); write_num(x+12,y,num%10); else*/ write_num(x,y,num/1000); write_num(x+6,y,num/100%10); write_num(x+12,y,num/10%10); write_num(x+18,y,num%10); void write_dw(uchar x,uchar y,uchar num) uchar i; set_xy(x,y);for(i=0; i<6;i+)write_da

35、t(dwnum*12+i);set_xy(x,y+1);for(i=6; i<12;i+)write_dat(dwnum*12+i);void delay() uchar x,y; for (x=0;x<50;x+) for (y=0;y<200;y+);void keyscan(void) uchar temp;temp = 0;P1=0xF0; /高四位輸入 行為高電平 列為低電平delay();temp=P1; /讀P1口temp=temp&0xF0; /屏蔽低四位temp=(temp>>4)|0xF0);if(temp=1) / p1.4 被拉低k

36、ey=0;else if(temp=2) / p1.5 被拉低key=4;else if(temp=4) / p1.6 被拉低key=8;else if(temp=8) / p1.7 被拉低key=12; P1=0x0F; /低四位輸入 列為高電平 行為低電平 delay();temp=P1; /讀P1口 temp=temp&0x0F; temp=(temp|0xF0); if(temp=1) / p1.1 被拉低 key=key+0; else if(temp=2) / p1.2 被拉低 key=key+1; else if(temp=4)/ p1.3 被拉低 key=key+2;

37、else key=key+3; P1=0x0F;while(P1!=0x0f); /*/* */*判斷鍵是否按下 */* */*/uchar keydown(void) P1=0xF0;if(P1!=0xF0) /判斷按鍵是否按下 如果按鈕按下 會(huì)拉低P1其中的一個(gè)端口keyscan(); return 1;else return 0;void st()write_hzs(6,0,6,5);write_hzs(0,2,0,3); write_dw(60,2,0);write_dw(66,2,1);write_dw(72,2,2);write_dw(78,2,3);write_hzs(0,4,3

38、,3);write_dw(60,4,4);write_dw(66,4,5);void n1() ls(); rs(); delay_s(); forward();void set_jl()switch( key )/*case 7:write_num(30+6*(zp),4,0);zp+;jl=jl*10+0;break;case 0:write_num(30+6*(zp),4,1);zp+;jl=jl*10+1;break;case 4:write_num(30+6*(zp),4,2);zp+;jl=jl*10+2;break;case 8:write_num(30+6*(zp),4,3);

39、zp+;jl=jl*10+2;break;case 1:write_num(30+6*(zp),4,4);zp+;jl=jl*10+3;break;case 5:write_num(30+6*(zp),4,5);zp+;jl=jl*10+5;break;case 9:write_num(30+6*(zp),4,6);zp+;jl=jl*10+6;break;case 2:write_num(30+6*(zp),4,7);zp+;jl=jl*10+7;break;case 6:write_num(30+6*(zp),4,8);zp+;jl=jl*10+8;break;case 10:write_

40、num(30+6*(zp),4,9);zp+;jl=jl*10+9;break; */case 7:jl=jl*10+0;zp+;break;case 0:jl=jl*10+1;zp+;break;case 4:jl=jl*10+2;zp+;break;case 8:jl=jl*10+3;zp+;break;case 1:jl=jl*10+4;zp+;break;case 5:jl=jl*10+5;zp+;break;case 9:jl=jl*10+6;zp+;break;case 2:jl=jl*10+7;zp+;break;case 6:jl=jl*10+8;zp+;break;case

41、10:jl=jl*10+9;zp+;break;if(zp=4)ff2=0;zp=0;if(jl>9999)jl=0;if(ff1=1)zh=jl;write_nums(30,4,zh);if(ff2=1)jl1=jl;write_nums(30,4,jl1);write_dw(55,4,4);write_dw(61,4,5);/*void set_zh()uchar zp0;switch( key )*/*case 7:write_num(40+6*(zp0),0,0);zh=zh*10+0;zp0+;break;case 0:write_num(40+6*(zp0),0,1);zh=

42、zh*10+1;zp0+;break;case 4:write_num(40+6*(zp0),0,2);zh=zh*10+2;zp0+;break;case 8:write_num(40+6*(zp0),0,3);zh=zh*10+3;zp0+;break;case 1:write_num(40+6*(zp0),0,4);zh=zh*10+4;zp0+;break;case 5:write_num(40+6*(zp0),0,5);zh=zh*10+5;zp0+;break;case 9:write_num(40+6*(zp0),0,6);zh=zh*10+6;zp0+;break;case 2

43、:write_num(40+6*(zp0),0,7);zh=zh*10+7;zp0+;break;case 6:write_num(40+6*(zp0),0,8);zh=zh*10+8;zp0+;break;case 10:write_num(40+6*(zp0),0,9);zh=zh*10+9;zp0+;break; */*case 7:zh=zh*10+0;zp0+;break;case 0:zh=zh*10+1;zp0+;break;case 4:zh=zh*10+2;zp0+;break;case 8:zh=zh*10+3;zp0+;break;case 1:zh=zh*10+4;zp

44、0+;break;case 5:zh=zh*10+5;zp0+;break;case 9:zh=zh*10+6;zp0+;break;case 2:zh=zh*10+7;zp0+;break;case 6:zh=zh*10+8;zp0+;break;case 10:zh=zh*10+9;zp0+;break;if(zp0=4)ff1=0;zp0=0;if(zh>9999)zh=0;write_nums(30,4,zh);write_dw(55,4,4);write_dw(61,4,5);*/void main()js=1;bf=0;delay_ms(100);bf=1;l1:ls();rs();init_inte();init_time();NRF24L01_Config();delay_ms(100);NRF24L01_TxPacket(tx_buf);delay_ms(100);init_5110();clear();st();while(1)if(kg=0)EA=1;forward();tab0=ss/256;tab1=ss%256;tab2=vv;CE=1;NRF24L01_TxPacket(tab);delay_ms(100);check_ACK();/發(fā)送應(yīng)答信號檢測,LED閃爍標(biāo)志發(fā)送成功ch=1;SPI_RW_Reg(WRITE_REG+STA

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論