




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、信息技術(shù)學(xué)院可編程邏輯器件原理及應(yīng)用課程綜合設(shè)計(jì)報(bào)告書(shū)姓 名: 景顯冬 班 級(jí): B1106 學(xué) 號(hào): 04 時(shí) 間: 2013.12.31 指導(dǎo)教師: 李海成 設(shè)計(jì)題目密碼鎖設(shè)計(jì)設(shè)計(jì)要求和任務(wù)數(shù)據(jù)輸入:每按一個(gè)數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上的最右方顯示出該數(shù)值,并將先前已經(jīng)輸入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。數(shù)碼清除:按下此鍵可清除前面所有的輸入值,清除成為“0000”。密碼更改:按下此鍵時(shí)將目前的數(shù)字設(shè)定成新的密碼。激活電鎖:按下此鍵可將密碼鎖上鎖。解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開(kāi)鎖。設(shè)計(jì)過(guò)程設(shè)計(jì)方案 本系統(tǒng)采用模塊化的設(shè)計(jì),整個(gè)系統(tǒng)分為數(shù)字按鍵輸入、時(shí)鐘輸入、功
2、能按鍵輸入、數(shù)字譯碼塊、功能譯碼模塊、核心處理模塊、輸出處理模塊、顯示譯碼電路八個(gè)模塊。整體電路如圖1.1所示。數(shù)字按鍵輸入時(shí)鐘模塊功能按鍵輸入數(shù)字譯碼模塊功能譯碼模塊核心處理模塊輸出處理模塊顯示譯碼電路圖1.1 數(shù)字密碼鎖總方框圖硬件電路的設(shè)計(jì)4位數(shù)字密碼鎖包括五個(gè)基本邏輯模塊,分別為:數(shù)字按鍵輸入模塊(numinput)、功能按鍵輸入模塊(funcinput)、核心處理模塊(core)、輸出處理模塊(allout)、七段譯碼器模塊(dataout)。數(shù)字按鍵輸入-numinput說(shuō)明:讀取數(shù)字鍵09。按鍵為矩陣形式,高電平表示按鍵未按下,低電平表示按鍵按下。經(jīng)數(shù)字按鍵輸入模塊處理后輸出4位
3、二進(jìn)制代碼,“0000”“1001”分別表示09,用“1010”表示其他無(wú)效輸入。如表2.1所示。設(shè)計(jì)過(guò)程表2.1 數(shù)字按鍵輸入模塊(numinput)的數(shù)據(jù)輸入輸出按鍵數(shù)字按鍵掃描輸出Numinput二進(jìn)制輸出對(duì)應(yīng)十進(jìn)制數(shù)字01101111000000101111101000112011111100010231011011100113410111011010045101111010101561011111001106711010111011178110110111000891101110110019其他按鍵其他101010(1)numinput-數(shù)字按鍵輸入模塊程序:library ieee
4、;use ieee.std_logic_1164.all;entity numinput isport(numin :IN std_logic_vector(7 downto 0);numstate,clk :IN std_logic;numout :OUT std_logic_vector(3 downto 0);end numinput;architecture one of numinput issignal state :std_logic;signal mem :std_logic_vector(7 downto 0);beginprocess(clk)beginif clk'
5、;event and clk='1' then設(shè)計(jì)過(guò)程if state/=numstate thenif mem/=numin thencase numin iswhen "11011110" => numout<="0000"-"0"when "01111101" => numout<="0001"-"1"when "01111110" => numout<="0010"-"
6、;2"when "10110111" => numout<="0011"-"3"when "10111011" => numout<="0100"-"4"when "10111101" => numout<="0101"-"5"when "10111110" => numout<="0110"-"6"
7、when "11010111" => numout<="0111"-"7"when "11011011" => numout<="1000"-"8"when "11011101" => numout<="1001"-"9"when others => numout<="1010"end case;state<=numstate;else num
8、out<="1010"end if;mem<=numin;end if;end if;end process;end one;(2)數(shù)字按鍵輸入模塊仿真圖:設(shè)計(jì)過(guò)程圖2.1 數(shù)字按鍵輸入模塊仿真圖由圖可知,當(dāng)數(shù)字按鍵輸入模塊的輸入依次為"11011110"、"01111101"、"01111110"、"10110111"、"10111011"、"10111101"、"10111110"、"11010111"
9、;、"11011011"、"11011101"時(shí),numout輸出依次輸出“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”;當(dāng)為其他按鍵輸入時(shí),numout輸出均為“1010”。(3)數(shù)字按鍵輸入-numinput符號(hào)文件:圖2.2 數(shù)字按鍵輸入-numinput符號(hào)文件功能按鍵輸入模塊 - funcinput讀取矩陣按鍵區(qū)控制功能按鍵 清除鍵、改密鍵、上鎖鍵、解鎖鍵。高電平表示按鍵未按下,低電平表示按鍵按下。按照“清除,改設(shè)計(jì)過(guò)程密,上鎖,解鎖”順序讀取按鍵時(shí),只
10、能輸出一位控制信號(hào)。輸出的信號(hào)為3位二進(jìn)制代碼,“001”“100”,依次表示“清除按鍵、改密按鍵、上鎖,解鎖”,用“000”表示輸入不為功能按鍵信號(hào)。表2.2 控制功能按鍵輸入模塊(funcinput)的輸出輸入數(shù)據(jù)功能按鍵功能按鍵掃描輸出Funcinput二進(jìn)制輸出對(duì)應(yīng)十進(jìn)制數(shù)字清除鍵111001110011改密鍵111011010102上鎖鍵111011100113解鎖鍵111010111004其他按鍵其他0000(1)Funcinput-功能按鍵輸入模塊程序:library ieee;use ieee.std_logic_1164.all;entity funcinput isport
11、( funcin:IN std_logic_vector(7 downto 0);constate,clk:IN std_logic;conout:OUT std_logic_vector(2 downto 0);end funcinput;architecture one of funcinput issignal state:std_logic;signal mem:std_logic_vector(7 downto 0);beginprocess(clk)beginif clk'event and clk='1' thenif constate/=state th
12、enstate<=constate;設(shè)計(jì)過(guò)程if mem/=funcin then with funcin selectconout<="001" when "11100111" , -清除鍵"010" when "11101101",-改密鍵"011" when "11101110", -上鎖鍵"100" when "11101011" , -解鎖鍵"000" when others;mem<=f
13、uncin;else conout<="000"end if;end if;end if;end process;end one;(2)功能按鍵輸入模塊仿真圖:圖2.3 功能按鍵輸入模塊仿真圖由圖可知:當(dāng)功能按鍵輸入模塊的輸入依次為“11100111”、“ 11101101”、“ 11101110”、“ 11101011”時(shí),conout輸出依次為“001”、“010”、“011”、“100”, 當(dāng)為其他按鍵輸入時(shí),conout輸出均為“000”。(3)功能按鍵輸入模塊-funcinput符號(hào)文件:設(shè)計(jì)過(guò)程圖2.4 功能按鍵輸入模塊 -funcinput符號(hào)文件 核心
14、處理模塊-core核心處理模塊將根據(jù)輸入(數(shù)字按鍵輸入以及功能按鍵輸入)來(lái)改變存儲(chǔ)器狀態(tài)、數(shù)碼管顯示以及LED燈顯示(紅燈亮為上鎖,綠燈亮為解鎖)。(1)Core-核心處理程序:library ieee;use ieee.std_logic_1164.all;entity core isport( numin:in std_logic_vector(3 downto 0);conin:in std_logic_vector(2 downto 0);clk:in std_logic;dataa,datab,datac,datad:out std_logic_vector(3 downto 0);
15、ledr,ledg,numout,conout:out std_logic);end entity;architecture one of core istype lockstate is (unlock,locked);signal numa,numb,numc,numd,codea,codeb,codec,coded:std_logic_vector(3 downto 0);signal numstate,constate:std_logic;signal locksta:lockstate;beginprocess(clk,numin,conin)設(shè)計(jì)過(guò)程if clk'event
16、 and clk='1' then-上升沿if numin/="1010" then-當(dāng)不是其他鍵時(shí)numd<=numc;numc<=numb;numb<=numa;numa<=numin;-移位end if;if conin/="000" thenif conin="001" then-清除鍵按下numa<="0000"-全部清零numb<="0000"numc<="0000"numd<="0000&
17、quot;elsif conin="010" then -改密鍵按下if locksta/=locked then-鎖并不是上鎖狀態(tài)codea<=numa;codeb<=numb;codec<=numc;coded<=numd;end if;elsif conin="011" then -上鎖鍵按下if locksta/=locked thennuma<="0000"numb<="0000"numc<="0000"numd<="0000&
18、quot;locksta<=locked; -鎖定密碼鎖end if;elsif conin="100" then -解鎖鍵按下設(shè)計(jì)過(guò)程if locksta=locked then if numa=codea and numb=codeb then -輸入正確密碼if numc=codec and numd=coded thenlocksta<=unlock; -鎖開(kāi)end if;end if;end if;end if;end if;if locksta=locked then -若鎖鎖定ledr<='1' -led等高電平,紅燈閃爍le
19、dg<='0'elseledr<='0'ledg<='1'end if;dataa<=numa;datab<=numb;datac<=numc;datad<=numd;if numstate='1' then numstate<='0'else numstate<='1'end if;if constate='1' then constate<='0'else constate<='1'
20、end if;numout<=numstate;conout<=constate;設(shè)計(jì)過(guò)程end if;end process;end one;(2)核心處理模塊仿真圖:當(dāng)數(shù)字按鍵輸入為有效輸入(即輸入的按鍵為數(shù)字按鍵09時(shí)),此時(shí)雖輸入9位數(shù)字,但只有前四位有效,所以密碼應(yīng)為“1234”。 若conin輸入為“011”(即按下上鎖鍵),此時(shí)可以看到ledr為高電平,所以此時(shí)紅燈閃爍一次,表示密碼鎖已上鎖。仿真波形圖如下:圖2.5 核心處理模塊仿真圖(一)圖2.6 核心處理模塊仿真圖(二)由圖可知:若conin輸入為“100”時(shí)(解鎖時(shí)),當(dāng)再次輸入密碼“1234”,并此時(shí)ledg
21、輸出為低電平(綠燈亮)。Dataa輸出密碼“1234”,則表示此時(shí)密碼鎖已解鎖。(3)核心處理模塊-core符號(hào)文件:設(shè)計(jì)過(guò)程圖2.7 處理核心模塊-core符號(hào)文件 輸出處理模塊allout對(duì)處理核心模塊core輸出的數(shù)據(jù)進(jìn)行刷新,使數(shù)碼管及時(shí)顯示刷新的數(shù)字。(1)Allout-輸出處理程序:library ieee;use ieee.std_logic_1164.all;entity allout isport( dataa,datab,datac,datad:in std_logic_vector(3 downto 0);clk:in std_logic;dataout:out std_
22、logic_vector(3 downto 0);outsel:out std_logic_vector(1 downto 0);end allout;architecture one of allout issignal timer:std_logic_vector(1 downto 0);beginprocess(clk)beginif clk'event and clk='1' then-上升沿設(shè)計(jì)過(guò)程if timer="00" thendataout<=dataa;outsel<="00"timer<=&
23、quot;01"elsif timer="01" thendataout<=datab;outsel<="01"timer<="10"elsif timer="10" thendataout<=datac;outsel<="10"timer<="11"elseataout<=datad;outsel<="11"timer<="00"end if;end if;end pro
24、cess;end one;(2)輸出處理模塊仿真圖:圖2.8 輸出處理模塊仿真圖設(shè)計(jì)過(guò)程 當(dāng)輸出密碼為“0123”時(shí),經(jīng)過(guò)輸出處理模塊的處理后,能刷新輸出密碼“0123”對(duì)應(yīng)的二進(jìn)制“0000”、“0001”、“0010”、“0011”,當(dāng)密碼改為“5678”時(shí),該模塊也能對(duì)應(yīng)刷新出新密碼對(duì)應(yīng)二進(jìn)制“0101”、“0110”、“0111”、“1000”。(3)輸出處理模塊allout符號(hào)文件:圖2.9輸出處理模塊allout符號(hào)文件七段譯碼器模塊dataout把4位2進(jìn)制數(shù)翻譯成數(shù)碼管代碼,使輸入的密碼或修改的密碼能及時(shí)顯示在數(shù)碼管上。(1)Dataout-七段譯碼器模塊程序:library
25、ieee;use ieee.std_logic_1164.all;entity dataout isport( datain:IN std_logic_vector(3 downto 0);dataout:OUT std_logic_vector(6 downto 0);end dataout;architecture one of dataout isbeginprocess(datain)begincase datain is設(shè)計(jì)過(guò)程when "0000" => dataout<="1111110" -數(shù)碼管顯示0when "0
26、001" => dataout<="0110000" -數(shù)碼管顯示1when "0010" => dataout<="1101101" -數(shù)碼管顯示2when "0011" => dataout<="1111001" -數(shù)碼管顯示3when "0100" => dataout<="0110011" -數(shù)碼管顯示4when "0101" => dataout<=&quo
27、t;1011011" -數(shù)碼管顯示5when "0110" => dataout<="1011111" -數(shù)碼管顯示6when "0111" => dataout<="1110000" -數(shù)碼管顯示7when "1000" => dataout<="1111111" -數(shù)碼管顯示8when "1001" => dataout<="1111011" -數(shù)碼管顯示9when othe
28、rs => dataout<="0000000" -不顯示end case;end process;end one;(2)Dataout-七段譯碼器模塊仿真圖:圖2.10 七段譯碼器模塊仿真圖由圖可知:當(dāng)七段譯碼器的輸入信號(hào)(datain)為“0000”、“0001”、“0010”、“0011”、“0100”、“0101”、“0110”、“0111”、“1000”、“1001”,輸出信號(hào)(dataout)依次為:“1111110”、“ 0110000”、“ 1101101”、“ 1111001”、“ 0110011”、“ 1011011”、“ 1011111”、
29、“ 1110000”、 “1111111”、“ 1111011”,當(dāng)conin輸入信號(hào)為其他時(shí),譯碼輸出為“0000000”。表2.3 七段譯碼器的輸入及譯碼對(duì)照表設(shè)計(jì)過(guò)程二進(jìn)制譯碼輸入二進(jìn)制譯碼輸出數(shù)碼管顯示數(shù)字000011111100000101100001001011011012001111110013010001100114010110110115011010111116011111100007100011111118100111110119其他輸入0000000無(wú)顯示(3)輸出處理模塊Dataout符號(hào)文件:圖2.11 輸出處理模塊allout符號(hào)文件 軟件設(shè)計(jì)四位密碼鎖的電路設(shè)計(jì)原理圖如下:設(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程 圖3.1 四位密碼鎖的電路設(shè)計(jì)原理圖系統(tǒng)仿真該四位數(shù)字密碼鎖的設(shè)計(jì)是一個(gè)實(shí)時(shí)的系統(tǒng),對(duì)于每一個(gè)按鍵的操作都是在時(shí)鐘的上升沿完成的,是一個(gè)動(dòng)態(tài)的邏輯關(guān)系;而系統(tǒng)輸出為數(shù)碼管顯示的實(shí)時(shí)輸
溫馨提示
- 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ù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貨物垂直存放管理辦法
- 2025年小學(xué)語(yǔ)文畢業(yè)升學(xué)考試全真模擬卷(趣味語(yǔ)文知識(shí)競(jìng)賽模擬題)
- 中國(guó)廚房家電行業(yè)市場(chǎng)深度分析及投資規(guī)劃研究報(bào)告
- 2025年成人高考《語(yǔ)文》詩(shī)詞格律與欣賞文學(xué)批評(píng)與模擬試題
- 2025年中國(guó)理發(fā)美發(fā)器行業(yè)市場(chǎng)全景評(píng)估及發(fā)展戰(zhàn)略規(guī)劃報(bào)告
- 2025年電子商務(wù)師(初級(jí))電子商務(wù)案例分析試卷
- 執(zhí)行董事授權(quán)管理辦法
- 2025年度全國(guó)英語(yǔ)等級(jí)考試(PETS)一級(jí)試卷語(yǔ)法填空與改錯(cuò)精講
- 2025年單證員職業(yè)資格考試試卷:?jiǎn)巫C電子化處理與系統(tǒng)應(yīng)用試題
- 車(chē)間螺絲使用管理辦法
- 科研團(tuán)隊(duì)經(jīng)費(fèi)管理制度
- 車(chē)輛進(jìn)廠出廠管理制度
- 商協(xié)會(huì)公章管理制度
- 企業(yè)檔案利用管理制度
- 安全生產(chǎn)月題庫(kù)-2025年安全生產(chǎn)月安全知識(shí)競(jìng)賽題庫(kù)(附題目答案)
- 口腔正畸模型測(cè)量分析
- 機(jī)加工獎(jiǎng)罰管理制度
- 2024年中汽中心招聘真題
- 2025年蘇州市中考物理試卷真題(含答案)
- 2024年貴州省黔西縣教育局公開(kāi)招聘試題含答案分析
- 集裝箱投資項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論