資源描述:
《基于cpld的數(shù)字鎖》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、基于CPLD設計的數(shù)字鎖EDA技術作為現(xiàn)代電子技術的核心,它依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL為系統(tǒng)邏輯描述手段完成的設計文件,自動地完成邏輯編譯、邏輯化簡、邏輯分割、邏輯綜合、結構綜合,以及邏輯優(yōu)化和仿真測試。一、總體設計思路關于這個課題,我們把邏輯功能劃分為兩個大的模塊:控制部分和處理部分??刂颇K是整個系統(tǒng)的控制核心,負責接收其模塊傳來的輸入信號,再根據(jù)系統(tǒng)的功能產生相應的控制信號送到相關的模塊。具體思路如下:密碼預先存入寄存器中,開鎖時,輸入密碼存入另一寄存器中,當按下“確定”鍵時,啟動比較器,比
2、較兩個寄存器中的內容,當結果相同時M=1,LT綠燈亮,并開鎖;當結果不同時M=0,LF紅燈亮,不開鎖。用戶需要修改密碼時,先開鎖,再按“設定密碼”,清除預先存入的密碼,通過鍵盤輸入新的2位十進制數(shù),然后再按下確定鍵完成操作??傇O計框圖如下:鍵盤譯碼開鎖LED顯示輸入密碼寄存器鍵盤消抖密碼預存寄存器綠燈亮鍵盤掃描紅燈亮報警M=1消除密碼輸入兩位十進制數(shù)密碼修改YN二、單元模塊設計2.1消除抖動模塊我們使用的按鍵通常都是機械彈性開關,當機械觸點斷開、閉合時,由于機械觸點的彈性作用,一個按鍵開關在閉合時不會馬上穩(wěn)定地接通,在斷開時也不會一下子斷
3、開。因而在閉合及斷開的瞬間均伴隨有一連串的抖動(如下圖所示)。然而,抖動時間的長短由按鍵的機械特性決定,一般為5ms~10ms。這是一個很重要的時間參數(shù),在很多場合都要用到。在這里,我們用軟件去除抖動。當檢測到鍵閉合時,執(zhí)行一個延時程序產生數(shù)毫秒的延時,讓前沿彈跳消失后再檢測閉合;當發(fā)現(xiàn)鍵松開后,也給數(shù)毫秒的延時,當后沿彈跳消失后,再檢測下一個鍵的輸入。或者當前沿彈跳消失后,將檢測到的信號所存,然后再輸出,這樣就不需要后沿延時了。消除抖動的電路封裝圖如下:程序如下:LIBRARYieee;USEieee.std_logic_1164.AL
4、L;USEieee.std_logic_arith.ALL;USEieee.std_logic_unsigned.ALL;LIBRARYaltera;USEaltera.maxplus2.ALL;ENTITYxiaodouISPORT(CLK,B_IN:INSTD_LOGIC;B_OUT:OUTSTD_LOGIC);END;ARCHITECTUREaOFxiaodouISsignalVcc,INV_B:std_logic;signalA0,A1:std_logic;signalB0,B1:std_logic;BEGINVcc<='1';I
5、NV_B<=notB_IN;dff1:dffPORTMAP(d=>Vcc,q=>A0,clk=>CLK,prn=>Vcc,clrn=>INV_B);dff2:dffPORTMAP(d=>Vcc,q=>A1,clk=>CLK,prn=>Vcc,clrn=>INV_B);process(CLK)beginifCLK'EVENTandCLK='1'thenB0<=notA1;B1<=B0;endif;endprocess;B_OUT<=not(B1andnotB0);END;消抖電路的仿真波形圖:2.2鍵盤掃描模塊我們在鍵盤的四列輸入口中輸入一
6、個低電平時鐘掃描,當有按鍵被打下時,對應的行被鍵接通也呈現(xiàn)低電平狀態(tài),然后將此輸入輸出信號輸出到鍵盤編碼就可以進行鍵盤按鍵識別了。鍵盤掃描封裝圖如下:該模塊程序如下:LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;USEIEEE.STD_LOGIC_ARITH.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYSAOMIAOISPORT(CLK:INSTD_LOGIC;CLK_SAOMIAO:OUTSTD_LOGIC_VECTOR(4downto1));END;ARCHITEC
7、TUREaOFSAOMIAOISSignalM:STD_LOGIC_VECTOR(2DOWNTO1);SIGNALN:STD_LOGIC_VECTOR(4DOWNTO1);BeginPROCESS(CLK)BeginIFCLK'EventANDCLK='1'THENN<=N+1;M<=N(4DOWNTO3);ENDIF;ENDPROCESS;CLK_SAOMIAO<="1110"WHENM=0ELSE"1101"WHENM=1ELSE"1011"WHENM=2ELSE"0111"WHENM=3ELSE"1111";END;鍵盤掃描模塊仿真
8、圖:2.3七段數(shù)碼顯示電路模塊本模塊我們通過串行掃描方式驅動LED數(shù)碼管,可較少地占用可編程器件資源;并利用MAXPLUSⅡ對動態(tài)掃描LED顯示電路進行仿真。顯示電路模塊封裝圖如下:程序如下: