freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

單片機紅外遙控密碼鎖課程設計2-其他專業(yè)-資料下載頁

2025-01-19 08:03本頁面

【導讀】隨著人們生活水平的提高,如何實現家庭防盜這一問題也變得尤其重要。傳統(tǒng)的機械鎖由于其構造的簡單,被撬的事件屢見。即使是一把質量過關的機械鎖,通過急開鎖,甚至可以在不損壞鎖的前提下將鎖。而且,在日常的生活和工作中,若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多。把鑰匙,使用極不方便,且鑰匙丟失后安全性即大打折扣。為此,本系統(tǒng)試著設計具有。鎖密碼量少、安全性能差的缺點。而且還添加了紅外遙控、遙控器學習識別和LCD顯示。由于這是一次學生的實習項目,本產品未必能盡善盡美,但基本的要求還是可。發(fā)射部分,或直接購買紅外線遙控編碼芯片的遙控器成品作為系統(tǒng)的發(fā)射部分?,F系統(tǒng)的功能,而且系統(tǒng)有著較高的抗干擾性和穩(wěn)定性。是采用PPM方法,即用兩個脈沖之間的時間間隔來表示二進制信息。常用的紅外線信號傳輸協議有NEC協議、RC-5協議、RC-6協議、單片機響應中斷并進行信號的接收解碼。據信號和干擾信號的主要區(qū)別在于載波頻率、脈沖波長和工作周期上。

  

【正文】 //判斷第一次新密碼是否接收完 } lcd_wcmd(0x01)。 lcd_pos(0)。 ir_flag=0。 for(m=0。m16。m++) lcd_wdat(new_code1[m])。 i=0。 j=0。 for(。) { if(ir_flag==0) continue。 ir_flag=0。 //按鍵屏蔽 if(ir_data==num_1||ir_data==num_2||ir_data==num_3||ir_data==num_4||ir_data==num_5||ir_data==num_6||ir_data==num_7||ir_data==num_8||ir_data==num_9||ir_data==num_0) { _code[i]=ir_data。 //第二次輸入修改密碼 lcd_pos(0x40+j)。 j++。 lcd_wdat(codestar[i])。 i++。 ir_data=0。 } if(ir_data==num_voldec) { i。 if(i0) i=0。 j。 if(j0) j=0。 lcd_pos(0x40+j)。 lcd_wdat(ent_empty[0])。 } 21 if(i0) { if(ir_data==num_eq) // 兩次密碼輸入完畢確認鍵 eq { e=0。 if(i6||i6) e=1。 while(i) { if(_code[i]!=receive_code[i]) //與原密碼比較 e++。 } if(e0) wrong_num++。 for(。) { if(wrong_num==1) //兩次輸入密碼不一樣 { lcd_wcmd(0x01)。 lcd_pos(0)。 for(m=0。m16。m++) lcd_wdat(not_sam[m])。 lcd_pos(0x40)。 for(m=0。m16。m++) lcd_wdat(ent_aga[m])。 LED1=0。 beep()。 LED1=1。 EX0=0。 delay1(1000)。 EX0=1。 lcd_wcmd(0x01)。 lcd_pos(0)。 for(m=0。m16。m++) lcd_wdat(ent_sign[m])。 i=0。 j=0。 b=1。 wrong_num=0。 lcd_pos(0x40)。 for(m=0。m16。m++) lcd_wdat(ent_empty[m])。 break。 } 22 else //密碼一致,開始修改密碼 { SectorErase(0x2021)。 //擦除扇區(qū) delay1(10)。 byte_write(0x2200,0x11)。 //密碼被存儲過的標志信號 for(k=0。k6。k++) { switch(k) { case 0:addr=0x2021。break。 case 1:addr=0x2021。break。 case 2:addr=0x2021。break。 case 3:addr=0x2021。break。 case 4:addr=0x2021。break。 case 5:addr=0x2021。break。 } byte_write(addr,_code[k])。//重新寫入數據 } lcd_wcmd(0x01)。 lcd_pos(0)。 for(m=0。m16。m++) lcd_wdat(succ[m])。 i=0。 j=0。 b=0。 c=0。 new2_code=1。 //第二次輸入密碼正確標識位 new1_code=0。 EX0=0。 delay1(500)。 EX0=1。 } if(new2_code==1) break。 } } } if(ir_data==num_eqamp。amp。new2_code==1amp。amp。code_right==1) break。 } lcd_wcmd(0x01)。 23 lcd_pos(0)。 for(m=0。m16。m++) lcd_wdat(end_[m])。 ir_flag=0。 for(。ir_flag==0。)。 new2_code=0。 code_right=0。 f=1。 if(ir_data==num_champ。amp。f==1) break。 //ch 鍵進行下一步 } lcd_wcmd(0x01)。 lcd_pos(0)。 for(m=0。m16。m++) lcd_wdat(cdis1[m])。 lcd_pos(0x40)。 for(m=0。m16。m++) lcd_wdat(cdis2[m])。 ir_flag=0。 for(。ir_flag==0。)。 //無動作時保持顯示內容,任意鍵重新開始 } //end main 6 功能分析及總結 本系統(tǒng)順利完成了 輸入正確密碼開鎖、出錯報警、超次鎖定、修改用戶密碼等基 本的密碼鎖功能,并且還能實現遠距離遙控、掉電存儲、聲光提示、遙控器學習識別等功能。 完成后的實物圖如圖 1 所示。 打開系統(tǒng)電源后程序初始化, LCD 提示輸入遙控器識別按鍵,同時等待紅外接收頭輸出端的低電平,低電平出現說明遙控有鍵按下,外部中斷設定為下降沿觸發(fā),故單片機進入中斷服務程序進行信號的接收解碼。接收解碼程序有很好的抗干擾性,脈沖寬度的延時計數準確,能夠識別重復信號,屏蔽多余按鍵避免誤操作,并且 32 位編碼接收完畢后還要進行錯誤校驗,所以整個接收解碼的準確性非常高。 當接收到識別按鍵后,單片機便可解碼出相應的 鍵碼和該遙控器的用戶碼,組成該遙控器的 ID。此 ID 是單片機識別不同遙控器的根據,單片機從 eeprom 中查找相應的 ID,如果此 ID 不存在,就會提示輸入該遙控器其余鍵碼的信息并保存到 eeprom 相應的地址。如果 ID 存在,系統(tǒng)即進入電子密碼鎖模式。系統(tǒng)進入密碼輸入界面,每輸入一位密碼 LCD就顯示“ *”號,而且程序設有回格功能,刪除上一位輸入的密碼,直到接收完八位的密碼后就開始運行密碼核對程序。若密碼輸入正確,就可以選擇進行開鎖、上鎖或修改密碼的操作,并伴有 LED 燈顯示。當密碼輸入錯誤的時候就會進入密碼輸入提醒程序 提醒 24 錯誤次數,密碼輸入錯誤次數累積到 3 次時系統(tǒng)就會通過蜂鳴器報警,而且程序進入死循環(huán),系統(tǒng)被鎖定。系統(tǒng)被鎖定后無法通過遙控器解鎖,只能夠按電子鎖上面的復位鍵使整個程序復位。 如果選擇了密碼修改操作, LCD提示輸入第一次新密碼,接收完 8 位新密碼后,保存并 LCD 提示輸入第二次新密碼。兩次新密碼接收完畢后,進入密碼比較程序,判斷兩次輸入的密碼是否相同。若相同則把新密碼保存到 eeprom 中;若不相同則 LCD顯示錯誤,程序返回。 除此之外,本系統(tǒng)還在電子鎖中添加了一個按鍵,如果用戶不慎忘記了自己設置的密碼或者要刪除已 保存的遙控器 ID 及鍵碼信息,可以長按此鍵,程序會把默認設置好的原始密碼寫入 eeprom 中,同時把保存的遙控器數目清零,為用戶使用提供極大的方便。 7 具體操作流程 接通電源 按照提示輸入 6 位密碼(按 play 鍵確認,錯誤的話出現提示語重新輸入密碼,密碼正確繼續(xù)) 按 eq 鍵進行密碼修改 輸入 6 位新密碼(輸入完畢按 eq 鍵確認) 再次輸入 6 位新密碼(輸入完畢按 eq 鍵確認,兩次輸入不一樣,重新輸入第二個密碼) 修改密碼成功 根據提示按下 ch鍵退出 進入最后界面。 25 參 考 文 獻 王衛(wèi)星 . . 中國水利水電出版社 . 來清民 . [M]. 北京 : 北京航空航天大學出版社 . 張義和,陳敵北,周金圣 . Protel2021[M]. 北京 : 人民郵電出版社 . 康華光 . (第四版 )[M]. 北京 : 高等教育出版社 . 譚浩強 . 2021. C 語言程序設計 (第三版 )[M]. 北京 : 清華教育出版社 . 附錄 1 26
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1