




已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
公交智能收費系統(tǒng)設(shè)計方案 1 緒論 公交如今已成為都市重要的交通工具,收費的時候有人為的收費也有采用了智能的收費系統(tǒng)。利用智能收費先是便利,再是快捷,還有就是有利于減少現(xiàn)金流動。公交車智能收費系統(tǒng)在公交系統(tǒng)中極大地促進(jìn)了非接觸式IC卡的發(fā)展。國外已有許多知名的公司已使用這方面的技術(shù)。中國雖開始較晚,但成長迅速。公交IC卡作為非接觸卡,操作方便,可靠性高,壽命長,發(fā)展?jié)摿薮蟆9皇召M系統(tǒng)的讀寫操作,只需要將卡在讀寫某一區(qū)間內(nèi)可以實現(xiàn)數(shù)據(jù)交換裝置附近,沒有任何接觸,使用十分方便,速度快,不易損壞。所以,除了用在公交系統(tǒng),在門禁、學(xué)校、企業(yè)等人事管理、娛樂場所等領(lǐng)域有極大的應(yīng)用前景。1.1 公交智能收費系統(tǒng)現(xiàn)狀及發(fā)展趨勢公交車收費系統(tǒng)一般采取接觸式IC卡,因為卡在讀寫器上操作時常造成磨損引起的接觸不良,從而導(dǎo)致數(shù)據(jù)傳輸故障,此外卡跟讀寫器的磨擦也極大地減短了卡和讀寫器的使用年限。隨著技術(shù)的進(jìn)步,公交車收費系統(tǒng)慢慢地被射頻技術(shù)所替代,即非接觸式的IC卡。讀寫器用射頻識別技術(shù)為核心,每當(dāng)射頻卡靠近讀寫器的時候,因受讀寫器的電磁波激勵的作用,LC諧振電路就開始產(chǎn)生共振和接收電磁波能量。每當(dāng)射頻卡一收集到充足的能量時,就會把卡內(nèi)存儲的識別卡和其他的數(shù)據(jù)傳輸?shù)臒o線電波,讀者和接受讀者卡上的數(shù)據(jù)和進(jìn)一步的操作。在環(huán)境多變的公交車上,這種收費系統(tǒng)一定有很大發(fā)展前景。1.1.1 概述公交智能收費體系構(gòu)造復(fù)雜,所以,公交車IC卡的讀寫器最少包含公交車載機(jī)公交車售卡機(jī)、公交車制卡機(jī)的三個讀寫器。以下主要介紹公交車載機(jī)讀寫器的設(shè)計,主要部件是由單片機(jī)、MMM微模塊、單片機(jī)、存儲器、和監(jiān)控電路還有PC通信的TC232通訊接口電路等部件構(gòu)成。Mi fare卡專門使用的芯片MF RC500,它是由一個微型的且最大操作間距達(dá)100mm的Mi fare讀/寫設(shè)備的核心部件,其功能包括調(diào)制、解調(diào)、安全管理和防碰撞機(jī)制等。讀寫器是收取費用現(xiàn)場的, 且讀寫器編寫的時候,只會進(jìn)行讀卡片的操作,且具備自動地收取費用的機(jī)能。1.1.2 現(xiàn)狀當(dāng)今,雖然接觸式IC卡在交通中得以普遍的使用。但在接觸IC卡的推廣使用中,慢慢發(fā)現(xiàn)了許多缺點:卡在讀寫器上頻繁的拔插的操作造成的磨損使得接觸性不良,繼而導(dǎo)致數(shù)據(jù)傳送報錯,另外卡與讀寫器之間的磨損也很大縮短了卡和讀寫器的使用年限;而且,此IC卡的通信效率很低,還有再個插拔卡的動作造成的延誤,導(dǎo)致每次交易都要長久的等待?,F(xiàn)在更多的應(yīng)用不僅對卡的接口給予了不一樣的需求,而且對傳統(tǒng)非接觸卡應(yīng)用也提出了更多的需求。起先非接觸卡的指令很簡單,功能也很少。實現(xiàn)一個高難度的操作就像建立一個普通文件一樣需要對卡的數(shù)據(jù)結(jié)構(gòu)十分熟悉并且需要編很多指令。尤其是卡中大部分資料都是很敏感的,比如剩余金額的數(shù)目,所以在對這些資料進(jìn)行操作的時候,萬一出現(xiàn)意外使得操作突然停止,就要面臨怎樣地正確恢復(fù)資料的難題,這非常需要高軟件技巧。以上所有的這些問題都大大防礙了非接觸卡的應(yīng)用創(chuàng)新。然而公交車智能系統(tǒng)非接觸式IC卡也是應(yīng)用里最大的領(lǐng)域之一。自2O03年以來我國就有許多城市開始陸續(xù)采用非接觸式IC卡的電子車票體系。但也在很多城市中沒有普及開來。人們還不理解公交卡所擁有的優(yōu)勢,還有就是收費體系做的也還不夠完善,比如受公交環(huán)境差的影響使得系統(tǒng)出錯率高等。1.1.3 發(fā)展現(xiàn)在國際ISO擬定了主要兩個非接觸IC卡國際準(zhǔn)則,一個菲利蒲和西門子的公司的TYPE A標(biāo)準(zhǔn),另外一個則是摩托羅拉和意法半導(dǎo)體公司的TYPE B標(biāo)準(zhǔn)。兩個標(biāo)準(zhǔn)各有各的優(yōu)點和缺點。然而TYPE A標(biāo)準(zhǔn)。則是目前運用較多的一種標(biāo)準(zhǔn)MIFARE標(biāo)準(zhǔn)。TYPE B與A的主要不同是卡跟讀寫器的調(diào)制方式的差異。而TYPE A采用的則是間斷的調(diào)制原理,信息“1”為時,即有信號傳到卡,信息顯示是“0”時,則就無信號傳到卡,并且時間的間隔非常短暫,基本不會影響到卡的正常工作。用這種方式信息區(qū)別會很明顯,而且受環(huán)境影響的可能性小,很難會誤操作。然而缺點就是在不斷地傳輸能量到非接觸卡的時候,能量會有幾率發(fā)生波動。公共汽車上干擾因素很多,打卡時間又極短,錯誤信號發(fā)生的機(jī)率越小越好,因此,采用TYPE A相對來會好很多。而且,鑒于國情影響,車在較短時間里使用非接觸CPU卡的可能性小,而使用邏輯加密卡。因為使用非接觸邏輯加密卡時,因為沒有CPU在工作,所以對能量的持續(xù)性要求很強,因此TYPE A可以很好勝任這工作。我國引進(jìn)的射頻 IC卡主要有PHILIPS公司的Mi fare和ATMEL公司的Demic卡。制作的IC卡讀寫器可以實現(xiàn)制卡、售卡、自動收費等功能,具有安全、方便、快捷、可靠性高等的特點,解決了城市公共交通服務(wù)行業(yè)既頻繁又瑣碎的收費管理問題,有廣泛的利用遠(yuǎn)景。在我國最廣使用的就是Mi fare IC卡。其每一年銷售量達(dá)幾億張的IC卡,促使我國迅速成為IC卡應(yīng)用發(fā)展速度最快的國家之一。此外, 近些年售出的非接觸式卡里近一半是在公共交通中使用的。1.2 本文的內(nèi)容此設(shè)計研究的是公交智能收費系統(tǒng)(B)標(biāo)準(zhǔn),其重點進(jìn)行卡的讀寫程序設(shè)計,它是以非接觸式通信為技術(shù)基礎(chǔ)。本課題設(shè)計是以射頻技術(shù)為基礎(chǔ),鋪以單片機(jī)編程來控制MF RC500的讀寫卡操作,然后卡里的內(nèi)容跟時鐘信息一起存放在存儲器里,然后顯示模塊顯示卡的扣除費用金額等,同時蜂鳴器在操作無誤時就響一聲。而DS1232為控制芯片,能解決程序跑飛的問題。然而在存儲器存儲的信息到頂時,就會通過TC232和上位機(jī)相接,然后把信息發(fā)給PC機(jī)。2 設(shè)計方案 設(shè)計的基本思想:一有Mifare1射頻卡距離射頻天線100mm內(nèi)時,讀寫器就能夠獲取到卡中的數(shù)據(jù)信息。然后單片機(jī)把讀取得數(shù)據(jù)進(jìn)行處理,條件符合,蜂嗚器就響一聲。然后把數(shù)據(jù)跟當(dāng)時的時間同時儲存在單片機(jī)EEPROM內(nèi)接著在LED上顯示所讀數(shù)據(jù)。然而當(dāng)無卡在其工作范圍時,就會在LED上顯示此刻的時間。如果讀卡出錯,則顯示出錯的標(biāo)志。在和上位機(jī)通訊時,把單片機(jī)里EEPROM存入的信息發(fā)向上位機(jī)。 單片機(jī)的程序主要有:時鐘生成程序、讀寫卡程序、跟上位機(jī)的中斷通信程序、時鐘生成程序、顯示驅(qū)動程序、數(shù)據(jù)存儲程序、蜂鳴器報警程序。2.1 硬件設(shè)計選擇 MCU采用單片機(jī)89C52,是因為89C52開發(fā)簡單,運行穩(wěn)定。89C52是一種低功耗、高性能CMOS 8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器和256字節(jié)的RAM,比51多一倍。使用Atmel 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得AT89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 公交收費系統(tǒng)結(jié)構(gòu)復(fù)雜,環(huán)節(jié)較多,因此,公交非接觸IC 卡的讀寫器至少應(yīng)包括公交售卡機(jī)、公交車載機(jī)和公交制卡機(jī)三個讀寫器。除了售卡機(jī)要求有鍵盤外,其余的硬件組成大體相同。圖1為非接觸IC卡及其讀寫器硬件電路原理圖,主要由MMM微模塊、單片機(jī)、鍵盤、顯示、存儲器、天線和監(jiān)控電路以及與PC機(jī)通信的TC232串行通信接口電路等部分組成。 圖1 智能系統(tǒng)原理圖 2.2 89C52的接口介紹圖2 89C52的引腳圖2.2.1 I/O口介紹P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當(dāng)訪問外部程序和數(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)部電阻的原因,將輸出電流(IIL)。P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用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)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為AT89S52特殊功能(第二功能)使用。2.2.2 89C52的功能口介紹 RST: 復(fù)位輸入。晶振工作時,RST腳持續(xù)2 個機(jī)器周期高電平將使單片機(jī)復(fù)位。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置 “1”,ALE操作將無效。這一位置 “1”。這個ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。中斷寄存器:各中斷允許位在IE寄存器中,六個中斷源的兩個優(yōu)先級也可在IE中設(shè)置。AT89C52有6個中斷源,2個中斷優(yōu)先級,IE寄存器控制各中斷位,IP寄存器中6個中斷源的每一個可定為2個優(yōu)先級。 T2CON:定時器/計數(shù)器2控制寄存器串行口控制寄存器:SCON是一個可位尋址的專用寄存器,用于串行數(shù)據(jù)通信的控制。其單元地址為98H,位地址為98H-9FH。 REN:接收允許控制位。由軟件置位以允許接收,又由軟件清0來禁止接收。TB8: 是要發(fā)送數(shù)據(jù)的第9位。在方式2或方式3中,要發(fā)送的第9位數(shù)據(jù),根據(jù)需要由軟件置1或清0。例如,可約定作為奇偶校驗位,或在多機(jī)通信中作為區(qū)別地址幀或數(shù)據(jù)幀的標(biāo)志位。 RB8:接收到的數(shù)據(jù)的第9位。在方式0中不使用RB8。在方式1中,若(SM2)=0,RB8為接收到的停止位。在方式2或方式3中,RB8為接收到的第9位數(shù)據(jù)。 TI:發(fā)送中斷標(biāo)志。在方式0中,第8位發(fā)送結(jié)束時,由硬件置位。在其它方式的發(fā)送停止位前,由硬件置位。TI置位既表示一幀信息發(fā)送結(jié)束,同時也是申請中斷,可根據(jù)需要,用軟件查詢的辦法獲得數(shù)據(jù)已發(fā)送完畢的信息,或用中斷的方式來發(fā)送下一個數(shù)據(jù)。TI必須用軟件清0。 RI:接收中斷標(biāo)志位。在方式0,當(dāng)接收完第8位數(shù)據(jù)后,由硬件置位。在其它方式中,在接收到停止位的中間時刻由硬件置位(例外情況見于SM2的說明)。RI置位表示一幀數(shù)據(jù)接收完畢,可用查詢的辦法獲知或者用中斷的辦法獲知。RI也必須用軟件清0。 電源控制寄存器:PCON寄存器主要是為CHMOS型單片機(jī)的電源控制而設(shè)的專用寄存器,單元地址為87H,最高位SMOD是串口波特率倍增位。當(dāng)SMOD=1時,串行口波特率加倍。系統(tǒng)復(fù)為時SMOD=0。AT89C52 有6個中斷源:兩個外部中斷(INT0 和INT1),三個定時中斷(定時器0、1、2)和一個串行中斷。每個中斷源都可以通過置位或清除特殊寄存器IE 中的相關(guān)中斷允許控制位分別使得中斷源有效或無效。IE還包括一個中斷允許總控制位EA,它能一次禁止所有中斷。如下表所示,IE.6位是不可用的。對于AT89C52,IE.5位也是不能用的。用戶軟件不應(yīng)給這些位寫1。它們?yōu)锳T89系列新產(chǎn)品預(yù)留。 定時器2可以被寄存器T2CON中的TF2和EXF2的或邏輯觸發(fā)。程序進(jìn)入中斷服務(wù)后,這些標(biāo)志位都可以由硬件清0。實際上,中斷服務(wù)程序必須判定是否是TF2 或EXF2激活中斷,標(biāo)志位也必須由軟件清0。定時器0和定時器1標(biāo)志位TF0 和TF1在計數(shù)溢出的那個周期的S5P2被置位。它們的值一直到下一個周期被電路捕捉下來。然而,定時器2 的標(biāo)志位TF2 在計數(shù)溢出的那個周期的S2P2被置位,在同一個周期被電路捕捉下來。2.3 軟件設(shè)計選擇 讀卡器的軟件控制可采用匯編語言和C語言編程,這兩種語言各有各的特點,匯編:效率高,對硬件的可操控性更強,體積小,不易維護(hù),可移植性很差且匯編語言是低級語言,能夠直接操作硬件,并且生成機(jī)器碼的效率高。但匯編對平臺的依賴性強,可移植性差,開發(fā)效率低。 C語言:移植性比較好,代碼效率也比較高,可以對部分硬件直接訪問。開發(fā)效率較高。寫得好的C代碼,可移植性是很好的,很多時候都不用修改或者只做少量修改。在目前的嵌入式系統(tǒng)中,C語言是使用最廣泛的語言。所以,兩者各有優(yōu)缺點,本設(shè)計采用的是匯編語言的軟件設(shè)計方案。3 硬件設(shè)計 系統(tǒng)程序重點任務(wù)是能夠系統(tǒng)變量初始化,檢測并且使用IC卡,并將結(jié)果存儲跟顯示、然后記錄送入PC機(jī)中。讀卡器里應(yīng)用I2C存儲器24C64,存儲的內(nèi)容主要是:機(jī)號(1個字節(jié))、總金額(3個字節(jié))和總記錄(2個字節(jié))。每一張卡的信息應(yīng)該包括:加卡金額(1字節(jié))、卡身份號(4字節(jié))、售卡日期(2字節(jié))跟售卡人編號(1字節(jié))。 每當(dāng)射頻卡距離天線一定范圍時,讀卡器就讀到卡中的信息。系統(tǒng)單片機(jī)要把所讀信息進(jìn)行分析和處理,一旦符合條件,就讀卡成功,然后指示燈亮一下,蜂鳴器鳴向一聲。然后卡片數(shù)據(jù)跟此刻時間一起存儲在單片機(jī)內(nèi)的存儲器24C64里 。同時LED顯示器上顯示卡所讀數(shù)據(jù)。要是無卡在讀卡器的范圍內(nèi)時,則LED上顯示此刻的時間。倘若讀卡出錯什么的,并顯示出錯了錯誤標(biāo)志。則在和上位機(jī)進(jìn)行通訊的時候,把單片機(jī)里EEPROM歲存儲的信息發(fā)向上位機(jī)。主程序流程如圖3所示:系統(tǒng)初始化裝載密碼開始有卡進(jìn)入是串口中斷卡合法Y讀寫卡操作報 警 處 理相關(guān)記錄送PC數(shù)據(jù)處理及存儲計數(shù)器滿YYNN數(shù)據(jù)包有效執(zhí)行PC機(jī)命令讀時鐘及轉(zhuǎn)換顯示時鐘送LED顯示器顯示相關(guān)信息NNYYN圖3 主程序流程圖3.1讀/寫卡程序初始化退出將扣費后的金額寫如卡IC卡防沖突顯示扣費后的金額搜尋IC卡扣除規(guī)定金額顯示卡中扣費前的余額讀卡中余額認(rèn)證選擇IC卡是否寫卡成功Y寫卡累計次數(shù)加1累計次數(shù)6NNY蜂鳴器響 圖4 讀寫流程圖 卡的讀寫過程是相當(dāng)復(fù)雜的一個執(zhí)行過程,要完成許多的操作指令,調(diào)用很多的函數(shù)。其中應(yīng)該包括裝載密碼,選卡,詢卡,防沖突,讀寫卡,驗證密碼,停卡的操作。并且所有的這些流程都一定要按著固定的順序執(zhí)行。在無Mi fare卡在天線的有效距離里面時,就會顯示那個時候的時間,然而一旦有Mi fare卡在天線的有效范圍里的時候,并且在讀卡程序驗證密碼和卡正確無誤后,把讀卡時間和卡號以及相關(guān)數(shù)據(jù)信息當(dāng)作一條記錄存儲在E2PROM里,同時在顯示器上顯示當(dāng)前的金額數(shù)目4。如圖4所示:讀寫器針對IC卡的操作流程圖。3.2 顯示電路顯示部分采用數(shù)碼顯示,使用串行輸入BCD碼-十進(jìn)制譯碼驅(qū)動顯示器件MC14499來完成和單片機(jī)系統(tǒng)的顯示接口,以顯示輸入的數(shù)據(jù)、讀寫器工作狀態(tài)或讀出卡中剩下和出錯的信息等。此器件主要有1個多路輸出器、1個鎖存器和1個20位移位寄存器。當(dāng)輸出器輸出的BCD碼經(jīng)譯碼后,變成小數(shù)點DP和七段碼(abcdefg)輸送到段驅(qū)動器輸出。在顯示電路中,用P1口3根I/O口線(P1.0、P1.1、P1.2)分別提供時鐘信號(CLK)、串行數(shù)據(jù)(DA)和使能信號(EN)。MC14499一次可接收20位串行輸入數(shù)據(jù),前面4位可以用于控制數(shù)碼管的小數(shù)點顯示,而后16位則是4個數(shù)碼管的BCD碼輸入數(shù)據(jù)。而在每幀數(shù)據(jù)傳送之前,必須把EN置0;然后傳送20位數(shù), 數(shù)據(jù)傳送完后,再將EN置1。 圖5 顯示流程圖3.3 I2C存儲器24C64 讀寫器中設(shè)計了存儲器。存儲器選用24CXX系列的串行E2PROM。在車載機(jī)中主要存放乘客IC卡號、司機(jī)號和刷卡總數(shù)等信息。正常工作后,每隔一段時間要把讀寫器拿到公交管理中心將讀寫器儲存的信息回放到PC機(jī)中保存處理。讀寫器中存儲器可采用24C64,其存儲量為8KB,因此最大能存儲1023張售卡記錄。如有需要也可用容量更大的存儲器如24C128或24C256等。24C64為I2C總線的E2PROM。SCL為400kHz時鐘線,SDA為雙向數(shù)據(jù)線,A2、A1、A0三位為片選地址,即I2C總線上最多可并聯(lián)8個串行E2PROM芯片。對E2PROM的操作方式由讀寫控制命令字決定,如下圖所示。其中1010為4位讀寫控制碼,R/W為讀寫控制位:0為寫操作,1為讀操作。所以結(jié)合電路圖可知A2H為寫控制命令字,A3H為讀控制命令字。對存儲器寫操作,首先,單片機(jī)向24C64發(fā)一個START命令,產(chǎn)生啟動信號;然后,發(fā)寫命令控制字(如A2H)。當(dāng)24C64應(yīng)答后,進(jìn)入一個寫周期,再由單片機(jī)發(fā)送寫數(shù)據(jù)地址,即確定數(shù)據(jù)寫入到存儲器的哪個地址;當(dāng)有應(yīng)答,單片機(jī)將要存儲的數(shù)據(jù)送入到SDA數(shù)據(jù)線上;寫周期結(jié)束時,單片機(jī)再發(fā)一停止位(STOP)。對存儲器讀操作,首先,單片機(jī)向24C64發(fā)一個START命令,產(chǎn)生啟動信號;然后由單片機(jī)給出讀數(shù)據(jù)地址;發(fā)送成功后,單片機(jī)又向24C64發(fā)一個START命令,產(chǎn)生開始條件,然后發(fā)讀命令控制字(A3H);當(dāng)24C64應(yīng)答后,進(jìn)入一個讀周期,單片機(jī)從SDA數(shù)據(jù)線上讀出指定存儲地址中的數(shù)據(jù)。讀周期結(jié)束時,單片機(jī)再發(fā)一停止位(STOP)。值得注意的是,對存儲器操作時,每讀寫一個字節(jié),單片機(jī)必須送一個應(yīng)答位(ACK),釋放一下SDA數(shù)據(jù)線,以便存儲器能繼續(xù)接收數(shù)據(jù)圖6 24C64讀寫流程圖3.4 監(jiān)控電路概述監(jiān)控電路為DS1232L芯片又稱看門狗定時器,功能是:斷電和上電時向89C52產(chǎn)生復(fù)位信號;看門狗進(jìn)行系統(tǒng)監(jiān)控,以防范死機(jī)的出現(xiàn)。該定時器的ST信號能夠在微處理器的數(shù)據(jù)信號、控制信號或地址信號里獲得,但是不管哪一種信號都必須能周期性的訪問DS1232。在DS1232計數(shù)沒有溢出時單片機(jī)發(fā)一信號就能使DS1232再進(jìn)行重新計數(shù),若一定時間內(nèi)DS1232計數(shù)清零未完車,則DS1232就會發(fā)復(fù)位信號來促使單片機(jī)復(fù)位。所以編程的時候,必須在一定時間內(nèi)給ST腳發(fā)送一個信號。3.5 上、下位機(jī)通信設(shè)計通過232 TTL電平實現(xiàn)單片機(jī)與PC機(jī)之間的通信(05V)和RS232電平(+ 1010V)轉(zhuǎn)換,轉(zhuǎn)讓全部車輛機(jī)器救卡的銷售記錄。本設(shè)計采用中斷方式,在此基礎(chǔ)上,若用方式1、2,則當(dāng)1幀的數(shù)據(jù)接收或發(fā)送完后,TI/RI就會自動置為1,然后請求串行中斷,但若是CPU中斷,就進(jìn)行串行中斷,使得TI/RI清0而再次中斷。方式1是10位異步通信方式,其包括1個停止位,8個數(shù)據(jù)位和1個起始位。而波特率是由串口控制寄存器SMOD的狀態(tài)和定時器T1的溢出率決定,在CPU晶振是11.0592MHz時,波特率就為9600b/s。SBUF執(zhí)行寫操作就可以啟動發(fā)送,當(dāng)在發(fā)送移位時鐘的同時,就從TXD先送出起始位,然后是8位數(shù)據(jù)位,最后是停止位,這樣來完成1幀數(shù)據(jù)的發(fā)送,中斷標(biāo)志TI置位。在允許接收的條件下(REN1),當(dāng)接收來自負(fù)跳變?yōu)?至0,即被當(dāng)成1幀數(shù)據(jù)的起始位,啟動1次接收過程。當(dāng)8位數(shù)據(jù)接收完,并檢測到高電平停止位后,就把收到的8位數(shù)據(jù)裝入SBUF,置位RI,1幀數(shù)據(jù)的接收過程完成。發(fā)送時,數(shù)據(jù)從TXD引腳輸出,當(dāng)數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送。發(fā)送一幀數(shù)據(jù)后,有硬件將TI置1,并申請中斷,通知CPU可以發(fā)送下一個數(shù)據(jù),單片機(jī)即從存儲器中將歷史記錄數(shù)據(jù)上傳給PC機(jī)。 圖7為下位機(jī)發(fā)送流程圖:關(guān)中斷去數(shù)據(jù)首址去記錄個數(shù)讀24C64打開TC232發(fā)送數(shù)據(jù)關(guān)閉TC232發(fā)送完NY圖7 下位機(jī)發(fā)送流程圖3.6 時鐘電路 下圖為DS1302的實時時間流程。單片機(jī)對DS1302的讀寫控制主要包括讀取DS1302的時間和日期和DS1302的初始化,初始化過程即給DS1302賦予初始日期和時間,當(dāng)時鐘芯片啟動后,在新的初始化指令沒有接收到的情況下,就會一直不停地運行其內(nèi)部的時鐘,以保證時的準(zhǔn)確性和實時性;單片機(jī)在任何時候都可以通過讀取DS1302內(nèi)部時間和日期復(fù)位端產(chǎn)生一個高電平寫1302地址延時一段時間將該地址的數(shù)據(jù)讀出地址增加顯示數(shù)據(jù)地址增加向該地址寫數(shù)據(jù)使DS1302不具有寫保護(hù)復(fù)位產(chǎn)生一個高電平寫1302地址變量初始化延時一段時間開始數(shù)據(jù)寫完了嗎?N數(shù)據(jù)讀完了嗎YYN。 圖8 DS1302實時時間流程3.7 蜂鳴器模塊概述 蜂鳴器程序:本程序通過在P1.7送出的音頻范圍的方波,驅(qū)動蜂鳴器發(fā)出響聲,其中延時子程序的作用是使輸出在人耳朵聽覺能力之內(nèi)的20KHZ以下的方波頻率,要是沒有延時程序的話,輸出頻率將會大大地超出人耳朵的聽覺能力范圍,我們就不能聽到發(fā)出聲音。只要更改延時常數(shù),就可以改變輸出頻率,也就可以調(diào)整音調(diào)。所以我們可以更改#228為其他值,以改變蜂鳴器音調(diào)來達(dá)到我們的目的。蜂鳴器連接圖如圖9所示: 圖9 蜂鳴器連接圖4 軟件設(shè)計4.1讀卡器流程圖讀卡 器軟件設(shè)計流程圖如圖10所示:首先單片機(jī)接通電源開始初始化等待ibutton接觸,當(dāng)有ibutton接觸的時候讀取其中的數(shù)值并對其進(jìn)行減法操作所得數(shù)值返回ibutton,然后送數(shù)碼管顯示,最后把減去的金額送到I2C存儲器存儲,完成一次交易后單片機(jī)將又繼續(xù)等待ibutton接觸。 圖10 讀卡器軟件設(shè)計流程圖 4.2公交收費系統(tǒng)軟件功能結(jié)構(gòu)公交收費軟件應(yīng)能實現(xiàn)如下圖11所示的基本功能,IC卡收費PC機(jī)程序用卡管理車輛人員管理數(shù)據(jù)回收與查詢?nèi)粘蟊硖幚硐到y(tǒng)管理日/月營業(yè)報表充值報表用戶權(quán)限管理數(shù)據(jù)維護(hù)圖11公交收費軟件功能框圖 4.3公交管理軟件系統(tǒng)軟件本設(shè)計的公交管理軟件系統(tǒng)軟件采用成熟的公交收費管理軟件。該軟件是由深圳市卡聯(lián)科技有限公司開發(fā),具體的功能界面截圖如下。圖12系統(tǒng)登錄界面圖13 開卡明細(xì)界面圖14 退卡明細(xì)界面圖15 注銷卡明細(xì)報表界面圖16用戶余額明細(xì)報表界面圖18個人消費記錄報表界面圖18個人消費匯總報表界面圖19 司機(jī)出勤報表界面圖 20 終端匯總報表界面結(jié)束語 該課題研究的公交智能收費系統(tǒng)在許多城市的公交交通中有著極為廣泛運用,它使用射頻技術(shù)為前提,課題設(shè)計的Mi fare系列射頻卡讀寫器可以進(jìn)行多種Mi fare系列射頻卡讀寫操作,從而能夠與計算機(jī)進(jìn)行串行通信。讀寫器在大約010CM范圍內(nèi)可以對卡片進(jìn)行非接觸通訊操作,操作的時候沒有方向的要求,銀耳使用起來非常的方便、快捷。對于其可靠性:因為和讀寫器之間沒有機(jī)械性接觸,所以能夠避免因為接觸讀寫的磨損而造成的物理損傷引起的故障,如接觸不良、芯片脫落、粗暴插卡、彎曲損壞等。 此外非接觸卡中還有快速防沖突機(jī)制,該機(jī)制能防止卡片與卡片之間出現(xiàn)數(shù)據(jù)干擾混淆的功能,因此可以進(jìn)行“同時”對多張卡的并行處理優(yōu)點,從而提高系統(tǒng)工作效率與速度。 當(dāng)然接觸式卡的序列號是不能更改的,由于制造廠家固化的原因而是不可以更改的??ㄖ懈魃葏^(qū)都有各自獨立的訪問條件和操作密碼,讀寫器跟卡之間使用雙向驗證的機(jī)制,運行過程里全部數(shù)據(jù)都是加密的。乘車刷卡的時候,只要把卡的卡面靠近刷卡區(qū)并且停留大約0.3秒的樣子,就可以完成乘車?yán)U費的流程,同時顯示屏上會顯示卡內(nèi)余額跟本次乘車的消費金額。雖然國內(nèi)外對公交卡的系統(tǒng)已經(jīng)有了多年的研究,但是非接觸式射頻系統(tǒng)如公交智能收費系統(tǒng)(B)研究過程也才幾年的時間。此射頻卡讀寫器系統(tǒng)讀寫非接觸式IC卡片方便、迅速、可靠、安全,這種卡優(yōu)點足以取代目前仍在使用的接觸式IC卡讀寫器和磁卡,它的出現(xiàn)代表了科學(xué)技術(shù)發(fā)展的方向,以及其擁有的巨大發(fā)展和應(yīng)用前景。參考文獻(xiàn)1 楊振野. IC卡技術(shù)及其應(yīng)用 .北京:科學(xué)出版社, 2006 .7 Yang Zhenye. The IC card technology and its application M.Beijing: Science Press, 2006.72 胡健等. 單片機(jī)原理與接口技術(shù).機(jī)械工業(yè)出版社, 2004.6 Hu Jian. Single chip microcomputer principle and Interface Technology (M). Mechanical Industry Press, 2004.63 胡乾斌,李光斌,李玲,甘錫英. 單片微型計算機(jī)原理與應(yīng)用. 華中科技大學(xué)出版社, 1997.7 Hu Qianbin, Li Guangbin, Li Ling, Gan Xiying. The single chip micro computer principle and application M. Huazhong University of Science and Technology press, 1997.74 賴麒文.C8051單片機(jī)語言開發(fā)環(huán)境實務(wù)與設(shè)計. 科學(xué)出版社, 2002.1 Lai Qiwen . C8051 language development environment and design practice (M).Science Press, 2002.15 崔光照. 單片機(jī)原理與接口技術(shù).北京郵電大學(xué)出版社, 2005.10 Cui Guangzhao. Single chip microcomputer principle and Interface Technology (M) .Beijing University of Posts and Telecommunications press, 2005.106 J.卡爾.約瑟夫(美). 射頻電路設(shè)計. 科學(xué)出版社, 2007 J. Carle Joseph (USA). RF circuit design (M). Science Press, 20077 陳邦媛. 射頻通信電路. 科學(xué)出版社, 2007 Chen Bangyuan.RF communication circuit (M).Science Press, 20078 曾強等. 無線射頻識別與電子標(biāo)簽.中國經(jīng)濟(jì)出版社, 2005 Ceng Qiang. Radio frequency identification (M) and the electronic tag. Chinese Economic Publishing House, 20059 李朝青.無線發(fā)送/接受IC芯片及其數(shù)據(jù)通信技術(shù). 北京航空航天大學(xué)出版社, 2003 Li Zhaoqing. A wireless transmit / receive IC chip and data communication technology (M). Beihang University press, 200310馬玉春等.串行通信協(xié)議的研究及應(yīng)用.計算機(jī)應(yīng)用研究, 2004 Ma Yuchun et al. Study and application of the serial communication protocol (M). Application Research of computers, 200411范逸之. Visual Basic 與RS232串行通訊控制.中國青年出版社, 2001.1 Fan Yizhi Visual Basic and RS232 serial communication control (M). Chinese Youth Press, 2001.112趙炯等.串行數(shù)據(jù)傳輸協(xié)議的剖析研究. 計算機(jī)工程,2004.5 Zhao Jiong. Serial data transmission protocol (M) analysis. Computer Engineering, 2004.513Gofton.P.W(美). 精通串行通信. 電子工業(yè)出版社, 1995.2 Gofton.P.W (USA).Proficient in serial communication (M). Publishing House of electronics industry, 1995.214Carl.J.Wiseman. RF與無線技術(shù)精要(英文版). 電子工業(yè)出版社, 2003.6 Essentials of Carl.J.Wiseman. RF and wireless technology (English version) (M). Publishing House of electronics industry, 2003.615Jon B.Hagen. 射頻電子學(xué)(英文).機(jī)械工業(yè)出版社, 2005.4 Jon B.Hagen. RF electronics (English) (M).Mechanical Industry Press, 2005.4 致 謝 首先我要衷心地感謝我的指導(dǎo)老師,本文是在他的精心指導(dǎo)下才得以完成的,從論文的選題到最后的審稿、定稿無不傾注了指導(dǎo)老師辛勤的汗水。在課題設(shè)計期間,得到了許多同學(xué)的幫助和支持。設(shè)計初期,在黃老師的指導(dǎo)下通過上網(wǎng)查大量的資料、翻閱相關(guān)的書籍,使我們手頭掌握了大量的課題資料,對設(shè)計課題的內(nèi)容有了充分的了解,設(shè)計的思路也逐步變的清晰,經(jīng)過一個多月的辛勤努力,還有老師的幫助下終于如期完成了畢業(yè)設(shè)計,由于時間倉促,設(shè)計中難免會存在一些不足。 最后,再次向在畢業(yè)設(shè)計中給予我關(guān)懷和幫助的所有的老師和同學(xué)們表示深深的感謝!附錄 程序清單Request (請求應(yīng)答)程序: NOP NOP MOV A,#0CH ;設(shè)置STACON MOV R0,#01H MOVX R0,A MOV A,#0EH ;設(shè)置BAUDRATE MOV R0,#05H MOVX R0,A MOV A,#0C0H ;設(shè)置ENABLE MOV R0,#02H MOVX R0,A MOV A,#0C6H ;設(shè)置MODE MOV R0,#07H MOVX R0,A MOV A,#0CH ;再次設(shè)置STACON MOV R0,#01H MOVX R0,A MOV A,#02H ;設(shè)置RCODE MOV R0,#0EH MOVX R0,A MOV A,#07H ;設(shè)置BCNTS=7bits MOV R0,#03H MOVX R0,A MOV A,#10H ;設(shè)置BCNTR=2Bytes MOV R0,#04H MOVX R0,AJUDGE_COMMAND:;選擇REQ STD還是REQ ALL MOV A,R2 XRL A,#01H JNZ RQT_STDRQT_ALL: MOV A,#52H SJMP RQT_NEXTRQT_STD: MOV A,#26HRQT_NEXT: MOV R0,#00H;發(fā)送命令碼 MOVX R0,A NOP MOV A,#0AH ;設(shè)置TOC=1ms MOV R0,#06H MOVX R0,ARQT_STACON: MOV R0,#01H;讀 STACON MOVX A,R0 JNB ACC.7,RQT_STACON;判斷 DV=1? MOV R7,A ;暫存STACON MOV A,#00H;清零TOC MOV R0,#06H MOVX R0,A MOV A,R7;判斷是否出錯 JB ACC.6,RQT_TE_ERR JB ACC.3,RQT_BE_ERR MOV R0,#00H ;讀TAGTYPE MOVX A,R0 MOV 20H,A MOV R0,#00H MOVX A,R0 MOV 21H,A MOV B,#00H;設(shè)置 OK 標(biāo)志 SJMP RQT_EXITRQT_BE_ERR:;錯誤處理 MOV B,#01H SJMP RQT_EXITRQT_TE_ERR: MOV B,#02H SJMP RQT_EXITRQT_EXIT: RET Anticollision 防沖突程序: NOP NOP MOV A, #0CH SETB ACC.0 ;設(shè)置AC=1,啟動防沖突 MOV R0,#01H MOVX R0,A ACALL DELAY_500s ;延遲1000s ACALL DELAY_500s MOV A,#10H ;設(shè)置BCNTS為2Bytes MOV R0,#03H MOVX R0,A MOV A, #28H ;設(shè)置BCNTR為5Bytes MOV R0,#04H MOVX R0,A MOV A, #93H ;發(fā)送命令碼 MOV R0,#00H MOVX R0,A MOV A,#20H;發(fā)送NVB MOV R0,#00H MOVX R0,A MOV A,#0AH ;設(shè)置TOC為1ms MOV R0,#06H MOVX R0,AANTI_STACON: MOV R0,#01H;讀STACON MOVX A,R0 JNB ACC.7,ANTI_STACON;判斷 DV=1? MOV R7,A ;暫存STACON MOV A, #00H;清零TOC MOV R0,#06H MOVX R0,AMOV A,R7;判斷是否出錯 JB ACC.6, ANTI_TE_ERR JB ACC.3, ANTI_BE_ERR MOV R7,#04H MOV B,#00H MOV R1,#30H;設(shè)置片內(nèi)RAM的SN暫存區(qū)首地址 MOV R0,#00HANTI_LOOP: MOVX A,R0;讀入4字節(jié)SN并逐一異或 MOV R1,A XRL B,A INC R1 DJNZ R7,ANTI_LOOP MOVX A,R0;讀入1字節(jié)校驗碼 XRL A,B;用校驗碼異或校驗SN JNZ ANTI_CHK_ERR_EXIT;校驗出錯 MOV B,#00H;設(shè)置OK標(biāo)志 AJMP ANTI_BACKANTI_TE_ERR:;錯誤處理 MOV B,#01H AJMP ANTI_BACKANTI_BE_ERR:MOV B,#0AH AJMP ANTI_BACKANTI_CHK_ERR_EXIT:MOV B,#08HANTI_BACK: RET Select Tag 選擇卡片操作程序:SELECT: MOV A,#0CH MOV R0,#01H MOVX R0,A MOV A,#0F0H ;設(shè)置ENABLE MOV R0,#02H MOVX R0,A MOV A,#38H ;設(shè)置BCNTS=7Bytes MOV R0,#03H MOVX R0,A MOV A,#08H ;設(shè)置BCNTR=1 Byte MOV R0,#04H MOVX R0,A MOV A,#93H ;發(fā)送命令碼 MOV R0,#00H MOVX R0,A MOV
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【世界銀行】創(chuàng)新金融工具及其在管轄REDD發(fā)展中的作用
- 商業(yè)設(shè)計師考試的關(guān)鍵機(jī)制與試題答案總結(jié)
- 廣告設(shè)計師考試中的設(shè)計原則試題及答案
- 中考英語試題及答案陜西
- 助理廣告師考試高效學(xué)習(xí)方式試題及答案
- 2024年紡織設(shè)計師職業(yè)素質(zhì)試題及答案
- 研究紡織品的質(zhì)量與標(biāo)準(zhǔn)體系試題及答案
- 心境障礙試題及答案解析
- 思維導(dǎo)圖紡織品設(shè)計師證書考試試題及答案
- 關(guān)注紡織工程師證書考試分類知識試題及答案
- 高考語文120個重點文言實詞
- 江蘇省糧食集團(tuán)招聘筆試題庫2024
- 2024年深圳市彩田學(xué)校初中部小升初入學(xué)分班考試數(shù)學(xué)模擬試卷附答案解析
- 2024年安徽安慶市交通控股集團(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 《沙龍培訓(xùn)》課件
- 充電樁四方協(xié)議書范本
- 中考英語情景交際和看圖寫話
- 知道智慧網(wǎng)課《科學(xué)社會主義概論》章節(jié)測試答案
- 事故調(diào)查分析課件
- 《養(yǎng)老護(hù)理員》-課件:自然災(zāi)害的應(yīng)對處理知識
- 勞務(wù)外包服務(wù)方案(技術(shù)方案)
評論
0/150
提交評論