資源描述:
《電子密碼鎖proteus仿真設計報告》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在行業(yè)資料-天天文庫。
1、.中國海洋大學———單片機課程實驗設計報告設計題目:電子鎖密碼proteus仿真計姓名:班級:學號:任課教師:課時:word資料.一、實驗設計功能描述本設計采用單片機為主控芯片,結合外圍電路,組成**電子密碼鎖,用戶想要打開鎖,必先通過提供的鍵盤輸入正確的密碼才能將鎖打開,密碼輸入錯誤有提示,為了提高安全性,當密碼輸入錯誤三次將報警。密碼可以由用戶自己修改設定,鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時候需要二次確認,以防止誤操作。二、設計所用原器件主控芯片AT89S51、4*4矩陣按鍵、LCD1602顯示器、蜂鳴器、24c04a芯片、存儲芯片AT24C02、晶體
2、振蕩器三、硬件電路設計1、鍵盤輸入部分由于本設計所用到的按鍵數(shù)量較多而不適合用獨立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點上,密碼鎖的密碼由鍵盤輸入完成,與獨立式按鍵鍵盤相比,要節(jié)省很多I/O口。word資料.2、密碼存儲部分用EPROM芯片AT24C02存儲密碼。AT24C02是美國Atmel公司的低功耗CMOS型E2PROM,內(nèi)含256×8位存儲空間,具有工作電壓寬(2.5~5.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)、抗干擾能力強、數(shù)據(jù)不易丟失、體積小等特點。而且他是采用了I2C總線式進行數(shù)據(jù)讀寫的串行器
3、件,占用很少的資源和I/O線,并且支持在線編程,進行數(shù)據(jù)實時的存取十分方便。3、晶振部分AT89S51引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖4.5所示方式連接。晶振、電容C1/C2及片內(nèi)與非門(作為反饋、放大元件)構成了電容三點式振蕩器,振蕩信號頻率與晶振頻率及電容C1、C2word資料.的容量有關,但主要由晶振頻率決定,范圍在0~33MHz之間,電容C1、C2取值范圍在5~30pF之間。根據(jù)實際情況,本設計中采用12MHZ做為系統(tǒng)的外部晶振。電容取值為20pF。4、顯示部分為了提高密碼鎖的密碼顯示效果能力。本設計的顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管來
4、完成。只有按下鍵盤上的開啟按鍵后,顯示器才處于開啟狀態(tài)。同理只有按下關閉按鍵后顯示器才處于關閉狀態(tài)。否則顯示器將一直處于初始狀態(tài),當需要對密碼鎖進行開鎖時,按下鍵盤上的開鎖按鍵后利用鍵盤上的數(shù)字鍵0-9輸入密碼,每按下一個數(shù)字鍵后在顯示器上顯示一個*,輸入多少位就顯示多少個*。5、報警部分報警部分由陶瓷壓電發(fā)聲裝置及外圍電路組成,加電后不發(fā)聲,當有鍵按下時,“?!甭?,每按一下,發(fā)聲一次,密碼正確時,不發(fā)聲直接開鎖,當密碼輸入錯誤時,單片機的P2.1引腳為低電平,三極管T3導通轟鳴器發(fā)出噪鳴聲報警。6、開鎖部分開鎖控制電路的功能是當輸入正確的密碼后將鎖打開。系統(tǒng)使用單片機其中一引腳線發(fā)出信
5、號,經(jīng)三極管放大后,由繼電器驅動電磁閥動作將鎖打開。用戶通過鍵盤任意設置密碼,并儲存在EEPROM中作為鎖碼指令。一、軟件設計word資料.本系統(tǒng)軟件設計由主程序、初始化程序、LCD顯示程序、鍵盤掃描程序、鍵功能程序、密碼設置程序、EEPROM讀寫程序和延時程序等組成。主要程序設計流程圖如下所示:word資料.一、仿真抓圖1、輸入原始密碼:2.輸入正確:word資料.3.輸入錯誤:一、設計體會word資料.設計剛開始時,我感到茫然不知從何下手,對程序的總體思路也缺乏了解。后來在老師的指導下,漸漸有了思路知道大體的框架。之后又參考了有關的書籍和資料,慢慢的經(jīng)過兩三周的時間才把程序調(diào)試好,理
6、清仿真圖的出口與入口。在仿真方面因為程序的思路都理清了,所以只要按要求調(diào)用器件連接好電路,并且與KILL軟件進行互接,功能比較順利的就實現(xiàn)了,沒有出現(xiàn)太大的問題。設計很小,可是在這過程中我學會了很多課本上學不到的知識。也明白書本的知識永遠不夠,我們自己要學會自學。同時對于學工科的學生還是要多多動手,在調(diào)試硬件時很多東西是要靠經(jīng)驗來檢查電路的問題,而且動手經(jīng)驗也可以免去很多不必要的錯誤。一、設計程序ORG0000h;LJMPstart;ORG000bh;中斷T0入口地址LJMPintermit_t0;調(diào)用中斷服務程序清指示燈ORG001bh;中斷T1入口地址LJMPintermit_t1;
7、初始化喇叭ORG0030h;start:MOVsp,#60h;設棧底lcallsys_initialization;調(diào)用系統(tǒng)初始化程序;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;word資料.;;主程序main0:lcallstrat_display;液晶最初顯示的程序main:MOV52h,#0;52h判斷輸入錯誤次數(shù)儲存地址setbled;使指示燈處于亮的狀態(tài)setbtr0;開啟定時器lcallkey;掃描鍵