停車場智能停車引導(dǎo)系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
停車場智能停車引導(dǎo)系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
停車場智能停車引導(dǎo)系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
停車場智能停車引導(dǎo)系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
停車場智能停車引導(dǎo)系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩66頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

摘要隨著科學(xué)的進步,汽車已經(jīng)非常普及,大量汽車的出現(xiàn)則要求有合適的場所進行停放,而停車場則是為此而生。對于停車場來說,其作用就是保證了車輛的有序合理停放,本次圍繞停車場智能停車引導(dǎo)系統(tǒng)進行設(shè)計,整個系統(tǒng)包括單片機,語音模塊,RFID電路,顯示電路等硬件電路,其可以實現(xiàn)進入車輛和出去車輛的自動計時,根據(jù)停放時間進行計費,并引導(dǎo)車輛去指定停車位的功能。在本次設(shè)計中,分別從控制器的選型,關(guān)鍵器件的選擇等開始論述,然后圍繞關(guān)鍵參數(shù)的計算,原理圖的設(shè)計等逐一進行介紹,為了對設(shè)計上的一些想法進行驗證,在此還進行了軟件程序的編寫和實物的制作,通過購買器件搭建整個系統(tǒng),經(jīng)過反復(fù)不斷調(diào)試,實物最終成功運行,經(jīng)過測試,實物滿足了系統(tǒng)的設(shè)計需求,運行可靠,達到了設(shè)計目標。關(guān)鍵詞:停車場,單片機,RFIDAbstractWiththeprogressofscience,carshavebeenverypopular.Theemergenceofalargenumberofcarsrequiresasuitableplaceforparking,andtheparkinglotisbornforthis.Fortheparkinglot,itensurestheorderlyandreasonableparkingofvehicles.Thisdesignfocusesontheintelligentparkingguidancesystemoftheparkinglot.Thewholesystemincludessingle-chipmicrocomputer,voicemodule,RFIDcircuit,displaycircuitandotherhardwarecircuits.Itcanrealizethefunctionsofautomatictiming,chargingandguidingvehiclestoseveralparkingspaces.Inthisdesign,westartfromtheselectionofcontroller,theselectionofkeydevices,andthenintroducethecalculationofkeyparametersandthedesignofschematicdiagramonebyone.Inordertoverifysomeideasinthedesign,wealsowritesoftwareprogramsandmakephysicalobjects.Throughpurchasingdevicestobuildthewholesystem,afterrepeateddebugging,thephysicalobjectsfinallySuccessfuloperation,aftertesting,thematerialmeetsthedesignrequirementsofthesystem,runsreliably,andachievesthedesigngoal.Keywords:parkinglot,MCU,RFID目錄摘要 1第一章緒論 31.1課題背景及意義 31.2國內(nèi)外的發(fā)展現(xiàn)狀 41.3課題的主要工作內(nèi)容 5第二章系統(tǒng)方案設(shè)計 62.1RFID概述及其原理 62.2控制模塊方案設(shè)計 72.3供電方案選擇 82.4輸出顯示系統(tǒng)方案選擇 92.5系統(tǒng)方案設(shè)計 9第三章硬件電路設(shè)計 113.1主控制器電路設(shè)計 113.2按鍵電路 143.3語音播放電路 153.4電源電路 163.5顯示電路 173.6MFRC522芯片接口設(shè)計 18第四章系統(tǒng)軟件設(shè)計 214.1KEILUVISION簡介 214.2主程序流程圖 224.3顯示程序 214.4語音播報程序 264.5RFID程序 26第五章系統(tǒng)調(diào)試 285.1硬件檢測 285.2軟件調(diào)試 29總結(jié) 32參考文獻 32致謝 34附錄 34第一章緒論1.1課題背景及意義汽車工業(yè)發(fā)展非??焖?,導(dǎo)致我國現(xiàn)在的人均擁有汽車量急劇增加,作為交通工具以及設(shè)施重要的組成部分之一,停車場的有效管理成為解決交通運輸環(huán)節(jié)的基本環(huán)節(jié),對停車場進行管理已達到快捷安全的目的。針對停車場規(guī)模類型的不同進行相對應(yīng)的管理模式,可以減少管理成本的支出,在小區(qū)內(nèi)由于停車場設(shè)置的特殊性,所以要選擇經(jīng)濟實用的管理程序,從整體上設(shè)計系統(tǒng)穩(wěn)定、簡潔安全、實用性強的停車場管理信息系統(tǒng)。本次以智能停車場為契機,設(shè)計一種自動停車場管理系統(tǒng)由于這一技術(shù)使用芯片開發(fā)成本較為昂貴,無法很好的對相關(guān)設(shè)計以及測試工作進行兼容操作,所以使用范圍有限。在智能停車場管理系統(tǒng)的設(shè)計過程中,應(yīng)當(dāng)考慮到使用成本以及兼容性等問題,所以此次涉及選用技術(shù)較為成熟同時兼容性能強,工作較為穩(wěn)定的單片機模塊作為整體控制系統(tǒng)的核心,能過確保電路在設(shè)計過程中結(jié)構(gòu)更加直觀,開發(fā)成本低廉、功能靈活多樣、在實際應(yīng)用過程中,具有實際推廣意義。當(dāng)今社會經(jīng)濟水平不斷提高,各國之間溝通的便捷也帶動了物聯(lián)網(wǎng)技術(shù)的飛躍發(fā)展,受此積極影響,有關(guān)RFID技術(shù)也得到了進步,在歐美發(fā)達國家此項技術(shù)已經(jīng)被廣泛應(yīng)用于道路交通收費系統(tǒng)、無人加工系統(tǒng)、門禁系統(tǒng)以及防偽技術(shù)等領(lǐng)域內(nèi)。許多全球知名企業(yè)都積極致力于關(guān)于RFID的軟硬件開發(fā),起步時間早,開發(fā)范圍較為廣泛,所以其技術(shù)在國際市場上的份額比較大。相比之下,我國關(guān)于RFID技術(shù)研發(fā)時間較為落后,發(fā)展技術(shù)有待改進。在國家政策的支持之下,我國科技部宣傳并啟動了相關(guān)研究項目,使得RFID技術(shù)在一定程度上得到了應(yīng)用,例如我國居民二代身份證、世博會門票系統(tǒng)及鐵路識別系統(tǒng)等等。由于我國在RFID技術(shù)的研究上起步時間比較晚,所以與發(fā)達國家相比還是存在一定的差距,從應(yīng)用水平上來看,應(yīng)用以中低頻為主、芯片依賴進口、安全性能指數(shù)不強等。RFID技術(shù)最早被用于二次世界大戰(zhàn)時期,用以偵查并確認進入飛機場的飛機是否為來自友方。在這過程中,主要利用信號的收發(fā)原理來進行探測工作。飛機在飛行的過程中,由機場發(fā)射出雷達信號,在每一部飛機上都有接收信號,一旦是友方的飛機就會得到相應(yīng)的飛機信號。這一技術(shù)的運用也在現(xiàn)在的機場識別系統(tǒng)中。與飛機系統(tǒng)應(yīng)用的技術(shù)不同的是,目前在各省市或者各高校的圖書館在書籍的管理,單位工作人員以及勞動績效等方面都可以實現(xiàn)利用計算機來進行管理工作。但是圖書館中最為重要的座位管理系統(tǒng)依舊處于人工干預(yù)處理階段,這一行為降低了圖書館的座位資源的使用率,無法在最短時間內(nèi)對座位進行有效的管理工作。為了有效提高圖書館的資源使用率,應(yīng)當(dāng)通過計算機技術(shù)進行座位的相關(guān)管理工作,是資源得到了合理的分配,方便圖書館便于大眾使用。1.2國內(nèi)外的發(fā)展現(xiàn)狀一個完整的RFID系統(tǒng)主要是由電子標簽,射頻信號讀寫器和整個后臺系統(tǒng)構(gòu)成。其中,電子標簽主要是用來進行對有效信息進行存儲以及識別的功能。電子標簽可以對通訊信息進行智能的讀寫工作,同時加密信息,以防泄露。根據(jù)應(yīng)用技術(shù)環(huán)境的不同,所呈現(xiàn)的標簽方式也不盡相同。當(dāng)RFID模塊進入工作區(qū)域之后,會立刻接收到相對應(yīng)的射頻信號,感應(yīng)電流獲得的信息能量將原本存儲在芯片上的標簽信息進行信息的傳遞。另外一方面,讀寫器在收取到信息之后,進行編譯工作,然后將信息傳遞到中央處理器中,進行信息的處理工作。在具體的實踐操作過程中,需要軟件和硬件兩者之間相互配合,才能實現(xiàn)RFID技術(shù)。在國內(nèi)外有關(guān)RFID技術(shù)的應(yīng)用中,我們可以看出,在交通運輸,工業(yè)商場等自動化設(shè)施中,該項技術(shù)得到了廣泛的應(yīng)用。RFID技術(shù)可以實現(xiàn)道路上的車輛屬性確認工作,利用這一技術(shù)可以實現(xiàn)停車以及行駛收費,違章查詢等智能工作。在工業(yè)生產(chǎn)的過程中,RFID技術(shù)可以用的來對產(chǎn)品進行流水線的自動化管理工作,并及時進行產(chǎn)品的庫存管理工作。在商業(yè)活動中,RFID技術(shù)可以對員工的出勤情況,績效管理進行工作。其實在其他行業(yè),該項技術(shù)也得到了廣泛的應(yīng)用,例如金融貿(mào)易活動,畜牧業(yè)管理等。RFID技術(shù)憑借其價格優(yōu)勢以及不斷成熟的技術(shù),致使其在應(yīng)用以及推廣的過程中具有較強的優(yōu)勢。在目前的應(yīng)用市場中,如果能夠解決價格問題,排除成本的因素,我們可以大膽預(yù)估,RFID標簽的應(yīng)用也將最終取代條形碼。1.3課題的主要工作內(nèi)容本文的主要內(nèi)容是設(shè)計一個停車場智能停車引導(dǎo)系統(tǒng),主要是利用STC89C52單片機來作為整體的核心控制元件,主要的核心控制模塊主要包括,MFRC522無線射頻傳輸模塊、蜂鳴器模塊,LCD顯示模塊,按鍵模塊等,主要工作是利用單片機來控制RFID模塊,通過對其識別來判斷汽車可以停多久并將相關(guān)信息通過LCD進行顯示。為了對設(shè)計進行驗證進行了實物的制作,論文中的項目設(shè)計在運行過程中較為穩(wěn)定,可實現(xiàn)的操作性比較強,相對應(yīng)的軟件功能比較完善,在具體的實踐過程中,具有較高的實用意義。本次論文主要從主要芯片的介紹以及相關(guān)的應(yīng)用原理開始闡述,詳細對各個模塊之間的程序進行調(diào)試。第二章系統(tǒng)方案設(shè)計2.1RFID概述及其原理RFID全拼就是RadioFrequencyIdentification,也就是大家俗稱的射頻識別技術(shù),不用接觸就可以實現(xiàn)自動識別。RFID技術(shù)通過發(fā)出頻率信號,通過目標信號的信號識別,自動進行相關(guān)數(shù)據(jù)的收集工作。在整個識別過程中,均由計算機進行工作,無需人工干預(yù),不必考慮其工作環(huán)境,只是不能保證能夠?qū)o態(tài)事物進行識別工作,RFID技術(shù)操作較為便捷,可實現(xiàn)率較強,即使是高速運轉(zhuǎn)的實物也可以通過設(shè)定標簽的方式來進行識別操作。RFID技術(shù)早期大多運用在軍事活動中,但是也慢慢滲透到人民的日常生活起居中去。該項技術(shù)主要依靠其快速的讀取能力,以及強有力的信息信號穿透性,可以在不同的環(huán)境下進行工作,而且本身體積小使用年限長,所以應(yīng)用范圍較為廣泛。圖2-2主要是RFID技術(shù)進行基本工作原理介紹。首先系統(tǒng)將發(fā)送的信息通過讀寫器進行編碼工作,然后將其加載在具有特定頻率的信號源上,然后經(jīng)過天線發(fā)送信號,應(yīng)答器通過在信號有效地工作區(qū)域內(nèi)進行接收,將接收到的電磁波進行轉(zhuǎn)換,最后整流為電能,電流會儲存到系統(tǒng)的電容中去,利用電子標簽將電能作為能量,通過讀寫器進行工作,將接收的信號進行解密編碼,對相應(yīng)的請求進行權(quán)限判斷。如果是相應(yīng)的命令,總控制電路將會讀取相關(guān)產(chǎn)品信息,通過調(diào)制編碼發(fā)送給閱讀器。在閱讀器通過編碼工作之后將信息傳送到中央信息處理系統(tǒng),經(jīng)過判斷,如果是修改信息的命令,通過調(diào)整工作電壓來進行邏輯判斷,并及時進行內(nèi)容的修改。但是如果密碼和權(quán)限不相符合,則會相應(yīng)的反應(yīng)出錯的信息。本課題用的非接觸式電子標簽是PHILIPS公司的MifareOne射頻標簽,當(dāng)然,針對不同的應(yīng)用系統(tǒng),可以由電子標簽生產(chǎn)廠家具體生產(chǎn)定制。圖2-2RFID的基本工作原理圖2.2控制模塊方案設(shè)計方案一:采用可編程邏輯器件FPGA或者CPLD作為本次課題的主控制器,對于可編程邏輯器件,其運算速度快,最大的特點就是其特有的并行運算能力,相較于其他MCU等微控制器,其綜合運行速度遠遠高于其他非可編程邏輯器件,其被廣泛應(yīng)用于航天,通信等對速度要求高的場合。在軟件編程方面,其編程語言主要是VHDL和VHERILOG兩種,相較于C語言來說,其編程難度會更大一點,尤其在涉及到浮點運算,乘法除法運算時其操作難度尤為明顯。由于其本質(zhì)上是純硬件的特性,因此對于底層位的操作需要較高的知識儲備和了解,同時其特有的并行運算方式,注定了其高性能高功耗的特性。在芯片使用上,其通常需要+4.3V電源給其IO管腳,+1.8V電源和1V電源給其內(nèi)核供電,因此在電源的供電上相較于MCU的單一供電要求也較為復(fù)雜,對紋波的要求,電源芯片的要求也更高。這也就要求需要更好的電路的設(shè)計能力,但鑒于其快速的運算能力,因此被廣泛應(yīng)用于各種高速場合[17]。方案二:選擇經(jīng)典的8位STC89系列單片機,其是宏晶公司生產(chǎn)的我國自主研發(fā)的高性能51系列單片機,采用了MCS-51的指令集,內(nèi)部集成了FLASH,ROM等存儲器,用戶可以在軟件編程時將數(shù)據(jù)直接存儲到單片機的內(nèi)部FLASH中以保證數(shù)據(jù)掉電不丟失。其開發(fā)平臺支持KEIL,IAR等多種平臺,開發(fā)語言則為C語言,開發(fā)過程難度較低,上手速度較快,主要有3個定時器和2個中斷,支持ISP下載,串口下載等多種方式。同時不同的廠家還對其進行了加密的處理,以保證數(shù)據(jù)的安全性。通常外部采用12M晶振,由于其自帶12分頻功能,因此其最快速度為1微秒執(zhí)行一條指令,完全可以滿足大部分低速產(chǎn)品的使用需求。同時由于其成本低,穩(wěn)定性好的特點,被大量應(yīng)用于小家電,玩具等場合,帶來了具體的經(jīng)濟效益[18-19]。方案三:選擇STM32F103,它是ST公司的32位MCU控制器,其內(nèi)部為32位寬的總線,數(shù)據(jù)處理能力強,最高時鐘可以達到72M赫茲,其內(nèi)核采用了主流的ARM系列。ST公司為其配套開發(fā)了STM32CUBEMX工具,通過該工具,用戶可以自主的對相關(guān)定時器,中斷,ADC等外設(shè)進行圖形化的配置,節(jié)約用戶大量的時間,其特有的HAL庫函數(shù)極大的簡化了整個開發(fā)流程,目前已經(jīng)逐漸替代了過去的固件庫。其自帶的ADC模數(shù)轉(zhuǎn)換功能,USART串口通信功能等等都使得用戶不需要在去進行另外的電路設(shè)計,加快了開發(fā)速度。在汽車,機器人等多種場合,STM32系列芯片被廣泛應(yīng)用,可靠性強,性能穩(wěn)定。通過對上述三種主控制方案的比較,由于方案二開發(fā)過程難度低,速度快,同時其成本低,穩(wěn)定性好;相同的預(yù)算成本,STC89系列單片機實現(xiàn)同樣的功能,速度更快,功耗更低,所以選擇方案二STC89C52單片機來作為本次課題的主控制器。2.3供電方案選擇方案一;選擇家居或者工業(yè)用電常用220V交流電源作為整個系統(tǒng)的源頭輸入,該方式貼合生活實際情況,但是需要相應(yīng)的電源轉(zhuǎn)換電路。需要將220V交流電轉(zhuǎn)換成低壓的5V來給單片機及其相關(guān)器件進行供電。因此通常需要降壓變壓器,整流二極管,穩(wěn)壓芯片等多種器件,成本較高,但貼合實際應(yīng)用。方案二:直接選用5V低壓直流電作為系統(tǒng)的輸入,省去了電壓轉(zhuǎn)換的電路設(shè)計,降低了系統(tǒng)設(shè)計難度,更加著重于系統(tǒng)本身設(shè)計。但由于5V的電源較少,因此需要購買相應(yīng)的電源適配器成本或者其它接口來進行5V電源的輸入。對比兩種操作,方案二采用直流輸入,最大程度降低了設(shè)計系統(tǒng)的難度,所以采用方案二來進行電源供電設(shè)計[20-21]。2.4輸出顯示系統(tǒng)方案選擇方案一:選取八位的LED數(shù)碼管來作為本次課題的數(shù)據(jù)信息顯示界面,對于數(shù)碼管來說,其成本低廉,可靠性高,無論是汽車行業(yè)還是航空都可以見到其身影,其工作溫度和濕度范圍和抗干擾性遠遠大于其他如OLED等顯示方式。但是其顯示信息有限,無法對復(fù)雜的英文和中文進行顯示,主要用來進行十六進制數(shù)以內(nèi)的顯示。方案二;選取OLED顯示器OLED12864作為本次課題的人機交互界面,對于OLED其顯示效果更加清晰,支持中文,全英文,數(shù)字和特殊字符的顯示。單片機在對其進行操作時,只需要通過3根控制線按照OLED12864的時序要求,對其進行操作就可以進行相應(yīng)的中文,英文的數(shù)據(jù)顯示,達到人機交互的目的。綜上所述采用方案二的OLED12864作為顯示設(shè)備更加合理2.5系統(tǒng)方案設(shè)計本次停車場智能停車引導(dǎo)系統(tǒng)設(shè)計中,其硬件結(jié)構(gòu)包括:STC89C52單片機控制模塊,BY8001語音模塊,RFID模塊,顯示電路等等。整個系統(tǒng)的功能實現(xiàn)如下:當(dāng)系統(tǒng)感應(yīng)到車輛進入到停車場時,系統(tǒng)根據(jù)當(dāng)前的車位狀況,通過語音的方式告知車主去幾號停車位進行停車,當(dāng)汽車進入停車場后,啟動開始對該汽車進入的時候進行計時,并根據(jù)設(shè)定的費用進行計算費用,當(dāng)這汽車出來的時候,系統(tǒng)再通過BY8001語音模塊播報需要交納的停車費用和停車時間。整個系統(tǒng)硬件框圖如下所示:圖2.1系統(tǒng)整體設(shè)計框圖在系統(tǒng)方案的設(shè)計過程中,需要綜合考慮多方面的因素,首先為了保證系統(tǒng)能夠進行使用并且切換模式應(yīng)當(dāng)保證系統(tǒng)占據(jù)較小的工作空間,同時為了能夠減少系統(tǒng)工作的功耗損失,可以選擇較小的電壓進行系統(tǒng)的供電工作,單片機的設(shè)計使用也是考慮到產(chǎn)品在設(shè)計過程中提及以及量產(chǎn)等諸多問題,單片機的使用也是系統(tǒng)低能耗輸出的重要保證,其具有安全使用可靠的數(shù)據(jù)傳輸能力,能夠在一定程度上減少外界等因素對于系統(tǒng)正常工作的干擾,盡可能減少系統(tǒng)即使在長時間的工作狀態(tài)下出現(xiàn)失誤的情況。第三章硬件電路設(shè)計3.1主控制器電路設(shè)計在本次設(shè)計中選擇了STC89C52單片機,其封裝引腳如下圖所示,其一共有40個引腳,封裝形式主要有DIP和SOP兩種封裝形式。其引腳共有P1-P4四組,每組8個引腳。其本身為8位單片機,符合MCS-51單片機指令集,內(nèi)部集成了16K大小的FLASH存儲器,方便用戶反復(fù)進行程序的燒寫,同時還可以將數(shù)據(jù)保存在里面以便上電不丟失。其內(nèi)部帶有3個定時器和2個外部中斷,通過簡單的配置就可以實現(xiàn)相應(yīng)的功能。鑒于其使用的簡易性,在此圍繞其進行設(shè)計。表3.1是對主控制器的各個引腳作簡要闡述.表3.1:主控制器電路的各個引腳的簡要說明有關(guān)EA/Vpp的引腳分配說明,如表3.2所示:圖3.2EA/Vpp的引腳分配說明3.1.1晶振電路晶振即石英振蕩器,它是一種對其加電就可以產(chǎn)生穩(wěn)定頻率信號的物體,而這種特性,被廣泛用于控制器的基準時鐘,即晶振電路決定了單片機的實際運行速度。晶振電路產(chǎn)生相應(yīng)的時鐘信號給單片機,單片機對該信號進行倍頻或者分頻的處理后就給單片機的內(nèi)核作為基準。在此外部晶振是12MHZ的,而STC89C52單片機內(nèi)部對其進行12分頻,則STC89C52單片機執(zhí)行一步大約1微秒的時間。其晶振電路如下圖所示,為了使得晶振產(chǎn)生時鐘信號時穩(wěn)定,通常會配置兩個pF級別的小電容以使其更好的工作。圖3.1振蕩電路3.1.2復(fù)位電路在實際工作環(huán)境中,由于存在著各種各樣的干擾或者突發(fā)情況,因此有必要設(shè)計一種電路,可以使得整個系統(tǒng)重新開始運行,這種電路就叫復(fù)位電路。如下圖所示為復(fù)位電路原理圖,其主要由按鍵和電阻電容組成,雖然只有3個器件,但是其功能卻包括上電復(fù)位和手動復(fù)位兩種功能。手動復(fù)位,即當(dāng)按鍵按下時,單片機的RST管腳從低變高,進入了復(fù)位狀態(tài),此時單片機內(nèi)部會中斷當(dāng)前的程序執(zhí)行,重新從整個程序的第一條指令開始運行。而上電復(fù)位,則是利用電容充電效應(yīng),在上電瞬間,電容處于短路狀態(tài)RST為高,單片機也是復(fù)位狀態(tài),等電容充滿電了,RST管腳才變低,單片機進入工作狀態(tài)開始執(zhí)行。當(dāng)單片機實現(xiàn)復(fù)位后,單片機的程序就會從0000H的原始位置開始運行,同時會帶動一些系統(tǒng)內(nèi)部的專用寄存器恢復(fù)到初始狀態(tài),單片機內(nèi)部的專用寄存器結(jié)構(gòu)如下圖3.2所示。表3.2復(fù)位寄存器狀態(tài)表寄存器狀態(tài)寄存器狀態(tài)PCACCPSWSPDPTRP0—P3IPIETMOD000H00H00H07H0000HFFHXXX00000HOXX00000H00HTC0NTL0TH0TL1TH1SCONSBUFPCON00H00H00H00H00H00H不確定0XXX0000H單片機STC89C52內(nèi)部擁有可以進行程序存儲的設(shè)置,為了考慮到實際應(yīng)用過程中反復(fù)存儲的目的,所以應(yīng)當(dāng)將EA連接至+5V的高電平,以便單片機可以運行內(nèi)部程序,如此就能夠透過重復(fù)性的燒寫對程序?qū)崿F(xiàn)驗證。這也是單片機STC89C52最小化系統(tǒng)相連,它僅允許將已編程的程序被燒寫到單片機之中,與此同時對接5V的電源就能夠常規(guī)運轉(zhuǎn)。圖3.1.2復(fù)位電路3.2按鍵電路在產(chǎn)品使用過程中,通常需要相應(yīng)的按鍵對產(chǎn)品的功能狀況進行相應(yīng)的設(shè)置,因此需要相應(yīng)的人機接口,而按鍵則是其中輸入信息到產(chǎn)品的一種最廣泛的途徑。在此設(shè)計了相應(yīng)的按鍵電路來作為人機接口的信息輸入功能模塊。對于按鍵,其有開和關(guān)兩種狀態(tài),配合相應(yīng)的電源就可以產(chǎn)生最直觀的高電平和低電平兩種狀態(tài)。根據(jù)實際使用條件,還可以分為單擊,雙擊或者長按。其中單擊在實現(xiàn)時最為簡單,單片機只需要通過外部中斷口或者普通IO口直接檢測引腳的高低電平就可以,而對于后兩種按鍵狀態(tài)的檢測則較為復(fù)雜。單片機需要通過定時器進行定時,并結(jié)合外部中斷以此來判斷按鍵的雙擊或者長按功能。在本次設(shè)計中,由于單片機的IO管腳口足夠,因此沒有必要采用后兩種復(fù)雜的方式,所以選擇的是單擊的方式。另外考慮按鍵在實際使用中會出現(xiàn)抖動的狀態(tài),因此單片機在檢測到按鍵觸發(fā)的情況下,需要進行延時消抖后再進一步判斷,以消除干擾。最后單片機得到按鍵指令后按照既有的程序進行相應(yīng)的操作,其電路如下圖所示。圖3.4按鍵電路3.3語音播放電路本次采用了BY8001語音芯片進行語音呼叫功能,其芯片引腳如下圖所示,該語音模塊是一種TTS中文合成語音模塊,可以方便的進行中文的語音播報,且其控制也是采用串口來進行,所以單片機在控制時也非常方便,BY8001提供一組全雙工的異步串行通訊(UART)接口,實現(xiàn)與微處理器或PC的數(shù)據(jù)傳輸。BY8001利用TxD和RxD以及GND實現(xiàn)串口通信。其中GND作為地信號。BY8001芯片支持UART接口通訊方式。系統(tǒng)在設(shè)計過程中需要進行鬧鐘時間到自動播報的功能,同時還需要設(shè)置通過按鍵就可以進行及時報時的控制功能。這一功能的實現(xiàn)主要是通過單片機內(nèi)部語音錄芳甸路進行設(shè)計實現(xiàn)的,能夠更方便,更簡單地對系統(tǒng)進行操作。BY8001芯片可以錄制并播放60秒。可以滿足本設(shè)計的要求,性能良好所以選用[10]。BY8001不但使用方便,音效極好,而且在抗斷電上面也有很大的優(yōu)勢,BY8001擁有如此強大功能的主要原因是單片機的芯片內(nèi)的E2PROM容量為480K,而1400的僅為128k,所以,相對來說,BY8001的錄放時間更長,最佳狀態(tài)時能夠劃分為600多段,而1400僅有8個地址傳輸端。BY8001還存在OVF(溢出)端,主要用于多個器件級聯(lián)使用,其封裝如圖3.9所示。系統(tǒng)設(shè)計要求芯片能夠同時具有通過利用單片機內(nèi)部的語音綠發(fā)模塊來進行相對應(yīng)的工作,整體操作較為簡單,并能夠?qū)崿F(xiàn)語音的錄制,在播放過程中,能夠持續(xù)1分鐘,但是考慮到設(shè)計成本問題,在現(xiàn)有的條件下無法實現(xiàn)這一功能。因此,僅對相關(guān)的擴展應(yīng)用程序進行簡要介紹。該設(shè)計僅使用一個簡單的語音模塊。圖3.9ISD封裝圖3.4電源電路對于本系統(tǒng)來說,無論是51單片機芯片還是液晶顯示等其他器件,在此都是采用的5V電壓,且要求穩(wěn)定,而系統(tǒng)的輸入往往會有波動,因此需要采用穩(wěn)壓芯片,在此擬采用LM7805芯片,改芯片是一種三端穩(wěn)壓芯片,其只有三個引腳,分別是電壓輸入,電源輸出腳和電源地,從封裝來看它的結(jié)構(gòu)和MOS管,三極管之類差不多。LM78系列芯片與LM79系列是相對的,LM78是應(yīng)用在正壓電壓,而LM79是則是負壓變換上,其結(jié)構(gòu)也基本類似,對于LM7805,其輸入范圍高達30V,所以只要在30V以內(nèi)的電壓輸入都可以轉(zhuǎn)換成5V輸出,當(dāng)然也不能太低,輸入的電壓至少在6V以上。同時其內(nèi)部還自帶有過流、過熱等保護電路,其電流輸出能力達到1A以上。其電路如下圖所示。圖3.10供電電路圖3.5顯示電路信息顯示是單片機產(chǎn)品中非常重要的一個組成部分,其不僅僅可以顯示產(chǎn)品當(dāng)前的運行狀態(tài),傳感器參數(shù)等信息,還可以配合按鍵部分對整個系統(tǒng)進行設(shè)置,可以說是人機交互中必不可少的一部分。在此次課題中,選取了液晶顯示器OLED12864來作為人機交互的顯示頁面。其顯示信息上一共有64行,每行可以顯示128個字符,支持全英文,數(shù)字和特殊字符的顯示,而在硬件管腳上則有7個管腳。除了電源供電管腳以為,還有背光亮度調(diào)節(jié)管腳,控制引腳和數(shù)據(jù)引腳。對于單片機來說主要是對其4根控制引腳進行操作。由于OLED12864本身的邏輯電平是支持3.3V和5V的,因此不需要通過電平轉(zhuǎn)換,單片機就可以直接對OLED12864進行控制。其中CS管腳為片選使能管腳,當(dāng)其為高電平時,OLED12864可以進行工作,A0管腳為命令和數(shù)據(jù)切換管腳,當(dāng)為低電平時,則是讀寫命令,否則為讀寫數(shù)據(jù)功能。SCL和SDA是標準的IIC協(xié)議控制方式,SCL為時鐘信號線,SDA是數(shù)據(jù)線,單片機通過控制這兩根線來講要顯示的數(shù)據(jù)傳輸?shù)絆LED12864液晶顯示,其控制邏輯在OLED12864的數(shù)據(jù)手冊中已經(jīng)給出。因此在使用時,單片機需要按照其給出的時序邏輯進行程序的編寫以實現(xiàn)顯示功能。圖3.5液晶OLED12864電路圖圖3.6OLED12864的讀寫時序圖3.6MFRC522芯片接口設(shè)計51單片機從性能上看,具有損耗低性能強的優(yōu)點,同時對于外界的影響,抗干擾能力很強。單片機的內(nèi)部設(shè)置的集成電路,運行速度快,運行結(jié)果比較可靠。這些優(yōu)點就使得51單片機能夠應(yīng)用于生產(chǎn)生活中各個場合。單片機內(nèi)部設(shè)置Flash,EEPROM,SRAM等模塊,在引腳設(shè)置上面可以設(shè)置4個P4引腳用來定義,這些引腳用于EA以及ALE和RST的安裝。從操作性能上來看,整體上來說對于新手操作易于上手,操作可能性比較強,尤其是在編程方面51單片機支持ISP的下載功能。在設(shè)計中主要利用MFRC522芯片進行整體設(shè)計,此種芯片主要是由PHILIPS公司進行研制。在設(shè)計上,采用了先進的調(diào)制解調(diào)的技術(shù),集成各種通信方式和協(xié)議,能夠連接控制器的多種接口方式,在每一次上電或硬復(fù)位之后,就可以對助理去進行檢測類型。在每次上電或硬復(fù)位后MFRC522也復(fù)位其并行微處理器接口模式并檢測當(dāng)前微處理器接口的類型,MFRC522在復(fù)位階段后根據(jù)控制腳的邏輯電平識別微處理器接口,這是由固定管腳連接的組合(見表3-2)和一個專門的初始化程序?qū)崿F(xiàn)的。表3-2MFRC522檢測并行接口類型的連接配置[6]MFRC500并行接口類型獨立的讀/寫選通模式通用的讀/寫選通模式獨立的地址/數(shù)據(jù)總線復(fù)用的地址/數(shù)據(jù)總線獨立的地址/數(shù)據(jù)總線復(fù)用的地址/數(shù)據(jù)總線握手聯(lián)絡(luò)方式下復(fù)用地址/數(shù)據(jù)總線ALEHIGHALEHIGHASnAStrbA2A2LOWA2LOWHIGHA1A1HIGHA1HIGHHIGHA0A0HIGHA0LOWnWaitNRDNRDNRDNDSNDSnDStrbNWRNWRNWRR/NWR/NWnWriteNCSNCSNCSNCSNCSLOWD7…D0D7…D0AD7…AD0D7…D0AD7…AD0AD7…AD0為了使用51單片機內(nèi)部1KB的擴展SRAM,此處采用的模擬總線接口方式,即用單片機的P0口和MFRC522的D0-D7相連,用EA、ALE、WR、RD等作為控制線分別和MFRC522的NCS、ALE、NWR、NRD等相連,其連接原理圖如圖3-7所示。由于是模擬總線方式,所以單片機的P0口要加上拉電阻。采用模擬總線方式是一種通用的方法,特別是對于不支持總線擴展的單片機更為重要。該設(shè)計中使用模擬總線的方式可防止MFRC522和單片機內(nèi)部的RAM發(fā)生總線沖突。圖3-7單片機和MFRC522接口原理圖通過微處理器,命令配置位和標志可以通過接口訪問,MFRC522可內(nèi)部尋址64個寄存器,但這需要6條地址線。MFRC522只有A0、A1和A2三條專用地址總線引腳,MFRC522在訪問內(nèi)部64個寄存器的時候采用了分頁機制,MFRC522的寄存器集被分成8頁,每頁8個寄存器。不管當(dāng)前所選是哪一頁,頁寄存器可以根據(jù)操作進行尋址操作,一旦進行切換操作就可以利用分頁機制。如圖3-3,就是對地址總線和寄存器地址進行相應(yīng)的組合。表3-3使用專用的地址總線時寄存器地址的組合狀況寄存器位UsePageSelect寄存器地址1PageSelect2PageSelect1PageSelect0A2A1A0第四章系統(tǒng)軟件設(shè)計4.1KEILUVISION簡介在完成整個系統(tǒng)的硬件電路設(shè)計后,需要編寫相應(yīng)的軟件來使得整個系統(tǒng)的功能運轉(zhuǎn)起來,協(xié)調(diào)各個模塊之間相互進行運轉(zhuǎn)。對于單片機來說,無論是STM32,51系列或者是MSP430,幾乎都是采用C語言進行底層應(yīng)用程序的編寫,因為匯編語言由于其易讀性難,維護成本高,已經(jīng)逐漸被潮流所淘汰。而編程平臺在此同樣是選擇主流的keiluvision5,該版本目前是最新的版本,相較于前面的幾個版本,其進行了大量的更新,編譯效率更高,速度更快,界面的人機交互能力更強。該軟件是專門被開發(fā)用來進行嵌入式系統(tǒng)程序編寫的,其目前被廣大的技術(shù)人員使用,其支持的處理器也變的越來越豐富,幾乎涵蓋了市場上所有的控制器。在進行程序編寫時,首先需要新建一個工程,在此工程文件下面分別新建各個子文件.C和.H文件,其中.C文件主要用于編寫各個功能模塊函數(shù)的主要功能,.H文件則是庫函數(shù),供其他函數(shù)進行調(diào)用。在完成程序編寫后,則開始對程序進行編譯解決相應(yīng)的警告和錯誤等等,然后就可以進行程序的下載。同時KEIL還提供了在線聯(lián)機調(diào)試功能,方便用戶實時觀看控制器的寄存器狀態(tài)以進行程序的修改和調(diào)試。圖4.1Keil軟件的界面4.2主程序流程圖在系統(tǒng)上電后,整個系統(tǒng)首先進行參數(shù)的初始化,然后當(dāng)有IC卡進行刷時,系統(tǒng)開始進行檢測,如果IC卡正確,則自動為其分配空閑的停車位,并通過語音的方式提示并開始計費,當(dāng)車主出來時則停止計費,并語音播報結(jié)算停車消費。圖4.2系統(tǒng)主流程圖部分主程序截圖如下:4.3顯示程序本次采用的是OLED12864液晶來進行信息的顯示,其為IIC通信控制方式,上電后首先通過SCL始終線拉低開開始,然后發(fā)送數(shù)據(jù),地址每加1則發(fā)送一次數(shù)據(jù),直至數(shù)據(jù)全部發(fā)送完畢。圖4.4顯示程序流程圖部分主程序截圖如下:4.4語音播報在此采用的是BY8001語音合成芯片,單片機需要串口的方式對其進行控制,首先單片機對串口進行初始化,波特率設(shè)置為9600,然后對其進行數(shù)據(jù)的發(fā)送,首先發(fā)送背景音樂數(shù)據(jù),然后是音量數(shù)據(jù),接著則是語音信息數(shù)據(jù)。其流程如下:圖4.6語音播放流程圖語音播報程序如下:4.5RFID識別程序流程設(shè)計在此次設(shè)計中,RFID模塊主要用來對進入和出去的車輛進行識別,除了引導(dǎo)其停車外,還將發(fā)出指令給單片機,告知其開始計時或者計費,其流程如下:圖4.6RFID讀取流程圖RFID程序如下:第五章系統(tǒng)調(diào)試5.1硬件檢測在完成系統(tǒng)的硬件電路設(shè)計后,就需要購買相應(yīng)的元器件進行實物的制作,在制作的過程中,除了器件本身還需要相應(yīng)的配套工具。如恒溫電烙鐵,焊錫絲,松香,鑷子等等。對于電路的焊接有手工焊接和自動焊接兩種方式,考慮到實際情況本次選擇手工采用電烙鐵進行焊接的方式。為了保證整個作品在焊接完后不會出現(xiàn)虛焊,漏焊,焊接短路等問題需要注意以下方面:一要對整個開發(fā)板和使用的各個元器件的焊接部位完成全部的清洗以防止其本身受到環(huán)境因素的影響而生銹或者有油污影響了焊接后的導(dǎo)電效果,同時需要保證烙鐵先碰引腳進行加熱然后再加入焊絲,同時要注意焊某個引腳的時候不能影響到其他引腳,以免短路。二要注意焊接的溫度,由于每種器件都有其相應(yīng)的耐溫,溫度太高容易造成器件的損壞,且焊接造成的損壞很難觀察出來,會給后續(xù)調(diào)試帶來非常復(fù)雜的問題,因為通常很少會去懷疑器件因焊接而損壞了。圖5.1焊接后的實物圖5.2軟件調(diào)試在對本次停車場智能停車引導(dǎo)系統(tǒng)進行軟件調(diào)試時,其主要過程如下:(1)在KEIL軟件上完成各個模塊的程序編寫,并解決各個報錯和警告,完成程序的編譯;(2)將編譯好的程序生成的hex文件通過STC的下載設(shè)備下載到STC89C52單片機中;(3)在完成程序下載后,首先觀察LCD1602的狀況,看參數(shù)顯示之類是否正常,然后再看其他功能;(4)接著通過按鍵,對相關(guān)參數(shù)進行設(shè)置,對各個功能進行測試;(5)當(dāng)出現(xiàn)功能不對時,則復(fù)查程序進行修改,重復(fù)2步驟,直到正確為止。在搭建完原理圖后,我們就需要進行軟件編程調(diào)試,在此采用的開發(fā)工具是Keil,通過Keil進行軟件代碼編寫,并進行編譯,生成HEX文件,HEX文件是最終處理器需要的文件,將此文件燒錄到處理器中,處理器就會按照軟件運行起來。Keil還可以進行在線仿真,對代碼進行邏輯性的驗證,在燒錄到處理器前進行初步的驗證。在進行單片機系統(tǒng)開發(fā)的時候必然涉及到相關(guān)的硬件和軟件,我們可以通過KeiluVision工具來對其進行調(diào)試。通過其所提供的工具來進行編碼、翻譯、編寫以及調(diào)試等,最終完成對整個系統(tǒng)的調(diào)試。Keil有專門的仿真運行工具,在代碼的功能邏輯設(shè)計完成后。在開發(fā)工具的菜單欄Debug處,選擇第一個Start/StopDebugSession,或者按下快捷鍵Ctrl+F5,就可以進入仿真環(huán)境。如圖5.1所示。圖5.1調(diào)試一在開發(fā)工具的菜單欄View處,選擇WatchWindow,就可以對所要觀察的數(shù)據(jù)進行監(jiān)控。如下圖:圖5.2調(diào)試二在界面的右下方的Watch窗口,可以輸入想要觀察的變量數(shù)據(jù),如下圖:圖5.3調(diào)試三我們在Watch窗口輸入?yún)?shù)count,可以監(jiān)控此變量的在程序運行時的變化,可以輸入多個變量進行監(jiān)控,便于對運行程序進行監(jiān)控,如下圖:圖5.4調(diào)試四在工具欄有很多對于仿真運行進行調(diào)試的工具,有單步運行,跳出循環(huán),全速運行,停止運行,啟動運行等工具,這些都是便于我們進行調(diào)試的按鈕。如下圖:圖5.5調(diào)試四經(jīng)過調(diào)試,系統(tǒng)設(shè)計準確無誤后,我們將HEX代碼放入STC89C52單片機中。圖5.3測試效果圖結(jié)論在本次畢業(yè)設(shè)計過程中,我針對此次課題查閱了關(guān)于停車場智能停車引導(dǎo)系統(tǒng)中需要解決的問題,常用的硬件電路模塊,控制器類型,傳感器資料等等,并確定了幾個設(shè)計方案,從中根據(jù)系統(tǒng)的實際情況,確認了采用單片機為核心進行系統(tǒng)的設(shè)計。在對本次設(shè)計的過程中我也遇到了很多困難,比如軟件的開發(fā),電路的搭建,傳感器的使用等等,但在老師的指導(dǎo)下經(jīng)過一步一步的學(xué)習(xí),不斷的調(diào)試最終解決了這些問題,這一過程是需要很大的耐心的。通過本次設(shè)計,使我對相關(guān)的知識有了更為深刻的了解,對涉及到的傳感器等參數(shù)計算了解的更加深入。本課題是理論結(jié)合實際的操作,同時對自己動手能力也是一種培養(yǎng)的過程,在軟件設(shè)計過程中,需要對整體設(shè)計電路進行調(diào)試工作,讓我深入了解了有關(guān)軟件調(diào)試的具體過程,這次設(shè)計讓我對各個傳感器的工作原理也有了進一步的認識,在以后的工作學(xué)習(xí)中,我會不斷學(xué)習(xí)進步。本次設(shè)計結(jié)果基本符合預(yù)期,但由于學(xué)識有限難免會有一些錯誤,還望得到老師和專家們的批評指正。參考文獻[1]趙小蘭,胡征,王培坤,林曉歡,莊衍豎,黃維沛.智能火災(zāi)報警控制系統(tǒng)設(shè)計[J].電子測試,2013,(20):1-2.[2]孫寶元、楊寶清.傳感器及其應(yīng)用手冊.北京.[3]

鄭人杰.

計算機軟件測試技術(shù).

北京:

清華大學(xué)出版社,

2012.

[4]

胡漢才.

單片機原理及系統(tǒng)設(shè)計.

北京:清華大學(xué)出版社,

2012.

[5

Silicon

Storage

Technology

Inc,

SST39VF800A

Datasheet.2015

.[6]任強.傳感器選用原則.計量工作.2015.[7]張俊謨.單片機中級教程原理與應(yīng)用.北京航空航天大學(xué)出版社.2014.[7]張俊謨.單片機中級教程原理與應(yīng)用.北京航空航天大學(xué)出版社.2016.[8]PeterVanDerLinden著,徐波譯.C專家編程,人民郵電出版社,2016.[9]HamldStone.MieroeomPuterInterfaeingUniversityofMassachusetts.AmhorstAddisonwesle.2016.2~4.[10]MeehanJoanne,MuirLindsey.SCMinMerseysideSMEs:Benefitsandbarriers[J]..TQMJournal.20082~6.[11]李全利.單片機原理及應(yīng)用技術(shù).北京:高等教育出版社.2009.30~46.[12]李維提,郭強.液晶顯示應(yīng)用技術(shù).北京:電子工業(yè)出版社.2016.20~36.[13]趙小蘭,胡征,王培坤,林曉歡,莊衍豎,黃維沛.多功能自行車碼表設(shè)計[J].電子測試,2013,(20):1-2.[14]孫寶元、楊寶清.傳感器及其應(yīng)用手冊.北京.[15]

鄭人杰.

計算機軟件測試技術(shù).

北京:

清華大學(xué)出版社,

2014

[16]袁建娟.基于RFID技術(shù)在圖書館中的應(yīng)用探析[J].蘭臺世界,2018,2.[17]李悅馥.RFID技術(shù)在圖書館中的應(yīng)用[J].科技信息(學(xué)術(shù)研究),2018,[18]游戰(zhàn)清,李蘇劍.無線射頻識別技術(shù)(RFID)理論與應(yīng)用[M].北京:電子工業(yè)出版社,2016.1~9.[19]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用試驗教程[M](第2版).北京:北京航空航天大學(xué)出版社,2017.1~6.[20]孫連坤.基于MFRC522的讀卡器研究與設(shè)計[D].天津:天津工業(yè)大學(xué),2015.24~30.[21]PHILIPS.HighlyIntegratedISO14443AReaderIC.January2015.[22]PHILIPS.DesignofMFRC522MatchingCircuitsandAntennas.March2016.[23]馬瑞,李星光.RFID系統(tǒng)及其在圖書館中的應(yīng)用.圖書館論壇[J].2015年2月,第25卷第1期。[24]何將三,陳國棟.基于MFRC522的射頻識別讀寫器設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2014年11期[25]馬瑞,李星光.RFID系統(tǒng)及其在圖書館中的應(yīng)用.圖書館論壇[J].2005年2月,第25卷第1期.致謝時光匆匆如流水,數(shù)年的本科生學(xué)習(xí)生涯即將結(jié)束,春夢秋云,轉(zhuǎn)眼便到了畢業(yè)時間,在此我感慨萬千。首先要對我的指導(dǎo)老師,致以我最誠摯的感謝。這是因為老師的耐心指導(dǎo),以及老師專業(yè)的知識文化水平,嚴謹?shù)目蒲袑W(xué)習(xí)態(tài)度,感染了我使我能夠順利完成這篇論文。在老師身上,我學(xué)習(xí)到了精益求精的學(xué)習(xí)態(tài)度,嚴于律己的工作精神,以及寬以待人的崇高風(fēng)范,對我的工作生活都產(chǎn)生了很積極的影響。此次論文的寫作,進一步加深了我對專業(yè)知識的了解,掌握了一定的學(xué)習(xí)研究方法,同時明白了腳踏實地刻苦鉆研的學(xué)習(xí)精神。正因為有老師辛勤的付出,才能夠讓我順利完成進行。同時要對數(shù)年相伴的老師同學(xué)致以我最誠摯的感謝,能夠遇到你們,使我的生活變得意義非凡。感謝你們?nèi)粘I钪械牡膸兔εc照顧,我們一起學(xué)習(xí),一起進步,在未來的工作學(xué)習(xí)中,希望我們共同進步。最后我要對母校致以我最誠摯的謝意,因為有了大學(xué)提供的這個學(xué)習(xí)機會,才是我能有有機會進一步學(xué)習(xí)提升,實現(xiàn)人生的價值。也期望自己能夠不忘初心,砥礪前行,堅持夢想,永不言棄。附錄附錄A:原理圖附錄B:程序#include<reg52.h> //C51頭文件定義#include"oled.h"#include"main.h"#include"mfrc522.h"#include<STDIO.H>#include<string.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsfrAUXR=0x8E;//0000,0000輔助寄存器unsignedcharg_ucTempbuf[20];ucharCheck=0;ucharone[]={0x7E,0x05,0x41,0x00,0x01,0x45,0xEF};//十uchartwo[]={0x7E,0x05,0x41,0x00,0x02,0x46,0xEF};//2號車位ucharthere[]={0x7E,0x05,0x41,0x00,0x03,0x47,0xEF};//4號車位ucharfour[]={0x7E,0x05,0x41,0x00,0x04,0x40,0xEF};//5號車位ucharfive[]={0x7E,0x05,0x41,0x00,0x05,0x41,0xEF};//停車時間ucharsix []={0x7E,0x05,0x41,0x00,0x06,0x42,0xEF};//分鐘請繳納費用ucharseven[]={0x7E,0x05,0x41,0x00,0x07,0x43,0xEF};//元uchareight[]={0x7E,0x05,0x41,0x00,0x08,0x4c,0xEF};//1ucharnine []={0x7E,0x05,0x41,0x00,0x09,0x4d,0xEF};//2ucharten[]={0x7E,0x05,0x41,0x00,0x0a,0x4e,0xEF};//3uchareleven[]={0x7E,0x05,0x41,0x00,0x0b,0x4f,0xEF};//4uchartwelve[]={0x7E,0x05,0x41,0x00,0x0c,0x48,0xEF};//5ucharthirteen[]={0x7E,0x05,0x41,0x00,0x0d,0x49,0xEF};//6ucharfourteen[]={0x7E,0x05,0x41,0x00,0x0e,0x4a,0xEF};//7ucharfifteen[]={0x7E,0x05,0x41,0x00,0x0f,0x4b,0xEF};//8ucharsixteen[]={0x7E,0x05,0x41,0x00,0x10,0x54,0xEF};//9ucharBCCheck(uchar*nDataBuf,ucharnLen)//異或檢驗函數(shù){ ucharnSum=0; uchari=0; for(i=0;i<nLen;i++) { nSum^=nDataBuf[i];//異或檢驗函數(shù) } returnnSum;}voidDelay(uintx) //延時函數(shù){ uchari; while(x--) { for(i=0;i<120;i++); }}voidputc_to_SerialPort(ucharc) //串口發(fā)送單個字節(jié)數(shù)據(jù){ SBUF=c; while(TI==0); TI=0;}voidputs_to_SerialPort(uchar*p,ucharcnt) //發(fā)送字符串或者數(shù)組{ while(cnt>0) { putc_to_SerialPort(*p++); Delay(1); cnt--; }}voidDelay1000ms() //@11.0592MHz{ unsignedchari,j,k; _nop_(); i=8; j=1; k=243; do { do { while(--k); }while(--j); }while(--i);}voidInitializeSystem(){ TMOD=0x21; //設(shè)T0為方式1,GATE=1; SCON=0x50; TH1=0xFD;//波特率為4800bps TL1=0xFD; TH0=0; TL0=0; TR0=1; ET0=1;//允許T0中斷 TR1=1; //開啟定時器 TI=1; EA=1; //開啟總中斷 ES=1; RI=1;}voidDPLAY(ucharx) //延時函數(shù){ puts_to_SerialPort(five,sizeof(five));Delay1000ms() ; switch(x/10%10) { case1:puts_to_SerialPort(eight,sizeof(eight));break; case2:puts_to_SerialPort(nine,sizeof(nine));break; case3:puts_to_SerialPort(ten,sizeof(ten));break; case4:puts_to_SerialPort(eleven,sizeof(eleven));break; case5:puts_to_SerialPort(twelve,sizeof(twelve));break; case6:puts_to_SerialPort(thirteen,sizeof(thirteen));break; case7:puts_to_SerialPort(fourteen,sizeof(fourteen));break; case8:puts_to_SerialPort(fifteen,sizeof(fifteen));break; case9:puts_to_SerialPort(sixteen,sizeof(sixteen));break; default:break; } Delay(500) ; if(x>=10)puts_to_SerialPort(one,sizeof(one));//十 Delay(800) ; switch(x%10) { case1:puts_to_SerialPort(eight,sizeof(eight));break; case2:puts_to_SerialPort(nine,sizeof(nine));break; case3:puts_to_SerialPort(ten,sizeof(ten));break; case4:puts_to_SerialPort(eleven,sizeof(eleven));break; case5:puts_to_SerialPort(twelve,sizeof(twelve));break; case6:puts_to_SerialPort(thirteen,sizeof(thirteen));break; case7:puts_to_SerialPort(fourteen,sizeof(fourteen));break; case8:puts_to_SerialPort(fifteen,sizeof(fifteen));break; case9:puts_to_SerialPort(sixteen,sizeof(sixteen));break; default:break; } Delay(500) ; puts_to_SerialPort(six,sizeof(six)); Delay1000ms();Delay1000ms(); Delay(500) ; switch(x/10%10) { case1:puts_to_SerialPort(eight,sizeof(eight));break; case2:puts_to_SerialPort(nine,sizeof(nine));break; case3:puts_to_SerialPort(ten,sizeof(ten));break; case4:puts_to_SerialPort(eleven,sizeof(eleven));break; case5:puts_to_SerialPort(twelve,sizeof(twelve));break; case6:puts_to_SerialPort(thirteen,sizeof(thirteen));break; case7:puts_to_SerialPort(fourteen,sizeof(fourteen));break; case8:puts_to_SerialPort(fifteen,sizeof(fifteen));break; case9:puts_to_SerialPort(sixteen,sizeof(sixteen));break; default:break; } Delay(500) ; if(x>=10)puts_to_SerialPort(one,sizeof(one));//十 Delay(800) ; switch(x%10) { case1:puts_to_SerialPort(eight,sizeof(eight));break; case2:puts_to_SerialPort(nine,sizeof(nine));break; case3:puts_to_SerialPort(ten,sizeof(ten));break; case4:puts_to_SerialPort(eleven,sizeof(eleven));break; case5:puts_to_SerialPort(twelve,sizeof(twelve));break; case6:puts_to_SerialPort(thirteen,sizeof(thirteen));break; case7:puts_to_SerialPort(fourteen,sizeof(fourteen));break; case8:puts_to_SerialPort(fifteen,sizeof(fifteen));break; case9:puts_to_SerialPort(sixteen,sizeof(sixteen));break; default:break; } Delay(500) ; puts_to_SerialPort(seven,sizeof(seven));} voidmain()//主函數(shù){ ucharnum=5,sta=0; uchara=0,b=0,c=0; uchara_num=0,b_num=0,c_num=0; unsignedcharstatus,i; unsignedinttemp; InitializeSystem(); OLED_Init(); //初始化OLED while(1) { status=PcdRequest(PICC_REQALL,g_ucTempbuf);//尋卡if(status!=MI_OK){ InitializeSystem(); PcdReset(); PcdAntennaOff(); PcdAntennaOn(); OLED_ShowString(0,0,"RFID"); OLED_ShowCHinese(54,0,0);//停車場 OLED_ShowCHinese(72,0,1); OLED_ShowCHinese(90,0,2); OLED_ShowCHinese(0,3,3);//剩余車位 OLED_ShowCHinese(26,3,4); OLED_ShowCHinese(52,3,5); OLED_ShowCHinese(78,3,6); OLED_ShowNum(104,3,num,3,16); if(a) a_num++; if(b) b_num++; if(c) c_num++; // OLED_ShowNum(52,3,a_num,3,16);// OLED_ShowNum(104,0,b_num,3,16);// OLED_ShowNum(78,3,c_num,3,16); Delay1000ms() ; continue;} status=PcdAnticoll(g_ucTempbuf);//防沖撞if(status!=MI_OK){continue;} /* printf("卡序列號:"); //超級終端顯示, for(i=0;i<4;i++) { temp=g_ucTempbuf[i]; printf("%X",temp); }*/ if(g_ucTempbuf[3]==0xA2) { a=~a;sta=1; if(a) { num--; puts_to_SerialPort(four,sizeof(four)); OLED_ShowCHinese(0,6,7);//歡迎光臨 OLED_ShowCHinese(36,6,8); OLED_ShowCHinese(72,6,9); OLED_ShowCHinese(108,6,10); } else { DPLAY(a_num); a_num=0; num++; OLED_ShowCHinese(0,6,11);//一路順風(fēng) OLED_ShowCHinese(36,6,12); OLED_ShowCHinese(72,6,13); OLED_ShowCHinese(108,6,14); } } ///////////////////////// if(g_ucTempbuf[3]==0x73) { b=~b;sta=1; if(b) { puts_to_SerialPort(two,sizeof(two)); //puts_to_SerialPort(five,sizeof(five)); num--; OLED_ShowCHinese(0,6,7);//歡迎光臨 OLED_ShowCHinese(36,6,8); OLED_ShowCHinese(72,6,9); OLED_ShowCHinese(108,6,10); } else { DPLAY(b_num); b_num=0;num++; OLED_ShowCHinese(0,6,11);//一路順風(fēng) OLED_ShowCHinese(36,6,12); OLED_ShowCHinese(72,6,13); OLED_ShowCHinese(108,6,14); } } ///////////////////////// if(g_ucTempbuf[3]==0x40) { c=~c;sta=1; if(c) { puts_to_SerialPort(there,sizeof(there)); num--; OLED_ShowCHinese(0,6,7);//歡迎光臨 OLED_ShowCHinese(36,6,8); OLED_ShowCHinese(72,6,9); OLED_ShowCHinese(108,6,10); } else { DPLAY(c_num); c_num=0;num++; OLED_ShowCHinese(0,6,11);//一路順風(fēng) OLED_ShowCHinese(36,6,12); OLED_ShowCHinese(72,6,13); OLED_ShowCHinese(108,6,14); } } Delay1000ms() ;Delay1000ms() ; }}

捷鍵與一些電腦小技巧HYPERLINKwinkey+d:

這是高手最常用的第一快捷組合鍵。這個快捷鍵組合可以將桌面上的所有窗口瞬間最小化,無論是聊天的窗口還是游戲的窗口……只要再次按下這個組合鍵,剛才的所有窗口都回來了,而且激活的也正是你最小化之前在使用的窗口!

--這個就是winkeywinkey+f:

不用再去移動鼠標點“開始→搜索→文件和文件夾”了,在任何狀態(tài)下,只要一按winkey+f就會彈出搜索窗口。

winkey+r:

在我們的文章中,你經(jīng)常會看到這樣的操作提示:“點擊‘開始→運行’,打開‘運行’對話框……”。其實,還有一個更簡單的辦法,就是按winkey+r!

alt+tab:

如果打開的窗口太多,這個組合鍵就非常有用了,它可以在一個窗口中顯示當(dāng)前打開的所有窗口的名稱和圖標●,選中自己希望要打開的窗口,松開這個組合鍵就可以了。而alt+tab+shift鍵則可以反向顯示當(dāng)前打開的窗口。

winkey+e:

當(dāng)你需要打開資源管理器找文件的時候,這個快捷鍵會讓你感覺非?!八?!再也不用騰出一只手去摸鼠標了!

小提示:

winkey指的是鍵盤上刻有windows徽標的鍵●。winkey主要出現(xiàn)在104鍵和107鍵的鍵盤中。104鍵盤又稱win95鍵盤,這種鍵盤在原來101鍵盤的左右兩邊、ctrl和alt鍵之間增加了兩個windwos鍵和一個屬性關(guān)聯(lián)鍵。107鍵盤又稱為win98鍵盤,比104鍵多了睡眠、喚醒、開機等電源管理鍵,這3個鍵大部分位于鍵盤的右上方。

再補充點

F1顯示當(dāng)前程序或者windows的幫助內(nèi)容。

F2當(dāng)你選中一個文件的話,這意味著“重命名”

F3當(dāng)你在桌面上的時候是打開“查找:所有文件”對話框

F10或ALT激活當(dāng)前程序的菜單欄

windows鍵或CTRL+ESC打開開始菜單

CTRL+ALT+DELETE在win9x中打開關(guān)閉程序?qū)υ捒?/p>

DELETE刪除被選擇的選擇項目,如果是文件,將被放入回收站

SHIFT+DELETE刪除被選擇的選擇項目,如果是文件,將被直接刪除而不是

放入回收站

CTRL+N新建一個新的文件

CTRL+O打開“打開文件”對話框

CTRL+P打開“打印”對話框

CTRL+S保存當(dāng)前操作的文件

CTRL+X剪切被選擇的項目到剪貼板

CTRL+INSERT或CTRL+C復(fù)制被選擇的項目到剪貼板

SHIFT+INSERT或CTRL+V粘貼剪貼板中的內(nèi)容到當(dāng)前位置

ALT+BACKSPACE或CTRL+Z撤銷上一步的操作

ALT+SHIFT+BACKSPACE重做上一步被撤銷的操作

Windows鍵+D:最小化或恢復(fù)windows窗口

Windows鍵+U:打開“輔助工具管理器”

Windows鍵+CTRL+M重新將恢復(fù)上一項操作前窗口的大小和位置

Windows鍵+E打開資源管理器

Windows鍵+F打開“查找:所有文件”對話框

Windows鍵+R打開“運行”對話框

Windows鍵+BREAK打開“系統(tǒng)屬性”對話框

Windows鍵+CTRL+F打開“查找:計算機”對話框

SHIFT+F10或鼠標右擊打開當(dāng)前活動項目的快捷菜單

SHIFT在放入CD的時候按下不放,可以跳過自動播放CD。在打開wo

rd的時候按下不放,可以跳過自啟動的宏

ALT+F4關(guān)閉當(dāng)前應(yīng)用程序

ALT+SPACEBAR打開程序最左上角的菜單

ALT+TAB切換當(dāng)前程序

ALT+ESC切換當(dāng)前程序

ALT+ENTER將windows下運行的MSDOS窗口在窗口和全屏幕狀態(tài)間切換

PRINTSCREEN將當(dāng)前屏幕以圖象方式拷貝到剪貼板

ALT+PRINTSCREEN將當(dāng)前活動程序窗口以圖象方式拷貝到剪貼板

CTRL+F4關(guān)閉當(dāng)前應(yīng)用程序中的當(dāng)前文本(如word中)

CTRL+F6切換到當(dāng)前應(yīng)用程序中的下一個文本(加shift可以跳到前

一個窗口)

在IE中:

ALT+RIGHTARROW顯示前一頁(前進鍵)

ALT+LEFTARROW顯示后一頁(后退鍵)

CTRL+TAB在頁面上的各框架中切換(加shift反向)

F5刷新

CTRL+F5強行刷新1.打開“我的電腦”-“工具”-“文件夾選項”-“查看”-在“顯示所有文件和文件夾”選項前打勾-“確定”

2.刪除以下文件夾中的內(nèi)容:

x:\DocumentsandSettings\用戶名\Cookies\下的所有文件(保留index文件)

x:\DocumentsandSettings\用戶名\LocalSettings\Temp\下的所有文件(用戶臨時文件)

x:\DocumentsandSettings\用戶名\LocalSettings\TemporaryInternetFiles\下的所有文件(頁面文件)

x:\DocumentsandSettings\用戶名\LocalSettings\History\下的所有文件(歷史紀錄)

x:\DocumentsandSettings\用戶名\Recent\下的所有文件(最近瀏覽文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(臨時文件)

x:\WINDOWS\ServicePackFiles(升級sp1或sp2后的備份文件)

x:\WINDOWS\DriverCache\i386下的壓縮文件(驅(qū)動程序的備份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果對系統(tǒng)進行過windoesupdade升級,則刪除以下文件:x:\windows\下以$u...開頭的隱藏文件

4.然后對磁盤進行碎片整理,整理過程中請退出一切正在運行的程序

5.碎片整理后打開

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論