基於微控制器的紅外電子密碼鎖程式設計思路
1 使用硬體
- lcd1602
- 矩陣鍵盤
- 紅外遙控
- 24c02記憶體儲存
- 蜂鳴器
- 電磁繼電器(模擬鎖開關)
2 主要引數
- lcd介面標識
- 管理員密碼
- 開鎖密碼
- 輸入密碼次數
3 各硬體主要函式
LCD
1. 顯示介面函式
void ShowPage(uchar page)//顯示介面函式
引數為4個介面
- 輸入密碼介面 pageInPass
- 輸入管理員密碼介面 pageInAdmin
- 設定密碼介面 pageSetPass
- 開鎖成功介面 pageShowOpen
錯誤介面單獨呼叫一個函式
void ShowError(uchar page,uchar mode)//呼叫錯誤介面,兩種模式,0為一直顯示,1為顯示一會兒回覆正常
2. lcd輸入密碼方式設定函式
uchar InputPassword(uchar x,uchar y,uchar num,uchar *dat,uchar mode)
按位輸入密碼(6位)
- x,y 為輸入密碼起始位置
- num為輸入的數字
- *dat 為儲存密碼的陣列
- mode 輸入密碼模式
- 0 為輸入的時候顯示密碼
- 1 為輸入的時候顯示*號
- 2 為輸入的時候先顯示密碼再顯示*號
3.按鍵函式
矩陣鍵盤掃描
uchar keyScan(void)
矩陣鍵盤掃描,返回值為按下按鍵ID(編號)檢測方式:通過行、列四次迴圈,找到按下的按鍵,通過按下按鍵所在行、列計算出按下按鍵ID
uchar GetKeyNum(uchar ID) ;
uchar GetFunctionKey(uchar ID) ;
從識別到的按鍵ID獲得實際要使用的數字鍵和功能鍵
功能鍵分四種
- 設定 開鎖 關鎖 清零
4.紅外函式
uchar irKeyScan(void)
紅外來鍵盤掃描,從獲取到的紅外按鍵編碼直接返回按鍵ID
5.24c02儲存函式
void write_n_add(unsigned char * p,unsigned char address,unsigned char n);
void read_n_add(unsigned char * p,unsigned char address,unsigned char n);
讀寫密碼函式
6.mian函式中的功能函式
void SwitchPage(uchar keyID)
選擇顯示介面函式,引數為之前的四個介面
uchar checkPass(uchar *Oldpass,uchar *Newpass)
按位校驗密碼函式,oldpass為舊密碼,newpass為新密碼 ,返回值1為密碼正確,0為密碼錯誤
4 程式主要邏輯
1.各硬體初始化
2.讀取已設定密碼
3.顯示輸入密碼開始介面(初始介面)
4.讀取各個鍵(數字鍵0-9,四個功能鍵)
5.使用設定鍵切換顯示介面
6.1 當前在輸入管理員密碼介面且有數字按鍵輸入
—–6.1.1 管理員密碼正確→進入設定密碼介面
—–6.1.2 管理員密碼錯誤→顯示密碼錯誤→返回管理員密碼介面
6.2 當前在設定密碼介面且數字按鍵有輸入
—–6.2.1 向記憶體寫入新密碼→回到輸入密碼介面(初始介面)
6.3 當前在輸入密碼介面且數字按鍵有輸入
—–6.3.1 開始接收密碼,輸入6位密碼後返回一個判斷值1
6.4 當前在輸入密碼介面且開鎖按鍵有輸入
—–6.4.1 判斷值為1(已輸入6位密碼)且密碼正確→開鎖成功介面;繼電器開;錯誤計數清零
—–6.4.2 判斷值為1且密碼錯誤→密碼錯誤介面;錯誤計數+1;蜂鳴器報警→一段時間後返回輸入密碼介面
————6.4.2.1 判斷值為1且密碼錯誤且錯誤次數=3→密碼錯誤介面;蜂鳴器報警;不返回
—–6.4.3 判斷值不為1→通過一個LED燈閃爍提示
6.5 開鎖成功介面且閉鎖按鍵有輸入→返回輸入密碼介面;繼電器關;密碼位數清零
6.6 清零按鍵有輸入→當前介面密碼位數清零;返回當前介面
相關文章
- 基於ARM的電子密碼鎖的設計密碼
- 課設 - 基於微控制器的多功能密碼鎖設計(電路+流程+論文)密碼
- 160【畢設課設】基於51微控制器的家庭安全安防報警系統設計-紅外-火焰-甲烷-GSM(電路圖+程式+論文)
- 307【畢設課設】基於51微控制器虛擬按鍵電子琴設計
- 怎麼設定電腦鎖屏密碼 設定電腦鎖屏密碼的操作方法密碼
- 電腦怎麼設定密碼鎖屏 電腦設定密碼鎖屏的詳細教程密碼
- 電腦鎖屏密碼怎麼設定 win10電腦休眠密碼設定方法設定密碼Win10
- 電子基礎大全:整理了電子設計所需的基礎知識
- window10怎樣設定鎖屏密碼_win10電腦鎖屏密碼怎麼設定密碼Win10
- 基於雲原生的秒殺系統設計思路
- 基於微控制器的光控路燈設計含程式和模擬圖
- C51微控制器——紅外遙控 驅動程式
- 基於組合語言微控制器的時鐘設計組合語言
- 基於51微控制器的交通燈Proteus模擬設計
- 基於51微控制器液晶萬年曆設計
- 【微控制器彙編實戰】基於51微控制器的搶答器設計
- 直播系統程式碼,Android獲取、設定鎖屏密碼Android密碼
- 基於UDP程式設計UDP程式設計
- 基於DFSS設計開發新能源汽車電子產品
- 248【畢設課設】基於微控制器雙機通訊傳輸溫度電路設計(原理圖+原始碼+論文)原始碼
- (畢業設計資料)基於微控制器51微控制器智慧藥盒控制系統設計
- 基於SpringBoot AOP面向切面程式設計實現Redis分散式鎖Spring Boot程式設計Redis分散式
- 139【畢設課設】基於微控制器音訊放大器聲控燈控制電路設計音訊
- 併發程式設計之——讀鎖原始碼分析(解釋關於鎖降級的爭議)程式設計原始碼
- 基於vs外掛的abp程式碼生成器
- ffmpeg基礎庫程式設計開發電子書pdf下載程式設計
- 基於微控制器的無線語音遙控智慧車設計
- 基於SPI的增強式外掛框架設計框架
- 650【畢設課設】基於微控制器大氣壓監測報警系統電路方案設計
- 基於區塊鏈的智慧鎖設計與實現區塊鏈
- 微控制器紅外遙控格力空調
- 736【畢設課設】基於51微控制器的計程車計價器打表儀器設計
- 【基礎題】【類】類的設計思路
- limanmanExp資料庫審計設計思路與重要程式碼資料庫
- 585【畢設課設】基於微控制器計程車計價器模擬系統設計
- 基於Select模型的通訊模擬--win32程式設計程式碼模型Win32程式設計
- 找回密碼的功能設計密碼
- 非同步程式設計:基於事件的非同步程式設計模式(EAP)非同步程式設計事件設計模式