【正文】
單片機(jī)微控制器 開鎖驅(qū)動(dòng)電路 電磁鎖 密碼正確? Y 返回 N 8 .按鍵電路設(shè)計(jì) 由于設(shè)計(jì)要求使用矩陣鍵盤,所以本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的 I/O 線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。 其原理如圖 3- 3所示。 圖 3- 3 行列式鍵盤原理電路圖 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通,利用這種行列式矩 陣結(jié)構(gòu)只需要 N 條行線和 M 條列線,即可組成具有 N M個(gè)按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。 當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。 對(duì)照?qǐng)D 3- 4所示的 44鍵盤,說明線反轉(zhuǎn)個(gè)工作原理。 首先辨別鍵盤中有無鍵按下,有單片機(jī) I/O 口向鍵盤送全掃描字,然后讀入行線狀態(tài)來判斷。方法是:向行線輸出全掃描字 00H,把全部列線置為低電平,然后將列線的電平 狀態(tài)讀入累加器 A 中。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為 1。 判斷鍵盤中哪一個(gè)鍵被按下使通過將列線逐列置低電平后,檢查行輸入狀態(tài)來實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為 1,則所按下的鍵不在此列;如果不全為 1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。 按鍵的操作面板如圖圖 3- 4 所示。共計(jì)數(shù)字鍵 10 個(gè),功能鍵 6 個(gè)。鍵盤上還有 3個(gè)指示燈和一個(gè)蜂鳴器。 89s51 D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 X 4 X 4 VCC 9 圖 3- 4 按鍵操作面板示意圖 10個(gè)數(shù)字鍵用來輸入密碼,另外 6個(gè)功能鍵分別是: CLR、 EN、 F FF F4。其中 CLR 鍵的功能是當(dāng)輸入密碼錯(cuò)誤的時(shí)候,清除前面已經(jīng)輸入的數(shù)據(jù),重新輸入。 EN 鍵的功能是確認(rèn)輸入的密碼。 F1 是管理模式切換鍵,當(dāng)用戶不小心三次輸入密碼都沒有正確,鍵盤被鎖定,這個(gè)時(shí)候就可以啟動(dòng)管理模式,使用管理員的密碼來開門。 F2 是用來進(jìn)入修改密碼的狀態(tài)。 F3 用來關(guān)閉顯示器,一來可以節(jié)省電量,另外也可以防止不法分子偷窺密碼。 F4 用來作電鈴。 上面的 3個(gè)指示燈 L L L3 是用來指示操作的狀態(tài): L1 鎖定及輸入指示狀態(tài)燈,正 常的情況下顯示紅色,當(dāng)鍵盤動(dòng)作的時(shí)候, L1 燈開始閃動(dòng),當(dāng)鍵盤處于鎖定狀態(tài)時(shí),指示燈也顯示紅色。 L2 開門指示燈,當(dāng)用戶在規(guī)定的時(shí)間內(nèi)正確的輸入了密碼,此燈轉(zhuǎn)變?yōu)榫G色,表示開門,否則不顯示。 L3 是管理員狀態(tài)指示燈,當(dāng)按下 F1 后,指示燈自動(dòng)點(diǎn)亮。 面板上還有一個(gè)蜂鳴器,其中一個(gè)功能是用來指示操作的按鍵是否在成功的按下;另外一個(gè)功能是當(dāng)用戶輸入密碼錯(cuò)誤的次數(shù)超過了 3 次,鳴笛以示報(bào)警。 顯示電路設(shè)計(jì) 本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的。考慮到為了節(jié)約單片機(jī)的口資源,本系統(tǒng)的顯示采用串行顯示的方式, 只使用單片機(jī)的兩個(gè)串行口,就可以完成單片機(jī)的顯示功能,顯示電路的電路原理圖如圖 3- 5所示。 電路設(shè)定:當(dāng)程序檢測(cè)在 5 分鐘內(nèi)沒有按鍵操作的時(shí)候,就關(guān)閉顯示。這個(gè)功能使用程序來實(shí)現(xiàn)的,一旦沒有按鍵動(dòng)作就啟動(dòng)一個(gè)定時(shí)器,檢測(cè)在 5分鐘內(nèi)沒有按鍵動(dòng)作的時(shí)候,啟動(dòng)一個(gè)程序,關(guān)閉顯示,這樣可以達(dá)到節(jié)省電能的目的。 CLR 0 1 EN 6 9 F4 4 8 F3 3 7 F2 2 6 F1 L1 L2 L3 10 從單片機(jī)串口輸出的信號(hào)先送到左邊的移位寄存器( 74HC164) ,由于移位脈沖的作用,使數(shù)據(jù)向右移,達(dá)到顯示的目的。移位寄存器 74HC164 還兼作數(shù)碼管的驅(qū)動(dòng),插頭 1( header1)接電源,插頭 2( header2)接數(shù)據(jù)和脈沖輸出端。電路中的三個(gè)整流管 D1~D3 的作用是降低數(shù)碼管的工作電壓,增加其使用壽命。 A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 1A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 2A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 3A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 4A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 5A1B2Q03Q14Q25Q36Q410Q511Q612Q713CLK8MR9I C 612H E A D E R 21 2H E A D E R 1v c cabfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 0abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 1abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 2abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 3abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 4abfcgdeDPY1 2 3 4 5 6 7a b c d e f g8dpdp9 L E D 5Cd1d2d3 圖 3- 5 顯示器原理圖 顯示器主顯示幾個(gè)字符,給用戶提供指示見圖 2- 6 所示。 圖 3- 6 a 關(guān)閉狀態(tài) 圖 3- 6 b 開鎖狀態(tài) 圖 3- 6 c 密碼輸入及修改狀態(tài) 圖 3- 6 d 密碼輸入錯(cuò)誤后的提示 O F F 2 8 8 8 1 E R R O R S L O C K L O C K 11 圖 3- 6 e 密碼在規(guī)定的時(shí)間內(nèi)輸入錯(cuò)誤次數(shù)超過 3 次后的鎖定狀態(tài) 掉電存儲(chǔ)單元的設(shè)計(jì) 掉電存儲(chǔ)單元的作用是在電源斷開的時(shí)候,存儲(chǔ)當(dāng)前設(shè)定的信息。AT24C02是 ATMEL公司的 2KB 字節(jié)的電可擦除存儲(chǔ)芯片,采用兩線串行的總線和單片機(jī)通訊,電壓最低可以到 ,額定電流為 1mA,靜態(tài)電流 10Ua(),芯片內(nèi)的資料可以在斷電的情況下保存 40年以上,而且采用 8腳的 DIP封裝,使用方便。其電路如圖 3- 7所示。 NC1NC2NC3GND4S D A5S C L6WP7V C C8U4A T 2 4 C 0 2 AGNDV C C串行存儲(chǔ)模塊R85 .1 kR 1 05 .1 k接 P 2 .5接 P 2 .6 圖 3- 7 掉電存儲(chǔ)電路原理圖 圖中 R R10是上拉電阻,其作用是減少 AT24C02的靜態(tài)功耗,由于 AT24C02的數(shù)據(jù)線和地址線是復(fù)用的,采 用串口