



已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
西安航空職業(yè)技術(shù)學(xué)院課程設(shè)計/實訓(xùn)報告課程名稱: 小系統(tǒng)設(shè)計 所屬學(xué)院:電子工程學(xué)院指導(dǎo)教師:楊思俊學(xué)生姓名: 學(xué)號: 專業(yè):11級應(yīng)用電子技術(shù)五年制西安航空職業(yè)技術(shù)學(xué)院制西安航空職業(yè)技術(shù)學(xué)院課程設(shè)計/實訓(xùn)任務(wù)書課程名稱: 單片機原理及應(yīng)用任務(wù)與要求: 1、完成布置的所有原理圖設(shè)計; 2、完成程序編制及調(diào)試;3、完成實訓(xùn)報告書寫;時間: 2014 年12 月 8日 至 2014年 12 月 12 日 共 1周所屬學(xué)院: 電子工程學(xué)院學(xué)生姓名: 學(xué) 號: 專業(yè): 11級應(yīng)用電子技術(shù)五年制指導(dǎo)教師: 楊思俊西安航空職業(yè)技術(shù)學(xué)院制目錄1 引言32 硬件設(shè)計42.1單片機部分42.1.1 AT89S51功能介紹42.1.2 AT89S51管腳功能說明42.1.3振蕩器特性62.1.4 AT 89S51相對于AT89C51增加的新功能72.2四乘四行列式鍵盤部分72.3七段數(shù)碼管顯示器部分82.4密碼存儲電路設(shè)計92.5系統(tǒng)硬件設(shè)計原理結(jié)構(gòu)框圖如圖2-7所示92.6系統(tǒng)板上硬件連線102.7電路原理圖 (附錄A)103 軟件設(shè)計113.1鍵盤輸入部分113.1.1鍵盤程序設(shè)計內(nèi)容113.1.2鍵盤程序框圖(附錄B)113.1.3鍵盤C語言源程序(附錄C)113.2數(shù)碼管顯示部分113.2.1數(shù)碼管程序設(shè)計內(nèi)容113.2.2數(shù)碼管C語言源程序(附錄C)113.3蜂鳴器聲音提示部分113.3.1蜂鳴器程序設(shè)計內(nèi)容123.3.2蜂鳴器C語言源程序(附錄C)123.4密碼修改與存儲部分123.4.1密碼修改與存儲程序設(shè)計內(nèi)容123.4.2密碼修改與存儲C語言源程序(附錄C)123.5系統(tǒng)程序流程總框圖如圖3-1所示123.6整個系統(tǒng)的C語言源程序(附錄C)124仿真設(shè)計1341 Proteus仿真軟件1342 ProteusV71SP2的使用1343 進行仿真設(shè)計14431設(shè)計仿真電路14432 軟件仿真設(shè)計15結(jié)束語16參考文獻17附錄A 電路圖原理18附錄B 鍵盤輸入程序框圖19附錄C 整個系統(tǒng)的C語言源程序(主程序)201 引言隨著社會物質(zhì)財富的日益增長,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,而鎖自古以來就是把守門戶的鐵將軍,人們對它要求甚高,即要安全可靠地防盜,又要使用方便。目前普遍使用的機械鎖結(jié)構(gòu)簡單、使用方便、價格便宜。但在使用過程中暴露了很多缺點:1.機械鎖是靠金屬制成的鑰匙上的不同齒形與鎖芯的配合來工作的。所以很多鑰匙可以互開,保密性差,安全性低。2.鑰匙一旦丟失,無論誰撿到都可以將鎖打開。3.機械鎖的材料大多為黃銅,質(zhì)地較軟容易損壞。4.機械鎖鑰匙易于復(fù)制,不適于諸如賓館等公共場所使用。所以機械鎖已難以滿足當(dāng)前社鎖會和人們的要求。出于安全、方便的需要。隨著人們生活水平的提高,電子密碼防盜作為防盜衛(wèi)士的作用日趨重要。電子密碼鎖用密碼代替鑰匙,不但省去了佩戴鑰匙的煩惱,也從根本上解決了普通門鎖保密性差的缺點。如果采用6位密碼,則密碼組合可達到,每增加1位,密碼組合就增加10倍。從而提高了密碼鎖的安全系數(shù)。 密碼鎖被廣泛應(yīng)用保險柜、保險箱、文件柜、防磁防火柜、防盜門、銀庫門、倉庫門、車門、民用門等。目前市場上普遍所見的電子密碼鎖的密碼很容易被窺探和多次試探,而丟失密碼,使密碼鎖失去其安全性。該電子密碼鎖利用單片機作為主控核心,單片機(AT89S51)所具有的特殊功能使得電子密碼鎖的保密性能大大加強,這樣就可以有效的防止多次試探密碼的可能性。隨著單片機和其它智能芯片的進一步開發(fā)防盜鎖將實現(xiàn)智能化,這將是鎖的安全性能大大提高。本系統(tǒng)實現(xiàn)密碼一次輸入的提示功能,若密碼輸入不正確將發(fā)出“嘀嘀”的報警聲,引起他人警覺。同時可添加外圍設(shè)備實現(xiàn)遠程報警(如添加繼電器一類設(shè)備可以連接到主人的電話上,是主人知道家里有人非法操作,及時報警)。若密碼輸入正確將發(fā)出“叮咚”的門鈴聲。本系統(tǒng)使用的單片機所具有強大的功能能夠?qū)崿F(xiàn)智能控制用來完成密碼的輸入、判斷和比較從而執(zhí)行相應(yīng)的開鎖顯示或報警等功能。2 硬件設(shè)計本系統(tǒng)硬件設(shè)計由單片機(AT89S51)部分、44行列式鍵盤、四聯(lián)七段共陰數(shù)碼管、報警器、密碼存儲5個基本部分所組成。2.1單片機部分主控器件是單片機,AT89S51是一個低功耗、高性能CMOS 8位單片機,片內(nèi)含4k字節(jié)的可系統(tǒng)編程的Flash只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)8051指令系統(tǒng)及引腳。它集Flash程序存儲器既可在線編程(ISP)也可用傳統(tǒng)方法進行編程及通用8位微處理器于單片芯片中。2.1.1 AT89S51功能介紹AT89S51主要性能參數(shù):與MCS51產(chǎn)品指令系統(tǒng)完全兼容,4k字節(jié)在系統(tǒng)編程(ISP)Flash閃速存儲器,1000次檫寫周期,4.0-5.5V的工作電壓范圍,全靜態(tài)工作模式:0Hz33MHz,三級程序加密鎖,128k字節(jié)的隨機存取數(shù)據(jù)存儲器(RAM),32個可編程I/O口線,6個中斷源,全雙工串行UART通信,低功耗空閑和掉電模式,中斷可從空閑模式喚醒系統(tǒng),掉電標(biāo)志和快速編程特性,靈活的在系統(tǒng)編程,2個16位可編程定時計數(shù)器,看門狗(WDT)電路及雙數(shù)據(jù)指針。AT89S51芯片引腳排列如圖2-1所示: 圖2-5 仿真介面2.1.2 AT89S51管腳功能說明(1)VCC:供電電壓,GND:接地。(2)P0口:P0口為一組8位漏級開路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸入口用時,每位能驅(qū)動8個TTL邏輯門電路,當(dāng)P1口的管腳第一次寫“1”時,可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問期間激活內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。本系統(tǒng)中把 “單片機系統(tǒng)”區(qū)域中的P0.0端口用導(dǎo)線連接到報警器上,用來提示密碼輸入的正確或錯誤并發(fā)出相應(yīng)的聲音。(3)P1口:P1口是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1口的輸出緩沖器可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。P1口管腳寫入“1”后,通過內(nèi)部的上拉電阻把端口拉到高電平,此時可作輸入口。作輸入口使用時,因為內(nèi)部存在上拉電阻,P1口被外部下拉為低電平時,將輸出電流。在FLASH編程和校驗時,P1口作為低8位地址接收。本系統(tǒng)中把“單片機系統(tǒng)”區(qū)域中的P1.0P1.7用導(dǎo)線連接到數(shù)碼管顯示器的一端。用來實現(xiàn)數(shù)碼管的顯示。(4)P2口:P2口為一個帶有內(nèi)部上拉電阻的8位雙向I/O口,P2口的輸出緩沖器可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉到高電平,且作為輸入。并因此作為輸入口使用時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。本系統(tǒng)中把“單片機系統(tǒng)”區(qū)域中的P2.0P2.7用導(dǎo)線連接到三極管的一端通過三極管放大輸入到數(shù)碼管顯示器上。本系統(tǒng)中由“單片機系統(tǒng)”區(qū)域中的P1口和P2口共同來完成數(shù)碼管的顯示。(5)P3口:P3口管腳是一組帶有內(nèi)部上拉電阻的8位雙向I/O口,P3口輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉電阻拉高可作為輸入端口。作為輸入端時,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口同時為閃爍編程和編程校驗接收一些控制信號。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表2-1所示:本系統(tǒng)中把單片機系統(tǒng)中P3.0-P3.3和P3.4-P3.7端口分別連接到的44行列式鍵盤中的四條橫線、四條豎線上,用來完成密碼的輸入。(6)RST:復(fù)位輸入。當(dāng)振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFR AUXR的DISRTO位可打開或關(guān)閉該功能,DISRTO位缺省為RESET輸出高電平打開狀態(tài)。表2-1 XXX表端口引腳第二功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6WR(外部數(shù)據(jù)存儲器寫選通)P3.7RD(外部數(shù)據(jù)存儲器讀選通表2.2 P1口部分端口的第二功能(7)ALE/PROG:當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低8位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。(8)/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。(9)/EA/VPP:外部訪問允許。欲使CPU僅訪問外部程序存儲器(地址0000HFFFFH),EA端必須保持低電平(接地),注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,CPU則執(zhí)行內(nèi)部程序存儲器中的指令。在FLASH編程期間,此引腳也用于施加+12V編程電壓(VPP)。(10)XTAL1:振蕩器反相放大器及內(nèi)部時鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.1.3振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.1.4 AT 89S51相對于AT89C51增加的新功能ISP在線編程功能,這個功能的優(yōu)勢在于改寫單片機存儲器內(nèi)的程序不需要把芯片從工作環(huán)境中剝離,是一個強大易用的功能。最高工作頻率為33MHz,大家都知道89C51的極限工作頻率是24M,就是說S51具有更高工作頻率,從而具有了更快的計算速度,具有雙工UART串行通道,內(nèi)部集成看門狗計時器,不再需要像89C51那樣外接看門狗計時器單元電路,雙數(shù)據(jù)指示器,電源關(guān)閉標(biāo)識,全新的加密算法,這使得對于89S51的解密變?yōu)椴豢赡?,程序的保密性大大加強,這樣就可以有效的保護知識產(chǎn)權(quán)不被侵犯。兼容性方面:向下完全兼容51全部子系列產(chǎn)品。比如8051、89C51等等早期MCS-51兼容產(chǎn)品。在89S51上一樣可以照常運行,這就是所謂的向下兼容。2.2四乘四行列式鍵盤部分由于設(shè)計要求使用矩陣鍵盤,所以本設(shè)計就采用行列式鍵盤,同時也能減少鍵盤與單片機接口時所占用的I/O線的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。其原理如圖2-2所示:圖2-2 44行列式鍵盤每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要4條行線和4條列線,即可組成具有44個按鍵的鍵盤。在這種行列式矩陣鍵盤非鍵盤編碼的單片機系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無按鍵按下的程序段。按鍵的操作如下圖2-3所示:圖2-3 按鍵值共計數(shù)字鍵10個,功能鍵6個,用44組成09數(shù)字鍵、確認(rèn)鍵F及修改鍵C,10個數(shù)字鍵用來輸入密碼,另外6個功能鍵分別是:A、B、C、D、E、F。其中C鍵的功能是當(dāng)輸入密碼錯誤的時候,清除前面已經(jīng)輸入的數(shù)據(jù),重新輸入。F鍵的功能是確認(rèn)輸入的密碼。2.3七段數(shù)碼管顯示器部分第0段第1段第2段第3段第4段第6段第5段七段LED數(shù)碼顯示器如下圖2-4所示:圖2-4 七段數(shù)碼管七段LED顯示器由7個發(fā)光二極管組成,其中7個長條形的發(fā)光管排列成“日”字形,如上圖所示,由七個發(fā)光二極管組成的七段顯示器。如再加一個賀點形的發(fā)光管在顯示器的右下角作為顯示小數(shù)點用,則組成八段LED顯示器。它能顯示各種數(shù)字及部份英文字母。LED顯示器有兩種不同的形式:一種是8個發(fā)光二極管的陽極都連在一起的,稱之為共陽LED顯示器;另一種是8個發(fā)光二極管的陰極都連在一起的,稱之為共陰LED顯示器。如下圖2-5所示:圖2-5 七段數(shù)碼管內(nèi)部結(jié)構(gòu)共陰和共陽結(jié)構(gòu)的LED顯示器各筆劃段名和安排位置是相同的。當(dāng)二極管導(dǎo)通時,相應(yīng)的筆劃段發(fā)亮,由發(fā)亮的筆劃段組合而顯示的各種字符。8個筆劃段hgfedcba對應(yīng)于一個字節(jié)(8位)的D7 D6 D5 D4 D3 D2 D1 D0,于是用8位二進制碼就可以表示欲顯示字符的字形代碼。在單片機系統(tǒng)中,通常用LED數(shù)碼顯示器來顯示各種數(shù)字或符號。由于它具有顯示清晰、亮度高、使用電壓低、壽命長的特點,因此使用非常廣泛。2.4密碼存儲電路設(shè)計密碼儲在EEPROM芯片AT24C04中。AT24C04是IIC接口的EEPROM芯片,可以用于掉電不易失數(shù)據(jù)的存儲。其電路如圖2-6所示。圖中A0、A1和A2為芯片的地址引腳,一般接地即可。SCL和SDA為AT24C04和單片機IIC通信的時鐘線和數(shù)據(jù)線。圖2-6 EEPROM存儲電路2.5系統(tǒng)硬件設(shè)計原理結(jié)構(gòu)框圖如圖2-7所示圖2.7 系統(tǒng)流程圖框圖2.6系統(tǒng)板上硬件連線(1)、把“單片機系統(tǒng)”區(qū)域中的P2.0P2.7用導(dǎo)線連接到三極管的一端通過三極管放大輸入到數(shù)碼管顯示器上。(2)、把“單片機系統(tǒng)”區(qū)域中的P1.0P1.7用導(dǎo)線連接到數(shù)碼管顯示器的另一端。(3)、把“單片機系統(tǒng)”區(qū)域中的P0.0用導(dǎo)線連接到報警器上。(4)、把“單片機系統(tǒng)”區(qū)域中的P0.4和P0.5用導(dǎo)線連接到EEPROM芯片AT24C04.(5)、把44行列式鍵盤中的四條橫線、四條豎線分別連接到P3.0-P3.3和P3.4-P3.7上。2.7電路原理圖 (附錄A)3 軟件設(shè)計本系統(tǒng)是以AT89S51為核心的單片機控制方案。利用單片機靈活的編程設(shè)計和豐富的I/O端口,及其控制的準(zhǔn)確性,不但能實現(xiàn)基本的密碼鎖功能,還能添加聲光提示甚至添加遠程遙控控制功能。本系統(tǒng)程序設(shè)計的內(nèi)容為: 密碼的設(shè)定,在此程序中密碼是固定在程序存儲器ROM中,密碼為6位。密碼的輸入問題:根據(jù)事先設(shè)計好的密碼輸入,輸完后按確認(rèn)鍵將執(zhí)行相應(yīng)的功能。根據(jù)設(shè)定好的密碼,采用44行列式鍵盤實現(xiàn)密碼的輸入功能,密碼輸入時顯示管只顯示“8.”,當(dāng)輸入密碼正確時數(shù)碼管顯示“1HELLO”同時發(fā)出“叮咚”聲,若密碼輸入不正確則顯示“2ERROR”作為提示信息,同時發(fā)出“嘀、嘀”報警聲。密碼輸入的過程中可隨時對輸入的密碼進行修改。本系統(tǒng)程序設(shè)計由鍵盤輸入部分、數(shù)碼管顯示部分和蜂明器聲音提示部分3個部分組成。3.1鍵盤輸入部分3.1.1鍵盤程序設(shè)計內(nèi)容本系統(tǒng)中鍵盤采用44行列式鍵盤,按鍵電路如上圖4所示。每個按鍵有它的行值和列值 ,行值和列值的組合就是識別這個按鍵的編碼。矩陣的行線和列線分別通過兩并行接口和CPU 通信。每個按鍵的狀態(tài)同樣需變成數(shù)字量“0”和“1”,開關(guān)的一端(列線)通過電阻接VCC,而接地是通過程序輸出數(shù)字“0”實現(xiàn)的。鍵盤處理程序的任務(wù)是:確定有無鍵按下,判斷哪一個鍵按下,鍵的功能是什么;還要消除按鍵在閉合或斷開時的抖動。兩個并行口中,一個輸出掃描碼,使按鍵逐行動態(tài)接地,另一個并行口輸入按鍵狀態(tài),由行掃描值和回饋信號共同形成鍵編碼而識別按鍵,通過軟件查表,查出該鍵的功能。3.1.2鍵盤程序框圖(附錄B)3.1.3鍵盤C語言源程序(附錄C)3.2數(shù)碼管顯示部分3.2.1數(shù)碼管程序設(shè)計內(nèi)容本系統(tǒng)采用的是8位數(shù)碼管組成的顯示電路作為提示信息,初始化時,顯示“P”,接著輸入最大的6位數(shù)的密碼,當(dāng)密碼輸入完后,按下確認(rèn)鍵“F”,進行密碼比較,當(dāng)輸入密碼正確時在數(shù)碼管上顯示“1HELLO”的提示信息,當(dāng)輸入密碼錯誤時在數(shù)碼管上顯示“2ERROR”的提示信息。在輸入密碼過程中,每輸入一位密碼顯示器上只顯示一個“8.”從右到左依次顯示。當(dāng)輸入密碼位數(shù)超過6位時,給出報警信息。在密碼輸入過程中,若輸入錯誤,可以利用“C”鍵刪除剛才輸入的錯誤的數(shù)字。在輸入密碼的過程中可以隨時對輸入的密碼進行修改。3.2.2數(shù)碼管C語言源程序(附錄C)3.3蜂鳴器聲音提示部分3.3.1蜂鳴器程序設(shè)計內(nèi)容本系統(tǒng)把P0.0用作蜂鳴器報警的接口,對輸入的密碼與設(shè)定的密碼進行比較,若密碼正確,蜂鳴器發(fā)出“叮咚”聲;若密碼不正確,蜂鳴器發(fā)出“嘀、嘀”報警聲。3.3.2蜂鳴器C語言源程序(附錄C)3.4密碼修改與存儲部分3.4.1密碼修改與存儲程序設(shè)計內(nèi)容本系統(tǒng)把P0.4和P0.5用EEPROM的IIC接口,用于把要修改的密碼存起來,輸入密碼時從EEPROM里讀出來再做對比。3.4.2密碼修改與存儲C語言源程序(附錄C)3.5系統(tǒng)程序流程總框圖如圖3-1所示圖3-1 系統(tǒng)程序流程總框圖3.6整個系統(tǒng)的C語言源程序(附錄C)4仿真設(shè)計41 Proteus仿真軟件Proteus軟件是英國Lab Center Electronics公司出版的EDA工具軟件(該軟件中國總代理為廣州風(fēng)標(biāo)電子技術(shù)有限公司)。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。雖然目前國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學(xué)的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。42 ProteusV71SP2的使用要想學(xué)會某個軟件,首先要對其操作界面的各種工具進行熟悉,其操作界面如圖4-1所示。圖4-1 ProteusV7.1SP2操作界面(1)打開軟件,選擇電子元件。點擊“元件選擇按鈕”,出現(xiàn)如下圖(圖3-2)對話框,將電路中需要用到的各種電子元件的代號輸入“keywords”中,雙擊對應(yīng)的模擬元件,該元件就添加到列表中。(注意型號和大小的選擇)。例如:要得到單片機AT89C52的模擬器件,就要在“keywords”輸入“at89”,右邊就會出現(xiàn)和按鈕相關(guān)的元件,再根據(jù)預(yù)覽窗口的顯示選擇所需要的按鈕。添加完所需要的原件就可以關(guān)閉“元件選擇對話框”, 如圖4-2所示。圖4-2 元件添加演示圖(2)再列表中的各元件放在電路板上,并將元件的引腳按正確的電路連接方法用線連接起來。單擊鼠標(biāo)左鍵為安放,單擊右鍵為選擇,雙擊右鍵為刪除,先右擊在左擊為修改或者查看元件參數(shù)。左擊元件的端口,再左擊另一端口則可以將兩個端口用線連接起來。(3)在需要用到電源的地方加上電源。(注意電壓的大小可根據(jù)不同需要進行修改)。(4)電路圖畫好后可以用簡單的程序測試看電路圖是否正確。43 進行仿真設(shè)計431設(shè)計仿真電路仿真電路如下圖4-3所示:圖4-3 仿真電路電路設(shè)計好之后,下一步就是要進行軟件仿真調(diào)試。432 軟件仿真設(shè)計利用KEIL軟件編寫好程序,然后加載到Proteus進行逐步仿真調(diào)試,直到達到預(yù)期的效果。仿真效果如圖4-4所示:圖4-4 仿真效果圖結(jié)束語本系統(tǒng)充分利用了AT89S51系統(tǒng)單片機軟、硬件資源,引入了智能化分析功能,提高了系統(tǒng)的可靠性和安全性。該系統(tǒng)主要有以下幾點優(yōu)點:利用單片機去控制硬件電路,打破傳統(tǒng)的專用硬件的形式,使電路更加靈活,更加快捷.其重復(fù)概率僅為十萬分之一,有著很高的安全性 電子密碼鎖采用單片機作為核心的控制元件具有功能強、性能可靠、電路簡單、成本低等特點。智能密碼鎖它成功的實現(xiàn)了密碼的輸入識別和修改、報警、信息顯示等功能。另外,智能密碼鎖在軟、硬件方面稍加改動,便可構(gòu)成智能化的分布式監(jiān)控網(wǎng)絡(luò),實現(xiàn)某一范圍內(nèi)的集中式監(jiān)控管理,在金融、保險、軍事重地及其它安全防范領(lǐng)域具有廣泛的應(yīng)用前景。因此電子密碼鎖憑借自身的優(yōu)勢,它將會越來越廣泛的受到社會的歡迎、接受。但是電子密碼鎖還具有自身的缺點:電子鎖必須完成機械動作(操作)電子識別轉(zhuǎn)換和電子控制機械執(zhí)行這一系列過程,顯然是復(fù)雜一些。二是故障概率相對較高,電子器件一多,一復(fù)雜化。必然增加故障機率,加上電子器件怕潮濕,怕強磁電,怕強震動,使它對使用環(huán)境有一定要求。絕大部分電子密碼鎖都增加了備用開鎖手段或稱應(yīng)急接口,無疑又降低了安全性。由于采用鍵盤式密碼輸入很可能被他人窺探、盜用。所以在設(shè)計鍵盤時必須防他人窺探和試探等外圍設(shè)本。盡管電子鎖有以上還待解決問題,但它的大密碼量和不用鑰匙的優(yōu)點以及眾多的識別方式卻有極大的誘惑力。它將在以后的發(fā)展中被廣泛應(yīng)用。 今后研究方向主要是以單片機設(shè)計為主,不斷學(xué)習(xí)更高級的單片機,往操作系統(tǒng)方面發(fā)展。參考文獻1:楊欣.電路設(shè)計與仿真.北京:清華大學(xué)出版社,20062:樓然苗.51系列單片機設(shè)計實例.北京:航空航天大學(xué)出版社,20043:王田苗.嵌入式系統(tǒng)設(shè)計與實例開發(fā).北京:清華大學(xué)出版社,20054:張友德.單片微型機原理應(yīng)用與實驗.上海:復(fù)旦大學(xué)出版社,1996附錄A 電路圖原理附錄B 鍵盤輸入程序框圖延時10msP3=FFH,P3.1=0P3=FFH,P3.0=0根據(jù)當(dāng)前狀態(tài)識別按鍵根據(jù)當(dāng)前狀態(tài)識別按鍵延時10ms真得有鍵按下嗎?有鍵按下嗎真得有鍵按下嗎?有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵延時10msP3=FFH,P3.3=0P3=FFH,P3.2=0延時10ms有鍵按下嗎?有鍵按下嗎?真得有鍵按下嗎?真得有鍵按下嗎?根據(jù)當(dāng)前狀態(tài)識別按鍵附錄C 整個系統(tǒng)的C語言源程序(主程序)#include #include 2402.h unsigned char wl6;/=1,2,3,4,5,6; /用于保存輸入密碼 unsigned char code wl1=0xfe,0xfd,0xfb,0xf7, /位選 0xef,0xdf,0xbf,0x7f; unsigned char code wl220=0x3f,0x06,0x5b,0x4f,0x66, /段碼 09,AF,全滅,-,P,全亮 0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71, 0x00,0x40,0x73,0xff; unsigned char code wl8=0x00,0x00,0x77,0x3f,0x77, /全滅,全滅,A,0,A,A,E,1 0x77,0x79,0x06;unsigned char code wl9=0x00,0x00,0x3f,0x38,0x38, /全滅,全滅,0,L,L,E,H,2 0x79,0x76,0x5b;unsigned char wl38=18,16,16,16,16,16,16,16; unsigned char wl4; unsigned char wl5; unsigned char wl6; unsigned char wl7;unsigned char zw;unsigned char zq; unsigned char wl7count; /輸入的密碼個數(shù)unsigned char wllen=6; unsigned char getwl6; /保存輸入密碼緩沖unsigned char gettemp16; /第一次輸入密碼緩沖unsigned char gettemp26; /第二次輸入密碼緩沖bit wl7overflag; bit errorflag; bit rightflag; unsigned int second3; unsigned int aa,bb; unsigned int cc,dd; bit wl8flag; bit alarmflag; bit hibitflag; unsigned char wl8a,wl8b; unsigned int var1;/unsigned char var2=0;unsigned char key_error_times=0;unsigned int count_3s=20000; unsigned int change_key_flag=0;unsigned int change_key_flag1=0;void key_init(void)unsigned char i;EA=0;for(i=0;i6;i+)/DELAY(200);wrteeprom(i,1);/初始密碼6個1 /keyiniti);DELAY(300);EA=1;void read_key(void)unsigned char i;EA=0;for(i=0;i6;i+)wli=rdeeprom(i);DELAY(300);EA=1;void write_key(void)unsigned char i;EA=0;for(i=0;i0;i-) /去抖for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0x0f; if (wl6!=0x0f) /確實是有鍵按下 wl6=P3; wl6=wl6 & 0x0f; switch(wl6) case 0x0e: /第一列第一行按下wl7=12; break; case 0x0d: /第一列第二行按下wl7=13; break; case 0x0b: /第一列第三行按下wl7=14; break; case 0x07: /第一列第四行按下wl7=15; break; wl6=P3; if(wl7=0) & (wl710) if(wl7count6) wl7count=6; wl7overflag=1;/wl7 overflow else if(wl7=12)/delete wl7 if(wl7count0) wl7count-; getwlwl7count=0; /清密碼wl3wl7count+2=16; /不顯示 else wl7overflag=1; else if(wl7=15)/enter wl7 if(wl7count!=wllen) /密碼個數(shù)不為6 errorflag=1; rightflag=0; second3=0; else /密碼個數(shù)為6if(getwl0=4)&(getwl1=1)&(getwl2=3)&(getwl3=1)&(getwl4=0)&(getwl5=2)key_init();read_key();if(change_key_flag=0) for(i=0;iwl7count;i+) if(getwli!=wli) /輸入的密碼與保存在ROM中的密碼進行比較 i=wl7count; /密碼不正確errorflag=1; rightflag=0; second3=0; key_error_times+;goto a; key_error_times=0;errorflag=0; /密碼正確rightflag=1; a:i=wl7count; else if(change_key_flag=1)for(i=0;iwl7count;i+) if(getwli!=wli) /輸入的密碼與保存在ROM中的密碼進行比較change_key_flag=1;wl30=1;break;elsechange_key_flag=2;wl30=2;for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for(var2=0;var26;var2+)getwlvar2=0;wl7count=0; else if(change_key_flag=2)change_key_flag=3;for(i=0;iwl7count;i+) gettemp1i=getwli;/保存第一次輸入的密碼wl30=3;for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for(var2=0;var26;var2+)getwlvar2=0;wl7count=0; else if(change_key_flag=3)for(i=0;iwl7count;i+) if(gettemp1i!=getwli)/第二次輸入的密碼與第一次輸入的作對比change_key_flag=1;wl30=1;break;elsechange_key_flag=0;wl30=18;if(i=5)/兩次輸入的密碼匹配,剛把密碼寫到eeprom里面write_key();read_key(); for(var2=0;var28;var2+)if(var2=0);/wl3var2=18;elsewl3var2=16;for(var2=0;var20;i-) for(j=248;j0;j-); wl6=P3; wl6=wl6 & 0x0f; if (wl6!=0x0f) wl6=P3; wl6=wl6 & 0x0f; switch(wl6) case 0x0e: /第二列第一行按下wl7=11; break; case 0x0d: wl7=3; break; case 0x0b: wl7=6; break; case 0x07: wl7=9; break; wl6=P3; if(wl7=0) & (wl710) if(wl7count6) wl7count=6; wl7overflag=1;/wl7 overflow else if(wl7=12)/delete wl7 if(wl7count0) wl7count-; getwlwl7count=0; wl3wl7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療設(shè)備付款合同范例
- 與演員合同范本
- 別墅電梯采購合同范本
- 乙方出資建房合同范本
- 出售工地用車合同范本
- 勞務(wù)派遣施工合同范本
- 醫(yī)療營銷合同范本
- 北京園林公司合同范本
- 代理推廣合作合同范本
- 醫(yī)院棉被訂購合同范例
- DB12-T 3034-2023 建筑消防設(shè)施檢測服務(wù)規(guī)范
- 銷售人員崗位職責(zé)培訓(xùn)
- 小學(xué)生日常行為規(guī)范實施方案
- 2024-2025學(xué)年九年級化學(xué)人教版上冊檢測試卷(1-4單元)
- 2024年遼寧省鞍山岫巖滿族自治縣事業(yè)單位招聘(150人)歷年高頻難、易錯點500題模擬試題附帶答案詳解
- DBJ46-070-2024 海南省民用建筑外門窗工程技術(shù)標(biāo)準(zhǔn)
- 金屬冶煉安全生產(chǎn)實務(wù)注冊安全工程師考試(初級)試題與參考答案
- 2024年高職高考語文必背古詩
- 護理質(zhì)控護士競聘
- 醫(yī)學(xué)課件炎癥性腸病4
- 2024年4月自考00263外國法制史試題及答案
評論
0/150
提交評論