1.功能
設計紅外線編碼電路、紅外線解碼開鎖電路、掉電保護電路、聲光提示報警電路、鍵盤及顯示電路,編寫相應的程序代碼並進行結果測試和仿真演示。
利用紅外遙控技術和單片機的相應技術實現密碼鎖的開鎖、出錯報警、超次鎖定、修改用戶密碼等基本的密碼鎖的功能以及遙控、掉電存儲、聲光提示等功能。
注:
設計的系統既可以通過發送端的按鍵進行紅外控制,也可以通過接收端的按鍵進行控制,比較靈活,發送端和接收端的控制可以自由切換,比如我發送端操作到一半的時候,接收端可以繼續操作,是通過在接收端的按鍵檢測函數keyscan()中增加檢測紅外鍵值是否改變的代碼:
if(IrKey != 0xff){
key = IrKey;
IrKey = 0xff;
}
其中IrKey的值是通過“讀取紅外數值的中斷函數ReadIr()”中改變的,當接收到紅外鍵值信號時,IrKey便會變成相應的鍵值。
2.紅外發射接收原理
NEC協議規定的紅外發射格式:
發送端:先檢測矩陣鍵盤有沒有按下,如果有按鍵按下的話,則調用發射函數將相應的鍵值發送出去;
接收端:HX1838紅外接收管接收到的信號和發送的信號正好相反,接收函數從接收到的信號中取出鍵值,然後根據鍵值去執行接收端相應的操作(開鎖,修改密碼等等)。
3.接收端仿真
在接收端的仿真中密碼鎖的開鎖、出錯報警、超次鎖定、修改用戶密碼等基本的密碼鎖的功能以及掉電存儲、聲光提示等功能都實現,只剩下紅外遙控。
(1)輸入密碼開鎖
開機界面:
按A鍵輸入密碼,進行開鎖:
密碼正確,成功開鎖(LED燈滅):
密碼輸入錯誤:
(2)修改存儲在24C06裏面的密碼
按修改密碼鍵,修改密碼之前需要輸入舊密碼:
輸入舊密碼正確:
輸入舊密碼錯誤:
之後輸入新的密碼:
提醒再次輸入新密碼:
更改密碼成功:
(3)重置密碼
按SET鍵3s以上,重置24C02存儲器中密碼:
(4)輸入錯誤密碼3次以上報警
輸入密碼錯誤次數超過3次報警界面(蜂鳴器響):
4.系統圖
發送端:
接收端: