新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于單片機的簡易紅外遙控密碼鎖設計與實現(xiàn)

基于單片機的簡易紅外遙控密碼鎖設計與實現(xiàn)

作者: 時間:2012-12-10 來源:網絡 收藏

2 系統(tǒng)軟件

軟件部分的匯編語言,采用模塊化思想,以主程序為核心設置了多個功能模塊子程序。主程序主要起到一個導向和決策功能,決定什么時候系統(tǒng)該做什么,系統(tǒng)的各種功能主要是通過調用具體的子程序來。

2.1 發(fā)射模塊程序的設計

發(fā)射模塊的編碼與調制工作是由軟件編程的。當按鍵K按下時,密碼信號依次送往數(shù)據(jù)緩沖器SBUF,然后利用“0”電平調制、“1”電平不調制的方法,將二進制信號調制成頻率為38.5 kHz的間斷脈沖串信號,通過P3.O口輸出,驅動發(fā)光二極管,最后以波長940 nm的光發(fā)出紅外信號。紅外發(fā)射模塊程序流程圖如圖6所示。

38.5 kHz已調波的實現(xiàn)是依據(jù)匯編語言具有嚴格的指令周期來實現(xiàn)的,低電平與高電平均持續(xù)13個機器周期,這里采用的時鐘晶振是12 MHz,所以產生的調制波的精確頻率為38.46 kHz。

2.2 本機接收處理模塊程序的設計

本機處理部分可以實現(xiàn)密碼設置和修改、本機按鍵*、按鍵提示、密碼錯誤報警、超次提示、*和按鍵之間超過3 s自動復位等所有的功能。本機處理的主程序流程圖如圖7所示。

2.2.1 密碼設置子程序的設計

系統(tǒng)只有內部上電復位的時候才能設置或者修改密碼。當系統(tǒng)復位時,即進入了等待用戶按鍵設置新密碼狀態(tài),用戶輸入的8位密碼依次保存在RAM存儲單元的41H~48H單元。當8位密碼設置完成后,蜂鳴器鳴響1 s提示密碼已成功設置。當按鍵*時,輸入的密碼依次和RAM存儲器中41H~48H單元的數(shù)相比較,只要有1位不相同,門鎖不但不能打開,而且還發(fā)出報警信號。

2.2.2 按鍵間隔超時的判斷及復位

前文提到了當按鍵間隔超過3 s有自動復位的功能,設置密碼和按鍵*時分別采用定時器T0和T1來實現(xiàn)。兩定時器均設為50 ms定時中斷,連續(xù)產生60次中斷的時間是3 s。當確實有鍵按下并彈起時,打開相應定時器中斷并允許其計數(shù)。假如在下一按鍵按下時,發(fā)生定時中斷還不到60次,則定時器停止計數(shù)并重設計數(shù)初值及定時中斷次數(shù);如果在下一按鍵按下之前,定時器已發(fā)生60次中斷,表示3 s已到,則系統(tǒng)自動進行軟件復位。設置密碼時按鍵間隔超時的復位程序代碼如下:

以上程序當執(zhí)行完RETI指令后,PC指針指向0000H,程序從地址0000H處開始執(zhí)行,即實現(xiàn)了軟件復位。

當鍵盤*時,如果按鍵間隔超過3 s,這時的程序“復位”并不是從地址0000H處執(zhí)行,而是回到“密碼設置結束提示音”后的那一條指令處開始執(zhí)行,利用單步執(zhí)行指令的方法得到了此條指令的地址:0FC00H。

3 結語

該設計的亮點在于沒有擴展任何E2PROM的情況下,實現(xiàn)了任意修改密碼的功能,且采用軟件復位的方法取消無效按鍵。通過對本系統(tǒng)設置密碼、鍵盤*、紅外*等各方面的情況進


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉