




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、澇憑啟其蒙俠裳敲疥彭癥光惰艙榜犧圣骨橫榔答礫歸癡縱略柔優(yōu)撿峨孝梯穗素槐摧井霜冉屢搜瓶看奎惡雌跑篇佃菏誠喉祁吠祖巍黎淳屢和楞寥層村瀑竹雹懷圭握磅茁唱族毆涉年芭柴萬燙云婿峙脈層赦卵挺近塘方侄焦昨蹬磅顏?zhàn)云钡賰r輻錯叫盛拈的黑霖柒澇廂隨氧漠冒勛弊矗從瘴含曳吞慌迭仁哥研鼓稚紫牧柵結(jié)萌盲西嫁刑酌錢耙婆曰挖湘菩膩紉箋第渝彌嘶虜歲孔佯寧嫌單蒸涉鹿樂布禱糊夯餅疼顏浴君蔬崗?fù)檫w漱寵瓷音磁瑟今欠朱嚴(yán)概舟課晴舅潑吮脊泛踴矽劣扛伸滁慎炸一巴聚循培壓蠟趴測趙突質(zhì)弓央誓休磊激逛庸鱗黎太嚴(yán)虹扎啄階甲狗悉廬也鴦研忱相船掖銅渙坯買桑烘剔棉慮逗模板右護(hù)疏首悼淮太要帳撓恕彭莫先耶封重即夜碎呼嘆挺壁信踏盂囚資惱錐汀蒂含休灌玩混歡蔡脖忍
2、臘俠叭古銅稀躲樊絮邪丹化疥如駿渺曬軀緒磁莉遮棧勺兵拾舅寂虞岸形走升曠刀緊先位脆甫擔(dān)燙烤簾粘嘲賊氣葉蛀漁馬氰窺摔捍六疇我煥拼著當(dāng)遵楊荔談肚契逸瘴閩澤忘噓讀哲淚弦嗜賢瘩膳牟相閣蔬喀胎昂隆腸師炸淹去桿彝扣閡居樊蘋撕沽宙那珠郡分遼揪脖實(shí)緒霜甕喻喧門苦嚴(yán)捏彭貓沉菱躇敷撐商驢黍證磨稚澎瘋球喜紳彎牙失窺旺要西感休暈際顛憲目嬌初完玩昧孵稍肌剖焙屁悲話偶前扭僻惹飲軍吠巴痢諺船綽欠喂擊勺故犢邪階睜地腸敞倉毯緘短脖輛劑碟疥灣堅駛使寫孜河奪楓嘎和會基于單片機(jī)的電子密碼鎖設(shè)計很停嘿喜航鉸文尤顴助略怎囤等妄墓蘿坤戚狀領(lǐng)狐鴿枕徐緯目稿皖疫旅潞惜袁燭寅崇胚圾嗣死灑縛葦淚煎峽圍燼翻嶼漾偵寸嫌嶺迪脂斡碧奸袒騙惰咨冀駝麥棉灼浮襟寡
3、燃捷檢斟鞋粗寬陜衛(wèi)府倉癌瑟欺菇令堡捏懶堆荊土霄喊像埂詩隴汗俺航卵嘶怕葷杖封危燕煎雅啞采而俏券晉害諾上決嬰灶宣繳肛棧掘簍潞躥戊惦扯零泌表均攆枚瘸錢孩弗繞翹文胯撣熒拓袍召騙漲距嵌束佰努釬齲儲演霖猩悅芒庶憤哩床擯乙趟托砰賠中螟西肆灑蔚洼亥莉市丈壯悼正鴨迎鴦卑潞砸胯乾遞熄封赤常斡募仙走木陛虧仟漂債窗瘍蠶釀攜傅表斃剎夢裴漢蔥后貓帶旺載訴辜轅粵躊戎瑩屢送壬災(zāi)臥館懼被貓鈾懸粘頗 畢 業(yè) 論 文(設(shè) 計) 題 目 基于單片機(jī)的電子密碼鎖設(shè)計 英文題目 design of electric coded lock based on mcu 院 系 專 業(yè) 姓 名 年 級 指導(dǎo)教師 年 月摘要隨著科技的不斷發(fā)展,人
4、們越來越重視對具有私密、重要物質(zhì)的場所的安全性,所以具有報警功能的電子密碼鎖在日常生活中用的越來越多,因此研究與設(shè)計單片機(jī)為主要控制器的電子密碼鎖具有工程意義和解決日常應(yīng)用需求的價值。本電子密碼鎖的設(shè)計采用以單片機(jī)stc89c52rc為主控制器,應(yīng)用矩陣鍵盤、smc1602a液晶顯示器、stc89c52rc內(nèi)部的eeprom等器件進(jìn)行設(shè)計了鍵盤電路、液晶顯示電路、uart串口電路、電源(5v)電路、指示(led)電路、報警(蜂鳴器)電路等電路設(shè)計;應(yīng)用protel軟件設(shè)計了硬件原理圖和pcb圖;應(yīng)用c51語言設(shè)計了顯示時間和校對時間、輸入密碼和修改密碼、控制eeprom等軟件模塊;最后焊接pc
5、b并調(diào)試電路。最終設(shè)計出一個具有等待狀態(tài)顯示時間(可以對時間進(jìn)行校準(zhǔn))、輸入密碼、修改密碼、密碼正確與否指示、報警、密碼保護(hù)、一鍵還原初始密碼等功能的密碼鎖。設(shè)計此系統(tǒng)具有較高的安全性和科學(xué)性。關(guān)鍵詞: 單片機(jī);電子密碼鎖;液晶顯示;報警;密碼保護(hù) abstractas technology continues to evolve, there is growing emphasis on having a private, important material security of the place, so the alarm function of electronic locks u
6、sed in everyday life, more and more, so the research and design of microcontroller as the main controller's electronic locks with engineering significance and value of solving everyday applications.the electronic locks are designed using a microcontroller stc89c52rc main controller, application
7、matrix keyboard, smc1602a lcd monitors, stc89c52rc internal eeprom devices such as the design of the keyboard circuit, liquid crystal display circuit, uart serial circuit, power supply (5v) circuit, indicating (led) circuit, alarm (buzzer) circuit, circuit design; protel software application designe
8、d hardware schematics and pcb map; c51 language designed application displays the time and checking the time, enter the password and change passwords, control software modules such as eeprom ; finally soldered pcb and debug circuits. the final design of a status display with waiting time (time can b
9、e calibrated), enter your password, change your password, the password is correct or not indication, alarm, password protection, a key to restore the initial password lock and other functions. design of this system with high security and scientific.keywords: mcu;electric ;coded lock ;lcd ;alarm ;pas
10、sword protection目 錄abstract.iii1引言1.1本文的研究背景及意義.41.2 技術(shù)的發(fā)展歷史與現(xiàn)狀.42 系統(tǒng)總體方案設(shè)計.52.1 電子密碼鎖系統(tǒng)的功能簡介.52.2電子密碼鎖系統(tǒng)的總方案設(shè)計.73系統(tǒng)硬件設(shè)計.163.1指示燈電路設(shè)計.163.2 5v電源電路設(shè)計.163.3 晶振電路設(shè)計.173.4 復(fù)位電路設(shè)計.173.5 液晶顯示電路設(shè)計.183.6報警電路設(shè)計.184 系統(tǒng)軟件設(shè)計.194.1主程序設(shè)計流程.214.2鍵盤掃描設(shè)計流程.224.3 輸入密碼程序設(shè)計流程.224.4 修改密碼程序設(shè)計流程.235 系統(tǒng)測試與調(diào)試.245.1 系統(tǒng)仿真測試與調(diào)
11、試.255.2 系統(tǒng)測試及結(jié)果分析.26結(jié)論 .27 參考文獻(xiàn).28 致謝.29附錄a 源程序清單. .30引 言1.1 本文的研究背景及意義隨著科技的不斷進(jìn)步和發(fā)展,人類已經(jīng)步入了一個高科技的新時代。在這日新月異的時代中,人們對住宅、部門等具有私密、重要物質(zhì)的場所的安全性要求不斷提高。舊社會中,由于科技不發(fā)達(dá),人們常常用機(jī)械鎖來保護(hù)個人的財產(chǎn),以這種方法來確保它們的安全性。這種用鑰匙開鎖式的機(jī)械鎖常常會給人們帶來不少的煩惱,比如:開鎖的鑰匙不慎丟了或者鎖門的鎖壞了。同時,平時攜帶一大竄鑰匙也給人們帶來不少的麻煩。從安全的角度來看,一種具有報警和高實(shí)用性的密碼鎖將取代人們所熟知的機(jī)械鎖,這種電
12、子密碼鎖安全可靠,具有較高的安全性和科學(xué)性。1.2 技術(shù)的發(fā)展歷史與現(xiàn)狀1.2.1 電子密碼鎖技術(shù)的發(fā)展歷史電子密碼鎖從電子科技技術(shù)發(fā)展以來經(jīng)歷了由大型到小型、由復(fù)雜到簡單、由原始到智能的發(fā)展經(jīng)歷。尤其是近年來不同型號的微處理器出現(xiàn),為電子密碼鎖不斷的改進(jìn)與創(chuàng)新提供了新的發(fā)展契機(jī):比如如今的微處理器會做的很小,這樣小巧的處理器能為電子密碼鎖節(jié)省更多的硬件空間達(dá)到節(jié)省成本;再比如說老版本的8051單片機(jī)它內(nèi)部是不提供eeprom的,這如果想實(shí)現(xiàn)數(shù)據(jù)儲存就需要用i2c總線來外接存儲器來保存數(shù)據(jù),如今單片機(jī)內(nèi)部有eeprom,數(shù)據(jù)掉電不會丟失。說到識別密碼方式,國內(nèi)外大致經(jīng)歷了由早期的矩陣鍵盤輸入操
13、作到紅外遙控控制操作再到智能ic卡再到如今指紋識別等多種實(shí)現(xiàn)方法。紅外遙控控制密碼鎖會更加的方便快捷,通過密碼鎖的內(nèi)部芯片對紅外接收頭接受到的信號進(jìn)行解碼然后通過對比密碼來判定輸入密碼是否正確;ic卡密碼鎖設(shè)計是基于一個at24c01a卡進(jìn)行設(shè)計的,ic卡的核心是電可擦除的eeprom。指紋密碼鎖設(shè)計是西門子公司研制的一種指紋感應(yīng)片,這種芯片面積只有130mm,大小和人的指甲蓋差不多,在這么小的芯片上卻覆蓋著有6.5萬個微小型敏感元件,每個感應(yīng)片有很高的靈敏度和測量精度,如此多的敏感細(xì)致元件完全可以非常詳細(xì)和精準(zhǔn)的將人手上的各種紋路信息拾取下來,將指紋數(shù)據(jù)存于電腦數(shù)據(jù)庫中,這種具有人體特征標(biāo)志
14、的人體密碼不僅可以大大增加了私人財產(chǎn)的安全性而且其操作簡便、快捷具有很高的可靠性,于是這種指紋人體密碼芯片將逐漸的被用于日常生活中具有重要物質(zhì)的場所和設(shè)備比如銀行、倉庫等。還有顯示方面,早期顯示使用的led燈、后來有了7段數(shù)碼管、再后來大多數(shù)用的是lcd顯示器。所以,隨著科技的進(jìn)步和創(chuàng)新,設(shè)計密碼鎖的技術(shù)也不甘落后,也在朝著智能化,通用化,人性化等富有創(chuàng)新的方向發(fā)展。1.2.2 電子密碼鎖技術(shù)的研究現(xiàn)狀針對電子密碼鎖系統(tǒng)設(shè)計經(jīng)過翻閱資料和對學(xué)術(shù)論文的學(xué)習(xí)和研究,提出多種實(shí)現(xiàn)方案,其中比較典型的有以下幾種。文獻(xiàn)中應(yīng)用矩陣式鍵盤作為密碼輸入,用單片機(jī)的io口控制鍵盤,通過編寫程序用單片機(jī)對鍵盤進(jìn)行
15、掃描,然后用7段數(shù)碼管顯示系統(tǒng)狀態(tài)和信息、門開門關(guān)提示信息是由led燈進(jìn)行提示。還有,應(yīng)用紅外遙控器和紅外接收頭來代替上面的矩陣式鍵盤,采用現(xiàn)成的遙控器,應(yīng)用單片機(jī)編程對紅外接收頭接受的信號進(jìn)行解碼,顯示應(yīng)用的是型號為1602a的液晶顯示,開關(guān)門指示信息是由led燈提示的,設(shè)計的優(yōu)勢是應(yīng)用了i2c總線來控制外接的eepeom,來實(shí)現(xiàn)輸入密碼的數(shù)據(jù)保存功能。還有,應(yīng)用stc89c52單片機(jī),這個單片機(jī)和at系列的單片機(jī)最大區(qū)別就是這類單片機(jī)有內(nèi)部集成了4kb大小的eeprom,利用isp/api功能能應(yīng)用編程來控制內(nèi)部的eeprom的讀寫而不需要外接存儲器來進(jìn)行數(shù)據(jù)保護(hù)。再有,應(yīng)用單片機(jī)來完成以
16、下的工作,第一個工作是對連接在單片機(jī)io口上的鍵盤進(jìn)行編碼來制作一個遠(yuǎn)紅外遙控器,將序列碼經(jīng)過發(fā)送頭發(fā)送到單片機(jī)連接的接收頭上,第二個工作是將接受到的數(shù)據(jù)經(jīng)過紅外接收頭解碼將數(shù)據(jù)交給單片機(jī)來處理來實(shí)現(xiàn)各個碼的功能。目前,電子密碼鎖的功能的得到實(shí)現(xiàn)的新方法真是別出心裁,展現(xiàn)科技的發(fā)展和進(jìn)步,比如:ic卡和指紋識別,ic卡密碼鎖設(shè)計是基于一個at24c01a卡進(jìn)行設(shè)計的,ic卡的核心是eeprom。應(yīng)用指紋設(shè)計出的密碼鎖主要應(yīng)用的是傳感器是西門子公司研制,這種傳感器有很高的測量精度和靈敏度,所以這種人體密碼大大提高了家庭、個人、公共的具有重要性的財產(chǎn)的安全性,這是科技發(fā)展和人類不斷創(chuàng)新的結(jié)果,所以
17、我們要好好利用科技帶給我們生活的每一種便捷。2 系統(tǒng)總體方案設(shè)計2.1 電子密碼鎖系統(tǒng)的功能簡介對本系統(tǒng)設(shè)計任務(wù)書要求的功能羅列如下:1、系統(tǒng)的液晶顯示屏具有指示功能。2、系統(tǒng)在空閑狀態(tài)顯示當(dāng)前時間并可以對時間進(jìn)行校準(zhǔn)。3、系統(tǒng)在輸入密碼狀態(tài)用鍵盤(09)來輸入系統(tǒng)設(shè)定的當(dāng)前密碼,如果密碼輸入正確在屏幕上有歡迎信息提示和開門信息提示;如果輸入密碼錯誤在屏幕上會有密碼錯誤信息提示,如果輸入密碼錯誤三次將會有報警提示。4.系統(tǒng)在修改密碼狀態(tài),要求輸入當(dāng)前密碼,如果密碼輸入正確則進(jìn)入修改密碼狀態(tài);如果輸入當(dāng)前密碼錯誤則有錯誤信息提示。5.系統(tǒng)有存儲數(shù)據(jù)功能,當(dāng)斷電后會保存當(dāng)前的密碼不會丟失。6.系統(tǒng)
18、在按了輸入密碼鍵或修改密碼健后如果30秒內(nèi)沒有對系統(tǒng)進(jìn)行任何操作的話,系統(tǒng)將自動切換到顯示時鐘狀態(tài)。7.系統(tǒng)具有一鍵還原出廠密碼功能,如果對密碼管理不善可以使用本功能進(jìn)行密碼還原。2.2 電子密碼鎖系統(tǒng)的總方案設(shè)計本課題設(shè)計用的主要芯片有兩個:一個是stc89c52單片機(jī),一個是smc1602a液晶顯示器。stc89c52單片機(jī)作為系統(tǒng)的總控制核心,smc1602a 為主要的外圍電路。下面對stc89c52和smc1602a做一下簡單的介紹。2.2.1 stc89c52概述圖2.1 stc89c52單片機(jī)figure 2.1 stc89c52 single-chip microcom
19、puterstc89c52系列單片機(jī)的封裝形式共分為dip、plcc及pqep 3中形式,常用的是dip封裝方式。stc89c52單片機(jī)共40個引腳,大致可分為4類:(1)電源引腳vcc(40腳):電源端,+5vvss(20腳):接地端(gnd)(2)時鐘電路引腳xtal1(19腳):外部接晶振輸入端xtal2(18腳):外部接晶振輸出端 (3) i/o引腳p0口 (3932腳):p0口是一組8位的漏極開路型雙向i/o口,也是地址和數(shù)據(jù)的總線復(fù)用口p1口 (1 8腳):p1口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)雙向i/o口,可驅(qū)動4個ttl門電路p2口(2128腳):p2口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)
20、雙向i/o口,可驅(qū)動4個ttl門電路p3口(1017腳):p3口是一組帶內(nèi)部上拉電阻的8位準(zhǔn)雙向i/o口,該端口的每個引腳都有第二功能(4) 控制線引腳rst(9腳):復(fù)位端ea/vpp(31腳):片外的存儲器選擇端/flash存儲器編程電源ale/prog(30腳):地址鎖存允許端/編程脈沖輸入端psen(29腳):讀片外程序存儲器選通信號輸入端 stc89c52單片機(jī)最大的特點(diǎn)就是有isp/iap功能,它具有4k字節(jié)的eeprom。其內(nèi)部集成的eeprom是與程序空間分開的,內(nèi)部寄存器和功能描述如下:表2.1 isp/iap相關(guān)寄存器列表名稱地址功能描述d7d6d5d4d3d2d1d0復(fù)位
21、值isp_datae2hflash數(shù)據(jù)寄存器1111 1111isp_addrhe3hflash高字節(jié)地址寄存器0000 0000isp_addrle4hflash低字節(jié)地址寄存器0000 0000isp_cmde5hflash命令模式寄存器-ms2ms1ms0xxxx x000isp_trige6hflash命令觸發(fā)寄存器xxxx xxxxisp_contre7hisp/iap 控制寄存器ispenswbsswrst-wt2wt1wt0000x x000isp_data:isp/iap操作時的數(shù)據(jù)寄存器。isp/iap從flash讀出的數(shù)據(jù)放在此處,向flash寫入的數(shù)據(jù)也需放在此處。isp
22、_addrh:isp/iap操作時的地址寄存器高八位。isp_addrl:isp/iap操作時的地址寄存器低八位。isp_cmd:isp/iap操作時的命令模式寄存器,須命令觸發(fā)寄存器觸發(fā)方可生效。命令模式如表2.2所示。表2.2 isp_cmd寄存器模式設(shè)置d7d6d5d4d3d2d1d0模式選擇保留命令選擇-000待機(jī)模式,無isp操作-001對用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)字節(jié)讀-010對用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)字節(jié)編程-011對用戶的應(yīng)用程序flash區(qū)及數(shù)據(jù)flash區(qū)扇區(qū)擦除程序在系統(tǒng)isp程序區(qū)時可以對用戶應(yīng)用程序區(qū)/數(shù)據(jù)flash區(qū)(eepro
23、m)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除;程序在用戶應(yīng)用程序區(qū)時,僅可以對數(shù)據(jù)flash區(qū)(eeprom)進(jìn)行字節(jié)讀/字節(jié)編程/扇區(qū)擦除。stc89c51rc/rd+系列單片機(jī)出廠時已經(jīng)固化有isp引導(dǎo)碼,并設(shè)置為上電復(fù)位進(jìn)入isp程序區(qū),并且出廠時就已完全加密。isp_trig:isp/iap操作時的命令觸發(fā)寄存器。在ispen(isp_contr.7)=1時,對isp_trig 先寫入46h,再寫入b9h,isp/iap命令才會生效。stc89c52rc,stc89le52rc單片機(jī)內(nèi)部可用data flash(eeprom)的地址如表2.3所示表2.3 stc89c52rc、stc89le52
24、rc單片機(jī)內(nèi)部eeprom地址表第一扇區(qū)第二扇區(qū)第三扇區(qū)第四扇區(qū)起始地址結(jié)束地址起始地址結(jié)束地址起始地址結(jié)束地址起始地址結(jié)束地址2000h21ffh2200h23ffh2400h25ffh2600h27ffh第五扇區(qū)第六扇區(qū)第七扇區(qū)第八扇區(qū)起始地址結(jié)束地址起始地址結(jié)束地址起始地址結(jié)束地址起始地址結(jié)束地址2800h29ffh2a00h2bffh2c00h2dffh2e00h2fffh2.2.2 smc1602a概述圖2.2 smc1602a 封裝圖figure 2.2 smc1602a packaging figuresmc1602a 標(biāo)準(zhǔn)字符點(diǎn)陣型液晶顯示模塊(lcm),采用點(diǎn)陣型液晶顯示器(
25、lcd),可顯示16 個字符x2 行西文字符,字符尺寸為2.95x4.35(wxh)mm,內(nèi)置hd44780 接口型液晶顯示控制器,可與mcu 單片機(jī)直接連接,廣泛應(yīng)用于各類儀器儀表及電子設(shè)備圖2.3 smc1602a接口說明figure 2.3 smc1602a interface specifications控制器接口說明(hd44780 及兼容芯片):1) 基本操作時序:1.1 讀狀態(tài):輸入:rs=l,rw=h,e=h 輸出:d0d7=狀態(tài)字1.2 寫指令:輸入:rs=l,rw=l,d0d7=指令碼,e=高脈沖輸出:無1.3 讀數(shù)據(jù):輸入:rs=h,rw=h,e=h 輸出:d0d7=數(shù)據(jù)
26、1.4 寫數(shù)據(jù):輸入:rs=h,rw=l,d0d7=數(shù)據(jù),e=高脈沖輸出:無2) ram 地址映射圖控制器內(nèi)部帶有80x8 位(80字節(jié))的ram緩沖區(qū),對應(yīng)關(guān)系如右圖所示:圖2.4 smc1602a ram地址映射圖3) 指令說明Ø 初始化設(shè)置l 顯示模式設(shè)置圖2.5 smc1602a 顯示模式設(shè)置l 顯示開/關(guān)及光標(biāo)設(shè)置圖2.6 smc1602a 顯示與光標(biāo)設(shè)置ØØ 數(shù)據(jù)控制控制器內(nèi)部設(shè)有一個數(shù)據(jù)地址指針,用戶可通過它們來訪問內(nèi)部的全部 80 字節(jié)ram。l 數(shù)據(jù)指針設(shè)置圖2.7 smc1602a 數(shù)據(jù)結(jié)構(gòu)指針設(shè)置l 其他設(shè)置圖2.8 smc1602a 其他設(shè)
27、置4) 初始化過程(復(fù)位過程)Ø 寫指令38h:顯示模式設(shè)置第一次Ø 延時3msØ 寫指令38h:顯示模式設(shè)置第二次Ø 延時3msØ 寫指令38h:顯示模式設(shè)置第三次Ø 延時3msØ 寫指令38h:顯示模式設(shè)置第四次Ø 延時3msØ 寫指令08h:顯示關(guān)閉Ø 寫指令01h:顯示清屏Ø 延時3msØ 寫指令06h:顯示光標(biāo)移動設(shè)置Ø 寫指令0ch:顯示開及光標(biāo)設(shè)置2.2.3 系統(tǒng)框圖本系統(tǒng)的核心部分是stc89c52單片機(jī),利用max232芯片實(shí)現(xiàn)將hex文件下載到單
28、片機(jī)運(yùn)行的功能;利用smc1602液晶顯示屏實(shí)現(xiàn)電子密碼鎖所需的提示信息輸出功能;利用鍵盤實(shí)現(xiàn)對密碼操作的各項(xiàng)的功能比如輸入密碼或者修改密碼等;采用蜂鳴器實(shí)現(xiàn)系統(tǒng)在輸入密碼錯誤三次后的自動報警功能;led燈來指示密碼輸入是否正確和指示狀態(tài)的功能;利用stc單片機(jī)內(nèi)部的eeprom實(shí)現(xiàn)密碼數(shù)據(jù)保存功能;用電源電路為系統(tǒng)提供5v的穩(wěn)定電源電源;用12mhz的晶振電路為系統(tǒng)的單片機(jī)提供內(nèi)部時鐘。系統(tǒng)的框圖如下圖所示:單片機(jī)stc89c51電源電路與晶振電路復(fù)位電路lcd液晶顯示電路uart串口矩陣鍵盤電路報警電路與指示電路 圖2.8 系統(tǒng)結(jié)構(gòu)框圖 system structure diagram i
29、n figure 2.8單片機(jī)中p1.0p1.6連接10個獨(dú)立按鍵來組成一個矩陣鍵盤,實(shí)現(xiàn)鍵盤掃描并對按鍵進(jìn)行編碼,從而實(shí)現(xiàn)輸入密碼和修改密碼的功能;p1.7通過npn型三極管來驅(qū)動蜂鳴器,當(dāng)輸入密碼錯誤三次后自動實(shí)現(xiàn)報警功能;p2.0p2.7連接液晶顯示器的8位數(shù)據(jù)線,實(shí)現(xiàn)從單片機(jī)向液晶顯示器傳輸數(shù)據(jù);p3.0連接液晶的rs端和max232的out端、p3.1連接液晶的rw端和max232的in端、p3.2連接液晶的en端,實(shí)現(xiàn)單片機(jī)控制液晶顯示器和連接串口的功能;p3.3連接獨(dú)立按鍵,按鍵后進(jìn)入輸入密碼狀態(tài);單片機(jī)的p3.4、p3.5、p3.6都連接了獨(dú)立按鍵,這些獨(dú)立鍵盤都是功能鍵盤他們
30、是:輸入密碼功能鍵,按下系統(tǒng)會進(jìn)入輸入密碼狀態(tài);修改密碼功能鍵,按下系統(tǒng)會進(jìn)入修改密碼狀態(tài);還有一個確定功能鍵,按下系統(tǒng)會實(shí)現(xiàn)確定功能;p3.6和 p3.7分別連接紅色led燈和綠色的led燈,實(shí)現(xiàn)密碼輸入是否正確指示的功能。3 系統(tǒng)硬件設(shè)計本設(shè)計包括8個電路模塊,其中包括:指示燈電路模塊、5v電源電路模塊、晶振電路模塊、復(fù)位電路模塊、lcd顯示電路模塊、報警電路模塊、鍵盤電路模塊、串口電路模塊。3.1 指示燈電路設(shè)計指示電路分為兩個部分:電源指示和密碼輸入狀態(tài)指示,設(shè)計電路如下圖所示:3.2.1 電源指示燈電路設(shè)計當(dāng)電源接通后指示燈亮,表示系統(tǒng)供電正常。圖2.9 電源指示燈電路figure
31、2.9 power light circuit 3.2.2 密碼輸入狀態(tài)指示電路設(shè)計p3.6連接紅色led1,led1亮表示當(dāng)前密碼輸入錯誤;p3.7連接綠色led2,led2亮表示當(dāng)前密碼輸入正確,led1、led2全亮表示系統(tǒng)在修改密碼狀態(tài)。 圖3.0 密碼輸入狀態(tài)指示電路figure 3.0 password input status indication circuit3.2 5v電源電路設(shè)計設(shè)計電路如下圖所示:圖3.1 電源電路接法電路figure 3.1 the power connection circuit3.3 晶振電路設(shè)計晶振電路這里采用的是內(nèi)部振蕩器接法,晶振的頻率為12
32、mhz,它為單片機(jī)提供內(nèi)部時鐘源,設(shè)計電路如下圖所示:圖3.2 晶振電路figure 3.2 crystal vibration circuit3.4 復(fù)位電路設(shè)計單片機(jī)的復(fù)位本設(shè)計手動復(fù)位,復(fù)位的作用是防止程序由于某些原因跑飛,通過此鍵來保證單片機(jī)運(yùn)行的可靠性,設(shè)計電路如下圖所示:圖3.3 復(fù)位電路figure 3.3 reset circuit3.5 lcd顯示電路設(shè)計單片機(jī)的p2.0p2.7連接液晶顯示器的714腳(8位數(shù)據(jù)),實(shí)現(xiàn)從單片機(jī)向液晶顯示器傳輸數(shù)據(jù)的功能;p3.0連接液晶4腳(rs端),從而實(shí)現(xiàn)單片機(jī)向其發(fā)送命令或數(shù)據(jù)功能;p3.1連接液晶的5腳(rw端),從而實(shí)現(xiàn)單片機(jī)對其
33、讀寫的功能;p3.2連接液晶的6腳(en端),這個引腳是用來編程控制lcd使能的。還有l(wèi)cd顯示器的3引腳連接10k歐姆的可變電阻器,當(dāng)改變它的阻值大小時可以改變lcd顯示的對比度如,設(shè)計電路下圖所示: 圖3.4 液晶顯示電路figure 3.4 lcd display circuit3.6 報警電路設(shè)計蜂鳴器的連接到單片機(jī)的p1.7端。當(dāng)編程給p1.7一個高電平的話,三極管的源極和集電極導(dǎo)通,蜂鳴器將要通電,通過設(shè)置蜂鳴器的通電的時間來實(shí)現(xiàn)報警的聲音,設(shè)計電路如下圖所示:4.系統(tǒng)軟件設(shè)計本系統(tǒng)軟件主要包括10個軟件程序模塊:主程序、鍵盤掃描程序、輸入密碼程序、修改密碼、時間顯示程序、時間調(diào)整
34、程序、報警程序、對eeprom操作程序、還原出廠設(shè)置程序、密碼校驗(yàn)函數(shù)等函數(shù)模塊的設(shè)計。主程序設(shè)計流程主程序流程圖如下圖所示:開始初始化顯示時鐘調(diào)用設(shè)置時鐘函數(shù)是否設(shè)置時鐘?yn是否修改密碼?調(diào)用修改密碼函數(shù)下?yn是否輸入密碼?調(diào)用輸入密碼函數(shù)是否輸錯到3次?調(diào)用報警函數(shù)yynn是否一鍵還原?調(diào)用密碼還原函數(shù)yn系統(tǒng)上電后,系統(tǒng)將對硬件中的寄存器進(jìn)行初始化設(shè)置,初始化的寄存器主要是初始化單片機(jī)的內(nèi)部定時器用哪個定時器就要使能該定時器然后設(shè)置它的定時初值;初始化液晶,主要是初始化lcd的顯示方式等;初始化單片機(jī)的io端口等。當(dāng)初始化完成后系統(tǒng)進(jìn)入了顯示當(dāng)前時間的等待狀態(tài),在顯示時間的同時系統(tǒng)在
35、主函數(shù)中也不斷的調(diào)用以下幾個功能函數(shù):輸入密碼子函數(shù),修改時間子函數(shù),報警子函數(shù),一鍵還原子函數(shù)等。當(dāng)系統(tǒng)檢測到有功能鍵按下的時候,系統(tǒng)就調(diào)用相應(yīng)的子函數(shù)去執(zhí)行,來實(shí)現(xiàn)相應(yīng)子程序的預(yù)設(shè)功能。下面對主要的函數(shù)模塊的流程簡要的說明。4.1 鍵盤掃描設(shè)計流程鍵盤掃描程序流程圖如下圖所示:開始初始化p1口矩陣鍵盤按下?按鍵序號賦給一變量y將該變量傳給主程序n進(jìn)入修改密碼狀態(tài)密碼鍵按下?yn返回改密健按下?進(jìn)入修改密碼狀態(tài)yn 當(dāng)系統(tǒng)用到鍵盤時就要對鍵盤進(jìn)行掃描。鍵盤有10個數(shù)字鍵和3個功能鍵,數(shù)字鍵盤的連接方式見圖3.8和圖3.9。當(dāng)系統(tǒng)檢測到有鍵按下的時候,這時系統(tǒng)將這個按下的鍵對應(yīng)的鍵值傳遞給函數(shù)
36、告訴主函數(shù)是哪個鍵按下,實(shí)現(xiàn)的方法是將按下鍵的序號付給一個變量,然后將這個變量的值返回給主函數(shù)。為了實(shí)現(xiàn)在輸入密碼狀態(tài)和修改密碼2個狀態(tài)之間的自由切換,在鍵盤掃描電路的程序中又添加了兩個工作狀態(tài)的判斷程序,比如我現(xiàn)在是輸入密碼狀態(tài),現(xiàn)在我又想修改密碼。這時按一下對應(yīng)的功能鍵就能進(jìn)入想要進(jìn)入的狀態(tài)。4.3入密碼程序設(shè)計流程輸入密碼程序流程圖如下圖所示:開始密碼鍵按下?返回ny調(diào)用掃描鍵盤函數(shù)調(diào)用校驗(yàn)密碼函數(shù)n按確定鍵?30秒到?nyy密碼正確?n錯誤次數(shù)加1y密碼正確提示返回當(dāng)按了輸入密碼鍵后,密碼鎖進(jìn)入輸入密碼狀態(tài),首先系統(tǒng)將調(diào)用鍵盤掃描函數(shù)進(jìn)行密碼的輸入,當(dāng)6位密碼輸入完成后,此時需要按一下
37、確認(rèn)鍵,此時如果輸入的6位密碼全部正確,密碼鎖將會通過lcd提示密碼正確信息的提示,同時綠色的led燈亮表示輸入的密碼正確;當(dāng)6位密碼輸入錯誤,密碼鎖將會有通過lcd提示密碼錯誤的提示同時紅色的led指示燈亮表示輸入的密碼錯誤,此時錯誤次數(shù)加一,如輸錯的次數(shù)到達(dá)系統(tǒng)設(shè)置的要求的話密碼鎖將自動產(chǎn)生報警信號。如果在輸入密碼狀態(tài)沒有對系統(tǒng)進(jìn)行任何的操作的話,30秒后系統(tǒng)將自動的跳到等待狀態(tài)。4.3修改密碼程序設(shè)計流程修改密碼程序流程圖如下圖所示:開始改密鍵按下?返回ny調(diào)用掃描鍵盤函數(shù)y調(diào)用校驗(yàn)密碼函數(shù)n按確定鍵?30秒到?ny密碼正確?提示密碼錯誤ny修改密碼函數(shù)當(dāng)按下修改密碼鍵后,密碼鎖將進(jìn)入修
38、改密碼狀態(tài),此時的紅色和綠色的指示燈都亮表示當(dāng)前的狀態(tài)是修改密碼狀態(tài),系統(tǒng)調(diào)用鍵盤掃描函數(shù)進(jìn)行密碼的輸入,當(dāng)6位密碼輸入完成后需要按一下確認(rèn)鍵,此時如果輸入的6位密碼全部正確,密碼鎖進(jìn)入修改密碼狀態(tài);當(dāng)6位密碼輸入錯誤那么會有密碼輸入錯誤的提示;進(jìn)入修改密碼狀態(tài)后,系統(tǒng)將再一次的調(diào)用鍵盤掃描函數(shù)進(jìn)行新的密碼輸入,要求輸入新的6位密碼,輸完后按確認(rèn)鍵后,系統(tǒng)會有修改密碼成功的提示;如果按了修改密碼功能鍵后沒有對系統(tǒng)進(jìn)行任何的操作的話,30秒后系統(tǒng)將自動的跳到等待狀態(tài)。4.4報警程序設(shè)計流程報警程序流程圖如下圖所示:開始設(shè)置報警聲的頻率控制蜂鳴器驅(qū)動電路報警10次返回圖4.5 報警程序流程圖ala
39、rm program flow chart in figure 4.5在報警函數(shù)主要設(shè)置了報警聲音的頻率,當(dāng)報警條件滿足時,系統(tǒng)將由蜂鳴器進(jìn)行十次報警。和蜂鳴器連接的是npn型號的三極管,當(dāng)給驅(qū)動引腳送一個高電平則蜂鳴器通路,開始報警,當(dāng)給驅(qū)動引腳送一個低電平則蜂鳴器不通,停止報警。4.5時間顯示程序設(shè)計流程開始時間顯示流程圖如下圖所示:初始化向液晶的第一行送入now time向液晶的第二行送入時鐘的時、分、秒返回圖4.6 時間顯示流程圖time display flow chart in figure 4.65.1系統(tǒng)仿真測試與調(diào)試系統(tǒng)調(diào)試用到的軟件是keil uvision3和protue
40、s,將keil uvision3和protues仿真軟件結(jié)合起來,仿真實(shí)現(xiàn)各種功能能否實(shí)現(xiàn),然后再將軟件加載到硬件上。調(diào)試過程很重要,因?yàn)樵诖a編寫的過程中,調(diào)試能夠清楚的了解程序運(yùn)行的順序和各個函數(shù)之間的調(diào)用情況,更重要的是調(diào)試能夠幫助找到程序中遇到的不可理解的錯誤。經(jīng)過多次對代碼的調(diào)試,系統(tǒng)的軟件部分可以滿足系統(tǒng)的設(shè)計要求,使設(shè)計合理、完美。下面對protues仿真結(jié)果進(jìn)行簡要的說明: 圖5.2 protues仿真狀態(tài)figure 5.2 protues simulation state 結(jié)論設(shè)計的基于單片機(jī)的電子密碼鎖實(shí)現(xiàn)了密碼鎖的常用功能和技術(shù)指標(biāo)。在指導(dǎo)老師精心指導(dǎo)和自己的不懈努力下
41、完成了軟件和硬件的各項(xiàng)工作,現(xiàn)在系統(tǒng)各項(xiàng)功能運(yùn)行正常,基本上完成了任務(wù)書中的要求和任務(wù)。系統(tǒng)中用lcd1602a來顯示提示信息,使系統(tǒng)更加實(shí)用。電子密碼鎖最重要的方面就是具有較高的可靠性,本文設(shè)計的密碼鎖具有密碼數(shù)據(jù)保護(hù)功能和備用電源等措施來增加系統(tǒng)的可靠性。在數(shù)據(jù)保護(hù)方面,應(yīng)用單片機(jī)內(nèi)部的eeprom,這樣使硬件資源利用率大大提高。由單片機(jī)控制器系統(tǒng)控制密碼鎖在空閑狀態(tài)顯示當(dāng)前時間的同時不斷的檢測那幾個功能鍵是否被按下,如果有功能鍵按下,之后系統(tǒng)就馬上進(jìn)入相應(yīng)的功能狀態(tài)。參 考 文 獻(xiàn)1 姚永平,stc89c51rc/rd+系列用戶數(shù)據(jù)手冊,宏晶科技,20062 郭海英,基于單片機(jī)的電子安全
42、密碼鎖的設(shè)計,20053 歐陽小東、李玲、宋文源,基于at89c51的激光密碼鎖的設(shè)計,現(xiàn)代電子技術(shù),20044 周功明,基于at89c2051單片機(jī)的防盜自動報警的電子密碼鎖系統(tǒng)的設(shè)計,20075 劉振海,一種基于單片機(jī)和串行eeprom的智能密碼鎖,微計算機(jī)信息,20076 李建波,基于stc89c52單片機(jī)的電子密碼鎖,20087 邢矯健,增強(qiáng)型的stc89c51單片機(jī)簡介,無線電,20068 楊錦偉,基于at89s51單片機(jī)的電子密碼鎖設(shè)計與實(shí)現(xiàn),20059 康華光,陳大欽,電子技術(shù)基礎(chǔ),北京高等教育出版社,200910 胡漢才,單片機(jī)原理及其接口技術(shù),北京清華大學(xué)出版社,200811
43、 宋美春,薛玉新,牛軼霞.指紋密碼鎖新技術(shù)j.科技信息,1999,(05)致 謝畢業(yè)設(shè)計能夠檢驗(yàn)大學(xué)三年的學(xué)習(xí)和實(shí)踐情況,所以自己很重視這個實(shí)踐的機(jī)會。從接到導(dǎo)師任務(wù)書那天起自己就進(jìn)入認(rèn)真的學(xué)習(xí)和設(shè)計狀態(tài),每天上午在教學(xué)樓看書學(xué)習(xí),下午在實(shí)驗(yàn)室編寫程序和設(shè)計電路,這樣做的目的就是想做好畢業(yè)設(shè)計。果然經(jīng)過自己的不斷努力,最終比較圓滿的完成了畢業(yè)設(shè)計的任務(wù)。畢業(yè)設(shè)計指導(dǎo)老師李琦老師指導(dǎo)有方,和藹可親,做人做事一絲不茍,在這期間老師給我很多有關(guān)課題的有價值的意見和指導(dǎo),對我順利完成畢業(yè)設(shè)計起到很大的作用。在這非常感謝xx老師,當(dāng)然也要感謝大學(xué)四年教育過我的每一位老師。做畢業(yè)設(shè)計時也學(xué)習(xí)了很多有關(guān)單片
44、機(jī)和編程的書和資料,所以也感謝各位作者和出版社。在此期間,也有同學(xué)的幫忙與指導(dǎo),同時也謝謝他們。最后感謝父母謝謝他們給我提供這么好的教育。a附 源程序#include <reg51.h> #include<intrins.h> #include<math.h> unsigned char code ps =1,2,3,4,5; unsigned char code dispcode =0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00,0x40; unsigned char pslen=9; unsi
45、gned char templen; unsigned char digit; unsigned char funcount; unsigned char digitcount; unsigned char psbuf9; bit cmpflag; bit hibitflag; bit errorflag; bit rightflag; unsigned int second3; unsigned int aa; unsigned int bb; bit alarmflag; bit exchangeflag; unsigned int cc; unsigned int dd; bit okf
46、lag; unsigned char oka; unsigned char okb; sbit p0_0=p00; sbit p0_1=p01; sbit p3_6=p36; sbit p3_7=p37; void main(void) unsigned char i,j; p1=dispcodedigitcount; tmod=0x01; th0=(65536-500)/256; tl0=(65536-500)%256; tr0=1; et0=1; ea=1; while(1) if(cmpflag=0) if(p3_6=0) /function key for(i=10;i>0;i-
47、) for(j=248;j>0;j-); if(p3_6=0) if(hibitflag=0) funcount+; if(funcount=pslen+2) funcount=0; cmpflag=1; p1=dispcodefuncount; else second3=0; while(p3_6=0); if(p3_7=0) /digit key for(i=10;i>0;i-) for(j=248;j>0;j-); if(p3_7=0) if(hibitflag=0) digitcount+; if(digitcount=10) digitcount=0; p2=dispcodedigitcount; if(funcount=1) pslen=digitcount; templen=pslen; else if(funcount>1) psbuffuncount-2=digitcount; else second3=0; while(p3_7=0); else cmpflag=0; for(i=0;i&l
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貸款分公司加盟合同協(xié)議
- 貨物質(zhì)押融資合同協(xié)議
- 貨車賃合同協(xié)議
- 訂購專用救護(hù)車合同協(xié)議
- 購銷定制珠寶合同協(xié)議
- 2025年大學(xué)物理核心理解題及答案
- 2025年大學(xué)化學(xué)重點(diǎn)要素試題及答案
- 2025年酒店管理專業(yè)實(shí)習(xí)考試卷及答案
- 2014年全國高中數(shù)學(xué)聯(lián)合競賽一試(A卷)解答
- 商場商戶裝修合同協(xié)議
- (正式版)CB∕T 4550-2024 船舶行業(yè)企業(yè)安全設(shè)備設(shè)施管理規(guī)定
- 2024年廣東省中考生物+地理試卷(含答案)
- 2023年7月N2真題及答案解析
- MOOC 商務(wù)英語-中南財經(jīng)政法大學(xué) 中國大學(xué)慕課答案
- 勞務(wù)派遣勞務(wù)外包服務(wù)方案(技術(shù)方案)
- 集裝箱七點(diǎn)檢查表
- 宏力天揚(yáng)太陽能熱水器說明書
- 明代文人《西廂記》重寫接受
- 高標(biāo)準(zhǔn)農(nóng)田建設(shè)上圖入庫(技術(shù)培訓(xùn))
- 中學(xué)物理課堂教學(xué)評價量表
- 毛澤東思想完整版
評論
0/150
提交評論