![電子密碼門鎖設(shè)計(重慶大學(xué)計硬機(jī)課程設(shè)計)_第1頁](http://file4.renrendoc.com/view/aecd6deea109fa74dacf9ef8d586a65d/aecd6deea109fa74dacf9ef8d586a65d1.gif)
![電子密碼門鎖設(shè)計(重慶大學(xué)計硬機(jī)課程設(shè)計)_第2頁](http://file4.renrendoc.com/view/aecd6deea109fa74dacf9ef8d586a65d/aecd6deea109fa74dacf9ef8d586a65d2.gif)
![電子密碼門鎖設(shè)計(重慶大學(xué)計硬機(jī)課程設(shè)計)_第3頁](http://file4.renrendoc.com/view/aecd6deea109fa74dacf9ef8d586a65d/aecd6deea109fa74dacf9ef8d586a65d3.gif)
![電子密碼門鎖設(shè)計(重慶大學(xué)計硬機(jī)課程設(shè)計)_第4頁](http://file4.renrendoc.com/view/aecd6deea109fa74dacf9ef8d586a65d/aecd6deea109fa74dacf9ef8d586a65d4.gif)
![電子密碼門鎖設(shè)計(重慶大學(xué)計硬機(jī)課程設(shè)計)_第5頁](http://file4.renrendoc.com/view/aecd6deea109fa74dacf9ef8d586a65d/aecd6deea109fa74dacf9ef8d586a65d5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、趙秋帆、李華東、劉志君:電子密碼門鎖設(shè)計趙秋帆、李華東、劉志君:電子密碼門鎖設(shè)計 計算機(jī)硬件技術(shù)基礎(chǔ)課程設(shè)計課題名稱:電子密碼門鎖設(shè)計專業(yè):自動化專業(yè)班級:組長:組員:組員:指導(dǎo)老師:重慶大學(xué)自動化學(xué)院2016年9月基本功能要求主要內(nèi)容:設(shè)計一個密碼門鎖系統(tǒng),以揚(yáng)聲器作為發(fā)聲裝置,以4*4鍵盤作為功能按鍵,根據(jù)預(yù)設(shè)的密碼對門鎖實現(xiàn)安全控制。只有密碼完全符合才能開門,密碼不符時控制揚(yáng)聲器發(fā)聲報警。在計算機(jī)硬件實驗系統(tǒng)基礎(chǔ)上,自行完成揚(yáng)聲器模塊的設(shè)計。密碼為6位,輸入密碼可以開門或修改密碼。.用LED顯示門的當(dāng)前狀態(tài),以及當(dāng)前功能狀態(tài)。.按下開門鍵,LED顯示“輸入密碼”提示信息,用戶輸入密碼后,
2、若正確則門打開,按下關(guān)門鍵或打開5秒后關(guān)門。若密碼錯誤則三色LED用紅色顯示“密碼錯”提示信息后,要求用戶重新輸入密碼,3次錯誤后三色1口紅綠交錯顯示錯誤提示信息,并且揚(yáng)聲器同時發(fā)聲報警,按下返回鍵返回。.若按下設(shè)置鍵,LED顯示“輸入密碼”提示信息,用戶輸入密碼,若正確則LED顯示修改密碼“提示信息,要求用戶輸入新開門密碼,按確認(rèn)鍵保存新密碼后返回,按返回鍵則放棄修改直接返回。若錯誤處理規(guī)則與開門相同。組員分工趙秋帆:開門和設(shè)置程序的編寫,編寫主程序?qū)⑵渌映绦蛘弦约罢w調(diào)試。李華東:硬件連線和8259部分中斷程序、三色LED子程序的編寫。劉志君:8254部分硬件連線及程序的編寫、相關(guān)例題
3、的查詢以及實驗報告的撰寫。硬件設(shè)計器件選擇實驗箱上的5片可編程并行I/O口接口芯片8255A,1片可編程定時/計數(shù)器8254,1片中斷控制器8259(A),6位8段共陰極LED,兩個LED小燈以及三色共陽極LED和蜂鳴器。器件功能分配設(shè)計4片固定可編程并行I/O口接口芯片8255A控制三個LED顯示錯誤信息擴(kuò)展可編程并行I/O口接口芯片8255A控制8段共陰極LED顯示信息,同時控制掃描鍵盤。可編程定時/計數(shù)器8254完成關(guān)門定時,揚(yáng)聲器報警頻率信號。中斷控制器8259(A)控制中斷。揚(yáng)聲器完成報警。3.3硬件連線根據(jù)前面的分析以及器件功能分配,進(jìn)行硬件連線地址:可編程并行I/O口接口芯片82
4、55A接300H可編程定時/計數(shù)器8254接320H中斷控制器8259A接340H接線:.可編程定時/計數(shù)器8254計數(shù)器0CLK接頻率信號47KHZ,GATE接+5V,OUT接計數(shù)器1的CLK.可編程定時/計數(shù)器8254計數(shù)器1CLK接計數(shù)器0的OUT口,GATE接+5V,OUT接8259IRQ0.可編程定時/計數(shù)器8254計數(shù)器2CLK接頻率信號3MHZ,GATE接+5V,OUT接揚(yáng)聲器信號輸入端.擴(kuò)展可編程并行I/O口接口芯片8255AA口接LED段選,B口接LED位選,b0接開關(guān)狀態(tài)LED燈,b1接功能狀態(tài)LED小燈,C口高四位接鍵盤列信號,低四位接鍵盤行信號.中斷控制器8259(A)
5、INT1接INTR,SP/1接+5V,IRQ0接8254計數(shù)器1OUT.蜂鳴器信號接8254計數(shù)器2OUT硬件連線原理圖如圖DOD2D3D43iD6D7csRDDOD2D3D43iD6D7csRD*R-JOQ7J口二二8454gateiCLKll00二9OQUQ|O:,8|UouroGATEOCMsOUT2GATEJCLQOTTOGATEOCLKOU二GATEICLK1OUT:GATKCLK2圖3.3.18254定時/計數(shù)器原理圖圖3.2.2鍵盤接口原理圖跖“71:-:.7-.7:&片3口:s圖3.3.3三色LED原理圖圖3.3.48259原理圖經(jīng)過分析,電子密碼門鎖設(shè)計程序分兩大部分。其一,
6、開門功能程序,流程圖如圖2.2.1;其二,修改密碼程序,流程圖如圖2.2.2。使用可編程并行I/O口接口芯片8255A控制6位8段共陰極LED顯示提示信息和輸入的密碼、控制鍵盤掃描以及控制兩個LED小燈分別顯示功能狀態(tài)和開關(guān)門狀態(tài);使用可編程定時/計數(shù)器8254完成計時5S和蜂鳴器信號生成;使用中斷控制器8259A控制計時5s后完成自動關(guān)門與三色1口紅綠交替功能,使用三色1口提示錯誤。以下分別為開門程序流程圖和設(shè)置程序流程圖:圖4.1.1開門程序流程圖圖4.1.2設(shè)置程序流程圖使用說明功能及顯示說明系統(tǒng)初始密碼為000000(密碼只能是6位);密碼可以由09組成;開門5s后,自動返回關(guān)門狀態(tài);
7、.左側(cè)LED小燈:功能指示燈,亮表示開門功能狀態(tài),滅表示設(shè)置功能狀態(tài);.右側(cè)LED小燈:開關(guān)門狀態(tài)指示燈,亮表示打開,滅表示關(guān)閉;.提醒輸入密碼顯示為:INPUT;.提醒修改密碼顯示為:CHANGE;.提示密碼錯誤顯示為:Error;.密碼錯誤三色1口顯示為:Error(紅色);.錯誤三次三色LED顯示為:Error(紅綠交替);.錯誤三次蜂鳴器報警。3.2操作說明A鍵-待機(jī)界面時進(jìn)入開門功能;B鍵-待機(jī)界面時進(jìn)入設(shè)置功能;E鍵返回鍵,開門后,按下返回鍵返回關(guān)門狀態(tài)F鍵-確定鍵,顯示提醒時,需按確定鍵繼續(xù);輸入密碼后,按確認(rèn)鍵確認(rèn)提示密碼錯誤,需按確認(rèn)鍵重新輸入;報警后,需按確認(rèn)鍵返回關(guān)門狀態(tài)
8、。在實驗板上結(jié)果顯示根據(jù)題目的要求,通過調(diào)試運(yùn)行程序,得到了各種情況如下:(1)關(guān)門狀態(tài)顯示INPUT,如下圖6.1.1田&riibq田&riibqaa心e圖6.1.1關(guān)門狀態(tài)顯示情況(2)輸入密碼狀態(tài)顯示,結(jié)果如圖4.1.2圖6.1.2輸入密碼狀態(tài)顯示情況(2)開門狀態(tài)顯示,結(jié)果如圖6.1.3(2)開門狀態(tài)顯示,結(jié)果如圖6.1.3圖4.1.3開門狀態(tài)顯示(3)改密碼界面顯示CHANGE,結(jié)果如圖6.1.4圖6.1.4改密碼界面顯示密碼輸錯三次,三色LED交替閃爍,結(jié)果如圖6.1.5圖6.1.5輸錯三次密碼7總結(jié)趙秋帆(20134692)心得體會:趙秋帆(20134692)心得體會:這次課程設(shè)
9、計中,我主要負(fù)責(zé)開門功能和設(shè)置功能的實現(xiàn),并編寫主函數(shù),將其他成員編寫的子函數(shù)整合在一起,在這次課程設(shè)計中,遇到了不少難點(diǎn),比如,在實現(xiàn)開門后5秒后關(guān)門,或者按關(guān)門鍵關(guān)門該功能中,實現(xiàn)起來就頗為費(fèi)勁,首先因為按鍵盤關(guān)門,有一個掃描的問題,在掃描程序中,如果不按鍵,就會一直掃描,沒法跳出掃描程序段,就更沒法執(zhí)行5秒關(guān)門這一指令,于是,在這里使用了定時中斷的方法,利用8254定時5秒,觸發(fā)中斷,使一自定義標(biāo)志位置1,在按鍵掃描的程序中加入判斷該標(biāo)志位是否為1,為1則直接跳出掃描程序段,從而解決鍵盤掃描子程序不按鍵不可跳出的問題,使得開門后5秒后關(guān)門,或者按關(guān)門鍵關(guān)門該功能得以實現(xiàn)。再比如實現(xiàn)顯示開
10、門或設(shè)置的功能狀態(tài)和門的開關(guān)狀態(tài)這一功能時,原本是打算,將該兩個狀態(tài)的顯示合二為一,一同顯示在LED上,后來發(fā)現(xiàn)此舉不太妥當(dāng),一方面因為,不能實時顯示門的開關(guān)狀態(tài)以及開門或者設(shè)置功能的狀態(tài),像顯示輸入密碼或是修改密碼之類需要占用LED顯示的時候,就無法顯示。另外一方面因為,這樣所表示出來門的狀態(tài),實際上是比較虛假的,只是取了3個靜止?fàn)顟B(tài)來表示門的狀態(tài):1.開門功能,關(guān)門狀態(tài)2.開門功能,開門狀態(tài)3.設(shè)置功能,關(guān)門狀態(tài)。而門的開關(guān)狀態(tài),應(yīng)該是獨(dú)立出來,這樣才更加符合實際。因此我們在這問題的解決上,使用了2個小燈,其中1盞的亮滅代表開門和設(shè)置狀態(tài),另外一盞的亮滅代表門的開關(guān)狀態(tài)。但是這樣后,便有了
11、新的問題,沒有足夠的輸出口供使用,我們唯一能找到的輸出口,只有控制LED6位位選的B口所剩下了2個輸出口A1和A0,而要使用A1,A0,且使A1,AO獨(dú)立起來,就必須在程序里面下功夫,使LED在正常顯示的同時,且不影響A1,A0位。為了解決這一問題,我設(shè)置了一個名為LEG的存儲單元,用來保存A1,A0的狀態(tài),在每個需要LED顯示的地方,先將LEG的值賦予AL,再用或運(yùn)算來控制前面六位的位選,從而達(dá)到LED正常顯示,且不影響A1,A0的目的。通過這次課程設(shè)計,我更加熟練地掌握了硬件基礎(chǔ)的知識,復(fù)習(xí)了8254,8259,8255以及4*4鍵盤、單色LED、三色LED等硬件的使用,在這次課設(shè)中,我們
12、遇到了不少困難,但都在小組的共同努力下,逐一解決,使我們雖然辛苦,卻樂在其中。李華東(20134678)的心得體會:剛拿到這次課程設(shè)計的題目乍看了一下感覺并不難,剛有點(diǎn)松懈下來,結(jié)果到了實驗室卻發(fā)現(xiàn)這次實驗大方向雖然簡單,但是其中充滿了復(fù)雜的小細(xì)節(jié),在程序編寫過程中也多次讓我們小組的成員們絞盡腦汁。其中最突出的就是用led來顯示提示信息,這本來是一個很簡單的任務(wù),在去年課程的學(xué)習(xí)中我們也對此駕輕就熟,但是到了實戰(zhàn)卻發(fā)現(xiàn)有好多我們想用的字母都拼不出來,為了避免引起界面混亂,我們不得不重新更改了我們的計劃,添加了兩個led小燈作為指示燈來顯示工作狀態(tài)與門的開關(guān)。這雖然加大了我們的工作量,但是卻在理
13、論上簡化操作界面。但是難題又接踵而至)輸出接口不夠用了,在上述情況下我們的8255的a口用于段選,b口用于位選,c口用于接鍵盤,那么僅有的兩個輸出口就只能從位選上省,但是在led顯示程序上位選的掃描顯示程序又會影響到led小燈的暗滅。在我們百思不得其解的時候,組里的大神靈機(jī)一動,想出了先將寄存器數(shù)值(如10000000)與一個00000011再或一個01000000,保護(hù)了最后兩位不受位選掃描的影響,這種解決問題的方法給了我很大的啟發(fā)。這之后我們小組一路過關(guān)斬將,排除了一個個問題,終于將課設(shè)圓滿完成。這其中也不乏各種難題,比如8259a中斷部分程序的編寫就給我造成了很大的困擾,在連續(xù)看了一天書
14、之后我終于把它搞懂并完成了程序的編寫??偟膩碚f,這次課程設(shè)計使我們熟悉了以前學(xué)過的知識,也是我們逐漸的掌握了一些思考方法以及提升了部分技能,同時,團(tuán)隊協(xié)作能力也得到了提升,收獲不小,也讓自己對未來增加了一些自信心。這次的課程設(shè)計我對為指令的設(shè)計和流程都有了更深的理解,進(jìn)一步熟悉了計算機(jī)硬件技術(shù)原理的基本知識,同時也加深了解了模塊化程序設(shè)計的基本過程,掌握了一些基本的軟硬件設(shè)計知識并對其進(jìn)行了基本的運(yùn)用,在模塊化程序設(shè)計中運(yùn)用了很多知識,以及幾塊芯片8255、8254、8259來實現(xiàn)計數(shù)器、定時器、查詢的功能等,即實現(xiàn)了對以往所學(xué)內(nèi)容的復(fù)習(xí),也讓自己更加對他們的實際運(yùn)用能力得到了增強(qiáng),使自己比以
15、前的動手能力與對課題的思考能力得到了增強(qiáng)。通過實踐,提高了我的實際操作能力,從以前所學(xué)理論上升到實踐,真正做到了學(xué)有所用,同時也認(rèn)識到了自己的不足之處,對轉(zhuǎn)移指令、芯片工作方式等都不是很熟悉,但是自己受益匪淺。劉志君(20134679)的心得體會:以前上微機(jī)課的時候,因為自己的不重視,我都不知道,硬件到底是什么,用來做什么,怎樣實現(xiàn)。當(dāng)理論和實際發(fā)生隔閡,不知道怎樣將學(xué)的枯燥無味了理論知識融入實際中,這種學(xué)習(xí)當(dāng)然會十分苦惱,以至于學(xué)習(xí)激情大打折扣,所以對硬件連接和匯編語言掌握得一塌糊涂,這也使得這次課程設(shè)計一直跟不上組員的節(jié)奏。因此我只能嘗試著完成組長趙秋帆交給我的一些簡單的工作,同時邊做邊向
16、他們請教。在程序的編寫和調(diào)試方面我一直是出于半懵狀態(tài),在組長對各種狀況想方設(shè)法進(jìn)行解決的時候,雖然我并沒有能力去給出什么決定性的建議,但是我也還是強(qiáng)迫自己盡可能的加入,盡可能的提出自己的見解。而在這半學(xué)習(xí)半時間的過程中,我也是學(xué)到了很多以前被拋卻腦后的硬件連接和匯編知識。雖然現(xiàn)在讓我獨(dú)自去完成這個課程設(shè)計我照樣會感到困難,但是課程設(shè)計工作中的一部分事情我卻相信自己可以做到很好了,比如說8255模塊的硬件連接以及8254部分相關(guān)程序的編寫?,F(xiàn)在的我也理解了八段LED位選和段選的具體含義,位選用來控制幾個LED燈的顯示,而段選則控制這些LED燈顯示的內(nèi)容,也就是各筆畫數(shù)碼管的亮滅。雖然是很基礎(chǔ)的知
17、識,但是對于理解硬件連接和數(shù)據(jù)寫入有很大的幫助??傊?,這次實踐,補(bǔ)習(xí)了我理論課漏掉的知識,提高了我的實際操作能力,從以前所學(xué)理論上升到實踐,真正做到了學(xué)有所用,同時也認(rèn)識到了自己的不足之處,并且意識到所學(xué)理論知識的重要性,這雖然只是一次課程設(shè)計,卻也是對以后工作的映射,理論學(xué)習(xí)是工作時間的基礎(chǔ),所以萬萬不可忽視。而且課程設(shè)計可以體現(xiàn)出團(tuán)隊合作程度,緊密合作加上明確分工,能夠大大地提高設(shè)計速度,在動手設(shè)計之前,最好將設(shè)計所需要的數(shù)據(jù),程序準(zhǔn)備好,為了判斷設(shè)計結(jié)果是否正確,有必要在準(zhǔn)備階段計算理論值。仔細(xì)分析指令的每一位,以及理清思路,在設(shè)計時做到胸有成竹。8附錄程序清單.486CODESEGME
18、NTUSE16ASSUMECS:CODEORG1000HBEGIN:JMPSTARTSHOWINPUTDB06H,37H,73H,3EH,31H,00H顯示輸入密碼SHOWCHANGEDB39H,76H,77H,37H,7DH,79H顯示修改密碼SHOWERRORDB79H,50H,50H,5CH,50H,00H顯示錯誤SHOWSTOPDB40H,40H,40H,40H,40H,40H顯示橫杠INPUTWATDB40H,40H,40H,40H,40H,40H輸入密碼暫存PASSWORDDB3FH,3FH,3FH,3FH,3FH,3FH密碼儲存PASSWORD1DB3FH,3FH,3FH,3FH
19、,3FH,3FH密碼備份PASSNUMDB6輸入密碼計數(shù)標(biāo)志CHECKFDB0;密碼檢測標(biāo)志ERRORNUMDB3;錯誤計數(shù)OTCOUTDB0;開門后關(guān)門程序跳出標(biāo)志KEYZHIDB0LEGDB1;*主程序開始START:LEASI,INPUTWATCALLCLR;清除輸入密碼存儲單元MOVDX,20CH;四片8255初始化MOVEAX,80808080HOUTDX,EAXMOVDX,30CH;擴(kuò)展8255控制字,AB輸出,C高出低入MOVAL,81HOUTDX,ALMOVDX,32CH工作在方式2下MOVAL,34HOUTDX,ALMOVDX,32CH工作在方式0下與計數(shù)器0級聯(lián)計時5sMO
20、VAL,50HOUTDX,ALMOVDX,32CH工作在方式3下MOVAL,10110110BOUTDX,ALMOVDX,340HMOVAL,000010011BOUTDX,ALMOVDX,348H40H47HMOVAL,40HOUTDX,ALMOVDX,348HMOVAL,01HOUTDX,ALMOVDX,348HMOVAL,00HOUTDX,ALCLI;填開門后關(guān)門跳出中斷向量;8254計數(shù)器0;8254計數(shù)器0初始化;8254計數(shù)器1初始化;8245計數(shù)器2初始化;初始化8259寫ICW1;寫ICW2中斷類型號為;寫ICW4;寫OCW1,開放所有IRMOVBX,4*40HMOVAX,OF
21、FsETINTOTCOUTMOVBX,AXMOVAX,sEGINTOTCOUTMOVBX+2,AX;*開門功能程序OPENDOOR:ANDLEG,11111101BMOVDX,304HMOVAL,LEGOUTDX,AL;功能指示燈亮;顯示輸入密碼提示,按下FOsHOWINP:LEABX,sHOWINPUT確認(rèn);功能指示燈亮;顯示輸入密碼提示,按下FCALLSHOWANDKEYCMPCL,0B7HJZSETTINGCMPCL,77HJNZOSHOWINPPAA:LEASI,INPUTWATCALLCLRPA0:MOVPASSNUM,06H;輸入密碼,按下D鍵可以消除上一次輸入,按下E鍵可以重新輸
22、入,輸入完成后按下F鍵確認(rèn)LEASI,INPUTWATPAL:LEABX,INPUTWATCALLSHOWANDKEYJMPPAPASSN:LEABX,INPUTWATCALLSHOWANDKEYPA:CALLKEYTOSHOWINCSIDECPASSNUMJNZPASSNPA3:CALLSHOWANDKEYCMPCL,77HJZPA2JMPPA3;調(diào)用密碼匹配;功能指示燈亮;調(diào)用密碼匹配;功能指示燈亮;密碼正確,開門指示燈亮,PASSRI:ANDLEG,11111110BMOVDX,304HMOVAL,LEGOUTDX,AL按下鍵或者5秒后關(guān)門STICALLOPENTOCLOSECALLSH
23、OWANDKEYCMPCL,7BHJNZPASSRICLIORLEG,00000001BMOVERRORNUM,3JMPSTARTPASSER:CALLLER3MOVDX,328H;計數(shù)器2報警解除計數(shù)初MOVDX,328HMOVAX,0OUTDX,ALMOVAL,AHOUTDX,ALJMPSTART;*設(shè)置功能程序;功能指示燈滅SETTING:MOVDX,304H;功能指示燈滅ORLEG,00000010BMOVAL,LEGOUTDX,ALSSHOWINP:LEABX,SHOWINPUT;提示輸入密碼CALLSHOWANDKEYCMPCL,0BBHJZOPENDOORCMPCL,77HJNZ
24、SSHOWINPPBB:LEASI,INPUTWATCALLCLR;輸入密碼PB0:MOVPASSNUM,06H;按下D鍵可以消除上一次輸入,按下E鍵可以重新輸入,輸入完成后按下F鍵確認(rèn)LEASI,INPUTWATPBL:LEABX,INPUTWATCALLSHOWANDKEYJMPPBPASSN1:LEABX,INPUTWATCALLSHOWANDKEYPB:CALLKEYTOSHOWINCSIDECPASSNUMJNZPASSN1PB3:CALLSHOWANDKEYCMPCL,77HJZPB2JMPPB3PB2:MOVPASSNUM,06H;調(diào)用密碼匹配;密碼正確,提示修改密碼,;調(diào)用密碼
25、匹配;密碼正確,提示修改密碼,CMPCHECKF,01HJNZPASSERLPASSRI1:按下F繼續(xù)LEABX,SHOWCHANGECALLSHOWANDKEYCMPCL,77HJNZPASSRI1PCC:LEASI,PASSWORD1CALLCLR;輸入新密碼PC0:MOVPASSNUM,06H;按下口鍵可以消除上一次輸入,按下E鍵可以重新輸入,輸入完成后按下F鍵確認(rèn)LEASI,PASSWORD1PCL:LEABX,PASSWORD1CALLSHOWANDKEYJMPPCCHANGE:LEABX,PASSWORD1CALLSHOWANDKEYPC:CALLKEYTOSHOWINCSIDEC
26、PASSNUMJNZCHANGEPC3:CALLSHOWANDKEYCMPCL,77HJZYESNOJMPPC3YESNO:LEABX,PASSWORD1CALLSHOWANDKEYCMPCL,7BHJZNOYES:CMPCL,77H回JNZYESNOLEABX,PASSWORD1LEASI,PASSWORDMOVAH,0CLEAR1:MOVAL,AHXLATMOVBYTEPTRSI,ALINCSIINCAHCMPAH,06HJNZCLEAR1NO:JMPSTARTPASSERL:CALLLER3;按下鍵取消修改并返回;修改成功,按F確定并返;計數(shù)器;按下鍵取消修改并返回;修改成功,按F確定并
27、返;計數(shù)器2報警解除MOVAX,0OUTDX,ALMOVAL,AHOUTDX,ALLEASI,INPUTWATCALLCLRJMPSTARTCLRPROCNEARMOVAL,6INPUTWATL:MOVBYTEPTRSI,40HINCSIDECALJNZINPUTWATLRETCLRENDPSHOWANDKEYPROCNEARSHOWSTATEL:MOVAH,00H;位選;送段;位選;送段;送位選;位選向右移位;按鍵掃描XLATMOVDX,300HOUTDX,ALMOVDX,304HMOVAL,LEGORAL,KEYZHIOUTDX,ALRORKEYZHI,1INCAHKSCANL:MOVCL
28、,0EFHNXTCOLL:MOVAL,CLMOVDX,308HOUTDX,ALINAL,DXANDAL,0FHCMPAL,0FHJNZFNDKEYLROLCL,1JCNXTCOLLCMPOTCOUT,1JNZLLMOVCL,7BHMOVOTCOUT,0RETLL:CMPAH,06HJZSHOWSTATELJMPSHOWSTATEL1FNDKEYL:ANDCL,0F0H;鍵特征值形成ORCL,ALCALLSHOWHENGCALLDELYKEYUPL:MOVAL,0;按鍵防抖動MOVDX,308HOUTDX,ALINAL,DXANDAL,0FHCMPAL,0FHJNZKEYUPLRETSHOWAN
29、DKEYENDP;*鍵特征值到短代碼的轉(zhuǎn)換KEYTOSHOWPROCNEARTOC o 1-5 h zCMPCL,0EEH;0JNZKL1MOVBYTEPTRSI,3FHRETKL1:CMPCL,0EDH;1JNZKL2MOVBYTEPTRSI,06HRETKL2:CMPCL,0EBH;2JNZKL3MOVBYTEPTRSI,5BHRETKL3:CMPCL,0E7H;3JNZKL4MOVBYTEPTRSI,4FHRETKL4:CMPCL,0DEH;4JNZKL5MOVBYTEPTRSI,66HRETKL5:CMPCL,0DDH;5JNZKL6MOVBYTEPTRSI,6DHRETKL6:CMP
30、CL,0DBH;6JNZKL7MOVBYTEPTRSI,7DHRETKL7:CMPCL,0D7HJNZKL8MOVBYTEPTRSI,07HRET;7KL8:CMPCL,0BEHJNZKL9MOVBYTEPTRSI,7FHRET;8KL9:CMPCL,0BDHJNZKLAMOVBYTEPTRSI,6FHRET;9KLA:CMPCL,0BBHJNZKLBMOVBYTEPTRSI,77H;ARETKLB:CMPCL,0B7HJNZKLCMOVBYTEPTRSI,7CHRET;BKLC:CMPCL,7EHJNZKL0MOVBYTEPTRSI,39H;CKL0:RETKEYTOSHOWENDP;*密碼
31、檢測程序CHECKPROCNEARLEASI,INPUTWATLEADI,PASSWORDCHECKL0:MOVAL,BYTEPTRSIMOVAH,BYTEPTRDICMPAL,AHJNZCHECKERINCSIINCDIDECPASSNUMJZCHECKRIJMPCHECKL0CHECKER:MOVCHECKF,0MOVPASSNUM,06HRETCHECKRI:MOVCHECKF,1MOVPASSNUM,06HRETCHECKENDP;*延時子程序DELYPROCNEARPUSHCXMOVCX,0FFFFHDELY_L0:LOOPDELY_L0POPCXRETDELYENDP;*三色led子程序LER3PROCNEARDECERRORNUMJZWAR;5片8255;5片8255給段選(每MOVEAX,0FFAFAF86HOUTDX,EAXMOVDX,204H片后一個)MOVEAX,0FFFFA3AFHOUTDX,EAXMOVDX,208HMOVEAX,05050505HOUTDX,EAXABC:LEABX,SHOWERRORCALLSHOWANDKEYCMPCL,77HJNZ
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年五年級數(shù)學(xué)下冊 7 折線統(tǒng)計圖第1課時 單式折線統(tǒng)計圖配套說課稿 新人教版001
- 2025城鎮(zhèn)土地開發(fā)和商品房借款合同協(xié)議書范本范文
- 9 生活離不開規(guī)則 (說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治三年級下冊001
- 2025工地集控室裝飾裝修工程分包合同
- 2025原料玉原料玉米電FEGN子交易合同文本
- 2025二手房交易合同(合同版本)
- 2024年五年級數(shù)學(xué)上冊 3 小數(shù)除法練習(xí)課說課稿 新人教版
- 2024年高中歷史 第三單元 從人文精神之源到科學(xué)理性時代 第13課 挑戰(zhàn)教皇的權(quán)威說課稿 岳麓版必修3
- Unit 6 Growing Up(說課稿)2023-2024學(xué)年人教新起點(diǎn)版英語五年級下冊001
- 2024秋七年級英語下冊 Module 8 Story time Unit 3 Language in use說課稿 (新版)外研版
- 二零二五年度集團(tuán)公司內(nèi)部項目專項借款合同范本3篇
- 事業(yè)單位公開招聘工作人員考試題(公共基礎(chǔ)知識試題和答案)
- 甲狀腺的科普宣教
- 《算法定價壟斷屬性問題研究的國內(nèi)外文獻(xiàn)綜述》4200字
- 在線心理健康咨詢行業(yè)現(xiàn)狀分析及未來三至五年行業(yè)發(fā)展報告
- 廉潔應(yīng)征承諾書
- Unit+4+History+and+Traditions單元整體教學(xué)設(shè)計課件 高中英語人教版(2019)必修第二冊單元整體教學(xué)設(shè)計
- 提高預(yù)埋螺栓安裝一次驗收合格率五項qc2012地腳
- 2023年全國自學(xué)考試00054管理學(xué)原理試題答案
- 六年級譯林版小學(xué)英語閱讀理解訓(xùn)練經(jīng)典題目(附答案)
- GB/T 18015.1-1999數(shù)字通信用對絞或星絞多芯對稱電纜第1部分:總規(guī)范
評論
0/150
提交評論