電子密碼鎖 課程設計說明書
《電子密碼鎖 課程設計說明書》由會員分享,可在線閱讀,更多相關《電子密碼鎖 課程設計說明書(30頁珍藏版)》請在裝配圖網上搜索。
1、桂林電子科技大學課程設計報告用紙 第4頁 共4頁 課程設計(論文)說明書 題 目: ********** 院 (系): 信息與通信學院 專 業(yè): 電子信息工程 學生姓名: 學 號: 指導教師:
2、職 稱: 2011 年 12 月 6 日 摘 要 在我們的日常生活中,門鎖扮演著一個重要的角色。無論是在住宅還是辦公室中,門鎖保衛(wèi)著我們的人身和相關隱私的安全。隨著社會的發(fā)展,人們對鎖的要求也越來越高,除了安全性之外,更要求鑰匙的便攜性和使用方便。傳統(tǒng)的機械鎖卻有著明顯的缺點,門鎖易遭專業(yè)工具破壞,鑰匙易丟失和被復制等等。在這樣的背景下,電子密碼鎖應運而生,彌補了機械鎖的缺陷,也滿足了人們的高要求。 對于電子密碼鎖,其具有安全性高、成本低、功耗低、易操作等優(yōu)點,帶防盜報警的電子密碼鎖更是有逐漸
3、取代機械防盜鎖的趨勢?;谝陨纤悸?,并從經濟實用的角度出發(fā),本設計使用AT89C51實現(xiàn)一基于單片機的電子密碼鎖的設計,結合外圍的鍵盤輸入、LCD顯示、報警、開鎖、GSM模塊等。其具有以下功能特點:具有友好的顯示界面,可以提供豐富的提示信息;具有時間顯示功能,掉電后密碼不丟失的特性;在輸錯3次密碼的情況下,會鎖定鍵盤和發(fā)出聲音報警,還可以擴展GSM短信報警功能,通知遠程用戶;具備密碼找回功能,當用戶忘記自己所設定的密碼時,可以根據密碼鎖所發(fā)過來的短信信息,將其輸入進密碼鎖中,若經過確認是正確答案,便可設定新密碼和問題的答案。 關鍵詞:單片機;液晶顯示;鍵盤;電子密碼鎖;GSM Ab
4、stract In our daily life,the door lock playing an important role to protect us.Whaterever in residential or office,the door lock defends our security and related personal privacy. With the development of the society, people has higher requirement for the lock. In addition to the security, people
5、require the keys have portability and the convenience of use. The traditional mechanical lock has obvious disadvantages, door lock is easy damaged by professional tools, and the key is easily lose and copied, and so on. In this background, electronic lock came into being,It makes up the defects of t
6、he mechanical lock, also meet the high demands of the people. For electronic coded lock, it has the advantages of high safety, low cost, low power consumption, easy operation, etc. The electronic lock with anti-theft alarm but also has a tendency to gradually replace the mechanical anti-theft lock.
7、 Based on the above ideas, and from the perspective of economic and practical, This design uses AT89C51 implement a microcontroller-based design of electronic locks.It combined with the external keyboard, LCD display, alarm, unlock and GSM circuit modules. Its function has the following characterist
8、ics:It has friendly display interface and can provide rich prompt message.It has the function of display the current time,and wouldn’t lost the stored information when power is off. In case of inputting the wrong password 3 times, it would lock the keyboard and sound the alarm. It also can extend th
9、e GSM SMS alarm function, and inform the remote user.On the other hand,the design has password recover function.When the user forgot the password,he can according the SMS which send by the electronic lock,and input the information into the electronic lock.If the information is correct after the conf
10、irmation,you can set a new password or the new answer to the question. Key words:Single Chip Microcomputer;LCD Display;Keyboard;Elcetronic Coded Lock;GSM 目 錄 引言 1 1 緒論 1 1.1 電子密碼鎖的研究意義 1 1.2 電子密碼鎖的應用與前景 2 1.3 本設計的特點 2 2 系統(tǒng)整體方案設計 3 2.1 設計目標與框圖 3 2.2 主控部分的選擇 4 2.3 整
11、體設計思路 4 3 硬件系統(tǒng)設計 4 3.1 系統(tǒng)芯片介紹 4 3.1.1 單片機AT89C51功能介紹 4 3.1.2 時鐘芯片DS1302介紹 7 3.1.3 AT24C08存儲芯片 8 3.1.4 LCD1602顯示模塊 9 3.1.5 TC35i GSM模塊 10 3.2 硬件設計 11 3.2.1 復位電路 11 3.2.2 晶振電路 12 3.2.3 鍵盤電路 12 3.2.4 LCD顯示電路 13 3.2.5 DS1302時鐘芯片電路 13 3.2.6 AT24C08存儲電路 14 3.2.7 報警電路 15 3.2.8 開鎖電路 15 3.2
12、.9 TC35I GSM模塊 16 3.3.0 電源模塊 16 4 軟件程序設計 16 4.1 主程序流程圖 17 4.2 找回密碼程序 18 4.3 鍵盤掃描程序 18 4.4 Proteus仿真 19 5 總結 20 謝 辭 22 參考文獻 23 附 錄 24 桂林電子科技大學課程設計(論文)報告用紙 第25頁 共56頁 引言 隨著科技的發(fā)展,在當今的社會上,人們越來越重視對安全的需求,而且要求也越來越高,無論是對人身,財產
13、還是個人隱私,幾乎所有的一切都與安全掛上鉤。日常生活和工作中, 住宅與部門的安全防范、單位的文件檔案、財務報表以及一些個人資料的保存多以加鎖的辦法來解決。若使用傳統(tǒng)的機械式鑰匙開鎖,人們常需攜帶多把鑰匙, 使用極不方便, 且鑰匙丟失后安全性即大打折扣。此外,傳統(tǒng)的機械鎖,由于有鎖孔在外,也給盜賊的破壞帶來可乘之機,可以使用一些專門的開鎖工具進行開鎖。在安全技術防范領域,隨著單片機的問世,出現(xiàn)了帶微處理器的密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化、科技化等功能,從而使密碼鎖具有很高的安全性、可靠性。 電子密碼鎖帶來了無鑰匙的解決方案,使得人們的出行也更加的方便,也解決了密碼丟失而導致
14、的各種各樣問題,同時也防止了鑰匙的復制問題。從目前的技術水平和市場認可程度看,使用最為廣泛的是鍵盤式電子密碼鎖。在科學技術不斷發(fā)展的今天,電子密碼防盜鎖作為防盜衛(wèi)士的作用也日趨重要。電子密碼鎖是集計算機技術、電子技術、數字密碼技術為一體的機電一體化高科技產品,具有安全性高,使用方便等優(yōu)點。 因而現(xiàn)在的電子鎖的主要趨勢是形式多樣化,開鎖的認證越來越縝密化,使用更人性化。如何盡可能的降低生產成本,并制造出符合人們使用習慣的電子密碼鎖,是如今的研究方向。而本文以單片機作為主要的設計,正是遵從了成本盡可能低,而達到主要日常功能的一個思想。 本設計具有較高性價比的密碼鎖,價格低廉而實用。以
15、單片機作為主控的解決方案,鍵盤、顯示、報警電路、執(zhí)行開鎖機構等部分構成。其中密碼由鍵盤輸入端口輸入,解碼正確條件下,輸出開鎖電平,控制電控鎖開啟。同時還具有多次輸錯報警,鎖定鍵盤,超時輸入自動返回主界面等功能,還可擴展GSM短信報警功能。 1 緒論 電子密碼鎖簡而言之就是一種普通而實用的鎖,只不過其由機械開鎖轉變成了其他觸發(fā)形式的開鎖,因而更具有安全性。本章則主要介紹的是本設計的一些特點以及電子密碼鎖的一些背景和主要市場應用前景。 1.1 電子密碼鎖的研究意義 鎖是置于可啟閉的器物上,用以關住某個確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有
16、若干年的歷史了,人們對它的結構、機理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會里,由于社會中各種矛盾沖突十分劇烈,人們的思想道德觀念,價值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,那些毫無道德觀念的盜賊卻想方設法利用高科技手段撬門開鎖,使廣大居民防不勝防。 因為傳統(tǒng)鎖具都存在致命的弱點: 第一、 鎖芯采用常見的銅、鋁、鋅等材料,抵抗不了強力破壞; 第二、 鎖具制作工藝,技術落后,無法阻止技術手段的開啟。 目前,市場上很多國內外的鎖具,實際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡單的工具就可以把這些鎖打開,有的慣偷甚至公
17、開揚言:“沒有我打不開的鎖?!逼鋵崳皇撬麄兌喔呙?,而是一般鎖具技術原理太過簡單。面對這一殘酷的現(xiàn)狀,新時代提出了鎖具必須革命的迫切的要求。 因而對于電子密碼鎖的研究在生活中有著重要的意義,同時也是門鎖發(fā)展歷史上必須經歷的一個替代過程。 1.2 電子密碼鎖的應用與前景 出于安全、方便等方面的需要,許多電子密碼鎖已相繼問世,例如磁卡鎖、聲控鎖、指紋識別、IC 卡識別等等。但這類產品的特點是針對特定有效卡、指紋或聲音有效,且不能實現(xiàn)遠程控制,只能適合于保密要求高且僅供個人使用的箱、柜、房間等。而且卡片式IC 卡還有易丟失等特點,加上其成本一般較高,一定程度上限制了這類產品的普
18、及和推廣。 電子密碼鎖產品前景廣泛,可應用于家用及商用防盜門、保險柜,汽車,軍事等領域,目前,在西方發(fā)達國家,電子密碼鎖技術相對先進,種類齊全,電子密碼鎖已經被廣泛應用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術實現(xiàn)大門的管理。我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還比較高,市場上仍以按鍵電子鎖為主,但假以時日定能與西方發(fā)達國際起頭并進。 1.3 本設計的特點 本設計采用了以AT89C51單片機為微處理器的方案,單片機是常見的器件,而價格較為便宜,且足以勝任處理密碼比對以及修改的處理工作。電源采用的是12V和5V直流電源,因為市面上大多數電磁鎖的
19、驅動電壓都是在12V,可以提供足夠的驅動力。為防止斷電后密碼隨之丟失的問題,本次設計則采用了AT24C08的EEPROM的存儲器件,其具有快速的反復讀寫功能,容量也達到1K,因此滿足了本設計對于密碼的讀寫和掉電防丟失的要求。顯示模塊采用了LCD1602模塊,能夠顯示16x2的英文字符,對于本系統(tǒng)中的操作信息提示,可以充分的顯示出來,以達到簡單易用,上手即會,界面友好的功能。此外,為了貼近生活化,增加了時鐘電路,可以在主界面上顯示當前的日期以及時間,相當于一個萬年歷的功能,并且即使在斷電后,仍然能夠繼續(xù)走時,用戶不必擔心時間重新調整的問題。為了使功能更加全面,增加了GSM模塊,可達到遠程短信報警
20、功能,當輸錯密碼次數達到三次時便會發(fā)送報警短信,使得即使遠在外地的主人也可了解目前最新的安全狀況。 上述是本設計的硬件方面的一些特點,而對于軟件功能的實現(xiàn)上,則具有以下的特征: (1)密碼隱私的保護:在用戶輸入密碼的時候,LCD顯示屏上不會直接顯示明文的數字密碼,而是以*號來遮擋,保護了用戶在輸入時的密碼的安全性。 (2)設定密碼的長度:用戶可以自行設定1-8位的密碼,從而使得非法進入可能性達到最小,即無法判斷出密碼的長度及其排列組合。然而出于對用戶的安全性上的考慮,我們推薦使用6位以上的密碼。 (3)報警和鎖定鍵盤輸入:本設計最多允許3次密碼輸入錯誤,當未授權的人
21、士輸錯3次密碼的時候,鎖自身會發(fā)出警報并且鎖定鍵盤30秒,防止其連續(xù)性的嘗試輸入,更好的達到防盜要求。 (4)密碼的遺忘和找回:當用戶忘記了密碼的時候,本機具有找回密碼的功能。在用戶連續(xù)輸入錯誤達到3次時,鍵盤為鎖定狀態(tài),而此時只有用戶知道有一個鍵是“找回密碼”的按鍵。用戶可以按下此鍵,并根據所提問題回答出正確答案,便能達到下一步,選擇修改密碼或者問題的答案,并可以擴展至GSM發(fā)送短信找回密碼。 (5)密碼的設定:用戶要想達到修改密碼的功能,必需得先輸入之前設定的舊密碼,如果輸入錯誤是不能進入修改密碼的界面的,同時也有3次輸錯的鍵盤鎖定。新密碼的設定,則需進行兩次確認,防止用戶誤操
22、作而導致的問題。 (6)界面友好:主界面顯示當前時間和日期;當有按下任意數字鍵時,便會進入輸入密碼的界面,輸入完整后下確認鍵,將會開鎖;基本上每個操作步驟都有提示信息。 (7)遠程報警:增加了GSM短信報警模塊,當有人企圖嘗試輸入密碼并且錯誤次數達到三次時,密碼鎖將會發(fā)送報警短信至主人的手機上,從而得知遠程密碼鎖此時的狀態(tài),主人便能采取相應措施,或立即回家處理或打電話報警。 2 系統(tǒng)整體方案設計 2.1 設計目標與框圖 本設計的目標是完成任務書中的基本要求,即可以實現(xiàn)時間日期的顯示,密碼的輸入與確認,修改已設定的密碼,超次數輸入錯誤鎖定鍵盤并有聲音報警。除此之外,為
23、了擴展功能與貼近實際生活,還增加了GSM短信遠程報警和找回密碼的功能,其中的密碼找回功能,是指密碼鎖發(fā)送驗證短信至用戶手機上,以找回遺忘的密碼。 本設計所使用的模塊主要有:矩陣鍵盤輸入模塊,LCD1602顯示模塊,AT24C08掉電存儲模塊,時鐘電路,復位電路,GSM模塊等等。其框圖如圖1所示。 圖1 系統(tǒng)框圖 2.2 主控部分的選擇 本設計采用的主控部分是常見的單片機AT89C51,實現(xiàn)控制與處理的功能。單片機具有資源豐富、速度快、編程容易等優(yōu)點。利用單片機內部的隨機存儲器(RAM)和只讀存儲器(ROM)及其引腳資源,外接液晶顯示(
24、LCD),鍵盤輸入等實現(xiàn)數據的處理傳輸和顯示功能,基本上能實現(xiàn)設計指標。 此外,根據一些參考資料,電子密碼鎖還可以用數字邏輯電路的方式來實現(xiàn),但是該方案的擴展空間有限,功能上也有局限性,不如選擇單片機AT89C51的方案更全面,單片機靈活的編程設計和豐富的IO端口,及其控制的準確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加溫度顯示、時間顯示甚至添加遙控控制功能。 綜上所述,本次設計優(yōu)先選擇了以單片機作為主控的方案。 2.3 整體設計思路 由于日常的密碼形式都采用數字格式,便于用戶的輸入和記憶,因而使用了4*4的矩陣鍵盤,用線反轉法檢測用戶輸入的鍵值,其在單片機上也僅使用了8
25、個I/O口,節(jié)省管腳資源,符合本次設計;而顯示部分采用LCD1602模塊,可以顯示2行和每行16個英文字符,滿足顯示要求,而且也僅占用11個單片機I/O口,操作命令也較為簡單;報警電路采用有源蜂鳴器,報警時只需控制單片機的一個I/O口的高低電平,便能達到目的。 電源電路,可以采用5V直流電壓工作,也可使用12V直流電壓工作。本設計中有將12V降至5V的穩(wěn)壓電路,以滿足單片機的工作需求,當使用12V電壓時,可以給電磁鎖供給12V的電壓,因為多數電磁鎖使用這個數值。單獨留出單片機的串口,可以擴展功能,本設計為了拓展其他功能,使用串口RXD,TXD與GSM模塊通信,實現(xiàn)了三次輸錯密碼短信報警功能。
26、 為了顯示時間與日期,采用DS1302時鐘芯片,此芯片封裝為8腳,其中的3個管腳負責與單片機通信,既節(jié)省資源又滿足需求。而掉電存儲密碼的芯片為AT24C08,其有高達1K的空間,并使用I2C總線形式與單片機通信,簡單而實用,保護了用戶的密碼安全。 總體上說,本設計的方案簡潔而實用性強,遵循了盡可能減少成本和占用單片機I/O口的原則,同時也可使得元器件的擺放更為合理。 3 硬件系統(tǒng)設計 3.1 系統(tǒng)芯片介紹 3.1.1 單片機AT89C51功能介紹 AT89C51是美國ATMEL公司生產的低電壓,高性能CMOS8位單片機,片內含4K bytes的可反復擦寫的只讀程序存儲器(
27、EPROM)和128bytes的隨機存取數據序存器(RAM),器件采用ATMEL公司的高密度/非易失性存儲技術生產,兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器(CPU)和FLASH存儲單元,AT89C51單片機為許多嵌入式控制系統(tǒng)提供了一種靈活行高且價廉的方案。 AT89C51提供以下標準功能:128字節(jié)內部RAM,32個I/O口線,兩個16位定時器/計數器,一個5向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89C51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式??臻e方式停止CPU的工作,但允許RAM,定時/計數器,串行通信口及
28、中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。 以下AT89C51具體的管腳功能介紹,管腳如圖2所示。 圖2 AT89C51管腳圖 VCC:供電電壓。 GND:接地。 P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。 P1口:P1口是一
29、個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉
30、優(yōu)勢,當對外部八位地址數據存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。 P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。 P3口也可作為AT89C51的一些特殊功能口,如表1所示: 端口 其他功能 說明 P3.0 RXD 串行口的接收引腳 P3.1 TXD 串行口的傳送引腳 P3.2 INT0 IN
31、T0中斷輸入 P3.3 INT1 INT1中斷輸入 P3.4 T0 Timer0輸入 P3.5 T1 Timer1輸入 P3.6 WR 寫入外部存儲器控制引腳 P3.7 WD 讀取外部存儲器控制引腳 表1 AT89C51的P3口特殊功能 RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可
32、用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數據存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次PSEN有效。但在訪問外部數據存儲器時,這兩次有效的PSEN信號將不出現(xiàn)。 EA/VPP:當EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,EA將內部鎖定為RE
33、SET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。 XTAL2:來自反向振蕩器的輸出。 3.1.2 時鐘芯片DS1302介紹 DS1302 是美國DALLAS公司推出的一種高性能、低功耗、帶RAM的實時時鐘電路,它可以對年、月、日、周日、時、分、秒進行計時,具有閏年補償功能,工作電壓為2.5V~5.5V。采用三線接口與CPU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號或RAM數據。DS1302內部有一個318的用于臨時性存放數據的RA
34、M寄存器。DS1302是DS1202的升級產品,與DS1202兼容,但增加了主電源/后背電源雙電源引腳,同時提供了對后背電源進行涓細電流充電的能力。 (1) 引腳功能及結構 圖3示出DS1302的引腳排列,其中VCC1為后備電源,VCC2為主電源。在主電源關閉的情況下,也能保持時鐘的連續(xù)運行。DS1302由VCC1或VCC2兩者中的較大者供電。當VCC2大于VCC1+0.2V時,VCC2給DS1302供電。當Vcc2小于VCC1時,DS1302由Vcc1供電。X1和X2是振蕩源,外接32.768kHz晶振。RST是復位/片選線,通過把RST輸入驅動置高電平來啟動所有的數據傳送。RST輸
35、入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節(jié)或多字節(jié)數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變?yōu)楦咦钁B(tài)。上電運行時,在VCC≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向),后面有詳細說明。SCLK始終是輸入端。 圖3 DS1302引腳圖 (2)DS1302的控制字節(jié)
36、 DS1302 的控制字如表2所示??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數據寫入DS1302中,位6如果為0,則表示存取日歷時鐘數據,為1表示存取RAM數據;位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進行寫操作,為1表示進行讀操作,控制字節(jié)總是從最低位開始輸出。 1 RAM A4 A3 A2 A1 A0 RD 表2 DS1302的控制字節(jié) (3)數據輸入輸出(I/O) 在控制指令字輸入后的下一個SCLK時鐘的上升沿時,數據被寫入DS1302,數
37、據輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個SCLK脈沖的下降沿讀出DS1302的數據,讀出數據時從低位0位到高位7。 (4)DS1302的寄存器 DS1302有12個寄存器,其中有7個寄存器與日歷、時鐘相關,存放的數據位為BCD碼形式,其日歷、時間寄存器及其控制字見表3。 表3 日歷,時間寄存器及其控制字 寄存器名 命令字 取值范圍 各位內容 寫操作 讀操作 7 6 5 4 3 2 1 0 秒寄存器 80H 81H 0-59 CH 10SEC SEC 分
38、寄存器 82H 83H 0-59 0 10MIN MIN 小時寄存器 84H 85H 01-12或00-23 12/24 0 10/AP HR HR 日期寄存器 86H 87H 01-28,29,30,31 0 0 10DATE DATE 月份寄存器 88H 89H 01-12 0 0 0 10M MOUTH 周日寄存器 8AH 8BH 01-07 0 0 0 0 0 DAY 年份寄存器 8CH 8DH 00-99
39、 10YEAR YEAR 此外,DS1302 還有年份寄存器、控制寄存器、充電寄存器、時鐘突發(fā)寄存器及與RAM相關的寄存器等。時鐘突發(fā)寄存器可一次性順序讀寫除充電寄存器外的所有寄存器內容。 DS1302與RAM相關的寄存器分為兩類:一類是單個RAM單元,共31個,每個單元組態(tài)為一個8位的字節(jié),其命令控制字為C0H~FDH,其中奇數為讀操作,偶數為寫操作;另一類為突發(fā)方式下的RAM寄存器,此方式下可一次性讀寫所有的RAM的31個字節(jié),命令控制字為FEH(寫)、FFH(讀)。 3.1.3 AT24C08存儲芯片 AT24C08是美國Atmel公司的低功耗CMOS型
40、E2PROM,內含1K8位存儲空間,具有工作電壓寬(2.5~5.5 V)、擦寫次數多(大于10000次)、寫入速度快(小于10 ms)、抗干擾能力強、數據不易丟失、體積小等特點。而且他是采用了I2C總線式進行數據讀寫的串行器件,占用很少的資源和I/O線,并且支持在線編程,進行數據實時的存取十分方便。AT24C08中帶有的片內地址寄存器。每寫入或讀出一個數據字節(jié)后,該地址寄存器自動加1,以實現(xiàn)對下一個存儲單元的讀寫。所有字節(jié)均以單一操作方式讀取。為降低總的寫入時間,一次操作可寫入多達8個字節(jié)的數據。 I2C總線是一種用于IC器件之間連接的二線制總線。它通過SDA(串行數據線)及SCL(串行時鐘
41、線)兩根線在連到總線上的器件之間傳送信息,并根據地址識別每個器件。 AT24C08正是運用了I2C規(guī)程,使用主/從機雙向通信,主機(通常為單片機)和從機(AT24C08)均可工作于接收器和發(fā)送器狀態(tài)。主機產生串行時鐘信號(通過SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產生開始和停止的條件。無論是主機還是從機,接收到一個字節(jié)后必須發(fā)出一個確認信號ACK。AT24C08的控制字由8位二進制數構成,在開始信號發(fā)出以后,主機便會發(fā)出控制字,以選擇從機并控制總線傳送的方向。 圖4 AT24C08引腳圖 圖4中AT24C08的1、2、3腳是三條地址線,用于確定芯片
42、的硬件地址。在AT89C51試驗開發(fā)板上它們都接地,第8腳和第4腳分別為正、負電源。第5腳SDA為串行數據輸入/輸出,數據通過這條雙向I2C總線串行傳送。第7腳需要接地。 AT24C08的寫操作:先由主機發(fā)送起始命令,再發(fā)送送器件地址,當主機接收到器件的ACK應答后,便繼續(xù)發(fā)送內部字節(jié)地址,當接收到ACK應答后繼續(xù)發(fā)送數據,當8位數據發(fā)送完畢之后,主機接收到器件的ACK應答,在發(fā)送停止信號。 AT24C08的讀操作:內部地址計數器存放著上一次訪問時最后一個地址加1的值,只要芯片有電,該值就被保存。當讀到最后頁的最后字節(jié),該地址變?yōu)?;當讀到某頁的頁尾時,該地址轉向該頁頁首。 AT24C0
43、8的具體起始和終止信號時序如圖5所示。 圖5 起始信號和終止信號及應答信號的時序 3.1.4 LCD1602顯示模塊 1602液晶也叫1602字符型液晶 它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊 它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔 每行之間也有也有間隔 起到了字符間距和行間距的作用,正因為如此 所以他不能顯示圖形。1602LCD是指顯示的內容為16X2,即可以顯示兩行,每行16個字符液晶模塊(顯示字符和數字)。 LCD1602采用標準的14腳(
44、無背光)或16腳(帶背光)接口,各引腳接口說明如下表4。 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 數據 2 VDD 電源正極 10 D3 數據 3 VL 液晶顯示偏壓 11 D4 數據 4 RS 數據/命令選擇 12 D5 數據 5 R/W 讀/寫選擇 13 D6 數據 6 E 使能信號 14 D7 數據 7 D0 數據 15 BLA 背光源正極 8 D1 數據 16 BLK 背光源負極 表4 LCD1602的引腳接口說明 第1腳:VSS為地電源
45、。 第2腳:VDD接5V正電源。 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。 第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。 第7~14腳:D0~D7為8位雙向數據線。
46、 第15腳:背光源正極。 第16腳:背光源負極。 1602液晶顯示模塊是一個慢顯示器件,所以在執(zhí)行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符,圖6是的內部顯示地址 圖6 1602內部顯示地址 3.1.5 TC35i GSM模塊 TC35i 新版西門子工業(yè)GSM 模塊是一個支持中文短信息的工業(yè)級GSM 模塊,工作在EGSM900和GSM1800雙頻段,電源范圍為直流3.3~4.8V ,電流消耗——休眠狀態(tài)為3.5mA,空閑狀態(tài)
47、為25mA,發(fā)射狀態(tài)為300mA(平均),2.5A峰值;可傳輸語音和數據信號, 功耗在EGSM900(4類)和GSM1800(1類)分別為2W和1W ,通過接口連接器和天線連接器分別連接SIM 卡讀卡器和天線。SIM 電壓為3V/1.8V,TC35i 的數據接口(CMOS 電平)通過AT 命令可雙向傳輸指令和數據,可選波特率為300b/s~115kb/s , 自動波特率為1.2kb/s~115kb/s。它支持Text和PDU格式的SMS(Short Message Service,短消息),可通過AT命令或關斷信號實現(xiàn)重啟和故障恢復。 模塊的供電電壓如果低于3.3V會自動關機。同時模塊在在發(fā)
48、射時,電流峰值可高達2A。同時在此電流峰值時,電源電壓(送入模塊的電壓)下降值不能超過0.4V。所以該模塊對電源的要求較高,電源的內阻+FFC連接線的電阻必需小于200mΩ。單片機通過兩根I/O口控制TC35的開關機、復位等,通過串口與TC35進行數據通信,通信速率為9600bps,采用8位異步通訊方式,1位起始位,8位數據位,1位停止位。 3.2 硬件設計 本設計主要由單片機、矩陣鍵盤、液晶顯示器和密碼存儲等部分組成。其中矩陣鍵盤用于輸入數字密碼和進行各種功能的實現(xiàn)。由用戶通過連接單片機的矩陣鍵盤輸入密碼,后經過單片機對用戶輸入的密碼與自己保存的密碼進行對比,從而判斷密碼是否正確
49、,然后控制引腳的高低電平傳到開鎖電路或者報警電路控制開鎖還是報警。 本系統(tǒng)共有兩部分構成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤輸入部分、復位部分、GSM獨立模塊、顯示部分、報警部分組成,軟件部分對應的由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、找回密碼程序、EEPROM讀寫程序等組成。 3.2.1 復位電路 單片機復位的原理是,在時鐘電路開始工作后,在單片機的RST引腳施加24個時鐘振蕩電路(即兩個機器周期)以上的電平,單片機便可以實現(xiàn)復位。一般采用外部復位電路來進行單片機復位,RST引腳保持10ms以上的高電平。在復位期間,單
50、片機的ALE引腳和PSEN引腳均輸出高電平。當RST引腳從高電平跳變?yōu)榈碗娖胶螅瑔纹瑱C便從0000H單元開始執(zhí)行程序。 在實際應用的電路中,一般采用既可以手動復位,又可以上電復位的電路,這樣可以人工復位單片機系統(tǒng)。上電復位部分的原理也是RC電路的充放電效應。復位電路如圖7,該電路在最簡單的復位電路下增加了手動復位按鍵,在接通電源瞬間,電容C7上的電壓很小,復位下拉電阻上的電壓接近電源電壓,即RST為高電平,在電容充電的過程中RST端電壓逐漸下降,當RST端的電壓小于某一數值后,CPU脫離復位狀態(tài),由于電容C7足夠大,可以保證RST高電平有效時間大于24個振蕩周期,CPU能夠可靠復位。
51、 圖7 復位電路 3.2.2 晶振電路 AT89C51引腳XTAL1和XTAL2與晶振及電容C8、C9按照圖8所示連接。振蕩器用于產生單片機正常工作時所需的時鐘信號。單片機采用CMOS工藝,內部包含一個振蕩器,當然也允許采用外部振蕩器,由外部振蕩器產生時鐘信號來供內部CPU運行使用。 單片機內部包含一個高增益的單機反相放大器,引腳XTAL1和XTAL2分別為片內反相放大器的輸入端口和輸出端口,工作頻率為0-33MHz。當外接晶振的時候,電容值一般選擇C1=C2=30pF,所以本設計選擇了30pF的C8、C9電容,晶振采用2
52、4MHz。 圖8 晶振電路 3.2.3 鍵盤電路 由于本設計中需要輸入和更改密碼,因此不是和采用獨立按鍵,因為獨立按鍵會占用單片機過多的I/O端口,所以使用了矩陣鍵盤的電路,提高I/O口利用率。本次使用了4*4的矩陣鍵盤,也就是使用了4條行線和4條列線,共占用8個單片機引腳,即使用了P2口。16個按鍵分配為10個數字鍵和6個功能鍵。如圖9所示的矩陣鍵盤。 圖9 矩陣鍵盤 3.2.4 LCD顯示電路 由于要顯
53、示相關的操作信息,例如當需要對密碼鎖進行開鎖時,按下鍵盤上的數字鍵0-9輸入密碼,每按下一個數字鍵后在顯示器上顯示一個*。選擇LCD1602是比較好的選擇。其連接方式如圖10所示。如之前芯片介紹中所述,LCD1602只使用了8條數據線和3條控制線。其中P0口連接LCD的8個數據引腳(D0-D7),由于單片機的特殊性,P0口就必須接上拉電阻,本設計中為了擴展的需求,已經接了4個10K的上拉電阻,所以完全滿足需求。而P1口的0,1,2管腳,則是接LCD的RS、R/W、E(使能),即執(zhí)行相關的指令。LCD的2與3管腳與電源和可調電阻相連,則是為了調節(jié)LCD的顯示對比度。
54、 圖10 LCD顯示電路 3.2.5 DS1302時鐘芯片電路 本設計中,為了貼近生活實用,配置有單獨的時鐘芯片進行走時,選擇了也是常見的時鐘芯片,即DS1302。采用SPI三線接口與CPU進行通信。而且在斷電的時候,有單獨的紐扣電池給DS1302供電,保障走時的準確性。 如圖11 DS1302時鐘電路所示,芯片為DIP-8的封裝。由于是SPI總線驅動方式。它不僅要向寄存器寫入控制字,還需要讀取相應寄存器的數據,所以其管腳SCLK(串行時鐘)、I/O(數據輸入輸出)、CE(復位腳),對應于單片機的P1口4,5,6管腳連接。其工作的時鐘信號由單獨的晶振提供,典型應用
55、是接32.768KHz,并接有C5和C610pF電容。而在紐扣電池與管腳8的連接上面還有C03和C04兩個電容,是為了達到電源濾波的作用,使得其更穩(wěn)定。 圖11 DS1302時鐘電路 3.2.6 AT24C08存儲電路 在本設計中,為了更加好的存儲用戶所設定的密碼,選擇使用EEPROM器件。即使在斷電的情況下,也不會丟失數據。其I2C器件,串行數據線SDA和串行時鐘線SCL構成的,即可發(fā)送和接收數據。AT24C08作為存儲器件,器件地址的高4 位固定為1010。接下來的3 位A2 A1 A0 為器件的地址位用來定義哪個器件以及
56、器件的哪個部分被主器件訪問,而控制字節(jié)的最低位為讀/寫控制,1為讀0為寫。其電路連接為A0,A1,A2,GND管腳接地,WP寫保護管腳可懸空或者接地(表示可以進行讀寫操作),SCL(時鐘),SDA(數據)與單片機的P34,P35口連接。如圖12 AT24C08電路所示。 本設計是將密碼定義成數組的形式,數組長度為8,所以密碼的長度必須小于等于8,密碼長度保存在24C08的0xa0單元,密碼中的每個數字則分別存在0x0b-0x12單元。 圖12 AT24C08存儲電路 3.2.7 報警電路 本設計的報警電路采用了簡單的有源蜂鳴器作為發(fā)聲元件,電路較為容易,
57、用一個普通的PNP8550三極管驅動,如圖13報警電路所示。完全滿足了使用上的需求。首先是報警時音量分貝足夠大,密碼輸入錯誤達到三次時,發(fā)出緊蹙的聲響 ,達到震懾非法進入的目的。同時,其發(fā)出的“滴”聲可以作為按鍵按下的提示音,給使用者帶來了操作上的指導,可以明確了解有按鍵按下。 圖13 報警電路所示 3.2.8 開鎖電路 由于本次設計的重點在于本機的設計,對于專業(yè)性較強的電磁鎖了解并不是十分充分,因為同時還要考慮到電磁鎖吸和的力度及時間,加之鎖的成本較為昂貴,所以出于節(jié)約成本
58、考慮及演示效果,選擇了使用繼電器外接一個LED燈來代替。 LED燈亮則表示輸入密碼正確,門鎖打開;LED滅則表示門鎖。繼電器的電路連接如圖14所示。 圖14 繼電器開鎖電路 3.2.9 TC35I GSM模塊 作為本次設計的擴展功能,TC35I GSM是一個單獨的模塊,其由獨立的5V/2A電源供電。它與單片機的連接是靠兩條串口線,即P30(RXD),P31(TXD)以及和一條GND線(共地),單片機依靠串口與GSM模塊通信,其波特率為9600bps,發(fā)送相關的AT指令和信息,以達到發(fā)送SMS到用戶手機,實現(xiàn)報警和找回密碼功能。 由于TC35
59、I是一個獨立出來的模塊,因而本設計中并沒有繪制其原理圖和PCB圖,經過查閱和搜索相關資料,在此也附上其模塊電路,如圖15所示。 圖15 TC35I GSM模塊 3.3.0 電源模塊 本次設計中,既可以使用5V直流電進行供給,也可以使用12V的直流電源,因為板子上有12V轉5V的穩(wěn)壓電路。之所以多出這個設計,是因為可以更方便地給單片機供電,此外,因為多數密碼鎖的工作電壓在12V,所以使用12V電源可以給其正常工作。但由于電磁鎖比較昂貴,出于節(jié)約成本的考慮,暫時用LED代替。
60、 圖16 電源電路 如上圖16所示,電源電路中使用了AMS1117穩(wěn)壓芯片,可將12V轉為5V,而與其連接的電容,則是起了濾波的作用,使得電壓更為平滑。 4 軟件程序設計 本次設計的電子密碼鎖程序并不算特別復雜,由幾個相關程序構成,這包括主程序,設置密碼程序,開門程序,找回密碼程序等等。在編寫程序的過程中,使用的是Keil4軟件,因為常用的單片機程序設計編譯軟件都是使用它。 4.1 主程序流程圖 圖17 主程序流程圖 如圖17 主程序流程圖,開始接上電源,程序進行初始化設置,這設置包含設置相關定時器初值,開中斷,LCD顯示初始化等等。然后程序在一個while循環(huán)
61、中不斷的循環(huán),期間有滿足不同條件的if語句時,則跳轉至相關函數去執(zhí)行,如修改時間,修改密碼,開鎖,以完成不同的功能。 在主程序流程圖中,已經盡可能的把整個主程序的運行過程給繪制出來了,如圖所示。 4.2 找回密碼程序 當輸入密碼錯誤次數達到三次時,將會進入鍵盤鎖定和報警的一個狀態(tài)。而此時,只有用戶知道有一個按鍵未被鎖定,而是用于找回密碼所用的按鍵。當按下這個按鍵的時候,屏幕將會顯示“ask the question”的提示,詢問用戶問題的正確答案。同時,單片機將存儲于內部的正確答案以短信的形式發(fā)至用戶綁定的手機上,用戶手機收到短信后,根據內容輸入至密碼鎖中,按下確認鍵以確
62、定。若正確,則會跳至一個新的界面,用戶可選擇是更改一個新的密碼還是更改提問的答案,并進入相關界面進行操作;若所回答的答案是錯誤的,則返回鎖定等待的界面,直到鎖定時間走完方,可再次嘗試輸入密碼。如圖18 為找回密碼程序流程圖。 開始 鍵2? 鍵1? 正確? 輸入答案 發(fā)送短信 顯示問題 鎖定鍵盤繼續(xù)等待 返回輸入密碼 N Y 更改密碼 N Y 輸入答案 N Y 圖18 找回密碼程序流程圖 4.3 鍵盤掃描程序 鍵盤作為本次設計的輸入密碼的關鍵模塊,采用矩陣鍵盤和線反轉掃描方法
63、,先將行線作為輸出線, 列線作為輸入線, 行線輸出全“0”信號, 讀入列線的值, 那么在閉合鍵所在的列線上的值必為0;然后從列線輸出全“0”信號,再讀取行線的輸入值,閉合鍵所在的行線值必為 0。這樣,當一個鍵被按下時, 必定可讀到一對唯一的行列值。再由這一對行列值可以求出閉合鍵所在的位置。然后確定鎖閉合鍵的鍵碼在KeyTable中,在返回對應的一個數字,方便以后編程時使用,而不用記住麻煩的鍵碼。 code uchar KeysTable[] = {0xEE,0xDE,0xBE,0x7E,0xED,0xDD,0xBD,0x7D,0xEB,0xDB,0xBB,0x7B,0xE7,0xD7,0xB
64、7,0x77,0x00}; void delay_keyscan(void) {data uchar i,j; for(i=0;i<50;i++) for(j=0;j < 150;j++);} int KeyScan(void) {uchar i = 0; data uchar value,temp1,temp2; P2 = 0xF0; temp1 = P2; if((temp1&0xF0) != 0xF0) {delay_keyscan(); temp1 = P2; if((temp1&0xF0) != 0xF0) { P
65、2 = 0x0F; temp2 = P2; value = temp1 | temp2; while(P2 != 0x0F); for(i=0;i<=15;i++) if(value == KeysTable[i]) {P2 = 0xFF; return (i+1);} } } else P2 = 0xFF; return 0; } 4.4 Proteus仿真 Proteus ISIS是英國Labcenter公司開發(fā)的電路分析與實物仿真軟件。它運行于Windows操作系統(tǒng)上,可以仿真、分析各種模擬器件和集成電路,該軟件的特點是:實現(xiàn)了單片機仿真和數字電
66、路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統(tǒng)的仿真等等。并可在軟件中直接導入用Keil生產的Hex文件,使得單片機如同在真正環(huán)境下工作一樣,以達到最好的仿真效果。以下附上在Proteus上的仿真截圖。如圖19所示。 圖19 Proteus硬件仿真圖 5 總結 本文描述了以單片機AT89C51作為主控方案的電子密碼鎖設計,并對方案進行了詳細地說明,包含對系統(tǒng)硬件的每一部分的組成及其一些主要工作原理;在軟件部分,則也給出了相關主程序的流程圖和主要功能函數的流程圖。 在主要功能上,本次設計基本達到了要求,例如密碼正確開鎖,密碼三次輸入錯誤鎖定鍵盤和報警,時鐘顯示,找回密碼等等功能,但在某些地方依然有不足,比如操作上不夠人性化,程序有時候不夠穩(wěn)定等等,有待進一步的改進。但也有明顯的考慮不足的地方,由于了解的專業(yè)知識尚淺,對課題的研究經驗的不足,使得在技術的解決與運用上顯得粗糙了一些,此電路中也存在著依稀的問題,譬如說當供電斷掉的時候,此時密碼鎖沒有后備電源進行供電,那么此時的門鎖處于關閉的狀態(tài),用戶將無法自由進出,必須等待
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2023年六年級數學下冊6整理和復習2圖形與幾何第7課時圖形的位置練習課件新人教版
- 2023年六年級數學下冊6整理和復習2圖形與幾何第1課時圖形的認識與測量1平面圖形的認識練習課件新人教版
- 2023年六年級數學下冊6整理和復習1數與代數第10課時比和比例2作業(yè)課件新人教版
- 2023年六年級數學下冊4比例1比例的意義和基本性質第3課時解比例練習課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第7課時圓柱的體積3作業(yè)課件新人教版
- 2023年六年級數學下冊3圓柱與圓錐1圓柱第1節(jié)圓柱的認識作業(yè)課件新人教版
- 2023年六年級數學下冊2百分數(二)第1節(jié)折扣和成數作業(yè)課件新人教版
- 2023年六年級數學下冊1負數第1課時負數的初步認識作業(yè)課件新人教版
- 2023年六年級數學上冊期末復習考前模擬期末模擬訓練二作業(yè)課件蘇教版
- 2023年六年級數學上冊期末豐收園作業(yè)課件蘇教版
- 2023年六年級數學上冊易錯清單十二課件新人教版
- 標準工時講義
- 2021年一年級語文上冊第六單元知識要點習題課件新人教版
- 2022春一年級語文下冊課文5識字測評習題課件新人教版
- 2023年六年級數學下冊6整理和復習4數學思考第1課時數學思考1練習課件新人教版