freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)電課程設(shè)計(jì)電子密碼鎖(已修改)

2025-07-07 07:32 本頁(yè)面
 

【正文】 數(shù)字邏輯設(shè)計(jì)課程設(shè)計(jì)報(bào)告書題目名稱:電子密碼鎖學(xué) 院:光 電 信 息 學(xué) 院小組成員:鐘永捷2011059080024 侯晨濤2011059170003徐 昊2011059060029指導(dǎo)教師:李 力日 期: 2013年6月28日一、 小組成員分工情況侯晨濤:所有編程工作、資料查找 工作量:60%鐘永捷:輔助編程、圖表制作、資料查找 工作量:20%徐 昊:論文寫作、圖表制作、資料查找 工作量:20%二、 題目分析1. 輸入信號(hào)通過掃描鍵盤的行與檢測(cè)鍵盤的列得到輸入信號(hào)。2. 輸出信號(hào)通過譯碼器得到的顯示器顯示信息,開關(guān)鎖動(dòng)作。三、 設(shè)計(jì)總框圖四、 各模塊說明(一) 鍵盤掃描模塊1. 原理通過時(shí)序信號(hào)產(chǎn)生脈沖,不間斷地向矩陣鍵盤的行輸入1110110110110111的循環(huán)序列。同時(shí)將各列的電平置高,檢測(cè)矩陣鍵盤各列的電平變化。若在一定時(shí)間內(nèi),掃描到第列電平為零時(shí)恰好第行的輸入電平也為零,則判斷鍵盤上位置上鍵被按下。2. 模塊框圖時(shí)序信號(hào)4*3鍵盤寄存器 比較行列行3. 狀態(tài)表此模塊只需要通過編碼器實(shí)現(xiàn)即可,假定前四位表示各行掃描結(jié)果,后三位表示各列掃描的結(jié)果。動(dòng)作行輸入列輸入狀態(tài)命名編碼輸出按下“0”鍵0111101S00000按下“1”鍵1110110S10001按下“2”鍵1110101S20010按下“3”鍵1110011S30011按下“4”鍵1101110S40100按下“5”鍵1101101S50101按下“6”鍵1101011S60110按下“7”鍵1011110S70111按下“8”鍵1011101S81000按下“9”鍵1011011S91001按下“”鍵0111011S101010按下“*”鍵0111110S1110114. 仿真結(jié)果Key_in代表按鍵按下與否情況,Key_mem將其記錄并輸出,scan為行掃描信號(hào),Key_out為按鍵輸出值。如上仿真結(jié)果所示,當(dāng)scan為1110時(shí),掃描第一行。按下第一個(gè)鍵,即Key_in為110,此時(shí)Key_out為0001,即輸出值為1。其它狀態(tài)依此類推。(二) 輸入模塊1. 原理設(shè)置兩個(gè)寄存器,一個(gè)作為用戶所想設(shè)置密碼的密碼寄存器。另一個(gè)寄存器則是將鍵盤Input的鍵值存儲(chǔ)起來。最后通過一個(gè)比較器將兩個(gè)寄存器的值進(jìn)行比較。若相同則輸出“open”,反之,輸出“error”。比較器內(nèi)部通過多位異或門實(shí)現(xiàn)。2. 模塊框圖判 斷寄存器輸 入寄存器3. 狀態(tài)圖4. 仿真結(jié)果1) 刪除字符第一次輸入值為0101,Number_sig第0到3位將其保存。第二次輸入值為0011,Number_sig第4到7位將其保存。第三次輸入值為0001,Number_sig第8到11位將其保存。第四次輸入值為1010,即刪除鍵。第五次輸入值為0111,Number_sig第8到11位的值由0001變?yōu)?111,即實(shí)現(xiàn)了刪除功能。2) 密碼輸入正確Correct=1說明密碼輸入正確,Number_sig的值為000011001101111000000000,Number_sig的值通過七段顯示譯碼器之后將使數(shù)碼管顯示OPEn00。3) 密碼輸入錯(cuò)誤Correct=1說明密碼輸入正確,Number_sig的值為110111111111000011110000,Number_sig的值通過七段顯示譯碼器之后將使數(shù)碼管顯示ERROR0。(三) 密碼判斷及更改1. 原理密碼判斷模塊:通過比較器將輸入寄存器與存儲(chǔ)寄存器中的數(shù)據(jù)進(jìn)行比較,如果數(shù)據(jù)相同,則判斷密碼正確。如果數(shù)據(jù)不同,則返回輸入等待狀態(tài),并對(duì)輸入寄存器中的數(shù)據(jù)清零。密碼更改模塊:將第一次與第二次輸入寄存器中的數(shù)據(jù)輸入比較器比較,如果數(shù)據(jù)相同則將該數(shù)據(jù)輸入進(jìn)密碼存儲(chǔ)寄存器中。如果數(shù)據(jù)不同,則返回?cái)?shù)據(jù)輸入前的數(shù)據(jù)等待狀態(tài)。2. 模塊框圖比較器相同不同存 儲(chǔ)寄存器返回輸入前狀態(tài)第一次輸入寄存器第二次輸入寄存器輸入輸入比較器輸入寄存器存儲(chǔ)寄存器輸入輸入不同相同判斷密碼正確3. 仿真結(jié)果main_state為10000即update狀態(tài),按鍵六次輸入值為0110,0110,0110,0110,0110,0010,第二次輸入相同。即將密碼由666666改為266666。第二次輸入完成same為1,說明兩次輸入相同。按“”鍵確認(rèn)后。當(dāng)狀態(tài)變?yōu)?1000時(shí),即in_put輸入密碼Inputpd為001001100110011001100110即266666,correct為1說明密碼修改成功并開鎖。(四) 主狀態(tài)機(jī)1. 原理 狀態(tài)分五個(gè)狀態(tài):Waits,Input,Pass,Update,F(xiàn)orbid。在Waits狀態(tài)下,摁下“”進(jìn)入密碼“Input”狀態(tài),在“Input”狀態(tài)下摁“*”可刪除當(dāng)前Input的字符。若密碼輸入正確則進(jìn)去“Pass”狀態(tài),否則進(jìn)入“Forbid”狀態(tài),這時(shí)若摁下“”鍵,則重新返回“Waits”狀態(tài)。摁下“*”鍵進(jìn)入“Update”狀態(tài),輸入兩次密碼然后摁“”鍵進(jìn)行確定,若兩次密碼不相同則Update失敗,重新返回到“Pass”狀態(tài)。若兩次密碼相同,則返回到“Waits”狀態(tài)。2. 模塊框圖ForbidPass兩次輸入不同+鍵 *UpdateWaitsInputRightWrong兩次輸入相同+ 鍵3. 狀態(tài)表4. 仿真結(jié)果1) 密碼輸入錯(cuò)誤按下“”鍵,進(jìn)行密碼輸入(main_state由00001變?yōu)?1000),此時(shí)error為1說明密碼輸入錯(cuò)誤。main_state變?yōu)閒orbid狀態(tài)(由01000變?yōu)?0100)。再按下“”鍵,重新返回waits狀態(tài)(由00100變?yōu)?0001)。2) 密碼輸入正確,且修改密碼成功按下“”鍵,進(jìn)行密碼輸入(main_state由00001變?yōu)?1000),此時(shí)correct為1說明密碼輸入正確。由in_put變?yōu)閜ass(由01000變?yōu)?0010)。按下“*”進(jìn)行密碼修改,由00010變?yōu)?0000修改正確,主狀態(tài)重新返為wait。3) 密碼輸入正確,但密碼修改失敗按下“”鍵,進(jìn)行密碼輸入(main_state由00001變?yōu)?1000),此時(shí)correct為1說明密碼輸入正確。由in_put變?yōu)閜ass(由01000變?yōu)?0010)。按下“*”進(jìn)行密碼修改,由00010變?yōu)?0010主狀態(tài)由修改錯(cuò)誤重新返為pass。(五) 顯示1. 原理這里的選擇24位數(shù)碼管控制模塊,將24位拆分為六組四位編碼輸入七段譯碼器。將譯碼輸出與掃描模塊產(chǎn)生的掃描時(shí)序共同作用于六位數(shù)碼管。得到所需顯示結(jié)果。2. 模塊框圖數(shù)碼管控制模塊(24位)七段譯碼器掃描模塊六位數(shù)碼管輸入掃描分六組輸入四位編碼開始掃描3. 仿真結(jié)果輸入信號(hào)Number_sig的值為000100100011010001010110即123456,Scan_sig的值為011111時(shí),即第一個(gè)數(shù)碼管亮?xí)rDuan_date的值為0110000即數(shù)碼管顯示數(shù)字為1。綜合以上,此時(shí)第一個(gè)數(shù)碼管顯示為1,之后第二個(gè)數(shù)碼管顯示為2,第三個(gè)數(shù)碼管顯示為3……五、 驗(yàn)證方案采取自上而下的設(shè)計(jì)方案,首先將題目要求拆分成各大模塊,然后通過編寫Verilog語(yǔ)言的程序?qū)崿F(xiàn)各模塊的功能。在 中仿真出時(shí)序邏輯圖,并驗(yàn)證程序的正確性。六、 課程設(shè)計(jì)心得體會(huì)通過這次數(shù)字密碼鎖的課程設(shè)計(jì),我們掌握了如何通過數(shù)字邏輯知識(shí)來設(shè)計(jì)一個(gè)可應(yīng)用于生產(chǎn)生活中的擁有實(shí)際應(yīng)用功能的數(shù)字邏輯器件。首先我們要了解其具體功能要求,然后采用自上而下的設(shè)計(jì)方法,建立整體邏輯框圖并將其劃分為各個(gè)具體功能模塊。之后,我們通過編寫Verilog程序?qū)崿F(xiàn)每一模塊的功能。在編譯無錯(cuò)誤后,通過quartus 2軟件自帶的波形仿真功能檢測(cè)模塊功能是否實(shí)現(xiàn)。當(dāng)波形達(dá)到要求,將各模塊拼接,得到最終的密碼鎖整體邏輯結(jié)構(gòu)(如圖1)。在討論課程設(shè)計(jì)時(shí),我們最初想通過簡(jiǎn)單的邏輯門和邏輯器件來實(shí)現(xiàn)密碼鎖功能,以簡(jiǎn)化程序部分。但是因?yàn)闋顟B(tài)之間轉(zhuǎn)換的復(fù)雜性,無法實(shí)現(xiàn)。之后我們決定每一功能模塊均通過程序來實(shí)現(xiàn),并自動(dòng)生成狀態(tài)圖及邏輯圖。這樣工作的任務(wù)全部轉(zhuǎn)移到編程上。編程的感想:對(duì)于編程,我想說從對(duì)verilog一竅不通(C也不太會(huì))到能獨(dú)立地使用其進(jìn)行編程,這將近一月的時(shí)間里,我學(xué)會(huì)了很多,一開始面對(duì)這個(gè)題目,完全不知道從何下手,從圖書館借了一本書就開始慢慢看,然后就嘗試著去寫,有時(shí)候一個(gè)簡(jiǎn)單的錯(cuò)誤困擾了我整整一天甚至兩天都想不出來。這個(gè)題目的程序是我這將近一個(gè)月的心血,每一行都是經(jīng)過思考后寫下的。通過這次課程設(shè)計(jì),我體會(huì)到了編程的樂趣,當(dāng)你長(zhǎng)時(shí)間困擾在一個(gè)問題上,突然間的一個(gè)奇思妙想就可以解決問題或者實(shí)現(xiàn)一個(gè)以前實(shí)現(xiàn)不了的功能,就是這種偶爾的驚喜使得我堅(jiān)持了下來。這次課程設(shè)計(jì)美中不足的是,雖然各個(gè)模塊都可以實(shí)現(xiàn)其功能,但是將其和在一起就會(huì)有問題,雖然編譯無錯(cuò)誤,但是功能無法實(shí)現(xiàn)。因?yàn)闀r(shí)間原因,無法對(duì)其進(jìn)行修正,這是我的一個(gè)遺憾。程序編寫的同時(shí)我們進(jìn)行狀態(tài)表的繪制,不同于軟件仿真出的狀態(tài)表,我們將狀態(tài)簡(jiǎn)化繪制表格,只體現(xiàn)編程時(shí)的大致思路。在這個(gè)過程中,我們熟練掌握了如何將抽象的狀態(tài)變化繪制成狀態(tài)轉(zhuǎn)移表。以及簡(jiǎn)單狀態(tài)圖的繪制方法。七、 源文件(詳見附件)源代碼: //頂層文件******************************************************************************************module top(clk,Rst,key_out,Duan_date,Scan_sig)。input clk。input Rst。input [3:0] key_out。output [6:0] Duan_date。output [5:0] Scan_sig。wire [3:0] scan。wire [2:0] key_in。wire [2:0] key_mem。wire correct。wire error。wire same。wire [4:0] main_state。wire [23:0] Number_sig。wire [23:0]
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號(hào)-1