標題: 電子密碼鎖 [打印本頁]
作者: 123木子 時間: 2018-1-15 13:46
標題: 電子密碼鎖
摘 要
如今的生活中機械鎖已經不能滿足人們的要求了,這樣電子密碼鎖就廣泛的運用到了生活中,隨著各式各樣的密碼鎖誕生,對密碼鎖的要求也越來越高,所以密碼鎖在以后的生活中有著很大的發展空間。
本次設計中的密碼鎖采用的是以單片機為核心的電路,設計出來的安全性高、成本低、功耗低、易操作的電子密碼鎖。電路中包括了鍵盤電路、顯示電路、報警電路、開鎖電路以及掉電存儲電路。其中鍵盤電路采用的是4*4矩陣型鍵盤,該鍵盤電路可以為單片機節省I/O口的使用。為了更好的讓用戶知道輸入的信息,在本設計中添加了顯示電路。顯示電路使用的是使用了單片機的一個串行口,用74LS247驅動數碼管發光顯示數碼,再使用74LS138控制選位信號就可以完成該系統的顯示功能。此顯示模塊方便而且簡單。在安全性能方面,本設計中設計出了報警電路,防止外人胡亂使用密碼而產生的不良后果,在輸入密碼錯誤三次的時候,電路就會發出報警并且會鎖定鍵盤。這樣就可以更好的防止用戶以外的人胡亂操作密碼鎖而造成不必要的損失。在設計中因為要考慮原件成本的問題,所以就用了發光二極管來代替密碼鎖開鎖的功能,根據發光二極管的指示來判斷密碼鎖是否開鎖,在發光二極管燈亮的時候,密碼鎖就打開,發光二極管燈滅,則表示密碼鎖打開失敗。因為城市的供電一般很難保證百分百的穩定,所以考慮到停電時給用戶帶來很多的麻煩,所以本設計中用到了擁有掉電存儲功能的電路,該電路中主要芯片為AT24CO2,其中包括了電源電路、電子開關自動切換電路、蓄電池自動充電電路。這樣就在停電的情況下密碼鎖電路依然保持器電路功能。
在本次設計中利用的是匯編語言,經過keil的編譯,在protues中仿真,基本實現了以上的功能。
關鍵詞:單片機;4*4矩陣型鍵盤;報警電路;密碼鎖;開鎖電路
ABSTRACT
Mechanical lock now lifealready can't satisfy people's request, so that electronic combination lock iswidely used to the life, with the birth of a variety of combination lock, alsomore and more high to the requirement of combination lock, so the combinationlock in later life has very big development space.
This combination lock is also used inthe circuit with single-chip microcomputer as the core, designed the highsafety, low cost, low power consumption, easy to operate electronic combinationlock. Includes the keyboard circuit, display circuit, alarm circuit, lockcircuit and electric storage circuit. The keyboard circuit USES is 4 * 4 matrixkeyboard, the keyboard circuit can save MCU I/O port to use. In order to letthe user know the input information, add a display circuit in the design.Display circuit using a serial port is the use of the single chipmicrocomputer, with 74 ls247 drive digital tube light emitting display digital,to use 74 ls138 control function of a signal can be completed the systemdisplay. The display module is convenient and simple. In the field of safetyperformance, we design in the design of the alarm circuit, preventing outsidersadverse consequences as a result of the random use password, input the wrongpassword three times, will send out alarm circuit and will lock the keyboard.So you can better prevent users from outside mishandled combination lock andcause unnecessary loss. Because want to consider in the design of the cost ofthe original, so the light emitting diode was used instead of a combinationlock unlock function, according to the light emitting diode is to determinewhether a combination lock, at the time of led lights, combination lock isopened, led lights, combination lock open failure. Because the city's powersupply, generally it is difficult to guarantee the stability of hundred of, soconsidering the power failure caused a lot of trouble to the user, so thisdesign was used with electrical storage function circuit, main chip in thiscircuit for AT24CO2, including the power supply circuit, electronic automaticswitch, battery charging circuit automatically. Thus in the case of powerfailure combination lock remains device circuit function.
Using assembly language, in this designthrough the keil compiler, in protues simulation, basically achieved the abovefunctions.
Keyword:SCM;4*4 matrix keyboard; alarm circuit; combination lock; the lock circuit
目 錄
1 方案論證
1.1 設計要求
(1)本設計為了防止密碼被竊取要求在輸入密碼時在LED屏幕上顯示 “-”號。
(2)設計開鎖密碼位六位密碼的電子密碼鎖。
(3)能夠LED顯示在密碼正確時顯示“- - - - - -”,密碼錯誤時顯示“000000”,輸入密碼時顯示鍵入的數字。
(4)實現輸入密碼錯誤超過限定的三次電子密碼鎖定。
(5)4×4的矩陣鍵盤其中包括0-9的數字鍵和A-F的功能鍵
(6)本產品具備報警功能,當輸入密碼錯誤時蜂鳴器響并且LED燈亮。
(7)密碼可以由用戶自己修改設定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作 。
1.2 方案比較
方案一:采用數字電路控制。圖1所示為原理方框圖:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image001.gif
圖1 數字密碼鎖電路方框圖
采用數字電路設計密碼鎖,采用此方案設計過程比較簡單。其核心控制由74LS112雙JK觸發器構成的數字邏輯電路,一共采用了9個輸入鍵,9個鍵中有4個是有效的密碼按鍵,其余的則是為干擾設計的按鍵,如果按下了干擾的按鍵,鍵盤輸入電路就會自動清零,原先輸入的密碼報廢,需要輸入新的密碼;對于用戶輸入密碼的時間也有控制,如果用戶輸入密碼的時間超過了40S的話,電路將會報警,電路如果連續報警三次的話,電路將會鎖定鍵盤,并且五分鐘內不能使用,以此來防止其他的人非法操作。電路的組成分為兩大部分:密碼鎖電路和備用電源USP,設置備用電源則是為了停電做準備的,否則停電的時候用戶將會用不了密碼鎖,這樣會對用戶造成很大的麻煩,所以才設置了備用電源。
密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執行電路、報警電路、鍵盤輸入次數鎖定電路。
方案二:本方案采用是以89S51為核心的單片機控制方案。利用單片機的靈活性和豐富的I/0端口,以及其控制的準確性,實現密碼鎖的基本功能,不但能實現基本的密碼鎖功能,還能添加調電存儲、聲光提示甚至添加遙控控制功能。其原理如圖2所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif
圖2 單片機控制方案
方案三:采用EDA技術設計六位電子密碼鎖,作為通用電子密碼鎖,主要由三個部分組成:數字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。
(1)密碼鎖輸入電路包括時序產生電路、鍵盤掃描電路、鍵盤譯碼電路等幾個小的功能電路。
(2) 密碼鎖控制電路包括按鍵數據的緩沖存儲電路,密碼的清除、存儲、激活電鎖電路(寄存器清除信號發生電路),密碼核對(數值比較電路),解鎖電路(開/關門鎖電路)等幾個小的功能電路。
(3)密碼顯示電路主要是在液晶顯示屏顯示輸入的數值。
EDA設計整個密碼鎖的總框圖如圖3所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image003.gif圖3 EDA設計整個密碼鎖的總框圖
1.3 方案的選擇
通過比較1.2中的三種方案,單片機這種方案比其它兩種方案活動空間要大一些,不僅能實現密碼鎖的功能而且有著很大的發展空間,而且還可以對系統進行升級,所以我就采用了第二種方案。
本方案采用是以89S51為核心的單片機控制方案。利用單片機的靈活性和豐富的I/0端口,以及其控制的準確性,實現密碼鎖的基本功能。
初步的設計構想如下:
輸入密碼采用的是矩陣鍵盤,包括了10個數字鍵和6個功能鍵。
用LED數碼管顯示所輸入的密碼,用74JS247驅動數碼管發光顯示數碼,用74LS138控制各位顯示器分時進行顯示。
因為開鎖顯示比較麻煩,所以用發光二極管代替開鎖電路,當發光二極管燈亮的時候則表示密碼正確,并且開鎖。
當密碼輸入錯誤次數超過三次的時候,系統會發出警報。
電源接通后,數碼管顯示為“000000”,設置初始密碼為“123456”,在鍵盤上依次按下“123456”時便會開鎖。這樣可以預防停電后再次來電時沒有密碼可以用,鎖打不開的問題。
按“C”鍵,清除顯示器為“000000”。
如果想要重新設置密碼,則先輸入密碼然后再按“*”鍵。
輸入密碼完成后,按“D”鍵。如果輸入的密碼和設置的密碼相同,則開門。否則顯示器清0。
軟件的設計包括了鍵盤值得掃描,LED顯示程序,報警程序,開鎖程序等等。
2 硬件電路及功能模塊設計
2.1 AT89S51的芯片簡介
80S51有40引腳雙列直插式DIP和44引腳方形扁平式QFP共兩種封裝形式。其雙列直插式封裝芯片邏輯符號參見圖4。
輸入/輸出口線包括了P0.0~P0.7,P1.0~P1.7,P2.0~P2.7,P3.0~P3.7,四個8位的雙向口線。
地址鎖存控制信號ALE
在系統擴張時,ALE用于控制把P0口輸出低8位的地址送入鎖存器然后存起來,用來實現低位的地址和數據的分時傳送。除此之外由于ALE是以1/6晶振頻率所固定的頻率輸出的是正脈沖,這樣就可以作為外部定時脈沖或外部時鐘的使用。
EA則是作為訪問程序存儲器控制信號。
當EA的號為低電平的時候,對ROM的操作是針對外部程序存儲器的;而當EA的高電平的時候,對ROM的讀取操作則是從內部存儲器開始的,并且可以延續到外部程序存儲器。
外部程序存儲器讀選通信號 PSEN。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image005.jpg在低電平的時候讀外部ROM時PSEN是有效的,用來實現外部的ROM的操作。
復位信號RST。
當輸入的復位信號延續兩個機器周期以上高電平為有效,用于王城單片機的復位操作。
外部接晶體引線的兩個端口XTAL1 和XTAL2。
如果使用芯片內部時鐘時候,那么XTAL1和XTAL2用于外接石英晶體諧振和微調電容;如果使用的是外部時鐘,那么這兩個端口則用于接入外部時鐘脈沖信號。
地線Vss
+5V電源Vcc 圖4 AT89S51芯片圖
2.2 LED顯示電路
LED顯示電路是為了給使用者能夠更好的操作而設計的。該系統是采用的串行顯示方式設計,使用了單片機的一個串行口,用74LS247驅動數碼管發光顯示數碼,再使用74LS138控制選位信號,就可以完成該系統的顯示功能,顯示電路的電路,原理圖如圖5所示。
用P0.0~P0.3接在74LS247的A,B,C,D四個端口上,74LS247的輸出口接LED的七段顯示;而P0.4~P0.6接74LS138的A,B,C三個輸入口,74LS138的輸出口接LED的位顯示。通過程序實現數字和位的控制。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image007.jpg圖5 LED顯示電路
2.3 單片機最小系統與復位電路設計
最小系統就是單片機在發揮具體測控功能時所必須的組成部分。其中包括了復位電路,震蕩電路,輸入以及輸出設備,電源等。我們簡單的介紹一下復位電路,復位電路顧名思義就是產生復位信號,當復位信號送入RST后還要送入片內的觸發器,由片內復位電路在每個機器周器的S5P2時刻對觸發器輸出采樣信號,然后由內部復位電路產生復位操作所要的信號。一般來說復位電路包括了上電自動復位和按鍵復位兩種,本設計采用的是上電自動復位。上電自動復位的原理:RST引腳是復位信號的輸入端,當高電平的復位信號持續兩個機器周期以上的有效時間,則單片機就會上電自動復位。上點自動復位時通過電容的充電來實現的,當接受上電的瞬間,RST端電位與Vcc相同,隨著充電電流的減少,RST的電位則漸漸的下降,延續到復位信號無效。按鍵復位在這里就不給出過多的介紹了,兩種復位電路的原理都差不多。按鍵復位電路用的是脈沖復位電路和電平復位電路兩種。圖6所示為最小系統方框圖:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image008.gif
圖6 最小系統方框圖
2.4 晶振電路
89S51內部有一個用于構成振蕩器的高增益反相放大器,其中有XTAL2和XTAL1這兩個引腳,這兩個引腳分別是該放大器的輸出端和輸入端兩個端口。外部接的石英晶體和兩個電容C3、C4 接入放大的反饋電路時,就構成了一個自激振蕩器。振蕩器如圖7所示。這個振蕩電路對外接電容C3、C4雖然沒有嚴格的大小要求,但是電容容量的大小則會的振蕩頻率的高低和振蕩工作的穩定性以及起振的難易程度還有溫度的穩定性產生輕微的影響。如果使用的是石英晶體的話,我在此使用的是33pf的電容。設計者當然也可以采用外部的時鐘。出現這種情況時,由外部而來的時鐘脈沖則接到XTAL1端,也就是內部時鐘發生器的輸入端,XTAL2則處于懸空狀態。通過上面的整合,所以本設計采用圖7的晶振電路:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image010.jpg
圖7 晶振電路
2.5 開鎖機構
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image011.gif通過單片機送給開鎖機構,電路則會驅動電磁鎖吸合,開鎖的目的就會達到。密碼鎖開鎖機構原理如圖8所示:
圖8 密碼鎖開鎖機構示意圖
當用戶輸入的密碼正確而且是在規定的時間內輸入的話,單片機就會輸出一個開門信號,將這個信號送到開鎖驅動電路中區,然后便會驅動電磁鎖,這樣開鎖的目的就會達到。電路圖如圖9所示。
本次電路的設計中,考慮到需要節省材料,暫時就用發光二極管來代替電磁鎖,發光二級管亮的時候,表示開鎖;如果滅,表示鎖沒有打開。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image013.jpg
圖9 密碼鎖開鎖機構電路圖
2.6 按鍵電路的設計
此次設計采用的是行列式鍵盤,為了減少鍵盤與單片機接口的時候所占用的I/O線的數目,在按鍵數目較多的時候,通常會采用這種方法。
在鍵盤中按鍵數量比較多的時候,為了減少I/O口的過多占用,一般情況都會將按鍵排列成矩陣形式,如圖10所示。在矩陣式鍵盤中,每條垂直線和水平線在交叉處都是不直接連通的,都是通過一個按鍵連接起來的。這樣,一個端口(如P1口)就可以構成4*4=16個按鍵,這樣會比直接將端口線用于鍵盤多出了一倍的空間,而且線的數量越多,區別就會越明顯,如果再加上一條線就可以構成20的鍵盤了,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要鍵盤數量比較多的時候,采用矩陣法來做鍵盤是合理的。
掃描原理
把每個鍵都分成水平和垂直的兩端接入,如果說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個bit,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經過比對之后就可知道是哪個鍵被按下。
鍵盤整體模框圖如圖10所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image015.jpg圖10 鍵盤整體模框圖
表1 里面給出了4*4矩陣鍵盤的鍵碼,其中的鍵盤行列代碼則表示的是鍵盤被按下去的時候出現的代碼,低電平有效。例如在按下第一個按鍵的時候,第一行的代碼為0111,列的代碼也為0111,這樣我們設的第一個按鍵為0,那么0的鍵碼就出來了,即為77H,以此類推。
表1 鍵碼表
鍵盤行列代碼 0111 1011 1101 1110
0111 0(77H) 1(B7H) 2(D7H) 3(E7H)
1011 4(7BH) 5(BBH) A(DDH) 7(EBH)
1101 8(7DH) 9(BDH) A(DDH) B(EDH)
1110 C(7EH) D(BEH) E(DEH) F(EEH)
2.7 AT24C02存儲單元的設計
掉電存儲單元的設計就是為了在掉電的時候存儲當前設定的。AT24C02出產于ATMEL公司,該芯片為2KB字節掉電可擦除存儲芯片,采用的是單片機通訊和兩線串行的總線,最低的電壓為2.5V,額定的電流為1mA,靜態電流為10mA (5.5V),芯片內的資料可以在掉電的情況下存儲四十年左右,而且采用的是DIP封裝(8腳),使用比較方便。其電路如圖11所示。
圖中的R1、R2則是上拉電阻,其作用是為了減少AT24C02的靜態功耗,因為AT24C02的數據線和地址線是復用的,而且采用串口模式傳送數據,所以只用兩根線SCL(移位脈沖)和SDA(數據/地址)與單片機傳送數據。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image017.jpg
圖11 掉電存儲電路原理圖
2.8 密碼鎖的電源電路的設計
為了防止停電造成的麻煩,所以準備了USP后備電源,它包括了城市的供電電路,停電時的檢測電路,電子開關的切換電路,蓄電池和蓄電池充電電路組成。
220V的電壓經過變壓器變成12V的交流電壓,然后流經橋式整流電路,再由7805穩壓變成5V再送往切換電路,本電路的功耗相對來說比較小,所以就選用10w的小型的變壓器。
電源電路圖如圖12所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image019.jpg圖12 市電供電電路
2.9 電子開關切換電路
由R1,R2,R3,R4和IC14便組成了一個電壓比較器,在一般的情況下,V+<V- 這個時候IC14輸出的是高電平,常閉開關觸點與城市供電電路想通。在市電斷開的時候,V+>V- IC14輸出的是低電平,由T3和T4組成的電路使繼電器開啟,其常開觸點將電路和蓄電池連接起來,這樣就可以實現電路的切換工作,保證了停電的時候密碼鎖還能正常的工作。
電子開關切換電路電路圖如圖13所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image021.jpg
圖13 電子開關切換電路
2.10 蓄電池自動充電電路
T1,T2構成了蓄電池的自動充電,這個電路它在電池充滿后則會自動停止充電操作,當D1亮的時候電池則是在充電,D2的作用是工作指示。R4,R5,T1則構成了電壓檢測電路,當蓄電池電壓低的時候, T1,T2則導通,實現對蓄電池充電;充電完成后,則T1,T2截止,停止充電,同時D1將會熄滅,電路中C4起到的作用則是濾除電路產生的干擾信號。
蓄電池自動充電電路圖如圖14所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image023.jpg
圖14 蓄電池自動充電電路圖
2.11 設計總框圖
總電路包括了電源模塊,鍵盤輸入模塊,顯示模塊,開鎖模塊,還有當密碼輸入錯誤時會鎖定鍵盤并且報警的報警電路模塊。
總體設計框圖如圖15所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif
圖15 總體設計框圖
3 程序設計
3.1 模塊介紹
該系統的軟件設計分為以下幾個模塊:
(1)主程序模塊
主程序主要完成初始化、設置中斷向量、檢查有無調用顯示以及有無按鍵按下等等。
(2)掉電存儲服務程序
在逐位密碼比較的時候,則需要讀取AT24C02的程序,將原來儲存在芯片內的數據讀到RAM中,輸入的密碼則和這個密碼進行比較。如果是修改密碼的話,則將輸入的密碼保存在AT24C02中
(3)鍵盤的掃描以及識別子程序
鍵盤采用的是查詢的方式,在主程序中,在沒有按鍵按下的時候,單片機則按照原來的程序循環下去,如果檢測到有按鍵按下,便立即轉到按鍵鎖按下的子程序,處理結束的時候就返回去。
(4)顯示子程序
顯示子程序包括五種狀態分別為;開鎖狀態顯示子程序、關閉狀態顯示子程序、密碼輸入錯誤后的提示子程序、密碼輸入及修改狀態顯示子程序。密碼在規定的時間范圍內連續三次輸入錯誤后的鎖定狀態顯示子程序.
3.2 程序流程圖的設計
3.2.1 主流程圖
因設計主要是作用匯編語言來開發的51單片機項目程序,所以首先必須有一個可以在Windows XP或Windows vista操作系統下執行的匯編語言編譯器,本設計采用Keil編譯器進行編程,因為它可以支持一系列的51單片機。設計主程序見附錄1。
圖16為主流程圖流程:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image025.gif
圖16 主流程圖
3.2.2 鍵盤掃描子程序
鍵盤掃描開始前給鍵盤設置一個初始值,然后送入掃描初始值。設C=1左邊移動,然后檢測C的值是否等于0,如果等于0就調用消除抖動子程序并且讀取P1的值,如果A=0則調用顯示子程序,如果A不等于0則繼續讀取P1的值。
在C不于0時則檢查R5是否等于0,如果R5也不等于0則返回繼續C左移,如果R5等于0設C=1右移掃描。然后檢測C是否等于O,如果C等于0則返回到設置初始值,如果C不等于0則送入掃描初始值。程序詳見附錄1。
鍵盤掃描流程圖如圖17所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif
圖17 鍵盤掃描流程圖
3.2.3 LED顯示子程序
LED顯示模塊在按鍵值的輸入后,然后加上74LS138的掃描值送到P0口輸出到LED的顯示屏上就完成了顯示模塊的功能,程序參見附錄1。
LED顯示流程圖如圖18所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image027.gif
圖18 顯示流程圖
3.2.4 密碼比較和報警程序
開始比較第一位的密碼是否正確,如果正確則比較下一位的密碼,看是正確,如果正確則繼續比較,如果六位密碼都比較完了而且正確鎖便打開了同時清零,如果其中有一位密碼錯誤則清除顯示并且記錄錯誤次數,當錯誤次數達到三次的時候則報警。程序參見附錄1。
密碼比較和報警流程圖如圖19所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif
圖19 密碼比較和報警流程圖
4 仿真
4.1 系統的總仿真圖
本次設計仿真我是在protues下實現的,包括了4*4矩陣鍵盤,晶振電路,顯示電路,開鎖電路等模塊。
圖20為系統的在protues下的總仿真圖:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image030.jpg
圖20 系統總仿真圖
4.2 部分仿真情況
當電源剛剛接通的時候LED顯示情況,電源剛剛接通時LED則會顯示“000000”具體顯示情況如圖21所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image031.jpg
圖21 電源初始接通時顯示情況
為了仿真的方便,而且用到的是LED數碼管,所以在仿真電路的時候沒有將密碼隱藏,而是直接顯示在數碼管上面,在鍵盤上一次按下“123456”在LED數碼管上就會顯示出如圖22所示的情況。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image033.jpg
圖22 LED的顯示
考慮到仿真的方便性,在這里直接用一個LED-RED來代替了開鎖的的電路,在鍵盤上輸入了以上的六個數字然后再按下確認鍵的話就會使發光二極管燈亮那么就會出現如圖23的情況,在本次設計中表示開鎖。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image035.jpg
圖23 開鎖顯示電路
在修改密碼的時候,先輸入了正確的密碼,然后再修改密碼,修改密碼候顯示以下情況,在這里我們修改的密碼為“456789”,如下圖24所示:
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image036.jpg
圖24 密碼修改顯示圖
當密碼輸入錯誤的時候電路會自動清零。如圖25所示。
file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image038.jpg
圖25 密碼輸入錯誤時顯示情況
參考文獻
[1]康華光主編.電子技術基礎(第四版).高等教育出版社,1998
(Kanghua guang editor. Electronic technology foundation (fourth edition). Highereducation press, 1998)
[2] 梁宗善主編.新型集成塊應用.華中理工大出版社,2004
(Liang Zongshaneditor. The new application of manifold blocks. Central China tech universitypress, 2004)
[3]劉國權、韓曉東主編.Protel DXP電路原理圖設計指南.中國鐵道出版社,2004
(LiuGuoQuan, HanXiaodong editor. Protel DXP schematic circuit diagram design guidelines. Chinarailway publishing house, 2004 )
[4]《最新常用集成塊速察速用》編寫組編.最新常用集成塊速查速用.機械工業出版社,2005
(The latest commonspeed was made in the speed of manifold blocks with code to compile. The latestcommon integrated block with quick speed. Machinery industry press, 2005 )
[5]張慶雙主編.電子技術基礎技能線路實例.科學出版社,2006
(Line instance ZhangQingshuang editor. Electronic technology basic skills. Science press, 2006 )
[6]劉修文主編.實用電子電路圖集.中國電力出版社,2005
(Atlas LiuXiuWeneditor. Practical electronic circuit. China electric power press, 2005 )
[7]李朝青.單片機原理及接口技術(簡明修訂版)[M].北京:北京航空航天大學出版社,1998
(Li Chaoqing. Singlechip microcomputer principle and interface technology (concise edition) [M].Beijing: Beijing university of aeronautics and astronautics press, 1998 )
[8]王為清,程國剛.單片機KeilCx51應用開發技術.北京:人民郵電出版社,2007:11-70
(WangWeiqing Cheng Guogang. Single chip microcomputer KeilCx51 application developmenttechnology. Beijing: people's posts and telecommunications press, 2007:11-70 )
[9]張齊基于單片機應用系統設計技術-基于C語言編程.北京:電子工業出版社
(Zhang qi technology -based on single chip microcomputer application system design based on Clanguage programming. Beijing: electronic industry press )
[10]李建波.STC89C52單片機的電子密碼鎖.現代電子技術,2008, Vol.28
(Li jianbo. STC89C52 single-chip electronic combination lock. Themodern electronic technology, 2008, Vol. 28 )
致 謝
經過本次的設計,讓我加深了對單片機六位電子密碼鎖的了解,從一開的無從下手到后來一步一步的設計,其中有著汗水有著樂趣。
在本次設計中,對于AT89S51芯片有了更深程度的理解和掌握,比如I/O口的接線,擴展外部存儲器等等。在設計中用到了4*4矩陣式鍵盤,這種形式的鍵盤則為鍵盤占用過多的I/O口而設計的,4*4這個鍵盤一共16個按鍵,但其實只用了8個接線口,這樣省下了很多的接線口。
在晶振電路中,讓我了解到對電容的大小要求,當電容的大小超出規格的時候,則會對振蕩頻率的高低和振蕩工作的穩定性以及起振的難易程度還有溫度的穩定性產生輕微的影響,從而對系統的精確性產生影響。
在開鎖電路中由于要考慮材料的價錢,所以我就只用了發光二極管來代替這個開鎖機構,發光二極管亮則表示鎖打開,發光二極管滅的時候就表示鎖沒有打開。這樣的設計讓我發現了AT89S51這個芯片的靈活性。
總之經過這次的設計讓我有了很大程度的提高。
因此在這里深深的感謝老師對我的悉心教導。
附錄1 程序清單 ORG 00H
MOV R5,#00H
MOV R7,#00H
DJNZ R7,$
MOV R7,#10H
MOV R6,#06H
MOV R1,#35H
L1: MOV A,R7
MOV DPTR, #TABLE
MOVC A,@A+DPTR
MOV @R1,A
DEC R1
INC R7
DJNZ R6,L1
START: ORL P2,#0FFH
MOV R4,#06H
MOV R0,#40H
CLEAR: MOV @R0,#00H
INC R0
DJNZ R4,CLEAR
L2: MOV R3,#0F7H
MOV R1,#00H
L3: MOV A,R3
MOV P1,A
MOV A,P1
MOV R4,A
SETB C
MOV R5,#04H
L4: RLC A
JNC KEYIN
INC R1
DJNZ R5,L4
CALL DISP
MOV A,R3
SETB C
RRC A
MOV R3,A
JC L3
JMP L2
KEYIN: MOV A,R1
XRL A,#0BH
JZ X3
MOV A,R1
XRL A,#0FH
JZ X4
MOV R7,#10
D1: MOV R6,#24
DJNZ R6,$
DJNZ R7,D1
D2: MOV A,P1
XRL A,R4
JZ D2
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV R7,A
XRL A,#0AH
JZ SET0
MOV A,R7
XRL A,#0BH
JZ START
MOV A,R7
XRL A,#0CH
JZ L2
MOV A,R7
XRL A,#0DH
JZ L2
MOV A,R7
XCH A,40H
XCH A,41H
XCH A,42H
XCH A,43H
XCH A,44H
XCH A,45H
CALL DISP
JMP L2
X3: JMP DISP2
X4: JMP COMP
DISP: MOV R0,#45H
DISP1: MOV A,@R0
ADD A,#50H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#40H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#30H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#20H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#10H
MOV P0,A
CALL DELAY
DEC R0
MOV A,@R0
ADD A,#00H
MOV P0,A
CALL DELAY
RET
SET0: MOV R2,#06H
MOV R0,#40H
MOV R1,#30H
E1: MOV A,@R0
XCH A,@R1
INC R0
INC R1
DJNZ R2,E1
CALL DELAY
E2: JMP START
COMP: MOV R1,#45H
MOV R0,#35H
MOV R2,#06H
C1: MOV A,@R1
XRL A,@R0
JNZ C3
DEC R1
DEC R0
DJNZ R2,C1
CLR P2.0
MOV R2,#200
C2: MOV R6,#248
DJNZ R6,$
DJNZ R2,C2
C3: INC R5
MOV A,R5
MOV R5,A
CJNE R5 ,#03H,C4
CLR P2.1
MOV R5,#00H
C4: JMPSTART
DISP2: MOV R0,#35H
CALL DISP
MOV A,P1
XRL A,R4
JZ DISP2
CALL DELAY
JMP START
DELAY: MOV R7,#C3
D3: MOV R6,#248
DJNZ R7,D3
RET
ORG 300H
TABLE: DB 01H ,02H, 03H, 0CH
DB 04H, 05H, 06H ,0DH
DB 07H ,08H ,09H ,0EH
DB 0AH, 00H, 0BH ,0FH
DB 01H, 02H,03H ,04H, 05H, 06H
END
附錄2 總原理圖file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif
歡迎光臨 (http://www.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
免费在线成人
|
伊人网99
|
亚洲一二三区在线观看
|
中文字幕一区二区三区乱码在线
|
国产一区二区电影
|
天堂色
|
一区二区av在线
|
日韩aⅴ视频
|
青青久在线视频
|
在线亚洲人成电影网站色www
|
国产美女精品视频
|
国产一区91精品张津瑜
|
久久97精品
|
国产欧美一级
|
久久视频免费观看
|
日韩视频一区二区
|
91欧美激情一区二区三区成人
|
欧美小视频在线观看
|
综合一区
|
久久精品国产亚洲
|
久久精品97|
www.成人.com
|
国产精品不卡
|
免费视频一区二区
|
午夜视频在线免费观看
|
亚洲国产精品久久久
|
国产成人精品免费视频大全最热
|
伊人手机在线视频
|
国产精品1区
|
四虎网站在线观看
|
午夜电影网
|
久久性|
97色在线视频
|
亚洲精品视频免费观看
|
国产99久久久国产精品下药
|
天堂在线91
|
337p日本欧洲亚洲大胆精蜜臀
|
日韩三区
|
伊人狠狠|
免费一级做a爰片久久毛片潮喷
|
国产乱码精品1区2区3区
|