![[信息與通信]基于nrf24l01無線收發(fā)模塊的無線輸入密碼鎖畢業(yè)設(shè)計_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c7a2f71b-5c02-4851-abaf-7d287225a067/c7a2f71b-5c02-4851-abaf-7d287225a0671.gif)
![[信息與通信]基于nrf24l01無線收發(fā)模塊的無線輸入密碼鎖畢業(yè)設(shè)計_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c7a2f71b-5c02-4851-abaf-7d287225a067/c7a2f71b-5c02-4851-abaf-7d287225a0672.gif)
![[信息與通信]基于nrf24l01無線收發(fā)模塊的無線輸入密碼鎖畢業(yè)設(shè)計_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c7a2f71b-5c02-4851-abaf-7d287225a067/c7a2f71b-5c02-4851-abaf-7d287225a0673.gif)
![[信息與通信]基于nrf24l01無線收發(fā)模塊的無線輸入密碼鎖畢業(yè)設(shè)計_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c7a2f71b-5c02-4851-abaf-7d287225a067/c7a2f71b-5c02-4851-abaf-7d287225a0674.gif)
![[信息與通信]基于nrf24l01無線收發(fā)模塊的無線輸入密碼鎖畢業(yè)設(shè)計_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/1/c7a2f71b-5c02-4851-abaf-7d287225a067/c7a2f71b-5c02-4851-abaf-7d287225a0675.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、畢業(yè)設(shè)計(論文)小區(qū)智能密碼鎖設(shè)計姓 名 李興華學(xué) 號 28010202160專業(yè)班級 集成電路IC設(shè)計 08所在學(xué)院 電子信息學(xué)院指導(dǎo)教師職稱王紅航講師完成時間 2021年4月電子科技大學(xué)中山學(xué)院教務(wù)處制發(fā)電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計論文任務(wù)書題目名稱小區(qū)智能密碼鎖設(shè)計論文的主要內(nèi)容和要求1、密碼輸入:鍵盤輸入:每按下一個數(shù)字鍵,就輸入一個數(shù)值,并在顯示器上顯示出該數(shù)值,同時將先前輸入的數(shù)據(jù)依次左移一個數(shù)字位置。無線輸入:采用2.4G藍(lán)牙頻率進(jìn)行無線通信,輸入密碼時發(fā)射端與接收端以特定的協(xié)議進(jìn)行頻率跳變。提高保密性。2、密碼去除:按下去除鍵可以去除前面所有的輸入值,去除成為“0000。該操作
2、可通過鍵盤或遙控進(jìn)行。3、密碼更改:按下更改鍵可將目前的數(shù)碼設(shè)定成新的密碼。該操作可通過鍵盤或遙控進(jìn)行。4、密碼上鎖:按下上鎖鍵可將密碼鎖上鎖。該操作可通過鍵盤或遙控進(jìn)行。5、密碼解除:按下確認(rèn)鍵首先檢查輸入的密碼是否正確,密碼正確即開鎖。推薦參考文獻(xiàn)1、潘永雄新編單片機(jī)原理與應(yīng)用M西安電子科技大學(xué)出版社20032、 榮政C語言程序設(shè)計M西安電子科技大學(xué)出版社2006預(yù)期目標(biāo)和成果形式學(xué)會如何查閱資料,掌握電子電路設(shè)計并熟練掌握單片機(jī)設(shè)計流程,熟練C語言軟件設(shè)計平臺KEIL的使用。以及熟練掌握無線收發(fā)芯片NRF24L01的應(yīng)用。成果形式:實(shí)物加論文。起止時間2021年9月20日 至 2021年
3、4月30日指導(dǎo)單位電子信息學(xué)院指導(dǎo)教師王紅航 2021年9月25日審核意見審核簽名年 月 日電子科技大學(xué)中山學(xué)院畢業(yè)設(shè)計論文成績評定表設(shè)計撰寫過程評語: 指導(dǎo)教師: 年 月 日成績論文評閱評語: 評閱教師: 年 月 日成績論文辯論評語: 辯論組長: 年 月 日成績總分審核人: 年 月 日小區(qū)智能密碼鎖設(shè)計摘 要隨著科學(xué)技術(shù)的不斷開展,人們對日常生活中的平安保險器件的要求越來越高。為滿足人們對鎖的使用要求,增加其平安性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具具有平安性高、本錢低、功耗低、易操作等優(yōu)點(diǎn)。本次設(shè)計使用STC89C52單片機(jī)為主體芯片,采用AT24C02為掉電存儲芯片。設(shè)計了一款可以
4、屢次修改密碼、具有密碼錯誤報警功能和無線開鎖功能的無線遙控密碼鎖。本系統(tǒng)主要包括:矩陣鍵盤輸入模塊、LCD液晶顯示模塊、錯誤報警模塊、掉電存儲模塊,無線開鎖模塊,所采用的編程語言是C語言。整機(jī)電路穩(wěn)定性高,本錢低,還能擴(kuò)展很多功能。關(guān)鍵詞:STC89C52;AT24C02; 電子密碼鎖;矩陣鍵盤 ;掉電保護(hù);無線收發(fā)The Design of Residential Intelligent Cipher LockAbstractWith the continuous development of science and technology, people's demands for
5、safe and secured devices increase highly in daily life. In order to meet the requirements of the lock and to increase the security of it, the key with passwords instead of the lock comes into being. The key with passwords has the advantage of safety, low cost, low power consumption and easy operatio
6、n.The design use STC89C52 MCU for the main chip and AT24C02 chip for storage of the power-down. A wireless remote control lock was designed, which can repeatedly change the password, also enjoy password error alarm functions and wireless unlock function. The system includes: matrix keyboard input mo
7、dule, LCD display module, error alarm modules, power-down memory module, wireless input module. The programming language adopted is C language. The whole circuit not only pocesses high stability and low cost, but also extends a lot of functions.Keywords: STC89C52; AT24C02; Electronic code lock; Matr
8、ix keyboard; Power-off protection; Wireless transceiver目 錄1緒 論1工程背景1工程的主要任務(wù)12方案論證3主控芯片的選擇3無線模塊的選擇3鍵盤的選擇3液晶模塊的選擇33小區(qū)智能密碼鎖硬件設(shè)計5系統(tǒng)硬件的總體設(shè)計5元器件的選擇6各功能模塊的介紹與設(shè)計6主控芯片的介紹6無線模塊的介紹與設(shè)計9NOKIA5110模塊的介紹與設(shè)計10串行EEPROM存儲電路設(shè)計11鍵盤電路設(shè)計12報警電路設(shè)計13電源轉(zhuǎn)換電路設(shè)計13遙控電路設(shè)計14主機(jī)整體電路144小區(qū)智能密碼鎖系統(tǒng)軟件設(shè)計16系統(tǒng)軟件整體設(shè)計16鍵盤輸入密碼開鎖程序設(shè)計17液晶顯示程序設(shè)計19
9、NRF24L01無線收發(fā)程序設(shè)計25遙控局部程序設(shè)計275小區(qū)智能密碼鎖系統(tǒng)調(diào)試29無線收發(fā)模塊NRF24L01的調(diào)試29矩陣鍵盤的調(diào)試29NOKIA5110液晶的調(diào)試29AT24C02的調(diào)試29整機(jī)聯(lián)調(diào)306結(jié)論31致 謝33參考文獻(xiàn)34附 錄35作品實(shí)物圖:35主機(jī)程序清單:40無線鍵盤程序:721 緒 論1.1 工程背景目前,國內(nèi)最常用的鎖是20世紀(jì)50年代意大利人設(shè)計的機(jī)械鎖,其結(jié)構(gòu)簡單、使用方便、價格廉價。但在使用中暴露了很多缺點(diǎn):一是機(jī)械鎖是靠金屬制成的鑰匙上的不同齒形與鎖芯的配合來工作的。據(jù)統(tǒng)計,每4000把鎖中就有兩把鎖的鑰匙齒牙相同或類似,平安性低。二是鑰匙一旦喪失,無論誰撿
10、到都可以將鎖翻開。三是機(jī)械鎖的材料大多為黃銅質(zhì)地較軟,容易損壞。四是機(jī)械鑰匙容易被復(fù)制。由于人們對鎖的平安性,方便性等性能有更高的要求,許多智能鎖如指紋區(qū)分、IC卡識別也相繼問世,這類產(chǎn)品針對特定的指紋或有效卡,能適用于保密要求高且僅供個別人使用的箱、柜、房間,但其本錢一般較高,在一定程度上限制了這類產(chǎn)品的普及和和推廣。隨著人們生活質(zhì)量的提高和平安意識的加強(qiáng),如何更好的防盜這一問題也變得尤為重要,傳統(tǒng)的機(jī)械鎖具由于其構(gòu)造簡單,帶有鎖孔,被撬的事件屢見不鮮,已遠(yuǎn)遠(yuǎn)不能滿足人們的需要。于是各種密碼鎖具廣泛進(jìn)入人們的生活和工作,因而密碼鎖的平安可靠性就變得至關(guān)重要。電子式的密碼鎖,它具有本錢低,密碼
11、量大,不易破譯的優(yōu)點(diǎn),但是目前的電子密碼鎖系統(tǒng)大都采用的是固定式的鍵盤,鍵盤外漏很容易導(dǎo)致密碼被竊。而汽車電子鎖是一鍵式開鎖,開鎖遙控一旦喪失將會導(dǎo)致任何持有該遙控的人都可以開鎖。論文針對目前市場上的密碼鎖具存在的缺點(diǎn),設(shè)計出一款既能夠通過無線鍵盤輸入密碼又帶有鍵盤輸入功能的密碼鎖,該產(chǎn)品具有很好的實(shí)用意義。無線密碼鎖具能夠在提高平安性的同時又能減少佩戴鑰匙的重量。能夠做到一個遙控開多個鎖,方便實(shí)用。1.2 工程的主要任務(wù)本系統(tǒng)的設(shè)計主要是為了解決當(dāng)前市面上傳統(tǒng)鎖具所存在的缺乏,而設(shè)計出一款無線遙控密碼鎖,本系統(tǒng)的具體功能實(shí)現(xiàn)如下:1. 設(shè)置密碼用戶將想設(shè)置的密碼通過密碼修改鍵進(jìn)行修改,首先按
12、下密碼修改鍵,然后再逐個輸入舊密碼,最后按下確認(rèn)鍵,舊密碼正確,即可進(jìn)入新密碼輸入狀態(tài)。密碼可以由用戶自己任意設(shè)定只支持8位及8位以下密碼,在輸入新密碼時候需要二次確認(rèn),以防止誤操作。另外,帶無線輸入鍵盤,可以進(jìn)行輸入、修改密碼等操作。2. 密碼顯示為了幫助用戶確認(rèn)是否輸入成功,特在電路中設(shè)置了液晶顯示電路;而為了防止密碼外泄,顯示時,并不是顯示用戶按下的數(shù)字信息,而是以一個特定的字母符號提醒用戶是否輸入成功。有鍵按下,就會顯示出字符“*。假設(shè)無鍵按下,那么不會顯示字符。這樣既巧妙的提醒了用戶又保護(hù)了用戶密碼不被外泄,此乃本設(shè)計可靠性優(yōu)點(diǎn)之一。3. 本機(jī)鍵開鎖當(dāng)用戶鍵入正確密碼后,再按確認(rèn)鍵,
13、便會自動開鎖,如果鍵入完密碼后不按確認(rèn)鍵,默認(rèn)放棄開鎖。4. 密碼錯誤報警當(dāng)用戶鍵入錯誤密碼時,系統(tǒng)就會報警,液晶上會有錯誤提示。由蜂鳴器發(fā)出報警聲。當(dāng)連續(xù)三次出現(xiàn)密碼錯誤時,那么系統(tǒng)會長期報警不止。這時必須按復(fù)位方可停止。此乃本設(shè)計平安可靠性之二。5. 遙控解鎖當(dāng)有特殊情況發(fā)生時,或怕有人偷窺到密碼時,或不想用鍵盤開鎖時,可選用遙控器來解鎖。此乃本設(shè)計平安可靠性之三。該設(shè)計使用AT24C02保存密碼,支持復(fù)位保存,掉電保存功能。在遇到突發(fā)情況,導(dǎo)致設(shè)備突然斷電時,密碼也不會喪失。此乃本設(shè)計平安可靠性之四。2 方案論證2.1 主控芯片的選擇在本系統(tǒng)設(shè)計中所需要的I/O口為23個,綜合各方面的因
14、素考慮,本控制系統(tǒng)設(shè)計的硬件選用STC89C52作為主控中心。STC89C52是一個低功耗,高性能的CMOS 8位單片機(jī),片內(nèi)含8k Bytes ISP(In-system programmable)的可反復(fù)擦寫的Flash只讀程序存儲器和256bytes的隨機(jī)存取數(shù)據(jù)存儲器RAM。兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng)及80C52產(chǎn)品引腳結(jié)構(gòu)。其芯片內(nèi)部集成了8位中央處理器和ISP Flash可反復(fù)擦寫的存儲單元。STC89C52具有的特點(diǎn)如下:40個引腳, Flash片內(nèi)程序存儲器8k 字節(jié),內(nèi)部RAM 256 字節(jié),32個雙向輸入/輸出I/O口,1個6向量兩級中斷結(jié)構(gòu),具有16位可編程定時計數(shù)器3
15、個,全雙工串行通信口1個,片內(nèi)振蕩器及時鐘電路。2.2 無線模塊的選擇在本系統(tǒng)中采用遙控方式來進(jìn)行開鎖的主要目的就是使鎖的平安性更高,確保數(shù)據(jù)在傳輸過程中的準(zhǔn)確無誤,更加方便人們使用。方案一在最初設(shè)計本系統(tǒng)時首先想到的遙控開鎖器件是紅外開鎖。紅外,作為無線通信方式的一種,具有實(shí)現(xiàn)簡單、價格廉價等優(yōu)點(diǎn)。但通訊過程中不能改變要對準(zhǔn)的方向,且中間不能有障礙物,遇障礙物通訊會中斷,也就是說紅外不能穿墻而過。由于紅外線的波長較長,對障礙物的衍射能力差,所以更適合應(yīng)用在需要短距離無線通訊的場合,進(jìn)行點(diǎn)對點(diǎn)的直線通信。紅外通訊技術(shù)的主要目的是取代線纜連接進(jìn)行無線數(shù)據(jù)傳輸,功能單一,擴(kuò)展性差。另外,紅外通信的
16、保密性相對較差。但本設(shè)計在保密性方面要求很高所以本方案不可行。方案二采用NRF24L01了作為無線通信器件。NRF24L01單片無線收發(fā)器工作的載波頻率為2.4GHz,因此在無線傳輸中具有傳輸速度快,無線信號空中停留時間短的優(yōu)點(diǎn)。既節(jié)省收發(fā)能量又能提高收發(fā)速度。同時保密性方面也得到了極大的提高。其通信協(xié)議以及數(shù)據(jù)的承載方式都極具加密性。可以在一定范圍內(nèi)選擇載波頻率,且具有125個頻點(diǎn)。對于通信的加密性方面有極大幫助。另外,NRF24L01模塊性價比相對較高。2.3 鍵盤的選擇由于本系統(tǒng)要使用13個按鍵,其中數(shù)字鍵10個09,特殊功能鍵3個,假設(shè)使用獨(dú)立式按鍵連接方式需要13個I/O口,這樣一來
17、I/O口的占用量太大,浪費(fèi)I/O資源,所以選用4*4的矩陣鍵盤,這樣可以省下5個I/O資源。2.4 液晶模塊的選擇在設(shè)計本系統(tǒng)顯示模塊時首先想到的用來顯示的器件是LCD1286或LCD1602,LCD12864液晶顯示器可以顯示數(shù)字、漢字和圖形,但價格比擬高。LCD1602雖然價格比擬廉價,但只能用于符號顯示或數(shù)字的顯示,不能顯示漢字。經(jīng)過多方了解,查找。最終定下了NOKIA5110液晶。能夠顯示漢字,并且價格與LCD1602相當(dāng)。除此之外,該液晶具有所需I/O口少,體積小,編程方便等優(yōu)點(diǎn)。3 小區(qū)智能密碼鎖硬件設(shè)計3.1 系統(tǒng)硬件的總體設(shè)計本系統(tǒng)主要使用無線技術(shù)來實(shí)現(xiàn)無線開鎖的設(shè)計,但是仍然
18、保持了原有密碼鎖的根本功能,系統(tǒng)主要的兩大局部分別為:無線密碼開鎖局部和根本密碼鎖開鎖局部。其中根本密碼開鎖包括:鍵盤輸入模塊、LCD液晶顯示模塊、報警模塊、存儲??臁㈦娫崔D(zhuǎn)換電路模塊、無線接收模塊、開鎖模塊。無線密碼開鎖局部包括:電源轉(zhuǎn)換電路模塊、無線發(fā)送??臁⒕仃囨I盤模塊。無線遙控密碼鎖的根本密碼鎖開鎖局部硬件框圖如圖3-1所示:STC89C52鍵盤輸入模塊顯示模塊報警模塊開鎖電源轉(zhuǎn)換電路存儲模塊無線接收模塊圖3-1無線密碼鎖的根本密碼鎖開鎖局部硬件框圖各功能模塊的具體功能如下:1、鍵盤輸入模塊:用一個4*4的矩陣鍵盤,通過鍵盤輸入的正確與否來執(zhí)行相應(yīng)的操作。2、LCD液晶顯示模:同樣是針
19、對鍵盤輸入的正確與否來執(zhí)行相應(yīng)的提示信息。3、報警模塊:當(dāng)用戶出現(xiàn)輸入密碼不正確時發(fā)出報警信息。4、存儲??欤褐饕獙?shí)現(xiàn)對初始密碼的存儲和修改后密碼的存儲,防止掉電后密碼喪失。5、電源轉(zhuǎn)換電路模塊:由于單片機(jī)的工作電壓為5V,但無線模塊的最好工作電壓為3.3V。那么這時就需要搭一個電源轉(zhuǎn)換電路。6、無線發(fā)送模塊:將遙控模塊中鍵盤輸入的值傳送給無線接收模塊。7、無線接收模塊:將對無線發(fā)送模塊傳過來的數(shù)據(jù)在接收端進(jìn)行相應(yīng)的處理。無線遙控的系統(tǒng)框圖如圖3-2所示:STC89C52鍵盤輸入模塊無線發(fā)送模塊塊電源轉(zhuǎn)換電路圖3-2無線密碼鎖的發(fā)射硬件框圖3.2 元器件的選擇經(jīng)過對市場的了解,綜合各方面的因素
20、考慮,本系統(tǒng)的設(shè)計主要采用以下幾款元器件:1、主控芯片:STC89C522、無線模塊:NRF24L013、EEPROM:AT24C024、LCD液晶:NOKIA51105、報警器:1個蜂鳴器6、鍵盤: 4*4矩陣鍵盤3.3 各功能模塊的介紹與設(shè)計3.3.1 主控芯片的介紹STC89C52帶8K字節(jié)閃爍可編程可擦除只讀存儲器FPEROM-Flash Programable and Erasable Read Only Memory 。低電壓,高性能。兼容工業(yè)標(biāo)準(zhǔn)的MCS-51輸出管腳和指令集。單片機(jī)總控制電路如圖3-3所示:圖3-3單片機(jī)總控制電路這個電路可以作為單片機(jī)的程序下載電路,可以從PC
21、機(jī)通過該電路將.HEX程序文件下載進(jìn)單片機(jī)。還可以作為單片機(jī)與PC機(jī)的串口通信接口電路。1.振蕩電路STC89C52內(nèi)部有一個高增益反相放大器,XTAL2與XTAL1分別是它的輸入與輸出端。當(dāng)該兩個引腳與定時元件相連時內(nèi)部振蕩器就產(chǎn)生自激振蕩從而產(chǎn)生定時信號帶動單片機(jī)工作。定時用的并聯(lián)諧振回路通常由石英晶體和電容組成。晶體振蕩器頻率范圍為1.212MHz,電容值范圍為530pF,電容值的大小可對頻率起微調(diào)的作用。內(nèi)部時鐘電路方式如圖3-4a外部時鐘電路方式如圖3-4b所示,XTAL1接地,XTAL2與外部振蕩器相連。對于外部振蕩器信號,需要保證脈沖寬度在特定范圍內(nèi),一般采用頻率低于12MHz的
22、方波。內(nèi)部與外部時鐘電路如圖3-4所示: 圖3-4 a內(nèi)部時鐘電路方式 圖3-4 b外部時鐘電路方式圖3-4時鐘電路1復(fù)位操作復(fù)位是單片機(jī)的初始化操作。復(fù)位操作中把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。在單片機(jī)上電時一般會進(jìn)行上電復(fù)位。當(dāng)程序運(yùn)行失常,導(dǎo)致單片機(jī)死機(jī)時,復(fù)位操作可以使系統(tǒng)重啟,單片機(jī)便能進(jìn)入正常工作狀態(tài)。除PC之外,復(fù)位操作還對其他一些存放器有影響,它們的復(fù)位狀態(tài)如表3-1所示。表3-1 一些存放器的復(fù)位狀態(tài)存放器復(fù)位狀態(tài)存放器復(fù)位狀態(tài)PC0000HTCON00HACC00HTL000HPSW00HTH000HSP07HTL100HDPTR0000HTH
23、100HP0-P3FFHSCON00HIPXX000000BSBUF不定IE0X000000BPCON0XXX0000BTMOD00H2復(fù)位信號及其產(chǎn)生RST引腳是復(fù)位信號的輸入端。復(fù)位信號是高電平有效,其有效時間應(yīng)持續(xù)24個振蕩周期(即二個機(jī)器周期)以上。假設(shè)使用頻率為6MHz的晶振,復(fù)位端需要有4us以上的高電平才能使系統(tǒng)進(jìn)入復(fù)位狀態(tài)。STC89C52具體介紹如下:1、 主電源引腳2根VCC(Pin40):電源輸入,接5V電源。GND(Pin20):接地線。2、外接晶振引腳2根XTAL1:片內(nèi)振蕩電路的輸入端或接片外時鐘信號時接地。XTAL2:片內(nèi)振蕩電路的輸出端或外部時鐘的輸入端。3、控
24、制引腳4根RST/VPP:復(fù)位引腳,兩個機(jī)器周期的高電平可使單片機(jī)復(fù)位。ALE/PROG:地址鎖存允許信號。PSEN:外部存儲器的讀選通信號。EA/VPP:程序存儲器選擇端,接低電平使用外部程序存儲器,接高電平那么使用內(nèi)部程序存儲器。4、可編程輸入/輸出引腳32根STC89C52單片機(jī)有4組8位的可編程I/O口,分別位P0、P1、P2、P3口,每個口有8位8根引腳,共32根。P0口:8位雙向I/O口線,名稱為P0.0P0.7。P1口:8位準(zhǔn)雙向I/O口線,名稱為P1.0P1.7 。P2口:8位準(zhǔn)雙向I/O口線,名稱為P2.0P2.7 。P3口:8位準(zhǔn)雙向I/O口線,名稱為P3.0P3.7。ST
25、C89C52內(nèi)部主要硬件:1、兩個外部中斷。2、一個串口。3、3個定時器。本設(shè)計用到的復(fù)位電路與晶振電路如圖3-5所示: 圖3-5 a復(fù)位電路圖3-5 b晶振電路圖3-5復(fù)位電路與晶振電路3.3.2 無線模塊的介紹與設(shè)計NRF24L01模塊的原理圖如圖3-6所示:圖3-6 NRF24L01模塊NRF24L01模塊的主要特點(diǎn):2.4GHz 全球開放ISM 頻段,最大0dBm 發(fā)射功率,免許可證使用;低工作電壓:正常工作電壓3.6V ;高速率:最高2Mbps,這樣使得信號空中停留時間極短,減小了無線碰撞的可能軟件設(shè)置1Mbps或者2Mbps的空中傳輸速率;多頻點(diǎn):125頻點(diǎn),可以應(yīng)用于多點(diǎn)通信以及
26、跳頻的實(shí)現(xiàn);超小型:天線內(nèi)置,體積小巧,規(guī)格:15x29mm包括天線;低功耗:快速的傳輸速率也降低了收發(fā)功耗。很低的應(yīng)用本錢:NRF24L01集成了RF。NRF24L01應(yīng)用的是SPI接口,可以與單片機(jī)的SPI接口直接相連。沒有SPI接口的單片機(jī)可以利用單片機(jī)的I/O口進(jìn)行模擬,內(nèi)部有FIFO,用于數(shù)據(jù)緩存,因此NRF24L01可以與各種上下速微處理器接口,便于使用低本錢單片機(jī)。便于開發(fā):由于鏈路層完全集成在模塊上,非常便于開發(fā)。能自動檢測到數(shù)據(jù)喪失并重新發(fā)送數(shù)據(jù),重發(fā)間隔時間以及重發(fā)次數(shù)由軟件控制。在收到數(shù)據(jù)后會向發(fā)送方自動發(fā)送應(yīng)答信號。3.3.3 NOKIA5110模塊的介紹與設(shè)計NOKI
27、A5110模塊如圖3-7所示:圖3-7 NOKIA5110 模塊它與單片機(jī)六個I/O口相連。NOKIA5110液晶模塊具有以下特點(diǎn):(1) 84x48 的點(diǎn)陣LCD,可以顯示4 行漢字,(2) 采用串行接口與主處理器進(jìn)行通信,接口信號線數(shù)量大幅度減少,包括電源 和地在內(nèi)的信號線僅有9 條。支持多種串行通信協(xié)議如AVR 單片機(jī)的SPI、MCS51 的串口模式0等,4Mbps傳輸速率。(3) LCD 控制器以及驅(qū)動器芯片已集成到LCD 晶片上,使得模塊的體積很小。(4) 采用低電壓供電,正常顯示時的工作電流在200A 以下,且具有掉電模式。它與主控制芯片的接口電路如圖3-8所示:圖3-8 NOKI
28、A5110接口電路該原理圖對應(yīng)于電路板上的一個8孔插槽。只需將5110模塊插入該排座就完成連接。3.3.4 串行EEPROM存儲電路設(shè)計1管腳圖AT24C02管腳圖如圖3-9所示:圖3-9 AT24C02管腳圖2簡介AT24C02是一個2K位串行CMOS E2PROM。AT24C02有一個16字節(jié)的頁寫緩沖器。該器件通過IIC總線接口進(jìn)行操作,有一個專門的寫保護(hù)功能。 3特性:1、數(shù)據(jù)線上的看門狗定時器 2、可編程復(fù)位門欄電平 3、高數(shù)據(jù)傳送速率為400KHz和1C總線兼容 4、2.7V至7V的工作電壓 5、低功耗CMOS工藝 6、16字節(jié)頁寫緩沖區(qū) 7、片內(nèi)防誤擦除寫保護(hù) 8、上下電平復(fù)位信
29、號輸出 9、100萬次擦寫周期 10、數(shù)據(jù)保存可達(dá)100年 11、商業(yè)級、工業(yè)級和汽車溫度范圍 4管腳描述SCL 串行時鐘: SCL數(shù)據(jù)發(fā)送或接受的基準(zhǔn)時鐘,為輸入引腳。 SDA 串行數(shù)據(jù)/地址: SDA數(shù)據(jù)或地址的串行輸入與輸出端,可進(jìn)行線或。 A0、A1、A2存儲器地址輸入端:用于存儲器的級聯(lián)。 WP 寫保護(hù):接高電平時存儲器為只讀。GND、VCC:電源引腳。 5AT2402與單片機(jī)的電路連接如圖3-10所示:圖3-10 AT2402與單片機(jī)的連接3.3.5 鍵盤電路設(shè)計矩陣鍵盤原理圖如圖3-11所示:圖3-11 矩陣鍵盤原理由于本設(shè)計只用到了13個按鍵,所以最后一列按鍵只有一個。矩陣鍵盤
30、原理:每個按鍵都有兩個對應(yīng)的I/O口與之相連,按鍵按下前,其兩端的I/O口分別輸出一高一低電平。當(dāng)按鍵按下時,高電平被拉低,利用這個原理我們就能通過程序判斷出具體是哪個按鍵按下。3.3.6 報警電路設(shè)計 報警電路原理圖如圖3-12所示:圖3-12 報警電路報警電路原理:PNP三極管的開關(guān)特性是當(dāng)基極為低電平時導(dǎo)通,基極為高電平時截止,所以要使蜂鳴器鳴叫,只需使單片機(jī)在P2.7口輸出一個低電平即可。反之,輸出高電平那么停止鳴叫。3.3.7 電源轉(zhuǎn)換電路設(shè)計5V與3.3V之間的電源轉(zhuǎn)換電路如圖3-13所示:圖3-13 電源轉(zhuǎn)換電路由于NRF24L01模塊的正常工作電壓不得超過3.6V,而單片機(jī)必須
31、要4.5V以上才能正常工作。所以必須要有一個電源轉(zhuǎn)換電路使它們之間到達(dá)電平兼容。二極管的正向壓降為0.7V,如圖3-15,在RF24L01模塊的電源兩端串聯(lián)了兩個二極管后,該模塊上的電壓為VCC-0.7*2V。當(dāng)VCC為5V時加在該模塊的電源電壓為3.6V。而5V電壓也正好能夠適合STC89C52單片機(jī)電壓。在I/O口之間加上1K的限流電阻是為了防止由于兩芯片的電平壓差過大而導(dǎo)致I/O間電流過大,導(dǎo)致芯片燒毀。3.3.8 遙控電路設(shè)計為了適應(yīng)遙控要求體積小,輕便易攜的特點(diǎn)。我把遙控的主控制芯片改成了只有20引腳的STC12C2052芯片。該芯片具有體積小,功能強(qiáng)大,價格低廉的特點(diǎn)。其指令系統(tǒng)與
32、52單片機(jī)幾乎完全相同。遙控局部整體原理圖如圖3-14所示:圖3-14 遙控原理圖該遙控是以STC12C2052為核心控制芯片,帶矩陣鍵盤輸入,無線收發(fā)模塊NRF24L01以及LED指示燈電路。3.3.9 主機(jī)整體電路主機(jī)的整體電路圖如下3-15所示:圖3-15 整機(jī)原理圖4 小區(qū)智能密碼鎖系統(tǒng)軟件設(shè)計4.1 系統(tǒng)軟件整體設(shè)計在本系統(tǒng)中軟件設(shè)計是整個系統(tǒng)設(shè)計的重要局部,在保證硬件電路正確無誤的根底上,加上軟件編程才可以實(shí)現(xiàn)整個系統(tǒng)預(yù)期的功能。系統(tǒng)軟件運(yùn)行總體設(shè)計流程包括:系統(tǒng)初始化,判斷是否有按鍵按下,識別相應(yīng)按鍵,如果條件滿足執(zhí)行開鎖并在液晶上顯示提示信息,條件不滿足報警并在液晶上顯示相應(yīng)的
33、出錯的提示信息。在本系統(tǒng)中,軟件的設(shè)計主要包括:無線數(shù)據(jù)的發(fā)送和接收程序設(shè)計、數(shù)據(jù)存儲程序設(shè)計、液晶顯示程序設(shè)計、鍵盤輸入程序設(shè)計、密碼比擬程序設(shè)計、開鎖程序設(shè)計、報警程序設(shè)計等。本系統(tǒng)的層次方框圖如圖4-1所示。 無線遙控密碼鎖蜂鳴報警無線遙控鍵盤輸入液晶顯示開鎖掉電存儲圖4-1 無線遙控密碼鎖的層次方框圖主程序主要任務(wù)是協(xié)調(diào)各個模塊之間的功能,使指定的模塊在特定的狀態(tài)下工作。如:單片機(jī)檢測到按鍵按下操作,就會調(diào)用按鍵子程序讀取鍵值,以判斷是哪個按鍵出現(xiàn)按鍵動作。如果是數(shù)字鍵按下那么認(rèn)為輸入的是密碼,此時調(diào)用密碼處理函數(shù)進(jìn)行處理。如果按下的是確認(rèn)鍵,那么調(diào)用相應(yīng)函數(shù)對密碼進(jìn)行比照,如果按下的
34、是模式切換鍵,那么調(diào)用相應(yīng)的模式顯示函數(shù)以及涉及到該模式的所有模塊函數(shù)。主函數(shù)就是通過這種判斷、調(diào)用的方式來完成子程序間各個功能模塊的協(xié)調(diào)。系統(tǒng)整體流程圖如圖4-2所示:開始輸入密碼正確否?開鎖判斷按鍵開鎖模式密碼修改模式上鎖結(jié)束輸入密碼正確否?輸入新密碼再次輸入一致否?修改、存儲YesNoNoYesNoYes圖4-2 整機(jī)流程圖4.2 鍵盤輸入密碼開鎖程序設(shè)計密碼程序流程圖如圖4-3所示,當(dāng)程序運(yùn)行時,會判斷鍵盤是否有按鍵被按下,當(dāng)有按鍵被按下時,系統(tǒng)會判斷是數(shù)字鍵09,還是功能鍵。假設(shè)是數(shù)字鍵,那么將按鍵值存入到密碼數(shù)組里,然后將輸入的密碼與本身的密碼做比擬,假設(shè)相同,那么執(zhí)行開門并在液晶
35、上顯示正確的提示信息。假設(shè)不相同,那么執(zhí)行報警并在液晶上顯示錯誤的提示信息。圖4-3 密碼處理程序流程圖矩陣鍵盤掃描程序uchar keyscan() uchar scan1,scan2,keycode,j; P3=0xf0; scan1=P3; if(scan1&0xf0)!=0xf0) /判鍵是否按下 delayms1(80); /延時30ms scan1=P3; if(scan1&0xf0)!=0xf0) /二次判鍵是否按下 P3=0x0f; scan2=P3; keycode=scan1|scan2; /組合成鍵編碼 for(j=0;j<=15;j+) if(ke
36、ycode= key_codej) /查表得鍵值 key=j; return(key);/返回鍵值 / else P1=0xff; return (16);4.3 液晶顯示程序設(shè)計液晶顯示程序的主要功能是對當(dāng)前鎖的狀態(tài)進(jìn)行提示,在使用液晶時,首先要對液晶進(jìn)行初始化,然后還要設(shè)置字符的顯示位置,只有將前期的準(zhǔn)備工作設(shè)置完后才能在相應(yīng)位置顯示相應(yīng)的提示信息,當(dāng)沒有人進(jìn)行操作時,顯示一串提示字符,當(dāng)開鎖正確時,在液晶上也會顯示相應(yīng)的正確信息提示,當(dāng)開鎖錯誤時,在液晶上也會顯示相應(yīng)的錯誤信息提示。液晶顯示程序設(shè)計流程圖如圖4-4所示:設(shè)置第一行顯示字符地址在第一行顯示字符液晶初始化延時設(shè)置第二行顯示字
37、符地址在第二行顯示字符延時結(jié)束開始圖4-4顯示子程序流程圖顯示程序核心程序代碼如下所示。/*-LCD_init: 5110LCD初始化- */void LCD_init(void)res=0; delay_1ms(); res=1; LCD_write_byte(0x21,0);/初始化Lcd,功能設(shè)定使用擴(kuò)充指令LCD_write_byte(0xd0,0);/設(shè)定液晶偏置電壓LCD_write_byte(0x20,0);/使用根本指令LCD_write_byte(0x0C,0);/設(shè)定顯示模式,正常顯示/*-LCD_set_XY: 設(shè)置LCD坐標(biāo)函數(shù)輸入?yún)?shù):X:083 Y:05-*/voi
38、d LCD_set_XY(unsigned char X, unsigned char Y)LCD_write_byte(0x40 | Y, 0);/ columnLCD_write_byte(0x80 | X, 0);/ row /*-LCD_clear: LCD清屏函數(shù)-*/void LCD_clear(void)unsigned char t;unsigned char k;LCD_set_XY(0,0);for(t=0;t<6;t+) for(k=0;k<84;k+) LCD_write_byte(0x00,1); /*-LCD_write_shu: 顯示8寬*16高點(diǎn)陣列
39、數(shù)字字母符號等半角類輸入?yún)?shù):c:顯示的字符;-*/void LCD_write_shu(unsigned char row, unsigned char page,unsigned char c) /row:列 page:頁 dd:字符unsigned char i; LCD_set_XY(row*8, page);/ 列,頁 for(i=0; i<8;i+) LCD_write_byte(shuzic*16+i,1); LCD_set_XY(row*8, page+1);/ 列,頁 for(i=8; i<16;i+) LCD_write_byte(shuzic*16+i,1);
40、 /*-LCD_write_hanzi: 顯示16寬*16高點(diǎn)陣列漢字等半角類輸入?yún)?shù):c:顯示的字符;-*/void LCD_write_hanzi(unsigned char row, unsigned char page,unsigned char c) /row:列 page:頁 dd:字符unsigned char i; LCD_set_XY(row*8, page);/ 列,頁 for(i=0; i<16;i+) LCD_write_byte(hanzic*32+i,1); LCD_set_XY(row*8, page+1);/ 列,頁 for(i=16; i<32;i
41、+) LCD_write_byte(hanzic*32+i,1);AT24C02程序設(shè)計本設(shè)計中數(shù)據(jù)的存儲芯片選用的是AT24C02,該芯片是串行的EEPROM,支持I2C總線數(shù)據(jù)傳送協(xié)議。在本系統(tǒng)中主要用來做掉電存儲器,能將輸入的數(shù)據(jù)存入AT24C02,也能從AT24C02中讀出,程序流程圖如圖4-5所示:開始初始化AT24C04向AT24C04中寫入要存儲數(shù)據(jù)據(jù)延時從AT24C04中讀出存儲數(shù)據(jù)延時結(jié)束圖4-5存儲和讀出程序流程圖 AT24C02的讀寫是應(yīng)用的I2C總線。所以要對它進(jìn)行操作,最核心的是要懂得I2C總線。一下是以I2C總線時序?yàn)楦讓T24C02進(jìn)行操作的最底層函數(shù)。 vo
42、id start() /開始位 SDA = 1; SCL = 1; delayNOP(); SDA = 0; delayNOP(); SCL = 0; /*/ void stop() / 停止位 SDA = 0; delayNOP(); SCL = 1; delayNOP(); SDA = 1; /*/ uchar shin() / 從AT24C02移出數(shù)據(jù)到MCU uchar i,read_data; for(i = 0; i < 8; i+) SCL = 1; read_data <<= 1; read_data |= SDA; SCL = 0; return(read_
43、data); /*/ bit shout(uchar write_data) / 從MCU移出數(shù)據(jù)到AT24C02 uchar i; bit ack_bit; for(i = 0; i < 8; i+) / 循環(huán)移入8個位 SDA = (bit)(write_data & 0x80); _nop_(); SCL = 1; delayNOP(); SCL = 0; write_data <<= 1; SDA = 1; / 讀取應(yīng)答 delayNOP(); SCL = 1; delayNOP(); ack_bit = SDA; SCL = 0; return ack_bi
44、t; / 返回AT24C02應(yīng)答位 4.4 NRF24L01無線收發(fā)程序設(shè)計NRF24L01屬于SPI時序芯片。而52單片機(jī)并不帶有SPI接口。所以我們只能在軟件中模擬SPI時序。開始初始化NRF24L01設(shè)置成接收模式接收數(shù)據(jù)結(jié)束圖4-6 NRF24L01程序流圖以下是NRF24L01最核心的SPI讀寫程序,用于其指定存放器的讀寫。/*函數(shù):SPI_Write_Buf()描述:把pBuf緩存中的數(shù)據(jù)寫入到nRF24L01,通常用來寫入發(fā)射通道數(shù)據(jù)或接收/發(fā)送地址/*/uchar SPI_Write_Buf(uchar reg, uchar * pBuf, uchar bytes)uchar
45、status, i; CSN = 0; / CSN置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg); / 選擇存放器,同時返回狀態(tài)字 for(i=0; i<bytes; i+) SPI_RW(pBufi); / 逐個字節(jié)寫入nRF24L01 CSN = 1; / CSN拉高,結(jié)束數(shù)據(jù)傳輸 return(status); / 返回狀態(tài)存放器/*/*函數(shù):SPI_Read_Buf()描述:從reg存放器讀出bytes個字節(jié),通常用來讀取接收通道數(shù)據(jù)或接收/發(fā)送地址/*/uchar SPI_Read_Buf(uchar reg, uchar * pBuf, uchar bytes)
46、uchar status, i; CSN = 0; / CSN置低,開始傳輸數(shù)據(jù) status = SPI_RW(reg); / 選擇存放器,同時返回狀態(tài)字 for(i=0; i<bytes; i+) pBufi = SPI_RW(0); / 逐個字節(jié)從nRF24L01讀出 CSN = 1; / CSN拉高,結(jié)束數(shù)據(jù)傳輸 return(status); / 返回狀態(tài)存放器/*/*函數(shù):SPI_Read()描述:從reg存放器讀一字節(jié)/*/uchar SPI_Read(uchar reg)uchar reg_val; CSN = 0; / CSN置低,開始傳輸數(shù)據(jù) SPI_RW(reg); / 選擇存放器 reg_val = SPI_RW(0); / 然后從該存放器讀數(shù)據(jù) CSN = 1; / CSN拉高,結(jié)束數(shù)據(jù)傳輸 return(reg_val); / 返回存放器數(shù)據(jù)/*/*函數(shù):SPI_RW_Reg()描述: 寫數(shù)據(jù)value到reg存放器/*/uchar SPI_RW_Reg(uchar reg, uchar value)uchar status; CSN = 0; / CSN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跨境電商法規(guī)與稅務(wù)政策解讀
- 人際關(guān)系在工作計劃中的角色
- 病人安全部工作總結(jié)與改進(jìn)措施計劃
- 促進(jìn)發(fā)展小班幼兒的成長計劃
- 七下名著《駱駝祥子》怎么考?請看各地中考試題匯編
- 吉林省部分重點(diǎn)高中2024-2025學(xué)年高二上學(xué)期1月期末考試生物試題含答案
- 如何提升職業(yè)素養(yǎng)計劃
- 跨國銀行反洗錢合規(guī)問題及解決方案
- 門診服務(wù)跨區(qū)域協(xié)同發(fā)展的經(jīng)濟(jì)與社會效益分析
- 2024年呼和浩特職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 2025年太倉市文化旅游發(fā)展集團(tuán)限公司及子公司公開招聘12名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 機(jī)械制圖題庫及答案
- 安裝承包合同(2025年)
- 云上貴州大數(shù)據(jù)(集團(tuán))有限公司招聘筆試沖刺題2024
- 人教版四年級下冊數(shù)學(xué)第二單元觀察物體(二) 單元測試
- 護(hù)理技能培訓(xùn)師競聘
- 2025屆東北師大附屬中學(xué)高考數(shù)學(xué)倒計時模擬卷含解析
- 智能交通監(jiān)控系統(tǒng)運(yùn)維服務(wù)方案(純方案-)
- 【MOOC】中學(xué)教育見習(xí)與實(shí)習(xí)-河北師范大學(xué) 中國大學(xué)慕課MOOC答案
- 《社會應(yīng)急力量建設(shè)基礎(chǔ)規(guī)范 第3部分:山地搜救》知識培訓(xùn)
評論
0/150
提交評論