亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于STM32的電子密碼鎖設(shè)計(jì)

        2019-01-12 07:29:08徐慶偉郭振鐸劉洲峰
        關(guān)鍵詞:密碼鎖存儲(chǔ)器鍵盤

        徐慶偉, 郭振鐸, 劉洲峰

        (中原工學(xué)院 電子信息學(xué)院, 河南 鄭州 450007)

        門禁系統(tǒng)是有效解決安全問題的方案之一,目前已成為生活中不可或缺的一部分。電子信息科學(xué)技術(shù)的發(fā)展推動(dòng)了門禁系統(tǒng)安全性能的飛速提升,鍵盤式電子密碼鎖、指紋特征識(shí)別系統(tǒng)、IC卡門禁系統(tǒng)等已屢見不鮮。但是,指紋特征識(shí)別系統(tǒng)和IC卡門禁系統(tǒng)在家庭生活中使用具有很大的局限性,如指紋特征識(shí)別只能應(yīng)用于保密要求高并且僅供個(gè)人使用的私密場(chǎng)合,而IC卡門禁系統(tǒng)的適用范圍大多是公共場(chǎng)所,成本高、易丟失[1]。目前的電子密碼鎖通常以單片機(jī)為核心處理單元,無論是系統(tǒng)編碼還是解碼的生成均以軟件方式進(jìn)行。相比傳統(tǒng)的機(jī)械式鎖具,電子密碼鎖有易操作、免實(shí)物鑰匙等優(yōu)勢(shì),這使得電子密碼鎖成了當(dāng)今門禁系統(tǒng)的主流[2]。

        本設(shè)計(jì)以STM32F103系列CPU為主控芯片,利用矩陣鍵盤實(shí)現(xiàn)密碼的輸入,將輸入的密碼與存儲(chǔ)器中原密碼逐一比較,從而判斷是否執(zhí)行開鎖功能。當(dāng)密碼輸入不正確時(shí),發(fā)光二極管會(huì)閃爍提醒,蜂鳴器發(fā)出報(bào)警聲;連續(xù)3次錯(cuò)誤輸入或輸入開鎖密碼時(shí)間過長(zhǎng),系統(tǒng)將自動(dòng)鎖定,只有用管理員密碼方能解鎖,而且,管理員可對(duì)該系統(tǒng)隨時(shí)修改密碼。

        1 硬件模塊設(shè)計(jì)

        本設(shè)計(jì)硬件系統(tǒng)的功能包括開鎖密碼與管理員密碼更換、界面顯示、聲光報(bào)警等。

        1.1 硬件模塊選型

        1.1.1 主控芯片選型

        目前常見的電子密碼鎖基于STC89C51系列芯片,價(jià)格便宜[3],但內(nèi)存較小,IO口資源有限,后續(xù)功能擴(kuò)展有很大的局限性,且功耗較高。FPGA(Field Programmable Gate Array)系列芯片針對(duì)可編程技術(shù),具有并行執(zhí)行程序的能力,速度較高[4],主要用于高速視頻圖像信號(hào)處理領(lǐng)域,但其價(jià)格昂貴,編程移植性差。MSP430系列芯片的功耗低,常用于超低功耗的工業(yè)場(chǎng)合[5],但其運(yùn)算速度一般。STM32屬于性價(jià)比較高的單片機(jī)系列,基于高性能、低成本、低功耗的Cortex-M系列內(nèi)核,工作頻率高達(dá)72 MHz,片上可集成32~512 kB的Flash存儲(chǔ)器、64 kB的SRAM存儲(chǔ)器,其IO口、定時(shí)器、串行通信接口資源豐富[6]。利用STM32自帶的強(qiáng)大庫函數(shù)進(jìn)行編程,可大大縮短開發(fā)時(shí)間,而且,該芯片的開發(fā)板帶有許多外圍電路,如晶振、24C02存儲(chǔ)器等,所以可降低硬件電路的設(shè)計(jì)成本。因此,在設(shè)計(jì)電子密碼鎖時(shí),選用STM32系列單片機(jī)作為硬件系統(tǒng)主控芯片。

        1.1.2 存儲(chǔ)模塊選型

        Flash存儲(chǔ)器又稱閃存,其數(shù)據(jù)刪除不以單個(gè)字節(jié)為單位而是以固定區(qū)塊為單位的。區(qū)塊大小一般為256 kB~20 MB[7]。串行EEPROM(Electrically Erasable Programmable Read Only Memory)是基于IIC-BUS 的存儲(chǔ)器件,遵循二線制協(xié)議,它具有接口方便、體積小、掉電時(shí)數(shù)據(jù)不丟失、抗干擾性強(qiáng)等特點(diǎn)[8]。在電子密碼鎖系統(tǒng)設(shè)計(jì)時(shí)不需要太大的存儲(chǔ)空間,且EEPROM存儲(chǔ)器具有100萬以上的讀寫次數(shù)。本設(shè)計(jì)根據(jù)應(yīng)用條件和要求,采用帶有寫保護(hù)功能的串行EEPROM24C02存儲(chǔ)器作為密碼存儲(chǔ)器。

        1.1.3 顯示模塊選型

        LCD12864顯示屏的分辨率為128×64(pixel per inch),可實(shí)現(xiàn)16×8(pixel per inch)的ASCII字符集和16×16(pixel per inch)的漢字顯示,能夠支持并行和串行兩種顯示方式。該顯示模塊的性價(jià)比高,適用性強(qiáng)。因此,在設(shè)計(jì)電子密碼鎖時(shí),考慮實(shí)際需求,選用LCD12864作為系統(tǒng)的顯示模塊。

        1.2 主要硬件設(shè)計(jì)

        電子密碼鎖系統(tǒng)主要由STM32控制器、4×4矩陣鍵盤、存儲(chǔ)器、LCD顯示器和報(bào)警電路等模塊組成(見圖1)。

        圖1 電子密碼鎖系統(tǒng)組成示意圖

        1.2.1 矩陣鍵盤

        電子密碼鎖系統(tǒng)的輸入模塊采用4×4矩陣鍵盤。該鍵盤的8個(gè)引腳接在STM32的IO口上,其中行線為輸出模式,列線為輸入模式。假設(shè)4排列線(輸入)為DCBA,4排列線全部被設(shè)置成輸入為0的模式,即DCBA=0000;4排行線(輸出)為4位(dcba),將其設(shè)置為dcba=1111。每個(gè)按鍵都會(huì)對(duì)應(yīng)一個(gè)16進(jìn)制數(shù),程序設(shè)計(jì)中采用查表方式得到鍵盤的返回值,在C語言中可以采用switch語句進(jìn)行鍵盤標(biāo)號(hào)[9]。在設(shè)計(jì)中,選用STM32芯片的PA0-PA7作為鍵盤接口,并以位移循環(huán)的方式實(shí)現(xiàn)該功能。矩陣鍵盤電路原理如圖2所示。

        圖2 矩陣鍵盤電路原理圖

        1.2.2 存儲(chǔ)器

        24C02存儲(chǔ)器屬于EEPROM存儲(chǔ)器件,其引腳如圖3所示。在圖3中,VCC接高電平(3.3 V);VSS接公共端(地);WP為保護(hù)端(低電平有效),用于防止數(shù)據(jù)丟失。在設(shè)計(jì)中,A0、A1、A2接低電平,將A0H或A1H寫入存儲(chǔ)器,便可實(shí)現(xiàn)對(duì)24C02的讀寫。

        圖3 24C02存儲(chǔ)器的引腳

        24C02存儲(chǔ)器的模塊電路如圖4所示。

        圖4 24C02存儲(chǔ)器的模塊電路圖

        1.2.3 LCD顯示器

        LCD12864液晶顯示屏具有支持中文顯示、易操作、顯示內(nèi)容多等特點(diǎn)。電子密碼鎖系統(tǒng)的顯示模塊采用串行輸入模式。在該模塊CS引腳為高電平時(shí),SCLK(Scrial Clock)串行時(shí)鐘的作用使得SID(串行數(shù)據(jù)口)輸入的3個(gè)字節(jié)為一個(gè)指令或一個(gè)顯示ASCII(American Standard Code for Information Interchange)符號(hào)的周期。這3個(gè)字節(jié)輸入后,顯示屏就會(huì)執(zhí)行相應(yīng)的功能或顯示相應(yīng)的字符。為了實(shí)現(xiàn)長(zhǎng)時(shí)間無操作時(shí)關(guān)閉背光電源的功能,需要將背光電源輸出端LED_K接在NPN型三極管的集電極上,其中發(fā)射極接地,基極接單片機(jī)的輸入/輸出口。通過IO口控制LCD背光電源的電路如圖5所示。

        圖5 通過IO口控制LCD背光電源的電路圖

        1.2.4 報(bào)警電路

        鑒于報(bào)警時(shí)聲和光的同步性,可選取單片機(jī)的一個(gè)IO口進(jìn)行并聯(lián)控制。在電子密碼鎖系統(tǒng)設(shè)計(jì)中,選取聲音頻率為1 000 Hz的蜂鳴器和小功率三級(jí)管NPN3904,在Multisim軟件上進(jìn)行仿真測(cè)試,其理論值和設(shè)計(jì)結(jié)果一致。報(bào)警指示燈(紅色LED)需要串聯(lián)一個(gè)適當(dāng)電阻進(jìn)行保護(hù)。利用Altium Designer軟件設(shè)計(jì)的聲光報(bào)警模塊電路如圖6所示。

        圖6 聲光報(bào)警模塊電路圖

        2 軟件模塊設(shè)計(jì)

        2.1 系統(tǒng)的初始化

        電子密碼鎖系統(tǒng)初始化包括延時(shí)函數(shù)、中斷優(yōu)先級(jí)分組、定時(shí)器、LCD12864模塊、IIC通信協(xié)議、EEPROM模塊、聲光模塊、鍵盤模塊等軟硬件模塊的初始化。

        初始化部分代碼如下:

        delay_init();//延時(shí)函數(shù)初始化

        LCD12864_Init();//LCD12864初始化

        AT24CXX_Init();//24C02初始化

        KEY_Init();//初始化矩陣鍵盤

        TIMER2_Init(4999,7199); //750 ms運(yùn)行一次,報(bào)警。

        2.2 系統(tǒng)流程設(shè)計(jì)

        考慮到實(shí)際應(yīng)用需要,所設(shè)計(jì)電子密碼鎖具有聲光報(bào)警功能、門鈴功能、菜單功能、系統(tǒng)鎖定功能、修改管理密碼與開鎖密碼功能等。在長(zhǎng)時(shí)間無操作時(shí),系統(tǒng)應(yīng)自動(dòng)進(jìn)入待機(jī)模式,以減少功耗,更加人性化。電子密碼鎖的系統(tǒng)流程如圖7所示。

        圖7 電子密碼鎖的系統(tǒng)流程

        系統(tǒng)的菜單功能包括更換管理密碼、更換開鎖密碼、顯示用戶信息等功能。系統(tǒng)的菜單功能流程如圖8所示。

        圖8 系統(tǒng)的菜單功能流程

        系統(tǒng)的密碼錯(cuò)誤處理流程如圖9所示。

        圖9 系統(tǒng)的密碼錯(cuò)誤處理流程

        2.3 中斷處理機(jī)制設(shè)計(jì)

        中斷處理機(jī)制在電子密碼鎖系統(tǒng)設(shè)計(jì)中占有舉足輕重的地位。STM32控制芯片中共有8個(gè)定時(shí)器(TIM1~TIM8),其中TIM1和TIM8是高級(jí)控制定時(shí)器,TIM6和TIM7是基本定時(shí)器,其余皆為通用定時(shí)器[10]。

        定時(shí)器工作時(shí),先對(duì)主頻進(jìn)行分頻(預(yù)分頻系數(shù)為psc),然后根據(jù)計(jì)數(shù)模式(分為向上計(jì)數(shù)模式、中央計(jì)數(shù)模式、向下計(jì)數(shù)模式3種,電子密碼鎖系統(tǒng)設(shè)計(jì)采用向上計(jì)數(shù)模式)的裝載值(arr)進(jìn)行定時(shí)時(shí)長(zhǎng)的設(shè)定[9]。時(shí)長(zhǎng)T的計(jì)算公式如下:

        式中,72為STM32的工作頻率(單位為MHz)。

        3 系統(tǒng)調(diào)試及分析

        在系統(tǒng)調(diào)試過程中,因存儲(chǔ)器24C02中數(shù)據(jù)量超過了256字節(jié),而24C02的存儲(chǔ)量為256字節(jié),地址范圍是00H~FFH,所以需將輸入地址對(duì)255取余(假設(shè)輸入地址是add,即add%255),以保證數(shù)據(jù)不丟失。軟件仿真調(diào)試的結(jié)果證明,系統(tǒng)運(yùn)行效果較好,符合設(shè)計(jì)要求。系統(tǒng)的開機(jī)界面效果如圖10所示。

        圖10 系統(tǒng)的開機(jī)界面效果

        為了確保系統(tǒng)的安全性,用戶第一次使用該產(chǎn)品時(shí),需要設(shè)置自己的管理密碼和開鎖密碼,這樣更加人性化。系統(tǒng)的初次設(shè)置界面如圖11所示。

        (a)設(shè)置管理員密碼 (b)牢記管理員密碼圖11 系統(tǒng)的初次設(shè)置界面

        在正常使用的開鎖界面中按下M鍵,就會(huì)進(jìn)入系統(tǒng)菜單,按上、下鍵可進(jìn)行相應(yīng)的功能選擇。系統(tǒng)的菜單界面如圖12所示。

        圖12 系統(tǒng)的菜單界面

        電子密碼鎖系統(tǒng)的菜單顯示功能僅顯示4行字符,如果有更多層的菜單內(nèi)容,只要在顯示代碼處將xx對(duì)4取余即可,即DisplayChar(xx%4,1,“√”)。

        開鎖成功后,顯示特有的文字,開鎖指示綠燈亮(見圖13)。

        圖13 開鎖成功的界面效果

        4 結(jié) 語

        本文基于STM32設(shè)計(jì)的電子密碼鎖系統(tǒng)具有穩(wěn)定性好、功耗較低、便于二次開發(fā)、能夠進(jìn)行功能擴(kuò)展等特點(diǎn)。在該系統(tǒng)IO口接上無線收發(fā)模塊,可實(shí)現(xiàn)遠(yuǎn)程監(jiān)控管理,安全性更強(qiáng)。

        猜你喜歡
        密碼鎖存儲(chǔ)器鍵盤
        你知道手機(jī)撥號(hào)鍵盤上為什么要有*和#嗎?
        鍵盤貓
        靜態(tài)隨機(jī)存儲(chǔ)器在軌自檢算法
        Cлово месяца
        ikbc R300機(jī)械鍵盤
        日記密碼鎖2
        日記密碼鎖
        開啟密碼鎖
        數(shù)字密碼鎖的邏輯實(shí)現(xiàn)
        電子制作(2017年22期)2017-02-02 07:10:27
        存儲(chǔ)器——安格爾(墨西哥)▲
        日本做受高潮好舒服视频| 精品人妻少妇丰满久久久免| 天堂视频在线观看一二区| 国产白袜脚足j棉袜在线观看| 肉体裸交丰满丰满少妇在线观看| 巨臀精品无码AV在线播放| 最近中文字幕精品在线| 日韩亚洲欧美久久久www综合| 嫖妓丰满肥熟妇在线精品| 亚洲高清有码在线观看| 免费看黄片视频在线观看 | 国产毛片一区二区日韩| 中文字幕人妻在线少妇| 久久久无码精品亚洲日韩按摩| 亚洲第一网站免费视频| 亚洲av套图一区二区| 日韩精品极品免费视频观看| 欧美 国产 综合 欧美 视频| 亚洲一区视频在线| 日本一级二级三级在线| 日本精品视频一区二区三区四区| 无码人妻精品丰满熟妇区| 日韩一区二区超清视频| 一区二区三区四区午夜视频在线| 无码人妻一区二区三区免费看| 精品国产三级a∨在线观看| 国产精品不卡无码AV在线播放| 亚洲第一区二区精品三区在线| 99久久超碰中文字幕伊人| 久久精品亚洲牛牛影视| 亚洲一区二区女优视频| 麻豆国产一区二区三区四区| 日产精品久久久久久久性色| 亚洲高清精品50路| 一区二区三区四区草逼福利视频| 蜜桃久久精品成人无码av| 久久久久久久98亚洲精品| 在线视频精品少白免费观看| 在线播放五十路熟妇| 亚洲国产成人精品女人久久久 | 国产欧美日韩午夜在线观看 |