版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 《EDA技術(shù)及應(yīng)用實踐》課程設(shè)計報告</p><p><b> 目錄</b></p><p> 1.電子密碼鎖整體設(shè)計.....................................3</p><p> 1.1 設(shè)計要求............................................
2、.3</p><p> 1.2 設(shè)計思路.............................................3</p><p> 1.2.1輸入模塊.........................................3</p><p> 1.2.2控制模塊...................................
3、......3</p><p> 1.3設(shè)計結(jié)構(gòu)總圖.........................................4</p><p> 1.4整體設(shè)計的仿真結(jié)果...................................5</p><p> 2、各個功能模塊的設(shè)計..................................
4、..6</p><p> 2.1按鍵輸入模塊.........................................6</p><p> 2.1.1按鍵輸入與對應(yīng)的編碼輸出之間的關(guān)系...............6</p><p> 2.1.2輸入模塊程序.....................................7</p>
5、<p> 2.1.3輸入模塊仿真結(jié)果.................................8</p><p> 2.1.4生成元件..........................................8</p><p> 2.2系統(tǒng)控制模塊..........................................9</p>
6、<p> 2.2.1控制模塊程序....................................10</p><p> 2.2.2控制模塊仿真結(jié)果................................13</p><p> 2.2.3生成元件........................................13</p>&l
7、t;p> 3、下載與硬件測試.........................................14</p><p> 4、課程設(shè)計感想...........................................14</p><p> 5、參考文獻(xiàn)...............................................15</
8、p><p><b> 電子密碼鎖設(shè)計</b></p><p> 隨著人們生活水平的提高,如何實現(xiàn)家庭防盜這一問題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的青睞。</p><p> 本次課程設(shè)計采用VHDL語言,利用Maxplus軟件完成相應(yīng)的電子密碼鎖功
9、能設(shè)計。</p><p> 1、電子密碼鎖整體設(shè)計</p><p><b> 1.1設(shè)計要求:</b></p><p> 設(shè)計一個電子密碼鎖,在鎖開的狀態(tài)下輸入密碼,密碼共4位,用數(shù)據(jù)開關(guān)K1~K10分別代表數(shù)字1、2、…、9、0,輸入的密碼用數(shù)碼管顯示,最后輸入的密碼顯示在最右邊的數(shù)碼管上,即每輸入一位數(shù),密碼在數(shù)碼管上的顯示左移一位。
10、可刪除輸入的數(shù)字,刪除的是最后輸入的數(shù)字,每刪除一位,密碼在數(shù)碼管的顯示右移一位,并在左邊空出的位上補(bǔ)充“0”。用一位輸出電平的狀態(tài)代表鎖的開閉狀態(tài)。為保證密碼鎖主人能打開密碼鎖,設(shè)置一個萬能密碼,在主人忘記密碼時使用。</p><p><b> 1.2設(shè)計思路:</b></p><p> 總的來說,設(shè)計成2個模塊,即輸入模塊,控制模塊,最后顯示管靜態(tài)顯示。<
11、;/p><p> 1.2.1輸入模塊:</p><p> 在輸入模塊,我是用時鐘脈沖clk來控制什么時候輸入一位密碼,即每來一個上升沿,輸入一個數(shù),且輸入的數(shù)只在上升沿到來時有效,在其他時候視為無效。如果clk信號為系統(tǒng)設(shè)置的,那么很難做到自己輸入密碼的頻率能與clk信號同步,因此本設(shè)計決定將clk信號設(shè)為手動,即輸入好一位密碼后,讓clk信號由0到1,則該密碼輸入成功。</p>
12、;<p> 1.2.2控制模塊:</p><p> 在密碼控制模塊中,主要實現(xiàn)以下功能:</p><p> 每輸入一位數(shù),數(shù)碼管左移一位,設(shè)置刪除信號back,每按一次,刪除最后輸入的數(shù)字,密碼在數(shù)碼管顯示右移一位,左邊空處0。</p><p> 設(shè)置密碼確認(rèn)信號set,在四位密碼輸入完畢后,按下set,則密碼被送到寄存器鎖存,比較器模塊得到數(shù)
13、據(jù)A,同時密碼顯示電路清零。</p><p> 設(shè)置密碼鎖狀態(tài)顯示信號lock。Lock=0表示鎖未開,lock=1表示鎖開,設(shè)置關(guān)鎖信號close,當(dāng)密碼送到寄存器模塊鎖存后,按下close,則lock=0。</p><p> 設(shè)置密碼檢驗信號compare ,在lock=0下從數(shù)據(jù)開關(guān)輸入四位開鎖數(shù)據(jù),按下compare,則開鎖數(shù)碼送寄存器鎖存,數(shù)據(jù)比較模塊得到數(shù)據(jù)B,若A=B,則
14、觸發(fā)器被置”1”。</p><p> 1.3設(shè)計結(jié)構(gòu)總圖:</p><p> 圖1(G1模塊表示輸入模塊,G2表示控制模塊)</p><p> 1.4整體設(shè)計的仿真結(jié)果如下圖</p><p> 2、各個功能模塊的設(shè)計</p><p> 2.1按鍵輸入模塊:</p><p> 2.1.
15、1按鍵輸入與對應(yīng)的編碼輸出之間的關(guān)系如表2-1所示</p><p><b> 表2-1 按鍵編碼</b></p><p> 2.1.2輸入模塊程序:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all; </p><p>
16、 use ieee.std_logic_unsigned.all;</p><p> entity g1 is</p><p> port( data:in std_logic_vector(9 downto 0);clk:in std_logic; </p><p> dout:out std_logic_vector
17、(3 downto 0)); </p><p><b> end g1;</b></p><p> architecture at of g1 is </p><p> signal temp:std_logic_vecto
18、r(3 downto 0);</p><p><b> begin</b></p><p> process(clk)</p><p><b> begin</b></p><p> if clk'event and clk='1' then</p>&
19、lt;p> case data is </p><p> when "0000000001"=>temp<="0001";</p><p> when "0000000010"=>temp<=&quo
20、t;0010";</p><p> when "0000000100"=>temp<="0011";</p><p> when "0000001000"=>temp<="0100";</p><p> when "0000010000&
21、quot;=>temp<="0101";</p><p> when "0000100000"=>temp<="0110";</p><p> when "0001000000"=>temp<="0111";</p><p>
22、 when "0010000000"=>temp<="1000";</p><p> when "0100000000"=>temp<="1001";</p><p> when "1000000000"=>temp<="0000"
23、;</p><p> when others=>temp<="1111";</p><p><b> end case;</b></p><p><b> end if;</b></p><p> end process;</p><p&g
24、t; dout<=temp; </p><p><b> end at;</b></p><p> 2.1.3輸入模塊仿真結(jié)果:</p><p> 2.1.4選擇FILE中creat default symbol選項創(chuàng)建元件符號如下:</p><p><b> 2.2系統(tǒng)控制模塊</b&g
25、t;</p><p> 密碼鎖的控制電路是整個電路的控制中心。</p><p> 設(shè)置set為密碼設(shè)置端口,compare為密碼檢驗端口,close為關(guān)鎖端口,back為刪除密碼端口,clk1時鐘輸入端口,db[3..0]為3位數(shù)字輸入端口,sout[15..0]為16位輸出端口,lock密碼鎖狀態(tài)顯示端口。</p><p> 在此電路中每輸一位數(shù),密碼在數(shù)碼
26、管上左移一位。</p><p> 設(shè)置刪除密碼back,每按下一次back,刪除最后輸入的數(shù)字,左邊空處補(bǔ)0。</p><p> 設(shè)置密碼確認(rèn)信號set,當(dāng)四位密碼輸入完畢,按下set,設(shè)置的密碼被存儲。</p><p> 設(shè)置密碼鎖狀態(tài)信號lock, lock=0表示鎖未開,lock=1表示鎖開。</p><p> 設(shè)置關(guān)鎖信號cl
27、ose,按下close,則鎖關(guān)閉。</p><p> 設(shè)置密碼檢驗信號compare,在lock=0下從數(shù)據(jù)開關(guān)輸入四位開鎖數(shù)字,按下compare,若數(shù)據(jù)等于設(shè)置的密碼或萬能密碼,則lock=1。</p><p> 模塊程序流程圖如圖:</p><p> 2.2.1控制部分程序:</p><p> library ieee;
28、 </p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all; </p><p> entity g2 is</p><p> port(
29、set,compare,close,back,clk:in std_logic; </p><p> db:in std_logic_vector(3 downto 0);</p><p> dout:out std_logic_vector(15 downto 0); </p><p> lock:out
30、 std_logic); </p><p><b> end g2; </b></p><p> architecture aa of g2 is </p><p> signal ch:st
31、d_logic;</p><p><b> begin</b></p><p> process(clk,db) </p><p> variable lock1:std_logic;</p><p> variable mima:s
32、td_logic_vector(15 downto 0);</p><p> variable temp1,temp2,temp3,temp4:std_logic_vector(3 downto 0);</p><p><b> begin </b></p><p> ch<=not(db(0) and db(1) and db(
33、2) and db(3)); </p><p> lock1:='0';</p><p> if clk'event and clk='1' then</p><p> if ch='1' then
34、 </p><p> temp4:=temp3; </p><p> temp3:=temp2;</p><p> temp2:=temp1;</p><p> temp1:=db;</p><p><b> end if;</b></p><p>
35、if back='1' then </p><p> temp1:=temp2; </p><p> temp2:=temp3;</p><p> temp3:=temp4;</p><p> temp4:="0000";&l
36、t;/p><p> lock1:='0';</p><p><b> end if;</b></p><p> if set='1' then </p><p> mima:=temp4&
37、temp3&temp2&temp1;</p><p> lock1:='0';</p><p><b> end if;</b></p><p> if compare='1' then </p>
38、;<p> if mima=temp4&temp3&temp2&temp1 then lock1:='1';</p><p> elsif temp4="1000" and temp3="1000" and temp2="1000" and temp1="1000" the
39、n</p><p> lock1:='1'; </p><p><b> end if;</b></p><p><b> end if;</b></p><p> if close ='1' then</p><p> lock1
40、:='0'; </p><p> temp1:="0000";</p><p> temp2:="0000";</p><p> temp3:="0000";</p><p>
41、 temp4:="0000";</p><p><b> end if;</b></p><p><b> end if;</b></p><p> dout<=temp4&temp3&temp2&temp1;</p><p> lock&
42、lt;=lock1;</p><p> end process;</p><p><b> end aa;</b></p><p> 2.2.2控制模塊仿真結(jié)果:</p><p> 2.2.3選擇FILE中creat default symbol選項創(chuàng)建元件符號如下:</p><p>
43、 3、下載與硬件測試:</p><p> 根據(jù)實驗箱實際邏輯器件選擇“Assign”|“Device”|“MAX7000S”|“EPM7128SLC84-6”/【“Assign”|“Device”|“FLEX10K”|“EPF10K10LC84-3”】/【“Assign”|“Device”|“FLEX10KA”|“EPF30AQC208-1”】,并根據(jù)下載板上的標(biāo)識對管腳進(jìn)行配置。然后下載,進(jìn)行硬件測試,檢驗結(jié)
44、果是否正確。我選擇的是“Assign”|“Device”|“FLEX10K”|“EPF10K10LC84-3”,管腳安排如下:</p><p> KEY0:K0 KEY1:K2 KEY2:K2 KEY3:K4</p><p> KEY4:K5 KEY5:K6 KEY:6:K7 KEY7:K8</p>
45、<p> KEY8:K9 KEY9:K10</p><p> SET::K11 CLOSE:K12 BACK:K13</p><p> CLK1:K14 COMPARE:K15 LOCK:L4</p><p> 其顯示的方式為靜態(tài)顯示,一次性直接顯示4位密碼,這與動態(tài)顯示的原理有較大的不同。本次
46、硬件測試的結(jié)果正確。</p><p><b> 4、課程設(shè)計感想:</b></p><p> 做課程設(shè)計的第一天,我們在網(wǎng)上找了一些資料,了解了整體的設(shè)計思路后,我們決定根據(jù)自己的理解以及網(wǎng)上和參考資料上提供的一些思路,自己編寫程序。經(jīng)過兩天的努力,我們終于寫好了自己的程序??墒切量鄬懗龅某绦騾s漏洞百出,一開始由于編寫程序時的粗心大意,以及一些編程方法不懂,導(dǎo)致程
47、序編譯出現(xiàn)很多錯誤,經(jīng)過翻閱資料,我們進(jìn)行了修改,最后雖然程序編譯沒啥問題了,可是仿真波形卻不對。不管怎么找錯,我們都覺得自己的程序沒有問題,所以不知道怎么修改。問了很多同學(xué),他們也各自有各自的一些見解,面對他們不統(tǒng)一的說法,我們也不知到底怎么做好。于是請教了老師,在老師的點撥下,我們終于有了自己的思路,于是修改好了自己的程序。最后通過仿真下載后,準(zhǔn)確無誤。</p><p> 這次課程設(shè)計讓我受益匪淺。它給了我
48、們一個將所學(xué)理論靈活運用的機(jī)會,讓我知道光學(xué)習(xí)理論知識是遠(yuǎn)遠(yuǎn)不夠的,要將所學(xué)運用于實踐,否則所學(xué)理論就是徒勞的。除此之外,它也讓我深刻體會到EDA編程的思想,也增加了我好好扎實學(xué)習(xí)的決心,因為學(xué)的踏實,才更會靈活運用,也讓我明白求學(xué)不僅需要認(rèn)真、踏實、嚴(yán)謹(jǐn)、細(xì)心、耐心的態(tài)度,而且需要協(xié)作配合,因為龐大的工作單靠一個人的力量是不夠的,人多,思路多,遇到問題也能想出更多一個的解決辦法。此外這次課程設(shè)計也培養(yǎng)了我思考問題,分析問題,解決問題的
49、能力。最后,感謝老師對我們的指導(dǎo)。</p><p><b> 5、參考文獻(xiàn)</b></p><p> [1]譚會生,《EDA技術(shù)及應(yīng)用實踐》長沙湖南大學(xué)出版社,2010.9</p><p> [2]潘松,黃繼業(yè)編著.《EDA技術(shù)實用教程》.清華大學(xué)出版社. 2007</p><p> [3]閻石編著,《
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- eda技術(shù)及應(yīng)用課程設(shè)計--數(shù)字秒表
- eda技術(shù)課程設(shè)計報告
- eda課程設(shè)計--eda課程設(shè)計實驗報告
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda課程設(shè)計報告
- eda技術(shù)及應(yīng)用課程設(shè)計---交通燈
- eda課程設(shè)計--eda數(shù)字系統(tǒng)綜合設(shè)計與實踐
- eda課程設(shè)計--eda數(shù)字系統(tǒng)綜合設(shè)計與實踐
- eda交通燈課程設(shè)計報告(eda)
- eda課程設(shè)計報告--eda數(shù)字搶答器
- 《eda技術(shù)》課程設(shè)計報告----彩燈控制器
- eda課程設(shè)計-- eda與數(shù)字系統(tǒng)課程設(shè)計
- eda數(shù)字秒表課程設(shè)計報告
- eda課程設(shè)計
- eda課程設(shè)計
- eda課程設(shè)計
- eda頻率計課程設(shè)計報告
- 游戲機(jī)eda課程設(shè)計報告
評論
0/150
提交評論