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

        ?

        基于STC89C52單片機的矩陣鍵盤密碼鎖的設計

        2022-12-21 08:24:20戴文駿
        電子制作 2022年23期
        關鍵詞:四位數(shù)鍵值子程序

        戴文駿

        (江蘇聯(lián)合職業(yè)技術學院 南京分院,江蘇南京,210019)

        0 前言

        隨著電子技術的飛速發(fā)展以及人們對美好生活的不斷追求,電子密碼鎖漸漸走進了千家萬戶。相比于傳統(tǒng)機械鎖存在的機械結構簡單,容易被撬鎖,需要隨身攜帶鑰匙并且鑰匙容易被復制的缺點,電子密碼鎖因其安全性能可靠、開鎖密碼變更便捷、密碼不易被陌生人破解的優(yōu)點,逐漸取代了傳統(tǒng)的機械鎖[1~4]。電子密碼鎖擺脫了隨身攜帶鑰匙的煩惱,由于數(shù)字密碼的組合結果多種多樣,保密性較強,一旦發(fā)現(xiàn)密碼泄露,隨時都可以更改密碼,確保了解鎖的安全可靠[5]。電子密碼鎖適用于家庭、學生宿舍、辦公室及賓館等場所,受到越來越多的年輕用戶群體的青睞和選擇,也改變了他們的生活方式。

        1 總體設計

        本設計將STC89C52 單片機作為主控制芯片,外加4×4 的矩陣鍵盤作為密碼輸入按鍵以及LCD1602 液晶顯示屏作為按鍵鍵值的顯示,并且可以自動判別按鍵鍵值與設定的四位數(shù)密碼是否相同,兩者相同解鎖成功,兩者不同解鎖失敗,并重新輸入4 個按鍵鍵值重復上面的判斷,直到密碼輸入正確,解鎖成功。本設計方案中,需求效果易于實現(xiàn)且硬件成本價格低廉,可以在實現(xiàn)基本解鎖功能的基礎上,對硬件進行擴展,軟件進行升級,以實現(xiàn)更加豐富多樣的用戶需求。該項目的總體設計結構框圖,如圖1 所示。

        圖1 總體設計結構框圖

        本設計充分利用已有的單片機開發(fā)試驗儀進行開發(fā)設計。硬件上采用STC89C52 型單片機作為主控芯片,它具有操作簡單、性能穩(wěn)定的優(yōu)點[6]。外設采用了4×4 的矩陣鍵盤作為輸入方式,一共16 個按鍵,實際只使用了12 個按鍵。其中按鍵S1~S9 代表數(shù)字1~9 輸入鍵,按鍵S10 代表數(shù)字0 輸入鍵,按鍵S11代表“確認”鍵,按鍵S12代表“取消”鍵。LCD1602 液晶顯示屏顯示用戶按下的四位數(shù)密碼。如果密碼輸入正確,則在已有的“Password:”的右端顯示“OK”;如果密碼輸入錯誤,則在已有的“Password:”的右端顯示“ERR”。在輸入密碼的過程中,如果發(fā)現(xiàn)輸入有誤,按下S12“取消”鍵,則輸入地顯示界面恢復到初始界面“0000”狀態(tài),重新開始輸入四位數(shù)密碼。輸入完成后,按下S11“確認”鍵,系統(tǒng)自動對比預設的正確密碼與輸入的密碼是否一致,兩者一致顯示“OK”,否則顯示“ERR”。與此同時密碼輸入界面又一次恢復到初始的“0000”狀態(tài)。預設的正確密碼通過軟件程序編寫的方式進行修改變更,可以預設0000-9999 中的任意一個四位數(shù)作為正確密碼。

        2 硬件設計

        ■2.1 單片機最小系統(tǒng)

        如圖2 所示,STC89C52 是由COΜS 工藝技術制成的入門級的8 位微控制器,它基于8051 的內核,指令代碼完全兼容傳統(tǒng)的8051,運行速度較傳統(tǒng)的51 單片機提高了8~12 倍,自帶ADC,具有4 路PWΜ,雙串口,有全球唯一的ID 號,加密性更好,抗干擾能力更強,是一款增強型51 單片機[7]。具有價格低廉、可靠性好、功耗低、電壓低等優(yōu)點,因此得到了快速發(fā)展和廣泛應用[8~9]。STC89C52具有8K 字節(jié)程序存儲空間,512 字節(jié)數(shù)據(jù)存儲空間,內帶8K 字節(jié)EEPROΜ 存儲空間,可直接使用串口下載用戶程序。內部集成專用的復位電路。本設計以STC89C52 單片機為主控系統(tǒng),包括晶振電路、復位電路等構成了單片機最小系統(tǒng)[10~11]。單片機最小系統(tǒng)的主要功能是系統(tǒng)資源完全開放,電路板簡單實用,結合用戶動手搭建的硬件電路或者模塊化的集成電路可以實現(xiàn)多種實驗功能。此外,它的接口設計靈活,使用方便,適用于創(chuàng)新實踐活動中設計使用。

        圖2 STC89C52 主控芯片引腳排列

        ■2.2 LCD 液晶顯示電路

        本設計使用LCD1602 液晶屏作為密碼的顯示界面,可以顯示2 行16 列的字符,顯示的內容與LED 數(shù)碼管相比,更加多樣[12]。而且還避免了數(shù)碼管需要不斷掃描更新,一旦掃描不及時就會出現(xiàn)數(shù)碼管顯示閃爍的缺點。液晶屏插接到開發(fā)板的排針上,操作簡單,利用螺絲刀調節(jié)電位器可以改變屏幕顯示的對比度。LCD 液晶屏作為調試的窗口,提供了類似于printf 函數(shù)的功能,可以實時地觀察單片機內部數(shù)據(jù)的變化情況。單片機STC89C52 與LCD1602的接線如圖3 所示,單片機P0.0~P0.7 共8 個引腳分別接顯示屏的DB0~DB7 的8 個接口。單片機的RD 管腳(P2.6 引腳)、WR 管腳(P2.5 引腳)、LCDE 管腳(P2.7 引腳)分別接顯示屏的RS 接口、RW 接口、E 接口。此外,還需要給顯示屏及其背景燈提供電源。

        圖3 LCD1602 接線圖

        ■2.3 鍵盤輸入電路

        為了減少I/O 口的占用,本項目采用如圖4 所示的4 行4 列的矩陣鍵盤形式作為輸入按鍵,16 個按鍵僅占用了8 個接口。其中最后一行的按鍵沒有設置功能,前三行,即S1~S12 共12 個按鍵,依次對應數(shù)字1~9 鍵,數(shù)字0 鍵,“確認”鍵和“取消”鍵的輸入功能。本項目采用逐列掃描的方式,然后快速循環(huán)這個過程,從而讀取出12 個按鍵中任意位置按鍵的狀態(tài),實現(xiàn)所有按鍵同時檢測的效果。硬件接線將16 個按鍵的引腳通過排針JP4 的1~8 口依次連接到單片機的P2.0~P2.7 的引腳上。

        圖4 4×4 矩陣鍵盤輸入電路

        矩陣鍵盤的按鍵實質上是機械開關,受到彈性的作用,機械觸點在閉合時不會立馬就穩(wěn)定地接通,同樣在斷開時也不會一下子就斷開。按鍵地按下和抬起的瞬間,都伴隨有一連串的極短時間的抖動。為了消除抖動,可以采用搭建硬件電路,過濾掉抖動的瞬間后,再進行按鍵狀態(tài)的檢測,但這種方法需要消耗硬件資源,而且操作起來難度較大,所以本項目采用軟件編寫的方式消除抖動。因為產生抖動的時間段一般為5~10ms,所以當檢測到按鍵按下或者抬起時,通過軟件延時20ms,就可以規(guī)避掉抖動的時間段。

        3 軟件設計

        本項目針對一個相對復雜的任務,將其拆分成若干個小任務來解決,這種方法叫做分層。分層后形成的若干個較小的局部任務,相較于整個任務來說,往往易于研究,容易找到突破口,處理起來難度也較小。這也就是軟件編程設計中,模塊化的編程思路。模塊化編程的好處有以下四個方面:

        (1)各模塊之前相互獨立。當一個模塊需要使用其他模塊的功能時,不需要知道它的底層邏輯是如何實現(xiàn)的,只需要調用該模塊的接口,就可以接受到它所提供的服務。

        (2)靈活性好。當某一模塊的任務需求發(fā)生改變后,只需要對該模塊的程序進行修改,實現(xiàn)對應的功能函數(shù)的編寫,則不影響其他模塊功能的實現(xiàn)。

        (3)結構上可分割。每個模塊都可以采用最合適的算法技術來實現(xiàn)。

        (4)復雜性低,易于排錯。每個模塊的功能性比較明確,在整個程序的調試過程中便于定位到存在問題的具體位置,只要針對該位置進行程序的修改調試即可。

        ■3.1 子函數(shù)

        本項目包含3 個相互獨立的子程序,分別為Delay 延時子程序、LCD1602 液晶屏調試子程序、ΜatrixKey 矩陣按鍵子程序。在使用延時子程序的延時功能時,只需要調用它的函數(shù)聲明,并給它的形式參數(shù)在合理取值范圍內賦值,可以實現(xiàn)預定時間的延時。在本項目中延時功能主要用于軟件消抖,檢測到按鍵按下或抬起時,延時20ms。本項目提供的LCD1602 代碼屬于模塊化的代碼,在使用過程中只要知道所提供函數(shù)的作用和使用方法就可以很容易地使用LCD1602。比如初始化LCD 液晶屏、顯示字符串“Password:”、顯示十進制的數(shù)字“0000”等,按照對應功能函數(shù)的參數(shù)說明,添加合適的參數(shù)值即可完成相應功能。矩陣按鍵子程序,主要實現(xiàn)功能是通過單片機P2 端口的不斷循環(huán)掃描讀取,檢測定位到矩陣按鍵的具體位置,并給該按鍵附上鍵值。矩陣按鍵的部分程序如下:

        ■3.2 主函數(shù)

        主函數(shù)調用LCD1602 子函數(shù)實現(xiàn)LCD 初始化,在LCD 顯示屏的第一行顯示字符串“Password:”。調用矩陣按鍵子程序,對按下的鍵值進行判斷。如果鍵值KeyNum<=10,即S1~S10(數(shù)字鍵0~9)按鍵按下,變量Count 計數(shù)1 次,累計計數(shù)達到4 次,實現(xiàn)輸入四位數(shù)密碼的功能,并且四次的鍵值依次從高位到低位顯示在LCD1602 顯示屏上;如果鍵值KeyNum==11,即S11(“確認”鍵)按下,實現(xiàn)軟件設置的四位數(shù)預設密碼和輸入的四位數(shù)密碼的比對,兩者相同顯示屏顯示“OK”,兩者不同顯示“ERR”;如果鍵值KeyNum==12,即S12(“取消”鍵)按下,實現(xiàn)四位數(shù)密碼清零,恢復到“0000”的顯示。程序設計流程圖,如圖5 所示。

        圖5 程序設計流程圖

        4 總結

        本設計以STC89C52 單片機為核心,結合LCD1602 液晶顯示屏和4×4 矩陣鍵盤的外設組合,構成了簡單的電子密碼鎖設計。該設計易于實現(xiàn),設計實物圖,如圖6 所示。在此基礎上可以增加外設模塊,拓展出其他功能,滿足更加多元化的用戶需求。如實現(xiàn)連續(xù)三次輸入密碼錯誤觸發(fā)聲光報警、增加遠程遙控器輸入密碼完成遠程解鎖功能、預先存儲用戶的指紋和實時檢測到的指紋相比對,從而實現(xiàn)若指紋匹配則智能化打開電子鎖的功能等[13]。

        圖6 設計實物圖

        猜你喜歡
        四位數(shù)鍵值子程序
        積是三位數(shù)還是四位數(shù)
        非請勿進 為注冊表的重要鍵值上把“鎖”
        乘積最大的兩個數(shù)
        一鍵直達 Windows 10注冊表編輯高招
        電腦愛好者(2017年9期)2017-06-01 21:38:08
        淺談子程序在數(shù)控車編程中的應用
        子程序在數(shù)控車加工槽中的應用探索
        小花鹿寫數(shù)
        西門子840D系統(tǒng)JOG模式下PLC調用并執(zhí)行NC程序
        簡化編程與子程序嵌套的應用
        科技傳播(2011年24期)2011-08-29 05:39:46
        注冊表值被刪除導致文件夾選項成空白
        亚洲国产精品线观看不卡| 在线人妻无码一区二区 | 国产亚洲精品一品二品| 刺激一区仑乱| 国产专区国产av| 久久中文字幕亚洲精品最新| 日本少妇又色又紧又爽又刺激| 一边捏奶头一边高潮视频| 日韩精品无码免费专区网站| 久久精品爱国产免费久久| 久久久精品国产老熟女| 人妻激情偷乱视频一区二区三区| 亚洲人成绝费网站色www| 精品日韩欧美| 中文乱码字幕在线亚洲av| 一本色道久久综合狠狠躁篇| 国产精品乱码在线观看| 久久国产精品男人的天堂av| 中文字幕一区在线直播| 国产精品久久久久9999小说| 欧美激情αv一区二区三区| 国内精品极品久久免费看| 白嫩人妻少妇偷人精品| 国产高清在线精品一区| 一区二区三区婷婷在线| av毛片亚洲高清一区二区| 丝袜美腿一区二区三区| 日本一区二区三区高清千人斩| 日本一区二区三区的免费视频观看| 丁香花五月六月综合激情| 成人免费看片又大又黄| 国产在线一区二区三区av| 国产中文字幕亚洲国产| 国产黄大片在线观看| 亚洲美腿丝袜综合一区| 国内精品国产三级国产avx| 97丨九色丨国产人妻熟女| 成人小说亚洲一区二区三区| 胳膊肘上有白色的小疙瘩| 午夜一区二区三区观看| 夜夜未满十八勿进的爽爽影院|