電子密碼鎖實(shí)驗(yàn)報(bào)告_第1頁(yè)
電子密碼鎖實(shí)驗(yàn)報(bào)告_第2頁(yè)
電子密碼鎖實(shí)驗(yàn)報(bào)告_第3頁(yè)
電子密碼鎖實(shí)驗(yàn)報(bào)告_第4頁(yè)
電子密碼鎖實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

電子密碼鎖實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)?zāi)康?、學(xué)習(xí)8051定時(shí)器時(shí)間計(jì)時(shí)解決、跑馬燈、按鍵掃描及LED數(shù)碼管顯示的設(shè)計(jì)辦法。2、設(shè)計(jì)任務(wù)及規(guī)定運(yùn)用實(shí)驗(yàn)平臺(tái)上8個(gè)LED數(shù)碼管,按鍵,跑馬燈實(shí)現(xiàn)設(shè)立密碼,密碼鎖的功效二,實(shí)驗(yàn)規(guī)定基本規(guī)定:1:用44矩陣鍵盤構(gòu)成0-9數(shù)字鍵及確認(rèn)鍵和刪除鍵。2:能夠自行設(shè)定或刪除8位密碼。3:用5位數(shù)碼管構(gòu)成顯示電路提示信息,當(dāng)輸入密碼時(shí),只顯示“8、”,當(dāng)密碼位數(shù)輸入完畢按下確認(rèn)鍵時(shí),對(duì)輸入的密碼與設(shè)定的密碼進(jìn)行比較,若密碼對(duì)的,則門開,此處用綠色led發(fā)光二極管亮一秒鐘做為提示,若密碼不對(duì)的,嚴(yán)禁按鍵輸入3秒,同時(shí)用紅色led發(fā)光二極管亮三秒鐘做為提示;若在3秒之內(nèi)仍有按鍵按下,則嚴(yán)禁按鍵輸入3秒被重新嚴(yán)禁。三,實(shí)驗(yàn)基本原理運(yùn)用單片機(jī)定時(shí)器完畢計(jì)時(shí)功效,定時(shí)器0計(jì)時(shí)中斷程序每隔0、05s中斷一次并當(dāng)作一種計(jì)數(shù),設(shè)定定時(shí)1秒的中斷計(jì)數(shù)初值為20。為了將時(shí)間在LED數(shù)碼管上顯示,可采用靜態(tài)顯示法和動(dòng)態(tài)顯示法,由于靜態(tài)顯示法需要譯碼器,數(shù)據(jù)鎖存器等較多硬件,可采用動(dòng)態(tài)顯示法實(shí)現(xiàn)LED顯示,通過(guò)對(duì)每位數(shù)碼管的依次掃描,使對(duì)應(yīng)數(shù)碼管亮,同時(shí)向該數(shù)碼管送對(duì)應(yīng)的字碼,使其顯示數(shù)字。由于數(shù)碼管掃描周期很短,由于人眼的視覺暫留效應(yīng),使數(shù)碼管看起來(lái)總是亮的,從而實(shí)現(xiàn)了多個(gè)顯示。四,實(shí)驗(yàn)設(shè)計(jì)分析針對(duì)要實(shí)現(xiàn)的功效,采用AT89S51單片機(jī)進(jìn)行設(shè)計(jì),AT89S51單片機(jī)是一款低功耗,高性能CMOS8位單片機(jī),片內(nèi)含4KB在線可編程(ISP)的可重復(fù)擦寫1000次的Flash只讀程序存儲(chǔ)器,器件采用高密度、非易失性存儲(chǔ)技術(shù)制造,兼容原則MCS-51指令系統(tǒng)及80C51引腳構(gòu)造。這樣,既能做到經(jīng)濟(jì)合理又能實(shí)現(xiàn)預(yù)期的功效。在程序方面,采用分塊設(shè)計(jì)的辦法,這樣既減小了編程難度、使程序易于理解,又能便于添加各項(xiàng)功效。程序可分為鬧鐘的聲音程序、時(shí)間顯示程序、日期顯示程序,秒表顯示程序,時(shí)間調(diào)節(jié)程序、鬧鐘調(diào)節(jié)程序、定時(shí)調(diào)節(jié)程序,延時(shí)程序等。運(yùn)用這種辦法,核心在于各模塊的兼容和配合,若各模塊不匹配會(huì)出現(xiàn)意想不到的錯(cuò)誤。首先,在編程之前必須理解硬件構(gòu)造特別是各引腳的使用方法,以及內(nèi)部寄存器、存儲(chǔ)單元的使用方法,否則,編程無(wú)從下手,電路也無(wú)法設(shè)計(jì)。這是前期準(zhǔn)備工作。第二部分是硬件部分:根據(jù)想要的功效分塊設(shè)計(jì)設(shè)計(jì),例如輸入需要開關(guān)電路,輸出需要顯示驅(qū)動(dòng)電路和數(shù)碼管電路等。第三部分是軟件部分:先學(xué)習(xí)理解匯編語(yǔ)言的編程辦法再根據(jù)設(shè)計(jì)的硬件電路進(jìn)行分塊的編程調(diào)試,最后完畢程序設(shè)計(jì)。第四部分是軟件畫圖部分:設(shè)計(jì)好電路后進(jìn)行畫圖,涉及電路圖和仿真圖的繪制。第五部分是軟件仿真部分:軟硬件設(shè)計(jì)好后將軟件載入芯片中進(jìn)行仿真,仿真無(wú)法完畢時(shí)檢查軟件程序和硬件電路并進(jìn)行修改直到仿真成功。第六部分是硬件實(shí)現(xiàn)部分:連接電路并導(dǎo)入程序檢查電路,若與設(shè)計(jì)的完全同樣普通能實(shí)現(xiàn)想要的功效。最后進(jìn)行功效擴(kuò)展,在已經(jīng)對(duì)的的設(shè)計(jì)基礎(chǔ)上,添加額外的功效!五,實(shí)驗(yàn)規(guī)定實(shí)現(xiàn)A、電路設(shè)計(jì)1、整體設(shè)計(jì)本次設(shè)計(jì)重要是應(yīng)用單片機(jī)來(lái)設(shè)計(jì)電子密碼鎖,硬件部分重要分下列電路模塊:顯示電路用8個(gè)共陰數(shù)碼管顯示輸入的密碼,通過(guò)動(dòng)態(tài)掃描進(jìn)行顯示,從而避免了譯碼器的使用,同時(shí)節(jié)省了I/0端口,使電路更加簡(jiǎn)樸。跑馬燈的紅綠燈作批示燈,批示輸入密碼的對(duì)的與否。單片機(jī)采用AT89S52系列,這種單片機(jī)應(yīng)用簡(jiǎn)樸,適合電子密碼鎖設(shè)計(jì)。電路的總體設(shè)計(jì)框架以下:?jiǎn)纹瑱C(jī)輸入部分晶振和復(fù)位輸出部分B、程序設(shè)計(jì)B、程序總體設(shè)計(jì)本實(shí)驗(yàn)用匯編程序完畢、主程序開始顯示星期,時(shí),分,秒與否有調(diào)轉(zhuǎn)?T0中斷秒,分,時(shí)等進(jìn)位閃爍提示顯示日期并調(diào)節(jié)響鈴提示時(shí)間調(diào)節(jié)鬧鈴設(shè)立定時(shí)設(shè)立鈴聲測(cè)試秒表模式回主程序定時(shí)到按0鍵按0鍵鬧鈴到按1鍵按2鍵按3鍵按4鍵按5鍵按7鍵7鍵恢復(fù)按4鍵按8鍵按0鍵按0鍵倒計(jì)時(shí)啟動(dòng)并顯示回主程序秒表暫停秒表清零回主程序按7鍵程序總的流程圖以下:NOYES結(jié)合電路圖,程序設(shè)計(jì)的整體思路為:下列為在該工作方式下模式選擇的按鍵方式,環(huán)節(jié)以下:1、各模塊(CPU,數(shù)碼管,跑馬燈,鍵盤)接好線2、第1到10個(gè)鍵代表0—9這個(gè)數(shù)字3、進(jìn)行密碼的設(shè)立。隨意按下六個(gè)鍵(確保第一位密碼不是0),并記住密碼。然后按下第二個(gè)鍵(重置密碼鍵),即完畢了密碼的設(shè)立(此時(shí)數(shù)碼管是不會(huì)亮的)4、隨意輸入6個(gè)數(shù),構(gòu)成新“密碼”,然后按下第10個(gè)鍵(確認(rèn)鍵)。按下后,程序自動(dòng)進(jìn)行與原設(shè)密碼進(jìn)行對(duì)比。若密碼對(duì)的,則綠燈亮1秒,然后熄滅。若密碼不對(duì)的,則紅燈亮3秒,且在這三秒內(nèi)按下任何數(shù)字鍵無(wú)效,按下一種數(shù)字鍵后,會(huì)重新計(jì)時(shí)紅燈再亮三秒,三秒后,才干重新輸入密碼5、另外,第11個(gè)鍵是刪除鍵,可進(jìn)行數(shù)字的刪除,重新輸入B、2、3主程序主程序重要對(duì)按鍵進(jìn)行掃描,以及判斷定時(shí)和鬧鈴時(shí)間與否已到,若到則調(diào)用有關(guān)程序,該段程序以下:#include<reg52、h>#defineuintunsignedint#defineucharunsignedcharlongintshu=1,shu1,aa=0,password;uchark=0,key=0,bz=0,dk=0,num2;ucharcodetable[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0};longintnum,temp,num1;voidinit();voiddisplay();voiddelay(uintz)//延時(shí)函數(shù){uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}voidkeyscan();voidmain(){init();while(1){keyscan();display();}}voidinit()//初始化函數(shù){num=17;P1=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=0;}//鍵盤掃描函數(shù)voidkeyscan(){P3=0xfe;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;k++;bz++;switch(temp){case0xee:num=0;break;case0xde:num=1;break;case0xbe:num=2;break;case0x7e:num=3;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfd;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;k++;bz++;switch(temp){case0xed:num=4;break;case0xdd:num=5;break;case0xbd:num=6;break;case0x7d:num=7;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xfb;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case0xeb:num=8,k++,bz++;break;case0xdb:num=9,k++,bz++;break;case0xbb:num=10,num2=10;break;case0x7b:num=11;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}P3=0xf7;temp=P3;temp=temp&0xf0;while(temp!=0xf0){delay(5);temp=P3;temp=temp&0xf0;while(temp!=0xf0){temp=P3;switch(temp){case0xe7:num=12;break;case0xd7:num=13;break;case0xb7:num=14;break;case0x77:num=15;break;}while(temp!=0xf0){temp=P3;temp=temp&0xf0;}}}if(key==0)//每輸入一種數(shù),執(zhí)行一次{if(shu==k){dk=k;shu++;if(num<10)//只能夠輸入0--9num1=10*num1+num;//num1即為輸入的密碼的數(shù)值(由于程序的問(wèn)題,密碼的第一位不可覺得零)}}if(num2==10)//確認(rèn)鍵(接下來(lái)進(jìn)行密碼的對(duì)比){shu1=num1;//將輸入數(shù)字賦給shu1if(shu1==password)//輸入密碼對(duì)的,執(zhí)行下面語(yǔ)句{TR0=1;//開定時(shí)器if(aa<=20)//綠燈亮一秒P1=0x7f;//具體是不是綠燈亮需根據(jù)自己的跑馬燈調(diào)節(jié)elseP1=0xff;//一秒后熄滅}else//密碼輸入錯(cuò)誤,則執(zhí)行下面語(yǔ)句{TR0=1;//啟動(dòng)定時(shí)器if(aa<=60){key=1;//嚴(yán)禁輸入P1=0xfb;//紅燈亮if(dk==k)//再次嚴(yán)禁輸入{aa=0;//重新計(jì)時(shí),紅燈亮三秒TH0=(65536-50000)/256;TL0=(65536-50000)%256;dk=99;//使dk不等于k跳出此if語(yǔ)句}}elseP1=0xff;//不不大于3秒后,燈全滅key=0;//能夠重新輸入密碼}}if(num==11)//刪除鍵{num=20;bz--;num1=num1/10;num2=0;key=0;}if(num==13)//重設(shè)密碼{password=num1;num=20;num1=0;num2=0;bz=0;}}voidtimer0()interrupt1//定時(shí)器{TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++;}voiddisplay()//顯示程序{if(bz==0)//沒(méi)有輸入時(shí),數(shù)碼管全熄滅{P0=0x00;P2=0xff;}if(bz==1)//輸入一位時(shí),一種數(shù)碼管亮{P0=0xff;P2=0xfe;delay(5);}if(bz==2)//輸入兩位時(shí),兩個(gè)數(shù)碼管亮{P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);}if(bz==3)//***********{P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);}if(bz==4)//****************{P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);}if(bz==5){P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);}if(bz==6){P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5);}if(bz==7){P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5);P0=0xff;P2=0xbf;delay(5);}if(bz==8){P0=0xff;P2=0xfe;delay(5);P0=0xff;P2=0xfd;delay(5);P0=0xff;P2=0xfb;delay(5);P0=0xff;P2=0xf7;delay(5);P0=0xff;P2=0xef;delay(5);P0=0xff;P2=0xdf;delay(5);P0=0xff;P2=0xbf;delay(5);P0=0xff;P2=0x7f;delay(5);}}C、程序調(diào)試及仿真本程序通過(guò)Keil單片機(jī)開發(fā)平臺(tái)實(shí)現(xiàn)程序的編譯,鏈接,生成HEX文獻(xiàn)。程序再編譯過(guò)程中能夠發(fā)現(xiàn)錯(cuò)位,并及時(shí)改正,在設(shè)計(jì)時(shí)非常重要,使錯(cuò)誤被扼殺在搖籃中。通過(guò)Keil和硬件仿真平臺(tái)Proteus的聯(lián)合,能夠?qū)⒃O(shè)計(jì)效果仿真出來(lái),根據(jù)效果,有目的的變化設(shè)計(jì),優(yōu)化程序。c、1運(yùn)用Keil軟件實(shí)驗(yàn)過(guò)程截圖:1,建一種工程,并設(shè)定與Proteus仿真有關(guān)的參數(shù)2,c語(yǔ)言程序,并生成HEX文獻(xiàn)c、2運(yùn)用Proteu畫原理圖:五、實(shí)驗(yàn)總結(jié)及感想學(xué)習(xí)單片機(jī)是我們小學(xué)期的任務(wù),剛接到課題的時(shí)候有點(diǎn)迷茫,感覺單片機(jī)這種東西,很高深不是幾天就能夠?qū)W好的,信心局限性??墒侵笪覀円孕〗M為單位,以小組學(xué)習(xí)的方式一同窗習(xí),共同分享探討學(xué)習(xí)單片機(jī),發(fā)現(xiàn)單片機(jī)并沒(méi)有想象的那么難。它是以keil為軟件平臺(tái),以AT89S52單片機(jī)為硬件平臺(tái),通過(guò)編程控制單片機(jī)實(shí)現(xiàn)多個(gè)功效。一分耕耘一分收獲,我們搜索了大量的資料,網(wǎng)上的教學(xué)視頻,圖書館的單片機(jī)的教程等等。對(duì)單片機(jī)漸漸有了柳暗花明又一村的效果,也收集了大量有關(guān)密碼鎖的資料。隨著涉獵的點(diǎn)滴積累,我對(duì)電子密碼鎖的設(shè)計(jì)方案已經(jīng)慢慢醞釀而成。有了方向和不少知識(shí)儲(chǔ)藏后,在接下來(lái)的幾天,幾乎每天都有突破,即使

溫馨提示

  • 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)論