版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 本科課程設(shè)計(jì)(論文)</p><p><b> 題目:多功能密碼鎖</b></p><p> 課程名稱 微機(jī)原理課程設(shè)計(jì) </p><p> 學(xué) 院 自動(dòng)化科學(xué)與工程學(xué)院 </p><p> 班 級(jí)
2、 </p><p> 學(xué)生姓名 </p><p> 學(xué)生學(xué)號(hào) </p><p> 提交日期 2015 年 1 月 3 日</p><p
3、><b> 目錄</b></p><p> 一、目的···························
4、3;················3</p><p> 二、內(nèi)容···············
5、3;····························3</p><p> 三、設(shè)計(jì)任務(wù)···
6、183;····································
7、3</p><p> 四、方案選擇及原理·······························&
8、#183;··3</p><p> 五、所用器件·····························
9、;···········3</p><p> 主要器件簡(jiǎn)介····················
10、83;················4</p><p> 六、原理圖···············
11、183;··························6</p><p> 1、8086和存儲(chǔ)器連接····
12、··························6</p><p> 2、CPU與8255A連接····
13、83;··························6</p><p> 8255A的A口與鍵盤(pán)連接····
14、·····················7</p><p> 8255A的B、C口··········
15、····················7</p><p> 5、完整電路圖···········
16、83;·························8</p><p> 七、軟件設(shè)計(jì)思路······
17、;·································8</p><p>
18、; 八、流程圖···································
19、183;······9</p><p> 1、主程序·························&
20、#183;···············10</p><p> 2、子程序················
21、;························11</p><p> 九、程序代碼·······
22、183;·································11</p><
23、p> 十、設(shè)計(jì)中的難點(diǎn)··································&
24、#183;·13</p><p> 十一、收獲及體會(huì)·····························
25、183;········14</p><p><b> 多功能密碼鎖</b></p><p><b> 一、目的</b></p><p> 了解和掌握8086,8255,等接口芯片以及LED顯示器的原理和功能;</p>&l
26、t;p> 能用這些接口芯片構(gòu)建一個(gè)簡(jiǎn)單的系統(tǒng)控制對(duì)象,</p><p> 掌握接口電路的綜合設(shè)計(jì)與使用;</p><p> 通過(guò)自己動(dòng)手,進(jìn)一步了解計(jì)算機(jī)得工作原理,接口技術(shù),提高計(jì)算機(jī)硬件,軟件綜合應(yīng)用能力,即對(duì)微機(jī)原理,接口技術(shù),匯編語(yǔ)言程序設(shè)計(jì)進(jìn)行綜合訓(xùn)練。</p><p><b> 二、內(nèi)容</b></p>
27、<p> 密碼鎖在輸入密碼正確的條件下輸出開(kāi)鎖電平,控制電控鎖開(kāi)啟,同</p><p> 顯示00字樣。當(dāng)輸入密碼錯(cuò)誤時(shí),發(fā)出錯(cuò)誤警告聲音,同時(shí)顯示FF字樣。當(dāng)六次誤碼輸入的條件下,產(chǎn)生報(bào)警電平報(bào)警。還可以實(shí)現(xiàn)對(duì)密碼的修改,修改成功后,蜂鳴器發(fā)出確認(rèn)音。</p><p><b> 三、設(shè)計(jì)任務(wù)</b></p><p> 1、選
28、用8086和適當(dāng)?shù)拇鎯?chǔ)器及接口芯片完成相應(yīng)的功能。</p><p> 2、用LED顯示器顯示電子鎖的當(dāng)前狀態(tài)。</p><p> 3、畫(huà)出詳細(xì)的硬件連接圖。</p><p> 4、給出程序設(shè)計(jì)思路、畫(huà)出軟件流程圖。</p><p> 5、給出地址分配表。</p><p> 6、給出所有程序清單并加上必要注釋。
29、</p><p> 7、完成設(shè)計(jì)說(shuō)明書(shū)(列出參考文獻(xiàn),所用器件型號(hào))。</p><p><b> 四、方案選擇及原理</b></p><p> 這次的設(shè)計(jì)要求是在密碼輸入正確時(shí)輸出開(kāi)鎖電平和顯示“00”,密碼錯(cuò)誤時(shí)顯示“FF”和蜂鳴器發(fā)出報(bào)警聲音等,我們采用8255A的B口作為顯示器的輸出,c口為選管和接蜂鳴器,開(kāi)鎖及報(bào)警電平。對(duì)于6次密
30、碼錯(cuò)誤輸入,剛開(kāi)始用8253計(jì)數(shù)器,后來(lái)發(fā)覺(jué)可以直接用軟件控制,線路簡(jiǎn)單,程序也很易實(shí)現(xiàn)。</p><p> 用蜂鳴器發(fā)聲次數(shù)來(lái)區(qū)分確認(rèn)和警告聲音,一聲表示確認(rèn),三聲表示警告。鍵盤(pán)上的按鍵用SW-PB共12個(gè),0-9為數(shù)字鍵,連接到8255A的A口對(duì)應(yīng)二進(jìn)制數(shù),還有確認(rèn)鍵和密碼修改鍵,按下表示A口接收到低電平信號(hào)。</p><p><b> 五、所用器件</b>&
31、lt;/p><p> CPU8086、并行接口8255A、存儲(chǔ)器27c513、地址鎖存器8282、74LS138、石英晶振,8284A、共陰極數(shù)碼管、非門(mén)74LS04、蜂鳴器,電阻、開(kāi)關(guān)等。</p><p><b> 主要器件簡(jiǎn)介</b></p><p><b> CPU8086</b></p><p
32、> 8086是Inter系列的16位微處理器,芯片上有2.9萬(wàn)個(gè)晶體管,采用 HMOS工 藝制造,用單一的+5V電源,時(shí)鐘頻率為5MHz~10MHz。 8086有16根數(shù)據(jù)線和20根地址線,它既能處理16位數(shù)據(jù),也能處理8位數(shù)據(jù)。可 尋址的內(nèi)存空間為1MB.</p><p><b> 并行接口8255</b></p><p> Intel 8086/808
33、8 系列的可編程外設(shè)接口電路(Programmable Peripheral Interface)簡(jiǎn)稱 PPI,型號(hào)為8255(改進(jìn)型為8255A及8255A-5),具有24條輸入/輸出引腳、可編程的通用并行輸入/輸出接口電路。它是一片使用單一+5V電源的40腳雙列直插式大規(guī)模集成電路。8255A的通用性強(qiáng),使用靈活,通過(guò)它CPU可直接與外設(shè)相連接。</p><p> 地址鎖存器74LS138</p>
34、;<p> 74LS138 為3 線-8 線譯碼器,共有 54/74S138和 54/74LS138 兩種線路結(jié)構(gòu)型式,其工作原理如下:當(dāng)一個(gè)選通端(G1)為高電平,另兩個(gè)選通端(/(G2A)和/(G2B))為低電平時(shí),可將地址端(A、B、C)的二進(jìn)制編碼在一個(gè)對(duì)應(yīng)的輸出端以低電平譯出。 利用 G1、/(G2A)和/(G2B)可級(jí)聯(lián)擴(kuò)展成 24 線譯碼器;若外接一個(gè)反相器還可級(jí)聯(lián)擴(kuò)展成 32 線譯碼器。 若將選通端中的一
35、個(gè)作為數(shù)據(jù)輸入端時(shí),74LS138還可作數(shù)據(jù)分配器。</p><p><b> 六、原理圖</b></p><p> 1、8086和存儲(chǔ)器連接</p><p> 存儲(chǔ)器地址:0000H~3FFFH</p><p> 2、CPU與8255A連接</p><p> 8255A地址分配:PA8
36、00H PB802H PC804H 控制寄存器806H</p><p> 為了滿足8255A的四個(gè)端口地址必須為偶地址這一要求,將8255A的A1、A0分別與8086系統(tǒng)地址總線的A2、A1相連,并且,CPU在對(duì)8255A的端口進(jìn)行訪問(wèn)時(shí),總是將地址中的A0設(shè)置為0.</p><p> 3、8255A的A口與鍵盤(pán)連接</p><p> 共12個(gè)按鍵,0-
37、9為數(shù)字鍵,每個(gè)十進(jìn)制數(shù)對(duì)應(yīng)PA3~PA0四位二進(jìn)制數(shù),確認(rèn)鍵和修改密碼鍵按下時(shí),PA4和PA5為低電平。</p><p> 4、8255A的B、C口</p><p> C口低四位用了低三位,都是輸出高電平有效,高四位用了兩位,輸出低電平有效。</p><p><b> 完整電路圖</b></p><p><
38、b> 七、軟件設(shè)計(jì)思路</b></p><p> 由于硬件設(shè)計(jì)部分沒(méi)有用到8259和8253,主要器件是8086和8255,所以使得設(shè)計(jì)簡(jiǎn)單很多。程序也主要解決如何利用8255來(lái)實(shí)現(xiàn)所要求的功能這個(gè)問(wèn)題。首先需要初始化8255,A口作為輸入,B、C口作為輸出。一開(kāi)始縱觀設(shè)計(jì)內(nèi)容及要求,可以大致知道需要三個(gè)子程序,修改密碼程序、開(kāi)鎖程序、閉鎖程序。由A口輸入的數(shù)據(jù)決定調(diào)用哪個(gè)子程序,而相關(guān)子程
39、序需要具有所要求的功能,比如修改密碼程序需要在修改成功后發(fā)出蜂鳴聲,開(kāi)鎖程序需要輸出開(kāi)鎖電平和顯示00字樣,等等。為方便程序編寫(xiě),采用輸入數(shù)據(jù)逐位與正確密碼相比的方法,只要有一位不相同即轉(zhuǎn)入閉鎖程序,而在閉鎖程序中需要設(shè)置計(jì)數(shù)值,當(dāng)轉(zhuǎn)入閉鎖程序六次也即輸入錯(cuò)誤密碼六次則輸出報(bào)警電平報(bào)警。這樣則能完成所需的所有功能。程序設(shè)計(jì)思路基本如此。按此思路畫(huà)完流程圖之后則進(jìn)入程序設(shè)計(jì)階段。大框架已經(jīng)確定下來(lái),現(xiàn)在需要決定一些重要的細(xì)節(jié)。比如如何安排
40、計(jì)數(shù)值的位置,子程序的返回處,等等。經(jīng)過(guò)多次試探與檢驗(yàn),最終將這些細(xì)節(jié)確定下來(lái)。最后將程序開(kāi)始的初始化、退出程序補(bǔ)充完整,整體再檢查一遍,查漏補(bǔ)缺,即可完成設(shè)計(jì)。</p><p><b> 八、流程圖</b></p><p><b> 主程序流程圖</b></p><p> 修改密碼子程序流程圖 閉
41、鎖子程序流程圖 開(kāi)鎖子程序流程圖</p><p><b> 九、程序代碼</b></p><p> DATAS SEGMENT</p><p> PASSWORD DB 0,0,0,0,0,0 ;設(shè)置初始密碼</p><p> DATAS ENDS</p>
42、<p> CODES SEGMENT</p><p> ASSUME CS:CODES,DS:DATAS,ES:STACKS</p><p> START: MOV AX,DATAS</p><p> MOV DS,AX</p><p> MOV AX,STACKS</p><p> MO
43、V ES,AX</p><p> MOV AL,90H</p><p> OUT 63H,AL ;初始化8255,方式0,A口輸入,B、C口輸出</p><p> IN AL,60H ;讀取A口數(shù)據(jù)</p><p> AND AL,20H
44、 ;是否需要修改密碼</p><p> JNE CHANGE ;需要?jiǎng)t調(diào)用修改密碼子程序</p><p> MOV BX,5 ;設(shè)置錯(cuò)誤密碼輸入最大次數(shù)</p><p> A1: MOV CX,5 ;設(shè)置密碼個(gè)數(shù)</p><p>
45、MOV SI,OFFSET PASSWORD</p><p> A2: IN AL,60H</p><p> CMP AL,BYTE PTR[SI] ;逐位比較,判斷輸入密碼是否正確</p><p> JNE CLOSE ;只要有一位錯(cuò)誤就調(diào)用閉鎖子程序</p><p>&
46、lt;b> INC SI</b></p><p><b> LOOP A2</b></p><p> CALL OPEN ;正確就調(diào)用開(kāi)鎖子程序</p><p><b> JMP ST</b></p><p> CHANGE
47、 PROC NEAR ;修改密碼子程序</p><p> MOV CX,5 ;設(shè)置密碼個(gè)數(shù)</p><p> MOV SI,OFFSET PASSWORD</p><p> A3: IN AL,60H </p><p> MOV [SI],AL&
48、lt;/p><p> INC SI</p><p> LOOP A3 ;依次修改六位密碼</p><p> A4: IN AL,60H</p><p> AND AL,10H ;判斷有否按下確認(rèn)鍵</p><p> JN
49、E A4 ;沒(méi)按下則繼續(xù)等待</p><p> MOV AL,01H</p><p> OUT 62H,AL ;蜂鳴器響一下表示確認(rèn)</p><p><b> RET</b></p><p> CHANGE ENDP</p
50、><p> CLOSE PROC NEAR ;閉鎖子程序</p><p> MOV AL,71H</p><p> OUT 61H,AL ;數(shù)碼管輸出“F”</p><p> MOV AL,10H</p><p> OUT 6
51、2H,AL ;選中L0輸出“F”</p><p> MOV AL,71H</p><p> OUT 61H,AL</p><p> MOV AL,20H</p><p> OUT 62H,AL ;選中L1輸出“F”</p><p>
52、; A5: MOV CX,3</p><p> MOV AL,01H</p><p> OUT 62H,AL</p><p> LOOP A5 ;蜂鳴器響四下表示錯(cuò)誤警告</p><p> DEC BX</p><p> CMP
53、BX,0 ;判斷是否已經(jīng)輸入六次錯(cuò)誤密碼</p><p> JNE A1 ;不夠六次則重新轉(zhuǎn)到A1</p><p> MOV AL,04H</p><p> OUT 62H,AL ;已輸入六次誤碼則產(chǎn)生報(bào)警電平報(bào)警</p><p&g
54、t;<b> RET</b></p><p> CLOSE ENDP</p><p> OPEN PROC NEAR ;開(kāi)鎖子程序</p><p> A6: IN AL,60H</p><p> AND AL,10H</p><p&g
55、t; JNE A6 ;等待確認(rèn)鍵按下</p><p> MOV AL,3F</p><p> OUT 61H,AL ;數(shù)碼管輸出“0”</p><p> MOV AL,10H</p><p> OUT 62H,AL
56、 ;選中L0輸出“0”</p><p> MOV AL,3F</p><p> OUT 61H,AL</p><p> MOV AL,20H</p><p> OUT 62H,AL ;選中L1輸出“0”</p><p> MOV AL,02H&l
57、t;/p><p> OUT 62H,AL ;輸出開(kāi)鎖電平,開(kāi)通LED,顯示電子鎖開(kāi)啟</p><p><b> RET</b></p><p> OPEN ENDP</p><p> ST: MOV AX,4CH</p><p> INT
58、 21H</p><p> CODES ENDS</p><p> END START</p><p><b> 十、設(shè)計(jì)中的難點(diǎn)</b></p><p><b> 1.硬件</b></p><p> 在硬件方面,設(shè)計(jì)過(guò)程也遇到不少的問(wèn)題。首先沒(méi)看過(guò)實(shí)物,
59、對(duì)硬件沒(méi)有一個(gè)大概的輪廓,最后經(jīng)過(guò)網(wǎng)上查找資料和跟同學(xué)交流,完成了設(shè)計(jì)。</p><p><b> 2.軟件</b></p><p> 首先是如何安排好幾個(gè)子程序調(diào)用的順序。按照一般的邏輯思維,我將修改密碼安排在第一個(gè),如果用戶剛開(kāi)始即要修改密碼可以很方便地實(shí)現(xiàn),如果不用則轉(zhuǎn)入輸入密碼步驟。而若輸入錯(cuò)誤密碼則調(diào)用閉鎖程序,否則調(diào)用開(kāi)鎖程序,這樣則可初步安排好順序。
60、其次是如何判斷錯(cuò)誤密碼。如果輸入的是錯(cuò)誤的密碼,按照我們?nèi)粘I罱?jīng)驗(yàn),是全部輸入才提示出錯(cuò),而我覺(jué)得這樣太浪費(fèi)時(shí)間,所以考慮將輸入的密碼逐位與正確密碼相比較,只要有一位不符合則馬上顯示出錯(cuò),這樣實(shí)現(xiàn)起來(lái)也比較容易,只需要獲取正確密碼的偏移地址和輸入的相應(yīng)密碼,然后用一個(gè)邏輯語(yǔ)句“與”將兩者進(jìn)行比較,再利用條件轉(zhuǎn)移語(yǔ)句即可輕松實(shí)現(xiàn)。最后是警告聲音的處理問(wèn)題。因?yàn)橐呀?jīng)要用到蜂鳴器來(lái)發(fā)出對(duì)新密碼的確認(rèn)音,故為了簡(jiǎn)化電路,我們決定也用蜂鳴器來(lái)發(fā)
61、出錯(cuò)誤警告聲音,規(guī)定響一聲表示確認(rèn)新密碼,響四聲表示錯(cuò)誤警告。</p><p><b> 十一、收獲及體會(huì)</b></p><p> 這次的課程設(shè)計(jì)雖有四個(gè)設(shè)計(jì)題目,但比較熟悉,平時(shí)比較常接觸到的只有密碼鎖這個(gè),而且感覺(jué)這個(gè)題目相對(duì)來(lái)說(shuō)也比較簡(jiǎn)單一點(diǎn),設(shè)計(jì)思路比較清晰一些,所以選了多功能密碼鎖這個(gè)設(shè)計(jì)題目。但想的時(shí)候感覺(jué)不難,實(shí)際去設(shè)計(jì)的時(shí)候遇到的問(wèn)題缺不少,首先
62、硬件這個(gè)東西就感覺(jué)無(wú)從下手,畢竟沒(méi)見(jiàn)過(guò)實(shí)物,所以連個(gè)起碼的概念也沒(méi)有,只能先通過(guò)在網(wǎng)上查找資料讓自己有大概的輪廓,然后在對(duì)硬件慢慢設(shè)計(jì),但還是有很多地方不懂,最后在和同學(xué)交流后才完成設(shè)計(jì)。至于軟件部分,則是先畫(huà)了流程圖,把思路縷清后,才寫(xiě)程序,但因?yàn)橛泻苄┲噶畈皇煜?,最后借鑒了網(wǎng)上的一些程序,在加上看書(shū),才完成了設(shè)計(jì)。在這次設(shè)計(jì)中,讓我知道了看起來(lái)很難的事情,只要有耐心,一步一步,總會(huì)完成的,并且知道有時(shí)和別人交流會(huì)讓自己少走彎路。而更
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 多功能密碼鎖課程設(shè)計(jì)
- 多功能密碼鎖課程設(shè)計(jì)
- 微機(jī)課程設(shè)計(jì)--密碼鎖
- 單片機(jī)課程設(shè)計(jì)---多功能密碼鎖
- 微機(jī)原理課程設(shè)計(jì)(電子密碼鎖)
- 密碼鎖課程設(shè)計(jì)
- 密碼鎖課程設(shè)計(jì)
- 課程設(shè)計(jì)--密碼鎖
- 密碼鎖課程設(shè)計(jì)
- 密碼鎖課程設(shè)計(jì)
- 多功能密碼鎖設(shè)計(jì)開(kāi)題報(bào)告
- 電子密碼鎖課程設(shè)計(jì)
- 電子密碼鎖課程設(shè)計(jì)
- 電子密碼鎖課程設(shè)計(jì)
- 數(shù)字密碼鎖課程設(shè)計(jì)
- 課程設(shè)計(jì)--電子密碼鎖
- 課程設(shè)計(jì)--數(shù)字密碼鎖
- 電子密碼鎖課程設(shè)計(jì)
- 電子密碼鎖課程設(shè)計(jì)
- 密碼鎖課程設(shè)計(jì)7
評(píng)論
0/150
提交評(píng)論