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

正文內(nèi)容

基于51單片機(jī)的紅外遙控密碼鎖160畢業(yè)設(shè)計(更新版)

2025-09-05 12:37上一頁面

下一頁面
  

【正文】 D_WriteCommand(0x08,1)。tab9[10PASSWORD_LENGTH])。 temp=temp*10+key。 keycounts=0。//退出鍵 } } *input=temp。 refresh_display(0,0,tab2)。 refresh_display(0,1,tab3)。 。 delay(1000)。 基于 51 單片機(jī)的紅外遙控密碼鎖 36 delay2(1000)。 } void PasswordUnLock() { dword INPUT_PASSWORD=0。amp。 } } if(key==12){ keycounts=0。 if(key=0amp。*/ 基于 51 單片機(jī)的紅外遙控密碼鎖 34 } /***********************待擴(kuò)展 **************************************/ //void DO_OTHERTHING()。 delay2(1000)。 } void preserve_set_password(dword passwords) 基于 51 單片機(jī)的紅外遙控密碼鎖 33 { WrToROM_dword(PASSWORD_ADDR,passwords)。 } } else if(keystatusflagamp。 // 解鎖 break。 break。 case 0xbd:key=5。 case 0xbe:key=2。amp。 temp_l=keypadamp。 } EX1 = 1。//解鎖( CH— ) case 0x09:key=11。 //串口發(fā)送 06 基于 51 單片機(jī)的紅外遙控密碼鎖 30 case 0x42:key=7。break。0x0f))。 0x0F。 return。j++) //收集四組數(shù)據(jù) { for (k=0。 EX1 = 0。 } void init_24C02() //初始化 { sda=1。i++){ 基于 51 單片機(jī)的紅外遙控密碼鎖 27 temp=RdFromROM_Byte(address+3i)。 WrToROM_Byte(address+i,temp)。 //refresh_display(0,1,cls)。 respons()。 write_byte(indata)。 scl=0。 delay11()。 scl=1。 temp=indata。 scl=1。 scl=1。 delay11()。 X amp。// 算出指令碼 LCD_WriteCommand(X)。 //讀寫一個字符后 ,地址指針及光標(biāo)加一 ,且光標(biāo)加一整屏顯示不移動 LCD_WriteCommand(0x80)。 rw=0。y)。 void DisplayOneChar(uchar X, uchar Y, uchar DData)。 uchar code message[16]={0123456789abcdef}。 uchar code tab4[]={Wele enter }。 sbit scl=P2^5。 void delay1(int ms)。_nop_()。每一次失敗都會離成功又進(jìn)一步。若兩次密碼相同,則 1602 顯示 plete。 基于 51 單片機(jī)的紅外遙控密碼鎖 17 4)紅外遙控模塊 首先寫一個紅外遙控發(fā)送接收程序,看是否將字符正確顯示到 1602 上。此時程序中還要進(jìn)行密碼的對比,若正確, led 亮,說明鎖已經(jīng)打開。將 1602 的顯示程序通過學(xué)習(xí)板燒到做好的電路板中,檢測 1602 是否正常顯示,若 1602 只亮屏不顯示字符此時調(diào)節(jié)滑動變阻器改變對比度。實際電路中,管腳 3 應(yīng)接 10K 滑動變阻器,管腳 15 接 10 歐電阻。所以,當(dāng)密碼錯誤時,給 IO 口送低電平即可達(dá)到報警效果。先寫 24c02 的驅(qū)動程序,時鐘信號,讀寫數(shù)據(jù)等等,要考慮怎么將密碼寫入到 24c02 中,以及從中讀取等問題。電源部分采用的是 USB 給單片機(jī)提供 +5V 的電源,發(fā)光二極管來指示有沒有給單片機(jī)供電。外觀如下: 圖 15 紅外接收頭 VS_1838b 由于密碼采用雙控模式,在主控模塊采用矩陣鍵盤進(jìn)行密碼的輸入及修改,因此,將紅外接收端接到單片機(jī)的外部中斷 1 來檢測是否有紅外信號,進(jìn)而判斷遙控器是否0 . 565 ms2 . 25 ms1 . 685 ms遙控發(fā)射碼 “ 1 ”0 . 565 ms1 . 125 ms0 . 56 ms遙控發(fā)射碼 “ 0 ”基于 51 單片機(jī)的紅外遙控密碼鎖 10 有按鍵按下,并進(jìn)行密碼的輸入與修改。 管腳圖如圖 7 所示: 圖 7 AT24c02 管腳圖 表 1 AT24c02 管腳功能 管腳名稱 管腳功能 A0、 A A2 器件地址選擇 SDA 串行數(shù)據(jù) /地址 SCL 串行時鐘 WP 寫保護(hù) Vcc + 工作電壓 Vss 接地 圖 8 存儲器 地址位 下圖為 24C02在硬件中的的連接圖,根據(jù)各個管腳功能只需把 A0、 A A wp接地,按照 I2C協(xié)議,時鐘線 SCL和數(shù)據(jù)線 SDA需接 10K上拉電阻。 LCD1602 具有很高的性價比,且應(yīng)用很廣泛。 最小系統(tǒng)包括上電復(fù)位電路和晶振電路 【 1】 【 2】 。 硬件方面解決單片機(jī)與外圍電路的 設(shè)計 , 主控模塊采用方案二來進(jìn)行設(shè)計,另外用遙控器作為發(fā)送端的同時,應(yīng)在主控模塊 加上接收模塊,對遙控器發(fā)射的信號進(jìn)行接收,解碼等處理。最后 完成本次設(shè)計。由于本設(shè)計采用的存儲器可防止斷電數(shù)據(jù)丟失,因此更換遙控器或在整個電路斷電又重啟的情況下密碼仍為先前設(shè)定值,具有很好的保密性。 在科技高速發(fā)展的今天,非接觸式控制越來越受大家歡迎,利用紅外遙控,方便又安全。另外,此處采用的是雙控模式,即使用鍵盤控制的同時,也可以使用遙控器。本次設(shè)計中制作的一種密碼鎖,具有很好的保密性。本次設(shè)計的密碼鎖將 滿足人們 的要求。針對這種情況,本次設(shè)計制作了一種紅外遙控密碼鎖,遙控器型號很常見,應(yīng)用及為廣泛,若突然摔壞或丟失即可到商店購買。第四部,結(jié)合軟、硬件對電路板進(jìn)行調(diào)試。 通過兩個方案的比較綜合,考慮到外圍設(shè)備,成本等問題,本次設(shè)計將采用第二種方案。其 系統(tǒng)框架圖 如圖 1 所示 基于 51 單片機(jī)的紅外遙控密碼鎖 3 圖 1 總體系統(tǒng)框架圖 3 系統(tǒng)硬件電路設(shè)計 單片機(jī)最小系統(tǒng)設(shè)計 本 次 設(shè)計的單片機(jī)采用 ATMEL 公司推出的 AT89S51 系列單片機(jī)。 第一行顯示提示內(nèi)容,第二行顯示鍵入的數(shù)值。 內(nèi)部含有 256 個 8 位字節(jié), CATALYST 公司的先進(jìn) CMOS 技術(shù)實質(zhì)上減少了器件的功耗。本次設(shè)計采用的是 VS_1838b。由于LCD 接的是單片機(jī)的 P0 口所以每個管腳要接一個 10K 的上拉電路,即 10K 排阻。 然后是 AT24c02 存儲器,防止密碼斷電丟 失。蜂鳴器是用三極管來驅(qū)動接入到單片機(jī)的 IO 口,如發(fā)光二極管,當(dāng) IO 口為低電平時蜂鳴器響。另外,1602 本為 16 個管腳,在 PROTEUS 仿真中是 14 個管腳,管腳 3 調(diào)節(jié) 1602 亮度接 1K滑動變阻器。 系統(tǒng)硬件調(diào)試 1) 1602 顯示模塊 電源能夠供電并芯片沒有出現(xiàn)發(fā)熱等不正?,F(xiàn)象說明焊接正確。按下解鎖鍵, LCD1602 首行顯示提示語,令一行則是顯示將要輸進(jìn)去的密碼。經(jīng)過檢查發(fā)現(xiàn)電路板上放置的芯片并不是 AT24c02,更換芯片后便能夠?qū)崿F(xiàn)開鎖,改密等功能。再一次鍵入設(shè)置的新密碼。最艱難的應(yīng)該是對電路板的調(diào)試,雖然在仿真中效果了令人滿意,但當(dāng)在實物中時卻達(dá)不到仿真的效果,這就要通過多次檢測,從每根線的焊接到每個芯片的管腳接通情況都要一一測量 。_nop_()。 void display()。 i++) {} } } sbit sda=P2^6。 uchar code tab3[]={Error }。 uchar code tab9[]={ }。 void LCD_WriteCommand(uchar WCLCD)。y0。 } /****************************1602 寫指令函數(shù) **************************/ void LCD_WriteCommand(uchar WCLCD)//BusyC 為 0 時忽略忙檢測 { rs=0。 //開顯示 ,顯示光標(biāo) ,光標(biāo)閃爍 LCD_WriteCommand(0x06)。 X |= 0x80。= 0x1。 } } } /*********************************LCD1602 驅(qū)動 **********************************/ /*****************************24C02 驅(qū)動 *********************************/ void start() //開始信號 { sda=1。 delay11()。 基于 51 單片機(jī)的紅外遙控密碼鎖 24 sda=0。 } void write_byte(uchar indata) //寫一個字節(jié) { uchar i,temp。 delay11()。 基于 51 單片機(jī)的紅外遙控密碼鎖 25 scl=0。 k=(k1)|sda。 respons()。 write_byte(address)。 } void WrToROM_dword(uchar address,dword indata) { uchar temp=0,i=0。 delay2(1)。i4。 return indata。 TL0=(6553650000)%256。j4。 if (N=30) { EX1=1。 } IRCOM[5]=IRCOM[2] amp。0x0f)4) + (IRCOM[5]amp。 //串口發(fā)送 02 case 0x55:key=3。break。break。// 上鎖 ( CH+) default :break。 delay11()。 基于 51 單片機(jī)的紅外遙控密碼鎖 31 if((!keystatusflag)amp。 break。 break。 case 0xdb:key=7。 case 0xd7:key=14。 keystatusflag=1。 } } } /*********************************矩陣鍵盤驅(qū)動 *******************************/ dword get_preserve_password() { return RdFromROM_dword(PASSWORD_ADDR)。 DisplayOneChar(62*i,1,message[temp/0x10])。//關(guān)閉顯示 } lastdisflag=currentdisflag。 } keyscan()。 delay2(200)。 if(dispassword_||temp==(default_entrywords/10000)){ if(dispassword_amp。 return 1。 led=0。 buzz
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1