畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)控制的紅外電子密碼鎖_第1頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)控制的紅外電子密碼鎖_第2頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)控制的紅外電子密碼鎖_第3頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)控制的紅外電子密碼鎖_第4頁
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)控制的紅外電子密碼鎖_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、泉 州 師 范 學(xué) 院畢業(yè)論文(設(shè)計(jì))題 目 基于單片機(jī)控制的紅外電子密碼鎖 物理與信息工程學(xué) 院 電子信息科學(xué)與技術(shù)專 業(yè)07級(jí)1班學(xué)生姓名 學(xué) 號(hào) 指導(dǎo)教師 職 稱 教授 完成日期 教務(wù)處 制基于單片機(jī)控制的紅外電子密碼鎖物理與信息工程學(xué)院 電子信息科學(xué)與技術(shù)指導(dǎo)老師 教授摘 要:隨著科學(xué)技術(shù)的不斷提高,傳統(tǒng)的機(jī)械鎖漸漸的不能滿足現(xiàn)代人的需要,鑰匙互開鎖的機(jī)率很高,這使用戶的安全性大打折扣。而電子密碼鎖的誕生克服了機(jī)械鎖的一系列缺點(diǎn),特別是安全性能,它取代傳統(tǒng)機(jī)械鎖是一種發(fā)展趨勢(shì),應(yīng)用將日益廣泛。本次設(shè)計(jì)的是一款具有紅外遙控功能的電子密碼鎖。設(shè)計(jì)分為矩陣式鍵盤輸入模塊、紅外遙控輸入模塊、紅

2、外芯片解碼模塊、存儲(chǔ)器電路模塊、語音芯片模塊、繼電器控制模塊、聲光提示模塊和顯示模塊。用宏晶的stc89c52rc作為整個(gè)系統(tǒng)的控制核心,整個(gè)系統(tǒng)電路簡(jiǎn)單、功能完善、性價(jià)比高、操作方便,達(dá)到了人機(jī)交互的目的。關(guān)鍵詞:電子密碼鎖;語音芯片;stc89c52rc;紅外;第一章:緒論進(jìn)入電氣化時(shí)代,一切都往智能化的方向發(fā)展,人們對(duì)生活質(zhì)量,生活水平的要求越來越高,智能化將逐步取代人工手動(dòng),成為這世界的主要控制手段。傳統(tǒng)的手工開鎖已經(jīng)無法滿足人滿的生活要求,近幾年來隨著犯罪手段的高端化,人們對(duì)家庭防盜鎖的要求也越來越高。1.1 選題的背景社會(huì)的飛速發(fā)展,文明進(jìn)步的同時(shí)不文明的行為也在猖獗,如何實(shí)現(xiàn)家庭

3、防盜這一問題變的尤為突出,傳統(tǒng)的機(jī)械鎖構(gòu)造簡(jiǎn)單,開鎖手法單一,已經(jīng)無法抵抗日益高超的偷盜技巧。電子技術(shù)的進(jìn)步讓智能化進(jìn)入人們的日常生活,當(dāng)前國內(nèi)外鎖的形式也越來越多,聲控鎖,指紋識(shí)別的鎖,密碼鎖,遙控鎖等先進(jìn)的鎖具也層出不窮。雖然這類產(chǎn)品安全性能很高,保密性好,但由于生產(chǎn)成本過高,攜帶安裝和使用都不方便,在一定程度上也限制了這些產(chǎn)品的普及和推廣1-5。而本次設(shè)計(jì)是在單片機(jī)控制下的紅外遙控鎖,是對(duì)單片機(jī)技術(shù)和紅外傳感器技術(shù)的一個(gè)結(jié)合。它具有安全性高,性價(jià)比高等優(yōu)點(diǎn)。二十一世紀(jì)各種電子信息技術(shù)進(jìn)入高速發(fā)展時(shí)期,包括信息系統(tǒng)微電子、計(jì)算機(jī)技術(shù)、現(xiàn)代通信技術(shù)、傳感器技術(shù)。傳感器技術(shù)中也包括了紅外線傳感

4、器技術(shù)。紅外線是一種肉眼看不見的光線,最近幾十年來,斬露頭角的紅外傳線技術(shù),在各個(gè)領(lǐng)域中都到了廣泛的應(yīng)用。開始應(yīng)用到了生產(chǎn)生活中,逐漸形成了一門嶄新的技術(shù)紅外線技術(shù)。紅外線技術(shù),顧名思義,就是通過紅外線進(jìn)行數(shù)據(jù)傳輸。在計(jì)算機(jī)技術(shù)發(fā)展的早期,數(shù)據(jù)都是通過電纜光纜進(jìn)行傳輸?shù)?,傳輸連接線麻煩,需要特制的接口,使用起來很不方便。后來就有了紅外線、藍(lán)牙等無線數(shù)據(jù)傳輸技術(shù)。紅外通訊技術(shù)是利用紅外線來進(jìn)行數(shù)據(jù)傳輸,是無線通訊的一種。紅外線的特點(diǎn)是紅外傳輸是一種點(diǎn)對(duì)點(diǎn)的傳輸方式,傳輸距離比較近,而且要對(duì)準(zhǔn)接收方向,中間不能有障礙。由于紅外線是直線傳輸,所以紅外通訊技術(shù)不太適用于障礙比較多的地方。1.2目前國內(nèi)

5、外的研究現(xiàn)狀紅外遙控技術(shù)是目前家用電器中用得比較多的遙控方式,在車載影音導(dǎo)航系統(tǒng)、手機(jī)傳輸系統(tǒng)等領(lǐng)域也被廣泛的應(yīng)用。紅外遙控設(shè)備具有不影響周邊環(huán)境、不干擾其他設(shè)備的特點(diǎn)。由于其無法穿透障礙物,所以不同房間的家用電器可以使用通用的遙控器而不會(huì)相互干擾;電路調(diào)試比較簡(jiǎn)單,只要按照給定的電路連接和按鍵說明,一般不需調(diào)試可直接投入工作;編碼解碼較為容易,可同時(shí)進(jìn)行多路遙控。由于各個(gè)廠家生產(chǎn)了大量紅外遙控專用的集成電路,需要時(shí)按說明書直接操作就可以了。因此,紅外遙控器在家用電器近距離(小于 10 米)的傳輸中得到了廣泛的應(yīng)用6-7。1.3 課題的研究方法本次設(shè)計(jì)是基于單片機(jī)stc89c52rc控制,以紅

6、外遙控器發(fā)送密碼,紅外一體化接頭接收并送給單片機(jī)解碼,可實(shí)現(xiàn)對(duì)密碼的修改,刪除,利用at24c02對(duì)密碼進(jìn)行保存。密碼解鎖機(jī)會(huì)只有三次,若連續(xù)三次密碼錯(cuò)誤系統(tǒng)自動(dòng)報(bào)警后并啟動(dòng)管理者密碼。利用液晶顯示屏lcd1602進(jìn)行顯示。制作時(shí)先各個(gè)模塊單獨(dú)進(jìn)行調(diào)試,當(dāng)每個(gè)模塊的功能都實(shí)現(xiàn)后再整合起來,用于達(dá)到預(yù)期的目標(biāo)。1.4 本論文的方案設(shè)計(jì)用單片機(jī)作為整個(gè)密碼鎖的核心模塊,用戶通過紅外遙控或鍵盤輸入密碼,語言芯片提示用戶所進(jìn)行的操作,儲(chǔ)存芯片保存著用戶的密碼,繼電器控制著密碼鎖的關(guān)閉,單片機(jī)對(duì)用戶所輸入的密碼進(jìn)行判斷,從而實(shí)現(xiàn)了電子密碼鎖的一系列功能,通過液晶顯示以及聲光提醒,達(dá)到了人機(jī)交互的目的。第

7、二章:總體方案本設(shè)計(jì)分為矩陣式鍵盤輸入模塊、紅外遙控輸入模塊、紅外芯片解碼模塊、存儲(chǔ)器電路模塊、語音芯片模塊、繼電器控制模塊、聲光提示模塊和顯示模塊。采用stc89c52rc來作為系統(tǒng)控制芯片。系統(tǒng)結(jié)構(gòu)如圖1所示。stc89c52rc鍵盤輸入模塊紅外遙控輸入模塊紅外接收芯片模塊存儲(chǔ)器電路模塊語音芯片模塊繼電器控制模塊聲光提示模塊顯示模塊圖1 系統(tǒng)結(jié)構(gòu)款圖第三章:硬件電路設(shè)計(jì)3.1 單片機(jī)外圍電路采用stc89c52rc來作為系統(tǒng)控制芯片。與標(biāo)準(zhǔn)8051的計(jì)數(shù)器、定時(shí)器相比,該單片機(jī)多了一個(gè)定時(shí)器/中斷器,含有8k的rom,存儲(chǔ)能力比8051多了一倍, 該單片機(jī)是8051內(nèi)核的加強(qiáng)產(chǎn)品8。單片機(jī)

8、外圍電路如圖2所示,采用12mhz的晶振;p2口與矩陣式鍵盤相連;p1口與lcd1602八根數(shù)據(jù)線相連,三根控制線分別與p3.7、p3.6、p3.5相連;p0.4到p0.7與語音芯片isd1720工作在spt模式的四跟控制線相連;p0.2為報(bào)警輸出口,當(dāng)用戶輸入密碼三次錯(cuò)誤時(shí),輸出低電平,蜂鳴器響;p0.0、p0.1與存儲(chǔ)器芯片at24c02相連;p0.3與發(fā)光二極管相連,當(dāng)密碼輸入正確時(shí),點(diǎn)亮發(fā)光二極管;p3.4與繼電器相連,控制密碼鎖的關(guān)閉,當(dāng)密碼輸入正確時(shí),該口位輸出高電平,電子密碼鎖打開。p3.2與紅外接收芯片相連,用來促發(fā)外部中斷0。圖2 單片機(jī)外圍電路3.2 鍵盤電路由于該設(shè)計(jì)要應(yīng)

9、用到較多的按鍵,所以鍵盤電路采用矩陣式鍵盤,如圖3所示。其中0到9有十個(gè)數(shù)字鍵,在編程上用戶輸入的密碼為6位,6位隨機(jī)的數(shù)字組合可以高達(dá)百萬種,對(duì)電子密碼鎖的安全性有了保障。當(dāng)輸入的數(shù)字有錯(cuò)時(shí),可以按“刪除”鍵,刪掉當(dāng)前的數(shù)字?!按_認(rèn)”鍵是在密碼輸入完畢時(shí)才有效。當(dāng)密碼輸入正確時(shí),電子密碼鎖打開,此時(shí)“修改密碼”鍵才有效,否則按下該鍵系統(tǒng)沒反應(yīng)。當(dāng)輸入密碼有錯(cuò)時(shí),用戶可以重新輸入密碼,但當(dāng)連續(xù)三次密碼都輸錯(cuò)時(shí),必須輸入9位的管理者密碼?!皢?dòng)”鍵作為一個(gè)開關(guān)鍵,只有在“啟動(dòng)”鍵打開時(shí),系統(tǒng)才正常工作。當(dāng)電子密碼鎖打開時(shí),10秒之內(nèi)沒去動(dòng),單片機(jī)將自動(dòng)關(guān)掉“啟動(dòng)”鍵,此時(shí)系統(tǒng)處于省電模式。 圖3

10、 矩陣式鍵盤電路3.3 紅外接收芯片電路本設(shè)計(jì)中紅外接收芯片選用一體化紅外線接收器,該紅外接收頭只有三個(gè)引腳:信號(hào)輸出腳、接地腳、供電腳,不需要其他元件,與單片機(jī)的連接非常方便,如圖4所示。紅外解碼芯片內(nèi)部電路包括紅外監(jiān)測(cè)二極管,放大器,限副器,帶通濾波器,解調(diào)電路,積分電路,比較器等。紅外監(jiān)測(cè)二極管監(jiān)測(cè)到從遙控器發(fā)來的調(diào)制載波為38khz微弱的紅外信號(hào), 經(jīng)過放大后送進(jìn)限幅器,把信號(hào)幅度控制在一定范圍,繼而通過帶通濾波器,允許38khz的載波信號(hào)通過,經(jīng)過解調(diào)電路和積分電路后送進(jìn)比較器,輸出的信號(hào)與ttl電平信號(hào)兼容。單片機(jī)對(duì)收到的信號(hào)進(jìn)行解碼,就可以判斷出用戶按下的是哪個(gè)鍵值,進(jìn)而執(zhí)行相關(guān)

11、的程序9。解碼就是把收到不同寬度的脈沖區(qū)別出來,該系統(tǒng)中解碼是通過單片機(jī)計(jì)算出兩次下降沿到來的間隔時(shí)間,當(dāng)單片機(jī)p3.2口有下降沿來臨時(shí)促發(fā)外部中斷0一次,并啟動(dòng)定時(shí)器0,當(dāng)?shù)诙蜗陆笛貋砼R時(shí),通過計(jì)算定時(shí)器0的中斷次數(shù),就能夠區(qū)分不同寬度的脈沖。由于紅外接收頭內(nèi)部放大器的增益比較大,容易引起干擾,因此在供電腳和地直接加個(gè)濾波電容,保證芯片工作在一個(gè)穩(wěn)定的狀態(tài),如圖4所示。圖4 紅外接收電路3.4 存儲(chǔ)器電路本設(shè)計(jì)的存儲(chǔ)芯片采用at24c02,e2prom為電擦除可編程的rom,可以在芯片斷電時(shí)保持存儲(chǔ)單元的數(shù)據(jù)不變。用戶的密碼保存在該芯片的相關(guān)存儲(chǔ)單元中,at24c02具有256個(gè)字節(jié)的存儲(chǔ)

12、單元,對(duì)電子密碼鎖來說,存儲(chǔ)容量足夠用,具有i2c總線的功能,功耗小,由于stc89c52rc單片機(jī)沒有i2c接口,因此采用軟件模擬i2c總線,系統(tǒng)復(fù)位或斷電后用戶所設(shè)置的密碼不會(huì)丟失。at24c02是漏極開路,sda與scl需要接上拉電阻,如圖5所示;a0a2為器件的地址,總線上可以掛多片的at24c02,本系統(tǒng)只用到一片,所以地址的輸入引腳可接地10。圖5 存儲(chǔ)器電路3.5 語音芯片電路語音芯片模塊硬件由isd1720、單片機(jī)控制線、錄音輸入裝置(麥克風(fēng))和語音輸出裝置(喇叭)等組成,如圖6所示。isd1720芯片是本模塊的核心部分,接受控制命令且具有獨(dú)立的存儲(chǔ)單元。采用isd1720 芯

13、片,此芯片可實(shí)現(xiàn)20480秒錄放音功能,可重復(fù)擦寫 ,穩(wěn)定性較好、語音清晰,且價(jià)格比較便宜??晒ぷ髟趦煞N控制方式:獨(dú)立按鍵工作模式和spi模式11。本設(shè)計(jì)中對(duì)語音的錄音采用獨(dú)立按鍵工作模式,通過錄音把音頻信號(hào)存儲(chǔ)在isd1720芯片的相應(yīng)的存儲(chǔ)單元里頭;對(duì)系統(tǒng)的實(shí)時(shí)放音采用spi模式,由于stc89c52rc沒有spi硬件接口,因此用軟件的方式模擬spi總線接口,主控單片機(jī)通過四線spi協(xié)議對(duì)isd1720進(jìn)行串行通信。圖6語音芯片模塊3.6 繼電器控制電路繼電器控制電路由1只npn型三級(jí)管8050驅(qū)動(dòng)5v繼電器。繼電器的引入,可以提高系統(tǒng)的驅(qū)動(dòng)能力,還可以隔離電磁鎖工作時(shí)產(chǎn)生的電磁干擾12。

14、繼電器上并聯(lián)一個(gè)二極管起保護(hù)作用如圖7所示,因?yàn)槔^電器里面的線圈具有電感特性,流經(jīng)電感線圈的電流不能突變,當(dāng)三極管關(guān)段時(shí),跟三極管相連的線圈里面電流突然中斷,會(huì)產(chǎn)生感應(yīng)電動(dòng)勢(shì),容易擊穿三極管,由于電動(dòng)勢(shì)方向與電源方向相反,因此此二極管是反向接入的,來吸收感應(yīng)電動(dòng)勢(shì),這樣電動(dòng)勢(shì)就不會(huì)太高了,保護(hù)了元器件。當(dāng)單片機(jī)p3.4輸入高電平時(shí),繼電器的常開端閉合,密碼鎖打開,提高了整個(gè)系統(tǒng)工作的穩(wěn)定性和可靠性。圖7 繼電器控制電路3.7 聲光提示電路當(dāng)用戶密碼輸入正確時(shí),點(diǎn)亮發(fā)光二極管,發(fā)光二極管由單片機(jī)p0.3直接驅(qū)動(dòng),密碼鎖打開;當(dāng)用戶密碼連續(xù)輸入三次錯(cuò)誤時(shí),蜂鳴器開始響,蜂鳴器由于功率比較大,本設(shè)計(jì)

15、采用三級(jí)管8550驅(qū)動(dòng)蜂鳴器,當(dāng)p0.2為低電平時(shí),三極管導(dǎo)通,蜂鳴器發(fā)出聲音如圖8所示。圖8 聲光提示電路3.8 液晶顯示電路本設(shè)計(jì)中由于要對(duì)密碼鎖所處的狀態(tài)以及提示用戶進(jìn)行相應(yīng)操作的顯示,所以采用液晶顯示屏lcd1602如圖9所示。lcd1602可以顯示兩行,每行16個(gè)字符,內(nèi)部具有字符發(fā)生器,可以顯示阿拉伯?dāng)?shù)字,英文字母的大小寫,以及一些常用的符號(hào)等,使用+5v電源供電,與其連接的外圍電路簡(jiǎn)單13。該液晶顯示屏具有輕薄短小、低耗電量、抗干擾能力強(qiáng)等特點(diǎn)。同時(shí)顯示信息量大,靈活多變顯示多種信息,用戶可以清晰看出此時(shí)密碼鎖的狀態(tài)。8跟數(shù)據(jù)線與單片機(jī)p1口并行相連,傳輸速度快。圖9 液晶顯示電

16、路第四章:系統(tǒng)的軟件設(shè)計(jì)4.1 軟件總流程圖本系統(tǒng)的軟件設(shè)計(jì)采用c語言編寫。c語言可讀寫好,容易修改,移植性也較好,用c語言編寫的程序通俗易懂,一目了然。軟件主要分為:主程序,外部中斷0子程序,定時(shí)器0中斷子程序,定時(shí)器1中斷子程序,定時(shí)器2中斷子程序,lcd1602驅(qū)動(dòng)子程序,isd1720驅(qū)動(dòng)子程序,at24c02的驅(qū)動(dòng)子程序,延時(shí)子程序等。主程序主要完成了硬件的初始化以及相關(guān)函數(shù)的調(diào)用工作;外部中斷0子程序用來處理從紅外遙控發(fā)出的信號(hào);定時(shí)器0中斷子程序?qū)Φ絹淼膬纱蜗陆笛貢r(shí)間進(jìn)行統(tǒng)計(jì);定時(shí)器1中斷子程序用于鍵盤掃描:每隔50毫秒對(duì)鍵盤進(jìn)行掃描一次,這樣cpu就能夠定時(shí)掃描鍵盤的狀態(tài),能夠

17、正確得到用戶輸入的鍵值;定時(shí)器2中斷子程序起到省電作用:當(dāng)電子密碼鎖成功開鎖10秒鐘,用戶沒有對(duì)密碼鎖進(jìn)行相應(yīng)的操作時(shí),將自動(dòng)關(guān)掉密碼鎖跟lcd1602等相應(yīng)設(shè)備,此時(shí)系統(tǒng)處于最省電的狀態(tài)。軟件設(shè)計(jì)流程圖如圖10所示:開始定時(shí)器,外部中斷,isd1720,lcd1602等初始化化等待中斷液晶顯示、語音提示“請(qǐng)輸入新密碼”刪除當(dāng)前位密碼是液晶顯示、語音提示“歡迎光臨”,定時(shí)器2開,燈亮液晶顯示、語音提示“請(qǐng)輸入管理者密碼”蜂鳴器響輸錯(cuò)是否三次否液晶顯示、語音提示“請(qǐng)按確認(rèn)鍵”液晶顯示、語音提示“請(qǐng)輸入密碼”進(jìn)入中斷判斷鍵值啟動(dòng)鍵數(shù)字鍵0-9確認(rèn)鍵密碼修改鍵刪除鍵標(biāo)志位flag取反該鍵是否有效該鍵

18、是否有效返回否返回否該鍵是否有效數(shù)字鍵是否有效返回否是是是是flag是否等于1密碼位數(shù)加1,存入數(shù)組輸入是否滿了用戶密碼確認(rèn)鍵新密碼一次確認(rèn)鍵新密碼二次確認(rèn)鍵管理者密碼確認(rèn)鍵密碼是否正確顯示、語音提示“請(qǐng)?jiān)佥斎胍淮巍笔鞘鞘欠駜纱蚊艽a是否相同液晶顯示、語音提示“密碼已修改成功”是密碼是否正確否蜂鳴器關(guān)是否清除所有標(biāo)志位,密碼鎖,液晶關(guān)閉否返回否4.2 主要程序簡(jiǎn)介4.2.1 初始化程序 void init() /initi2c(); inf=1; jdq=0;led0=0;lcdrw=0; write_com(0x38);write_com(0x0c);write_com(0x06);write

19、_com(0x01);write_com(0x80); px0=1; tmod=0x12;th1=(65536-50000)/256;tl1=(65536-50000)%256;ea=1;et1=1;tr1=1;et0=1;th0=0xca;tl0=0xca;tr0=0;it0=1;ex0=1;et2=1;th2=(65536-50000)/256; tl2=(65536-50000)%256;rcap2h=(65536-50000)/256;rcap2l=(65536-50000)%256; tr2=0;isd_init();4.2.2 液晶顯示程序void write_com(uchar

20、com) lcdrs=0;lcden=0;p1=com;delay1(5);lcden=1;delay1(5);lcden=0;void write_data(uchar dat) lcdrs=1;lcden=0;p1=dat;delay1(5);lcden=1;delay1(5);lcden=0;4.2.3 系統(tǒng)待機(jī)程序void clear() fmq=1; led0=0; jdq=0; write_com(0x01); flag=0; flag1=0; flag2=0; flag3=0; flag4=0; flag5=0; flag6=0; flag7=0; ok=0; kk=0; num

21、1=0; num2=0; num3=0; num4=0; num5=0; tr2=0; th2=(65536-50000)/256; tl2=(65536-50000)%256; 4.2.4 主要功能子程序void int_0() interrupt 0;void time0() interrupt 1;void time1() interrupt 3;void time2() interrupt 5;void delay();void isd_set_play( uchar saddl,saddh,eaddl,eaddh);void write_6byte(uchar address,uch

22、ar *p);void read_nbyte(uchar address,uchar n);第五章 調(diào)試及性能分析5.1 硬件調(diào)試硬件調(diào)試所用到的工具有:電烙鐵用于焊接,萬用表用于檢查電路是否有問題。本次設(shè)計(jì)的電路圖不是很復(fù)雜,用萬用表一一檢測(cè)焊接的電路是否存在問題,如短路、斷路等,待全部檢測(cè)完畢,確保硬件沒有出問題時(shí),接上電源,進(jìn)入各個(gè)模塊的調(diào)試,在硬件調(diào)試中有時(shí)候也配合著軟件進(jìn)行的。1 按鍵的調(diào)試在檢測(cè)短路、斷路時(shí)主要遇到矩陣式鍵盤焊接粗糙,不同按鍵間存在短路的問題,造成了行線與列線在沒鍵按下時(shí)都相互連接,使得多個(gè)鍵出現(xiàn)連在一起的現(xiàn)象,但認(rèn)真檢測(cè)完各個(gè)按鍵之后,查出了所有問題所在,重新認(rèn)真

23、焊接一遍,鍵盤沒出現(xiàn)短路現(xiàn)象,按鍵可用。由于本設(shè)計(jì)中應(yīng)用到較多的按鍵,按鍵采用的是行列式鍵盤掃描的原理,任何一個(gè)按鍵硬件連接出錯(cuò)或者按鍵間存在短路問題,都會(huì)影響到單片機(jī)對(duì)其他鍵值的正確識(shí)別,最終會(huì)導(dǎo)致設(shè)計(jì)的失敗。2 單片機(jī)外圍電路的調(diào)試由于系統(tǒng)上電時(shí),單片機(jī)io口處于輸入狀態(tài),各個(gè)口位理論上為高電平,用萬用表測(cè)下各個(gè)引腳的電壓,差不多在4.7v左右,表明工作在穩(wěn)定狀態(tài)。按下復(fù)位鍵,單片機(jī)也可以正常復(fù)位,單片機(jī)外圍電路調(diào)試完畢。3 報(bào)警電路的調(diào)試從原理圖可以看出,只要三極管的基極為低電平時(shí),三極管處于導(dǎo)通狀態(tài),蜂鳴器就會(huì)響,結(jié)合軟件,把單片機(jī)的某個(gè)io口置為低電平,此時(shí)蜂鳴器響,置為高電平蜂鳴器

24、停,報(bào)警電路正常。4 紅外一體化芯片的調(diào)試 隨便按下遙控器的某個(gè)按鍵,測(cè)量紅外一體化輸出那端有沒有出現(xiàn)低電平,剛開始時(shí)不管按下那個(gè)鍵,不管按多久,都沒有有用的低電平信號(hào)輸出,紅外一體化沒有正常工作,重新檢測(cè)下紅外一體化芯片周圍的電路,電源供電正常,但紅外就是不能工作,仔細(xì)查下紅外一體化芯片的數(shù)據(jù)手冊(cè),發(fā)現(xiàn)紅外一體化芯片接反了,將芯片位置換一下,紅外一體化芯片輸出正常,反應(yīng)靈敏。5 液晶電路的調(diào)試 檢測(cè)液晶電路能否工作很容易,給液晶正常上電,液晶屏出現(xiàn)一塊一塊黑色的字塊,表明lcd1602沒壞,接下來用軟件方式對(duì)液晶進(jìn)行操作,比如清屏,設(shè)計(jì)顯示的行數(shù)與位數(shù),發(fā)現(xiàn)對(duì)液晶操作的相應(yīng)指令可以很好的執(zhí)行

25、,液晶屏上顯示本設(shè)計(jì)需要的相關(guān)信息。6 繼電器電路的調(diào)試?yán)^電器在沒通電時(shí),通過萬用表檢測(cè)繼電器的常開常閉端。把萬用表打到檢測(cè)短路的那一檔,觸點(diǎn)與常開端段路,與常閉端短路。當(dāng)給與繼電器連接的三極管基極一個(gè)高電平時(shí),人耳聽到了繼電器吸合的聲音,此時(shí)用萬用表檢測(cè),常閉端與觸點(diǎn)不導(dǎo)通,而常開端與觸點(diǎn)相連,繼電器正常工作。、7 語音外圍電路的調(diào)試在硬件調(diào)試中遇到的主要問題是語音這一模塊:語音的錄放效果不好,不能把正常的音頻信號(hào)播放出來,有很大一部分失真甚至不能正常播放。由于isd1720可工作在獨(dú)立按鍵模式,仔細(xì)查找語音芯片相關(guān)資料及isd1720的數(shù)據(jù)手冊(cè)發(fā)現(xiàn):語音芯片的振蕩電阻,即與20腳相連的那個(gè)

26、電阻,決定了內(nèi)部的工作頻率。采樣頻率可通過外接電阻調(diào)節(jié),電阻過大采樣頻率低,正常的語音信號(hào)在3.4khz左右,根據(jù)抽樣定理知,采樣頻率應(yīng)該大于兩倍的語音信號(hào)頻率,才能較好的恢復(fù)出原始信號(hào)。采樣頻率高,信號(hào)較好,但芯片內(nèi)部可錄音的時(shí)間較少。綜合多方面的考慮,最后把振蕩電阻定位80千歐,采樣頻率為8khz,此時(shí)語音芯片錄放正常,音質(zhì)較好。5.2 軟件調(diào)試由于stc89c52rc單片機(jī)具有可在線編程,在一定的硬件結(jié)構(gòu)基礎(chǔ)上,只要改變軟件單片機(jī)就可以實(shí)現(xiàn)不同的功能。軟件在整個(gè)設(shè)計(jì)中起著關(guān)鍵作用,本設(shè)計(jì)能否正常運(yùn)行,軟件占了很大功夫。對(duì)于電子密碼鎖,軟件實(shí)現(xiàn)的功能比較多,使用起來比較靈活,軟件調(diào)試顯得比

27、較煩瑣。待硬件都連接好之后,單片機(jī)板用串口線與電腦連接,上電后發(fā)現(xiàn)程序不能下載到單片機(jī)里面,重新檢查了連線以及電平轉(zhuǎn)換芯片max232,發(fā)現(xiàn)一切正常。經(jīng)過幾番周旋之后,發(fā)現(xiàn)了電腦主機(jī)后面的9針串口壞了,后來用電腦usb轉(zhuǎn)串口線,在網(wǎng)上找到了相關(guān)的驅(qū)動(dòng)程序,安裝之后,總算可以把程序下載進(jìn)去。本設(shè)計(jì)的程序是在keil環(huán)境下編寫,該軟件內(nèi)部有豐富的庫函數(shù)和功能強(qiáng)大的調(diào)試環(huán)境。由于程序中包含著較多的驅(qū)動(dòng)子程序,所以軟件的調(diào)試從各個(gè)子程序開始。對(duì)lcd1602以及at24c02這些常用的器件,驅(qū)動(dòng)子程序不難調(diào)試。鍵盤的驅(qū)動(dòng)程序,考慮到機(jī)械式鍵盤在人為按下以及完全釋放需要去抖過程,這期間定時(shí)器可能再次引起

28、中斷,因此在單片機(jī)掃描到鍵盤有按下時(shí),關(guān)掉該定時(shí)器中斷,待鍵盤完成釋放之后再開中斷。但在鍵盤調(diào)試過程中也發(fā)現(xiàn)按下相應(yīng)的鍵,單片機(jī)沒有執(zhí)行相應(yīng)的操作,有兩個(gè)按鍵不起任何作用,仔細(xì)分析之后發(fā)現(xiàn),這兩個(gè)接觸式按鍵損壞了,由于本設(shè)計(jì)中要用到了14個(gè)按鍵,可以不要用到那兩個(gè)損壞的按鍵,重新設(shè)置鍵值之后,鍵盤軟件調(diào)試順利完成。仿真器在軟件調(diào)試中也起了很大的作用,在對(duì)語音芯片內(nèi)部的地址片段的正確尋址中,仿真器較快的得到了各個(gè)片段的真實(shí)地址,接著對(duì)這些地址稍作修改,可以使語音芯片播放時(shí)沒有很明顯的空隙,效果更好。紅外遙控器的解碼在整個(gè)軟件設(shè)計(jì)中耗了較多的時(shí)間,經(jīng)過反復(fù)的修改解碼程序,最終把各個(gè)鍵值都算出來。在

29、各個(gè)模塊都調(diào)試成功之后,將這些模塊組合起來就是本設(shè)計(jì)所要的軟件系統(tǒng)。在整個(gè)軟件的綜合過程中,通過設(shè)置相關(guān)的標(biāo)志位,把不同的子程序銜接起來,達(dá)到了預(yù)期的目的,電子密碼鎖運(yùn)行正常。5.3 性能分析液晶屏能夠準(zhǔn)確顯示當(dāng)前系統(tǒng)所處的狀態(tài);語音芯片實(shí)時(shí)提示用戶應(yīng)該進(jìn)行的操作;矩陣式按鍵與紅外按鍵能夠配合使用,也可各自獨(dú)立使用;當(dāng)用戶輸入密碼正確,電子密碼鎖打開,點(diǎn)亮發(fā)光二極管;修改密碼時(shí),兩次密碼設(shè)置相同時(shí),保存新密碼,密碼修改成功;當(dāng)用戶輸入密碼錯(cuò)誤達(dá)到三次時(shí),有報(bào)警提示,直到正確輸入管理員密碼;省電模式在用戶打開密碼鎖時(shí),無其它操作十秒鐘,才開啟,此時(shí)密碼鎖自動(dòng)關(guān)閉。第六章 本文總結(jié)本次設(shè)計(jì)的電子密

30、碼鎖,操作方便,穩(wěn)定性好,可靠性高,成本低廉。紅外遙控的加入,語音芯片與液晶顯示屏的設(shè)計(jì),便于人機(jī)交互, 更加智能化,這是傳統(tǒng)機(jī)械鎖無法比擬的,有一定的發(fā)展前景。可以預(yù)見,該設(shè)計(jì)的大規(guī)模使用,將有效改善現(xiàn)有機(jī)械鎖的安全性、方便性。通過本次設(shè)計(jì)加深了對(duì)所學(xué)知識(shí)的理解,也擴(kuò)充了課外知識(shí),增強(qiáng)了知識(shí)的靈活應(yīng)用能力。在實(shí)際操作中我也發(fā)現(xiàn)了很多自身存在的問題,由于我的粗心馬虎,在硬件制作過程中增加了很多不必要的麻煩,才知道無論什么事情都要一心一意,仔仔細(xì)細(xì),可以節(jié)省很多時(shí)間和精力。軟件是我的薄弱環(huán)節(jié),所以在軟件編寫時(shí)遇到了很多的麻煩,不過這也培養(yǎng)了我的獨(dú)立思考和解決問題的能力,通過上網(wǎng)或去圖書館查找資料

31、,還有同學(xué)的熱心幫助,這些問題到最后都解決了。還要感謝洪清泉老師,在選題和制作過程中,他都給我們提供了寶貴的意見,也定期給我們開會(huì),了解我們的制作進(jìn)步,關(guān)心我們治國制作過程中是否遇到問題,給我們于支持和鼓勵(lì)。參考文獻(xiàn):1 葉啟明.單片機(jī)制作的新型安全密碼鎖j.家庭電子,2005,(10);2 郭海英.基于單片機(jī)的電子安全密碼鎖的設(shè)計(jì)m.現(xiàn)代電子技術(shù),2005,(13);3 李明喜.新型電子密碼鎖的設(shè)計(jì)j.機(jī)電產(chǎn)品開發(fā)與創(chuàng)新,2004,(03);4 董繼成.一種新型安全的單片機(jī)密碼鎖j.電子技術(shù),2004,(03);5 祖龍起,劉仁杰,孫乃凌.一種新穎的電子密碼鎖j.電子世界,20016 李廣弟

32、.單片機(jī)基礎(chǔ)m.北京:北京航空航天大學(xué)出版社,1994.7 李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版).杭州:北京航空航天大學(xué)出版社,1998.8 李光飛,等.單片機(jī)課程設(shè)計(jì)實(shí)例指導(dǎo)m.北京:北京航空航天大學(xué)出版社.2004.105-125.9 譚浩強(qiáng).c程序設(shè)計(jì)(第三版)m.北京:清華大學(xué)出版社.2005.7.10 戴仙金.51單片機(jī)及其c語言程序開發(fā)實(shí)例m.北京:清華大學(xué)出版社.2008.2.11 戴佳,戴衛(wèi)恒,劉博文.51單片機(jī)c語言應(yīng)用程序設(shè)計(jì)實(shí)例精講m.北京:電子工業(yè)出版社,2008.12.12 康華光.電子技術(shù)基礎(chǔ)(第四版)m.北京:高等教育出版社,199813 梁宗善.新型集成塊

33、應(yīng)用m.武漢:華中理工大出版社,2004 27附錄完整的源程序#include#define uchar unsigned char#define uint unsigned intuchar code table1=please enter the; uchar code table2=password:;uchar code table3=please press the;uchar code table4=confirm key;uchar code table5=your password is; uchar code table6=incorrect;uchar code table

34、7=welcome ! ;uchar code table8=*;uchar code table9=8,9,1,1,2,5;uchar code table10=0,7,0,3,0,3,0,0,6;uchar code table11=senior password; uchar code table12=new password:;uchar code table13=password again:;uchar code table14=password changed; uchar code table15=successfully;uchar code table16=*;sbit s

35、da=p01;sbit scl=p00;sbit lcdrs=p37;sbit lcdrw=p36;sbit lcden=p35;sbit fmq=p02;sbit inf=p32;sbit led0=p03;sbit jdq=p34;sbit mosi=p05;sbit miso=p04;sbit msclk=p06;sbit nssmd0=p07;sbit cmd=sr0_l0; sbit pu=sr0_l2;sbit rdy=sr10; bit flag,flag1,flag2,flag3,flag4,flag5,flag6,flag7,ok;uchar num,num1,num2,nu

36、m3,num4; num5;uchar aa6,bb9,cc6,dd6;uchar kk,hwkey,key_bit_count,common_code_count,key_code,new_code,key,inf_status;uchar pstaddl,pstaddh,penaddl,penaddh; uint buf_key_code,count_t,buf_ct;uchar bdata sr0_l; uchar bdata sr0_h; uchar bdata sr1; void delay() ; void delay1(uint i)uint j;for(;i0;i-)for(j

37、=100;j0;j-);void delay10us(uint t)while(t-);void delay2(uint x) uint i,j;for(i=0;ix;i+) for(j=0;j0;j-) ; for(i=0;i0;j-) ; if(buf_isd&0x01) mosi=1; else mosi=0; buf_isd=1; msclk=1; if(miso) buf_isd|=0x80; else buf_isd&=0x7f; for(j=6;j0;j-) ; mosi=0; return(buf_isd); void isd_pu() isd_senddata(0x01);

38、isd_senddata(0x00); nssmd0=1; void isd_rd_status() sr0_l=isd_senddata(0x05); sr0_h=isd_senddata(0x00); sr1=isd_senddata(0x00); nssmd0=1;void isd_wr_apc2(uchar apcdatl,apcdath) isd_senddata(0x65); isd_senddata(apcdatl); isd_senddata(apcdath); nssmd0=1; void isd_init() nssmd0=1; msclk=1; mosi=0; do is

39、d_pu(); delay2(50); isd_rd_status(); while(cmd|(!pu); isd_wr_apc2(0x80,0x0c); void isd_set_play( uchar saddl,saddh,eaddl,eaddh) isd_senddata(0x80); isd_senddata(0x00); pstaddl=isd_senddata(saddl); pstaddh=isd_senddata(saddh); penaddl=isd_senddata(eaddl); penaddh=isd_senddata(eaddh); isd_senddata(0x0

40、0); nssmd0=1; void write_com(uchar com) lcdrs=0;lcden=0;p1=com;delay1(5);lcden=1;delay1(5);lcden=0;void write_data(uchar dat) lcdrs=1;lcden=0;p1=dat;delay1(5);lcden=1;delay1(5);lcden=0;void lcall1() /請(qǐng)輸入密碼 isd_set_play(19,0x00,27,0x00); write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_dat

41、a(table1num);delay1(20);write_com(0xc4);for(num=0;num9;num+)write_data(table2num);delay1(20);void lcall2()/請(qǐng)按確認(rèn)鍵 isd_set_play(33,0x00,40,0x00);write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_data(table3num); delay1(20);write_com(0xc2);for(num=0;num11;num+)write_data(table4num);delay1(20)

42、;void lcall3()/你輸入的密碼有誤 isd_set_play(44,0x00,55,0x00);write_com(0x01); write_com(0x80);for(num=0;num16;num+) write_data(table5num);delay1(20);write_com(0xc3);for(num=0;num9;num+)write_data(table6num);delay1(20);void lcall4() /歡迎光臨 isd_set_play(74,0x00,80,0x00);write_com(0x01); write_com(0x82);for(nu

43、m=0;num11;num+)write_data(table7num); delay1(20); void lcall5()/請(qǐng)輸入管理者密碼 isd_set_play(59,0x00,69,0x00);write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_data(table1num);delay1(20);write_com(0xc0);for(num=0;num15;num+)write_data(table11num);delay1(20);void lcall6()/請(qǐng)輸入新密碼 isd_set_play(85,0x

44、00,93,0x00); write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_data(table1num);delay1(20);write_com(0xc2);for(num=0;num13;num+)write_data(table12num);delay1(20);void lcall7()/請(qǐng)?jiān)佥斎胍淮?isd_set_play(98,0x00,108,0x00);write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_data(table1num);d

45、elay1(20);write_com(0xc2);for(num=0;num15;num+)write_data(table13num); delay1(20);void lcall8()/密碼已修改成功 isd_set_play(112,0x00,121,0x00);write_com(0x01); write_com(0x80);for(num=0;num16;num+)write_data(table14num); delay1(20);write_com(0xc2);for(num=0;num12;num+)write_data(table15num); delay1(20);voi

46、d lcall9()/5* write_com(0x01); write_com(0x80);for(num=0;num5;num+)write_data(table8num);delay1(20); void lcall10()/8* write_com(0x01); write_com(0x80);for(num=0;num8;num+)write_data(table16num);delay1(20); void starti2c()sda=1; scl=1; delay(); sda=0; delay(); scl=0;void stopi2c()sda=0; scl=1; delay(); sda=1; delay();

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論