周苗苗
摘 要:為便利人們生活,設(shè)計(jì)了一款以單片機(jī)AT89S52為核心,以發(fā)光二極管、指令按鍵、4*4矩陣鍵盤、有源蜂鳴器和RTC1602液晶顯示器等外圍器件為支撐的電子密碼鎖。該設(shè)計(jì)具備輸入密碼、顯示可控、輸入調(diào)整、密碼重置及錯(cuò)誤輸入聲光報(bào)警功能。
關(guān)鍵詞:AT89S52;4*4矩陣鍵盤;RTC1602
隨著社會(huì)發(fā)展和科技進(jìn)步,人類更加注重問題解決的過程與方法是否足夠簡捷。因此越智慧、越便捷的數(shù)字電子產(chǎn)品越能提升人們的幸福指數(shù)。本文基于為滿足人們對(duì)生活用品智慧和便利的追求,設(shè)計(jì)了一款以單片機(jī)AT89S52為核心,能夠應(yīng)用于多領(lǐng)域的電子密碼鎖。本設(shè)計(jì)首先具備密碼重置功能,其次能滿足人們輸入密碼時(shí),密顯可控及密碼調(diào)整的需求,其次若密碼輸入正確則進(jìn)入歡迎使用界面,反之則發(fā)出聲光報(bào)警信號(hào),最后,若連續(xù)五次密碼輸入錯(cuò)誤,則自鎖6小時(shí),很好地保證了信息和財(cái)產(chǎn)安全。
1 系統(tǒng)總體設(shè)計(jì)
本系統(tǒng)以單片機(jī)AT89S52最小系統(tǒng)為核心,發(fā)光二極管、指令按鍵、4*4矩陣鍵盤、有源蜂鳴器和RTC1602液晶顯示器等外圍器件為功能支撐,實(shí)現(xiàn)了集密碼可改、密顯可控、輸入可調(diào)、錯(cuò)誤報(bào)警和連錯(cuò)自鎖五大功能為一體的電子密碼鎖。本系統(tǒng)的總體結(jié)構(gòu)框圖如圖1所示:
2 系統(tǒng)硬件設(shè)計(jì)
2.1 單片機(jī)最小系統(tǒng)
該設(shè)計(jì)采用的主控芯片是ATMEL公司所生產(chǎn)的一種低功耗、高性能CMOS8位微控制器AT89S52,具有8位在系統(tǒng)可編程Flash存儲(chǔ)器。單片機(jī)的最小系統(tǒng)是能讓單片機(jī)工作起來的一個(gè)最基礎(chǔ)的硬件系統(tǒng),它由單片機(jī)芯片(如AT89S52)、復(fù)位電路和振蕩電路組成。
2.2 矩陣鍵盤模塊
該設(shè)計(jì)采用4*4矩陣鍵盤(也即4行4列),與單片機(jī)P1端口(8個(gè)I/O口)相連,按鍵位于行列交叉點(diǎn)上,鍵盤布局示意圖如圖2所示。
矩陣鍵盤采用掃描識(shí)別法,具體過程為:(1)判斷有無鍵盤按下。將所有行線置“0”,檢測(cè)列線狀態(tài)。若有列線電平為低,則有鍵按下,反之則無。(2)判斷閉合鍵位置。確認(rèn)有鍵按下之后,依次將行線置“0”,逐行檢測(cè)各列線電平狀態(tài),若某列為“0”,則置為“0”的行線及該列交叉處按鍵被按下。
2.3 聲光報(bào)警模塊
該設(shè)計(jì)采用程序控制方便的有源蜂鳴器和具有單向?qū)щ娦园l(fā)光二極管。一旦密碼輸入錯(cuò)誤,將通過單片機(jī)的兩個(gè)I/O引腳同時(shí)驅(qū)動(dòng)聲光報(bào)警模塊。
2.4 液晶顯示模塊
本設(shè)計(jì)采用的是由LCD顯示屏、控制器、驅(qū)動(dòng)器和偏壓產(chǎn)生電路構(gòu)成的RTC1602字符型液晶顯示器,其可以顯示兩行,每行16個(gè)字符,專門用于顯示字母、數(shù)字和符號(hào)等。
3 系統(tǒng)軟件設(shè)計(jì)
該系統(tǒng)采用簡潔、高效、移植性強(qiáng)、模塊化的C語言作為編程語言,使用Keil軟件對(duì)源程序進(jìn)行編輯、編譯、仿真調(diào)試、下載。以主函數(shù)為主線,并根據(jù)功能劃分成若干易于解決問題且功能相獨(dú)立的子函數(shù)完成整個(gè)軟件設(shè)計(jì)。具體軟件編程依據(jù)如下:
(1)上電后,RTC第一行左起顯示“Password:”,第二行左起光標(biāo)閃爍顯示。
(2)密碼顯示控制模塊:當(dāng)按下鍵盤數(shù)字鍵0~9時(shí),若密顯開關(guān)打開(置低電平),則RTC1602第二行左起顯示相應(yīng)數(shù)字,再次按數(shù)字鍵,在第一個(gè)數(shù)字后面接著顯示第二個(gè)數(shù)字,依次類推,RTC1602最多顯示6個(gè)數(shù)字。當(dāng)輸完6位密碼之后,再按數(shù)字鍵,聲光報(bào)警模塊報(bào)警1S提示操作無效。當(dāng)按下鍵盤數(shù)字鍵0~9時(shí),若密顯開關(guān)關(guān)閉(置高電平),則RTC1602第二行左起顯示“*”,再次按數(shù)字鍵,在第一個(gè)“*”后面接著顯示“*”,依次類推,RTC1602最多顯示6個(gè)“*”。當(dāng)輸完6位密碼之后,再按數(shù)字鍵,聲光報(bào)警模塊報(bào)警1s提示操作無效。
(3)輸入密碼調(diào)整模塊:當(dāng)按下“FIX”按鍵時(shí),將刪除最右邊的一位密碼,之后重新按數(shù)字鍵,實(shí)現(xiàn)對(duì)輸入密碼的調(diào)整。
(4)密碼確定模塊:當(dāng)按下“ENT”鍵后,輸入密碼將與設(shè)定密碼進(jìn)行比較,若密碼正確,則進(jìn)入歡迎使用界面;若密碼連續(xù)錯(cuò)誤次數(shù)N滿足N≤5,則RTC1602清屏,聲光報(bào)警2S提示操作無效,若密碼連續(xù)錯(cuò)誤次數(shù)N滿足N>5,則鎖屏6小時(shí)。
(5)密碼重置模塊:若密碼重置開關(guān)打開(置低電平),RTC1602第一行左起顯示“Original PW:”,第二行左起閃爍,等待輸入6位原始密碼,之后按“ENT”鍵,若輸入原始密碼正確,則RTC1602左起第一行顯示“New PW:”,同時(shí)第二行左起閃爍,則可通過數(shù)字按鍵輸入6位新密碼,再次按“ENT”鍵,則密碼設(shè)置成功,RTC1602進(jìn)入上電后界面,最后關(guān)閉密碼重置開關(guān)(置高電平)即完成密碼重置。
4 結(jié)語
一改傳統(tǒng)機(jī)械鎖操作不易,且需配備鑰匙的弊端,該電子密碼鎖具有結(jié)構(gòu)簡單,操作快,密碼修改簡單隨意,保密性強(qiáng)等特點(diǎn)。密碼可改的特點(diǎn)決定了它可易主且經(jīng)濟(jì)實(shí)用,因此具有較廣闊的應(yīng)用前景。
參考文獻(xiàn):
[1]周永東,尹東燕.單片機(jī)技術(shù)及應(yīng)用[M].電子工業(yè)出版社,2012.
[2]朱永金,成有才.單片機(jī)技術(shù)及應(yīng)用(第二版)[M].中國勞動(dòng)社會(huì)保障出版社,2013.