基于單片機的自動停車收費系統(tǒng)完整論文_第1頁
基于單片機的自動停車收費系統(tǒng)完整論文_第2頁
基于單片機的自動停車收費系統(tǒng)完整論文_第3頁
基于單片機的自動停車收費系統(tǒng)完整論文_第4頁
基于單片機的自動停車收費系統(tǒng)完整論文_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘 要介紹基于AT89S52單片機的一款停車場自動停車收費管理系統(tǒng),該自動停車收費系統(tǒng)采用比傳統(tǒng)停車計費方式更優(yōu)越的紅外線檢測計費方式,采用紅外線檢測計費方式,所需存儲容量小,具備了自動開啟關(guān)閉大門功能、自動計費功能、顯示功能(顯示停車場狀況)、查詢功能,而且收費方式可以調(diào)節(jié),使系統(tǒng)更具靈活性。該自動停車收費系統(tǒng)操作簡單,價格低廉,安裝調(diào)試方便,很好地解決了臨時停車場的管理收費問題。整個自動停車收費管理系統(tǒng)操作簡單、價格低廉、安裝調(diào)試方便,能夠滿足管理臨時停車場的要求。本系統(tǒng)的實際開發(fā)使用將大大節(jié)省臨時停車場的管理費用及人手,提高臨時停車場的利用效率。此外,該自動停車收費管理系統(tǒng)還可以方便地實

2、現(xiàn)信息加密和各種功能擴展,通過改進可成為通用型停車場收費管理系統(tǒng)。關(guān)鍵詞:單片機;停車場;自動停車收費系統(tǒng)ABSTRACTThe management system introducing that one money parking lot automation motor stoppage of monolithic machine charges owing to AT89S52, is the system parking voluntarily chargings turn to adopt the plan parking ratio tradition to waste more

3、 advantageous way infrared ray detecting plan fee way , adopt infrared ray to check plan fee way, required memory capacity has been small , have had the function (situation demonstrating parking lot) , inquiry function opening automatically closing the entrance door function , the automation meter f

4、ee function , showing, and charge way is not bad adjust , make flexibility have more systematically. That automation motor stoppage charges systematically handling a simplicity , price is cheap , the installation debugging goes to the lavatory, problem having resolved charge for provisional parking

5、lot administration very good. Charge for entire automation motor stoppage manages the system operation simplicity , price is cheap , assembles a debugging to go to the lavatory. Be able to satisfy the call for managing provisional parking lots. Originally systematic reality develops administration c

6、ost and hand being put into use will economize provisional parking lot greatly , improves provisional parking lot utilization ratio. Besides, be the management system parking voluntarily chargings turn to be able to realize encrypted and various information function expansion conveniently, charge fo

7、r parking lot manages system by improving but becoming the type being applied or used universally.KeyWords:Monolithic machine; Parking lot; Charge for automation motor stoppage is systematic目 錄 MACROBUTTON InsertCrossReference TOC o 1-3 h z u HYPERLINK l _Toc232210426 1引言 PAGEREF _Toc232210426 h 1 H

8、YPERLINK l _Toc232210427 2課程任務(wù) PAGEREF _Toc232210427 h 3 HYPERLINK l _Toc232210428 2.1 系統(tǒng)框架 PAGEREF _Toc232210428 h 3 HYPERLINK l _Toc232210429 2.2 工作流程 PAGEREF _Toc232210429 h 4 HYPERLINK l _Toc232210430 3主要的功能元器件介紹 PAGEREF _Toc232210430 h 5 HYPERLINK l _Toc232210431 3.1元器件介紹 PAGEREF _Toc232210431

9、h 5 HYPERLINK l _Toc232210432 3.1.1 74LS138 PAGEREF _Toc232210432 h 5 HYPERLINK l _Toc232210433 3.1.2 LM358 PAGEREF _Toc232210433 h 6 HYPERLINK l _Toc232210434 3.2 LED顯示部分 PAGEREF _Toc232210434 h 7 HYPERLINK l _Toc232210435 3.2.1 LED顯示器 PAGEREF _Toc232210435 h 7 HYPERLINK l _Toc232210436 4單片機AT89S52

10、簡介 PAGEREF _Toc232210436 h 8 HYPERLINK l _Toc232210437 4.1 AT89S52的引腳及功能 PAGEREF _Toc232210437 h 8 HYPERLINK l _Toc232210438 4.1.1 I/O口: PAGEREF _Toc232210438 h 9 HYPERLINK l _Toc232210439 4.1.2 P3口的第二功能 PAGEREF _Toc232210439 h 10 HYPERLINK l _Toc232210440 4.2 特殊功能寄存器 PAGEREF _Toc232210440 h 10 HYPE

11、RLINK l _Toc232210441 4.2.1 看門狗定時器 PAGEREF _Toc232210441 h 11 HYPERLINK l _Toc232210442 4.2.2 定時器 2 PAGEREF _Toc232210442 h 12 HYPERLINK l _Toc232210443 5程序設(shè)計 PAGEREF _Toc232210443 h 16 HYPERLINK l _Toc232210444 5.1 如何進行程序設(shè)計 PAGEREF _Toc232210444 h 16 HYPERLINK l _Toc232210445 5.2 程序流程圖 PAGEREF _Toc

12、232210445 h 16 HYPERLINK l _Toc232210446 5.3 系統(tǒng)程序 PAGEREF _Toc232210446 h 17 HYPERLINK l _Toc232210447 結(jié) 論 PAGEREF _Toc232210447 h 24 HYPERLINK l _Toc232210448 參考文獻 PAGEREF _Toc232210448 h 25 HYPERLINK l _Toc232210449 附錄一: 電路原理圖 PAGEREF _Toc232210449 h 26 HYPERLINK l _Toc232210450 致 謝 PAGEREF _Toc23

13、2210450 h 27第二章 MACROBUTTON AcceptAllChangesInDoc XXXX. xx學(xué)院2012屆本科生畢業(yè)設(shè)計PAGE 40引言隨著經(jīng)濟的高速增長,汽車的社會擁有量不斷增加,越來越多的人加入了購車行列,私家車的數(shù)量越來越大,汽車停車場的數(shù)量將隨之增加,規(guī)模不斷擴大,這給停車場的車輛管理系統(tǒng)(停車效率、停車安全)提出了新的挑戰(zhàn)。汽車數(shù)量的劇增和停車場地的相對短缺,使得停車場的管理收費問題凸現(xiàn)。特別是大型超市的臨時停車場管理收費更加困難。該停車收費系統(tǒng)操作簡單,價格低廉,安裝調(diào)試方便,很好地解決了臨時停車場的管理和收費問題。目前的停車場收費管理系統(tǒng)通常采用以下幾種

14、計費方式:(1)攝像計費方式:在停車場出口和入口分別放置一臺攝像機,通過出入口的攝像機攝下汽車車牌號碼,送單片機或者電腦處理。再通過單片機計算停車時間和費用,并控制大門開啟。該方案信息量太大,要求具有較大的存儲容量。軟件設(shè)計比較復(fù)雜,成本還很高。(2)非接觸IC卡自動計時停車收費方式:硬件組成上,發(fā)卡設(shè)備直接由上位機控制,所以無需鍵盤、LCD模塊等硬件,出口設(shè)備包含入口設(shè)備和發(fā)卡設(shè)備所有的硬件,它們的設(shè)計只需在出口設(shè)備硬件基礎(chǔ)上去掉相應(yīng)模塊,所以在后面的硬件設(shè)計介紹中以出口設(shè)備為代表三種設(shè)備的不同功能由軟件編程實現(xiàn),出口程序經(jīng)過精簡和簡單的修改可得到入口設(shè)備程序,所以在軟件設(shè)計中主要討論了出口

15、設(shè)備和發(fā)卡設(shè)備的程序流程。等待射頻IC卡的請求、按鍵請求或串13通信請求。有任一種請求則進入相應(yīng)處理程序,并且處理程序返回之前。屏蔽其它兩種請求。IC卡請求,驗證用戶IC合法性,若為非法卡,則放棄IC卡請求,若為合法卡,從IC卡中獲取當前時間和停車起始時間,計算出停車費用,從IC卡獲取用戶余額。若判斷消費金額超過用戶余額則蜂嗚報警并在LCD中提示。否則將扣除消費金額并將余額寫入IC卡中,最后將用戶序列號和消費金額存儲到系統(tǒng),上位機根據(jù)存儲器中用戶消費金額更新用戶余額。串口通信請求,出口設(shè)備與上位機連接時。根據(jù)上位機命令,可進行存儲器數(shù)據(jù)上傳、設(shè)置設(shè)備時間等操作。向擋車閘電機控制器發(fā)出開關(guān)信號。

16、發(fā)卡設(shè)備主程序流程,開機后對讀寫卡模塊和串口進行初始化,然后等待上位機命令,若為“發(fā)新卡命令”。接著接收上位機發(fā)來的新用戶數(shù)據(jù),當在有效范圍內(nèi)檢測到合法卡時將數(shù)據(jù)寫入IC卡內(nèi)扇區(qū)2中相應(yīng)位置中,若為“充值命令”,將有效范圍內(nèi)IC卡的用戶信息傳給上位機,然后等待上位機發(fā)來“寫卡命令”,收到“寫卡命令”,緊接著接收上位機發(fā)送的數(shù)據(jù),然后將接收到的數(shù)據(jù)寫入IC卡中。(3)刷卡計費方式:車主到指定地點辦理IC卡,車主通過打卡的方式進出停車場,并通過IC卡來繳費。但該方式更適合于有長期固定停放車位的停車場和長期來此停車的人群,例如居民小區(qū)等。對其他人群或者是很少來此停車的人很不方便,還不實惠。(4)最初

17、的人工收費方式:就是有專門的收費人員在停車場看守和守候,既負責(zé)收費又負責(zé)停車場的狀況。如果有車停進來,該人員主動向車主收取停車費。并交待注意事項:如停車時間等問題。車主的安全不是很有保障,容易發(fā)生刮碰問題還有因搶車位發(fā)生摩擦的可能。課程任務(wù)傳統(tǒng)的停車計費方式存在著一些不足,針對這些不足,設(shè)計了一個采用紅外線檢測單片機計費方式的自動停車收費管理系統(tǒng),為臨時停車場提供了一個操作簡便、價格低廉,而且行之有效的管理辦法。本系統(tǒng)的實際開發(fā)使用將大大節(jié)省臨時停車場的管理費用及人手,提高臨時停車場的利用效率。系統(tǒng)采用紅外線檢測計費方式,可以實現(xiàn)自動開啟關(guān)閉大門功能、自動計費功能、顯示功能(顯示停車場狀況)、

18、查詢功能,而且收費方式可以調(diào)節(jié),使系統(tǒng)更具靈活性。2.1 系統(tǒng)框架大門控制模塊紅外線檢測模塊操作鍵盤模塊數(shù)碼管顯示模塊停車場狀態(tài)顯示模塊單片機控制中心圖2-1 停車場自動停車收費管理系框統(tǒng)圖(1)紅外線檢測模塊:安裝在停車場入口和出口,用于檢測汽車的駛?cè)胪\噲龃箝T和駛出停車場大門。送單片機作相應(yīng)處理。紅外線檢測模塊由紅外線發(fā)射電路和紅外線接收電路組成,使用的是2組紅外線發(fā)射對管。(2)大門控制模塊:在單片機的控制下與紅外線檢測模塊協(xié)同作業(yè),執(zhí)行停車場大門的開啟和關(guān)閉功能。保證了停車場的安全,減少了因搶占停車位發(fā)生意外的可能性。(3)單片機控制中心:采用AT89S52單片機系統(tǒng),它是本系統(tǒng)的核心

19、部分,主要功能是監(jiān)控鍵盤狀態(tài)。處理鍵盤輸入的操作信息;監(jiān)控停車場狀態(tài),控制大門開啟和關(guān)閉,有汽車駛?cè)胪\囄缓筌囄粩?shù)減一,當空車位數(shù)為零時,紅燈亮,不再讓汽車進入停車場。汽車駛出停車位后停車位數(shù)加一,大門開啟,讓其離開。將停車的數(shù)量換算為停車場的費用總費用信息,控制顯示器按要求顯示各種信息。(4)停車場狀態(tài)顯示模塊:顯示停車場狀態(tài)信號其中不僅包括每停一輛車的價格還包括顯示今天一共停了多少輛車,現(xiàn)在停了幾輛車,還有幾個空車位可以使用。這時大門的綠燈表示有車正在進入空車位,還可以停車;紅燈表示場內(nèi)車位全滿,不允許汽車進入。不僅方便了駕駛?cè)?,還便于管理者查看停車場的各種情況,可以及時的調(diào)整收費標準和經(jīng)

20、營策略。(5)數(shù)碼管顯示模塊:顯示停車場的各種信息,包括北京時間、停車位、空停車位數(shù)、停車的費用、收費標準和操作提示等內(nèi)容。本模塊采用6個共陽數(shù)碼管靜態(tài)顯示方式,節(jié)約了成本。(6)操作鍵盤模塊:通過鍵盤進行多種人工操作,包括顯示、切換、查詢各類信息,修改收費標準,修改北京時間(北京時間可以精確到秒)等顯示內(nèi)容。其中,操作鍵盤模塊、數(shù)碼管顯示模塊、停車場狀態(tài)顯示模塊和單片機控制中心合稱為中心控制電路。2.2 工作流程當汽車進入或駛出停車場時,2組紅外線檢測模塊將通知單片機有汽車駛?cè)牖蝰偝鐾\噲觯瑔纹瑱C再根據(jù)停車場的當時的狀態(tài)控制停車場大門的開啟或關(guān)閉,根據(jù)設(shè)置好的停車費用,并送顯示器顯示,處理人

21、工鍵盤的操作,進行顯示、查詢、修改和切換。停車收費標準為n元輛,系統(tǒng)初始值設(shè)為20元/輛,可以停車時交費也可以離開時交費經(jīng)營者可以根據(jù)自己的情況來定。該系統(tǒng)還可以充當時鐘來使用。用程序來說就是檢測有沒有空車位,有空位則允許車進入,沒則不打開大門。如果有車進來,等待汽車通過傳感器,打開進車大門,已停車位數(shù)加1,停車總量加1,延時一段時間,讓汽車通過進車門,關(guān)閉進車門;沒空位時,不打開大門,即紅燈亮。檢測有沒車出去,有則等待汽車通過出車門傳感器,打開出大門,已停車位數(shù)減1,延時一段時間,讓汽車通過出車門,關(guān)閉出車門。第三章 MACROBUTTON AcceptAllChangesInDoc XXX

22、X. 主要的功能元器件介紹該系統(tǒng)主要有以下元器件構(gòu)成,下面對各器件進行下介紹,讓我們對各個器件有所了解,有所認識。3.1元器件介紹本節(jié)將介紹74LS138、LM358和數(shù)碼管74LS47的基本常識和基本功能。3.1.1 74LS138 圖3-1 38譯碼器原理邏輯符號及管腳排布74LS138為3線8線譯碼器,共有兩種線路結(jié)構(gòu)型式,其工作原理如下:當一個選通端(G1)為高電平,另兩個選通端(/(G2A)和/(G2B))為低電平時,可將地址端(A、B、C)的二進制編碼在一個對應(yīng)的輸出端以低電平譯出。利用G1、/(G2A)和/(G2B)可級聯(lián)擴展成24譯碼器;若外接一個反相器還可級聯(lián)擴展成32線譯碼

23、器。若將選通端中的一個作為數(shù)據(jù)輸入端時,74LS138還可作數(shù)據(jù)分配器。在中規(guī)模集成電路中譯碼器有幾種型號,使用最廣的通常是74LS138譯碼器,74LS138譯碼器件的邏輯功能,其輸出為低電平有效,使能端G1為高電平有效,/G2,/G3為低電平有效,當其中一個為低電平,輸出端全部為1。74LS138譯碼器的輸出是低電平有效,故實現(xiàn)邏輯功能時,輸出端不可接或門及或非門,因為每次僅一個為低電平,其余皆為高電平。數(shù)字系統(tǒng)中,譯碼器的功能是將一種數(shù)碼變換成另一種數(shù)碼。譯碼器的輸出狀態(tài)是其輸入變量各種組合的結(jié)果。譯碼器的輸出既可以用于驅(qū)動或控制系統(tǒng)其他部分,也可驅(qū)動顯示器,實現(xiàn)數(shù)字、符合的顯示。譯碼器

24、是一種組合電路,工作狀態(tài)的改變無需依賴時序脈沖。譯碼器可分為數(shù)碼譯碼和顯示譯碼倆大類。其中:顯示譯碼:包括驅(qū)動液晶顯示器(LCD)、發(fā)光二極管(LED)、熒光數(shù)碼管等。數(shù)碼譯碼:主要是用來完成各種碼制之間的轉(zhuǎn)換。例如可以來完成BCD十進制數(shù)、十進制數(shù)BCD之間數(shù)制的轉(zhuǎn)換。3.1.2 LM358LM358內(nèi)部包括有兩個獨立的、高增益、內(nèi)部頻率補償?shù)碾p運算放大器,適合于電源電壓范圍很寬的單電源使用,也適用于雙電源工作模式,在推薦的工作條件下,電源電流與電源電壓無關(guān)。它的使用范圍包括傳感放大器、直流增益模組,音頻放大器、工業(yè)控制、DC增益部件和其他所有可用單電源供電的使用運算放大器的場合。LM358

25、的封裝形式有塑封8引線雙列直插式和貼片式。LM358特性:內(nèi)部頻率補償。直流電壓增益高(約100dB)。單位增益頻帶寬(約1MHz)。低功耗電流,適合于電池供電。電源電壓范圍寬:單電源(330V);雙電源(1.515V)。低輸入偏流。低輸入失調(diào)電壓和失調(diào)電流。共模輸入電壓范圍寬,包括接地。差模輸入電壓范圍寬,等于電源電壓范圍。參數(shù):輸入偏置電流45nA,輸入失調(diào)電流50nA,輸入失調(diào)電壓2.9mV,輸入共模電壓最大值VCC為1.5V,共模抑制比80dB,電源抑制比100dB。圖3-2 LM358DIP塑封引腳圖引腳功能3.2 LED顯示部分在單片機系統(tǒng)中,常用的顯示器有:發(fā)光二極管顯示器,簡稱

26、LED;液晶顯示器,簡稱LCD;熒光管顯示器。而發(fā)光二極管顯示又分為固定段顯示和可以拼裝的大型字段顯示,此外還有共陽極和共陰極之分等。 3.2.1 LED顯示器圖3-3 數(shù)碼管的外形和引腳LED顯示器是由發(fā)光二極管顯示字段組成的顯示塊,有7段和“米”字段之分。這種顯示塊有共陽極和共陰極兩種。此外,顯示塊中還有一個圓點型發(fā)光二極管用于顯示小數(shù)點。通過發(fā)光二極管亮、暗的不同組,可以顯示多種數(shù)字、字母以及其他符號。LED顯示塊中的發(fā)光二極管共有兩種連接方法。(1)共陽極接法發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時公共陽極接5V,這樣,陰極端輸入低電平的段的發(fā)光二極管被點亮,相應(yīng)的段被顯示;其余的

27、段則不點亮。(2)共陰極接法發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時公共陰極接地,這樣,陽極端輸入高電平的段的發(fā)光二極管被點亮,相應(yīng)的段被顯示;而輸入低電平的段則不點亮。第四章 MACROBUTTON AcceptAllChangesInDoc XXXX. 單片機AT89S52簡介單片微型計算機SCMC (Single Chip Microcomputer)簡稱單片機。它是把組成微型計算機的各功能部件:中央處理器CPU(Central Processing Unit)、隨機存儲器RAM(Random Access Memory)、只讀存儲器ROM(Read Access Memory)、I

28、/O (Input/Output)接口電路、定時器/計數(shù)器以及串行通訊接口等部件制作在一塊集成芯片中,構(gòu)成一個完整的微型計算機。由于它的結(jié)構(gòu)與指令功能都是按照工業(yè)控制要求設(shè)計的,故又叫單片微控制器 4.1 AT89S52的引腳及功能 圖4-1 AT89S52的引腳圖AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制

29、應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復(fù)位為止。AT89S52采用40引腳的雙列直插封裝(DIP方式)。(1)主電源引腳Vcc和VssVcc(40腳):接5V電

30、壓;Vss(20腳):接地。(2)外接晶體引腳XTAL1和XTAL2XTAL1接外部晶體的一個引腳。在單片機內(nèi)部,它是構(gòu)成片內(nèi)振蕩器的反相放大器的輸入端。當采用外部振蕩器時,該引腳接收振蕩器的信號,既把此信號直接接到內(nèi)部時鐘發(fā)生器的輸入端。XTAL2接外部晶體的另一個引腳。在單片機內(nèi)部,它是上述振蕩器的反相放大器的輸出端。采用外部振蕩器時,此引腳應(yīng)懸浮不連接。選用12MHz頻率的晶體,允許輸入的脈沖頻率為500kHz。電容的大小范圍為20pF40pF。4.1.1 I/O口:P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作

31、高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,p1輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P1端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和定時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),在flash編程和

32、校驗時,P1口接收低8位地址字節(jié)。P2 口:P2口是一個具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL邏輯電平。對P2端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DPTR)時,P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3口是一個具有內(nèi)

33、部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動4個TTL 邏輯電平。對P3端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流。P3口亦作為AT89S52特殊功能(第二功能)使用,在flash編程和校驗時,P3口也接收一些控制信號。4.1.2 P3口的第二功能RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2個機器周期高電平將使單片機復(fù)位??撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復(fù)位高電平有效。ALE/PROG:地址

34、鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號

35、。當AT89S52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。4.2 特殊功能寄存器特殊功能寄存器(SFR)的地址空間并不是都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個隨機數(shù)據(jù);寫入的數(shù)據(jù)將會無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。定時器2 :寄存器T2CON 和T2MOD

36、包含定時器2的控制位和狀態(tài)位,寄存器對RCAP2H和RCAP2L是定時器2的捕捉/自動重載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個中斷源的兩個優(yōu)先級也可在IE中設(shè)置。存儲器結(jié)構(gòu):MCS-51器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。對于AT89S52,如果EA接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。數(shù)據(jù)存儲器:AT89S52有256字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊

37、功能寄存器有相同的地址,而物理上是分開的。當一條指令訪問高于7FH的地址時,尋址方式?jīng)Q定CPU訪問高128字節(jié)RAM還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問0A0H(P2口)存儲單元MOV 0A0H , #data使用間接尋址方式訪問高128字節(jié)RAM。例如,下面的間接尋址方式中,R0內(nèi)容為0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 , #data堆棧操作也是簡介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。4.2.1 看門狗定時器WDT是一種需要軟件控制的復(fù)位方式。WDT由13位計

38、數(shù)器和特殊功能寄存器中的看門狗定時器復(fù)位存儲器(WDTRST)構(gòu)成。WDT在默認情況下無法工作,為了激活WDT,用戶必須向WDTRST寄存器(地址為0A6H的SFR)依次寫入0E1H和0E1H。當WDT激活后,用戶必須向WDTRST寫入01EH和0E1H喂狗來避免WDT溢出。當計數(shù)達到8191(1FFFH)時,13位計數(shù)器將會溢出,這將會復(fù)位器件。晶振正常工作、WDT激活后,每一個機器周期WDT都會增加。為了復(fù)位WDT,用戶必須向WDTRST寫入01EH 和0E1H(WDTRST是只讀寄存器)。WDT計數(shù)器不能讀或?qū)憽.擶DT計數(shù)器溢出時,將給RST引腳產(chǎn)生一個復(fù)位脈沖輸出,這個復(fù)位脈沖持續(xù)9

39、6個晶振周期(TOSC),其中TOSC=1/FOSC。為了很好地使用WDT,應(yīng)該在一定時間內(nèi)周期性寫入那部分代碼,以避免WDT復(fù)位。掉電和空閑方式下的WDT:在掉電模式下,晶振停止工作,這意味這WDT也停止了工作。在這種方式下,用戶不必喂狗。有兩種方式可以離開掉電模式:硬件復(fù)位或通過一個激活的外部中斷。通過硬件復(fù)位退出掉電模式后,用戶就應(yīng)該給WDT喂狗,就如同通常AT89S52復(fù)位一樣。通過中斷退出掉電模式的情形有很大的不同。中斷應(yīng)持續(xù)拉低很長一段時間,使得晶振穩(wěn)定。當中斷拉高后,執(zhí)行中斷服務(wù)程序。為了防止WDT在中斷保持低電平的時候復(fù)位器件,WDT直到中斷拉低后才開始工作。這就意味著WDT應(yīng)

40、該在中斷服務(wù)程序中復(fù)位。為了確保在離開掉電模式最初的幾個狀態(tài)WDT不被溢出,最好在進入掉電模式前就復(fù)位WDT。在進入待機模式前,特殊寄存器AUXR的WDIDLE位用來決定WDT是否繼續(xù)計數(shù)。默認狀態(tài)下,在待機模式下,WDIDLE0,WDT繼續(xù)計數(shù)。為了防止WDT在待機模式下復(fù)位AT89S52,用戶應(yīng)該建立一個定時器,定時離開待機模式,喂狗,再重新進入待機模式。4.2.2 定時器 2定時器2是一個16位定時/計數(shù)器,它既可以做定時器,又可以做事件計數(shù)器。其工作方式由特殊寄存器T2CON中的C/T2位選擇。定時器2有三種工作模式:捕捉方式、自動重載(向下或向上計數(shù))和波特率發(fā)生器。工作模式由T2C

41、ON中的相關(guān)位選擇。定時器2有2個8位寄存器:TH2和TL2。在定時工作方式中,每個機器周期,TL2寄存器都會加1。由于一個機器周期由12個晶振周期構(gòu)成,因此,計數(shù)頻率就是晶振頻率的1/12。在計數(shù)工作方式下,寄存器在相關(guān)外部輸入角T2發(fā)生1至0下降沿時增加1。在這種方式下,每個機器周期的S5P2期間采樣外部輸入。一個機器周期采樣到高電平,而下一個周期采樣到低電平,計數(shù)器將加1。在檢測到跳變的這個周期的S3P1期間,新的計數(shù)值出現(xiàn)在寄存器中。因為識別10的跳變需要2個機器周期(24個晶振周期),所以,最大的計數(shù)頻率不高于晶振頻率的1/24。為了確保給定的電平在改變前采樣到一次,電平應(yīng)該至少在一

42、個完整的機器周期內(nèi)保持不變。捕捉方式:在捕捉模式下,通過T2CON中的EXEN2來選擇兩種方式。如果EXEN2=0,定時器2時一個16位定時/計數(shù)器,溢出時,對T2CON的TF2標志置位,TF2引起中斷。如果EXEN2=1,定時器2做相同的操作。除上述功能外,外部輸入T2EX引腳(P1.1)1至0的下跳變也會使得TH2和TL2中的值分別捕捉到RCAP2H和RCAP2L中。除此之外,T2EX的跳變會引起T2CON中的EXF2置位。像TF2一樣,T2EX 也會引起中斷。自動重載:當定時器2工作于16位自動重載模式,可對其編程實現(xiàn)向上計數(shù)或向下計數(shù)。這一功能可以通過特殊寄存器T2MOD中的DCEN(

43、向下計數(shù)允許位)來實現(xiàn)。通過復(fù)位,DCEN 被置為0,因此,定時器2 默認為向上計數(shù)。DCEN 設(shè)置后,定時器2就可以取決于T2EX向上、向下計數(shù)??删幊虝r鐘輸出如圖4-2 所示,可以通過編程在P1.0引腳輸出一個占空比為50%的時鐘信號。這個引腳除了常規(guī)的I/O角外,還有兩種可選擇功能。它可以通過編程作為定時器/計數(shù)器2的外部時鐘輸入或占空比為50%的時鐘輸出。當工作頻率為16MHz時,時鐘輸出頻率范圍為61Hz到4Hz。為了把定時器2配置成時鐘發(fā)生器,位C/T2(T2CON.1)必須清0,位T2OE(T2MOD.1)必須置1。位TR2(T2CON.2)啟動、停止定時器。時鐘輸出頻率取決于晶

44、振頻率和定時器2捕捉寄存器(RCAP2H,RCAP2L)的重載值,如公式所示:時鐘輸出頻率= (4-1)在時鐘輸出模式下,定時器2不會產(chǎn)生中斷,這和定時器2用作波特率發(fā)生器一樣。定時器2也可以同時用作波特率發(fā)生器和時鐘產(chǎn)生。不過,波特率和輸出時鐘頻率相互并不獨立,它們都依賴于RCAP2H和RCAP2L。圖4-2 定時器2時鐘輸出模式中斷:AT89S52有6個中斷源:兩個外部中斷(INT0和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。這些中斷如圖9所示每個中斷源都可以通過置位或清除特殊寄存器IE中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它

45、能一次禁止所有中斷。對于AT89S52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。定時器2可以被寄存器T2CON中的TF2和EXF2的邏輯觸發(fā)。程序進入中斷服務(wù)后,這些標志位都可以由硬件清0。實際上,中斷服務(wù)程序必須判定是否是TF2或EXF2激活中斷,標志位也必須由軟件清0。定時器0和定時器1標志位TF0和TF1在計數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2的標志位TF2在計數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。晶振特性:如圖4-3所示,AT89S52單片機有一個用于構(gòu)成內(nèi)部振蕩器的反相

46、放大器,XTAL1和XTAL2分別是放大器的輸入、輸出端。石英晶體和陶瓷諧振器都可以用來一起構(gòu)成自激振蕩器。從外部時鐘源驅(qū)動器件的話,XTAL2可以不接,而從XTAL1接入。由于外部時鐘信號經(jīng)過二分頻觸發(fā)后作為外部時鐘電路輸入的,所以對外部時鐘信號的占空比沒有其它要求,最長低電平持續(xù)時間和最少高電平持續(xù)時間等還是要符合要求的。圖4-3 中斷源圖4-4 內(nèi)部振蕩電路連接圖空閑模式在空閑工作模式下,CPU處于睡眠狀態(tài),而所有片上外部設(shè)備保持激活狀態(tài)。這種狀態(tài)可以通過軟件產(chǎn)生。在這種狀態(tài)下,片上RAM和特殊功能寄存器的內(nèi)容保持不變??臻e模式可以被任一個中斷或硬件復(fù)位終止。由硬件復(fù)位終止空閑模式只需兩

47、個機器周期有效復(fù)位信號,在這種情況下,片上硬件禁止訪問內(nèi)部RAM,而可以訪問端口引腳??臻e模式被硬件復(fù)位終止后,為了防止預(yù)想不到的寫端口,激活空閑模式的那一條指令的下一條指令不應(yīng)該是寫端口或外部存儲器。掉電模式在掉電模式下,晶振停止工作,激活掉電模式的指令是最后一條執(zhí)行指令。片上RAM和特殊功能寄存器保持原值,直到掉電模式終止。掉電模式可以通過硬件復(fù)位和外部中斷退出。復(fù)位重新定義了SFR 的值,但不改變片上RAM 的值。在VCC未恢復(fù)到正常工作電壓時,硬件復(fù)位不能無效,并且應(yīng)保持足夠長的時間以使晶振重新工作和初始化。程序存儲器的加密位AT89S52有三個加密位不可編程(U)和可編程獲得下表所示

48、的功能。加密位1(LB1)編程后,EA引腳的邏輯值被采樣,并在復(fù)位期間鎖存。如果器件復(fù)位,而沒有復(fù)位,將鎖存一個隨機值,直到復(fù)位為止。為了器件功能正常,鎖存到的EA值必須和這個引腳的當前邏輯電平一致。天津大學(xué)碩士學(xué)位論文 MACROBUTTON AcceptAllChangesInDoc 此處鍵入中文論文題目 程序設(shè)計5.1 如何進行程序設(shè)計程序設(shè)計就是用計算機所能接受的語言把所需解決問題的步驟逐一描述出來,也就是編制計算機的程序,在設(shè)計應(yīng)用系統(tǒng)時,軟件的編制是重要環(huán)節(jié)。軟件的質(zhì)量直接影響整個系統(tǒng)功能的實現(xiàn)。應(yīng)用程序的設(shè)計因系統(tǒng)而異,但程序設(shè)計總是有共同特點及其規(guī)律的。在編寫程序時,采取如下幾

49、個步驟:(1)分析問題,明確所要解決問題的要求,將軟件分成若干個相對獨立的部分。根據(jù)功能關(guān)系和時序關(guān)系,設(shè)計出合理的軟件總體結(jié)構(gòu)。(2)定程序框圖,即根據(jù)所選擇的計算方法制定框圖,這不僅是程序設(shè)計的一個重要組成,而且是決定成敗的關(guān)鍵部分。(3)合理分配系統(tǒng)資源,包括定時器/計數(shù)器、中斷、堆棧等。分配好單元后,進一步將程序框圖畫成詳細的操作流程。(4)根據(jù)程序的流程圖和指令系統(tǒng)編寫出程序。注意在程序的有關(guān)位置處寫上功能注釋,提高程序的可讀性。(5)程序調(diào)試。通過編輯軟件編輯出的源程序,必須用編譯程序匯編后生成目標代碼。如果源程序有語法錯誤,需修改源文件后繼續(xù)編譯,直到無語法錯誤為止,然后利用目標

50、代碼通過仿真器進行程序調(diào)試,排除設(shè)計和編程中的錯誤直到成功。(6)程序優(yōu)化。使各功能程序模塊化,子程序化,縮短程序的長度,加快運算速度和節(jié)省數(shù)據(jù)存儲空間,減少程序執(zhí)行的時間。5.2 程序流程圖本單片機控制中心的程序采用C語言編寫,運行效率較高。其主要程序有:主循環(huán)程序:用于內(nèi)部RAM和各種中斷的設(shè)置,不斷掃描操作按鍵,做出相應(yīng)操作,并送顯示器顯示。根據(jù)系統(tǒng)要求,主循環(huán)程序的流程如圖5-1所示。按鍵調(diào)整程序:可以進行秒調(diào)整、分調(diào)整、小時調(diào)整和停車費用調(diào)整。切換顯示子程序:鍵盤上的返回鍵可以切換顯示北京時間、空位數(shù)、停車信息(包括剩余的停車位、已停車位數(shù)、總停車數(shù)量、停車費用)。顯示停車信息時,如

51、果不能同時顯示全部內(nèi)容,可通過按下切換鍵切換顯示。初始化時是顯示北京時間。時鐘中斷程序:系統(tǒng)時鐘采用單片機內(nèi)部時鐘,該程序?qū)r鐘設(shè)置為24小時制。調(diào)用顯示時鐘子程序有鍵盤操作轉(zhuǎn)相應(yīng)可能子程序調(diào)用檢測子程序調(diào)用切換顯示子程序YN初始化 調(diào)用調(diào)整操作子程序圖5-1 程序流程圖5.3 系統(tǒng)程序#include#define uint unsigned int#define uchar unsigned charint n,z,shou_fei;char shi,fen,miao;sbit P1_0=P10; /進車門紅燈sbit P1_1=P11; /進車門綠燈sbit P1_2=P12; /出車門

52、指示燈sbit P1_3=P13; /進車檢測位sbit P1_4=P14; /出車檢測位sbit P0_1=P01; /收費控制位sbit P0_2=P02; /+sbit P0_3=P03; /-sbit P0_4=P04; /時控制位sbit P0_5=P05; /分控制位sbit P0_6=P06; /秒控制位sbit P0_7=P07; /功能選擇控制位/*延時函數(shù)*/void delay(uint i) while(i-);/*1ms延時函數(shù)*/void delay1ms(uint j) uint a,b; for(a=0;aj;a+) for(b=0;b1000;b+) ting

53、che(); /*按鍵函數(shù)*/anjian()if(P0_4=0) /時調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); shi+; if(shi=24)shi=0; if(P0_3=0) while(P0_3=0) shijian(); shi-; if(shi0)shi=23; if(P0_1=0) while(P0_1=0) shijian(); break; if(P0_5=0) /分調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); fen+; if(

54、fen=60)fen=0; if(P0_3=0) while(P0_3=0) shijian(); fen-; if(fen0)fen=59; if(P0_1=0) while(P0_1=0) shijian(); break; if(P0_6=0) /秒調(diào)整 while(1) shijian(); if(P0_2=0) while(P0_2=0) shijian(); miao+; if(miao=60)miao=0; if(P0_3=0) while(P0_3=0) shijian(); miao-; if(miao0)miao=59; if(P0_1=0) while(P0_1=0) s

55、hijian(); break; /*時間顯示函數(shù)*/shijian() P2=miao%10+0 x00+0 x80; /顯示秒的個位 P2=miao/10+0 x10+0 x80; /顯示秒的十位 P2=fen%10+0 x20; /顯示分的個位 P2=fen/10+0 x30+0 x80; /顯示分的個位 P2=shi%10+0 x40; /顯示時的個位 P2=shi/10+0 x50+0 x80; /顯示時的個位/*停車顯示函數(shù)*/tingche() P2=shou_fei/10+0 x50+0 x80;delay(5); /顯示收費金額的十位 P2=shou_fei%10+0 x40

56、; /顯示收費金額的個位 P2=z/10+0 x30+0 x80; /顯示停車總數(shù)的十位 P2=z%10+0 x20; /顯示停車總數(shù)的個位 P2=(4-n)/10+0 x10+0 x80; /顯示空車位數(shù)的十位 P2=(4-n)%10+0 x00; /顯示空車位數(shù)的個位/*檢測函數(shù)*/void jiance()if(n4) if(P1_3=0) while(P1_3=0) tingche(); P1_1=0; n+; z+; delay1ms(10); P1_1=1; else P1_0=0; if(P1_4=0) while(P1_4=0) tingche(); P1_2=0; n-; i

57、f(n0)n=0; delay1ms(10); P1_2=1; if(P0_1=0) while(1) tingche(); if(P0_2=0) while(P0_2=0) tingche(); shou_fei+; if(shou_fei=100)shou_fei=0; if(P0_3=0) while(P0_3=0) tingche(); shou_fei-; if(shou_fei0)shou_fei=99; if(P0_5=0) while(P0_5=0) tingche(); break; /*時鐘中斷程序*/void t0() interrupt 1uint i; TH0=(65

58、535-50000)/256; TL0=(65535-50000)%256; i+; if(i=20) i=0; miao+; if(miao=60) miao=0; fen+; if(fen=60) fen=0; shi+; if(shi=24) shi=0;/*主函數(shù)*/void main()shou_fei=20; /初始的收費值為20元 n=0; /車位初始值為0 z=0; /停車總數(shù)的初始值為0 TMOD=0 x01; /工作方式 TH0=(65535-50000)/256; TL0=(65535-50000)%256; shi=12; /初始值 fen=30; miao=00; T

59、R0=1; ET0=1; EA=1; while(1) P0=P1=0 xff; /將P1口置高電平 if(P0_7=0) jiance(); /開始檢測進出口的汽車 tingche(); if(P0_7=1) anjian(); shijian(); 結(jié) 論結(jié) 論“基于單片機的自動停車收費系統(tǒng)”是源于我們生活中的一個課題,因為傳統(tǒng)的停車計費方式存在著一些不足,針對這些不足,設(shè)計了一個采用紅外線檢測單片機計費方式的全新自動停車收費管理系統(tǒng),為臨時停車場提供了一個操作簡便、價格低廉,而且行之有效的管理辦法。本系統(tǒng)的實際開發(fā)使用將大大節(jié)省臨時停車場的管理費用及人手,提高臨時停車場的利用效率。該課題

60、所實現(xiàn)的功能及性能可以經(jīng)過適當?shù)脑O(shè)計和完善運用于生活和生產(chǎn)實際中,例如一些臨時停車場和大型超市等環(huán)境。本課題在設(shè)計過程中,最復(fù)雜的部分就是硬件電路的設(shè)計和單片機編程,在程序設(shè)計過程中遇到了問題,這些問題是程序設(shè)計中的一個難點,這些問題往往需要多次調(diào)試才能實現(xiàn)。所有系統(tǒng)在完善性方面還有待提高。這個系統(tǒng)的實現(xiàn)使我對電工技術(shù)、元器件芯片以及單片機的原理及應(yīng)用都有了深刻的認識,真正做到了學(xué)有所得、學(xué)有所用,可以說獲益匪淺。隨著電子設(shè)計自動化技術(shù)的進展,基于可編程邏輯器件的數(shù)字電子系統(tǒng)設(shè)計的完整方案將越來越受人們的重視。參考文獻參考文獻1單片機原理串口及應(yīng)用 朱大奇等 南京大學(xué)出版社2單片機原理及應(yīng)用

溫馨提示

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

評論

0/150

提交評論