畢業(yè)設(shè)計基于單片機(jī)的公交車輛自動報站系統(tǒng)設(shè)計_第1頁
畢業(yè)設(shè)計基于單片機(jī)的公交車輛自動報站系統(tǒng)設(shè)計_第2頁
畢業(yè)設(shè)計基于單片機(jī)的公交車輛自動報站系統(tǒng)設(shè)計_第3頁
畢業(yè)設(shè)計基于單片機(jī)的公交車輛自動報站系統(tǒng)設(shè)計_第4頁
畢業(yè)設(shè)計基于單片機(jī)的公交車輛自動報站系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要隨著多媒體技術(shù)和網(wǎng)絡(luò)通信技術(shù)的發(fā)展,許多舊的生產(chǎn)生活方式逐漸被新科技所取代,在公交車報站方面,也由傳統(tǒng)的人工報站逐漸改變?yōu)橛晌㈦娔X控制的語音文字報站系統(tǒng)。本文介紹了一種新型的公交車報站系統(tǒng)的設(shè)計原理,本設(shè)計解決如何方便準(zhǔn)確地指示乘客到站的問題,另外,該系統(tǒng)還可以為乘客提供各種各樣的提示或警示服務(wù),使得乘客能愉快安全的上下車。這在相當(dāng)程度上免除了乘務(wù)人員沿途報站的麻煩,給許多不熟悉公交線路的乘客帶來了方便。語音報站器的廣泛使用給多數(shù)人的生活帶來了極大的便利,但也有不周到的地方,比如說它沒有考慮到少數(shù)聽力不好的老年人或者殘疾人,他們不能正確分辨正在報的是哪一站,所以也會坐過站。本文針對這一問

2、題,在原有的語音報站基礎(chǔ)上附加了可以用肉眼看到的數(shù)字顯示器和紅外二極管發(fā)光燈,數(shù)字顯示器可以直觀的顯示出已經(jīng)經(jīng)過的車站數(shù),乘客可以根據(jù)顯示器上的數(shù)字來確定目的地是否到達(dá),并且在即將到達(dá)下一站的時候放置在車上的二極管會連續(xù)閃動來提醒準(zhǔn)備下車的乘客收拾行李物品準(zhǔn)備下車。關(guān)鍵詞: 單片機(jī) 自動報站 led 數(shù)碼管abstractnowadays,with development of multimedia and communication technology, many old production and life style have being take place by new tech

3、nology, in the field of bus-stop-reporting, the methd is changing from artificial report to voice report, which controlled by microcomputer. this article nitroduces a new method to design the bus-stop-reporting systwm. this design will overcome the problem that indicate stop quickly and exactly. bes

4、ides, it can also provide services to passenger.it greatly avoids driver to call attention to passenges and takes convenient topassenges. bus-stop-reporting systwm large uses takes large convenient for most people, but it also have many shortcoming, for exzample,it die not consider a few people whoe

5、s ear are not good or deformity. they are not distinguish where they have arrived, so they also would take to the next place. this system are based on voice chip and digital monitor and a diode, digital monitor can show peole numerals that it have passed. passenges can through numerals know if he or

6、 she has got arrive. besides, if bus will arrive immediately, a diode will call attention to passenges to pack luggages and intend to get out. keywords: single chip computer bus-stop announcer led digital information display目錄第一章 緒論11.1 公交車輛自動報站系統(tǒng)概述11.2 公交車輛自動報站系統(tǒng)的研究成果1第二章 工作原理32.1 設(shè)計的主要目標(biāo)任務(wù)32.2 方案的

7、選擇與論證32.2.1 方案比較32.2.2 方案選擇5第三章 硬件部分73.1 主控電路設(shè)計73.1.1 at89c51單片機(jī)簡介83.1.2 振蕩電路設(shè)計113.1.3 復(fù)位電路設(shè)計143.1.4 電壓變換電路設(shè)計173.2 脈沖檢測電路設(shè)計183.2.1 基于霍爾器件的脈沖檢測電路設(shè)計193.3 led顯示電路設(shè)計203.3.1 紅外led發(fā)光二極管特性203.3.2 led數(shù)碼管特性213.4 總體電路圖23第四章 軟件部分254.1 主控程序設(shè)計254.1.1 流程圖設(shè)計254.2 系統(tǒng)程序設(shè)計264.2.1 程序清單26第五章 總結(jié)315.1 系統(tǒng)功能完善315.1.1 語音控制模

8、塊設(shè)計315.1.2 語音報站器硬件電路設(shè)計315.1.3 軟件設(shè)計335.2 心得體會36致 謝37參考文獻(xiàn)39第一章 緒論1.1 公交車輛自動報站系統(tǒng)概述公共汽車為外出的人們提供了方便快捷的服務(wù),而公共汽車的報站直接影響服務(wù)的質(zhì)量。傳統(tǒng)由乘務(wù)人員人工報站,該方式因其效果太差和工作強(qiáng)度太大,在很多大城市已經(jīng)被淘汰。近年來,隨著科學(xué)技術(shù)的日益發(fā)展和進(jìn)步,微型計算機(jī)技術(shù)已經(jīng)在許多領(lǐng)域得到了廣泛的應(yīng)用。在聲學(xué)領(lǐng)域,微機(jī)技術(shù)與各種語音芯片相結(jié)合,即可完成語音的合成技術(shù),使得汽車報站器的實(shí)現(xiàn)成為可能,從而為市民提供了更加人性化的服務(wù)。鑒于傳統(tǒng)公交車報站系統(tǒng)的不足之處,本文結(jié)合公交車輛的使用特點(diǎn)及實(shí)際營

9、運(yùn)環(huán)境,設(shè)計了一種由單片機(jī)控制的公交車自動報站系統(tǒng) 。公交車自動報站器的設(shè)計主要是為了彌補(bǔ)改變傳統(tǒng)語音報站器必須有司機(jī)操控才能工作的落后方式,進(jìn)站、出站自動播報站名及服務(wù)用語,為市民提供更人性化,更完善的服務(wù) 。1.2 公交車輛自動報站系統(tǒng)的研究成果公共汽車行駛在現(xiàn)代文明程度高的市區(qū),它是一道流動的風(fēng)景線,因而對整車外形乃至色彩都有更高的要求。作為公共汽車還要求有醒目和減少乘務(wù)人員勞動強(qiáng)度的電子報站器,電子顯示路牌,無人售票裝置,前后電視監(jiān)視系統(tǒng)等新技術(shù)的采用也將越來越普及。公交車報站器在公交事業(yè)中占有舉足輕重的地位,它直接影響到公交車的服務(wù)質(zhì)量。目前公交車報站有三種方式,一種是利用gps全球

10、衛(wèi)星定位系統(tǒng)的公交車報站系統(tǒng),在司機(jī)座位后面隔板上,安裝了一臺15英寸的液晶電視和 gps信號接收器,安裝了這套設(shè)備后,公交車在語音報站的同時,通過液晶電視還可以顯示到站站名的字幕,這樣如果沒聽清報站的話,通過顯示屏,乘客也可以一目了然。當(dāng)出現(xiàn)緊急情況時,調(diào)度中心將會給公交車發(fā)出相應(yīng)的信息,以短信的形式傳送到顯示屏上,同時車載臺會發(fā)出相應(yīng)的提示音;駕駛員也可以通過相應(yīng)的工具進(jìn)行回復(fù) 。目前在美國部分城市g(shù)ps衛(wèi)星定位系統(tǒng)已經(jīng)投入使用,國內(nèi)也有此類產(chǎn)品的研制開發(fā),其功能強(qiáng)大,系統(tǒng)穩(wěn)定,但其投資昂貴,尤其是一些中小城市無法承受。另外兩種是手動電子報站和人工報站的方式,而它們都離不開司務(wù)人員,加大司

11、乘人員的工作強(qiáng)度。手動電子報站一般有司機(jī)或者乘務(wù)員控制,經(jīng)常出現(xiàn)錯報,誤報的情況 。城市公共交通是市民出行的主要交通工具之一。提供舒適,安全、便捷的乘車環(huán)境,對于公交企業(yè)來說,不僅是應(yīng)盡的責(zé)任,亦是不斷追求的目標(biāo) 。 第二章 工作原理2.1 設(shè)計的主要目標(biāo)任務(wù)本課題要求設(shè)計一公交車自動報站系統(tǒng),以實(shí)現(xiàn)公交車的自動報站,即在進(jìn)站、出站時候自動播報提示信息及服務(wù)用語,同時利用數(shù)字顯示頻顯示。本設(shè)計要求利用at89c51作為主控芯片完成主控電路的設(shè)計,輔助電路要求包括數(shù)字顯示電路、led顯示電路、電源電路等。2.2 方案的選擇與論證在進(jìn)行方案選擇之前,對幾個方案進(jìn)行簡單的比較,下面是幾個方案的比較。

12、2.2.1 方案比較方案一:基于gps/gprs的公交車自動報站系統(tǒng)設(shè)計該系統(tǒng)由公交車內(nèi)各終端(信息屏、腰牌等)、自動報站器、gprsgsm通信網(wǎng)絡(luò)、公交監(jiān)控調(diào)度中心組成。自動報站器主要由主控芯片、gpsgprs通信模塊、lcd、sd卡、mp3解碼芯片組成。整個系統(tǒng)的總體結(jié)構(gòu)如圖2.21所示。gps接收器自動報站器公交車信息屏公交車腰牌公交車調(diào)度中心gprs模塊gprs/gsm網(wǎng)絡(luò)圖2.1 系統(tǒng)結(jié)構(gòu)圖基于gps 的公交車自動報站系統(tǒng)能完全實(shí)現(xiàn)預(yù)定的功能,能大大降低司乘人員的勞動強(qiáng)度,加大公共交通運(yùn)營管理力度,增強(qiáng)公交車管理的科學(xué)性。對維護(hù)運(yùn)營秩序、提高運(yùn)營效率、保證運(yùn)營安全和促進(jìn)智能公交的發(fā)展

13、都具有積極意義。目前的系統(tǒng)還存在一些不足,在有些城市,因為樹木、高樓的遮擋,存在有些路段接收不到gps 信號的問題,這就需要利用陀螺儀等其它輔助定位系統(tǒng)和gps 定位相結(jié)合進(jìn)行定位。系統(tǒng)下一步發(fā)展趨勢,是gps 自動報站系統(tǒng)和gprs 技術(shù)和gis(geographic information system,地理信息系統(tǒng)) 相結(jié)合,即把gps 定位、gprs 無線通信網(wǎng)和城市地理信息系統(tǒng)結(jié)合起來,對城市的車輛進(jìn)行實(shí)時的控制與管理,形成城市的智能交通網(wǎng)絡(luò),進(jìn)一步促進(jìn)城市交通的發(fā)展。方案二:基于電磁波理論的公交車自動報站系統(tǒng)可利用公交車上現(xiàn)有的移動電視來接收電磁波,從而顯示信息,并在車底部安裝線圈

14、并通以微量電流;在距站點(diǎn)數(shù)百米處的車道下埋設(shè)數(shù)匝線圈,其兩端連向站牌;并在站牌上安裝相關(guān)裝置。 公交車以一定速度在路上行駛,在到站前會經(jīng)過路下線圈,路下線圈切割車上通電線圈所產(chǎn)生的磁場而產(chǎn)生感應(yīng)電流。電流流經(jīng)站牌,觸動內(nèi)部裝置,使站牌發(fā)送出電磁波。在車上的乘客就能從熒屏上獲取相關(guān)報站信息。 該系統(tǒng)的優(yōu)點(diǎn)是能準(zhǔn)確報站,不但給乘客帶來方便,而且能讓司機(jī)更加專心于駕駛,加強(qiáng)了道路安全性。但是鋪設(shè)價格昂貴,其可靠性也沒有實(shí)際驗證,現(xiàn)在只有部分專家支持,并沒有實(shí)際使用。系統(tǒng)結(jié)構(gòu)圖如圖2.2所示。主控器接受模塊顯示模塊sd卡語音播放模塊功率放大模塊通信模塊鍵盤輸入電源模塊圖2.2 系統(tǒng)結(jié)構(gòu)圖方案三:基于單

15、片機(jī)的公交車自動報站系統(tǒng),而這種系統(tǒng)又大致由兩種技術(shù)支持。其中一種的技術(shù)關(guān)鍵是對車輪轉(zhuǎn)軸的轉(zhuǎn)角的脈沖進(jìn)行計數(shù),將計數(shù)值與預(yù)置值對比,即可確定報站時刻,達(dá)到準(zhǔn)確自動的目的。以at89c51為cpu(central processing unit,中央處理器)在中斷處理程序中對外來脈沖計數(shù),利用isd4004輸出語音。系統(tǒng)完成后就可以上機(jī)調(diào)試,使用時可用配套的燒寫器將站與站之間的距離寫入單片機(jī)內(nèi),如果不知道距離可以在機(jī)上采用手動方式輸入,使裝置處于輸入狀態(tài),出站時按下錄入鍵,到站時按下確定鍵,就可以將站與站之間對應(yīng)的數(shù)據(jù)寫入單片機(jī)。使用中如果出現(xiàn)錯報,采用手動調(diào)整即可。該方式應(yīng)用89c51單片機(jī)的

16、高速計數(shù)器端口進(jìn)行脈沖計數(shù),以距離來控制報站時刻,首次實(shí)現(xiàn)了模糊控制,改變現(xiàn)有設(shè)備的不足。做到簡單實(shí)用自動化程度高。傳感器在公交車上的應(yīng)用極大的提高了設(shè)備功能。 但是在改變線路或者增加站臺等情況時,修改程序比較復(fù)雜,尤其是遇到突發(fā)狀況時司機(jī)的任何解決突發(fā)狀況的方法都將使該系統(tǒng)不能正常運(yùn)作,目前該系統(tǒng)在實(shí)際中使用較少。 另外一種基于單片機(jī)的公交車自動報站系統(tǒng)就是利用無線數(shù)傳模塊來實(shí)現(xiàn)的。每個站牌上設(shè)一個發(fā)送裝置(主要是tx100芯片),每輛公交車上設(shè)一個接收裝置(主要是rx100芯片),發(fā)送裝置不斷發(fā)送信號,接收裝置即公交車在離站10到20米的時候接收到信號,然后就自動語音報站,同時設(shè)有l(wèi)ed數(shù)

17、碼管顯示和手動報站裝置。 這種報站系統(tǒng)軟件編寫簡單,修改容易,而且芯片價格低廉,大批生產(chǎn)比gps系統(tǒng)達(dá)到更高的性價比,是公交車自動報站系統(tǒng)的較佳選擇。 另外,現(xiàn)實(shí)生活中,如果調(diào)度室能夠掌握每輛公交車的到站情況,可以提高公交系統(tǒng)的工作效率。 但公交線路多處于繁華地帶。如果采用有線方式來傳輸數(shù)據(jù),不但鋪設(shè)線路的施工復(fù)雜、成本高,而且,如果日后公交線路需要變更(如車站位置更改) ,改變鏈路會十分麻煩。2.2.2 方案選擇選擇方案三,對車輪軸的轉(zhuǎn)角的脈沖進(jìn)行計數(shù),將計數(shù)值與預(yù)置值對比,即可確定報站時刻,達(dá)到準(zhǔn)確自動的目的。以at89c51為主控芯片,對外來脈沖計數(shù),結(jié)合數(shù)字顯示器輸出數(shù)字。系統(tǒng)由脈沖檢

18、測、脈沖計數(shù)、cpu控制、控制信號、輸出顯示等組成。公交車較一般車輛有個明顯的特點(diǎn),就是它行駛的路線固定,從起點(diǎn)到終點(diǎn)中途經(jīng)過的站、路口也是固定的。因此,從起點(diǎn)到任一站、任一路口的距離是相對不變的,任意兩站之間、路口之間以及站與路口之間的距離也是不變的。我們利用這一特點(diǎn),首先把從始發(fā)站出發(fā)的公交車到達(dá)每一站、每一路口行駛的里程數(shù)(確切地說是一個范圍,即經(jīng)過反復(fù)試驗,得到的到達(dá)某站或路口的數(shù)據(jù)范圍)記錄在系統(tǒng)中,公交車在實(shí)際運(yùn)行中,如果行駛的里程達(dá)到某某范圍(范圍的最低值),則自動報站(包括提示是路口等等),此即實(shí)現(xiàn)了自動報站功能。對于自動考核中的超速、低速的判斷,只需在系統(tǒng)中設(shè)置一計數(shù)器(計算

19、車輪轉(zhuǎn)過的圈數(shù)),用單位時間內(nèi)車輪轉(zhuǎn)過的圈數(shù)來判斷車速超、低速情況,同時將超、低速時的時間和行駛的里程數(shù)記錄在系統(tǒng)中。這樣,在車輛回到總站后,只要讀取系統(tǒng)內(nèi)部的數(shù)據(jù),就可以知道車輛在運(yùn)行途中的停靠站及超、低速行駛情況。對于車輛停車時間的記錄,實(shí)現(xiàn)的方法是在車輛停止轉(zhuǎn)動時就開始計時,在車輪開始轉(zhuǎn)動時停止計時,并將計時時間保存在系統(tǒng)中。由于車輛停車時間的長短和停車時的時間都被記錄下來,就可以杜絕一些公交車在站點(diǎn)延時拉客以及未到達(dá)站點(diǎn)就中途停車?yán)偷默F(xiàn)象。這里要說明的是:所謂里程數(shù)車輪轉(zhuǎn)數(shù)*車輪周長。第三章 硬件部分3.1 主控電路設(shè)計該系統(tǒng)硬件設(shè)計按功能模塊劃分,可分為三部分:最小系統(tǒng)、顯示部分電

20、路、計數(shù)部分電路。下面結(jié)合每一個功能模塊,來介紹一下如何用單片機(jī)來實(shí)現(xiàn)公交車輛的自動考核與報站。 (一)最小系統(tǒng)最小系統(tǒng)由89c51、ram、鎖存器、時鐘電路、復(fù)位電路五部分組成。這是該系統(tǒng)的核心,所有的指令都是由89c51發(fā)出的。ram:由于車輛在行駛過程中需要記錄大量的數(shù)據(jù),比如車輛中途停車的時間、慢速行駛的時間、超速的時間等等,而89c51內(nèi)部只有256b的數(shù)據(jù)存儲器ram,其中128b用戶可以使用,數(shù)據(jù)容量根本無法滿足系統(tǒng)的需要,故須外接ram。鎖存器:89c51雖然有p0、p1、p2、p3四個八位的i/o口,但是只有p0口能夠直接用于對外部存儲器的讀/寫操作,而p0口還要輸出外部存儲

21、器的低8位地址(高8位地址直接由89c51的p2口輸出)。為了避免數(shù)據(jù)和地址的信號沖突,這時候就需要在89c51和ram之間加上一鎖存器 ,從而使數(shù)據(jù)與地址分時輸出。時鐘電路:系統(tǒng)要穩(wěn)定的工作必須有可靠的時鐘。本系統(tǒng)采用內(nèi)部時鐘方式,外接12mhz的晶振,晶振和電容(30p)組成并聯(lián)諧振蕩回路,從而使89c51內(nèi)部的電路產(chǎn)生自振蕩。復(fù)位電路:即在89c51的reset端出現(xiàn)一保持10ms的高電平時,單片機(jī)復(fù)位。系統(tǒng)將手動復(fù)位和上電復(fù)位結(jié)合在一起。(二)顯示部分電路 顯示部分主要是顯示數(shù)字的。在該系統(tǒng)設(shè)計中,由于89c51本身自帶的并行口有限,故可以在對并行口進(jìn)行擴(kuò)展。我們用8155pb口輸出段

22、碼(即待顯示的數(shù)據(jù)),利用8155pa口的低四位(pa0、pa1、pa2、pa3),經(jīng)過一個74ls154(四十六譯碼器)譯碼后產(chǎn)生16個位選信號,某一位選信號有效,與之相對應(yīng)的led燈即被點(diǎn)亮。我們在此采用的是動態(tài)顯示方式,該方式較靜態(tài)顯示方式的明顯優(yōu)點(diǎn)即其占用的i/o口資源少,從而不必再對89c51進(jìn)行i/o口擴(kuò)展。 (三)計數(shù)部分電路 車輛在運(yùn)行過程中,我們?nèi)绾斡嬎丬囕v行駛的里程,如何判斷車輛超速、低速,這些都是通過計數(shù)部分電路來實(shí)現(xiàn)的。我們只要記錄下車輪的轉(zhuǎn)數(shù),然后用它乘以車輪周長就可以得到車輛行駛的里程數(shù)。而對于車速,設(shè)定系統(tǒng)以某一固定時間間隔(比如5秒)來采集計數(shù)值(即車輛轉(zhuǎn)數(shù)),

23、用這一數(shù)值乘以車輪周長得出車輛行駛的里程,再除以時間從而得到車速,這樣我們就可以判斷車輛的超速、低速情況了。其實(shí)計數(shù)電路非常簡單,它僅僅利用到89c51的外部中斷int0,每當(dāng)此引腳有下跳沿信號,計數(shù)器即加1(系統(tǒng)中采用16位計數(shù)器,最大計數(shù)值可達(dá)到65535)。3.1.1 at89c51單片機(jī)簡介at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲器(fperomfalsh programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機(jī)。at89c2051是一種帶2k字節(jié)閃爍可編程可擦除只讀存儲器的單片機(jī)。單片機(jī)的可擦

24、除只讀存儲器可以反復(fù)擦除100次。該器件采用atmel高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼圖3.1 51單片機(jī)容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。1主要特性:·與mcs-51 兼容 ·4k字節(jié)可編程閃爍存儲器 ·壽命:1000寫/擦循環(huán)·數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0hz-24hz·三級程序存儲器鎖定·128*

25、8位內(nèi)部ram·32可編程i/o線·兩個16位定時器/計數(shù)器·5個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路 2管腳說明:  vcc:供電電壓。  gnd:接地。  p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當(dāng) p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當(dāng)fiash進(jìn)行校驗時,p0輸出原碼,此時p0外部必須被拉高。  p1口:p

26、1口是一個內(nèi)部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。    p2口:p2口為一個內(nèi)部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當(dāng)p2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。p2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,p2口輸出地址的高八位。在給

27、出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,p2口輸出其特殊功能寄存器的內(nèi)容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。   p3口:p3口管腳是8個帶內(nèi)部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當(dāng)p3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示: 口管腳 備選功能 p3.0 rxd(串行輸入口) p3.1 txd(串行輸出口) p3.2 /int0(外部中斷0) p3.3

28、/int1(外部中斷1) p3.4 t0(記時器0外部輸入) p3.5 t1(記時器1外部輸入) p3.6 /wr(外部數(shù)據(jù)存儲器寫選通) p3.7 /rd(外部數(shù)據(jù)存儲器讀選通) p3口同時為閃爍編程和編程校驗接收一些控制信號。 rst:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持rst腳兩個機(jī)器周期的高電平時間。 ale/prog:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在flash編程期間,此引腳用于輸入編程脈沖。在平時,ale端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器

29、時,將跳過一個ale脈沖。如想禁止ale的輸出可在sfr8eh地址上置0。此時, ale只有在執(zhí)行movx,movc指令是ale才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ale禁止,置位無效。   /psen:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機(jī)器周期兩次/psen有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/psen信號將不出現(xiàn)。   /ea/vpp:當(dāng)/ea保持低電平時,則在此期間外部程序存儲器(0000h-ffffh),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/ea將內(nèi)部鎖定為reset;當(dāng)/ea端保持

30、高電平時,此間內(nèi)部程序存儲器。在flash編程期間,此引腳也用于施加12v編程電源(vpp)。   xtal1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。   xtal2:來自反向振蕩器的輸出。3振蕩器特性:    xtal1和xtal2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,xtal2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。4芯片擦除: 

31、   整個perom陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ale管腳處于低電平10ms 來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復(fù)編程以前,該操作必須被執(zhí)行。此外,at89c51設(shè)有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,cpu停止工作。但ram,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存ram的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個硬件復(fù)位為止。 3.1.2 振蕩電路設(shè)計 89 系列的振蕩電路可以有內(nèi)部振蕩和外部振蕩電路輛種方法來實(shí)現(xiàn),內(nèi)部振蕩電路由一

32、個單級反相器組成,xtml1為反相器的輸入,xtml2為反相器的輸出??衫脙?nèi)部振蕩產(chǎn)生時鐘,只要在xtml1和xtml2引腳上外接一個晶體及電容組成的并聯(lián)諧振電路,便構(gòu)成一個完整的振蕩信號發(fā)生器。如圖3.2所示xtal1400q4/pdd2d1q1內(nèi)部定時vccxtal2rfq3q2圖3.2 單片機(jī)內(nèi)部振蕩電路外部振蕩電路由外部時鐘源提供一個時鐘信號到xtml1端輸入,而xtml2端浮空。在組成單片機(jī)系統(tǒng)時多采用第一種方法,這種方式的結(jié)構(gòu)緊湊,成本低廉,可靠信強(qiáng)。如圖3.3所示外部振蕩信號cmos門ncxtal2xtal1gnd圖3.3 單片機(jī)外振蕩電路振蕩電路的等效電路如圖3.4上部所示,

33、在圖中給出了外接元件,即外接晶體電容c1,c2,并組成并聯(lián)諧振電路,在電路中,對電容c1和c2的值要求不是很嚴(yán)格,如果用高品質(zhì)的晶振,則不管頻率為多少,c1,c2通常都選擇30pf。有時,在一些地方,為了降低成本,也可用陶瓷振蕩器代替晶振,若使用陶瓷振蕩器,則電容c1,c2的值取47pf.rf/pd內(nèi)部定時vccgndxtal1c2c1石英晶體或陶瓷振蕩器xtal2圖3.4 等效電路單片機(jī)對所使用的振蕩晶體的參數(shù)要求如下:esr(等效串聯(lián)電阻):根據(jù)所需頻率按圖3.5選取。c0(并聯(lián)電容):最大7.0pf。cl(負(fù)載電容):30pf+3pf。其誤差及溫度變化的范圍要按系統(tǒng)的要求來確定。0481

34、216200400600圖3.5 esr與頻率的關(guān)系曲線本文設(shè)計的振蕩電路如圖3.6所示。xtal1xtal2x112mc230pfc330pf圖 3.6 振蕩電路3.1.3 復(fù)位電路設(shè)計復(fù)位電路的基本功能是:系統(tǒng)上電時提供復(fù)位信號,直至系統(tǒng)電源穩(wěn)定后,撤銷復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。圖3.7所示的rc復(fù)位電路可以實(shí)現(xiàn)上述基本功能,圖3.9為其輸入-輸出特性。但解決不了電源毛刺(a點(diǎn))和電源緩慢下降(電池電壓不足)等問題 而且調(diào)整 rc 常數(shù)改變延時會令驅(qū)動能力變差。左邊的電路為高電平復(fù)位有效, 右邊為

35、低電平sm為手動復(fù)位開關(guān) ch可避免高頻諧波對電路的干擾。 ch104e122usmr1/10kvcce122urstsmr110kch104vccrst圖3.7 rc復(fù)位電路圖3.8所示的復(fù)位電路增加了二極管,在電源電壓瞬間下降時使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。圖3所示復(fù)位電路輸入輸出特性圖的下半部分是其特性,可與上半部比較,增加放電回路的效果。d14148d14148ch104e122usmr1/10kvcce122urstsmr110kch104vccrst圖3.8 增加二極管的復(fù)位電路增加放電回路的rc復(fù)位電路 使用比較電路,不但可以解決電源毛刺造成系統(tǒng)不穩(wěn)定,而

36、且電源緩慢下降也能可靠復(fù)位。圖3.9 是一個實(shí)例 當(dāng) vcc x (r1/(r1+r2) ) =0.7v時,q1截止使系統(tǒng)復(fù)位。q1的放大作用也能改善電路的負(fù)載特性,但跳變門檻電壓 vt 受 vcc影響是該電路的突出缺點(diǎn),使用穩(wěn)壓二極管可使 vt 基本不受vcc影響。當(dāng)vcc低于vt(vz+0.7v)時電路令系統(tǒng)復(fù)位。 vcc vcc 0v vcc/rst 0vrst vcc 0v vcc/rst 0vrst vcc 0v圖3.9 rc電路輸入-輸出特性z1vzr1100ksmr210kch104q?9013r310kkvccrstvcc圖3.10 帶電壓監(jiān)控功能的復(fù)位電路z1vzr1100k

37、smc1104q19013d14148r210krstch104圖3.11 穩(wěn)定門檻電壓單片機(jī)要復(fù)位,本質(zhì)上是在其reset腳上保持一定時間的高電平,單片機(jī)檢測到這個電平保持時間大于它要求的時間就會自動復(fù)位。最簡單的上電復(fù)位電路是用一個電容與一個電阻串聯(lián)組成,電容接vcc,電阻接地,reset腳接在它們中間,當(dāng)上電時,電容相當(dāng)于短路,此時電阻上的電壓等于vcc,經(jīng)過一段時間后電阻電壓逐漸變小直至為0,只要rc時間選擇合適,就可以用來上電復(fù)位。但是這個電路要想起到重新復(fù)位的作用,只能先下電,再上電才行。如果在電容兩端并聯(lián)一個按鍵,就成了按鍵復(fù)位電路,只要按下這個按鍵,單片機(jī)就能復(fù)位而無需下電,這

38、個就是兩者的區(qū)別。本文用到的復(fù)位電路如圖3.12所示。rstpsenaleear410kc1/22uf+5v 圖 3.12 復(fù)位電路3.1.4 電壓變換電路設(shè)計一般公交車使用24v電壓,而at89c51的工作電壓為5v,所以需要將24v的電壓轉(zhuǎn)換成5v,這就需要利用電壓變換電路來實(shí)現(xiàn)此項轉(zhuǎn)化,現(xiàn)在普遍采用集成穩(wěn)壓器來得到+5v的穩(wěn)定電壓。集成穩(wěn)壓器具有穩(wěn)壓精度特別高,工作穩(wěn)定可靠,外圍電路簡單,體積小,重量有輕的優(yōu)點(diǎn),常見的有:金屬圓形封裝,金屬菱形封裝,塑料封裝,帶散熱板封裝,扁平式封裝,雙列直插式封裝等。其中在電子制作中三端固定輸出穩(wěn)壓器應(yīng)用較廣。78xx系列集成穩(wěn)壓器是常用的固定正輸出電

39、壓的集成穩(wěn)壓器,輸出電壓有5v.6v.9v.12v.15v.18v.24v等規(guī)格,最大輸出電流為1.5a。它的內(nèi)部含有限流保護(hù),過熱保護(hù)和過壓保護(hù)電路,基準(zhǔn)電壓源噪聲低.溫度漂移小,工作穩(wěn)定可靠。下圖給出了一個采用三端固定正電壓集成穩(wěn)壓器7805來得到+5v穩(wěn)定電壓的圖示3.13供參考。 780524v+5v0.33uf0.1uf圖3.13 三端固定正電壓集成穩(wěn)壓器電路3.2 脈沖檢測電路設(shè)計1. 霍爾器件測量磁場 使用霍爾器件檢測磁場的方法極為簡單,將霍爾器件作成各種形式的探頭,放在被測磁場中,因霍爾器件只對垂直于霍爾片的表面的磁感應(yīng)強(qiáng)度敏感,因而必須令磁力線和器件表面垂直,通電后

40、即可由輸出電壓得到被測磁場的磁感應(yīng)強(qiáng)度。若不垂直,則應(yīng)求出其垂直分量來計算被測磁場的磁感應(yīng)強(qiáng)度值。而且,因霍爾元件的尺寸極小,可以進(jìn)行多點(diǎn)檢測,由計算機(jī)進(jìn)行數(shù)據(jù)處理,可以得到場的分布狀態(tài),并可對狹縫,小孔中的磁場進(jìn)行檢測。  2. 霍爾器件工作磁體的設(shè)置  用磁場作為被傳感物體的運(yùn)動和位置信息載體時,一般采用永久磁鋼來產(chǎn)生工作磁場。例如,用一個5×4×2.5(mm3)的釹鐵硼號磁鋼,就可在它的磁極表面上得到約2300高斯的磁感應(yīng)強(qiáng)度。在空氣隙中,磁感應(yīng)強(qiáng)度會隨距離增加而迅速下降。為保證霍爾器件,尤其是霍爾開關(guān)器件的可靠工作,在應(yīng)用中要考慮有效工

41、作氣隙的長度。在計算總有效工作氣隙時,應(yīng)從霍爾片表面算起。在封裝好的霍爾電路中,霍爾片的深度在產(chǎn)品手冊中會給出。  因為霍爾器件需要工作電源,在作運(yùn)動或位置傳感時,一般令磁體隨被檢測物體運(yùn)動,將霍爾器件固定在工作系統(tǒng)的適當(dāng)位置,用它去檢測工作磁場,再從檢測結(jié)果中提取被檢信息。  工作磁體和霍爾器件間的運(yùn)動方式有:(a)對移;(b)側(cè)移;(c)旋轉(zhuǎn);(d)遮斷。 在遮斷方式中,工作磁體和霍爾器件以適當(dāng)?shù)拈g隙相對固定,用一軟磁(例如軟鐵)翼片作為運(yùn)動工作部件,當(dāng)翼片進(jìn)入間隙時,作用到霍爾器件上的磁力線被部分或全部遮斷,以此來調(diào)節(jié)工作磁場。被傳感的運(yùn)動信息加在翼片上。這種方法的檢

42、測精度很高,在125的溫度范圍內(nèi),翼片的位置重復(fù)精度可達(dá)50m。  也可將工作磁體固定在霍爾器件背面(外殼上沒打標(biāo)志的一面),讓被檢的鐵磁物體(例如鋼齒輪)從它們近旁通過,檢測出物體上的特殊標(biāo)志(如齒、凸緣、缺口等),得出物體的運(yùn)動參數(shù)。  3. 霍爾器件與外電路的接口  霍爾開關(guān)電路的輸出級一般是一個集電極開路的npn晶體管,其使用規(guī)則和任何一種相似的npn開關(guān)管相同。輸出管截止時,輸漏電流很小,一般只有幾na,可以忽略,輸出電壓和其電源電壓相近,但電源電壓最高不得超過輸出管的擊穿電壓(即規(guī)范表中規(guī)定的極限電壓)。輸出管導(dǎo)通時,它的輸出端和線路的公共端

43、短路。因此,必須外接一個電阻器(即負(fù)載電阻器)來限制流過管子的電流,使它不超過最大允許值(一般為20ma),以免損壞輸出管。輸出電流較大時,管子的飽和壓降也會隨之增大,使用者應(yīng)當(dāng)特別注意,僅這個電壓和你要控制的電路的截止電壓(或邏輯“零”)是兼容的。  與發(fā)光二極管的接口為例,對負(fù)載電阻器的選擇作一估計。若在io為20ma(霍爾電路輸出管允許吸入的最大電流),發(fā)光二極管的正向壓降vled=1.4v,當(dāng)電源電壓vcc=12v時,所需的負(fù)載電阻器的阻值最接近的標(biāo)準(zhǔn)電阻為560,因此,可取560的電阻器作為負(fù)載電阻器。  霍爾器件的開關(guān)所需的電流大于20ma,可在霍爾開關(guān)電路與被

44、電路間接入電流放大器。  霍爾器件的開關(guān)作用非常迅速,典型的上升時間和下降時間在400ns范圍內(nèi),優(yōu)于任何機(jī)械開關(guān)。3.2.1 基于霍爾器件的脈沖檢測電路設(shè)計對車輪的轉(zhuǎn)數(shù)計數(shù)是本設(shè)計的關(guān)鍵,公交車運(yùn)行時的速度變化很大,路況也很復(fù)雜,針對這些情況,利用了霍爾器件的檢測電路可以很好的克服這些缺陷。以下給出了用霍爾電路進(jìn)行脈沖檢測的事例電路如圖3.14所示。vdd vout+5v4.7k4n25+5v圖3.14 脈沖檢測電路設(shè)計3.3 led顯示電路設(shè)計3.3.1 紅外led發(fā)光二極管特性由紅外發(fā)光二級管矩陣組成發(fā)光體。紅外發(fā)射二級管由紅外輻射效率高的材料(常用砷化鎵)制成 pn 結(jié),外加

45、正向偏壓向 pn 結(jié)注入電流激發(fā)紅外光。光譜功率分布為中心波長 830 950nm ,半峰帶寬約 40nm 左右,它是窄帶分布,為普通 ccd 黑白攝像機(jī)可感受的范圍。其最大的優(yōu)點(diǎn)是可以完全無紅暴,(采用 940 950nm 波長紅外管)或僅有微弱紅暴(紅暴為有可見紅光)和壽命長。 紅外發(fā)光二極管的發(fā)射功率用輻照度 w/m2 表示。一般來說,其紅外輻射功率與正向工作電流成正比,但在接近正向電流的最大額定值時,器件的溫度因電流的熱耗而上升,使光發(fā)射功率下降。紅外二極管電流過小,將影響其輻射功率的發(fā)揮,但工作電流過大將影響其壽命,甚至使紅外二極管燒毀。 當(dāng)電壓越過正向閾值電壓(約 0.8v 左右)

46、電流開始流動,而且是一很陡直的曲線,表明其工作電流對工作電壓十分敏感。因此要求工作電壓準(zhǔn)確、穩(wěn)定,否則影響輻射功率的發(fā)揮及其可靠性。輻射功率隨環(huán)境溫度的升高 ( 包括其本身的發(fā)熱所產(chǎn)生的環(huán)境溫度升高 ) 會使其輻射功率下降。紅外燈特別是遠(yuǎn)距離紅外燈,熱耗是設(shè)計和選擇時應(yīng)注意的問題。 紅外二極管的最大輻射強(qiáng)度一般在光軸的正前方,并隨輻射方向與光軸夾角的增加而減小。輻射強(qiáng)度為最大值的 50% 的角度稱為半強(qiáng)度輻射角。不同封裝工藝型號的紅外發(fā)光二極管的輻射角度有所不同。3.3.2 led數(shù)碼管特性數(shù)碼管是一種半導(dǎo)體發(fā)光器件,其基本單元是發(fā)光二極管。數(shù)碼管按段數(shù)分為七段數(shù)碼管和八段數(shù)碼管,八段數(shù)碼管比

47、七段數(shù)碼管多一個發(fā)光二極管單元(多一個小數(shù)點(diǎn)顯示);按能顯示多少個“8”可分為1位、2位、4位等等數(shù)碼管;按發(fā)光二極管單元連接方式分為共陽極數(shù)碼管和共陰極數(shù)碼管。共陽數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(com)的數(shù)碼管。共陽數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到+5v,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。共陰數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(com)的數(shù)碼管。共陰數(shù)碼管在應(yīng)用時應(yīng)將公共極com接到地線gnd上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點(diǎn)亮。當(dāng)某一字段的陽極為低電平時,相應(yīng)字段

48、就不亮。數(shù)碼管要正常顯示,就要用驅(qū)動電路來驅(qū)動數(shù)碼管的各個段碼,從而顯示出我們要的數(shù)字,因此根據(jù)數(shù)碼管的驅(qū)動方式的不同,可以分為靜態(tài)式和動態(tài)式兩類。靜態(tài)驅(qū)動也稱直流驅(qū)動。靜態(tài)驅(qū)動是指每個數(shù)碼管的每一個段碼都由一個單片機(jī)的i/o端口進(jìn)行驅(qū)動,或者使用如bcd碼二-十進(jìn)制譯碼器譯碼進(jìn)行驅(qū)動。靜態(tài)驅(qū)動的優(yōu)點(diǎn)是編程簡單,顯示亮度高,缺點(diǎn)是占用i/o端口多,如驅(qū)動5個數(shù)碼管靜態(tài)顯示則需要5×840根i/o端口來驅(qū)動,要知道一個89s51單片機(jī)可用的i/o端口才32個呢:),實(shí)際應(yīng)用時必須增加譯碼驅(qū)動器進(jìn)行驅(qū)動,增加了硬件電路的復(fù)雜性。數(shù)碼管動態(tài)顯示接口是單片機(jī)中應(yīng)用最為廣泛的一種顯示方式之一,

49、動態(tài)驅(qū)動是將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極com增加位選通控制電路,位選通由各自獨(dú)立的i/o線控制,當(dāng)單片機(jī)輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機(jī)對位選通com端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯示出字形,沒有選通的數(shù)碼管就不會亮。通過分時輪流控制各個數(shù)碼管的的com端,就使各個數(shù)碼管輪流受控顯示,這就是動態(tài)驅(qū)動。在輪流顯示過程中,每位數(shù)碼管的點(diǎn)亮?xí)r間為12ms,由于人的視覺暫留現(xiàn)象及發(fā)光二極管的余輝效應(yīng),盡管實(shí)際上各位

50、數(shù)碼管并非同時點(diǎn)亮,但只要掃描的速度足夠快,給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù),不會有閃爍感,動態(tài)顯示的效果和靜態(tài)顯示是一樣的,能夠節(jié)省大量的i/o端口,而且功耗更低。本設(shè)計采用倆位七段數(shù)碼管顯示經(jīng)過的站數(shù),方便簡潔,乘客很直觀的就可以看懂。七段數(shù)碼管的引腳圖如圖3.15 所示。圖3.15 七段數(shù)碼管引腳圖3.4 總體電路圖圖3.16 總體電路圖整體電路由時鐘電路、復(fù)位電路、手動按鈕電路、數(shù)碼管顯示電路、頻率計數(shù)器電路組成;完成從頻率計數(shù)器記載車輪轉(zhuǎn)數(shù)到數(shù)碼管顯示站數(shù)及紅外二極管發(fā)光的過程,并且途中若遇到錯誤,可以用手動按鈕調(diào)整站數(shù),達(dá)到了準(zhǔn)確及時報站的目的。時鐘電路采用12mhz、30pf的晶

51、振和兩個30pf的電容;復(fù)位電路由一個22uf的電容和10k電阻及一個復(fù)位按鈕組成;由一個信號源提供一個矩形脈沖波形,頻率為1hz,示波器用來檢測矩形脈沖,每遇到一個脈沖,首先led燈會連續(xù)閃三下然后數(shù)碼管就會加一,顯示當(dāng)前站數(shù)。rp1為上拉電阻用來催動下一級工作,這些器件都連在51單片機(jī)上實(shí)現(xiàn)了對系統(tǒng)的控制。第四章 軟件部分4.1 主控程序設(shè)計程序(program)是為實(shí)現(xiàn)特定目標(biāo)或解決特定問題而用計算機(jī)語言編寫的命令序列的集合。為實(shí)現(xiàn)預(yù)期目的而進(jìn)行操作的一系列語句和指令。一般分為系統(tǒng)程序和應(yīng)用程序兩大類。 計算機(jī)中的程序在港澳臺地區(qū)稱為程式。程序就是為使電子計算機(jī)執(zhí)行一個或多個操作,或執(zhí)行

52、某一任務(wù),按序設(shè)計的計算機(jī)指令的集合。開始4.1.1 流程圖設(shè)計y計數(shù)判斷手/自動判斷正/反向比較判斷到站調(diào)用手動操作程序返回調(diào)用反向程序ynynn調(diào)用報站程序返回圖4.1 主控程序流程圖4.2 系統(tǒng)程序設(shè)計4.2.1 程序清單#include "reg51.h"unsigned char data cnt_distance;unsigned int data d_cnt;sbit led = p37;sbit add = p10;sbit dec = p11;bit flag;char code led_seg_code10=0x3f,0x06,0x05b,0x04f,0

53、x66,0x6d,0x7d,0x07,0x7f,0x6f;/led_seg_code0-9代表0-9/-延時-void delay(unsigned int i)/延時 while(-i); /-初始化變量-void init_variant() /初始化一些變量的內(nèi)容/unsigned char i;d_cnt=0; /脈沖的個數(shù)cnt_distance=0; /距離的計數(shù) /-數(shù)碼管動態(tài)掃描-void led_show() unsigned char i,k;/-顯示距離-k=cnt_distance; /k = 34;i=k/10; /暫存百位p0=led_seg_codei;p2&am

54、p;=0xfe;delay(100);p2 = 0xff;i=k%10;p0=led_seg_codei;p2&=0xfd;delay(100);p2 = 0xff;/-中斷計數(shù)-/*void init0() interrupt 0if(d_cnt<=5) d_cnt+; /計數(shù)100次,每次10米,表示一公里elsed_cnt=0;cnt_distance=cnt_distance+1;if(cnt_distance >= 34)cnt_distance = 0;*/*void init0() interrupt 0d_cnt+;if(d_cnt>=5) /計數(shù)10

55、0次,每次10米,表示一公里d_cnt=0;cnt_distance=cnt_distance+1;if(cnt_distance >= 34)cnt_distance = 0;*/void caled()led = 0;delay(5000);led = 1;delay(5000);void keyscan()if(add = 0)delay(10000);if(add = 0)while(!add);cnt_distance+;if(dec = 0)delay(10000);if(dec = 0)while(!dec);cnt_distance-;/-主程序-void main()/初始化各變量init_variant();/初始化51的寄存器tm

溫馨提示

  • 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

提交評論