課程設(shè)計(jì)報(bào)告-基于VHDL的電子密碼鎖設(shè)計(jì).doc
《課程設(shè)計(jì)報(bào)告-基于VHDL的電子密碼鎖設(shè)計(jì).doc》由會員分享,可在線閱讀,更多相關(guān)《課程設(shè)計(jì)報(bào)告-基于VHDL的電子密碼鎖設(shè)計(jì).doc(28頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、摘要摘要隨著電子產(chǎn)品向智能化和微型化的不斷發(fā)展,EDA技術(shù)作為現(xiàn)代電子設(shè)計(jì)最新技術(shù)的結(jié)晶,給電子系統(tǒng)的設(shè)計(jì)帶來了革命性的變化。本論文設(shè)計(jì)一種基于VHDL的電子密碼鎖系統(tǒng),該系統(tǒng)具有軟硬件設(shè)計(jì)簡單、易于開發(fā)、成本低、安全可靠、操作方便等特點(diǎn),可作為產(chǎn)品進(jìn)行開發(fā),應(yīng)用于住宅,辦公室的保險(xiǎn)箱及檔案等需要防盜的場所,有較強(qiáng)的實(shí)用性。本系統(tǒng)由Quartus II軟件、矩陣鍵盤、LED顯示和報(bào)警系統(tǒng)組成。4*4鍵盤組成09數(shù)字鍵,每按下一個(gè)鍵,相關(guān)鍵的值在數(shù)碼管上顯示,并依次左移;能夠清除密碼輸入,并設(shè)置預(yù)置密碼為“1234”;修改密碼時(shí),將當(dāng)前輸入設(shè)為新的密碼;能完成上鎖和開鎖功能;當(dāng)輸入密碼和預(yù)置密碼
2、一樣時(shí)即可開鎖。具有確認(rèn)、取消、修改、開鎖、閉鎖功能,用7段數(shù)碼管組成顯示電路提示信息。關(guān)鍵詞:QuartusII VHDL 電子密碼鎖 矩陣鍵盤 七段數(shù)26目錄目 錄第一章 緒論11.1選題依據(jù)11.2設(shè)計(jì)功能1第二章 系統(tǒng)方案選擇22.1設(shè)計(jì)方案的選擇22.2根據(jù)方案擬實(shí)現(xiàn)的具體功能3第三章 硬件原理及軟件程序設(shè)計(jì)53.1軟件設(shè)計(jì)流程53.2各模塊程序設(shè)計(jì)53.2.1鍵盤輸入部分的源程序53.2.2 鍵盤消抖電路113.2.3 移位寄存電路123.2.4 密碼驗(yàn)證及改密電路143.2.5 電鎖控制電路153.2.6 動態(tài)掃描電路程序173.2.7 片選信號電路程序183.2.8 選擇輸出電
3、路程序193.2.9 譯碼輸出電路程序20第四章 仿真測試23結(jié)束語24參 考 文 獻(xiàn)26第一章 緒論第一章 緒論1.1選題依據(jù)在日常的生活和工作中,住宅與部門的安全防范、單位的文件檔案、財(cái)務(wù)報(bào)表以及一些個(gè)人資料的保存多以加鎖的方法來解決。若使用傳統(tǒng)的機(jī)械式鑰匙開鎖,人們常需攜帶多把鑰匙,使用既不方便,且鑰匙丟失后安全性就打折扣。隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險(xiǎn)器件的要求越來越高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作等優(yōu)點(diǎn)。在安全技術(shù)防范領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,客
4、服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn),使密碼鎖無論在技術(shù)上還是在性能上都有大大提高一步。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是VHDL的問世,出現(xiàn)了帶微處理的智能密碼鎖,它除具有電子密碼鎖的功能外,還引入了智能化管理、專家分析系統(tǒng)等功能,從而使密碼鎖具有很高的安全性、可靠性,應(yīng)用日益廣泛。隨著人們對安全的重視和科技的發(fā)展,許多電子智能鎖(指紋識別、IC卡辨認(rèn))已在國內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對特定的指紋和有效卡,只能使用于保密要求的箱、柜、門等。而且指紋識別器若在公共場所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度上限制了這類產(chǎn)品的普及和推廣。
5、鑒于目前的技術(shù)與水平與市場的接受程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。1.2設(shè)計(jì)功能基于以上思路,本次電子密碼鎖的設(shè)計(jì),主要具有如下功能:(1)設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則打開。(2)密碼可以由用戶自己修改設(shè)定(只支持4位密碼),開鎖后才能修改密碼,修改功能為:輸入舊密碼,再輸入新密碼并二次確認(rèn)(以防止誤操作)。(3)報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤數(shù)碼管顯示出現(xiàn)錯(cuò)誤提示,若密碼 輸入錯(cuò)誤次數(shù)超過3次,蜂鳴器報(bào)警并且鎖定鍵盤。(4)按下清零鍵,錯(cuò)誤計(jì)數(shù)歸零,不再報(bào)警并燈熄滅,恢復(fù)原始狀態(tài)。第二章 系統(tǒng)方案選擇第二章 系統(tǒng)方案選擇2.1設(shè)計(jì)方案的選擇在本次設(shè)計(jì)中提出了兩種方
6、案:一種是用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方案,還有一種是用VHDL語言編程方案。下面對這兩種方案做分析。方案一:采用數(shù)字電路控制。其原理方框圖如圖2-1所示。密碼修改電路密碼校驗(yàn)電路鍵盤輸入報(bào)警次數(shù)檢測鎖定5分鐘開鎖電路執(zhí)行電路限時(shí)報(bào)警市電供電電路電子切換開關(guān)蓄電池?cái)嚯姍z測充電電路開門220V電源VCC 圖2-1 數(shù)字密碼鎖電路方案采用數(shù)字密碼鎖電路的好處就是設(shè)計(jì)原理比較易懂。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動清零,原先輸入的密碼無效,
7、需要重新輸入;如果用戶輸入密碼的時(shí)間超過40秒(一般情況下,用戶不會超過40秒,若用戶覺得不便,還可以修改)電路將報(bào)警80秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤5分鐘,防止他人的非法操作。 電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。方案二:采用一種是用Quartus II軟件編程,利用VHDL描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口,及其控制的準(zhǔn)確性,來實(shí)現(xiàn)密碼鎖的設(shè)計(jì)。如圖2-2所示:矩陣鍵盤控制LED數(shù)碼顯示電路V
8、HDL編程圖2-2設(shè)計(jì)方案通過比較以上兩種方案,VHDL編程方案有較大的活動空間,不但能實(shí)現(xiàn)鎖要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對系統(tǒng)進(jìn)行升級,所以我們采用第二種方案。2.2根據(jù)方案擬實(shí)現(xiàn)的具體功能1、論文的設(shè)計(jì)要求:1)設(shè)置4位密碼,密碼通過鍵盤輸入,若密碼正確,則將鎖打開。2)密碼可以由用戶自己修改設(shè)定(只支持4位密碼),鎖打開后才能修改密碼。修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作。3)報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤數(shù)碼管顯示出現(xiàn)錯(cuò)誤提示,若密碼 輸入錯(cuò)誤次數(shù)超過3次,蜂鳴器報(bào)警并且鎖定鍵盤。2、本論文既定的設(shè)計(jì)功能描述:1)加電后
9、,數(shù)碼管上沒有任何顯示,當(dāng)按下開鎖鍵,數(shù)碼管出現(xiàn)“”并閃爍。2)輸入密碼時(shí),只逐為顯示“H”,以防止泄露密碼。密碼輸入完后,按下“確定”鍵,密碼如果正確,則蜂鳴器響三聲,數(shù)碼管熄滅。這時(shí),再按下“關(guān)鎖”鍵,數(shù)碼管就出現(xiàn)“”靜止不動,實(shí)現(xiàn)閉鎖功能,按任一個(gè)鍵都不會有反應(yīng),只有按開鎖重新開始。輸入密碼過程中,如果不小心輸入錯(cuò)誤,可按“取消”鍵,刪除輸錯(cuò)的密碼。3)修改密碼,按下修改鍵,連續(xù)輸入新密碼,按確定鍵即可。第三章 硬件原理及軟件設(shè)計(jì)第三章 硬件原理及軟件程序設(shè)計(jì)3.1軟件設(shè)計(jì)流程根據(jù)第二章的設(shè)計(jì)方案并結(jié)合實(shí)際情況,進(jìn)行單元電路設(shè)計(jì)后得電子密碼鎖的硬件設(shè)計(jì)機(jī)。主要由三部分組成:4*4矩陣鍵盤
10、接口電路、密碼鎖的控制電路、輸出八段顯示電路。另外,系統(tǒng)還有LED提示燈,報(bào)警蜂鳴器等。首先用鍵盤輸入密碼,通過消抖后進(jìn)入存儲器,輸入密碼與設(shè)定的密碼,相同時(shí)開鎖,當(dāng)輸入密碼錯(cuò)誤時(shí),開始計(jì)數(shù),當(dāng)?shù)谌屋斎朊艽a錯(cuò)誤時(shí),揚(yáng)聲器報(bào)警。系統(tǒng)頂層框圖較為簡單,如圖3-1所示。密碼輸入電路 掃描信號 按鍵輸入鍵盤譯碼彈跳消除鍵盤鍵盤掃描顯示電路數(shù)碼管顯示控制密碼電路按鍵數(shù)據(jù)存儲數(shù)值比較開/關(guān)鎖報(bào)警圖3-1 系統(tǒng)頂層框圖3.2各模塊程序設(shè)計(jì)3.2.1鍵盤輸入部分的源程序4*4按鍵分行線和列線去控制,行線連接16個(gè)按鍵的一端,列線連接16個(gè)按鍵的另外一端,當(dāng)給行線(或者列線)一個(gè)信號,有按鍵按下的時(shí)候讀回來的
11、時(shí)候的數(shù)據(jù)是不一樣的,也就是證明有按鍵按下!當(dāng)行信號(KEY)接到高電平,當(dāng)沒有鍵按時(shí),行線與列線(KEYSCAN)是斷開的,且行線都是高電平(1111),行信號作為CPLD、列信號作為CPLD??梢栽O(shè)置列線初始狀態(tài)為低電平(0000)。信號為從上到下的順序。鍵盤輸入的原理圖如圖3-2圖3-2 4*4鍵盤輸入原理圖根據(jù)需要,本例子的4*4鍵盤設(shè)定10個(gè)數(shù)字鍵(09)和4個(gè)功能鍵(確認(rèn)鍵、取消鍵、開鎖鍵、閉鎖鍵),鍵盤的布局如圖3-3所示。圖3-3 矩陣鍵盤鍵盤程序代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_ari
12、th.all;use ieee.std_logic_unsigned.all;entity jp isport (clk :in std_logic ;R:in std_logic_vector(3 downto 0);L:out std_logic_vector(3 downto 0);dataout:out std_logic_vector(3 downto 0);szkzj1,gnkzj1:out std_logic; rest,querenj,gaimij,sanchuj:out std_logic);end jp;architecture arth of jp issignal ca
13、rry1:std_logic;signal count:std_logic_vector(3 downto 0);signal count1:std_logic_vector(1 downto 0);signal sel:std_logic_vector(3 downto 0);signal temp:std_logic_vector(3 downto 0);signal querenj1,sanchuj1,gaimij1,rest1:std_logic;signal szkzj,gnkzj:std_logic;p1:process(clk)beginif(rising_edge(clk) t
14、hencount=count+1;end if;end process p1;p2:process(clk)beginif(rising_edge(clk)thenif(count=1111) thencarry1=1;elsecarry1=0;end if;end if;end process p2;p3:process(carry1)beginif(rising_edge(carry1) thencount1=count1+1;end if;end process p3;sel=1110 when count1=00 else 1101 when count1=01 else 1011 w
15、hen count1=10 else 0111 when count1=11;p:process(clk)begin if(falling_edge(clk) then L=sel; -列線 end if;end process p;p4:process(clk,R,sel)beginif(rising_edge(clk) thenif(R(0)=0) thenif(sel(0)=0)thentemp=0000;szkzj=1;gnkzj=0; -0,數(shù)字標(biāo)識,功能標(biāo)識。elsif(sel(1)=0) thentemp=0001;szkzj=1;gnkzj=0;elsif(sel(2)=0)t
16、hentemp=0010;szkzj=1;gnkzj=0;elsif(sel(3)=0) thentemp=0011;szkzj=1;gnkzj=0;end if;elsif(R(1)=0) thenif(sel(0)=0)thentemp=0100;szkzj=1;gnkzj=0;elsif(sel(1)=0) thentemp=0101;szkzj=1;gnkzj=0;elsif(sel(2)=0)thentemp=0110;szkzj=1;gnkzj=0;elsif(sel(3)=0) thentemp=0111;szkzj=1;gnkzj=0;end if;elsif(R(2)=0)
17、thenif(sel(0)=0)thentemp=1000;szkzj=1;gnkzj=0;elsif(sel(1)=0) thentemp=1001;szkzj=1;gnkzj=0;elsif(sel(2)=0)thenszkzj=0;gnkzj=1;elsif(sel(3)=0) thenszkzj=0;gnkzj=1;end if;elsif(R(3)=0) thenif(sel(0)=0)thenquerenj1=1;szkzj=0;gnkzj=1;else querenj1=0;end if; if(sel(1)=0) thensanchuj1=1;szkzj=0;gnkzj=1;e
18、lse sanchuj1=0;end if;if(sel(2)=0)thengaimij1=1;szkzj=0;gnkzj=1;else gaimij1=0;end if;if(sel(3)=0) thenrest1=1;szkzj=0;gnkzj=1;else rest1=0;end if;end if;end if;end process p4; p8:process(szkzj,gnkzj)beginif szkzj=1 and gnkzj=0 thendataout=temp;else dataout=null;end if;if gnkzj=1 and szkzj=0 thenque
19、renj=querenj1;sanchuj=sanchuj1;gaimij=gaimij1;rest=rest1;else querenj=null;sanchuj=null;gaimij=null;rest=null;end if;end process p8;szkzj1=szkzj;gnkzj1=gnkzj;END arth;3.2.2 鍵盤消抖電路因?yàn)榘存I大多是機(jī)械式開關(guān),在開關(guān)切換的瞬間會在接解點(diǎn)出現(xiàn)來回彈跳的現(xiàn)象,雖然只是按了一次鍵,實(shí)際產(chǎn)生的按鍵信號卻不只跳動一次,經(jīng)過取樣信號的檢查后,將會造成誤碼判斷,認(rèn)為是按了兩次鍵。消除按鍵抖動可以用硬件電路來實(shí)現(xiàn),例如,利用RS觸發(fā)器來鎖
20、定按鍵狀態(tài),消除抖動的影響。也可以利用現(xiàn)成的專用消抖電路,如MC14490就是六路消抖電路。較為簡單的方法是用軟件延時(shí)方法來消除按鍵的抖動,也就是說,一旦發(fā)現(xiàn)有按鍵按下,就延時(shí)20ms以后在測按鍵的狀態(tài)。這樣就避免開按鍵發(fā)生抖動的那一段時(shí)間,使CPU能可靠地讀按鍵狀態(tài)。在編制鍵盤掃描程序時(shí),只要發(fā)現(xiàn)按鍵狀態(tài)有變化,即無論是按下還是松開,程序都應(yīng)延時(shí)20ms以后再進(jìn)行其他操作。如果調(diào)整取樣頻率,彈跳現(xiàn)象可得到改善。本論文應(yīng)用D觸發(fā)器可以實(shí)現(xiàn)消抖作用。原理圖如圖3-4VHDL語言鍵盤消抖電路原理圖所示:圖3-4鍵盤消抖電路原理圖鍵盤消抖電路的程序代碼:library ieee;use ieee.s
21、td_logic_1164.all;entity d4 is port is( clk:in std_logic; a: in std_logic_vector(3 downto 0); rest1,querenj1,gaimij1,sanchuj1:in std_logic; q:out std_logic_vector(3 downto 0); rest2,querenj2,gaimij2,sanchuj2:out std_logic);end d4;architecture f of d4 issignal qi:integer range 0 to 3;signal clk_temp:
22、std_logic;begin process(clk) begin if rising_edge(clk) then if qi=3 then qi=0; clk_temp=not clk_temp; else qi=qi+1; end if;end if;end process;process(clk_temp)begin if clk_temp event and clk_temp =1 then q =a;rest2=rest1;querenj2=querenj1; gaimij2=gaimij1;sanchuj2=sanchuj1; end if;end process;end f;
23、3.2.3 移位寄存電路表3-1移位寄存器功能表輸入數(shù)據(jù)輸出數(shù)據(jù)第一次00000000第二次000100000001第三次0010000000010010第四次00110000000100100011第五次01000001001000110100由于按鍵按下時(shí),鍵盤輸入的是4位二進(jìn)制數(shù),每次輸入后都會前一次輸入的都會消失,所以必須對鍵盤輸出進(jìn)行移位儲存才能得要16位二進(jìn)制數(shù)即4位十進(jìn)制數(shù)。移位寄存工作原理就是在下一次數(shù)據(jù)輸入前,對其進(jìn)行移位寄存以確保不會丟失,如我們定義輸入為4位二進(jìn)制數(shù),輸出為16為二進(jìn)制數(shù),由低位向高位移位,第一次輸入的是0000,第二次輸入的是0001,第三次輸入的是00
24、10,第四次是0011,這時(shí)輸出的就是0000000100100011。如表3-1當(dāng)用戶發(fā)現(xiàn)輸入密碼錯(cuò)誤時(shí)可以進(jìn)行刪除,這里刪除采用了移位操作,按一次刪除鍵輸出數(shù)據(jù)就向低位移動已達(dá)到刪除功能。原理圖如圖3-5 VHDL語言移位寄存電路原理圖所示:圖3-5移位寄存電路移位寄存電路程序代碼:library ieee;use ieee.std_logic_1164.all;entity yw isport(input:in std_logic_vector(3 downto 0); rest,shanchu,clk :in std_logic; output :out std_logic_vecto
25、r(15 downto 0); end yw;architecture behave of yw is signal output_temp: std_logic_vector(15 downto 0); -signal output_temp(3 downto 0): std_logic_vector(3 downto 0);beginprocess(clk)begin if rest=1 then output=null; elsif (rising_edge(clk) then if shanchu=0 then output_temp(15 downto 12)=output_temp
26、(11 downto 8); output_temp(11 downto 8)=output_temp(7 downto 4); output_temp(7 downto 4)=output_temp(3 downto 0); output_temp(3 downto 0)=input; else output_temp(3 downto 0)=output_temp(7 downto 4); output_temp(7 downto 4)=output_temp(11 downto 8); output_temp(11 downto 8)=output_temp(15 downto 12);
27、 end if; end if;end process;output=output_temp;end behave;3.2.4 密碼驗(yàn)證及改密電路密碼驗(yàn)證實(shí)際上就是對輸入的密碼進(jìn)行比較,這里事先內(nèi)置了初始密碼,只有當(dāng)用戶輸入的密碼與初始密碼一致時(shí),輸出就為高電平。這里也可以外置密碼,但按下改密鍵時(shí),就處于改密狀態(tài)。然后由鍵盤輸入需要修改的密碼。library ieee;use ieee.std_logic_1164.all;entity yan is port (clk,gaimij2,querenj2:in std_logic; input2:in std_logic_vector(15 d
28、ownto 0); output2:out std_logic);end yan;architecture a of yan is signal input2_temp:std_logic_vector(15 downto 0):=0000000100100011;begin-input2_temp=0000000100100011;process (clk,gaimij2)begin if gaimij2=0 then if clkevent and clk=1 then if querenj2=1 then if input2_temp=input2 then output2=1; els
29、e output2=0; end if; end if; end if; else input2_temp=input2; end if;end process;end a;3.2.5 電鎖控制電路電鎖控制電路是整個(gè)電路的控制中心,主要完成如下功能:1) 數(shù)字按鍵輸入部分:如果輸入數(shù)字鍵,第一個(gè)數(shù)字會從顯示器的最右端開始顯示,此后每新按一個(gè)數(shù)字時(shí),顯示器上的數(shù)字必須往左移動一位。若想要更改剛輸入的數(shù)字,可按刪除鍵來使數(shù)字右移一位以清除前一個(gè)輸入的數(shù)字。2)功能鍵輸入部分:刪除鍵:只清除前一個(gè)輸入的數(shù)字。確認(rèn)鍵:輸入密碼后,開鎖之前必須先核對密碼。密碼變更:按下此鍵將目前輸入的數(shù)字設(shè)定為新的密碼
30、。清零鍵:按下此鍵恢復(fù)原始狀態(tài)即錯(cuò)誤計(jì)數(shù)歸零,發(fā)光二極管熄滅,蜂鳴器停止工作。輸入4位數(shù)字退格及清除上鎖工作模式:輸入密碼、密碼核對、變更密碼、存儲密碼及激活密碼開鎖工作模式:(輸入密碼)、密碼核對、開鎖圖3-6 三種工作模式library ieee;use ieee.std_logic_1164.all;entity ztj isport( clk,input,reset:in std_logic; light:out std_logic:=0; alarm:out std_logic:=0);end ztj;architecture face of ztj istype state_typ
31、e is(s0,s1,s2,s3);signal state:state_type;begin process(clk) begin if reset=1 then state=s0;alarm=0;light if input=0 then alarm=0;light=0;state=s1; else state=S0;light=1;alarm if input=0 then alarm=0;light=0;state=s2; else state=S0;light=1;alarm if input=0 then alarm=0;light=0; state=s3; else state=
32、S0;light=1;alarm state=s3; light=0;alarmseg4seg4seg4seg4seg4=1111; end case; end process;end behave;3.2.7 片選信號電路程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity sel isport (cllk:in std_logic; sel:out std_logic_vector(1 downto 0);end sel;architecture behave of sel isb
33、eginprocess(cllk)variable cnt:std_logic_vector(1 downto 0); begin if cllkevent and cllk=1 then cnt:=cnt+1; end if; sel if sel=00 then state=s1; output3 if sel=01 then state=s2; output3 if sel=10 then state=s3; output3 if sel=11 then state=s3; output3dataoutdataoutdataoutdataoutdataoutdataoutdataoutd
34、ataoutdataoutdataoutdataout=11111111;end case;end if;end process;end behave;第四章 仿真測試第四章 仿真測試各主要的小模塊的波形結(jié)束語結(jié)束語本次的設(shè)計(jì)經(jīng)過一個(gè)多月的時(shí)間,基本完成了設(shè)計(jì)選題的要求,設(shè)計(jì)出的密碼鎖有4*4鍵盤輸入,LED數(shù)碼顯示,蜂鳴器設(shè)置。具有數(shù)字鍵和確認(rèn)刪除功能,同時(shí)用戶可根據(jù)需要修改密碼,密碼超次報(bào)警功能。基本完成了預(yù)期的目標(biāo),系統(tǒng)硬件調(diào)試花費(fèi)時(shí)間較長,最終基本達(dá)到了預(yù)期的目標(biāo),配合軟件仿真的實(shí)現(xiàn)。本次設(shè)計(jì)較為完善。本次設(shè)計(jì)在鍵盤操作,及數(shù)碼管顯示電路的研究較為詳細(xì)。實(shí)時(shí)顯示方面做的比較好。但是由于
35、時(shí)間倉促、條件有限,設(shè)計(jì)成果并不是很完美,還存在下面問題:LED在密碼輸入正確、錯(cuò)誤、及超次輸入錯(cuò)誤后的紅綠黃指示燈的提示部分未能達(dá)到預(yù)期目的。串口通訊還不太穩(wěn)定,未對溫度數(shù)值統(tǒng)計(jì)處理以及存儲。我準(zhǔn)備在今后的工作過程中進(jìn)一步完善此設(shè)計(jì)。感想感想剛開始起草設(shè)計(jì)方案的時(shí)候我可真是可以用無頭蒼蠅來形容,根本不知道從哪里下手,因?yàn)樽霎厴I(yè)設(shè)計(jì)還是第一次。好不容易查了一些資料后,終于有了一個(gè)雛形,可是,當(dāng)我開始寫選題報(bào)告的時(shí)候,又是問題百出,讓我心煩意亂。指導(dǎo)老師看了我的選題報(bào)告后,指出了不少的錯(cuò)誤,那時(shí)候心里好不爽快。并非因?yàn)槔蠋煹闹肛?zé),而是由于自己發(fā)費(fèi)的時(shí)間沒有起效。 根據(jù)老師的指示,我又查了一些資料
36、,與兄弟班同課題的同學(xué)交流了一下實(shí)驗(yàn)方案,隨后去超市逛了逛。沒想到這一招還挺管用的,回來后,就又把設(shè)計(jì)方案重新整理了一下。雖然有些部分不是很滿意,但我總算有眉頭了。導(dǎo)老師給我們講了電子密碼鎖的總體思路然,下來后我根據(jù)老師所講的,分成一些模塊,在得到老師的認(rèn)可后,我開始了程序的編寫,起初由于對VHDL語言的不熟練,走了許多彎路,在同學(xué)和老師的幫助下,我慢慢的變得清晰,每寫好一個(gè)模塊程序后,在實(shí)驗(yàn)箱上進(jìn)行驗(yàn)證,正確后開始下一個(gè)模塊程序編寫。在所有模塊寫好后,進(jìn)行頂層圖設(shè)計(jì),在這里遇到了許多麻煩,如理論上所有的都沒錯(cuò),但是當(dāng)下載到實(shí)驗(yàn)箱上后卻不能達(dá)到理想的效果,在指導(dǎo)老師的指導(dǎo)下,這些問題逐步解決,
37、最后終于完成了設(shè)計(jì)。 不過設(shè)計(jì)的完成總是讓人高興的,自己認(rèn)真設(shè)計(jì)的東西和抄的東西感覺完全不一樣。抄的東西結(jié)束了,只是松口氣,僥幸逃脫老師的法眼;自己認(rèn)真設(shè)計(jì)的東西當(dāng)然不是說全部自己設(shè)計(jì),總歸是自己去理解了來設(shè)計(jì)的結(jié)束后除了感覺總算完成了,還有一點(diǎn)成就感:自己的娃怎么看都乖。而且在這個(gè)過程中真的能學(xué)到很多東西,我們不一定要對所有的東西都廣泛了解,盡量找到和自己專業(yè)有關(guān)的且感興趣的某一方面,然后去鉆研,我覺得這樣更好。 畢業(yè)設(shè)計(jì),大學(xué)里最后一件事,一件我認(rèn)為作為大學(xué)生要做好的事,在最后的日子里,拖延了太久,花了我很多很多時(shí)間和心思,得到的當(dāng)然沒有想要的好,而我確實(shí)認(rèn)為自己為它付出了。 當(dāng)然,最終設(shè)
38、計(jì)的完成,離不開指導(dǎo)老師的輔導(dǎo),非常感謝你們。參考文獻(xiàn)參 考 文 獻(xiàn)1電子技術(shù)實(shí)驗(yàn).高文煥. 清華大學(xué)出版社,20042數(shù)字邏輯電路設(shè)計(jì).鮑可進(jìn).清華大學(xué)出版社,20043 謝嘉奎電子線路M 高等教育出版社2003-24EDA技術(shù)實(shí)用教程.潘松,黃繼業(yè).科學(xué)出版社,20025數(shù)字邏輯設(shè)計(jì)與VHDL描述.徐惠明,安德寧.機(jī)械工業(yè)出版社,20026VHDL芯片設(shè)計(jì).劉紹漢,劉新民. 清華大學(xué)出版社,20047 黃正謹(jǐn)綜合電子設(shè)計(jì)與實(shí)踐M 東南大學(xué)出版社2002-38 楊欣等電子設(shè)計(jì)從零開始M 清華大學(xué)出版社2005-109 謝嘉奎電子線路M 高等教育出版社2003-210 夏路易,石宗義電路原理圖與電路設(shè)計(jì)教程Protel 99SEM 北京希望電子出版社2002
- 溫馨提示:
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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 植樹問題講課
- 小小圖書館賈世喜
- 小班數(shù)學(xué):變得一樣多
- 蘇教版三年級數(shù)學(xué)上冊教學(xué)ppt課件58:解決問題的策略復(fù)習(xí)
- 小學(xué)科學(xué)六下《拓展與應(yīng)用》-公開課一等獎(jiǎng)ppt課件
- 高中英語人教版選修七Unit-2-Robots-ppt課件
- 第九章長期負(fù)債課件
- 皮膚免疫系統(tǒng)課件
- 辦公樓施工現(xiàn)場消防安全管理要求規(guī)范課件
- freeroi在功能磁共振roi分析中的應(yīng)用
- 《永遇樂·京口北固亭懷古》用典講解課件
- 《秋天的雨》微課課件
- 護(hù)患溝通技巧-課件
- 《高等數(shù)學(xué)B》第十章___微分方程與差分方程__第6節(jié)__差分與差分方程的概念_、……課件
- 英語(人教版)九年級總復(fù)習(xí)題型訓(xùn)練補(bǔ)全對話(含最新原創(chuàng)題)課件