公務(wù)員期刊網(wǎng) 論文中心 正文

單片機下的IC卡門禁系統(tǒng)設(shè)計

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了單片機下的IC卡門禁系統(tǒng)設(shè)計范文,希望能給你帶來靈感和參考,敬請閱讀。

單片機下的IC卡門禁系統(tǒng)設(shè)計

摘要:針對傳統(tǒng)門鎖鑰匙易丟失、配置不便和忘記攜帶等問題,提出了一種基于STC89C52的ic卡門系統(tǒng)設(shè)計。該系統(tǒng)以STC89C52單片機為核心來控制電子鎖模塊的開關(guān)。主要過程是由RFID模塊讀取IC卡ID并通過串口發(fā)送至STC89C52單片機模塊,STC89C52單片機模塊可以實現(xiàn)在線對IC卡的ID進行注冊、刪除和保存。當(dāng)忘記帶IC卡時,可以通過按鍵模塊輸入密碼,STC89C52單片機模塊可以實現(xiàn)對輸入密碼的修改和保存[1]。實驗結(jié)果表明:該系統(tǒng)可以有效解決傳統(tǒng)門鎖鑰匙易丟失、配置不便和忘記攜帶以后的開鎖問題。

關(guān)鍵詞:單片機;在線注冊;門禁

1概述

傳統(tǒng)門鎖在鑰匙丟失或忘記攜帶時,只能從窗戶進入或者采取破壞門鎖的辦法開鎖。傳統(tǒng)門鎖在配置時需要找專業(yè)人士,比較麻煩而且不能保證所配鑰匙的準確性。在出租房屋業(yè)務(wù)中,由于經(jīng)常換租客,傳統(tǒng)門鎖因為可以隨意復(fù)制,安全系數(shù)低。針對這些問題提出了一種基于單片機的IC卡門禁系統(tǒng)[2]。IC卡門禁系統(tǒng)可以通過刷卡和輸入密碼兩種方式開鎖也可以隨意更改密碼,可以有效解決以上問題。

2IC卡門禁系統(tǒng)設(shè)計方案

IC卡門禁系統(tǒng)設(shè)計方案如圖1系統(tǒng)設(shè)計方案圖所示。該系統(tǒng)由單片機核心模塊、RFID讀卡模塊、LCD顯示模塊、電源模塊、報警模塊、電子門鎖模塊和存儲模塊七部分組成[3]。系統(tǒng)的工作模式有設(shè)置模式和正常模式兩種。系統(tǒng)上電后,按鍵模塊若有設(shè)置按鍵按下,則系統(tǒng)進入設(shè)置模式。設(shè)置模式又分為更新密碼和注冊IC卡兩種模式。設(shè)置模式完成以后,將信息存入存儲模塊[4]。系統(tǒng)上電后,若按鍵模塊設(shè)置按鍵沒有按下,則系統(tǒng)進入正常模式。若有IC卡靠近,RFID讀卡模塊讀取IC卡中的ID并且通過串口發(fā)送至STC89C52單片機模塊。STC89C52單片機模塊接受IC卡中的ID并且與FLASH中存儲的ID進行比對,比對成功則開鎖并提示門已打開,開鎖指示燈亮,反之則不開鎖并示警。若有按鍵按下密碼,則按鍵模塊通過串口將密碼發(fā)送到單片機模塊,單片機模塊接受到密碼信息并且與FLASH中存儲的密碼進行比對,比對成功則開鎖并提示開鎖成功,開鎖指示燈亮,反之則不開鎖并示警[5]。

3IC卡門禁系統(tǒng)軟件設(shè)計

IC卡門禁系統(tǒng)主要由KEIL軟件設(shè)計。系統(tǒng)分為設(shè)置模式和正常模式兩種。程序啟動,單片機掃描設(shè)置按鍵是否按下,若按下則進入設(shè)置模式,確定是注冊IC卡信息還是更換密碼。并在注冊IC卡信息或更換密碼后將新的IC卡信息或密碼保存在FLASH。若為開鎖程序則掃描是否有IC卡靠近,當(dāng)有IC卡靠近時讀取IC中的ID并且與FLASH中存儲的ID進行比對,比對成功則開鎖,反之則不開鎖并示警。當(dāng)沒有IC卡靠近時,掃描是否有密碼按下,若有則與FLASH中存儲的密碼進行比對,比對成功則開鎖,反之則不開鎖并示警。IC卡門禁系統(tǒng)主流程圖如圖2所示。

3.1定時器程序

采用定時器0,當(dāng)輸入密碼或刷卡正確時,定時1s之后門鎖自動關(guān)閉。當(dāng)輸入密碼或刷卡不正確時,定時50ms蜂鳴器滴滴滴響,之后LCD顯示器返回初始界面。

3.2按鍵與修改密碼程序

按鍵模塊由16個按鍵組成。分別表示0~9、返回、確定、設(shè)置、上鍵和下鍵。通過P1口與STC89C52單片機模塊連接。當(dāng)有按鍵按下時分為按下0~9按鍵、按下設(shè)置按鍵和按下其它按鍵。若按下0~9任意按鍵,直接開始輸入密碼,密碼正確,門打開,指示燈亮。若按下設(shè)置按鍵,則系統(tǒng)提示輸入密碼,輸入正確密碼后進入設(shè)置模式,按上下鍵選擇進入注冊IC卡模式,點擊確定,選擇進入注冊還是刪除IC卡ID。操作完成后點擊返回按鍵,返回初始界面。如果選擇進入的是修改密碼模式,需要一次輸入一遍原密碼和兩遍新密碼。如果原密碼輸入錯誤,則提示原密碼錯誤。如果兩遍新密碼不一致,則提示新密碼輸入不一致。如果三個輸入都正確,則將新密碼存入FLASH。若按下的是0~9和設(shè)置按鍵之外的按鍵,系統(tǒng)不作反應(yīng)。Button_ID=key_fs()//讀按鍵信息if(Button_ID!=255)//有按鍵按下{if(Button_ID<10)//如果系統(tǒng)為正常模式{InputPass[PassNum]=Button_ID//將輸入的密碼存入對應(yīng)數(shù)組}else//如果系統(tǒng)為設(shè)置模式{switch(ShowMode)}//選擇是更新密碼還是IC卡ID

3.3LCD顯示程序

本設(shè)計的LCD程序主要用于顯示當(dāng)前門禁的狀態(tài)和提示用戶下一步要進行的操作。當(dāng)系統(tǒng)上電,LCD顯示歡迎使用,請刷卡或輸入密碼。在正常模式時,當(dāng)系統(tǒng)打開電子鎖時顯示門已打開。當(dāng)IC卡的ID錯誤時顯示信息錯誤,當(dāng)輸入密碼錯誤時顯示密碼錯誤。在設(shè)置模式時,LCD顯示注冊ID、更新密碼。選擇注冊ID點擊確定按鍵,顯示注冊ID、刪除ID,選擇注冊ID,顯示請刷卡,注冊成功之后顯示注冊成功和返回。刪除成功之后顯示刪除成功和返回。點擊更新密碼,顯示輸入原密碼,輸入新密碼,確定新密碼。三者都正確之后顯示密碼修改成功。

3.4串口中斷程序

當(dāng)有IC卡靠近RFID讀卡模塊時,STC89C52控制模塊進入串口中斷接收IC卡ID,接收完成后,將信息存入FLASH。SCON=0x50;//串口方式1

3.5讀寫FLASH程序

主要有讀和寫兩個操作,讀是指在當(dāng)有IC卡靠近或者有人輸入密碼時,從FLASH中讀出保存的IC卡的ID與靠近的IC卡進行比對,或者讀出保存的密碼與輸入的密碼進行比對;寫主要是指注冊完新IC卡ID、刪除系統(tǒng)中原有的IC卡ID和更新門禁密碼之后將新信息保存至FLASH。

3.6IC卡注冊/刪除和開鎖程序

當(dāng)系統(tǒng)在控制模式時,可以選擇注冊IC卡或者刪除IC卡信息。若為注冊IC卡,第一步校驗IC卡類型,若卡類型符合標準,則status=MI_OK,反之返回。第二步校驗IC卡序列號,若序列號不沖突,將IC卡序列號存入序列號數(shù)組,反之返回。第三步車校驗IC卡密碼B,若密碼B正確。第四步讀取IC卡中的ID寫入數(shù)組,存入FLASH,同時將66寫入IC卡數(shù)組shu[0]。若為刪除IC卡時,第一二三步一樣,第四步將00寫入IC數(shù)組shu[0]。當(dāng)有IC卡靠近時,第一二三步和注冊IC卡ID程序一樣,第四步讀取IC卡ID,若和FLASH中存儲的一樣,則開鎖。反之不開鎖,并示警。

4功能測試

系統(tǒng)上電,指示燈顯示正常,LCD顯示器顯示歡迎使用,請刷卡或輸入密碼。輸入密碼正確密碼后顯示門已打開,門鎖指示燈亮,反之顯示密碼錯誤,門鎖指示燈不亮。刷卡正確時如圖3開鎖顯示圖所示顯示門已打開,門鎖指示燈亮,反之如圖4信息錯誤顯示圖所示顯示信息錯誤,門鎖指示燈不亮。注冊IC卡完成后顯示注冊完成,刪除IC卡信息后顯示刪除成功,更換密碼后顯示修改完成。

5結(jié)論

本文設(shè)計并實現(xiàn)了一種基于單片機的IC卡門禁系統(tǒng)。包括RFID技術(shù)的IC卡讀卡模塊、按鍵輸入密碼模塊、報警模塊和LCD顯示模塊。通過對系統(tǒng)的設(shè)計可以實現(xiàn)直接刷卡打開門禁系統(tǒng)或者輸入密碼打開門禁系統(tǒng),從而方便人們的生活。

參考文獻

[1]閆璞.教室照明智能節(jié)能控制系統(tǒng)[J].中國新技術(shù)新產(chǎn)品,2018(18):31-33.

[2]王芳芳,任擁偉戴志剛.基于單片機的IC卡門禁系統(tǒng)的設(shè)計[J].黑龍江科技信息,2016(15):168.

[3]韓玉,王瀟賢,馮薇,王運.基于RFID的宿舍門禁系統(tǒng)設(shè)計[J].電子世界,2016(21):114+117.

[4]曾維鵬,黃果.基于WiFi的51單片機雙層密碼保險箱的設(shè)計與實現(xiàn)[J].電子測試,2016(22):24-25.

[5]施亞杰,韓堅潔,廖博文,蔣軍輝.基于AT89C51單片機的現(xiàn)代化電子密碼鎖探索[J].產(chǎn)業(yè)與科技論壇,2017(12):55-56.

作者:馮美艷 殷鵬 單位:安陽學(xué)院航空工程學(xué)院