智能門(mén)禁系統(tǒng)詳細(xì)設(shè)計(jì)剖析_第1頁(yè)
智能門(mén)禁系統(tǒng)詳細(xì)設(shè)計(jì)剖析_第2頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、智能門(mén)禁系統(tǒng)摘要:智能門(mén)禁系統(tǒng)采用凌陽(yáng)十六位單片機(jī)作為系統(tǒng)控制核心,利用其強(qiáng)大的語(yǔ)音識(shí)別功能,不僅實(shí)現(xiàn)了語(yǔ)音播放功能,完成了語(yǔ)音提示的要求,而且實(shí)現(xiàn)了語(yǔ)音控制門(mén)禁系統(tǒng);利用其內(nèi)置的Flash閃存,實(shí)現(xiàn)了密碼的斷電保護(hù)。除此而外,在鍵盤(pán)輸入方面,強(qiáng)大的功能選擇鍵滿足了系統(tǒng)的要求;16*2液晶顯示器的選擇使操作要求清晰明了。此套智能門(mén)禁系統(tǒng)強(qiáng)烈體現(xiàn)了其人性化的一面。關(guān)鍵詞:智能門(mén)禁系統(tǒng)、語(yǔ)音識(shí)別、凌陽(yáng)十六位單片機(jī)。引言家用防盜門(mén)早已經(jīng)進(jìn)入到千家萬(wàn)戶,但防盜門(mén)的操作麻煩給用戶帶來(lái)了許多不便,當(dāng)今市場(chǎng)迫切需要一種既安全又方便的門(mén)禁系統(tǒng),鑒于此,我們的“智能門(mén)禁系統(tǒng)”帶語(yǔ)音識(shí)別、液晶顯示功能的電子密碼鎖

2、便應(yīng)運(yùn)而生。為了向大家介紹此智能門(mén)禁系統(tǒng),我們將從以下幾個(gè)方面介紹:1、系統(tǒng)的制作意義。2、系統(tǒng)的制作早期構(gòu)想及其實(shí)現(xiàn)方案簡(jiǎn)介。3、系統(tǒng)功能最終實(shí)現(xiàn)及演示。4、系統(tǒng)硬件部分原理介紹。5、系統(tǒng)軟件部分設(shè)計(jì)實(shí)現(xiàn)。6、對(duì)系統(tǒng)的自我評(píng)價(jià)。(存在及要解決的問(wèn)題)7、制作心得和體會(huì)。8、參考文獻(xiàn)。9、附錄(一):凌陽(yáng)單片機(jī)最小系統(tǒng)。10、附錄(二):凌陽(yáng)單片機(jī)下電子密碼鎖程序?qū)崿F(xiàn)。11、附錄(三):器件列表。1系統(tǒng)的制作意義現(xiàn)在人們生活水平提高了,安全防范,是人們考慮的首要問(wèn)題。而鎖是解決安全問(wèn)題的重要產(chǎn)品。目前市場(chǎng)上的電子鎖產(chǎn)品功能不全,性能和安全性不高,且造價(jià)高。低質(zhì)量的電子鎖,給用戶的財(cái)產(chǎn)安全造成很

3、大威脅,同時(shí),由于功能的不健全,給用戶的使用帶來(lái)了一定麻煩。故我們?cè)噲D研制一種智能化、多功能、更人性化的門(mén)禁系統(tǒng)。我們研制的帶語(yǔ)音識(shí)別功能電子控制密碼鎖,不僅給用戶帶來(lái)了安全的保障,方便的享受,而且此電子鎖的語(yǔ)音識(shí)別功能更加體現(xiàn)了他人性化的一面,此種類(lèi)型的電子密碼鎖將成為未來(lái)社會(huì)的供求亮點(diǎn)。2系統(tǒng)的制作早期構(gòu)想及其實(shí)現(xiàn)方案簡(jiǎn)介1早期構(gòu)想預(yù)期實(shí)現(xiàn)功能如下:(1)、鍵盤(pán)簡(jiǎn)化及編碼方式的改進(jìn);鍵盤(pán)簡(jiǎn)化及編碼方式的改進(jìn):普通數(shù)字鍵密碼鎖雖然有使用簡(jiǎn)單的特點(diǎn),但是鍵盤(pán)暴露在外,易受破壞,或者保密性不高;此外,鍵盤(pán)數(shù)量的簡(jiǎn)化又同時(shí)增加了使用的難度,用戶使用不方便。大家可能見(jiàn)到過(guò)一些進(jìn)口的溫控制器(如日本R

4、KCINSTRUMENTINC.生產(chǎn)的REX_C700溫控器)的面板設(shè)計(jì)為:溫度測(cè)量只用4位LED數(shù)碼管顯示,輸入設(shè)定值顯示也用4位LED。綜合以上因素考慮,我們采取四按鍵的形式,輸入鍵分為加、減、左、右移動(dòng)鍵,按下加法鍵(減法鍵)確定一位密碼的值,然后使用左右移動(dòng)鍵移向下一位密碼,再一次使用加、減鍵確定此位密碼的值。(備注:這部分雖然沒(méi)有實(shí)現(xiàn),但我們的16位鍵盤(pán)設(shè)置更加體現(xiàn)了系統(tǒng)功能的強(qiáng)大性)(2)、語(yǔ)音識(shí)別系統(tǒng)控制;語(yǔ)音識(shí)別功能,語(yǔ)音控制門(mén)禁開(kāi)關(guān)。(3)、語(yǔ)音提示功能;(4)、自動(dòng)實(shí)現(xiàn)報(bào)警;當(dāng)門(mén)禁系統(tǒng)輸入密碼錯(cuò)誤過(guò)多時(shí),自動(dòng)報(bào)警(5)、斷電密碼保護(hù);出現(xiàn)斷電、多次錯(cuò)誤密碼輸入時(shí)的處理(6)

5、、限時(shí)開(kāi)門(mén)系統(tǒng);(這部分功能我們沒(méi)能實(shí)現(xiàn),很是遺憾)(7)、液晶顯示功能;在初期設(shè)計(jì)電路時(shí),我們計(jì)劃采取51單片機(jī)作為我們的控制核心,然而,語(yǔ)音識(shí)別功能、語(yǔ)音提示功能、密碼斷電保護(hù)功能需要我們外擴(kuò)集成芯片才能滿在此種條件下我們用51單片機(jī)做出了一個(gè)簡(jiǎn)單的系統(tǒng),基本實(shí)現(xiàn)了電子密碼鎖的鍵盤(pán)輸入和液晶顯示功能。具體電路圖如下:謂咅fl號(hào)處毘喪塊FLASH1其軟件編程實(shí)現(xiàn)程序見(jiàn)附錄(一):其實(shí)現(xiàn)功能如下:1、設(shè)置密碼,斷電不保護(hù);2、輸入密碼,與系統(tǒng)原有密碼或者設(shè)置新密碼比較;3、液晶顯示功能;4、報(bào)警功能;顯然,這個(gè)“最小系統(tǒng)”的制作無(wú)法滿足我們預(yù)期的功能實(shí)現(xiàn),如果采用外擴(kuò)集成芯片的做法,不僅從技術(shù)

6、上,還是從經(jīng)濟(jì)方面考慮都不是一個(gè)明智的選擇。鑒于此,我們采用凌陽(yáng)單片機(jī)作為我們的控制電路核心,凌陽(yáng)十六位單片機(jī)不僅內(nèi)置32kFlash(閃存),而且集成了語(yǔ)音識(shí)別模塊,從根本上,凌陽(yáng)單片機(jī)滿足了系統(tǒng)的基本要求,具體功能實(shí)現(xiàn)以及電路設(shè)計(jì)在以下詳細(xì)介紹。3系統(tǒng)功能最終實(shí)現(xiàn)及演示此系統(tǒng)現(xiàn)階段包括以下幾個(gè)模塊:1)、鍵盤(pán)輸入密碼此系統(tǒng)采用4*4按鍵輸入模式,密碼初始設(shè)置為4位,(從軟件上很容易實(shí)現(xiàn)更多位數(shù)的密碼操作,為操作演示計(jì),我們采用4位)。各個(gè)按鍵功能的定義如下:1、09數(shù)字健指定為密碼設(shè)置?。▋H且只有他們能夠作為密碼值)2、A確認(rèn)?。ò聪麓随I,即比較輸入密碼值正確如否)3、B取消鍵(按下此鍵,

7、即取消上一次操作)4、C開(kāi)啟語(yǔ)音功能鍵(按下此鍵,再次輸入密碼,就可以開(kāi)啟語(yǔ)音控制功能)5、D關(guān)閉語(yǔ)音功能鍵(按下次鍵,就可以關(guān)閉語(yǔ)音控制功能)6、E修改密碼鍵(按下次鍵,再次輸入密碼,通過(guò)驗(yàn)證后,連續(xù)輸入兩次新的密碼就可以設(shè)置新的密碼)7、F更改語(yǔ)音控制口令(按下次鍵,再次輸入密碼,通過(guò)驗(yàn)證后,即可進(jìn)入語(yǔ)音口令修改程序操作)2)、語(yǔ)音控制輸入進(jìn)入語(yǔ)音控制功能后,先進(jìn)行語(yǔ)音控制訓(xùn)練操作(訓(xùn)練過(guò)后此操作可跳過(guò)),訓(xùn)練成功后,方可進(jìn)行語(yǔ)音控制,并且時(shí)時(shí)可以關(guān)閉語(yǔ)音功能。此外,語(yǔ)音口令還可以時(shí)時(shí)修改,再次進(jìn)行語(yǔ)音控制訓(xùn)練操作即可。3)、密碼修改操作此系統(tǒng)的密碼設(shè)置存在Flash中,斷電不丟失,密碼修

8、改后,系統(tǒng)原密碼作廢,新的密碼生效,并存入Flash中。4)、語(yǔ)音提示操作對(duì)應(yīng)于每一種操作,系統(tǒng)均給予一定的語(yǔ)音提示。如:“請(qǐng)輸入密碼”、“密碼錯(cuò)誤”等。5)、液晶顯示功能對(duì)應(yīng)于每一種操作,系統(tǒng)均給予一定的顯示提示,方便操作。6)、液晶背光功能實(shí)現(xiàn)為了實(shí)現(xiàn)液晶背光功能,我們?cè)O(shè)計(jì)了一下三種電路:超聲波探測(cè)電路、光敏傳感電路、按鍵觸發(fā)電路,在光線好的情況下,液晶不背光顯示,光線差時(shí),有按鍵或探測(cè)到有人接近時(shí)背光顯示。7)、系統(tǒng)執(zhí)行機(jī)構(gòu)系統(tǒng)執(zhí)行機(jī)構(gòu)我單片機(jī)I/O口輸出控制的繼電器。8)、報(bào)警蜂鳴器9)、電源信號(hào)指示燈10)、控制信號(hào)指示燈4系統(tǒng)硬件部分原理介紹此系統(tǒng)硬件部分電路核心部分為凌陽(yáng)單片機(jī)及

9、其外圍電路(包括語(yǔ)音識(shí)別、輸出電路),外圍電路有:鍵盤(pán)輸入、液晶顯示、執(zhí)行機(jī)構(gòu)電路,此外,為了實(shí)現(xiàn)液晶顯示器的背光功能,我們采用了超聲波探測(cè)電路、光敏傳感電路、輸出延時(shí)電路等。電路總體設(shè)計(jì)模塊方框圖如下:為了詳細(xì)介紹我們的電路功能模塊,我們將在下面分塊介紹本系統(tǒng)的各個(gè)功能模塊:1、電源部分:2、電源信號(hào)燈:3、凌陽(yáng)十六位單片機(jī)控制電路:見(jiàn)附錄(一)4、被控制的繼電器:5、控制信號(hào)燈:6、蜂鳴器:7、鍵盤(pán)輸入部分:8、液晶顯示部分:9、背光功能控制模塊基本方框圖如下:1)、超聲波探測(cè)發(fā)射部分:(含波形)2)、超聲波探測(cè)接收放大電路:4)、輸入信號(hào)延遲電路:S4555真¥JP?+5V5系

10、統(tǒng)軟件部分設(shè)計(jì)實(shí)現(xiàn)1、軟件設(shè)計(jì)操作平臺(tái)簡(jiǎn)介:anSp®IDEP直CITOK作更加萬(wàn)使、肓戍,itt?h-它的軟二信真功証可以半違接仿真扳-模擁t更件時(shí)郃弁功能釆調(diào)試程廳"GNDnSP®IDE工作界面如下:本科生科技創(chuàng)新活動(dòng)設(shè)計(jì)12、此系統(tǒng)功能復(fù)雜,但軟件設(shè)計(jì)較為簡(jiǎn)單,程序功能實(shí)現(xiàn)簡(jiǎn)介圖如下:CABDEF返回更改語(yǔ)音口令按照液晶顯示提示進(jìn)行操作,輸入四位密碼后按確認(rèn)鍵。設(shè)置新的密碼輸入四位數(shù)字則為密碼,否則跳到功能鍵上檢驗(yàn)密碼正確與否密碼正確執(zhí)行相應(yīng)操作;密碼錯(cuò)誤超過(guò)三次報(bào)警開(kāi)啟語(yǔ)音功能取消關(guān)閉語(yǔ)音功能鍵盤(pán)掃描斗開(kāi)始系統(tǒng)初始化數(shù)字鍵對(duì)操作程序的解釋以及要求:1、直接

11、輸入密碼開(kāi)門(mén);輸入四位密碼后按確認(rèn)鍵,比較密碼,密碼正確表開(kāi)啟門(mén)禁系統(tǒng),并有“門(mén)已經(jīng)打開(kāi),請(qǐng)進(jìn)”的提示余音。2、設(shè)置新的密碼;按下B鍵后,輸入原密碼,確認(rèn)后輸入新的密碼,確認(rèn)后再次輸入新的密碼,檢驗(yàn)正確后,密碼修改成功,原密碼作廢。3、開(kāi)啟語(yǔ)音功能;按下C鍵,輸入密碼確認(rèn)后,進(jìn)入語(yǔ)音識(shí)別模式。如果是第一次進(jìn)入語(yǔ)音識(shí)別模式,需要進(jìn)行語(yǔ)音識(shí)別訓(xùn)練,訓(xùn)練兩遍正確后,完成訓(xùn)練操作,此時(shí)語(yǔ)音識(shí)別功能實(shí)時(shí)監(jiān)測(cè)。在語(yǔ)音識(shí)別實(shí)時(shí)監(jiān)測(cè)的同時(shí),我們的鍵盤(pán)掃描并沒(méi)有停止,也就是說(shuō)我們的鍵盤(pán)輸入等級(jí)高于語(yǔ)音識(shí)別模式,在任何情況下鍵盤(pán)輸入都是有效的。4、關(guān)閉語(yǔ)音識(shí)別功能;按下D鍵,不需要輸入密碼即可關(guān)閉語(yǔ)音識(shí)別功能,要

12、想開(kāi)啟此項(xiàng)功能,必須按下C鍵開(kāi)啟語(yǔ)音識(shí)別功能。5、更改語(yǔ)音口令;按下E鍵,進(jìn)入語(yǔ)音識(shí)別口令修改模塊,輸入密碼確認(rèn)后,進(jìn)入語(yǔ)音口令修改訓(xùn)練模塊,根據(jù)語(yǔ)音提示以及液晶顯示很方便的就可以成功更改語(yǔ)音口令。6、取消鍵;按下F鍵,即可取消所有操作,回到系統(tǒng)初始化后的界面。主程序見(jiàn)附錄(二):6對(duì)系統(tǒng)的自我評(píng)價(jià)在總體上,我們對(duì)這個(gè)系統(tǒng)的設(shè)計(jì)還是比較滿意的,但是,雖然我們對(duì)這個(gè)項(xiàng)目投入了大量的時(shí)間和精力,由于知識(shí)有限,我們?cè)诤芏喾矫嬗泻芏嗟牟蛔阒?。以下我將從硬件和軟件兩個(gè)方面來(lái)闡述這個(gè)系統(tǒng)的各個(gè)部分:硬件部分:1我們認(rèn)為,我們做得比較成功的地方就是通過(guò)超聲波探測(cè)、光敏傳感以及延時(shí)電路的組成實(shí)現(xiàn)了液晶顯示器

13、的背光功能2此外,我們的液晶顯示和鍵盤(pán)電路十分簡(jiǎn)潔。3遺憾的是,超聲波探測(cè)精度不高,準(zhǔn)確性有待改進(jìn)。軟件部分:1一提的是,在整個(gè)系統(tǒng)設(shè)計(jì)過(guò)程中,語(yǔ)音控制和語(yǔ)音輸出提示一直是我們軟件設(shè)計(jì)的重點(diǎn),同時(shí)也是我們的亮點(diǎn),體現(xiàn)了我們?cè)O(shè)計(jì)系統(tǒng)人性化的一面。2鍵盤(pán)掃描和液晶驅(qū)動(dòng)工程中,我們?cè)敱M地應(yīng)用了科學(xué)的軟件設(shè)計(jì)思想,使程序簡(jiǎn)潔,有效。3此外,我們的主程序設(shè)計(jì),結(jié)構(gòu)鮮明,條理清晰。4但是,美中不足的是,我們?cè)陂_(kāi)啟語(yǔ)音功能時(shí),系統(tǒng)時(shí)鐘不斷變化,所以造成鍵盤(pán)掃描的不成熟,此處有待改進(jìn)。7系統(tǒng)設(shè)計(jì)過(guò)程中的實(shí)踐體驗(yàn)通過(guò)對(duì)該系統(tǒng)的設(shè)計(jì),我們不僅收獲頗豐,而且體會(huì)也頗深。1過(guò)這次設(shè)計(jì),我們深深體會(huì)到,理論指導(dǎo)著實(shí)踐,

14、但實(shí)踐才是最終的目標(biāo)。我們?cè)谠O(shè)計(jì)過(guò)程中,往往遇到這樣的情況,設(shè)計(jì)的電路從理論上毫無(wú)差錯(cuò),但實(shí)現(xiàn)起來(lái)卻是困難重重。只有在不斷的摸索中才能找到界卻問(wèn)題的方法。2們深深體會(huì)到團(tuán)體合作,在項(xiàng)目制作過(guò)程中十分重要,好的合作精神需要我們時(shí)時(shí)刻刻牢記在心。3在任何時(shí)候,科技離不開(kāi)創(chuàng)新,在設(shè)計(jì)項(xiàng)目的同時(shí),我們需要拋棄成見(jiàn)標(biāo)新立異,敢于實(shí)現(xiàn)。在這一點(diǎn)上,我認(rèn)為我們做得比較成功。在設(shè)計(jì)系統(tǒng)初始,我們采用51系列單片機(jī),而語(yǔ)音功能卻只能外擴(kuò)專(zhuān)用芯片,實(shí)現(xiàn)起來(lái)比較困難,最后我們大膽采用凌陽(yáng)單片機(jī)一舉解決語(yǔ)音控制問(wèn)題。制作過(guò)程中,齊明老師在技術(shù)上給予極大的幫助和支持。在此,感謝齊明老師對(duì)我們電子制作的指導(dǎo)!總之,這次活

15、動(dòng)給我們帶來(lái)了無(wú)窮的收獲和樂(lè)趣,感謝學(xué)校和老師給我們提供了一個(gè)鍛煉的大舞臺(tái)。8參考文獻(xiàn)凌陽(yáng)十六位單片機(jī)應(yīng)用教程MCS-51單片機(jī)應(yīng)用設(shè)計(jì)元器件手冊(cè)9附錄凌陽(yáng)單片機(jī)最小系統(tǒng)附錄(一):附錄(二):凌陽(yáng)單片機(jī)下電子鎖程序?qū)崿F(xiàn)鱷1ltb口丄L廠#include"bsrsd.h"#defineHaveKey1#defineNoKey0#defineNAME_ID0x100#defineRSP_AGAIN1#defineRSP_NOVOICE2#defineRSP_NAMEDIFF3#defineRSP_CMDDIFF4#defineRSP_STAR5#defineRSP_NOISY

16、6/宏定義#defineHaveKey1#defineNoKey0/全程變量externvoidClearWatchDog();intPlayFlag=0;/保存按鍵次unsignedintKey_Value;unsignedintKeyDownTimes;數(shù)/按鍵標(biāo)識(shí)/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

17、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*/函數(shù)聲明voidClear_Password();unsignedintF_Affirm_New_Password();unsignedintF_Affirm_Password();voidSave_New_Pwd_To_Flash();voidLCD_SHOW(charSentence);voidPlayRespond(intResult);intTrainWord(intWordID,intRespondID);/全局變量定義externPwd_Init1;unsignedintPassword4;un

18、signedintPassword_Temp4;unsignedintKey_Flag=0;unsignedintKey_Num=0;unsignedintTrained=0;/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*/main()intres,timeCnt=0,random_no=0,Error_No=0,NoKey_Times=10;inti;intPass=0;/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#

19、J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*/變量定義unsignedState=1,Voice_State=0;/這個(gè)變量用于判斷目前除在哪中輸入狀態(tài)中/1:普通開(kāi)門(mén)狀態(tài)2:更改密碼,輸入原密碼狀態(tài)3:更改密碼,第一次輸入新密碼狀態(tài)/4:更改密碼,第二次輸入新密碼狀態(tài)5:進(jìn)入語(yǔ)音系統(tǒng)時(shí)輸入密碼狀態(tài)6:進(jìn)入語(yǔ)

20、音系統(tǒng)重新訓(xùn)練/輸入密碼驗(yàn)證/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J

21、*#J*#J*#J*#J*#J*#J*/Protect_Clock();InitIO();鍵盤(pán)KeyDownTimes=0;Key_Flag=NoKey;/初始化存儲(chǔ)器RAMClearWatchDog();BSR_DeleteSDGroup(0);LCD_INIT();INIT_GONGNENG();Clear_Password();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");if(F_FlashRead(Pwd_Init)F_FlashErase(0xfe00);for(i

22、=0;i<4;i+)F_FlashWrite1Word(0xfe00+i,i);F_FlashWrite1Word(Pwd_Init,0);while(1)ClearWatchDog();Protect_Clock();InitIO();鍵盤(pán)if(Voice_State)Protect_Clock_fast();elseProtect_Clock();F_Key_Scan();while(Key_Flag=HaveKey)/有按鍵按下Key_Value=F_Get_Key();if(Voice_State=0)while(NoKey_Times!=0)F_Key_Scan();if(Ke

23、y_Flag=NoKey)NoKey_Times-;elseNoKey_Times=10;NoKey_Times=10;/打開(kāi)背光功能LCD_LIGHT_OPEN();Key_Flag=NoKey;switch(Key_Value)/判斷鍵值/09表示輸入的是密碼,將等待下一個(gè)鍵的輸入case0:case1:case2:case3:case4:case5:case6:case7:case8:case9:if(Key_Num=0)LCD_CLEAR();LCD_SHOW("Password:");SET_Address2();if(Key_Num<4)PasswordK

24、ey_Num+=Key_Value;/保存輸入的鍵值,已輸入按鍵數(shù)加一LCD_ADD(Key_Value+'0');/屏幕上顯示一個(gè)*號(hào)DELAY();if(Key_Num>4)Key_Num+;LCD_ADD('*');DELAY();break;case10:/6:進(jìn)入語(yǔ)音系統(tǒng)重新訓(xùn)練輸入密碼驗(yàn)證LCD_CLEAR();LCD_SHOW("Trainthevoice!");SET_Address2();LCD_SHOW("CheckyouID:");PlayRespond(6);/語(yǔ)音提示*"請(qǐng)輸入密碼

25、(6)"!Protect_Clock();State=6;Key_Num=0;break;case11:/確認(rèn)鍵/輸入新密碼時(shí)的兩個(gè)狀態(tài)處理方式有所不同if(State=3)if(Key_Num=4)LCD_CLEAR();LCD_SHOW("PleaseAgain!");SET_Address2();LCD_SHOW("InputnewPWD:");PlayRespond(8);/語(yǔ)音提示*“請(qǐng)?jiān)俅屋斎胄旅艽a(7)“!Protect_Clock();for(i=0;i<4;i+)/*把這個(gè)密碼存到臨時(shí)變量Password_Temp中*/

26、Password_Tempi=Passwordi;Pass=0;Key_Num=0;State=4;break;elseLCD_CLEAR();LCD_SHOW("4bitPSW!");SET_Address2();LCD_SHOW("PleaseAgain!");PlayRespond(7);/語(yǔ)音提示*“密碼錯(cuò)誤(3)”!Protect_Clock();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");Key_Nu

27、m=0;State=1;break;elseif(State=4)Pass=0;Pass=F_Affirm_New_Password();/第二遍輸入密碼時(shí)的驗(yàn)證elsePass=0;Pass=F_Affirm_Password();/驗(yàn)證密碼if(Pass=1)/密碼正確/判斷目前狀態(tài),確定這個(gè)正確的密碼是用來(lái)干嗎的Pass=0;Error_No=0;LCD_LIGHT_OFF();switch(State)case1:DOOR_OPEN();/*開(kāi)門(mén)*/LIGHT_OPEN();LCD_CLEAR();LCD_SHOW("DOOROPENED");PlayRespond

28、(12);/語(yǔ)音提示*“主人您好,門(mén)已經(jīng)開(kāi)了(!Protect_Clock();SET_Address2();LCD_SHOW("BestWishes!");DOOR_OFF();LIGHT_OFF();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");Key_Num=0;State=1;break;case2:LCD_CLEAR();LCD_SHOW("Passwordright!");SET_Address2();

29、LCD_SHOW("Newpassword:");PlayRespond(8);/語(yǔ)音提示*請(qǐng)輸入新密碼!Protect_Clock();State=3;break;case4:Save_New_Pwd_To_Flash();/保存新密碼LCD_CLEAR();LCD_SHOW("Successfully!");SET_Address2();LCD_SHOW("RemenberTheNew");PlayRespond(9);/語(yǔ)音提示*密碼修改成功,要記住哦!Protect_Clock();LCD_CLEAR();LCD_SHOW(&

30、quot;Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");State=1;break;case5:if(Trained)Voice_State=1;elsewhile(TrainWord(NAME_ID,0)!=0);BSR_InitRecognizer(BSR_MIC);/辨識(shí)器初始化Protect_Clock();*侔*柏FM*軸*BSR_EnableCPUIndicator();/啟動(dòng)實(shí)時(shí)監(jiān)控PlayRespond(RSP_STAR);/*播放開(kāi)始辨識(shí)的提示音Protect_Clock();/*保護(hù)時(shí)鐘

31、*Trained=1;Voice_State=1;LCD_CLEAR();LCD_SHOW("Voiceon");SET_Address2();/語(yǔ)音提示LCD_SHOW("Rememberit!");PlayRespond(13);*語(yǔ)音功能已經(jīng)開(kāi)啟!Protect_Clock();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");State=1;break;case6:/重新輸入開(kāi)始語(yǔ)音訓(xùn)練Trained=0;if

32、(Trained)Voice_State=1;elseBSR_DeleteSDGroup(0);/初始化存儲(chǔ)器RAMwhile(TrainWord(NAME_ID,0)!=0);BSR_InitRecognizer(BSR_MIC);/辨識(shí)器初始化BSR_EnableCPUIndicator();/啟動(dòng)實(shí)時(shí)監(jiān)控PlayRespond(RSP_STAR);/播放開(kāi)始辨識(shí)的提示音Protect_Clock();Trained=1;Voice_State=1;LCD_CLEAR();LCD_SHOW("VoiceTrained!");SET_Address2();LCD_SHOW

33、("Rememberit!");PlayRespond(9);/語(yǔ)音提示*語(yǔ)音密碼修改成功!Protect_Clock();InitIO();鍵盤(pán)KeyDownTimes=0;Key_Flag=NoKey;/BSR_DeleteSDGroup(0);/初始化存儲(chǔ)器RAMLCD_INIT();INIT_GONGNENG();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");State=1;break;default:break;/Switc

34、h(State)Clear_Password();Key_Num=0;break;/if(pass=1)elseError_No+;if(Error_No<3)LCD_CLEAR();LCD_SHOW("errorpwd");SET_Address2();LCD_SHOW("Rememberit!");誤!PlayRespond(7);/語(yǔ)音提示*密碼錯(cuò)Protect_Clock();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?

35、F?.");elseLCD_CLEAR();LCD_SHOW("errorpwd");SET_Address2();LCD_SHOW("Rememberit!");ALARM();PlayRespond(10);/語(yǔ)音提示*我要報(bào)警了!.1!Protect_Clock();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");Clear_Password();Key_Num=0;State=1;break;cas

36、e12:/取消鍵LCD_CLEAR();LCD_SHOW("Cancel");SET_Address2();LCD_SHOW("Doitagain!");Clear_Password();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");Key_Num=0;State=1;break;case13:/更改鍵LCD_CLEAR();LCD_SHOW("Modifypasswd!");SET_Addre

37、ss2();LCD_SHOW("CheckyouID:");PlayRespond(6);/語(yǔ)音提示*"請(qǐng)輸入密碼Protect_Clock();State=2;break;case14:/進(jìn)入語(yǔ)音LCD_CLEAR();LCD_SHOW("Openvoice!");SET_Address2();LCD_SHOW("CheckyouID:");PlayRespond(6);/語(yǔ)音提示*"請(qǐng)輸入密碼Protect_Clock();State=5;break;case15:/關(guān)閉語(yǔ)音LCD_CLEAR();LCD_SH

38、OW("VOICEOFF");SET_Address2();LCD_SHOW("Rememberit!");Voice_State=0;PlayRespond(11);/語(yǔ)音提示*"語(yǔ)音功能關(guān)閉!Protect_Clock();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");break;default:break;/與switch(KeyValue)相對(duì)應(yīng)/與while(有鍵按下)if(Voice_Stat

39、e)Protect_Clock_fast();res=ProtectA_BSR_GetResult();Protect_Clock();if(res>0)/識(shí)別出命令switch(res)caseNAME_ID:/觸發(fā)命令響應(yīng)DOOR_OPEN();/*開(kāi)門(mén)*/LIGHT_OPEN();LCD_CLEAR();LCD_SHOW("DOOROPENED");PlayRespond(12);/語(yǔ)音提示*“主人您好,門(mén)已經(jīng)開(kāi)了!Protect_Clock();SET_Address2();LCD_SHOW("BestWishes!");DOOR_OFF();LIGHT_OFF();LCD_CLEAR();LCD_SHOW("Welcome!");SET_Address2();LCD_SHOW("A?B?C?D?E?F?.");Key_Num=0;/*?State=1;/*?/if(Voice_state=1)break;/while(1)/main()/voidClear_Password()inti;for(i=0;i<4;i+)Passwordi=0;Password_Tempi=0;Key_Num=0;/unsignedintF_A

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論