多功能密碼鎖陳遠(yuǎn)賓_第1頁(yè)
多功能密碼鎖陳遠(yuǎn)賓_第2頁(yè)
多功能密碼鎖陳遠(yuǎn)賓_第3頁(yè)
多功能密碼鎖陳遠(yuǎn)賓_第4頁(yè)
多功能密碼鎖陳遠(yuǎn)賓_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 課程設(shè)計(jì)多功能密碼鎖姓名:陳遠(yuǎn)賓班級(jí):電子3班學(xué)號(hào):09101103課程設(shè)計(jì)多功能密碼鎖一 任務(wù)要求:a) 利用開發(fā)系統(tǒng)板設(shè)計(jì)一個(gè)多功能密碼鎖控制芯片。b) 利用開發(fā)板上的8個(gè)撥碼開關(guān)設(shè)定開鎖密碼、輸入開鎖密碼。8個(gè)LED燈顯示工作狀態(tài)以及輸入密碼正誤提示。3個(gè)按鍵用來(lái)切換不同德模式,包括設(shè)定密碼、開鎖等。七段數(shù)碼管用來(lái)顯示輸入密碼的數(shù)值或者相應(yīng)的編號(hào)。系統(tǒng)的輸入信號(hào)包括8個(gè)撥碼開關(guān)和時(shí)鐘信號(hào),輸出信號(hào)有8個(gè)LED、3個(gè)七段數(shù)碼管。多功能密碼鎖控制芯片需要8撥碼開關(guān),可以0255,共計(jì)256個(gè)數(shù),密碼可以設(shè)定為0255中任意一個(gè)數(shù)。2個(gè)按鍵可以作為控制開關(guān),第一個(gè)按鍵代表設(shè)置密碼狀態(tài),第二個(gè)

2、按鍵代表上鎖狀態(tài),第3個(gè)俺家那倒不輸入密碼開鎖。同時(shí)8個(gè)發(fā)光二極管LED在不哦天哪狀態(tài)下也有不同的含義:LED4:設(shè)置密碼信號(hào)燈LED5:上鎖信號(hào)燈LED6:開鎖信號(hào)燈8個(gè)LED全亮:密碼錯(cuò)誤,報(bào)警信號(hào)系統(tǒng)的狀態(tài)轉(zhuǎn)換過(guò)程:1. 當(dāng)復(fù)位以后,系統(tǒng)進(jìn)入等待狀態(tài),此時(shí)所有LED燈熄滅2. 按下第一個(gè)鍵Keyin0,進(jìn)入設(shè)置密碼狀態(tài),表示設(shè)置密碼。密碼設(shè)置信號(hào)燈LED4亮,并且把撥碼開關(guān)上的密碼存入系統(tǒng),有七段數(shù)碼管顯示此時(shí)的密碼數(shù)據(jù)。3. 按下第二個(gè)鍵Keyin1,進(jìn)入鎖定狀態(tài),即密碼保護(hù)狀態(tài),上鎖信號(hào)燈LED5亮,數(shù)碼管顯示“0”。4. 處于鎖定狀態(tài),按下第一個(gè)鍵Keyin0,系統(tǒng)判斷密碼(撥碼開

3、關(guān)代表的數(shù)值)是否正確,如果密碼正確,則開鎖信號(hào)燈LED6亮,表示開鎖;如果密碼錯(cuò)誤,8個(gè)LED燈全亮,進(jìn)入報(bào)警狀態(tài),表示報(bào)警。5. 開鎖之后,如果按下按鍵Keyin1,則可以再次鎖定系統(tǒng),等待下一次開鎖操作。二系統(tǒng)設(shè)計(jì)1.系統(tǒng)結(jié)構(gòu)框圖多功能密碼鎖控制芯片系統(tǒng)結(jié)構(gòu)框圖如圖:2.系統(tǒng)原理分析多功能密碼分3個(gè)模塊:分頻模塊、核心狀態(tài)控制模塊和按鍵與七段數(shù)碼管控制。其中,分頻器模塊主要是產(chǎn)生供按鍵、七段數(shù)碼管掃描的時(shí)鐘,周期大約在0.0010.0001s之間。同時(shí),分頻時(shí)鐘也可以用于核心控制模塊的基本控制,由于掃描時(shí)鐘要和按鍵、七段數(shù)碼管控制電路構(gòu)成一個(gè)同步電路,因此,必須使用同一個(gè)分頻時(shí)鐘。按鍵和

4、七段數(shù)碼管顯示控制電路時(shí)對(duì)外部的控制以及動(dòng)態(tài)顯示硬件進(jìn)行驅(qū)動(dòng),該模塊嘟ianjia內(nèi)進(jìn)行掃描,輸出經(jīng)過(guò)掃描至后的按鍵結(jié)果,并且可以把核心模塊輸出的二進(jìn)制顯示數(shù)據(jù)轉(zhuǎn)換為BCD嗎,通過(guò)BCD譯碼和動(dòng)態(tài)顯示技術(shù)最終輸出到動(dòng)態(tài)七段數(shù)碼管顯示。核心控制模塊的作用是控制系統(tǒng)的狀態(tài)。系統(tǒng)一共有5個(gè)狀態(tài),狀態(tài)之間由外部按鍵和撥碼進(jìn)行切換,而狀態(tài)顯示則由LED燈以及數(shù)碼管進(jìn)行輸出。3.系統(tǒng)接口信號(hào)描述多功能密碼鎖系統(tǒng)接口信號(hào)定義如表所示:信號(hào)名I/O位寬含義clk11bit系統(tǒng)時(shí)鐘輸入rst11bit系統(tǒng)復(fù)位信號(hào)led08bit8個(gè)led數(shù)碼管boma18bit8個(gè)撥碼開關(guān)scan04bit動(dòng)態(tài)顯示掃描片選信號(hào)

5、m07bit七段數(shù)碼管的段碼控制信號(hào)keyin011bit矩陣鍵盤輸入,2X4矩陣鍵盤第一行信號(hào)keyin111bit矩陣鍵盤輸入,2X4矩陣鍵盤第二行信號(hào)三模塊設(shè)計(jì)1. 分頻器模塊設(shè)計(jì)(1)模塊原理分析。分頻器完成由50MHz時(shí)鐘產(chǎn)生0.0010.0001s時(shí)鐘的功能,原始 未分頻時(shí)鐘是50MHz,根據(jù)計(jì)算公式:n=T/2t,令n=5000,也就是每次計(jì)數(shù)5000個(gè)原始時(shí)鐘周期以后就把輸出的分頻時(shí)鐘信號(hào)反轉(zhuǎn)一次。輸出時(shí)鐘頻率而10KHz。(2)模塊接口定義。分頻器模塊接口定義如下表信號(hào)名I/O位寬含義clk11bit系統(tǒng)50Hz時(shí)鐘輸入clk101bit分頻后頻率為5KHz的時(shí)鐘輸出(3)模

6、塊Verilog代碼設(shè)計(jì),代碼如下:/clk_div.v/Verilog 代碼段6-19module clk_div(clk,clk1);inputclk;/輸入時(shí)鐘outputclk1;/輸出時(shí)鐘reg12:0counter;/定義計(jì)數(shù)器來(lái)計(jì)數(shù)時(shí)鐘,計(jì)數(shù)5000,需要用13位計(jì)數(shù)器regclk1;always(posedge clk)if(counter=13d5000)/如果等于5000begincounter=13b1;/把counter恢復(fù)成1clk1=clk1;/把clk1翻轉(zhuǎn)endelse/如果不等于5000counter=counter+1b1;/counter繼續(xù)計(jì)數(shù)endmo

7、dule狀態(tài)編碼狀態(tài)含義8b00000000 初始狀態(tài)8b00010000設(shè)定密碼狀態(tài)8b00100000鎖定狀態(tài)8b01000000開鎖狀態(tài)8b11111111報(bào)警狀態(tài)2. 核心控制模塊設(shè)計(jì)(1)模塊原理分析。核心控制模塊控制五個(gè)狀態(tài),分別是“初始狀態(tài)”、“設(shè)定密碼狀態(tài)”、“鎖定狀態(tài)”、“開鎖狀態(tài)”和“報(bào)警狀態(tài)”,分別對(duì)應(yīng)5種LED燈的輸出狀態(tài)。核心控制模塊的狀態(tài)編碼如下表:1. 當(dāng)復(fù)位以后,系統(tǒng)進(jìn)入等待狀態(tài),此時(shí)所有LED燈熄滅,四位數(shù)碼管顯示為“0000”,等待第一個(gè)鍵Keyin0按下,如果沒(méi)按下,則狀態(tài)不改變。2. 按下第一個(gè)鍵Keyin0,進(jìn)入設(shè)置密碼狀態(tài),LED燈顯示“000100

8、00”,表示設(shè)置密碼。密碼設(shè)置信號(hào)燈LED4亮,并且把撥碼開關(guān)上的密碼存入系統(tǒng),有七段數(shù)碼管顯示此時(shí)的密碼數(shù)據(jù)。3. 按下第二個(gè)鍵Keyin1,進(jìn)入鎖定狀態(tài),即密碼保護(hù)狀態(tài),上鎖信號(hào)燈LED5亮,顯示為“00100000”,數(shù)碼管顯示“0000”。4. 處于鎖定狀態(tài),按下第一個(gè)鍵Keyin0,系統(tǒng)判斷密碼(撥碼開關(guān)代表的數(shù)值)是否正確,如果密碼正確,則開鎖信號(hào)燈LED6亮,顯示為“01000000”,表示開鎖;如果密碼錯(cuò)誤,8個(gè)LED燈全亮,顯示為“11111111”,進(jìn)入報(bào)警狀態(tài),表示報(bào)警。5. 開鎖之后,如果按下按鍵Keyin1,則可以再次鎖定系統(tǒng),等待下一次開鎖操作。(2)模塊接口定義。

9、控制模塊接口定義如下表:信號(hào)名I/O位寬含義rst11bit系統(tǒng)復(fù)位信號(hào)clk111bit分頻后頻率為5KHz的時(shí)鐘輸出led08bit8個(gè)led數(shù)碼管boma18bit8個(gè)撥碼開關(guān)display08bit七段數(shù)碼管顯示的二進(jìn)制數(shù)據(jù)key_s18bit鍵制(3)模塊Verilog代碼設(shè)計(jì),代碼如下:/state.v/Verilog代碼段module state(rst,clk1,led,boma,display,key_s);inputrst,clk1;input7:0boma;/撥碼開關(guān)input7:0key_s;/鍵值,此處只用到 key_s0.key_s1,key_s2output7:0

10、led;/8個(gè)LED輸出信號(hào)output7:0display;/七段數(shù)碼管顯示數(shù)據(jù)/-reg7:0led;/ LED數(shù)碼管儲(chǔ)存狀態(tài)機(jī)的狀態(tài)編碼areg7:0display;reg7:0mima;/+always(posedge clk1)beginif(rst=1b0) /如果復(fù)位信號(hào)有效,密碼清零begindisplay=8b00000000; /七段數(shù)碼管顯示數(shù)據(jù)led=8b00000000;mima=8b00000000;endelsebegincase(led)8b00000000:begin/處于復(fù)位狀態(tài),只能接受密碼設(shè)定if(key_s0=1b1) /如果按鍵1按下,LED4亮,并

11、且確認(rèn)密碼beginled=8b00010000;display=boma;mima=boma;endend8b00010000:begin/處于密碼設(shè)定完畢狀態(tài),只能等待上鎖設(shè)定if(key_s1=1b1) /如果按鍵2按下,LED5亮,密碼上鎖beginled=8b00100000;display=8b0;endend8b00100000:begin/處于鎖定狀態(tài),只能等待開鎖操作if(key_s2=1b1)/ 判斷密碼是否正確,如果正確則LED6亮beginif(boma=mima)beginled=8b01000000;display=boma;endelsebeginled=8b11

12、111111;/密碼不正確則8個(gè)LED燈全亮display=boma;endendenddefault:begin /處于開鎖狀態(tài),或者其他無(wú)關(guān)狀態(tài),直接轉(zhuǎn)換到鎖定狀態(tài)if(key_s1=1b1) /如果按鍵2按下,LED5亮,密碼上鎖beginled=8b00100000;display=8b0;endendendcaseendendendmodule3. 按鍵、七段數(shù)碼管控制模塊設(shè)計(jì)(1)模塊原理分析。該模塊是整個(gè)設(shè)計(jì)比較復(fù)雜的模塊,其結(jié)構(gòu)圖如下。按鍵、七段數(shù)碼管控制模塊主要負(fù)責(zé)包要顯示的二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為BCD碼,進(jìn)而通過(guò)動(dòng)態(tài)顯示技術(shù)在七段數(shù)碼管上顯示出來(lái)。此外,還負(fù)責(zé)外部2 *4矩陣鍵盤

13、的掃描處理。電路首先對(duì)二進(jìn)制數(shù)據(jù)進(jìn)行BCD譯碼,輸入數(shù)據(jù)在0255之間,經(jīng)過(guò)BCD轉(zhuǎn)換,可以得到3個(gè)四位二進(jìn)制數(shù)據(jù)。為了配合動(dòng)態(tài)顯示,需要生成一個(gè)動(dòng)態(tài)掃描信號(hào),不停地掃描動(dòng)態(tài)數(shù)碼管的位碼,再配合掃描信號(hào),把靜態(tài)七段數(shù)碼管的數(shù)據(jù)放到“段碼數(shù)據(jù)總線”。(2)模塊接口定義。模塊接口定義如下表:信號(hào)名I/O位寬含義display18bit七段數(shù)碼管要顯示的數(shù)據(jù)key_s08bit鍵制scan04bit矩陣鍵盤和數(shù)碼管的掃描信號(hào)m07bit七段數(shù)碼管的段碼控制信號(hào),采用keyin011bit矩陣鍵盤的輸入信號(hào)keyin111bit矩陣鍵盤的輸入信號(hào)clk111bit分頻后周期為0.0010.0001s的

14、時(shí)鐘輸出(3)模塊Verilog代碼設(shè)計(jì),代碼如下:/scan_crl.v/Verilog 代碼段module scan_crl(display, /七段數(shù)碼管顯示二進(jìn)制數(shù)據(jù)key_s, /鍵盤輸出信號(hào)scan, /矩陣鍵盤和數(shù)碼管的掃描信號(hào)m, /七段數(shù)碼管的段碼控制信號(hào)keyin0, /矩陣鍵盤的第一行輸入信號(hào)keyin1, 矩陣鍵盤的第二行輸入信號(hào)clk1);input7:0display;inputke段yin0,keyin1,clk1;output7:0key_s;output3:0scan;/掃描控制output6:0m;/7個(gè)段碼reg3:0scan;reg7:0key_s;re

15、g6:0m;/產(chǎn)生用于矩陣鍵盤和數(shù)碼動(dòng)態(tài)掃描的scan信號(hào)reg1:0st;always(posedge clk1)st=st+1b1;always(st)begincase(st)2b00:scan=4b0001;2b01:scan=4b0010;2b10:scan=4b0100;2b11:scan=4b1000;default:scan=4b0000;endcaseend/由矩陣按鍵產(chǎn)生內(nèi)部使用的鍵值always(posedge clk1)beginif(scan=4b0001)beginif(keyin0=1b0)key_s0=1b1;else key_s0=1b0;if(keyin1=

16、1b0)key_s4=1b1;else key_s4=1b0;endif(scan=4b0010)beginif(keyin1=1b0)key_s1=1b1;else key_s1=1b0;if(keyin1=1b0)key_s5=1b1;else key_s5=1b0;endif(scan=4b0100)beginif(keyin0=1b0)key_s2=1b1;else key_s2=1b0;if(keyin1=1b0)key_s6=1b1;else key_s6=1b0;endif(scan=4b1000)beginif(keyin0=1b0)key_s3=1b1;else key_s3

17、=1b0;if(keyin1=1b0)key_s7=1b1;else key_s78d199)bai7d99)bai=4d1;elsebai=7d90)shi=7d80)shi=7d70)shi=7d60)shi=7d50)shi=7d40)shi=7d30)shi=7d20)shi=7d10)shi=4d1;elseshi=4d0;endassign ge=display_2wei-shi*4d10;/BCD convert/利用bai shi ge,生成動(dòng)態(tài)數(shù)碼管顯示數(shù)據(jù)”bin”reg4:0bin;always(st,ge,shi,bai)begincase(st)2b00:bin=4b

18、0000;2b01:bin=bai;2b10:bin=shi;2b11:bin=ge;default:bin=4b0000;endcaseend/七段數(shù)碼管譯碼模塊always(bin)begincase(bin)4b0000:m=7b0111111;4b0001:m=7b0000110;4b0010:m=7b1011011;4b0011:m=7b1001111;4b0100:m=7b1100110;4b0101:m=7b1101101;4b0110:m=7b1111101;4b0111:m=7b0000111;4b1000:m=7b1111111;4b1001:m=7b1101111;default:m=7b0000000;endcase endendmodule4. 頂層鏈接模塊設(shè)計(jì)前面設(shè)計(jì)了三個(gè)電路模塊,包括分頻器、核心控制模塊

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論