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

正文內(nèi)容

本科畢業(yè)設計-基于51單片機的紅外遙控密碼鎖設計(留存版)

2025-08-05 04:55上一頁面

下一頁面
  

【正文】 可知接收 頭 連接的是外部中斷 1,當 發(fā)射 器發(fā)送信號時,外 部中斷 1 打開,此時進入中斷程序,遙控器的 21 個按鍵有各自的鍵碼值,同上述按鍵掃描采用 switch 語句可返回各個按鍵代表的數(shù)字及功能,以此來實現(xiàn)遙控器對密碼鎖的控制。 由于本次設計采用的是市場賣的遙控器,在 PROTEUS 中無法進行仿真,所以在基于 51 單片機的紅外遙控密碼鎖 16 PROTEUS 仿真中只有主控模塊的原理圖。說明存儲器在讀密碼的時出現(xiàn)某些未知的錯誤。 6 總結與展望 確定研究課題之后,查閱相關資料,設計相應的原理圖。 define dword unsigned long 基于 51 單片機的紅外遙控密碼鎖 19 define keypad P1 define PASSWORD_LENGTH 6 //不要超過 9 define PASSWORD_ADDR 0x10 define PASSWORD_ENTRY 0x08 define AddWr 0xa0 //寫數(shù)據(jù)地址,需要參考 24c02芯片文檔 define AddRd 0xa1 //讀數(shù)據(jù)地址 define default_passwords 123456 define default_entrywords 20210411 define wait_time 600 //等待 600s后關閉顯示屏,節(jié)電 uchar IRCOM[7]。 uchar second=0,minute=0,hour=0。 sbit en=P2^2。 en=1。 X amp。\039。 delay11()。i++) { temp=temp1。 for(i=0。 } uchar RdFromROM_Byte(uchar address) { uchar indata。i++){ temp=(indata(8*i))amp。 //DisplayOneChar(2*i,1,message[temp/0x10])。 基于 51 單片機的紅外遙控密碼鎖 28 return。 //數(shù)據(jù)最高位補“ 0” if(N=8) { IRCOM[j] = IRCOM[j] | 0x80。 //串口發(fā)送 0 case 0x03:key=1。break。 delay11()。 if(getkeycode(amp。led=1。 case 0x77:key=11。i4。 passwords=get_preserve_password()。amp。 status=input_password(amp。 char status=1。 if(status){ //DisplayData(SETUP_PASSWORD1)。 refresh_display(0,0,tab4)。(temp==(default_entrywords%10000))) { dispassword_flag=1。amp。 } } void refresh_display(uchar X, uchar Y, uchar code *DData) { /*if(currentdisflag){ if(currentdisflag!=lastdisflag) { LCD_Init()。amp。 case 0xbb:key=8。 break。0x0f。break。 //串口發(fā)送 03 case 0x08:key=4。 //取鍵碼的低四位 IRCOM[6]=IRCOM[2] 4。k8。 delay11()。 } delay2(1)。 start()。 delay11()。 delay11()。 delay11()。 scl=1。//這里不檢測忙信號,發(fā)送地址碼 //delay(1)。 en=1。 void DisplayListChar(uchar X, uchar Y, uchar code *DData)。 uchar code tab5[]={Input old code }。 sbit IRIN=P3^3。本次 畢業(yè)設計 不僅僅是對我大學四年的檢測也是對我毅力的考驗,讓我在一次次的打擊之后變得更堅強 。參考網(wǎng)上給的遙控器鍵碼值使用 swith 語句同矩陣按鍵掃描返回數(shù)字及調用功能函數(shù)。若調節(jié)滑動變阻器 1602 依然不顯示,此時再看看程序中 1602 初始化函數(shù)是否有錯,再看硬件有沒有問題,本人在調試 1602的時候就遇到類似問題,電路與程序都完全正確, 1602 卻依然不能正常顯示,有時會出現(xiàn)亂碼的現(xiàn)象,最后發(fā)現(xiàn)竟然是單片機沒有與插槽接觸完全,導致 1602 的控制端與單片機接觸不良,因此,會出現(xiàn)時而亂碼時而不顯示的狀況。 算法與流程圖 鑒于密碼 鎖在輸入密碼時可有矩陣按鍵及遙控器進行雙控,紅外遙控采用中斷的方式進行接收信號,先是按鍵的掃描,判斷是執(zhí)行某個任務還是將輸入密碼輸送到LCD1602 上面。 再考慮每個模塊需要加入的外圍電路,以及接入到單片機相應的 IO 口,為了方便程序的修改,要嚴格按照仿真的接法接到單片機的管腳,本設計總體原理圖如下圖所示: 基于 51 單片機的紅外遙控密碼鎖 12 圖 19 總體原理圖 4 系統(tǒng)軟件設計 程序設計思 路 本次設計的密碼鎖,采用的是雙控模式,即在主控模塊中有 4 4 矩陣鍵盤可以輸入 數(shù)字來進行改密 等功能, 同時也可以用遙控器來實現(xiàn) 。 基于 51 單片機的紅外遙控密碼鎖 7 圖 9 AT24c02 硬件連接圖 紅外發(fā)送接收電路設計 1)紅外發(fā)送模塊 這次設計中用到的 遙控器 其實物圖如下圖所示: 圖 10 小型遙控器 特點: 通過無線來控制 , 攜帶方便,低成本,低功耗 等。 上電復位電路 結構如圖 2 中 R1,R2, C3 和 R1和 R2 分別為 1K和 10K。 基于 51 單片機的紅外遙控密碼鎖 2 2 系統(tǒng)設計方案 總體方案 方案一: 采用矩陣按鍵,通過單片機將字符送到數(shù)碼管顯示,另外,密碼鎖部分用電磁繼電器來進行模擬。另外,紅外線不會產(chǎn)生信號干擾,反應速度迅速、工作穩(wěn)定度高等特點。另外 ,此處采用的是雙控模式,即使用鍵盤控制的同時,也可以使用遙控器。由于本設計采用的存儲器可防止斷電數(shù)據(jù)丟失,因此更換遙控器或在整個電路斷電又重啟的情況下密碼仍為先前設定值,具有很好的保密性。 硬件方面解決單片機與外圍電路的 設計 , 主控模塊采用方案二來進行設計,另外用遙控器作為發(fā)送端的同時,應在主控模塊加上接收模塊,對遙控器發(fā)射的信號進行接收,解碼等處理。 LCD1602 具有很高的性價比,且應用很廣泛。外觀如下: 圖 15 紅外接收頭 VS_1838b 由于密碼采用雙控模式,在主控模 塊采用矩陣鍵盤進行密碼的輸入及修改,因此,將紅外接收端接到單片機的外部中斷 1 來檢測是否有紅外信號,進而判斷遙控器是否0 . 565 ms2 . 25 ms1 . 685 ms遙控發(fā)射碼 “ 1 ”0 . 565 ms1 . 125 ms0 . 56 ms遙控發(fā)射碼 “ 0 ”基于 51 單片機的紅外遙控密碼鎖 10 有按鍵按下,并進行密碼的輸入與修改。先寫 24c02 的驅動程序,時鐘信號,讀寫數(shù)據(jù)等等,要考慮怎么將密碼寫入到 24c02 中,以及從中讀取等問題。實際電路中,管腳 3 應接 10K 滑動變阻器,管腳 15 接 10 歐電阻。此時程序中還要進行密碼的對比,若正確, led 亮,說明鎖已經(jīng) 打開。若兩次密碼相同,則 1602 顯示 plete。_nop_()。 sbit scl=P2^5。 uchar code message[16]={0123456789abcdef}。y)。 //讀寫一個字符后 ,地址指針及光標加一 ,且光標加一整屏顯示不移動 LCD_WriteCommand(0x80)。 X amp。 scl=1。 temp=indata。 delay11()。 write_byte(indata)。 //refresh_display(0,1,cls)。i++){ 基于 51 單片機的紅外遙控密碼鎖 27 temp=RdFromROM_Byte(address+3i)。 EX1 = 0。 return。0x0f))。 //串口發(fā)送 06 基于 51 單片機的紅外遙控密碼鎖 30 case 0x42:key=7。 } EX1 = 1。amp。 case 0xbd:key=5。 // 解鎖 break。 } void preserve_set_password(dword passwords) 基于 51 單片機的紅外遙控密碼鎖 33 { WrToROM_dword(PASSWORD_ADDR,passwords)。*/ 基于 51 單片機的紅外遙控密碼鎖 34 } /***********************待擴展 **************************************/ //void DO_OTHERTHING()。 } } if(key==12){ keycounts=0。 } void PasswordUnLock() { dword INPUT_PASSWORD=0。 delay(1000)。 //temp=get_preserve_password()。 return。 else dispassword_=0。*39。 delay(3000)。 if((!getkeycode(amp。//改密碼 基于 51 單片機的紅外遙控密碼鎖 32 break。 case 0xed:key=3。 return 1。//改密 ( CH) case 0x47:key=10。led=1。 if(IRCOM[6]9) { IRCOM[6]=IRCOM[6]+0x37。} while (!IRIN) //等 IR 變?yōu)楦唠娖? delay(1)。 } /*****************************24C02驅動 *********************************/ /***************************定時器 1中斷 *********************************/ void IR_IN() interrupt 1 { unsigned char j,k,N=0。 dword indata=0。 indata=read_byte()。 write_byte(AddWr)。 sda=1。(i250)) i++。 delay11()。 } /*******************1602按指定位置顯示一串字符函數(shù) *********************/ void DisplayListChar(uchar X, uchar Y, uchar code *DData) { uchar ListLength。 en=0。 for(x=t。 uchar code tab8[]={Complete! }。//蜂鳴器 void delay(unsigned char x) //x* { unsigned char i。另外,還要感謝趙老師,總是在百忙之基于 51 單片機的紅外遙控密碼鎖 18 余指 導我,幫我解決了不少難題,讓我順利完成了設計。 調試結果 本次設計整體調試結果:給電路板送入 +5V 電源, 1602 第一行中間顯示 wele,然后按解鎖鍵, 1602 第一行顯示 input code 此時輸入密碼再按確定鍵。一般按鍵如果電路正確,
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1