【正文】
基于51單片機(jī)的紅外遙控密碼鎖摘 要:關(guān)于如何加強(qiáng)家庭住房安全問題日益突出。傳統(tǒng)的機(jī)械防盜鎖構(gòu)造過于簡(jiǎn)單,盡管有些經(jīng)過加固以及增加相應(yīng)的防護(hù)措施,但是鎖被撬現(xiàn)象屢見不鮮,無(wú)法保障人們的安全。本次設(shè)計(jì)中制作的一種密碼鎖,具有很好的保密性。另外,此處采用的是雙控模式,即使用鍵盤控制的同時(shí),也可以使用遙控器。操作中的提示語(yǔ)用LCD來(lái)顯示。密碼由六位0到9的數(shù)字夠成,加大保密強(qiáng)度,此外,本設(shè)計(jì)中采用的AT24c02具有防止掉電丟失數(shù)據(jù)的作用。關(guān)鍵詞:51單片機(jī);密碼鎖;紅外;LCD1602Based on 51 SCM Infrared Remote Control Combination Lock Abstract: Security issues have bee increasingly prominent on how to strengthen the family home. Traditional mechanical antitheft lock structure is too simple, although some had been strengthened and increased appropriate protective measures, but lock pry mon occurrences, can not guarantee the safety of people. A lock made ??in the design, with good confidentiality. In addition, here is the dualcontrol mode that is controlled using the keyboard at the same time, you can also use the remote control. Prompt operation using the LCD display. Password by six 09 of digital enough increase confidentiality strength, In addition, the design used in AT24c02 prevent powerdown data loss.Key words: 51 SCM; Combination lock;Infrared;LCD1602目 錄1 引言 1 1 研究現(xiàn)狀 1 研究?jī)?nèi)容 1 2 系統(tǒng)設(shè)計(jì)方案 2 總體方案 2 系統(tǒng)框圖 2 3 系統(tǒng)硬件電路設(shè)計(jì) 3 單片機(jī)最小系統(tǒng)設(shè)計(jì) 3 LCD顯示電路設(shè)計(jì) 4 矩陣鍵盤電路設(shè)計(jì) 5 存儲(chǔ)電路設(shè)計(jì) 6 7 模擬鎖與報(bào)警電路設(shè)計(jì) 10 11 4 系統(tǒng)軟件設(shè)計(jì) 12 程序設(shè)計(jì)思路 12 算法與流程圖 13 5 系統(tǒng)仿真與硬件調(diào)試 14 14 系統(tǒng)硬件調(diào)試 16 調(diào)試結(jié)果 17 6 總結(jié)與展望 17 致謝 17 參考文獻(xiàn) 18附錄 18 1.元器件清單 18 2.源程序 18 基于51單片機(jī)的紅外遙控密碼鎖1 引言 研究背景與意義我們知道當(dāng)某一個(gè)公司研發(fā)一些新產(chǎn)品時(shí)都會(huì)特別重視其資料的安全問題,在競(jìng)爭(zhēng)日益激烈的當(dāng)下,新研發(fā)的產(chǎn)品資料,科研項(xiàng)目,以及單位的文件檔案、財(cái)務(wù)報(bào)表,個(gè)人資料等等,都是特別保護(hù)的對(duì)象,萬(wàn)一泄露將直接關(guān)系到一個(gè)企業(yè)的存亡。再?gòu)奈覀兩磉厑?lái)說(shuō),家庭住房多采用一般的機(jī)械鎖。這樣不僅不安全,而且,每天都要帶鑰匙很不方便。若不慎丟失鑰匙更會(huì)產(chǎn)生事倍功半的效果。本次設(shè)計(jì)的密碼鎖將滿足人們的要求。在科技高速發(fā)展的今天,非接觸式控制越來(lái)越受大家歡迎,利用紅外遙控,方便又安全。另外,紅外線不會(huì)產(chǎn)生信號(hào)干擾,反應(yīng)速度迅速、工作穩(wěn)定度高等特點(diǎn)。而在工業(yè)制造中,在高壓、輻射、腐蝕等惡劣環(huán)境下,采用紅外遙控能夠很好地隔離這些干擾。在本次設(shè)計(jì)中,為了更加方便操作,除了采用矩陣鍵盤對(duì)密碼鎖進(jìn)行控制外,還可以用遙控器進(jìn)行控制,以達(dá)到雙控的目的。 研究現(xiàn)狀目前大部分的家庭用鎖采用的都是機(jī)械式的,一種鑰匙對(duì)應(yīng)一把鎖,但鑰匙可復(fù)制,這無(wú)疑給人們的安全帶來(lái)極大威脅。另外,其最大的缺點(diǎn)是利用簡(jiǎn)單工具就能很容易地把鎖撬開。加深了人們的安全隱患。針對(duì)這種情況,本次設(shè)計(jì)制作了一種紅外遙控密碼鎖,遙控器型號(hào)很常見,應(yīng)用及為廣泛,若突然摔壞或丟失即可到商店購(gòu)買。由于本設(shè)計(jì)采用的存儲(chǔ)器可防止斷電數(shù)據(jù)丟失,因此更換遙控器或在整個(gè)電路斷電又重啟的情況下密碼仍為先前設(shè)定值,具有很好的保密性。此外,密碼共有六位,每位由0到9,十個(gè)數(shù)字構(gòu)成,因此可設(shè)定106種密碼,提高密保安全。然而,一般設(shè)備都采用專用的遙控編碼及解碼集成電路,此類電路雖然制作簡(jiǎn)單,但由于某些特定功能的限制,例如編碼解碼等協(xié)議限制,只適用于專用的電器產(chǎn)品,配套性強(qiáng),應(yīng)用范圍也因此受到限制。 研究?jī)?nèi)容主要的設(shè)計(jì)實(shí)施過程:本次設(shè)計(jì)選用ATMEL公司的單片機(jī)AT89C51,用于控制的LCD等。第二步,使用Altium Designer 6完成原理圖,并設(shè)計(jì)PCB圖完成人工布線。并腐蝕電路板。第三步,在Keil uVision4軟件中用C語(yǔ)言進(jìn)行編程,外加仿真軟件對(duì)程序進(jìn)行修改,調(diào)試。第四部,結(jié)合軟、硬件對(duì)電路板進(jìn)行調(diào)試。最后完成本次設(shè)計(jì)。2 系統(tǒng)設(shè)計(jì)方案 總體方案方案一:采用矩陣按鍵,通過單片機(jī)將字符送到數(shù)碼管顯示,另外,密碼鎖部分用電磁繼電器來(lái)進(jìn)行模擬。 存儲(chǔ)密碼為防止斷電丟失,用存儲(chǔ)器進(jìn)行存儲(chǔ)。報(bào)警部分采用比較常用的蜂鳴器,外圍驅(qū)動(dòng)電路較簡(jiǎn)單。方案二:同樣采用矩陣鍵盤,考慮到需要顯示多個(gè)字符的問題,此時(shí)采用液晶顯示LCD1602。此處的模擬鎖用發(fā)光二極管來(lái)代替。用存儲(chǔ)器AT24c02來(lái)存儲(chǔ)密碼,報(bào)警部分依然采用蜂鳴器。通過兩個(gè)方案的比較綜合,考慮到外圍設(shè)備,成本等問題,本次設(shè)計(jì)將采用第二種方案。硬件方面解決單片機(jī)與外圍電路的設(shè)計(jì),主控模塊采用方案二來(lái)進(jìn)行設(shè)計(jì),另外用遙控器作為發(fā)送端的同時(shí),應(yīng)在主控模塊加上接收模塊,對(duì)遙控器發(fā)射的信號(hào)進(jìn)行接收,解碼等處理。由于鍵碼值由商家提供,因此只需將每個(gè)鍵碼值賦予特定的功能,以此來(lái)控制密碼鎖的開關(guān),改密等,并送到LCD1602上顯示。另外,還有單片機(jī)最小系統(tǒng)。軟件方面,首先是按鍵掃描問題,如何判斷哪一個(gè)按鍵按下,如何讓其并以何種形式顯示到LCD1602上,這里就要考慮到1602的顯示,地址寫入等問題。紅外的控制是本設(shè)計(jì)的難點(diǎn),遙控器是以紅外波的方式將特定的信號(hào)送給紅外接收頭。由于本設(shè)計(jì)采用的遙控器比較普遍,因此編碼解碼問題可以很容易查閱到。 系統(tǒng)框圖本文所設(shè)計(jì)的作品系統(tǒng)由AT89S51單片機(jī)及其最小系統(tǒng)、矩陣鍵盤、紅外接收頭、遙控器、蜂鳴器、模擬鎖、LCD1602液晶顯示等部分組成。其系統(tǒng)框架圖如圖1所示4*4按鍵 51 單 片 機(jī) 蜂鳴器模擬鎖LCD紅 外 發(fā) 射 器上鍵復(fù)位紅 外 發(fā) 射 器晶振電路紅外接收頭圖1 總體系統(tǒng)框架圖3 系統(tǒng)硬件電路設(shè)計(jì) 單片機(jī)最小系統(tǒng)設(shè)計(jì)本次設(shè)計(jì)的單片機(jī)采用ATMEL公司推出的AT89S51系列單片機(jī)。最小系統(tǒng)包括上電復(fù)位電路和晶振電路【1】【2】。上電復(fù)位電路結(jié)構(gòu)如圖2中R1,R2。通過手動(dòng)來(lái)進(jìn)行復(fù)位。圖2 上電復(fù)位電路晶振電路結(jié)構(gòu)如圖3中Y1,C1,補(bǔ)償電容采用30pF左右的瓷片電容.圖3 晶振電路 LCD顯示電路設(shè)計(jì)從設(shè)計(jì)成本來(lái)考慮,顯示電路部分首先會(huì)想到用數(shù)碼管,但由于一個(gè)數(shù)碼管只可以顯示一個(gè)字符,例如本次設(shè)計(jì)中,進(jìn)入界面要顯示wele,輸入密碼是也要提示input code等等,就要用到10多個(gè)數(shù)碼管。此外,每個(gè)數(shù)碼管的位選端必須要通過單片機(jī)的IO口進(jìn)行控制,這就要占用多個(gè)IO口,且在PCB板中進(jìn)行手動(dòng)布線時(shí)會(huì)很復(fù)雜。因此這次設(shè)計(jì)中,采用LCD1602。由于采用的LCD1602是162兩行顯示。第一行顯示提示內(nèi)容,第二行顯示鍵入的數(shù)值。LCD1602具有很高的性價(jià)比,且應(yīng)用很廣泛。另外本設(shè)計(jì)使用插針將1602接到電路中,若1602出現(xiàn)故障更換方便。1602外觀如下圖4所示:圖4 LCD1602管腳圖LCD1602在電路中的連接方式,如下圖所示: 圖5 LCD硬件連接圖 矩陣鍵盤電路設(shè)計(jì)本次設(shè)計(jì)要運(yùn)用按鍵來(lái)控制,這時(shí)會(huì)想到有獨(dú)立式鍵盤和矩陣式鍵盤兩種連接方式,其中,獨(dú)立鍵盤需要使用多個(gè)IO口,由于本次設(shè)計(jì)要用到16個(gè)按鍵,因此若用獨(dú)立按鍵會(huì)極大降低IO口的利用率。因此,本次實(shí)驗(yàn)采用的是44矩陣鍵盤,電路連接比較復(fù)雜,但同時(shí)提高了IO口的利用率。如下圖所示,16個(gè)按鍵上分別實(shí)現(xiàn)不同功能,其中輸入數(shù)字鍵:0、9;以及相應(yīng)的功能鍵。鍵盤的每個(gè)按鍵所代表的功能如下圖所示:圖6 44矩陣鍵盤 存儲(chǔ)電路設(shè)計(jì)關(guān)于密碼保護(hù)問題,除了由六位隨機(jī)數(shù)字組成,還要考慮到斷電之后數(shù)據(jù)會(huì)丟失的問題,為了防止掉電丟失,本設(shè)計(jì)采用AT24c02存儲(chǔ)器。是一個(gè)2K位串行CMOS E2PROM。內(nèi)部含有256個(gè)8位字節(jié),CATALYST公司的先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。管腳圖如圖7所示: 圖7 AT24c02管腳圖表1 AT24c02管腳功能管腳名稱管腳功能A0、AA2器件地址選擇SDA串行數(shù)據(jù)/地址SCL串行時(shí)鐘WP寫保護(hù)Vcc+Vss接地圖8存儲(chǔ)器地址位下圖為24C02在硬件中的的連接圖,根據(jù)各個(gè)管腳功能只需把A0、AAwp接地,按照I2C協(xié)議,時(shí)鐘線SCL和數(shù)據(jù)線SDA需接10K上拉電阻。圖9 AT24c02硬件連接圖 紅外發(fā)送接收電路設(shè)計(jì)1)紅外發(fā)送模塊這次設(shè)計(jì)中用到的遙控器其實(shí)物圖如下圖所示: 圖10 小型遙控器 特點(diǎn):通過無(wú)線來(lái)控制,攜帶方便,低成本,低功耗等。遙控器應(yīng)用范圍:電器、兒童玩具等。按編碼分類,有兩種編碼方式,主要分為RC5碼和NEC碼【35】。由于本次設(shè)計(jì)用到的遙控器采用的是NEC編碼協(xié)議,下面將重點(diǎn)描述NEC碼特性。NEC格式的特征:(1)使用16位客戶代碼(2)使用8位數(shù)據(jù)代碼(3)引導(dǎo)碼間隔是9 ms + ms(4)使用38 kHz載波頻率下圖為接收頭上觀察到的波形: 圖11 遙控信號(hào)周期波形圖12 引導(dǎo)碼間隔圖NEC碼編碼原理如下:(1)數(shù)據(jù)幀結(jié)構(gòu)(組成) 圖13 數(shù)據(jù)幀結(jié)構(gòu)圖(2)“0”、“1”的表示方法: 圖14 “0”和“1”的發(fā)射圖 2)紅外接收本次設(shè)計(jì)采用的紅外遙控信號(hào)的接收集紅外接收和放大于一體,不需要添加其他外圍電路,就可以輸出與TTL電平兼容的信號(hào)。以此來(lái)完成紅外遙控的發(fā)送于接收。本次設(shè)計(jì)采用的是VS_1838b。外觀如下: 圖15 紅外接收頭VS_1838b由于密碼采用雙控模式,在主控模塊采用矩陣鍵盤進(jìn)行密碼的輸入及修改,因此,將紅外接收端接到單片機(jī)的外部中斷1來(lái)檢測(cè)是否有紅外信號(hào),進(jìn)而判斷遙控器是否有按鍵按下,并進(jìn)行密碼的輸入與修改。由原理圖可知,接收頭的三個(gè)管腳,只需要將GND接地VCC接入電源,另一根輸出線接入到單片機(jī)的外部中斷1口即可。紅外接收頭與單片機(jī)的連接硬件電路如下圖所示: 圖16 紅外接收頭連接圖 模擬鎖與報(bào)警電路設(shè)計(jì)本次設(shè)計(jì)采用led來(lái)模擬鎖,將發(fā)光二極管接到單片機(jī)的IO口上,實(shí)際應(yīng)用中接上一個(gè)1K電阻以保證發(fā)光二極管的亮度。如下圖所示:圖17 led連接圖 報(bào)警電路采用的是蜂鳴器,由于蜂鳴器的工作電流一般比較大,這將導(dǎo)致單片機(jī)的IO口無(wú)法直接進(jìn)行驅(qū)動(dòng)【6】【7】。以至于單片機(jī)的I/O 口是無(wú)法直接驅(qū)動(dòng),所以要使用放大電路用以驅(qū)動(dòng)蜂鳴器,本次設(shè)計(jì)采用三極管來(lái)進(jìn)行蜂鳴器的驅(qū)動(dòng)。蜂鳴器驅(qū)動(dòng)電路的外圍設(shè)計(jì):蜂鳴器、三極管再加上一個(gè)1K電阻接到單片機(jī)的IO口上。蜂鳴器外圍電路如下: 圖18 蜂鳴器連接圖 系統(tǒng)PCB設(shè)計(jì)根據(jù)上述每個(gè)模塊的設(shè)計(jì),以及單片機(jī)的各個(gè)管腳特性整體電路如圖19。由于LCD接的是單片機(jī)的P0口所以每個(gè)管腳要接一個(gè)10K的上拉電路,即10K排阻。電源部分采用的是USB給單片機(jī)提供+5V的電源,發(fā)光二極管來(lái)指示有沒有給單片機(jī)供電。再考慮每個(gè)模塊需要加入的外圍電路,以及接入到單片機(jī)相應(yīng)的IO口,為了方便程序的修改,要嚴(yán)格按照仿真的接法接到單片機(jī)的管腳,本設(shè)計(jì)總體原理圖如下圖所示:圖19 總體原理圖4 系統(tǒng)軟件設(shè)計(jì) 程序設(shè)計(jì)思路本次設(shè)計(jì)的密碼鎖,采用的是雙控模式,即在主控模塊中有44矩陣鍵盤可以輸入數(shù)字來(lái)進(jìn)行改密等功能,同時(shí)也可以用遙控器來(lái)實(shí)現(xiàn)。首先考慮到矩陣鍵盤的掃描問題,單片機(jī)IO口默認(rèn)為高電平,如上面矩陣鍵盤圖所示,鍵盤的列和行分別接P1口的高低電平,可以先固定在某一行進(jìn)行掃描,利用switch語(yǔ)句返回每個(gè)按鍵鎖表示的數(shù)值及跳轉(zhuǎn)到某個(gè)功能函數(shù)中去