




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、泉 州 師 范 學 院畢業(yè)論文(設計)題 目 基于單片機控制的紅外電子密碼鎖 物理與信息工程學 院 電子信息科學與技術專 業(yè)07級1班學生姓名 學 號 指導教師 職 稱 教授 完成日期 教務處 制基于單片機控制的紅外電子密碼鎖物理與信息工程學院 電子信息科學與技術指導老師 教授摘 要:隨著科學技術的不斷提高,傳統(tǒng)的機械鎖漸漸的不能滿足現(xiàn)代人的需要,鑰匙互開鎖的機率很高,這使用戶的安全性大打折扣。而電子密碼鎖的誕生克服了機械鎖的一系列缺點,特別是安全性能,它取代傳統(tǒng)機械鎖是一種發(fā)展趨勢,應用將日益廣泛。本次設計的是一款具有紅外遙控功能的電子密碼鎖。設計分為矩陣式鍵盤輸入模塊、紅外遙控輸入模塊、紅
2、外芯片解碼模塊、存儲器電路模塊、語音芯片模塊、繼電器控制模塊、聲光提示模塊和顯示模塊。用宏晶的stc89c52rc作為整個系統(tǒng)的控制核心,整個系統(tǒng)電路簡單、功能完善、性價比高、操作方便,達到了人機交互的目的。關鍵詞:電子密碼鎖;語音芯片;stc89c52rc;紅外;第一章:緒論進入電氣化時代,一切都往智能化的方向發(fā)展,人們對生活質量,生活水平的要求越來越高,智能化將逐步取代人工手動,成為這世界的主要控制手段。傳統(tǒng)的手工開鎖已經無法滿足人滿的生活要求,近幾年來隨著犯罪手段的高端化,人們對家庭防盜鎖的要求也越來越高。1.1 選題的背景社會的飛速發(fā)展,文明進步的同時不文明的行為也在猖獗,如何實現(xiàn)家庭
3、防盜這一問題變的尤為突出,傳統(tǒng)的機械鎖構造簡單,開鎖手法單一,已經無法抵抗日益高超的偷盜技巧。電子技術的進步讓智能化進入人們的日常生活,當前國內外鎖的形式也越來越多,聲控鎖,指紋識別的鎖,密碼鎖,遙控鎖等先進的鎖具也層出不窮。雖然這類產品安全性能很高,保密性好,但由于生產成本過高,攜帶安裝和使用都不方便,在一定程度上也限制了這些產品的普及和推廣1-5。而本次設計是在單片機控制下的紅外遙控鎖,是對單片機技術和紅外傳感器技術的一個結合。它具有安全性高,性價比高等優(yōu)點。二十一世紀各種電子信息技術進入高速發(fā)展時期,包括信息系統(tǒng)微電子、計算機技術、現(xiàn)代通信技術、傳感器技術。傳感器技術中也包括了紅外線傳感
4、器技術。紅外線是一種肉眼看不見的光線,最近幾十年來,斬露頭角的紅外傳線技術,在各個領域中都到了廣泛的應用。開始應用到了生產生活中,逐漸形成了一門嶄新的技術紅外線技術。紅外線技術,顧名思義,就是通過紅外線進行數(shù)據(jù)傳輸。在計算機技術發(fā)展的早期,數(shù)據(jù)都是通過電纜光纜進行傳輸?shù)模瑐鬏斶B接線麻煩,需要特制的接口,使用起來很不方便。后來就有了紅外線、藍牙等無線數(shù)據(jù)傳輸技術。紅外通訊技術是利用紅外線來進行數(shù)據(jù)傳輸,是無線通訊的一種。紅外線的特點是紅外傳輸是一種點對點的傳輸方式,傳輸距離比較近,而且要對準接收方向,中間不能有障礙。由于紅外線是直線傳輸,所以紅外通訊技術不太適用于障礙比較多的地方。1.2目前國內
5、外的研究現(xiàn)狀紅外遙控技術是目前家用電器中用得比較多的遙控方式,在車載影音導航系統(tǒng)、手機傳輸系統(tǒng)等領域也被廣泛的應用。紅外遙控設備具有不影響周邊環(huán)境、不干擾其他設備的特點。由于其無法穿透障礙物,所以不同房間的家用電器可以使用通用的遙控器而不會相互干擾;電路調試比較簡單,只要按照給定的電路連接和按鍵說明,一般不需調試可直接投入工作;編碼解碼較為容易,可同時進行多路遙控。由于各個廠家生產了大量紅外遙控專用的集成電路,需要時按說明書直接操作就可以了。因此,紅外遙控器在家用電器近距離(小于 10 米)的傳輸中得到了廣泛的應用6-7。1.3 課題的研究方法本次設計是基于單片機stc89c52rc控制,以紅
6、外遙控器發(fā)送密碼,紅外一體化接頭接收并送給單片機解碼,可實現(xiàn)對密碼的修改,刪除,利用at24c02對密碼進行保存。密碼解鎖機會只有三次,若連續(xù)三次密碼錯誤系統(tǒng)自動報警后并啟動管理者密碼。利用液晶顯示屏lcd1602進行顯示。制作時先各個模塊單獨進行調試,當每個模塊的功能都實現(xiàn)后再整合起來,用于達到預期的目標。1.4 本論文的方案設計用單片機作為整個密碼鎖的核心模塊,用戶通過紅外遙控或鍵盤輸入密碼,語言芯片提示用戶所進行的操作,儲存芯片保存著用戶的密碼,繼電器控制著密碼鎖的關閉,單片機對用戶所輸入的密碼進行判斷,從而實現(xiàn)了電子密碼鎖的一系列功能,通過液晶顯示以及聲光提醒,達到了人機交互的目的。第
7、二章:總體方案本設計分為矩陣式鍵盤輸入模塊、紅外遙控輸入模塊、紅外芯片解碼模塊、存儲器電路模塊、語音芯片模塊、繼電器控制模塊、聲光提示模塊和顯示模塊。采用stc89c52rc來作為系統(tǒng)控制芯片。系統(tǒng)結構如圖1所示。stc89c52rc鍵盤輸入模塊紅外遙控輸入模塊紅外接收芯片模塊存儲器電路模塊語音芯片模塊繼電器控制模塊聲光提示模塊顯示模塊圖1 系統(tǒng)結構款圖第三章:硬件電路設計3.1 單片機外圍電路采用stc89c52rc來作為系統(tǒng)控制芯片。與標準8051的計數(shù)器、定時器相比,該單片機多了一個定時器/中斷器,含有8k的rom,存儲能力比8051多了一倍, 該單片機是8051內核的加強產品8。單片機
8、外圍電路如圖2所示,采用12mhz的晶振;p2口與矩陣式鍵盤相連;p1口與lcd1602八根數(shù)據(jù)線相連,三根控制線分別與p3.7、p3.6、p3.5相連;p0.4到p0.7與語音芯片isd1720工作在spt模式的四跟控制線相連;p0.2為報警輸出口,當用戶輸入密碼三次錯誤時,輸出低電平,蜂鳴器響;p0.0、p0.1與存儲器芯片at24c02相連;p0.3與發(fā)光二極管相連,當密碼輸入正確時,點亮發(fā)光二極管;p3.4與繼電器相連,控制密碼鎖的關閉,當密碼輸入正確時,該口位輸出高電平,電子密碼鎖打開。p3.2與紅外接收芯片相連,用來促發(fā)外部中斷0。圖2 單片機外圍電路3.2 鍵盤電路由于該設計要應
9、用到較多的按鍵,所以鍵盤電路采用矩陣式鍵盤,如圖3所示。其中0到9有十個數(shù)字鍵,在編程上用戶輸入的密碼為6位,6位隨機的數(shù)字組合可以高達百萬種,對電子密碼鎖的安全性有了保障。當輸入的數(shù)字有錯時,可以按“刪除”鍵,刪掉當前的數(shù)字?!按_認”鍵是在密碼輸入完畢時才有效。當密碼輸入正確時,電子密碼鎖打開,此時“修改密碼”鍵才有效,否則按下該鍵系統(tǒng)沒反應。當輸入密碼有錯時,用戶可以重新輸入密碼,但當連續(xù)三次密碼都輸錯時,必須輸入9位的管理者密碼。“啟動”鍵作為一個開關鍵,只有在“啟動”鍵打開時,系統(tǒng)才正常工作。當電子密碼鎖打開時,10秒之內沒去動,單片機將自動關掉“啟動”鍵,此時系統(tǒng)處于省電模式。 圖3
10、 矩陣式鍵盤電路3.3 紅外接收芯片電路本設計中紅外接收芯片選用一體化紅外線接收器,該紅外接收頭只有三個引腳:信號輸出腳、接地腳、供電腳,不需要其他元件,與單片機的連接非常方便,如圖4所示。紅外解碼芯片內部電路包括紅外監(jiān)測二極管,放大器,限副器,帶通濾波器,解調電路,積分電路,比較器等。紅外監(jiān)測二極管監(jiān)測到從遙控器發(fā)來的調制載波為38khz微弱的紅外信號, 經過放大后送進限幅器,把信號幅度控制在一定范圍,繼而通過帶通濾波器,允許38khz的載波信號通過,經過解調電路和積分電路后送進比較器,輸出的信號與ttl電平信號兼容。單片機對收到的信號進行解碼,就可以判斷出用戶按下的是哪個鍵值,進而執(zhí)行相關
11、的程序9。解碼就是把收到不同寬度的脈沖區(qū)別出來,該系統(tǒng)中解碼是通過單片機計算出兩次下降沿到來的間隔時間,當單片機p3.2口有下降沿來臨時促發(fā)外部中斷0一次,并啟動定時器0,當?shù)诙蜗陆笛貋砼R時,通過計算定時器0的中斷次數(shù),就能夠區(qū)分不同寬度的脈沖。由于紅外接收頭內部放大器的增益比較大,容易引起干擾,因此在供電腳和地直接加個濾波電容,保證芯片工作在一個穩(wěn)定的狀態(tài),如圖4所示。圖4 紅外接收電路3.4 存儲器電路本設計的存儲芯片采用at24c02,e2prom為電擦除可編程的rom,可以在芯片斷電時保持存儲單元的數(shù)據(jù)不變。用戶的密碼保存在該芯片的相關存儲單元中,at24c02具有256個字節(jié)的存儲
12、單元,對電子密碼鎖來說,存儲容量足夠用,具有i2c總線的功能,功耗小,由于stc89c52rc單片機沒有i2c接口,因此采用軟件模擬i2c總線,系統(tǒng)復位或斷電后用戶所設置的密碼不會丟失。at24c02是漏極開路,sda與scl需要接上拉電阻,如圖5所示;a0a2為器件的地址,總線上可以掛多片的at24c02,本系統(tǒng)只用到一片,所以地址的輸入引腳可接地10。圖5 存儲器電路3.5 語音芯片電路語音芯片模塊硬件由isd1720、單片機控制線、錄音輸入裝置(麥克風)和語音輸出裝置(喇叭)等組成,如圖6所示。isd1720芯片是本模塊的核心部分,接受控制命令且具有獨立的存儲單元。采用isd1720 芯
13、片,此芯片可實現(xiàn)20480秒錄放音功能,可重復擦寫 ,穩(wěn)定性較好、語音清晰,且價格比較便宜??晒ぷ髟趦煞N控制方式:獨立按鍵工作模式和spi模式11。本設計中對語音的錄音采用獨立按鍵工作模式,通過錄音把音頻信號存儲在isd1720芯片的相應的存儲單元里頭;對系統(tǒng)的實時放音采用spi模式,由于stc89c52rc沒有spi硬件接口,因此用軟件的方式模擬spi總線接口,主控單片機通過四線spi協(xié)議對isd1720進行串行通信。圖6語音芯片模塊3.6 繼電器控制電路繼電器控制電路由1只npn型三級管8050驅動5v繼電器。繼電器的引入,可以提高系統(tǒng)的驅動能力,還可以隔離電磁鎖工作時產生的電磁干擾12。
14、繼電器上并聯(lián)一個二極管起保護作用如圖7所示,因為繼電器里面的線圈具有電感特性,流經電感線圈的電流不能突變,當三極管關段時,跟三極管相連的線圈里面電流突然中斷,會產生感應電動勢,容易擊穿三極管,由于電動勢方向與電源方向相反,因此此二極管是反向接入的,來吸收感應電動勢,這樣電動勢就不會太高了,保護了元器件。當單片機p3.4輸入高電平時,繼電器的常開端閉合,密碼鎖打開,提高了整個系統(tǒng)工作的穩(wěn)定性和可靠性。圖7 繼電器控制電路3.7 聲光提示電路當用戶密碼輸入正確時,點亮發(fā)光二極管,發(fā)光二極管由單片機p0.3直接驅動,密碼鎖打開;當用戶密碼連續(xù)輸入三次錯誤時,蜂鳴器開始響,蜂鳴器由于功率比較大,本設計
15、采用三級管8550驅動蜂鳴器,當p0.2為低電平時,三極管導通,蜂鳴器發(fā)出聲音如圖8所示。圖8 聲光提示電路3.8 液晶顯示電路本設計中由于要對密碼鎖所處的狀態(tài)以及提示用戶進行相應操作的顯示,所以采用液晶顯示屏lcd1602如圖9所示。lcd1602可以顯示兩行,每行16個字符,內部具有字符發(fā)生器,可以顯示阿拉伯數(shù)字,英文字母的大小寫,以及一些常用的符號等,使用+5v電源供電,與其連接的外圍電路簡單13。該液晶顯示屏具有輕薄短小、低耗電量、抗干擾能力強等特點。同時顯示信息量大,靈活多變顯示多種信息,用戶可以清晰看出此時密碼鎖的狀態(tài)。8跟數(shù)據(jù)線與單片機p1口并行相連,傳輸速度快。圖9 液晶顯示電
16、路第四章:系統(tǒng)的軟件設計4.1 軟件總流程圖本系統(tǒng)的軟件設計采用c語言編寫。c語言可讀寫好,容易修改,移植性也較好,用c語言編寫的程序通俗易懂,一目了然。軟件主要分為:主程序,外部中斷0子程序,定時器0中斷子程序,定時器1中斷子程序,定時器2中斷子程序,lcd1602驅動子程序,isd1720驅動子程序,at24c02的驅動子程序,延時子程序等。主程序主要完成了硬件的初始化以及相關函數(shù)的調用工作;外部中斷0子程序用來處理從紅外遙控發(fā)出的信號;定時器0中斷子程序對到來的兩次下降沿時間進行統(tǒng)計;定時器1中斷子程序用于鍵盤掃描:每隔50毫秒對鍵盤進行掃描一次,這樣cpu就能夠定時掃描鍵盤的狀態(tài),能夠
17、正確得到用戶輸入的鍵值;定時器2中斷子程序起到省電作用:當電子密碼鎖成功開鎖10秒鐘,用戶沒有對密碼鎖進行相應的操作時,將自動關掉密碼鎖跟lcd1602等相應設備,此時系統(tǒng)處于最省電的狀態(tài)。軟件設計流程圖如圖10所示:開始定時器,外部中斷,isd1720,lcd1602等初始化化等待中斷液晶顯示、語音提示“請輸入新密碼”刪除當前位密碼是液晶顯示、語音提示“歡迎光臨”,定時器2開,燈亮液晶顯示、語音提示“請輸入管理者密碼”蜂鳴器響輸錯是否三次否液晶顯示、語音提示“請按確認鍵”液晶顯示、語音提示“請輸入密碼”進入中斷判斷鍵值啟動鍵數(shù)字鍵0-9確認鍵密碼修改鍵刪除鍵標志位flag取反該鍵是否有效該鍵
18、是否有效返回否返回否該鍵是否有效數(shù)字鍵是否有效返回否是是是是flag是否等于1密碼位數(shù)加1,存入數(shù)組輸入是否滿了用戶密碼確認鍵新密碼一次確認鍵新密碼二次確認鍵管理者密碼確認鍵密碼是否正確顯示、語音提示“請再輸入一次”是是是否兩次密碼是否相同液晶顯示、語音提示“密碼已修改成功”是密碼是否正確否蜂鳴器關是否清除所有標志位,密碼鎖,液晶關閉否返回否4.2 主要程序簡介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)待機程序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);第五章 調試及性能分析5.1 硬件調試硬件調試所用到的工具有:電烙鐵用于焊接,萬用表用于檢查電路是否有問題。本次設計的電路圖不是很復雜,用萬用表一一檢測焊接的電路是否存在問題,如短路、斷路等,待全部檢測完畢,確保硬件沒有出問題時,接上電源,進入各個模塊的調試,在硬件調試中有時候也配合著軟件進行的。1 按鍵的調試在檢測短路、斷路時主要遇到矩陣式鍵盤焊接粗糙,不同按鍵間存在短路的問題,造成了行線與列線在沒鍵按下時都相互連接,使得多個鍵出現(xiàn)連在一起的現(xiàn)象,但認真檢測完各個按鍵之后,查出了所有問題所在,重新認真
23、焊接一遍,鍵盤沒出現(xiàn)短路現(xiàn)象,按鍵可用。由于本設計中應用到較多的按鍵,按鍵采用的是行列式鍵盤掃描的原理,任何一個按鍵硬件連接出錯或者按鍵間存在短路問題,都會影響到單片機對其他鍵值的正確識別,最終會導致設計的失敗。2 單片機外圍電路的調試由于系統(tǒng)上電時,單片機io口處于輸入狀態(tài),各個口位理論上為高電平,用萬用表測下各個引腳的電壓,差不多在4.7v左右,表明工作在穩(wěn)定狀態(tài)。按下復位鍵,單片機也可以正常復位,單片機外圍電路調試完畢。3 報警電路的調試從原理圖可以看出,只要三極管的基極為低電平時,三極管處于導通狀態(tài),蜂鳴器就會響,結合軟件,把單片機的某個io口置為低電平,此時蜂鳴器響,置為高電平蜂鳴器
24、停,報警電路正常。4 紅外一體化芯片的調試 隨便按下遙控器的某個按鍵,測量紅外一體化輸出那端有沒有出現(xiàn)低電平,剛開始時不管按下那個鍵,不管按多久,都沒有有用的低電平信號輸出,紅外一體化沒有正常工作,重新檢測下紅外一體化芯片周圍的電路,電源供電正常,但紅外就是不能工作,仔細查下紅外一體化芯片的數(shù)據(jù)手冊,發(fā)現(xiàn)紅外一體化芯片接反了,將芯片位置換一下,紅外一體化芯片輸出正常,反應靈敏。5 液晶電路的調試 檢測液晶電路能否工作很容易,給液晶正常上電,液晶屏出現(xiàn)一塊一塊黑色的字塊,表明lcd1602沒壞,接下來用軟件方式對液晶進行操作,比如清屏,設計顯示的行數(shù)與位數(shù),發(fā)現(xiàn)對液晶操作的相應指令可以很好的執(zhí)行
25、,液晶屏上顯示本設計需要的相關信息。6 繼電器電路的調試繼電器在沒通電時,通過萬用表檢測繼電器的常開常閉端。把萬用表打到檢測短路的那一檔,觸點與常開端段路,與常閉端短路。當給與繼電器連接的三極管基極一個高電平時,人耳聽到了繼電器吸合的聲音,此時用萬用表檢測,常閉端與觸點不導通,而常開端與觸點相連,繼電器正常工作。、7 語音外圍電路的調試在硬件調試中遇到的主要問題是語音這一模塊:語音的錄放效果不好,不能把正常的音頻信號播放出來,有很大一部分失真甚至不能正常播放。由于isd1720可工作在獨立按鍵模式,仔細查找語音芯片相關資料及isd1720的數(shù)據(jù)手冊發(fā)現(xiàn):語音芯片的振蕩電阻,即與20腳相連的那個
26、電阻,決定了內部的工作頻率。采樣頻率可通過外接電阻調節(jié),電阻過大采樣頻率低,正常的語音信號在3.4khz左右,根據(jù)抽樣定理知,采樣頻率應該大于兩倍的語音信號頻率,才能較好的恢復出原始信號。采樣頻率高,信號較好,但芯片內部可錄音的時間較少。綜合多方面的考慮,最后把振蕩電阻定位80千歐,采樣頻率為8khz,此時語音芯片錄放正常,音質較好。5.2 軟件調試由于stc89c52rc單片機具有可在線編程,在一定的硬件結構基礎上,只要改變軟件單片機就可以實現(xiàn)不同的功能。軟件在整個設計中起著關鍵作用,本設計能否正常運行,軟件占了很大功夫。對于電子密碼鎖,軟件實現(xiàn)的功能比較多,使用起來比較靈活,軟件調試顯得比
27、較煩瑣。待硬件都連接好之后,單片機板用串口線與電腦連接,上電后發(fā)現(xiàn)程序不能下載到單片機里面,重新檢查了連線以及電平轉換芯片max232,發(fā)現(xiàn)一切正常。經過幾番周旋之后,發(fā)現(xiàn)了電腦主機后面的9針串口壞了,后來用電腦usb轉串口線,在網(wǎng)上找到了相關的驅動程序,安裝之后,總算可以把程序下載進去。本設計的程序是在keil環(huán)境下編寫,該軟件內部有豐富的庫函數(shù)和功能強大的調試環(huán)境。由于程序中包含著較多的驅動子程序,所以軟件的調試從各個子程序開始。對lcd1602以及at24c02這些常用的器件,驅動子程序不難調試。鍵盤的驅動程序,考慮到機械式鍵盤在人為按下以及完全釋放需要去抖過程,這期間定時器可能再次引起
28、中斷,因此在單片機掃描到鍵盤有按下時,關掉該定時器中斷,待鍵盤完成釋放之后再開中斷。但在鍵盤調試過程中也發(fā)現(xiàn)按下相應的鍵,單片機沒有執(zhí)行相應的操作,有兩個按鍵不起任何作用,仔細分析之后發(fā)現(xiàn),這兩個接觸式按鍵損壞了,由于本設計中要用到了14個按鍵,可以不要用到那兩個損壞的按鍵,重新設置鍵值之后,鍵盤軟件調試順利完成。仿真器在軟件調試中也起了很大的作用,在對語音芯片內部的地址片段的正確尋址中,仿真器較快的得到了各個片段的真實地址,接著對這些地址稍作修改,可以使語音芯片播放時沒有很明顯的空隙,效果更好。紅外遙控器的解碼在整個軟件設計中耗了較多的時間,經過反復的修改解碼程序,最終把各個鍵值都算出來。在
29、各個模塊都調試成功之后,將這些模塊組合起來就是本設計所要的軟件系統(tǒng)。在整個軟件的綜合過程中,通過設置相關的標志位,把不同的子程序銜接起來,達到了預期的目的,電子密碼鎖運行正常。5.3 性能分析液晶屏能夠準確顯示當前系統(tǒng)所處的狀態(tài);語音芯片實時提示用戶應該進行的操作;矩陣式按鍵與紅外按鍵能夠配合使用,也可各自獨立使用;當用戶輸入密碼正確,電子密碼鎖打開,點亮發(fā)光二極管;修改密碼時,兩次密碼設置相同時,保存新密碼,密碼修改成功;當用戶輸入密碼錯誤達到三次時,有報警提示,直到正確輸入管理員密碼;省電模式在用戶打開密碼鎖時,無其它操作十秒鐘,才開啟,此時密碼鎖自動關閉。第六章 本文總結本次設計的電子密
30、碼鎖,操作方便,穩(wěn)定性好,可靠性高,成本低廉。紅外遙控的加入,語音芯片與液晶顯示屏的設計,便于人機交互, 更加智能化,這是傳統(tǒng)機械鎖無法比擬的,有一定的發(fā)展前景??梢灶A見,該設計的大規(guī)模使用,將有效改善現(xiàn)有機械鎖的安全性、方便性。通過本次設計加深了對所學知識的理解,也擴充了課外知識,增強了知識的靈活應用能力。在實際操作中我也發(fā)現(xiàn)了很多自身存在的問題,由于我的粗心馬虎,在硬件制作過程中增加了很多不必要的麻煩,才知道無論什么事情都要一心一意,仔仔細細,可以節(jié)省很多時間和精力。軟件是我的薄弱環(huán)節(jié),所以在軟件編寫時遇到了很多的麻煩,不過這也培養(yǎng)了我的獨立思考和解決問題的能力,通過上網(wǎng)或去圖書館查找資料
31、,還有同學的熱心幫助,這些問題到最后都解決了。還要感謝洪清泉老師,在選題和制作過程中,他都給我們提供了寶貴的意見,也定期給我們開會,了解我們的制作進步,關心我們治國制作過程中是否遇到問題,給我們于支持和鼓勵。參考文獻:1 葉啟明.單片機制作的新型安全密碼鎖j.家庭電子,2005,(10);2 郭海英.基于單片機的電子安全密碼鎖的設計m.現(xiàn)代電子技術,2005,(13);3 李明喜.新型電子密碼鎖的設計j.機電產品開發(fā)與創(chuàng)新,2004,(03);4 董繼成.一種新型安全的單片機密碼鎖j.電子技術,2004,(03);5 祖龍起,劉仁杰,孫乃凌.一種新穎的電子密碼鎖j.電子世界,20016 李廣弟
32、.單片機基礎m.北京:北京航空航天大學出版社,1994.7 李朝青.單片機原理及接口技術(簡明修訂版).杭州:北京航空航天大學出版社,1998.8 李光飛,等.單片機課程設計實例指導m.北京:北京航空航天大學出版社.2004.105-125.9 譚浩強.c程序設計(第三版)m.北京:清華大學出版社.2005.7.10 戴仙金.51單片機及其c語言程序開發(fā)實例m.北京:清華大學出版社.2008.2.11 戴佳,戴衛(wèi)恒,劉博文.51單片機c語言應用程序設計實例精講m.北京:電子工業(yè)出版社,2008.12.12 康華光.電子技術基礎(第四版)m.北京:高等教育出版社,199813 梁宗善.新型集成塊
33、應用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() /請輸入密碼 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()/請按確認鍵 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()/請輸入管理者密碼 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()/請輸入新密碼 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()/請再輸入一次 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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 光纖入戶維護承包協(xié)議書
- 復婚協(xié)議書和婚前協(xié)議書
- 親子游泳項目安全協(xié)議書
- 學生志愿活動安全協(xié)議書
- 嗜酒患者家屬互助協(xié)議書
- 公司勞動合同終止協(xié)議書
- 外賣平臺承攬服務協(xié)議書
- 企業(yè)品牌營銷推廣協(xié)議書
- 廣東文章版權轉讓協(xié)議書
- 貸款合同和貸款協(xié)議書
- 青春期學生性教育PPT資料
- 文博考研-博物館學名詞解釋
- DLT 1055-2021 火力發(fā)電廠汽輪機技術監(jiān)督導則
- 安全信息管理程序
- 電工基礎(中職)完整版教學課件
- (中職)《電子商務基礎》第1套試卷試題及答案
- 中共中央辦公廳、國務院辦公廳關于進一步穩(wěn)定和完善農村土地承包關系的通知中辦發(fā)〔1997〕16號,1997年6
- 計算機應用基礎-終結性考試試題國開要求標準
- 預制梁場驗收及質量管理實施細則
- 鞋業(yè)訂貨單模版
- 大理石打磨工程裝飾協(xié)議合同
評論
0/150
提交評論