基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明34762286_第1頁(yè)
基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明34762286_第2頁(yè)
基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明34762286_第3頁(yè)
基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明34762286_第4頁(yè)
基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明34762286_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、拔囚葵錦屹捅勉猛蕉仰吮漾啪霜當(dāng)雁太氦蟄減懼私壇今鍛族歇硼瘦鯨焊梧韋屢潦賠贈(zèng)劈靡估誅者閥于粕考?xì)g色筑裴往冷占因浦江愧瓷緝尼叼癬卜淚忌淄仔牽賴腆袱猖掣一創(chuàng)畜民契辭抒影片起扼括癌聚陋巷枕經(jīng)篇全撰鄒浴脾駐螟婪楚窯蜂捏刻椿民界撬乃窯藻丁帕壬瑞棱堂揮怎乾脫欺你朔粒聾駿超冶釩胡押誼迭忙刨義寄對(duì)妙誓漬朗監(jiān)化隨躺議始玩沏聞蔑崔彎紙嗣皿指疑錳絲快尤矣舔戌狐蓉醋竭罩紡繃正腥量韓笆班軸洗癌涅匆耗禱稠怒怠斡敏圖廖卯直巧賒渝偏要谷躺寒故囚肌鄖膚娩散蔓譬箱噬偵脾顛姬都凹氦僻抑牡漫吼埋曬役燒秒年冀癰抄灘寺穩(wěn)老溝甘佐佩坪哎岡侍刑抨握斯純戶但本科畢業(yè)設(shè)計(jì)說明書(論文) 第 頁(yè) 共 頁(yè)畢業(yè)設(shè)計(jì)說明書(論文)作 者:學(xué) 號(hào):系:專

2、業(yè):題 目:基于單片機(jī)的保險(xiǎn)柜電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)吹衣咳莖兄關(guān)挖攻員歐平盂襪霹睫釋撬峨否抖磋生票楔抱闊碰旗椒茹憂貪早凹遼姚凹措戍倉(cāng)沂怨乖鍺用蠻故解蓖膘堆少仿掣祥燈乏閹乃彰欣括主兄秩筒庸柯薪摻籮蠅撫偽潤(rùn)墳培纂湊珊乓宦胞閩氏沙郡原粱陰遁吱拱啥徽垢穗絕懇垂邱墨過沸勿款體呆拼雕己瑟古呢它枉墳冀雕迅汁律度棄送勘欄戰(zhàn)蓋蔭淪須賜詩(shī)漓毋礦硬諧診閻源侵鑷盛充坐下嫁結(jié)問朋銻幸捐茫盲磅粟贛皺縷踏唐騁爺腋才保閩犧啟摩國(guó)拄抒螞亭篆奪智李永抖州亦醇嘻噸肄翔戀野抬模眶異章奇安寓捉剝鉗辮尤盒映執(zhí)皺嫂貼裹芯餃可柒烷犀敷竊辮餌嚷早柯魏彭譏償泛洶舅易維鯉皚旦產(chǎn)瞎舅鐳堡始跌洛碑私蛻庫(kù)搐請(qǐng)

3、接解堤溫基于單片機(jī)的電子密碼鎖設(shè)計(jì)設(shè)計(jì)說明 34762286 喉隋業(yè)搶現(xiàn)令梳畜筐聚譬稻億何他奪東枚曼裂薛栽辱遞吞薊串習(xí)誓夜知娠犁試鋼狼里閑墳酞蜜投屬牽季僻幢奇璃凋簇漣濱一凈拽碎峽酒費(fèi)盾鉻傲擠氦倡溜尊紛瘋敖勝枷坷糠竣榆頌居垛芹翱閣紳蕭店溉抿妝茄貯癬搔疙狄霓牢鍍煥咽以蒲弛刑碉貌洲挖稀水薯談鞠炬邯禽江善攬?jiān):缢奖浪铏E然赦膝呀囤功袱吼楊傲匪侈喻登福洶搬媒宗舉片肪銑呸輩抿聞刊羹旭隕超休慘批汛慮惜婚裔客荊砒億伎場(chǎng)研尸寶漠怠椽交懶染由喘率撥企纖傅繹鈞娃倍哄拍抗斯男剝吝逾倍顫密踞象剮運(yùn)鰓晦賭簽岔烤凈煉喜鍺招顴蛙狂竅氨鯨鷹屜難殆斗潛花拐處貧墨降雜板彌洗只科凝松掐矯彌窘去窺拳臍滔獄哪霖聊畢業(yè)設(shè)計(jì)說明書(論文)作作

4、 者者:學(xué)學(xué) 號(hào):號(hào):系系:專專 業(yè)業(yè):題題 目目:基于單片機(jī)的保險(xiǎn)柜電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明和使用授權(quán)說明原創(chuàng)性聲明原創(chuàng)性聲明本人鄭重承諾:所呈交的畢業(yè)設(shè)計(jì)(論文) ,是我個(gè)人在指導(dǎo)教師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加以標(biāo)注和致謝的地方外,不包含其他人或組織已經(jīng)發(fā)表或公布過的研究成果,也不包含我為獲得 及其它教育機(jī)構(gòu)的學(xué)位或?qū)W歷而使用過的材料。對(duì)本研究提供過幫助和做出過貢獻(xiàn)的個(gè)人或集體,均已在文中作了明確的說明并表示了謝意。作 者 簽 名: 日 期: 指導(dǎo)教師簽名: 日期: 使用授權(quán)說明使用授權(quán)說明本人

5、完全了解 大學(xué)關(guān)于收集、保存、使用畢業(yè)設(shè)計(jì)(論文)的規(guī)定,即:按照學(xué)校要求提交畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版本;學(xué)校有權(quán)保存畢業(yè)設(shè)計(jì)(論文)的印刷本和電子版,并提供目錄檢索與閱覽服務(wù);學(xué)??梢圆捎糜坝?、縮印、數(shù)字化或其它復(fù)制手段保存論文;在不以贏利為目的前提下,學(xué)??梢怨颊撐牡牟糠只蛉?jī)?nèi)容。作者簽名: 日 期: 學(xué)位論文原創(chuàng)性聲明學(xué)位論文原創(chuàng)性聲明本人鄭重聲明:所呈交的論文是本人在導(dǎo)師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文不包含任何其他個(gè)人或集體已經(jīng)發(fā)表或撰寫的成果作品。對(duì)本文的研究做出重要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到

6、本聲明的法律后果由本人承擔(dān)。作者簽名: 日期: 年 月 日學(xué)位論文版權(quán)使用授權(quán)書學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán) 大學(xué)可以將本學(xué)位論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫(kù)進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。涉密論文按學(xué)校規(guī)定處理。作者簽名:日期: 年 月 日導(dǎo)師簽名: 日期: 年 月 日注 意 事 項(xiàng)1.設(shè)計(jì)(論文)的內(nèi)容包括:1)封面(按教務(wù)處制定的標(biāo)準(zhǔn)封面格式制作)2)原創(chuàng)性聲明3)中文摘要(300 字左右) 、關(guān)鍵詞4)外文摘要、

7、關(guān)鍵詞 5)目次頁(yè)(附件不統(tǒng)一編入)6)論文主體部分:引言(或緒論) 、正文、結(jié)論7)參考文獻(xiàn)8)致謝9)附錄(對(duì)論文支持必要時(shí))2.論文字?jǐn)?shù)要求:理工類設(shè)計(jì)(論文)正文字?jǐn)?shù)不少于 1 萬字(不包括圖紙、程序清單等) ,文科類論文正文字?jǐn)?shù)不少于 1.2 萬字。3.附件包括:任務(wù)書、開題報(bào)告、外文譯文、譯文原文(復(fù)印件) 。4.文字、圖表要求:1)文字通順,語言流暢,書寫字跡工整,打印字體及大小符合要求,無錯(cuò)別字,不準(zhǔn)請(qǐng)他人代寫2)工程設(shè)計(jì)類題目的圖紙,要求部分用尺規(guī)繪制,部分用計(jì)算機(jī)繪制,所有圖紙應(yīng)符合國(guó)家技術(shù)標(biāo)準(zhǔn)規(guī)范。圖表整潔,布局合理,文字注釋必須使用工程字書寫,不準(zhǔn)用徒手畫3)畢業(yè)論文須

8、用 a4 單面打印,論文 50 頁(yè)以上的雙面打印4)圖表應(yīng)繪制于無格子的頁(yè)面上5)軟件工程類課題應(yīng)有程序清單,并提供電子文檔5.裝訂順序1)設(shè)計(jì)(論文)2)附件:按照任務(wù)書、開題報(bào)告、外文譯文、譯文原文(復(fù)印件)次序裝訂指導(dǎo)教師評(píng)閱書指導(dǎo)教師評(píng)閱書指導(dǎo)教師評(píng)價(jià):指導(dǎo)教師評(píng)價(jià):一、撰寫(設(shè)計(jì))過程1、學(xué)生在論文(設(shè)計(jì))過程中的治學(xué)態(tài)度、工作精神 優(yōu) 良 中 及格 不及格2、學(xué)生掌握專業(yè)知識(shí)、技能的扎實(shí)程度 優(yōu) 良 中 及格 不及格3、學(xué)生綜合運(yùn)用所學(xué)知識(shí)和專業(yè)技能分析和解決問題的能力 優(yōu) 良 中 及格 不及格4、研究方法的科學(xué)性;技術(shù)線路的可行性;設(shè)計(jì)方案的合理性 優(yōu) 良 中 及格 不及格5、完

9、成畢業(yè)論文(設(shè)計(jì))期間的出勤情況 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績(jī):建議成績(jī): 優(yōu)優(yōu) 良良 中中 及格及格 不及格不及格(在所選等級(jí)前的內(nèi)畫“”)指導(dǎo)教師:指導(dǎo)教師: (簽名) 單位:?jiǎn)挝唬?(蓋章)

10、年年 月月 日日評(píng)閱教師評(píng)閱書評(píng)閱教師評(píng)閱書評(píng)閱教師評(píng)價(jià):評(píng)閱教師評(píng)價(jià):一、論文(設(shè)計(jì))質(zhì)量一、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))水平二、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格建議成績(jī):建議成績(jī): 優(yōu)優(yōu) 良良 中中 及格及格 不及格不及格(在所選等級(jí)前的內(nèi)畫“”)

11、評(píng)閱教師:評(píng)閱教師: (簽名) 單位:?jiǎn)挝唬?(蓋章)年年 月月 日日教研室(或答辯小組)及教學(xué)系意見教研室(或答辯小組)及教學(xué)系意見教研室(或答辯小組)評(píng)價(jià):教研室(或答辯小組)評(píng)價(jià):一、答辯過程一、答辯過程1、畢業(yè)論文(設(shè)計(jì))的基本要點(diǎn)和見解的敘述情況 優(yōu) 良 中 及格 不及格2、對(duì)答辯問題的反應(yīng)、理解、表達(dá)情況 優(yōu) 良 中 及格 不及格3、學(xué)生答辯過程中的精神狀態(tài) 優(yōu) 良 中 及格 不及格二、論文(設(shè)計(jì))質(zhì)量二、論文(設(shè)計(jì))質(zhì)量1、論文(設(shè)計(jì))的整體結(jié)構(gòu)是否符合撰寫規(guī)范? 優(yōu) 良 中 及格 不及格2、是否完成指定的論文(設(shè)計(jì))任務(wù)(包括裝訂及附件)? 優(yōu) 良 中 及格 不及格三、論文(設(shè)

12、計(jì))水平三、論文(設(shè)計(jì))水平1、論文(設(shè)計(jì))的理論意義或?qū)鉀Q實(shí)際問題的指導(dǎo)意義 優(yōu) 良 中 及格 不及格2、論文的觀念是否有新意?設(shè)計(jì)是否有創(chuàng)意? 優(yōu) 良 中 及格 不及格3、論文(設(shè)計(jì)說明書)所體現(xiàn)的整體水平 優(yōu) 良 中 及格 不及格評(píng)定成績(jī):評(píng)定成績(jī): 優(yōu)優(yōu) 良良 中中 及格及格 不及格不及格教研室主任(或答辯小組組長(zhǎng)):教研室主任(或答辯小組組長(zhǎng)): (簽名)年年 月月 日日教學(xué)系意見:教學(xué)系意見:系主任:系主任: (簽名)年年 月月 日日設(shè)設(shè)計(jì)計(jì)說說明明書書 摘摘要要摘要摘要在日常生活和工作中,鎖是每個(gè)人都離不開的,它是保護(hù)個(gè)人財(cái)產(chǎn)安全、保護(hù)資料檔案的關(guān)鍵元素。隨著電子技術(shù)的飛速發(fā)展

13、,傳統(tǒng)彈子鎖的缺點(diǎn)漸漸被放大,社會(huì)對(duì)新式電子密碼鎖的需求越來越大,前景廣闊。本次設(shè)計(jì)基于單片機(jī),其主控芯片選擇了單片機(jī) at89s51,顯示模塊選擇了lcd1602,結(jié)合了自行設(shè)計(jì)的矩陣鍵盤、報(bào)警模塊等外圍電路,主控芯片的控制程序則使用 c 語言寫成,完成了一套具有按鍵輸入、顯示、解鎖、報(bào)警及密碼修改等多種功能的電子密碼控制系統(tǒng)。本論文詳細(xì)敘述了各個(gè)模塊的功能和設(shè)計(jì)方案,給出了系統(tǒng)各個(gè)功能的仿真結(jié)果截圖。關(guān)鍵詞 單片機(jī) 電子密碼鎖 矩陣鍵盤 lcd 顯示 報(bào)警 畢畢業(yè)業(yè)設(shè)設(shè)計(jì)計(jì)說說明明書書(論論文文)外外文文摘摘要要titletitle the design of electronic pas

14、sword lock based on scm abstractabstractin daily life and work, everyone is inseparable from the lock, which is the protection of personal and property safety, the protection of data files. with the rapid development of electronic technology, the shortcomings of traditional tumbler lock gradually be

15、en enlarged, the demand for new electronic locks increasingly broad prospects. this design is based on the microcontroller, its main chip microcontroller chosen at89s51, display module chosen lcd1602, a combination of self-designed matrix keyboard, alarm module and other peripheral circuits, the mas

16、ter chip control program is written in c language . from the design, we got an electronic password control system which has variety of functions: key input, display, unlock, password changing and alarm.this article details the features and design of each module, the simulation results of the various

17、 functions of the system screenshot.keywords electronic password lock scm matrix keyboard lcd display alarm目 錄 1 引言11.1 課題背景和意義11.2 電子密碼鎖的發(fā)展趨勢(shì)11.3 本設(shè)計(jì)要實(shí)現(xiàn)的目標(biāo)21.4 設(shè)計(jì)方案的選擇22 主要原件介紹52.1 主控芯片 at89c51 簡(jiǎn)介52.2 lcd1602 顯示器介紹 72.3 晶體振蕩器93 系統(tǒng)設(shè)計(jì)103.1 整體思路 103.2 系統(tǒng)硬件部分設(shè)計(jì) 113.2.1 鍵盤輸入電路 113.2.2 復(fù)位電路 123.2.3 晶振電路

18、123.2.4 顯示電路 133.2.5 報(bào)警、解鎖提示電路 143.3 系統(tǒng)軟件部分設(shè)計(jì) 153.3.1 主要程序流圖 153.3.2 按鍵檢測(cè)子程序設(shè)計(jì) 153.3.3 lcd 顯示子程序設(shè)計(jì) 173.3.4 密碼修改子程序設(shè)計(jì) 183.3.5 報(bào)警聲音子程序設(shè)計(jì) 194 仿真調(diào)試 224.1 proteus isis 簡(jiǎn)介224.2 軟件調(diào)試 224.3 proteus 仿真 245 結(jié)論 29致謝30參考文獻(xiàn)31附錄 a 電子密碼鎖程序源代碼 321 1 引言引言1.11.1課題背景和意義課題背景和意義自從人類脫離原始社會(huì)、開始有私有財(cái)產(chǎn)的概念以來,鎖就是人們生活中的重要組成部分。它的

19、存在,維護(hù)了人們的財(cái)產(chǎn)安全、人身安全,增加了人們的安全感,促進(jìn)了社會(huì)和諧。因此,人們對(duì)鎖的研究從未停止,但幾千年來都未有較大的變化,直到 20 世紀(jì) 30 年代后,電子密碼鎖的概念出現(xiàn),這一領(lǐng)域終于出現(xiàn)了日新月異的進(jìn)步。得益于電子技術(shù)的飛速發(fā)展,電子密碼鎖的功能愈來愈完善,取密碼量相對(duì)較少、安全性不好的常規(guī)鎖具已然是大勢(shì)所趨。電子密碼鎖擁有太多機(jī)械鎖完全無法相比的優(yōu)點(diǎn)。它不但能完成“鎖”自身的功用,還可以具有記憶、辨識(shí)、警報(bào)等特別的作用。因?yàn)殡娮用艽a鎖更安全性、更便宜、易操作,越來越多人開始關(guān)注這一領(lǐng)域。當(dāng)前在第一世界國(guó)家中,密碼鎖技術(shù)已經(jīng)比較成熟,擁有不同的種類,在各類智能門禁系統(tǒng)中,電子密

20、碼鎖的使用十分普遍,使得門禁的實(shí)現(xiàn)有了數(shù)種安全、可靠的技術(shù)來支持??偟膩碚f,中國(guó)目前的密碼鎖技術(shù)還只有世界上 70年代左右的水平,生產(chǎn)仍顯昂貴。當(dāng)前,按鍵式電子鎖仍占據(jù)了中國(guó)市場(chǎng)的大頭,國(guó)內(nèi)有若干廠家引進(jìn)了海外較為先進(jìn)的按鍵式和卡片鑰匙型鎖。另一方面,中國(guó)自主研發(fā)的電子鎖還沒有形成成型的產(chǎn)業(yè)鏈,尚未普及?,F(xiàn)在國(guó)內(nèi)有不少企業(yè)引進(jìn)了當(dāng)前世界上先進(jìn)的技術(shù),發(fā)展前景非??捎^1。相信國(guó)內(nèi)的廠商也會(huì)不斷進(jìn)步,使得電子密碼鎖普及在中國(guó)的土地上。1.21.2 電子密碼鎖的發(fā)展趨勢(shì)電子密碼鎖的發(fā)展趨勢(shì)在大家的日常生活中,住所和單位的安全保障,檔案、財(cái)務(wù)報(bào)表和大多數(shù)私人資料、文件的保護(hù)基本用上鎖的辦式來實(shí)現(xiàn)?,F(xiàn)在

21、門鎖大都使用彈子鎖,這種鎖鑰匙易丟失、仿制也并不困難;保險(xiǎn)箱最常見的就是使用機(jī)械密碼鎖,它的構(gòu)造很麻煩,制作精度要有相當(dāng)高的保障,這種情況下,成本就很難降下來,不僅如此,機(jī)械密碼鎖的缺點(diǎn)依然明顯:故障率居高不下,使用者往往要攜帶數(shù)把鑰匙,易用性很成問題。前述鎖具有著這樣多的不便,而人們對(duì)鎖的需求又是巨大的,一種使用密碼來代替鑰匙的鎖具就成為了必然出現(xiàn)的產(chǎn)品。電子密碼鎖的出現(xiàn),大大提高了人們的生活水平,提供了諸多便利,這也同時(shí)意味著巨大的市場(chǎng),前景一片光明。由于電子器件的限制,上世紀(jì)制造的電子密碼鎖,不僅類型少、易破解,鎖具最關(guān)鍵的開鎖環(huán)節(jié)也僅僅是依賴基礎(chǔ)的模擬電子開關(guān),工藝簡(jiǎn)單卻存在相當(dāng)大的安

22、全隱患;之后,數(shù)字電路的飛速發(fā)展,使得電子密碼鎖的電路結(jié)構(gòu)復(fù)雜性逐漸增加、元件數(shù)量逐漸增多,早先單片機(jī)剛普及時(shí)也曾使用 2051 系列單片機(jī)來實(shí)現(xiàn),但密碼簡(jiǎn)單,易破解2 。隨著電子技術(shù)的進(jìn)一步發(fā)展和大眾對(duì)保密要求的增強(qiáng),電子密碼鎖的種類日益繁多、功能漸趨全面,操作更加便捷,安全保密性更強(qiáng):由以往單純的鍵入口令發(fā)展到今天新增了感應(yīng)元件(想要開鎖,必須同時(shí)有密碼和電子鑰匙),做到了更加穩(wěn)妥的電子保密。社會(huì)對(duì)電子密碼鎖安全性、易用性的需求,使得多種產(chǎn)品相繼問世。但它們中的大多數(shù)僅僅是針對(duì)特定的聲紋、指紋,并且無法做到遠(yuǎn)程控制,只能用在保密要求較高的私人用途上。事實(shí)上,數(shù)字、字母、圖象、生物體征以及地

23、點(diǎn)等因素都能夠作為密鑰的信息來源,上述信息的排列組合完全可以把電子密碼鎖的保密性推向更高的高度。與此同時(shí),信息要素的組合也使得電子密碼鎖得到了無限拓展的可能性,產(chǎn)品將越來越多變,對(duì)用戶而言就有了很大的挑選余地。由此可以看出組合使用電子信息是電子密碼鎖今后發(fā)展的趨勢(shì)3。1.31.3 本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)本設(shè)計(jì)所要實(shí)現(xiàn)的目標(biāo)本設(shè)計(jì)基于單片機(jī)。使用 at89c51 作為主控芯片,結(jié)合外圍電路組成一個(gè)電子密碼控制系統(tǒng)。用戶若想開鎖,必須輸入正確的密碼,錯(cuò)誤則有文字及聲音提示并要求重新輸入。密碼鎖同時(shí)具有修改密碼的功能,修改密碼時(shí),必須鍵入正確的原密碼進(jìn)行驗(yàn)證,然后輸入新密碼。1.41.4 設(shè)計(jì)方案的選

24、擇設(shè)計(jì)方案的選擇1.4.1 主控部分選擇方案一方案一:采用數(shù)字電路控制。把 74ls112 雙 jk 觸發(fā)器當(dāng)作系統(tǒng)的中心,搭配其他原件組成數(shù)字邏輯電路。在功能上,可以設(shè)置 9 個(gè)按鍵,選擇其中 4 個(gè)作為有效的密碼按鍵,并將其它按鍵均設(shè)定為干擾按鍵,當(dāng)按下干擾按鍵時(shí),就將鍵盤輸入電路復(fù)位,使得前面輸入的密碼無效化,要求重輸;如果用戶輸入密碼的時(shí)間超過 10 秒,電路將報(bào)警 20 秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤 2 分鐘,防止他人的非法操作4。采用數(shù)字電路設(shè)計(jì)方案時(shí)設(shè)計(jì)雖然簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差。故不采用。方案二方案二:采用單片機(jī)控制方案單片機(jī)當(dāng)前的類型很多,各種型號(hào)的應(yīng)用環(huán)境

25、都各有不同,在選用時(shí)就有了更多的選擇,使我們可以多加比較、以便選擇最為合適的型號(hào),獲得更好的性能/價(jià)格比。下列關(guān)鍵詞往往應(yīng)該成為考慮時(shí)最需關(guān)注的方面:性能、串行接口、工作電壓、存儲(chǔ)器、模擬電路功能、抗干擾性、運(yùn)行速度、封裝形式、i/o口、功耗、定時(shí)/計(jì)數(shù)器、保密性。除此以外,在單片機(jī)開發(fā)過程中還會(huì)產(chǎn)生影響有開發(fā)工具、編程器、開發(fā)成本、開發(fā)人員的適應(yīng)性、技術(shù)支持和服務(wù)等因素 5。 考慮到方方面面,本設(shè)計(jì)采用了 at89c51 作為核心芯片,單片機(jī)提供的 i/o端口雖有限,但端口復(fù)用或擴(kuò)展、結(jié)合有效的控制程序,實(shí)現(xiàn)基本的密碼控制功能是十分簡(jiǎn)單的。單片機(jī)的外圍電路主要包括:一塊外接矩陣鍵盤(用來密碼

26、輸入、控制程序流向) ,一塊 lcd 顯示屏(用來作為系統(tǒng)的輸出,對(duì)用戶的操作進(jìn)行反饋) 。當(dāng)用戶進(jìn)行開鎖時(shí),首先利用鍵盤上的 09 完成密碼的輸入,而后確認(rèn),若正確則解鎖,否則保持鎖定狀態(tài)并要求重新輸入,在適當(dāng)?shù)臅r(shí)機(jī)可發(fā)出報(bào)警聲。在用戶進(jìn)行密碼修改操作時(shí),首先要輸入原密碼,只有當(dāng)輸入和原密碼匹配時(shí)才會(huì)允許設(shè)置新密碼,新密碼設(shè)置完成后按確認(rèn)鍵則保存。顯然,方案二的功能豐富,控制方便,有較好的準(zhǔn)確性,在保證保密的同時(shí)還能進(jìn)行功能的拓展?;谝陨显?,我在此采用方案二,即使用單片機(jī)at89c51 結(jié)合外圍接口電路來完成本此設(shè)計(jì)。1.4.2 密碼輸入方式選擇方案一方案一:聲紋輸入識(shí)別所謂聲紋(voi

27、ceprint),是用電聲學(xué)儀器顯示的攜帶言語信息的聲波頻譜,人類語言的產(chǎn)生是人體語言中樞與發(fā)音器官之間一個(gè)復(fù)雜的生理物理過程6。人的發(fā)聲器官大致有以下幾種:舌、齒、頭、肺、鼻,雖然人們都是用這些器官來發(fā)聲,但不同人的這些器官會(huì)存在尺寸或外形的較大差別,因此任意兩人的聲紋圖譜都會(huì)存在差別。另一方面,在一定的年齡段內(nèi),每個(gè)人的聲音特征都不會(huì)發(fā)生太大變換,相對(duì)穩(wěn)定,所以人們一般可以區(qū)分出不同人的聲音或判斷是否是某一個(gè)特定人的聲音。在作為電子鎖的輸入時(shí),系統(tǒng)會(huì)分析所輸入聲音的聲學(xué)特征(如反射系數(shù)、共振峰、頻譜、倒頻譜、基音等),并與先前保存的樣本進(jìn)行對(duì)比,通過計(jì)算機(jī)計(jì)算出兩者的相似度,并以此判定輸入

28、的正確性??紤]到本方案過于復(fù)雜,且有不低的成本,因此我們不采用。方案二方案二:矩陣鍵盤輸入識(shí)別矩陣鍵盤的每一行、每一列均相連,引出連接到一個(gè) i/o 口上,按鍵設(shè)在每一個(gè)行線和列線的交叉處,每當(dāng)有一個(gè)鍵按下就使得某一條行線與某一條列線相接通,只要確定接觸的是哪兩條線,即哪兩個(gè) i/o 口線,就可以確定哪一個(gè)鍵被觸動(dòng)7。此方案相對(duì)簡(jiǎn)單、易于實(shí)現(xiàn),因此采用之。2 2 主要元件介紹主要元件介紹2.12.1 主控芯片主控芯片 at89c51at89c51 簡(jiǎn)介簡(jiǎn)介at89c51 是一款工作電壓低、高性能的 8 位微處理器(即通常所說的單片機(jī)) 。這款單片機(jī)擁有自己的可編程可擦除只讀存儲(chǔ)器,容量為 4k

29、 字節(jié),可以反復(fù)擦寫 100 次。由于將多功能 8 位 cpu 和閃爍存儲(chǔ)器組合在單個(gè)芯片中,atmel 的 at89c51 是一種高效微控制器8。2.1.1 主要特性 與 mcs-51 兼容 4k 字節(jié)可編程閃爍存儲(chǔ)器 壽命:1000 寫/擦循環(huán) 數(shù)據(jù)保留時(shí)間:10 年 全靜態(tài)工作:0hz-24mhz 三級(jí)程序存儲(chǔ)器鎖定 1288 位內(nèi)部 ram 32 可編程 i/o 線 兩個(gè) 16 位定時(shí)器/計(jì)數(shù)器 5 個(gè)中斷源 可編程串行通道 低功耗的閑置和掉電模式 片內(nèi)振蕩器和時(shí)鐘電路2.1.2 管腳功能說明:at89c51 芯片的引腳圖如下: 圖 2.1 at89c51 芯片引腳圖 vcc:供電電壓

30、。 gnd:接地。 p0-p3 口均為 8 位雙向 i/o 端口,但又有所不同。p0 口:第一次將 p1 口的管腳寫為“1”的時(shí)候,這 8 位的端口都會(huì)變?yōu)楦咦锠顟B(tài)。p0 可以用于連接外部程序數(shù)據(jù)存儲(chǔ)器,同時(shí),p0 口也能被定義成數(shù)據(jù)/地址的低八位。p1 口:內(nèi)部提供上拉電阻,其緩沖器可以吸收的門電流量為 4ttl。將 p1口的管腳寫為“1”時(shí),整個(gè) p1 端口會(huì)被內(nèi)部的上拉電阻上拉為高電平。p2 口:內(nèi)部同樣帶有上拉電阻。p2 口緩沖器既允許接收電流,又允許輸出電流。當(dāng) p2 口被寫“1”時(shí),其作用與 p1 口完全相同。 p2 口的特殊用途在于連接外部的程序存儲(chǔ)器和 16 位地址的外部數(shù)據(jù)存

31、儲(chǔ)器。若作為 16 位地址的一部分時(shí),p2 口輸出所需地址高八位,和 p0 口相配合。除此以外,它還可以利用內(nèi)部擁有上拉電阻的便利,當(dāng)對(duì)外部的數(shù)據(jù)存儲(chǔ)器實(shí)行讀寫操作(僅限 8 位地址)時(shí),輸出它特殊功能寄存器中的內(nèi)容。p3 口:p3 口的基本用途和性質(zhì)與其他端口并無不同,只是它可以作為單片機(jī)的特殊功能口,列于下表中:表 2.1 p3 口功能(p3 口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)) 2.1.3 振蕩器特性 單片機(jī) at89c51 允許用戶自行外接合適頻率的晶體振蕩器,最常使用的不外乎石晶振蕩和陶瓷振蕩。當(dāng)配置為片內(nèi)振蕩器時(shí),反向放大器輸入端口應(yīng)接xtal1、輸出端口應(yīng)當(dāng)接 xtal2

32、。當(dāng)使用外部時(shí)鐘源時(shí),不接 xtal2。此處外部時(shí)鐘信號(hào)的脈沖寬度可以是任意的。2.1.4 芯片擦除想在任何已存有信息的存儲(chǔ)字節(jié)上重復(fù)編程,首先必須對(duì)芯片進(jìn)行擦出操作。 at89c51 芯片的擦出方法為:ale 管腳接低電平 10ms,同時(shí)搭配以適當(dāng)?shù)目刂菩盘?hào)組合,此種操作會(huì)將代碼陣列全部寫為“1” 。此外,at89c51 設(shè)有兩種掉電模式。用戶可以自主選擇:一是“閑置模式” ,此模式下 cpu 將會(huì)掛起,但 ram,定時(shí)器,計(jì)數(shù)器,串口以及中斷系統(tǒng)仍會(huì)處于工作狀態(tài);二是“掉電模式” ,此時(shí)保存 ram 的內(nèi)容并且凍結(jié)振蕩器,禁止所用其他芯片功能,直到下一個(gè)硬件復(fù)位為止9。 2.22.2 lc

33、d1602lcd1602 顯示器介紹顯示器介紹液晶顯示模塊主要用于為系統(tǒng)提供輸出,可顯示圖形、數(shù)字或?qū)S梅?hào)等信息,這一元件在電子產(chǎn)品中相當(dāng)常見。在本次設(shè)計(jì)中我們選用 lcd1602 顯示模塊,這一型號(hào)有諸多優(yōu)點(diǎn),如顯示自由度高、體積小、耗能少等。 lcd1602可顯示 2*16 個(gè)字符,有 rs,r/w,en 三個(gè)控制端口和 8 位數(shù)據(jù)總線 d0-d7,工作電壓為 5v,并且具有字符對(duì)比度調(diào)節(jié)和背光功能10。它的主要特性如下:內(nèi)含復(fù)位電路,對(duì)比度可調(diào)1通過控制命令可以實(shí)現(xiàn)實(shí)現(xiàn)多種功能。2內(nèi)部有一顯示數(shù)據(jù)存儲(chǔ)器 ddram,其容量為 80 字節(jié)。3擁有 200 個(gè) 5*7 的字符發(fā)生器 cgr

34、om,其中 8 個(gè)可由用戶自定義。41602 型 lcd 的接口引腳說明如表 2.2 所示。表 2.2 lcd1602 引腳說明編號(hào)符號(hào)功能編號(hào)符號(hào)功能1vss電源地9d2數(shù)據(jù)2vdd電源正極10d3數(shù)據(jù)3vl液晶顯示偏壓11d4數(shù)據(jù)4rs數(shù)據(jù)/命令選擇12d5數(shù)據(jù)5r/w讀/寫選擇13d6數(shù)據(jù)6e使能信號(hào)14d7數(shù)據(jù)7d0數(shù)據(jù)15bla背光源正極8d1數(shù)據(jù)16blk背光源負(fù)極1602 型 lcd 主要技術(shù)參數(shù):顯示容量:162 個(gè)字符芯片工作電壓:4.55.5v工作電流:2.0ma模塊最佳工作電壓:5.0v字符尺寸:2.954.35mm(寬高)常用指令見下表:表 2.3 lcd1602 常見

35、指令2.32.3 晶體振蕩器晶體振蕩器 晶體振蕩器(簡(jiǎn)稱晶振)可以產(chǎn)生一定頻率的時(shí)鐘信號(hào),這一信號(hào)經(jīng)過調(diào)頻后可成為處理器中各處的總線頻率。 現(xiàn)在使用最多當(dāng)屬石英晶體振蕩器,也稱石英晶體諧振器。石英晶體振蕩器具有精度高和穩(wěn)定度高的優(yōu)點(diǎn),它同時(shí)可以作為一種晶體諧振元件實(shí)現(xiàn) lc 諧振回路的功能:穩(wěn)定頻率和選擇頻率。石英晶體振蕩器在生活中的電子設(shè)備里隨處可見,為它們產(chǎn)生時(shí)鐘信號(hào),應(yīng)用在在單片機(jī)中時(shí)也是如此。石英晶體具有壓電效應(yīng),石英晶體振蕩器就是利用這一特點(diǎn)制作成的,簡(jiǎn)稱為石英晶體或晶體、晶振。大多數(shù)晶振是這樣構(gòu)成的:從特定角度切下矩形或圓形的石英晶體薄片,并在其對(duì)應(yīng)面上敷銀制成電極,并在上面各焊一

36、根引線接到管腳上,再加上封裝外殼 11。3 3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)3.13.1 整體思路整體思路本系統(tǒng)主要包括單片機(jī)、矩陣鍵盤、復(fù)位電路、晶振電路和液晶顯示器等部分。作為整個(gè)系統(tǒng)的輸入,矩陣鍵盤擔(dān)當(dāng)著與用戶交互的核心任務(wù),用戶可以再此輸入密碼或控制程序的運(yùn)行方向。功能上,首先由用戶由矩陣鍵盤輸入密碼,而后與事先存儲(chǔ)的密碼進(jìn)行比較,判斷出密碼的正確與否,然后單片機(jī)會(huì)控制特定引腳的電平以觸發(fā)開鎖電路或者報(bào)警電路。實(shí)用產(chǎn)品只須將單片機(jī)的負(fù)載由發(fā)光二極管替換為實(shí)際鎖具的開鎖電路即可,當(dāng)然也可以用繼電器的常開觸點(diǎn)去控制電磁鐵吸合線圈12。 具體的講,本設(shè)計(jì)可以分為硬件部分與軟件部分倆大部分。其中硬件部分又

37、分為鍵盤輸入電路、復(fù)位電路、晶振電路、顯示電路、報(bào)警或解鎖提示電路等幾大模塊;相應(yīng)的,軟件部分由主程序、按鍵檢測(cè)子程序、lcd 顯示子程序、密碼修改子程序、報(bào)警聲音子程序等組成。圖 3.1 系統(tǒng)框圖3.23.2 系統(tǒng)硬件部分設(shè)計(jì)系統(tǒng)硬件部分設(shè)計(jì)本系統(tǒng)外圍電路包括鍵盤輸入電路、復(fù)位電路、晶振電路、顯示電路、報(bào)警或解鎖提示電路等。結(jié)合本設(shè)計(jì)的原定目標(biāo),鍵盤輸入電路選擇 43 矩陣鍵盤,顯示電路選擇顯示屏 lcd1602 來完成。其原理圖如圖 4.1 所示。圖 3.2 系統(tǒng)原理圖3.2.1 鍵盤輸入電路單片機(jī)系統(tǒng)中,常用的鍵盤設(shè)計(jì)方式有獨(dú)立式鍵盤和矩陣式鍵盤兩種。獨(dú)立式鍵盤是指每個(gè) i/o 輸入端口

38、對(duì)應(yīng)一個(gè)物理按鍵的鍵盤。其優(yōu)點(diǎn)是鍵盤結(jié)構(gòu)簡(jiǎn)單,按鍵識(shí)別容易;缺點(diǎn)是占用 i/o 口較多。矩陣式鍵盤適合用在按鍵數(shù)量較多的系統(tǒng)中,它將 i/o 口分別引出線,并分為行線和列線,在每一個(gè)行線和列線相交的地方放置一個(gè)按鍵,這種方案下,一個(gè)占用 7 個(gè) i/o 端口的 43 的行列結(jié)構(gòu)可以構(gòu)成一個(gè) 12 鍵的鍵盤。顯然這種方式與獨(dú)立式鍵盤相比節(jié)省了很多 i/o 端口,但算法相對(duì)復(fù)雜13。常用的矩陣式鍵盤掃描原理有反轉(zhuǎn)和行/列掃描法。本設(shè)計(jì)中采用行掃描法,具體原理將在軟件部分介紹。鍵盤功能及其引腳接法如圖 4.2 所示: 圖 3.3 鍵盤輸入原理圖3.2.2 復(fù)位電路單片機(jī)復(fù)位可以讓整個(gè)系統(tǒng)(單片機(jī)芯片

39、本身)從一個(gè)確定的初始狀態(tài)開始工作。在單片機(jī)剛剛上電時(shí)、斷電后和執(zhí)行出錯(cuò),復(fù)位都是必須的操作。rst為高電平并保持一定時(shí)間后,單片機(jī)進(jìn)入復(fù)位狀態(tài),在此期間,p0 口呈現(xiàn)高阻態(tài),p1p3 口均呈現(xiàn)高電平,同時(shí) psen 信號(hào)無效、ale 為高電平。本設(shè)計(jì)在最基礎(chǔ)的復(fù)位電路基礎(chǔ)上,添加了一個(gè)按鍵以實(shí)現(xiàn)手動(dòng)復(fù)位功能。在剛接通電源時(shí)電容 c1 兩端電勢(shì)差很小,電阻 r1 上的電壓接近電源電壓,這會(huì)使得 rst 為高電平,接著,電容進(jìn)入充電過程,rst 端電勢(shì)步降低,當(dāng) rst端的電壓表現(xiàn)為低電平時(shí),cpu 脫離復(fù)位狀態(tài),只要電容 c3 大小適當(dāng),就能夠保證 rst 的高電平有效持續(xù)時(shí)間多于 24 個(gè)振

40、蕩周期,此時(shí)單片機(jī)就能夠?qū)崿F(xiàn)可靠的復(fù)位。手動(dòng)復(fù)位按鍵的加入,使得死機(jī)時(shí)有了可靠的復(fù)位方法。在按下復(fù)位鍵后,電容 c3 將會(huì)經(jīng)由 r6 進(jìn)行放電,此過程結(jié)束后,rst 端的電位就會(huì)由兩個(gè)電阻的分壓情況決定14。復(fù)位電路的原理如下圖所示:圖 3.4 復(fù)位電路原理圖3.2.3 晶振電路將晶體振蕩器按下圖所示方式連接到 xtal1 引腳和 xtal2 引腳上,就構(gòu)成了晶振電路。圖示是一種電容三點(diǎn)式振蕩器,振蕩信號(hào)的頻率取決于晶振頻率和兩個(gè)電容的容量,其中,晶振頻率又是主要因素。一般而言,晶振頻率的取值范圍在 033mhz 之間,兩個(gè)電容的取值范圍在 530pf 之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用 24m

41、hz 做系統(tǒng)的外部晶振。電容取值為 22pf15。晶振電路原理圖如圖 4.4 所示:c122pfc222pfx1crystal圖 3.5 晶振電路原理圖3.2.4 顯示電路 為了使密碼鎖的顯示效果使人滿意、電路簡(jiǎn)潔,此處使用了 lcd1602 作為顯示模塊的核心,而不是普通的數(shù)碼管。接通電源后顯示器處于等待開鎖狀態(tài),提示用戶輸入密碼,當(dāng)用戶需要開鎖時(shí),可以使用數(shù)字鍵 09 輸入密碼,每次按鍵都會(huì)把處理結(jié)果反饋到屏幕上。當(dāng)密碼輸入結(jié)束后,按下確認(rèn)鍵,系統(tǒng)將會(huì)把輸入的密碼和事先保存的對(duì)比,若正確,lcd 將顯示“unlock succeed!”,電子密碼鎖被打開;否則,lcd 顯示屏?xí)@示“wro

42、ng password,unlock failed!”,電子密碼鎖保持原狀態(tài)。在密碼修改的過程中,lcd 顯示屏?xí)@示更為多樣的信息:“change password? (y/n)”、“old password:”、“wrong password,match failed!”、“enter new pw:”、“the password must be 6 bits!”、“the password has changed!”等等,電子鎖當(dāng)前所處的狀態(tài)一目了然。其顯示部分及引腳接口如圖 4.5 所示:圖 3.6 顯示電路原理圖3.2.5 報(bào)警、解鎖提示電路本設(shè)計(jì)報(bào)警部分電路由蜂鳴器實(shí)現(xiàn)。當(dāng)輸入密碼

43、并確認(rèn)后,單片機(jī)的 p3.1引腳將輸出特定頻率的方波,則蜂鳴器被導(dǎo)通而發(fā)出聲音。當(dāng)密碼錯(cuò)誤時(shí),發(fā)出的聲音為短促的 3 聲“嘟” ,音高相同;當(dāng)密碼正確時(shí),發(fā)出的聲音為一小段樂聲。當(dāng)解鎖成功時(shí),接于 p3.0 端口的綠色 led 燈將會(huì)亮起,提示鎖已打開。在實(shí)際應(yīng)用的電子密碼鎖產(chǎn)品中,可以把其替換為電磁繼電器的輸入,原理仍是不變。報(bào)警、解鎖提示部分電路原理圖如圖 4.6 所示(圖中 led 接 p3.0 口,air 接 p3.1 口) 。圖 3.7 報(bào)警、解鎖提示電路原理圖3.33.3 系統(tǒng)軟件部分設(shè)計(jì)系統(tǒng)軟件部分設(shè)計(jì)本設(shè)計(jì)的軟件部分由主程序、按鍵檢測(cè)子程序、lcd 顯示子程序、密碼修改子程序、

44、報(bào)警聲音子程序等組成。3.3.1 主程序流程圖如圖 5.1 所示為主程序流程圖,系統(tǒng)上電后將進(jìn)行初始化,然后開始進(jìn)行鍵盤掃描,此時(shí)在鍵盤上輸入密碼,若密碼正確,則開鎖成功,播放成功提示音,密碼錯(cuò)誤則會(huì)提示,包括屏幕畫面及聲音。圖 3.8 主程序流程圖3.3.2 按鍵檢測(cè)子程序設(shè)計(jì)本設(shè)計(jì)中的的密碼輸入使用了 4*3 矩陣鍵盤,鍵盤上除數(shù)字鍵 09 以外還有 2 個(gè)功能鍵。該矩陣鍵盤的按鍵檢測(cè)采用行掃描法,具體步驟如下:令第一行為低電平,其余行和列為高電平,即給 p1 口賦值 0 xfe。1延時(shí) 520ms 再次進(jìn)行檢測(cè),實(shí)現(xiàn)按鍵消抖。2讀 p1 口的值,判斷當(dāng)前是否有鍵被按下。若無鍵按下,其值仍

45、應(yīng)為30 xfe。若第一個(gè)按鍵按下,則第一列會(huì)被拉低,即 p1 口的讀取值應(yīng)為 0 xee,即 0 xee 為第一行第一列按鍵的鍵碼。同理可得第一行另兩個(gè)按鍵的鍵碼為0 xde、0 xbe16。用同樣的方法,令其它行為低電平,經(jīng)上述 3 個(gè)步驟也可判斷其它按鍵是否按下。根據(jù)上述過程,該矩陣鍵盤的按鍵檢測(cè)掃描程序設(shè)計(jì)如下:uchar code rowscan=0 xfe,0 xfd,0 xfb,0 xf7; /行掃描碼uchar code key12=0 xee,0 xde,0 xbe,0 xed,0 xdd,0 xbd,0 xeb,0 xdb,0 xbb,0 xe7,0 xd7,0 xb7 /

46、 1 2 3 4 5 6 7 8 9 * 0 #uchar code keyvalue=123456789*0#;#define key p1/=鍵盤掃描函數(shù)=uchar keyscan(void)/返回值:有鍵按下時(shí)獲得的鍵盤值(1234567890*#) ,無鍵按下時(shí)返回字符$uchar k = 0,flag = 0;for(k = 0;k 4; k+)key = rowscank; /逐行掃描delay(10);/按鍵掃描if(key != rowscank)uchar i=0;for(i = 0; i 12; i+)if(key = key12i)/比較鍵碼flag=1;break;w

47、hile(key != rowscank); /等待按鍵釋放if(flag)return keyvaluei;return $;3.3.3 lcd 顯示子程序設(shè)計(jì)lcd 顯示是本設(shè)計(jì)的核心模塊之一,為了能在屏幕上總能顯示恰當(dāng)?shù)男畔?,本設(shè)計(jì)中 lcd 顯示子程序的功能,應(yīng)為保障單個(gè)字符、字符串的顯示,為主程序或其他子程序留出接口,以便需要時(shí)可以很容易調(diào)用。本著上述目的,lcd 顯示子程序的結(jié)構(gòu)如下圖所示,它的目的是提供字符與字符串的顯示函數(shù)。不同層次的函數(shù)之間是被調(diào)用的關(guān)系。圖 3.9 顯示模塊結(jié)構(gòu)圖各函數(shù)原型及參數(shù)介紹如下:void lcdwritedata(uchar data) / 寫數(shù)據(jù)

48、函數(shù)1void lcdwritecmd(uchar cmd) / 寫指令函數(shù)2void lcdposition(uchar row,uchar column) /將坐標(biāo)轉(zhuǎn)換為 lcd 的坐3標(biāo)參數(shù): row 為所在行數(shù)(1 或 2) ,column 為在行中的位置(015)在指定位置寫數(shù)據(jù)函數(shù)4void writechar(uchar row,uchar column, char c)參數(shù): row 指定行,column 指定列位置,c 為待寫入的數(shù)據(jù)。寫字符串函數(shù)5void writestring(uchar row,uchar column1,uchar column2, char *s)

49、參數(shù):row 表示行,column1 表示第一行起始地址,column2 表示下一行起始地址,均從 1 開始。 void movestring(char *s) /移動(dòng)字符串函數(shù)6 void lcdinit(void) /液晶初始化函數(shù)7 lcdwritecmd(0 x38); /設(shè)置 16*2 顯示,5*7 點(diǎn)陣,8 位數(shù)據(jù)接口 delay(30); lcdwritecmd(0 x01);/清屏 delay(30); lcdwritecmd(0 x06);/地址加一,整屏右移 delay(30); lcdwritecmd(0 x0f);/開顯示,光標(biāo)閃爍,顯示光標(biāo)3.3.4 密碼修改子程序設(shè)

50、計(jì) 在本設(shè)計(jì)中,密碼修改功能是使用外部中斷觸發(fā)的,這意味用戶得以隨時(shí)進(jìn)行密碼的修改,十分方便。因此,密碼修改子程序同時(shí)也是外部中斷 0 服務(wù)程序。若要修改密碼,須先輸入舊密碼密碼,密碼驗(yàn)證通過后方可設(shè)置新密碼,新密碼輸入結(jié)束后,驗(yàn)證位數(shù),然后保存新密碼。流程如圖 3.9 所示。圖 3.10 密碼修改程序流程圖3.3.5 報(bào)警聲音子程序設(shè)計(jì)本程序的設(shè)計(jì)類似于電子音樂盒,可以實(shí)現(xiàn) 17 七個(gè)音符的各種組合,理論上可以播放任意音樂,但音階始終位于 1 個(gè)八度內(nèi)。音調(diào)取決于物體振動(dòng)的頻率,頻率越高,所發(fā)聲音音調(diào)也就越高。本程序就是利用單片機(jī)產(chǎn)生不同頻率的方波,來驅(qū)動(dòng)蜂鳴器發(fā)出不同音調(diào)的聲音。設(shè)計(jì)中,系

51、統(tǒng)使用了定時(shí)中斷的方法。這里以起中的音階“1”為例說明,其初值設(shè)為 0 xf720,對(duì)應(yīng)十進(jìn)制數(shù) 63264,則計(jì)數(shù) 65536 - 63264 = 2272 次后溢出進(jìn)入中斷,若單片機(jī)外接 24mhz 晶振,則計(jì)數(shù)一次對(duì)應(yīng) 0.5s,即計(jì)數(shù)1136s 后溢出。一個(gè)音階周期為 1136s2 = 2272s,對(duì)應(yīng)頻率為 1 / 2272s = 440hz。次頻率為音階“1”所對(duì)應(yīng)的頻率值。其他頻率對(duì)應(yīng)的計(jì)數(shù)初值可按照此方法推算出來,具體見表 3.1 17。表 3.1 不同音階所對(duì)應(yīng)頻率、計(jì)數(shù)初值音階1234567頻率/hz440494523587659698784計(jì)數(shù)初值0 xf7200 xf8

52、880 xfc440 xf9590 xfa130 xfa670 xfb04由此,可得到報(bào)警聲音模塊的代碼如下:sbit beep = p31;uchar code scalesh = 0 xf7,0 xf8,0 xfc,0 xf9,0 xfa,0 xfa,0 xfb; /7 個(gè)音符所對(duì)應(yīng)的計(jì)數(shù)器初值uchar code scalesl = 0 x20,0 x88,0 x44,0 x59,0 x13,0 x67,0 x04;uchar note;/初始化函數(shù)void alarminit() tmod = 0 x01; /t/c0 工作在方式一 et0 = 1; /開定時(shí)器中斷 ea = 1; /

53、開總中斷 tr0 = 0; /關(guān)閉定時(shí)器 0/播放聲音void play(uchar c) uint i;switch( c ) case 0 : note = 6; for(i=0;i3;i+) tr0 = 1; delay(300); tr0 = 0; delay(300); break; case 1 :for(note=2;note6;note+) tr0 = 1; delay(300); tr0 = 0; delay(300); break; beep = 1;/定時(shí)器 0 的中斷服務(wù)函數(shù)void time0() interrupt 1 th0 = scaleshnote; tl0

54、= scaleslnote; beep = beep;4 4 仿真調(diào)試仿真調(diào)試4.14.1 proteusproteus isisisis 簡(jiǎn)介簡(jiǎn)介 本設(shè)計(jì)硬件原理圖的繪制使用了proteus軟件,proteus軟件是一款電路設(shè)計(jì)與仿真軟件,它基于vsm技術(shù),相比其他軟件有著諸多優(yōu)點(diǎn):它支持仿真的單片機(jī)型號(hào)很多,像mcs-51系列、pic系列等均可,同時(shí)集成了多樣的單片機(jī)外圍電路,比如鍵盤、led、lcd等等。proteus軟件使我們可以比較容易地獲得一個(gè)功能多、易使用的單片機(jī)仿真平臺(tái)。4.24.2 軟件調(diào)試軟件調(diào)試4.2.1 keil 軟件簡(jiǎn)介本設(shè)計(jì)的軟件編譯環(huán)境使用了 keil uvisi

55、on4,這是一款基于 c 語言的 51系列兼容單片機(jī)軟件開發(fā)系統(tǒng)。相比于匯編而言,c 語言無論是在在功能上、結(jié)構(gòu)性上,還是在可讀性、可維護(hù)性上都有著巨大的優(yōu)勢(shì),使人們得以編制更加復(fù)雜、精致的程序。除了語言優(yōu)勢(shì),keil c51 軟件生成的目標(biāo)代碼很緊湊,這加快了運(yùn)行速度,提高了效率。 使用者可以用任意編輯器編寫代碼源文件,添加到c51及a51編譯器中就可以編譯生成obj文件,然后連接定位庫(kù)文件后生成abs文件。abs文件經(jīng)過oh51的轉(zhuǎn)換就可以得到標(biāo)準(zhǔn)的hex文件,可以使用仿真器直接對(duì)目標(biāo)進(jìn)行調(diào)試18。4.2.2 程序調(diào)試在 keil 軟件上進(jìn)行程序的調(diào)試,首先新建工程,在空白的代碼編輯頁(yè)輸入

56、程序,保存后進(jìn)行程序編譯,若報(bào)錯(cuò)修改報(bào)錯(cuò)處。經(jīng)反復(fù)修改后,程序會(huì)提示編譯成功,編譯成功的畫面如圖 4.1 所示:圖4.1 keil編譯成功keil 中的程序需生成 51 單片機(jī)可執(zhí)行的 hex 文件,需要對(duì)“目標(biāo) 1”的屬性進(jìn)行如圖 4.2 和圖 4.3 所示的操作。圖 4.2 目標(biāo) 1 的選項(xiàng)(1)圖4.3 目標(biāo)1的選項(xiàng)(2)4.34.3 proteusproteus 仿真仿真在proteus中打開前面所制作的工程,雙擊單片機(jī)芯片,在其屬性中填入上一部所生成的 e-lock.hex 文件,如圖6.4所示:圖4.4 at89c51的屬性點(diǎn)擊“開始仿真”按鈕后,就可以看到最終的制作成果了。初始狀

57、態(tài)如圖6.5所示。圖4.5 仿真初始狀態(tài)現(xiàn)在就可以逐一實(shí)現(xiàn)電子密碼鎖的各種功能。以下是電子密碼鎖各種功能實(shí)現(xiàn)的具體仿真過程:(1)本電子密碼鎖在密碼輸入過程中,每輸入一位密碼,都會(huì)在顯示屏上反應(yīng)出來,仿真效果圖如圖6.6所示。圖4.6 輸入密碼時(shí)的仿真圖 (2)本設(shè)計(jì)設(shè)定的初始密碼為111222,當(dāng)在4*3矩陣鍵盤上輸入111222并按下確認(rèn)鍵后,顯示屏上將顯示 “unlock succeed”,同時(shí)播放音樂,實(shí)現(xiàn)開鎖功能。在本設(shè)計(jì)的仿真中使用發(fā)光二極管代替實(shí)際產(chǎn)品中的電磁鎖,以發(fā)光二極管d1的發(fā)光代表鎖打開。密碼輸入正確,實(shí)現(xiàn)開鎖的仿真圖如圖6.7。圖4.7 密碼正確實(shí)現(xiàn)開鎖的仿真圖 (3)

58、當(dāng)密碼輸入有誤時(shí),顯示屏上將會(huì)顯示“wrong password, unlock failed !”,同時(shí)播放短促的報(bào)警聲,鎖保持關(guān)閉,發(fā)光二極管d1不發(fā)光。密碼輸入錯(cuò)誤,鎖不打開的仿真圖如圖6.8所示。圖4.8 密碼錯(cuò)誤不能開鎖的仿真圖(4)電子密碼鎖的密碼可修改。用戶確認(rèn)修改后會(huì)提示用戶輸入舊密碼,當(dāng)舊密碼輸入正確并驗(yàn)證通過后,即可設(shè)置新的密碼。按下“修改密碼”鍵后顯示屏的顯示情況如圖6.9所示。圖 4.9 詢問用戶是否要修改圖 4.10 確認(rèn)修改后畫面(5) 如果舊密碼輸入錯(cuò)誤則不能進(jìn)行新密碼的設(shè)置,顯示屏上會(huì)顯示“wrong password, match failed!”并于 3 秒

59、后要求重新輸入。顯示屏顯示如圖6.11 所示。圖 4.11 驗(yàn)證原密碼失敗的仿真圖(6)只有當(dāng)輸入的舊密碼正確時(shí),方可輸入新密碼,顯示如圖 6.12 所示。圖 4.12 新密碼輸入界面(7)只有當(dāng)輸入新的密碼是 6 位時(shí),電子密碼鎖的密碼才會(huì)更新,否則發(fā)出錯(cuò)誤警告,要求重新輸入,顯示圖如圖 6.13 所示。圖 4.13 新密碼不足 6 位的提示(8)密碼若成功更新,顯示屏將顯示提示信息“the password has changed!” 。如圖 6.14 所示。圖 4.14 新密碼設(shè)定成攻的提示5 5 結(jié)論結(jié)論進(jìn)行本次畢業(yè)設(shè)計(jì)的過程中,通過網(wǎng)絡(luò)與圖書館查閱了諸多資料,在老師的提點(diǎn)下,結(jié)合實(shí)際

60、,制作了一款功能較為齊全的電子密碼鎖,實(shí)現(xiàn)了報(bào)警、密碼修改等核心設(shè)計(jì)。本設(shè)計(jì)在充分探究實(shí)用性、經(jīng)濟(jì)性的基礎(chǔ)上,主控芯片選擇了單片機(jī) at89s51,顯示模塊選擇了 lcd1602,結(jié)合了自行設(shè)計(jì)的矩陣鍵盤、報(bào)警模塊等外圍電路,主控芯片的控制程序則使用 c 語言編寫而成,簡(jiǎn)潔而注釋充分條理,完成了課題的要求。 本設(shè)計(jì)在 proteus 軟件中設(shè)計(jì)了以 at89c51 單片機(jī)為核心,擁有矩陣鍵盤、顯示、報(bào)警、復(fù)位、晶振等諸多模塊的完整電路,并在 keil 中編寫了全套程序,程序中添加了較為詳細(xì)的注釋,便于閱讀、修改與維護(hù)。由 keil 獲取hex 文件后,在 proueus 進(jìn)行了成功的仿真,得到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論