版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 新型單片機(jī)開發(fā)與應(yīng)用</p><p><b> 課程設(shè)計報告</b></p><p> 課題名稱:簡易六位密碼鎖</p><p> 學(xué) 院:電子與通信工程學(xué)院 </p><p> 班 級:11微電子1班</p><p>
2、 姓 名:</p><p> 學(xué) 號:</p><p> 指導(dǎo)老師:</p><p> 2013年6月24日</p><p><b> 摘要</b></p><p> 隨著科學(xué)技術(shù)的不斷發(fā)展,人們對日常生活中的安全保險器件的要求越來越
3、高。為滿足人們對鎖的使用要求,增加其安全性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。密碼鎖具有安全性高、成本低、功耗低、易操作、記住密碼即可開鎖等優(yōu)點(diǎn)。</p><p> 本系統(tǒng)由ATmega16單片機(jī)系統(tǒng)(主要是ATmega16單片機(jī)最小系統(tǒng))、4×4矩陣鍵盤、LCD1602顯示組成,具有驗(yàn)證、修改六位用戶密碼的功能。</p><p> 關(guān)鍵詞密碼鎖ATmega16LCD1
4、6024×4矩陣鍵盤</p><p><b> 目錄</b></p><p><b> 緒論1</b></p><p><b> 一、設(shè)計方案2</b></p><p> 1.1.功能簡介2</p><p> 1.2.
5、開發(fā)測試環(huán)境選擇2</p><p> 二、密碼鎖硬件設(shè)計2</p><p> 2.1ATmega16單片機(jī)最小系統(tǒng)2</p><p> 2.2矩陣按鍵模塊3</p><p> 2.3LCD1602顯示模塊4</p><p> 2.4密碼鎖電路圖設(shè)計5</p><p&g
6、t; 三、密碼鎖軟件設(shè)計6</p><p> 3.1密碼鎖程序流程圖6</p><p> 3.2程序模塊設(shè)計6</p><p> 3.2.1密碼驗(yàn)證模塊7</p><p> 3.2.2密碼修改模塊8</p><p><b> 小結(jié)9</b></p>
7、<p><b> 參考文獻(xiàn)資料9</b></p><p><b> 附錄110</b></p><p><b> 緒論</b></p><p> 20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電
8、源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進(jìn)展。目前,在西方發(fā)達(dá)國家,電子密碼鎖技術(shù)相對先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。在我國電子鎖整體水平尚處于國際上70年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進(jìn)國際先進(jìn)水平,現(xiàn)國內(nèi)有幾個廠生產(chǎn)供應(yīng)市場。但國內(nèi)自行研制開發(fā)的電子鎖,其市場結(jié)構(gòu)尚未形成,應(yīng)用
9、還不廣泛。國內(nèi)的不少企業(yè)也引進(jìn)了世界上先進(jìn)的技術(shù),發(fā)展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應(yīng)用。</p><p><b> 設(shè)計方案</b></p><p><b> 功能簡介</b></p><p> 本次設(shè)計的簡易6位密碼鎖主要包含兩個功能:密碼驗(yàn)證功能和修改密碼功能。密碼驗(yàn)證功能初始
10、密碼為6個“0”,輸入6位密碼并按“確定”后比對密碼,正確提示“correct”,錯誤提示“PW error”并要求再次輸入密碼;設(shè)置密碼時要求先輸入原密碼匹配后才能修改密碼,密碼修改完成功成后會提示“success”。</p><p><b> 開發(fā)測試環(huán)境選擇</b></p><p> 開發(fā)軟件選擇了HP Info Tech的CodeVisionAVR V2.
11、05,仿真軟件選擇了英國Labcenter electronics公司的proteus7 professional,測試硬件選擇了AVR開發(fā)箱。首先在CodeVisionAVR V2.05下進(jìn)行程序設(shè)計,編譯通過后用proteus7 professional進(jìn)行仿真并嘗試下載到開發(fā)箱中進(jìn)行操作,最后下載到開發(fā)箱中進(jìn)行操作演示。</p><p><b> 密碼鎖硬件設(shè)計</b></p&
12、gt;<p> 本次設(shè)計主要采用的硬件可以分為以下3個模塊:ATmega16單片機(jī)最小系統(tǒng),矩陣按鍵模塊和LCD1602顯示模塊。</p><p> ATmega16單片機(jī)最小系統(tǒng)</p><p> 美國ATMEL公司生產(chǎn)的ATmega16是基于增強(qiáng)的AVR RISC結(jié)構(gòu)的低功耗8 位CMOS微控制器。由于其先進(jìn)的指令集以及單時鐘周期指令執(zhí)行時間,ATmega16 的數(shù)
13、據(jù)吞吐率高達(dá)1 MIPS/MHz,從而可以減緩系統(tǒng)在功耗和處理速度之間的矛盾。本芯片是以Atmel 高密度非易失性存儲器技術(shù)生產(chǎn)的,通過將8 位RISC CPU 與系統(tǒng)內(nèi)可編程的Flash 集成在一個芯片內(nèi), ATmega16 成為一個功能強(qiáng)大的單片機(jī),為許多嵌入式控制應(yīng)用提供了靈活而低成本的解決方案。</p><p> ATmega16的最小系統(tǒng)包含了復(fù)位以及晶振電路,如圖2.1所示。</p>
14、<p> 圖2.1 ATmega16最小系統(tǒng)</p><p> 如上圖所示,復(fù)位電路工作原理是當(dāng)系統(tǒng)上電是C1電容充電使得MCU的復(fù)位端處在低電平(ATmega16為低電平復(fù)位),電容充滿電后回路斷開復(fù)位端處在高電平MCU正常工作。在晶振電路中為了使晶振穩(wěn)定工作一般將晶振兩端通過兩個22Pf~33pF的電容接地。</p><p><b> 矩陣按鍵模塊</
15、b></p><p> 本設(shè)計采用4*4行列式鍵盤,同時也能減少鍵盤與單片機(jī)接口時所占用的I/O口的數(shù)目,在按鍵比較多的時候,通常采用這樣方法。按鍵模塊如圖2.2所示。</p><p> 圖2.2 4*4矩陣按鍵模塊</p><p> 如上圖所示,把每個鍵都分成水平和垂直的兩端接入,比如說掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個bit
16、,而讀入掃描碼的則是水平,掃描的動作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過比對之后就可知道是哪個鍵被按下。本設(shè)計使用單片機(jī)的PA口對按鍵進(jìn)行操作。</p><p> 由于是機(jī)械式按鍵,我們必須在偵測到有按鍵被按下后延時一定的時間,等待按鍵穩(wěn)定再去判讀所按下的鍵。且在使用時為了避免連按或多按也需要采取用while()函數(shù)等來進(jìn)行按鍵釋放的判斷。</p><p> LCD1602顯示模塊&
17、lt;/p><p> 顯示設(shè)計采用字符型液晶屏設(shè)計,由單片機(jī)的PB口控制字符液晶顯示。在包含頭文件(lcd.h)前聲明PB口與LCD模塊通訊。方法如下:</p><p> /* 使用PORTB 連接LCD模塊 */</p><p><b> #asm</b></p><p> .equ __lcd_port=0x18
18、;</p><p><b> #endasm</b></p><p> LCD模塊與單片機(jī)口線連接方式如下:</p><p> [LCD] RS(pin4) RD(pin 5) EN(pin 6) DB4(pin 11) DB5(pin 12) DB6(pin 13) DB7(pin 14) </p><p>
19、[AVR Port] -bit 0 bit 1 bit 2 bit 4 bit 5 bit6 bit7 </p><p> 連接示意圖如圖2.3所示。</p><p> 圖2.3 LCD顯示模塊連接示意圖</p><p><b> 密碼鎖電路圖設(shè)計</b></p><p
20、> Proteus軟件是Labcenter Electronics公司的一款電路設(shè)計與仿真軟件,它包括ISIS、ARES等軟件模塊,ARES模塊主要用來完成PCB的設(shè)計,而ISIS模塊用來完成電路原理圖的布圖與仿真。Proteus的軟件仿真基于VSM技術(shù),它與其他軟件最大的不同也是最大的優(yōu)勢就在于它能仿真大量的單片機(jī)芯片,比如MCS-51系列、PIC系列等等,以及單片機(jī)外圍電路,比如鍵盤、LED、LCD等等。通過Proteus軟
21、件的使用我們能夠輕易地獲得一個功能齊全、實(shí)用方便的單片機(jī)實(shí)驗(yàn)室。 </p><p> 本密碼鎖采用proteus進(jìn)行電路圖設(shè)計,硬件采用AVR開發(fā)箱。密碼鎖電路圖如圖2.4所示。</p><p> 圖2.4 密碼鎖電路圖</p><p><b> 密碼鎖軟件設(shè)計</b></p><p> 開發(fā)軟件選擇了HP In
22、fo Tech的CodeVisionAVR V2.05,開發(fā)語言為C語言,語法較為簡單易懂。</p><p> 軟件的設(shè)計首先要根據(jù)功能和工作流程設(shè)計出對應(yīng)的流程圖,并根據(jù)流程圖編寫響應(yīng)部分的代碼,最后再進(jìn)行調(diào)試。完整源代碼見附錄1。</p><p><b> 密碼鎖程序流程圖</b></p><p> 根據(jù)要求可作出主程序流程圖,如圖3
23、.1所示。</p><p> 圖3.1 主程序流程圖</p><p><b> 程序模塊設(shè)計</b></p><p> 根據(jù)流程圖寫出響應(yīng)的子程序最后在主程序中調(diào)用即可。主程序代碼如下(初始化部分忽略):</p><p><b> while (1)</b></p><p
24、><b> {</b></p><p> key=keyscan();</p><p> if(key!=0xff)</p><p><b> {</b></p><p> delay_ms(10);</p><p> if(key==13)//按下設(shè)
25、置鍵進(jìn)入設(shè)置狀態(tài)</p><p><b> {</b></p><p><b> set_pw();</b></p><p> set_flag=1;</p><p><b> }</b></p><p> else //按下任意鍵進(jìn)
26、入密碼驗(yàn)證狀態(tài)</p><p><b> {</b></p><p> lcd_clear();</p><p> check_pw();</p><p><b> }</b></p><p><b> }</b></p><
27、;p> else //無按鍵按下時液晶顯示</p><p><b> {</b></p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Welcome");</p><p> lcd_gotoxy(0,1);</p><p&
28、gt; lcd_putsf("Press any key");</p><p><b> }</b></p><p><b> }</b></p><p><b> 密碼驗(yàn)證模塊</b></p><p> 由主程序可知,當(dāng)任意鍵按下后及進(jìn)入密碼驗(yàn)證
29、模塊。進(jìn)入該模塊后程序開始識別按鍵進(jìn)行密碼輸入,密碼驗(yàn)證是先讀取用戶輸入的密碼存到臨時緩存中,待用戶輸入完畢并確認(rèn)后進(jìn)行密碼比對,比對完成后給出相應(yīng)的提示和響應(yīng)動作,仿真結(jié)果如圖3.2.1所示。</p><p> 圖3.2.1 密碼輸入以及提示</p><p> 為方便演示,故輸入密碼時顯示對應(yīng)輸入的密碼。實(shí)際應(yīng)用時為保護(hù)密碼,輸入密碼是應(yīng)顯示對應(yīng)的“*”。</p>&l
30、t;p><b> 密碼修改模塊</b></p><p> 密碼修改模塊是基于密碼驗(yàn)證模塊設(shè)計,用戶進(jìn)入密碼修改模式后先使用密碼驗(yàn)證的方法進(jìn)行舊密碼的驗(yàn)證,驗(yàn)證通過后才能進(jìn)密碼設(shè)置。密碼設(shè)置同樣需要輸入兩次且完全匹配才能完成密碼修改。密碼修改完成后會給出提示。仿真結(jié)果如圖3.2.2所示。</p><p> 圖3.2.2 密碼修改及提示</p>
31、<p><b> 小結(jié)</b></p><p> 本次設(shè)計采用的是液晶顯示以及矩陣按鍵,液晶顯示屬于靜態(tài)顯示處理起來比較簡單,但矩陣按鍵采取的是掃描的方式,在處理按鍵時需要不停地掃描,處理不當(dāng)就會造成按鍵無響應(yīng)或者是死循環(huán)。在密碼驗(yàn)證以及密碼設(shè)置的代碼編寫時要十分注意其邏輯順序,邏輯順序不正確就會導(dǎo)致程序進(jìn)入死循環(huán)。</p><p> 通過本次設(shè)計,
32、我們進(jìn)一步了解了ATmega16單片機(jī)的外圍電路、矩陣按鍵和LCD1602的工作原理和使用方法。在代碼的編寫方面也積累了經(jīng)驗(yàn),同時也鍛煉了自身對程序設(shè)計的能力和理解。</p><p><b> 參考文獻(xiàn)資料</b></p><p> 單片機(jī)應(yīng)用技術(shù):C語言版/王靜霞主編.——北京:電子工業(yè)出版社,2009.5</p><p> 單片機(jī)原理
33、及應(yīng)用/彭同明等編著.——2版.——北京:中國電力出版社,2009</p><p><b> 百度文庫資料。</b></p><p><b> 附錄1</b></p><p> 簡易六位密碼鎖源代碼</p><p> #include <mega16.h></p>
34、<p> #include <delay.h></p><p><b> #asm</b></p><p> .equ __lcd_port=0x18 ;PORTB</p><p><b> #endasm</b></p><p> #include <lcd.
35、h></p><p> #define uchar unsigned char</p><p> uchar keyscan(void);</p><p> void set_pw(void);</p><p> void reset(uchar mark);</p><p> void check_p
36、w(void);</p><p> uchar pw[6]={0,0,0,0,0,0},pw_temp[6]={0,0,0,0,0,0};</p><p> bit set_flag=0;</p><p> void main(void)</p><p><b> { </b></p><p&
37、gt; uchar key;</p><p> PORTA=0x00;</p><p> DDRA=0xf0; </p><p> PORTB=0x00;</p><p> DDRB=0x00;</p><p> PORTC=0x00;</p><p> DDRC=0x00; &l
38、t;/p><p> PORTD=0x00;</p><p> DDRD=0x00;</p><p> lcd_init(16);</p><p> lcd_clear();</p><p><b> while (1)</b></p><p><b> {
39、</b></p><p> key=keyscan();</p><p> if(key!=0xff)</p><p><b> {</b></p><p> delay_ms(10);</p><p> if(key==13)</p><p><
40、;b> {</b></p><p><b> set_pw();</b></p><p> set_flag=1;</p><p><b> }</b></p><p><b> else </b></p><p><b
41、> {</b></p><p> lcd_clear();</p><p> check_pw();</p><p><b> }</b></p><p><b> }</b></p><p><b> else </b>&
42、lt;/p><p><b> {</b></p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Welcome");</p><p> lcd_gotoxy(0,1);</p><p> lcd_putsf("Press a
43、ny key");</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void check_pw(void)//密碼比對</p><p><b&g
44、t; {</b></p><p> uchar key=0xFF,count=0,pw_temp2[6];</p><p> bit q_flag=0;</p><p> while(q_flag==0)</p><p><b> {</b></p><p> lcd_cl
45、ear(); </p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Present PW:"); //顯示字符串"Present PW:"</p><p> lcd_gotoxy(0,1); </p><p> while
46、(1)//密碼驗(yàn)證</p><p><b> {</b></p><p> key=keyscan();</p><p> if(key!=0xff) </p><p><b> {</b></p><p> if(key>=0 &&
47、amp; key<10 && count<6)</p><p><b> {</b></p><p> lcd_putchar(key+48); </p><p> pw_temp[count]=key; </p><p> count++;
48、 </p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p><b> }</b></p><p> if(key==15 && count==6) //確定按鍵</p><
49、;p><b> {</b></p><p> for(count=0;count<6;count++)</p><p><b> {</b></p><p> if(pw[count]!=pw_temp[count]) //輸入密碼與原密碼比對</p><p><b>
50、; {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("PW Error -_-!");</p><p><b> count=0;</b></p><p>
51、 delay_ms(5000);</p><p> lcd_clear();</p><p> lcd_putsf("try again");</p><p> lcd_gotoxy(0,1);</p><p><b> break;</b></p><p><
52、b> }</b></p><p> if(count==5)</p><p><b> {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Correct Y^
53、_^");</p><p><b> count=0;</b></p><p> delay_ms(5000);</p><p> reset('w');</p><p><b> break;</b></p><p><b>
54、}</b></p><p><b> }</b></p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p> if(key==12) //清除</p><p><b> {&
55、lt;/b></p><p><b> count=0;</b></p><p> reset('p');</p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p> if(key=
56、=14) //取消</p><p><b> {</b></p><p><b> count=0;</b></p><p> reset('w');</p><p> while(keyscan()!=0xff);</p><p><
57、b> q_flag=1;</b></p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p
58、><b> }</b></p><p> void set_pw(void) //設(shè)置密碼</p><p><b> {</b></p><p> uchar key=0xFF,count=0,pw_temp2[6];</p><p> bit match=0;</
59、p><p> while(set_flag==1)</p><p><b> {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Present PW:"); //顯
60、示字符串"Present PW:"</p><p> lcd_gotoxy(0,1); </p><p> while(match==0)//密碼驗(yàn)證</p><p><b> {</b></p><p> key=keyscan();</p>
61、<p> if(key!=0xff) </p><p><b> {</b></p><p> if(key>=0 && key<10 && count<6)</p><p><b> {</b></p><p> lc
62、d_putchar(key+48); </p><p> pw_temp[count]=key; </p><p> count++; </p><p> while(keyscan()!=0xff);</p><p><b> }</b></p&g
63、t;<p><b> }</b></p><p> if(key==15 && count==6) //確定按鍵</p><p><b> {</b></p><p> for(count=0;count<6;count++)</p><p>&l
64、t;b> {</b></p><p> if(pw[count]!=pw_temp[count]) //輸入密碼與原密碼比對</p><p><b> {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><
65、p> lcd_putsf("PW Error -_-!");</p><p> delay_ms(3000);</p><p> reset('w');</p><p><b> match=0;</b></p><p><b> break;</b&g
66、t;</p><p><b> }</b></p><p> if(count==5)</p><p><b> {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><p>
67、 lcd_putsf("Input new PW");</p><p> lcd_gotoxy(0,1);</p><p><b> count=0;</b></p><p><b> match=1;</b></p><p><b> break;</b
68、></p><p><b> }</b></p><p><b> }</b></p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p> if(key==12) //
69、清除</p><p><b> {</b></p><p><b> count=0;</b></p><p> reset('p');</p><p> while(keyscan()!=0xff);</p><p><b> }<
70、/b></p><p> if(key==14) //取消</p><p><b> {</b></p><p><b> count=0;</b></p><p> reset('w');</p><p> set_flag=0;<
71、;/p><p> while(keyscan()!=0xff);</p><p><b> break;</b></p><p><b> }</b></p><p><b> }</b></p><p> while(match==1)
72、//密碼修改</p><p><b> {</b></p><p> key=keyscan();</p><p> if(key!=0xff) </p><p><b> {</b></p><p> if(key>=0 && key
73、<10 && count<6)</p><p><b> {</b></p><p> lcd_putchar(key+48); </p><p> pw_temp[count]=key; </p><p> count++;
74、</p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p> if(key==15 && count==6) //確定按鍵</p><p><b> {</b></p><p>
75、for(count=0;count<6;count++)</p><p><b> {</b></p><p> pw[count]=pw_temp[count];</p><p><b> }</b></p><p> if(count==6)</p><p>
76、;<b> {</b></p><p> lcd_clear(); </p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Success!");</p><p> set_flag=0;</p><p> delay_ms(5
77、000);</p><p> reset('w');</p><p><b> count=0;</b></p><p><b> break;</b></p><p><b> }</b></p><p> while(key
78、scan()!=0xff); </p><p><b> } </b></p><p> if(key==12) //清除</p><p><b> {</b></p><p><b> count=0;</b></p><p> re
79、set('p');</p><p> while(keyscan()!=0xff);</p><p><b> }</b></p><p> if(key==14)</p><p><b> {</b></p><p><b> count
80、=0;</b></p><p> reset('w');</p><p> while(keyscan()!=0xff);</p><p><b> break;</b></p><p><b> }</b></p><p><b&g
81、t; }</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> void reset(char mark)</p><p><b>
82、{</b></p><p> lcd_clear();</p><p> if(mark=='a')</p><p><b> {</b></p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Again PW:
83、");</p><p> lcd_gotoxy(0,1);</p><p><b> }</b></p><p> else if(mark=='i')</p><p><b> {</b></p><p> lcd_gotoxy(0,0)
84、;</p><p> lcd_putsf("Input PW:");</p><p> lcd_gotoxy(0,1);</p><p><b> }</b></p><p> else if(mark=='p')</p><p><b>
85、{</b></p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Present PW:");</p><p> lcd_gotoxy(0,1);</p><p><b> }</b></p><p> else if
86、(mark=='w')</p><p><b> {</b></p><p> lcd_gotoxy(0,0);</p><p> lcd_putsf("Welcome Y^_^");</p><p> lcd_gotoxy(0,1);</p><p>
87、 lcd_gotoxy(0,1);</p><p> lcd_putsf("Press any key");</p><p><b> }</b></p><p><b> }</b></p><p> uchar keyscan(void)
88、//按鍵讀取函數(shù)</p><p><b> { </b></p><p> uchar col[4]={0xef,0xdf,0xbf,0x7f}; //列</p><p> uchar row[4]={0x07,0x0b,0x0d,0x0e}; //行</p><p> uchar i,j,getSta
89、,keyVal;</p><p> for(i=0;i<4;i++) </p><p><b> { </b></p><p> PORTA=col[i]; //逐列設(shè)置為0,判斷某列是否有鍵按下</p><p> delay_us(10); </p>
90、<p> if(PINA!=col[i]) //條件成立,表示有鍵按下,i中表示第幾列</p><p><b> { </b></p><p> getSta=PINA&0x0F; //讀入4個行值PA0-PA3</p><p> for(j=0;j<4;j++) </p>
91、<p> if(getSta==row[j]) //通過比較行值得到第j行有鍵按下 </p><p> { keyVal=i*4+j;</p><p> return keyVal; </p><p><b> }</b></p><p><b> }</b>&l
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡易密碼鎖課程設(shè)計報告
- 電子密碼鎖課程設(shè)計報告
- 密碼鎖課程設(shè)計
- 密碼鎖課程設(shè)計
- 課程設(shè)計--密碼鎖
- 電子密碼鎖課程設(shè)計報告
- 數(shù)字密碼鎖課程設(shè)計報告
- 密碼鎖課程設(shè)計
- 密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計報告 (2)
- eda課程設(shè)計報告--電子密碼鎖
- eda課程設(shè)計報告--電子密碼鎖
- 電子密碼鎖課程設(shè)計
- 微機(jī)課程設(shè)計--密碼鎖
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計
- 數(shù)字密碼鎖課程設(shè)計
- 課程設(shè)計--電子密碼鎖
- 課程設(shè)計--數(shù)字密碼鎖
- 電子密碼鎖課程設(shè)計
評論
0/150
提交評論