版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
STYLEREF標(biāo)題引言引言2.2非接觸式射頻卡2.2.1非接觸式IC卡MifareS50簡介本次設(shè)計中門禁系統(tǒng)的IC卡選取的是MIFARES50,MIFARES50是一類非接觸智能IC卡。這種射頻卡遵循的通信協(xié)議是A類型的14443通信協(xié)議。MIFARES50射頻卡主要由RF接口(天線)、LC諧振電路、EEPROM等部分構(gòu)成,并封裝到塑料中,這種射頻卡是無源的,也就說它工作時不需要電池。當(dāng)卡接近讀寫器天線時,讀卡器天線產(chǎn)生高頻電磁波信號,并且以106kb的速率傳輸數(shù)據(jù)。其中卡片的LC諧振電路可以接收特定頻率的射頻信號。并將這種高頻的振蕩信號轉(zhuǎn)變?yōu)槟芰坑糜趦?nèi)部電路的工作。S50射頻卡實物圖如圖2-11所示。圖2-11MIFARES50卡實物圖射頻卡主要是通過內(nèi)部LC耦合電路的電容來存儲天線接收到的射頻信號的能量,這種非接觸式IC卡的通信距離較短約為100mm,工作頻率固定為13.56MHz,理論上最大數(shù)據(jù)傳輸速為106kbps。射頻卡具有8Kbyte的EEPROM,8K的EEPROM分為16個扇區(qū),每個扇區(qū)分為4個塊,每個數(shù)據(jù)塊有16個字節(jié)。扇區(qū)0中存儲的0卡的序列號,個塊的第4塊為控制塊,其余為數(shù)據(jù)塊。存儲區(qū)的控制塊可以自定義數(shù)據(jù)塊的讀寫條件,這種設(shè)計具有較高安全性。S50射頻卡的每個標(biāo)簽都有一個無法更改的唯一序列號。這種射頻系統(tǒng)具有響應(yīng)認(rèn)證、數(shù)據(jù)加密和消息認(rèn)證等功能,保密性高,可防止各種干擾破解和篡改,使其廣泛應(yīng)用于醫(yī)療、身份識別、物流、倉儲等領(lǐng)域。射頻卡內(nèi)部主要由RF接口、數(shù)據(jù)處理單元等部分構(gòu)成。其結(jié)構(gòu)示意圖如2-12所示:圖2-12MifareS50內(nèi)部結(jié)構(gòu)示意圖2.2.2射頻卡與讀卡器交互讀卡器RC522向射頻卡發(fā)送數(shù)據(jù)的方式為彌勒編碼的ASK調(diào)制,射頻卡向讀卡器發(fā)送信息的方式為BPSK調(diào)制或曼徹斯特編碼的副載波調(diào)制。實際上卡片的防沖撞也是基于曼徹斯特編碼實現(xiàn)的??ㄆc讀卡器的數(shù)據(jù)交互主要由四個步驟構(gòu)成:尋卡、防沖撞、選卡、三輪驗證。其通訊流程圖如圖2-14所示:圖2-14MifareS50與讀卡器數(shù)據(jù)通訊流程圖2-15三輪認(rèn)證的流程圖2.3MFRC522射頻識別芯片2.3.1RC522讀卡器簡介以及讀卡器電路設(shè)計MFRC522是一類具有較高集成度的讀寫射頻卡的芯片,其集成度的調(diào)制解調(diào)電路支持14443a(type)通信協(xié)議,工作距離可達(dá)60mm。它支持SPI接口和I2C接口,串行UART.MFRC522主要由兩個部分組成:數(shù)字電路和模擬電路。數(shù)字電路由狀態(tài)機(jī)、編碼器和解碼器組成,模擬電路由調(diào)制器、天線驅(qū)動器、接收機(jī)和放大器組成。其結(jié)構(gòu)如圖2-16所示:圖2-16MFRC522功能框圖RC522模塊設(shè)計使用SPI方式進(jìn)行通信,其硬件電路上引出SPI通信使用的引腳有:MOSI、MISO、SCK、SDA。RC522讀卡器硬件電路主要由RC522芯片、晶振以及天線組成。其中晶振頻率為27.12MHZ。該模塊設(shè)計電路及實物如圖2-17所示,RC522與單片機(jī)連接說明見表2-1。圖2-17RC522模塊硬件設(shè)計電路及實物圖表2-1RC522模塊與單片機(jī)引腳連接說明RC522引腳STM32C8T6引腳說明 SDAPB3實際上是片選線SCKPA15SPI通信的時鐘線MOSIPA12主機(jī)輸出從機(jī)輸入MISOPA11主機(jī)輸入從機(jī)輸出 RSTPA8 復(fù)位信號線VCC\GND3V3\GND 3.3V直流電壓供電2.3.2SPI通信介紹門禁系統(tǒng)的設(shè)計中RC522讀卡器與單片機(jī)通訊方式是SPI(SerialPeripheralinterface),SPI是一種高速串行通信。SPI通信支持全雙工通信,通信簡單,數(shù)據(jù)傳輸速率塊,缺點(diǎn)是沒有指定的流量控制,沒有響應(yīng)機(jī)制來確認(rèn)是否接收數(shù)據(jù),因此通訊可靠性低于IIC總線協(xié)議。其通訊時序如圖2-18所示:在單片機(jī)與RC522模塊的SPI通信中,單片機(jī)作主機(jī),RC522作從機(jī),在進(jìn)行SPI通信時,時鐘信號由單片機(jī)產(chǎn)生,每次數(shù)據(jù)通信按照先傳輸高位后傳輸?shù)臀坏捻樞?,且附錄附錄?shù)據(jù)僅在SCK的下降沿改變,在SCK的上升沿保存不變。當(dāng)單片機(jī)從RC522通過SPI通信讀數(shù)據(jù)時,通過MISO數(shù)據(jù)線傳輸數(shù)據(jù),在此之前單片機(jī)需要通過MOSI數(shù)據(jù)線指定RC522的工作模式(被讀取數(shù)據(jù))以及數(shù)據(jù)地址,之后通過MISO數(shù)據(jù)線得到緩沖區(qū)的數(shù)據(jù)。當(dāng)單片機(jī)向RC522通過SPI通信寫數(shù)據(jù)時,通過MOSI數(shù)據(jù)線寫入數(shù)據(jù),在此之前單片機(jī)需要通過MOSI數(shù)據(jù)線指定RC522的工作模式(寫入數(shù)據(jù))以及數(shù)據(jù)地址,之后通過MOSI數(shù)據(jù)線向RC522的緩沖區(qū)寫入數(shù)據(jù)。圖2-18SPI通信時序圖2.4其他功能模塊的設(shè)計2.4.1OLED顯示模塊的設(shè)計OLED(OrganicLightEmittingDiode)又稱有機(jī)發(fā)光二極管,能夠自發(fā)光不需要背光。OLED顯示屏與LCD液晶屏相比具有啟動電壓低、響應(yīng)塊、主動發(fā)光、可折疊、重量輕等多方面優(yōu)點(diǎn)。OLED發(fā)光具體由下面三個步驟完成:載流子注入、載流子遷移、激子的遷移、輻射復(fù)合發(fā)光。本次設(shè)計中OLED顯示屏采用的是中景園生產(chǎn)的1.3寸OLED顯示屏。且該OLED模塊由SSH1106驅(qū)動。該模塊原理圖及實物圖如圖2-19所示,與單片機(jī)連接說明見表2-2。本次設(shè)計中選擇的OLED模塊使用IIC方式進(jìn)行數(shù)據(jù)傳輸,在使用OLED模塊之前首先確定單片機(jī)與OLED通信的IIC引腳。初始化STM32的引腳后通過讀寫數(shù)據(jù)的函數(shù)對OLED顯示屏進(jìn)行初始化,初始化包括設(shè)置OLED驅(qū)動時鐘分頻因子、設(shè)置顯示偏移、設(shè)置顯示對比度等等。接下來對需要顯示的字符進(jìn)行取模,封裝顯示字符的函數(shù)。圖2-19OLED顯示模塊原理圖以及實物圖表2-2OLED顯示模塊與單片機(jī)引腳連接說明OLED引腳STM32C8T6引腳說明 SDAPB9IIC通信的數(shù)據(jù)線SCLPB8IIC通信的信號線VCC\GND5V\GND 5V直流電壓供電2.4.2WIFI模塊電路設(shè)計在本次門禁系統(tǒng)設(shè)計中,除了刷卡開門,輸入密碼開門,還設(shè)計了第三種開門方式,使用WIFI通過機(jī)智云APP實現(xiàn)門的打開與關(guān)閉。WIFI模塊采用由安信可公司開發(fā)的ESP8266模塊,該模塊通過串口與單片機(jī)進(jìn)行通信,使用前需要燒錄機(jī)智云相應(yīng)固件。本次設(shè)計中WIFI模塊燒錄機(jī)智云固件,主要是利用機(jī)智云平臺實現(xiàn)門禁的無線控制。該模塊原理圖及實物圖如圖2-20所示,與單片機(jī)連接說明見表2-3。圖2-20WIFI模塊原理圖以及實物圖表2-3WIFI模塊與單片機(jī)引腳連接說明ESP8266引腳STM32C8T6引腳說明 TXDPA3單片機(jī)USART2的RXD與該模塊TXD相連RXDPA2單片機(jī)USART2的TXD與該模塊RXD相連VCC\GND5V\GND 5V直流電壓供電2.4.3語音播報模塊電路設(shè)計JQ8900是以單片機(jī)為核心的語音芯片。其主要特點(diǎn)是功能多、應(yīng)用范圍廣、性能穩(wěn)定,具有多種工作模式。在門禁系統(tǒng)的程序設(shè)計中,采用stm32c8t6的串口3來控制JQ8900語音廣播模塊輸出設(shè)定的語音。該模塊原理圖及實物圖如圖2-21所示,與單片機(jī)連接說明見表2-4。圖2-21語音播報模塊實物圖及封裝尺寸圖表2-4語音播報模塊與單片機(jī)引腳連接說明JQ8900引腳STM32C8T6引腳說明 TXPB11單片機(jī)USART3的RXD與該模塊TXD相連RXPB10單片機(jī)USART3的TXD與該模塊RXD相連SPK+--連接喇叭SPK---連接喇叭VCC\GND5V\GND 5V直流電壓供電2.4.4蜂鳴器模塊設(shè)計說明在門禁系統(tǒng)的設(shè)計中語音提示模塊除了JQ8900語音播報模塊,蜂鳴器模塊也被添加為輔助語言提示。蜂鳴器分為主動蜂鳴器和被動蜂鳴器。主動式蜂鳴器和被動式蜂鳴器的最大區(qū)別在于駕駛模式不同。由于有源蜂鳴器集成了振蕩電路,有源蜂鳴器只需要直流驅(qū)動,而無源蜂鳴器需要一定頻率的PWM信號驅(qū)動。本次設(shè)計中采用的是有源蜂鳴器,有源蜂鳴器內(nèi)部已設(shè)計了振蕩電路,在使用時僅需要設(shè)計驅(qū)動電路即可,蜂鳴器模塊原理圖如下,采用NPN三極管進(jìn)行驅(qū)動,設(shè)計中蜂鳴器輸入端連接STM32的PB15,設(shè)置PB15口線為推挽輸出,1k電阻起到限流作用,當(dāng)PB15輸出高電平時,電流經(jīng)過三極管放大驅(qū)動蜂鳴器發(fā)聲,但PB15輸出低電平時蜂鳴器不工作。該模塊原理圖及實物圖如圖2-22所示,與單片機(jī)連接方式見表2-5。圖2-22蜂鳴器模塊設(shè)計原理圖表2-5蜂鳴器模塊與單片機(jī)引腳連接說明蜂鳴器引腳STM32C8T6引腳說明 BEEPPB15驅(qū)動蜂鳴器工作的信號線VCC\GND5V\GND 5V直流電壓供電2.4.5舵機(jī)模塊簡介舵機(jī)主要由直流電機(jī)、減速齒輪組、傳感器和控制電路組成。通過接入PWM控制信號,可以控制電機(jī)轉(zhuǎn)動一定角度。舵機(jī)內(nèi)部有一個直流電機(jī),通過變速齒輪的傳動和變速,使輸出軸轉(zhuǎn)動,同時,舵機(jī)內(nèi)部都設(shè)有角度傳感器和控制電路板,控制舵機(jī)的轉(zhuǎn)動角度的控制和信號的反饋。角度傳感器實際上就是一個滑動變阻器,將電阻值變?yōu)殡妷褐担c輸入信號電壓值作為電壓比較器輸入,得到比較的差值控制直流電阻轉(zhuǎn)動,直到比較值相同,舵機(jī)便不再轉(zhuǎn)動。舵機(jī)的控制信號是脈沖寬度調(diào)制信號(PWM)。該舵機(jī)的控制信號周期為20MS的脈寬調(diào)制信號(PWM),脈寬為0.5ms-2.5ms,相應(yīng)的舵盤轉(zhuǎn)動0-180度。該模塊實物圖如圖2-23所示,舵機(jī)與單片機(jī)連接方式見表2-6。圖2-23輝盛SG90舵機(jī)模塊實物圖以及結(jié)構(gòu)圖圖2-24舵機(jī)轉(zhuǎn)動角度與脈沖寬度的關(guān)系表2-6舵機(jī)模塊與單片機(jī)引腳連接說明舵機(jī)引腳STM32C8T6引腳說明 S1PA1定時器二的二通道PWMS2PA7定時器三的二通道PWMVCC\GND5V\GND 5V直流電壓供電2.4.6DS1302實時時鐘模塊電路設(shè)計DS1302模塊:DS1302是一種高性能、低功耗、帶RAM的實時時鐘模塊,可對年、月、日、周、時、分、秒進(jìn)行計數(shù)。采用I2C通信方式。在門禁系統(tǒng)的設(shè)計中DS1302實時時鐘模塊電路的設(shè)計原理圖如下圖示,其中晶振采用32.768khz的無源圓柱形晶振,并加入了備份電池,使得在系統(tǒng)掉電的情況下該模塊也能正常工作。該模塊原理圖如圖2-25所示,與單片機(jī)連接說明見表2-7。圖2-25DS1302模塊設(shè)計原理圖表2-7OLED顯示模塊與單片機(jī)引腳連接說明DS1302引腳STM32C8T6引腳說明 SCKPA4IIC通信的時鐘線RSTPA5復(fù)位線SDAPA6IIC通信的數(shù)據(jù)線VCC1\VCC2\GND5V\GND VCC1為備用電池供電2.5本章小結(jié)本章詳細(xì)介紹了門禁系統(tǒng)中設(shè)計各個硬件模塊,主要介紹了門禁系統(tǒng)的主控制器、射頻卡、RC522讀卡器、WIFI模塊、語音播報模塊、蜂鳴器模塊、DS1302實時時鐘模塊、舵機(jī)模塊的硬件電路及基礎(chǔ)使用方法,為下一章介紹門禁系統(tǒng)軟件設(shè)計做好了準(zhǔn)備。第3章IC卡門禁系統(tǒng)程序設(shè)計上一章主要介紹了IC卡門禁系統(tǒng)的硬件組成,本章將從程序軟件方面對系統(tǒng)進(jìn)行介紹,包括程序編寫使用的軟件,程序框架已經(jīng)各個模塊程序的設(shè)計。3.1軟件開發(fā)環(huán)境MDK5簡介門禁系統(tǒng)軟件部分使用MDK5進(jìn)行開發(fā)。MDK由德國的KEIL公司開發(fā),uVision5IDE集成開發(fā)環(huán)境,是目前針對ARM處理器的最佳開發(fā)工具。MDK5向后兼容MDK4和MDK3等,以前的項目同樣可以在MDK5上進(jìn)行開發(fā),MDK5主要由兩個部分組成:MDKCore和SoftwarePacks。其中,SoftwarePack可以獨(dú)立于工具鏈進(jìn)行新芯片支持和中間庫的升級。開發(fā)環(huán)境MDK5的結(jié)構(gòu)如圖3-1所示。圖3-1MDK5的組成3.2門禁系統(tǒng)軟件總體設(shè)計IC卡門禁系統(tǒng)工作流程圖如圖3-2所示。系統(tǒng)上電后對各個模塊引腳進(jìn)行初始化,初始化完成后進(jìn)入自動尋卡的函數(shù),在自動尋卡的狀態(tài)下,門禁系統(tǒng)自動搜尋RC522讀卡器可讀取范圍內(nèi)的射頻卡,此時若按下矩陣鍵盤按鍵D則可以切換開門方式,尋卡狀態(tài)開門方式為射頻識別對比正確開門,可以通過按鍵D切換為矩陣鍵盤輸入密碼開門,切換為WIFI連接,利用機(jī)智云平臺提供的APP控制門的開關(guān)。每次刷卡的刷卡記錄都將存儲到單片機(jī)FLASH中,并且在管理員模式下能夠在串口查看刷卡記錄。在自動尋卡狀態(tài),若檢測到有卡刷入,首先判斷是否為管理卡,若為管理卡,則能夠執(zhí)行管理功能,如將卡號添加到FLASH,從FLASH中刪除卡片、凍結(jié)卡、查看刷卡記錄、翻閱內(nèi)存卡號、模擬校園卡充值扣款功能、清除內(nèi)存、復(fù)制卡號到CUID卡或UID卡、設(shè)置密碼、設(shè)置時間等功能。若不是管理卡,將讀取到的卡號與FLASH內(nèi)已存的卡號進(jìn)行對比,若為已存卡則執(zhí)行開門功能,若為未注冊卡將提示注冊,未注冊卡片刷卡次數(shù)超過3次將會使系統(tǒng)鎖定,在鎖定狀態(tài)下需要刷管理卡或等待一分鐘回到自動尋卡的狀態(tài)。在矩陣鍵盤輸入開門的狀態(tài)下,需要用矩陣鍵盤輸入正確的密碼才能開門,密碼存儲在STM32單片機(jī)的FLASH內(nèi),在執(zhí)行矩陣鍵盤的程序起始將會先從FLASH中讀取已存的密碼,用于與輸入密碼進(jìn)行對比。輸入密碼正確則能夠開門,輸入密碼錯誤次數(shù)過多將使系統(tǒng)鎖定,此時同樣需要刷管理卡或等待一分鐘解鎖。在WIFI控制狀態(tài)下可以進(jìn)行WIFI模塊的復(fù)位,以及進(jìn)行WIFI的連接,連接WIFI后在自動尋卡狀態(tài)下也能夠通過機(jī)智云平臺APP控制開關(guān)門。在門禁系統(tǒng)的軟件設(shè)計中采用了模塊化的編程方法,首先將系統(tǒng)分為幾個基本的模塊,分別進(jìn)行程序的設(shè)計,然后在根據(jù)需要添加功能。本系統(tǒng)根據(jù)功能主要劃分為以下幾個重要的功能模塊:主程序模塊、RFID射頻識別模塊、OLED顯示模塊、WIFI模塊、語音播報以及蜂鳴器模塊、舵機(jī)模塊、矩陣鍵盤模塊、DS1302模塊。接下來對于上述模塊的程序設(shè)計進(jìn)行具體介紹。圖3-2門禁系統(tǒng)工作流程圖3.2.1RC522模塊程序設(shè)計為了能夠使STM32C8T6與RC522讀卡器模塊通信,首先需要初始化通信的引腳:PB3(SDA)、PA15(SCK)、PA12(MOSI)、PA11(MISO)、PA8(RST)。通信引腳初始化后封裝SPI寫數(shù)據(jù)讀數(shù)據(jù)的函數(shù),對RC522模塊進(jìn)行初始化,RC522的初始化包括天線復(fù)位,選擇工作方式等。由第二章的介紹可知RC522與射頻卡的數(shù)據(jù)交互主要進(jìn)行三個步驟:尋卡、防沖撞、選卡,若要修改卡片扇區(qū)內(nèi)容還需要進(jìn)行三輪驗證。尋卡:S50射頻卡和讀卡器RC522之間的通信方式與通信速率是由通信協(xié)議約定好的,當(dāng)有射頻卡片進(jìn)入讀寫器的閱讀,讀寫器以特定的協(xié)議與它通訊,通信成功后能夠獲得卡片的卡號卡類型等信息。讀卡器尋卡時有兩種尋卡方式:一種是發(fā)送0x26命令字給RC522,尋找天線范圍內(nèi)未休眠的卡片,另一種是發(fā)送0x52命令字,搜尋的是天線范圍內(nèi)的所有卡。尋卡成功后將會返回2個字節(jié)數(shù)據(jù)的卡類型信息。防沖撞:當(dāng)多張卡進(jìn)入讀卡器工作范圍,讀卡器一次只能與一張卡通信時,防碰撞機(jī)構(gòu)將選擇一張卡進(jìn)行操作,其他卡等待下一張卡的選擇。防碰撞完成后,將返回所選卡的序列號。當(dāng)rc522發(fā)現(xiàn)多張卡時,讀卡器從天線范圍內(nèi)的所有卡中請求卡號,利用二級制比較搜索算法來進(jìn)行取舍,最終選擇一張卡進(jìn)行通信。選卡:防沖突完成后選擇被選中的卡的序列號,并同時返回卡片的四字節(jié)序列號。三輪驗證:以上三個步驟完成后若需要讀寫卡片扇區(qū)數(shù)據(jù)便需要進(jìn)行三輪驗證,經(jīng)過三次相互認(rèn)證,射頻卡內(nèi)部數(shù)據(jù)可以讀寫。RC522模塊初始化以及工作流程圖如圖3-3所示。圖3-3RC522模塊初始化以及工作流程圖3.2.2OLED顯示模塊程序設(shè)計OLED模塊傳輸信息的方式是IIC通信。首先需要初始化IIC通信的引腳PB8(SCL)、PB9(SDA),接下來封裝IIC讀寫的函數(shù),對OLED顯示屏進(jìn)行初始化,利用字模軟件制作字庫,在OLED上顯示相應(yīng)的字符。在OLED顯示程序的設(shè)計中在單片機(jī)內(nèi)存中開辟了一個顯示數(shù)據(jù)的緩沖區(qū),一共128*8個字節(jié),每次顯示的改變實際上都是在修改這個顯示緩沖區(qū),修改完顯示緩沖區(qū)便將更新OLED的顯示。該模塊初始化流程圖如圖3-4所示圖3-4OLED顯示模塊初始化流程圖3.2.3WIFI模塊程序設(shè)計在門禁系統(tǒng)的設(shè)計中WIFI模塊是ESP8266,ESP8266是串口轉(zhuǎn)WIFI的模塊。ESP8266模塊燒錄機(jī)智云固件,利用機(jī)智云平臺實現(xiàn)對門禁系統(tǒng)的控制。機(jī)智云運(yùn)作需要單片機(jī)提供1ms的時基,本次設(shè)計利用單片機(jī)定時器四作1ms定時,利用單片機(jī)串口二進(jìn)行數(shù)據(jù)傳輸。單片機(jī)串口通信首先需要確定串口通信波特率、數(shù)據(jù)字長、數(shù)據(jù)校驗方式、數(shù)據(jù)收發(fā)的緩沖區(qū),接下來使能數(shù)據(jù)的收發(fā),使能串口中斷,在串口中斷處理函數(shù)中,若產(chǎn)生了接收發(fā)送的中斷標(biāo)志,需要清除中斷標(biāo)志。機(jī)智云平臺的使用方法:登錄機(jī)智云平臺的開發(fā)者中心創(chuàng)建產(chǎn)品以及數(shù)據(jù)點(diǎn),由于機(jī)智云平臺提供了虛擬設(shè)備調(diào)試、自動生成代碼的功能,因此不需要過多考慮WIFI模塊以及云平臺交互協(xié)議程序,只要按需創(chuàng)建產(chǎn)品就能自動生成代碼,再將相關(guān)代碼移植到程序中,按照官方的說明文檔,使用機(jī)智云官方的APP就能實現(xiàn)對門禁系統(tǒng)簡單的控制。注意WIFI模塊需要燒錄機(jī)智云固件,燒錄成功后先用串口與電腦串口助手進(jìn)行調(diào)試,調(diào)試成功后再接入單片機(jī)。串口初始化流程如下圖3-5示:圖3-5串口2初始化流程圖3.2.4語音播報以及蜂鳴器模塊程序設(shè)計單片機(jī)通過串口控制播放設(shè)定的語音,在門禁系統(tǒng)的設(shè)計中利用串口3與控制JQ8900播放設(shè)定的語音。通過串口指定播放的語音,指令格式為AA+07+02+曲目+校驗和,其中校驗和取OXAA、0X07、0X02、曲目和的低8位。由于控制指令要48位,故將指令拆分開,分別發(fā)送32位+8位+8位命令。串口3初始化流程圖以及語音播報程序設(shè)計如下圖3-6所示:圖3-6串口3初始化流程圖及語音播報程序的設(shè)計3.2.5矩陣鍵盤模塊程序設(shè)計門禁系統(tǒng)中矩陣鍵盤用于輸入數(shù)字以及部分字符,程序上采用行列掃描的方法掃描鍵盤。其主要流程就是先讓行線或列線輸出高電平,比如先讓行線輸出高電平,檢測列線是否有IO口線被拉高,再讓列線輸出高電平,檢測行線IO口線是否被拉高,結(jié)合兩次判斷的結(jié)果,得到被按下按鍵的鍵值。矩陣鍵盤掃描流程圖如圖3-7所示:圖3-7矩陣鍵盤掃描流程圖3.2.6DS1302模塊程序設(shè)計DS1302模塊的軟件部分最基本的操作為寫函數(shù)和讀函數(shù),其次就是實現(xiàn)初始化函數(shù)。根據(jù)數(shù)據(jù)手冊封裝寫數(shù)據(jù)讀數(shù)據(jù)的函數(shù)。根據(jù)數(shù)據(jù)手冊當(dāng)單片機(jī)要從DS1302讀數(shù)據(jù)時,首先由一個使能線(RST)的上升沿開始向DS1302寫讀取數(shù)據(jù)的地址,每次寫地址的一位,從地址最低位開始,寫完地址后讀取數(shù)據(jù),讀數(shù)據(jù)從最高位開始讀。當(dāng)單片機(jī)向DS1302寫數(shù)據(jù)時,先向DS1302寫地址,從最低位開始,寫完地址后在寫入數(shù)據(jù)。接下來封裝寫時間,寫日期以及讀取時間日期的函數(shù)。DS1302工作流程圖如下圖3-8示:圖3-8DS1302初始化流程圖3.2.7舵機(jī)模塊程序設(shè)計由第二章舵機(jī)驅(qū)動原理可知需要一定占空比的方波驅(qū)動舵機(jī)轉(zhuǎn)動,在門禁系統(tǒng)的設(shè)計中,采用STM32單片機(jī)的定時器產(chǎn)生頻率為50hz的方波,當(dāng)方波高電平為1ms時舵機(jī)轉(zhuǎn)動0度,1.2ms時舵機(jī)轉(zhuǎn)動90度。在進(jìn)行PWM輸出配置時有限需要使能定時器時鐘、開啟AFIO時鐘設(shè)置重映射初始化輸出PWM的IO口,接下來初始化定時器,設(shè)置預(yù)分配系數(shù)以及預(yù)置數(shù),初始化輸出比較參數(shù)、使能定時器,不斷改變比比較值CCRX,輸出不同占空比的PWM波。程序設(shè)計中主要用這兩個狀態(tài)模擬門的打開與關(guān)閉。定時器的分頻系數(shù)設(shè)為999,預(yù)置值設(shè)為1439,定時器定時頻率為72MHZ/1000/1440=50hz。兩路舵機(jī)分別在定時器二的二通道以及定時器三的二通道輸出,輸出引腳分別為PA1以及PA7。3.2.8主函數(shù)程序設(shè)計主函數(shù)主要進(jìn)行各個模塊的初始化,初始化完成后進(jìn)入自動尋卡的函數(shù)。3.3本章小結(jié)本章主要介紹了各個模塊程序的設(shè)計,主要是利用流程圖以及程序說明各個模塊的工作流程以及使用方法,接下來介紹的是門禁系統(tǒng)功能的測試。第4章IC卡門禁系統(tǒng)的測試4.1添加卡、刪除卡功能、凍結(jié)卡功能的測試門禁系統(tǒng)的設(shè)計中添加卡功能能夠?qū)崿F(xiàn)將卡號注冊到不同的門號上。注冊的操作是將卡號存儲到STM32的FLASH中,卡號是一個8字節(jié)的十六進(jìn)制數(shù),利用sprintf函數(shù)在卡號末尾加一個字節(jié)作為標(biāo)記,加入0x01代表卡號存儲到門一,加入0x02表示卡號添加到門二,加入0x03代表卡號被凍結(jié)。刪除卡功能即將讀取到的卡號從內(nèi)存中刪除。凍結(jié)卡號需要輸入待凍結(jié)的卡號,將該卡號存入FLASH,并在卡號末標(biāo)記0x03。上述各個功能的測試結(jié)果如圖4-1、4-2、4-3所示。4.1.1注冊卡功能測試圖4-1添加卡號功能測試4.1.2注銷卡功能測試圖4-2刪除卡號功能測試4.1.3凍結(jié)卡號功能測試圖4-3注銷卡號功能測試4.2刷卡開門、輸入密碼開門、無線開門功能的測試門禁系統(tǒng)中刷卡開門的功能基于添加卡,凍結(jié)卡功能。刷卡時,將讀卡器讀取的卡號與內(nèi)存中已存的卡號進(jìn)行對比,若FLASH中已存入該卡號,則判斷內(nèi)存中存儲的卡號最后一字節(jié)數(shù)據(jù),若為0x01則開第一扇門,若為0x02則開第二扇門,若為0x03則提示卡號已被凍結(jié),若為未注冊卡則提示注冊,未注冊卡刷卡次數(shù)超過3次系統(tǒng)將進(jìn)入鎖定狀態(tài),此時需要刷管理卡或等待一分鐘解鎖。輸入密碼開門的功能中,程序一開始會從FLAH中讀取已存的密碼,將輸入密碼與已存密碼進(jìn)行對比,密碼正確則開門,錯誤次數(shù)達(dá)到3次系統(tǒng)將鎖定。利用機(jī)智云平臺實現(xiàn)無線開門的功能需要先將手機(jī)APP以及WIFI模塊連入同一個WIFI中。連接成功后,能夠進(jìn)行門鎖的無線控制。上述各功能的測試結(jié)果如圖4-4、4-5、4-6所示4.2.1刷卡開門功能測試圖4-4刷卡開門功能測試4.2.2輸入密碼開門功能圖4-5輸入密碼開門功能測試4.2.3無線開門功能圖4-6無線控制開門功能測試4.3翻閱卡號、翻閱刷卡記錄功能測試翻閱已存卡號以及翻閱刷卡記錄的功能,即將注冊時添加到FLASH的卡號以及刷卡記錄從FALSH中讀出并顯示。由于門禁系統(tǒng)采用的OLED屏顯示能力有限,翻閱刷卡記錄的功能需要在上位機(jī)查看記錄。刷卡記錄將卡號以及DS1302提供的時間信息一起存入FALSH。上述功能的測試結(jié)果如圖4-7、4-8所示4.3.1翻閱卡號功能測試圖4-7翻閱卡號功能測試4.3.2翻閱刷卡記錄功能測試圖4-8翻閱刷卡記錄功能測試4.4更改開門密碼、更改時間功能測試門禁系統(tǒng)刷卡中使用更改密碼的功能時首先需要輸入舊密碼,輸入正確后再將新密碼輸入,密碼最大長度為8位,輸入完成按下確認(rèn)鍵后新密碼將會更新到FLASH中。更改時間的功能中,首先需要輸入新的時間日期,確認(rèn)后新的時間將會被寫入DS1302的寄存器中,實現(xiàn)時間的更改,返回自動尋卡界面能夠觀察到更改的時間變化。上述各個功能的測試結(jié)果如圖4-9、4-10所示4.4.1更改開門密碼功能圖4-9更改密碼功能測試4.4.2更改時間功能測試圖4-10更改時間功能測試4.5本章小結(jié)本章主要是對門禁系統(tǒng)主要功能進(jìn)行測試,其中包括添加卡、刪除卡、凍結(jié)卡、翻閱刷卡記錄、翻閱系統(tǒng)已存卡號、修改時間、修改密碼、射頻識別開門、輸入密碼開門等功能的測試,在設(shè)計門禁系統(tǒng)的過程中還添加了復(fù)制卡號、復(fù)制全卡、模擬校園卡充值扣款等功能。一般的IC卡的0扇區(qū)第0塊,也就是卡片序列號是無法更改的,后面出現(xiàn)了CUID卡以及UID卡,這兩類卡能夠更改卡號,實現(xiàn)卡復(fù)制的功能。復(fù)制全卡的功能中只復(fù)制每個扇區(qū)的前三塊,第四塊為控制塊以及秘鑰信息,修改可能導(dǎo)致卡片信息無法讀取,因此不復(fù)制每個扇區(qū)第四塊的內(nèi)容。模擬校園卡的差值扣款功能實際上是更改卡片扇區(qū)的數(shù)據(jù),修改卡片扇區(qū)數(shù)據(jù)需要在選定卡片后進(jìn)行三輪驗證,若控制塊沒有修改,默認(rèn)密碼為6個字節(jié)0XFF,驗證KEYA成功即可修改扇區(qū)內(nèi)容。結(jié)論本次設(shè)計以樓宇門禁系統(tǒng)為背景,主要圍繞門禁系統(tǒng)中的射頻識別技術(shù)進(jìn)行探討與研究。門禁系統(tǒng)采用了STM32C8T6單片機(jī)為主控芯片,主要將RC522模塊、OLED模塊、DS1302模塊、WIFI模塊、矩陣鍵盤模塊組合在一起實現(xiàn)設(shè)計功能要求。在進(jìn)行門禁系統(tǒng)功能的設(shè)計過程中,重點(diǎn)進(jìn)行了射頻卡注冊、刪除、凍結(jié)、翻閱卡號、翻閱刷卡記錄、模擬校園卡充值扣款等功能的程序設(shè)計。通過對門禁系統(tǒng)軟件硬件的設(shè)計,對程序的編寫調(diào)試,基本達(dá)到了門禁系統(tǒng)設(shè)計任務(wù)的要求。本次設(shè)計實現(xiàn)過程中主要完成一下幾個工作:查閱大量的文獻(xiàn)以及資料,細(xì)致地研究了射頻識別技術(shù)(RFID)的理論知識,并對RC522模塊進(jìn)行深入的研究。在本文第二章就闡述了自己對于RC5222與射頻卡數(shù)據(jù)交互的理解。2、通過查閱文獻(xiàn)資料,對門禁系統(tǒng)設(shè)計所需的各個模塊
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026上半年貴州事業(yè)單位聯(lián)考體育職業(yè)學(xué)院招聘22人考試備考試題及答案解析
- 2026江蘇南京XZ2025-436地球科學(xué)與工程學(xué)院助理招聘筆試模擬試題及答案解析
- 2026上半年安徽事業(yè)單位聯(lián)考績溪縣招聘16人筆試備考題庫及答案解析
- 2026陜西寶雞三和職業(yè)學(xué)院人才招聘66人筆試備考題庫及答案解析
- 2026年嗩吶循環(huán)換氣技法教學(xué)
- 2026黑龍江鐵路集團(tuán)嫩江公司市場化招聘10人筆試備考題庫及答案解析
- 2026石家莊鐵路職業(yè)技術(shù)學(xué)院選聘30人筆試參考題庫及答案解析
- 2026云南紅河州個舊市醫(yī)療衛(wèi)生共同體賈沙分院招聘編外工作人員1人考試備考試題及答案解析
- 2026年景寧縣機(jī)關(guān)事業(yè)單位公開選調(diào)25人考試備考試題及答案解析
- 2026年地下水質(zhì)量監(jiān)測與評估技術(shù)
- 2026中國電信四川公用信息產(chǎn)業(yè)有限責(zé)任公司社會成熟人才招聘備考題庫及完整答案詳解一套
- 綠化設(shè)備安全培訓(xùn)課件
- 鋼結(jié)構(gòu)玻璃雨棚安裝施工方案
- 給水管道遷改工程施工方案
- 【數(shù)學(xué)】二次根式及其性質(zhì)第1課時二次根式的概念課件 2025~2026學(xué)年人教版數(shù)學(xué)八年級下冊
- 漢源縣審計局關(guān)于公開招聘編外專業(yè)技術(shù)人員的備考題庫附答案
- 2025安徽省合肥市公務(wù)員考試《行測》題庫及答案(各地真題)
- 2026年上海市普陀區(qū)社區(qū)工作者公開招聘筆試參考題庫及答案解析
- 《中華人民共和國危險化學(xué)品安全法》全套解讀
- 2025云南保山電力股份有限公司招聘(100人)筆試歷年參考題庫附帶答案詳解
- 監(jiān)理大綱(暗標(biāo))
評論
0/150
提交評論