




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、. . . . 課 程 設(shè) 計課 程 名 稱:單 片 機(jī) 原 理 與 應(yīng) 用課 題 名 稱: 數(shù) 字 密 碼 鎖 設(shè) 計 所在學(xué)院名稱:大學(xué)電氣與信息工程學(xué)院 設(shè) 計 人 員: 寧 楓 根 宋 浩 冉目錄一、前言- 2 -二、總體方案設(shè)計- 3 -2.1方案論證與比較- 3 -2.2方案選擇- 4 -三、單元模塊設(shè)計- 4 -3.1硬件支持- 4 -3.2功能單元模塊設(shè)計- 4 -3.2.1 開鎖機(jī)構(gòu)- 4 -3.2.2 矩陣鍵盤設(shè)計電路- 5 -3.2.3 聲音提示電路設(shè)計- 5 -3.2.4 顯示模塊設(shè)計- 6 -四、程序設(shè)計與系統(tǒng)仿真- 7 -4.1 模塊介紹- 7 -4.1.1 主程序
2、模塊- 9 -4.1.2 密碼比較判斷模塊- 9 -4.1.3 鍵盤掃描模塊- 9 -4.1.4 修改密碼模塊- 10 -五、系統(tǒng)功能- 12 -六設(shè)計總結(jié)- 12 -七、附錄:源程序- 12 -一、 前言隨著社會物質(zhì)財富的日益增長和人們生活水平的提高,安全成為現(xiàn)代居民最關(guān)心的問題之一。而鎖自古以來就是把守門的鐵將軍,人們對它要求甚高,即要求可靠地防盜,又要使用方便。傳統(tǒng)的門鎖既要備有大量的鑰匙,又要擔(dān)心鑰匙丟失后的麻煩。隨著單片機(jī)的問世,出現(xiàn)了數(shù)字密碼鎖,其性高,使用靈活性好,安全系數(shù)高,故受到廣大用戶的青睞。數(shù)字密碼鎖通常使用ARM和單片機(jī)控制,單片機(jī)相對ARM實現(xiàn)較為簡單,功能較為完善,
3、因此使用單片機(jī)控制較多。用單片機(jī)控制的密碼鎖常使用匯編語言編寫程序,數(shù)碼管做顯示器。但本設(shè)計使用移植性與可讀性強(qiáng)的C語言編寫;同時采用顯示清楚、功率消耗小而且壽命長的1602A液晶顯示器。從經(jīng)濟(jì)實用的角度出發(fā),采用ADUC848單片機(jī)設(shè)計出一種具有密碼設(shè)置、報警等功能的數(shù)字密碼鎖,并通過Proteus軟件成功地進(jìn)行了仿真。任務(wù)與設(shè)計要求1.設(shè)計一多位電子密碼鎖,輸入密碼用“F”表示,輸入密碼正確,綠燈亮(或顯示其它標(biāo)志、蜂鳴器替代),輸入密碼錯誤,紅燈亮(或顯示其它標(biāo)志、蜂鳴器替代).2.具有確定鍵和取消鍵,在未確定之前可以取消,重新輸入.3.連續(xù)輸入三次錯誤密碼,紅燈閃爍,報警電路動作,鍵盤
4、鎖定.4.具有密碼重置、修改功能.5.具有密碼輸入等待操作時間限制功能,超過限定時間報警.6.顯示時間,時間可調(diào)整.7.可利用蜂鳴器添加提示音.二、 總體方案設(shè)計2.1方案論證與比較方案一:以ADUC848單片機(jī)為數(shù)字密碼鎖系統(tǒng)核心,使用4*4矩陣鍵盤作為數(shù)據(jù)輸入方式,驅(qū)動1602A顯示器提示程序運(yùn)行過程和開鎖的步驟,利用AT24C02芯片實現(xiàn)掉電存儲。圖1為單片機(jī)控制密碼鎖的系統(tǒng)原理框圖。ADUC848單片機(jī)AT24C02存儲芯片矩陣鍵盤控制LCD1602A蜂鳴器提示電路電源模塊LED密碼校驗提示圖1 單片機(jī)控制密碼鎖的系統(tǒng)原理框圖方案二:以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路控制方
5、案,如圖2。輸入按扭開關(guān)組輸入鎖存電路密碼存儲電路開鎖控制電路機(jī)械動作構(gòu)件5秒定時電路20秒定時電路聲光指示電路圖2 數(shù)字邏輯控制方案數(shù)字密碼鎖原理框圖2.2方案選擇由于利用單片機(jī)靈活的編程設(shè)計和強(qiáng)大的I/O端口,與其控制的準(zhǔn)確性,不但能實現(xiàn)基本的密碼鎖功能,還可以增添掉電存儲、聲光提示等功能,故選用方案一。三、 單元模塊設(shè)計3.1硬件支持使用的元器件有:核心芯片ADUC848、存儲芯片AT24C02、液晶顯示1602A、4×4矩陣鍵盤、報警蜂鳴器、發(fā)光二極管和三極管。3.2功能單元模塊設(shè)計3.2.1 開鎖機(jī)構(gòu)通過單片機(jī)送給開鎖執(zhí)行機(jī)構(gòu),電路驅(qū)動電磁鎖吸合,從而達(dá)到開鎖的目的。如圖3
6、所示,為密碼鎖開鎖電路原理圖。當(dāng)用戶輸入的密碼正確時,單片機(jī)便輸出開門信號,送到開鎖驅(qū)動電路,然后驅(qū)動電磁鎖,達(dá)到開門的目的。本次設(shè)計中,基于節(jié)省成本考慮,用發(fā)光二極管代替電磁鎖,信息通過LCD顯示,并利用蜂鳴器和二極管聲光指示。其中,綠發(fā)光二極管亮,表示開鎖;否則,表示密碼輸入錯誤并開啟報警電路。開鎖驅(qū)動電路STC89C52單片機(jī)密碼正確超次鎖定電磁鎖是否圖3 密碼鎖開鎖電路原理圖3.2.2 矩陣鍵盤設(shè)計電路每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個按鍵來連通,利用這種行列式矩陣結(jié)構(gòu)只需要M條行線和N條列線,即可組成具有M×N個按鍵的鍵盤。由于本設(shè)計中要求使用1
7、6個按鍵輸入,為減少鍵盤與單片機(jī)接口時所占用的I/O線的數(shù)目,故使用矩陣鍵盤。本設(shè)計中,矩陣鍵盤行線和單片機(jī)P1.0-P1.3相連,列線與單片機(jī)P1.4-P1.7相連。矩陣鍵盤設(shè)計電路圖,如圖4所示。鍵盤掃描采用行掃描法,即依次置行線中的每一行為低電平,其余均為高電平,掃描列線電平狀態(tài),為低電平即表示該鍵按下。1234567890退位確認(rèn)設(shè)置時間*關(guān)閉圖4 矩陣鍵盤設(shè)計電路圖3.2.3 聲音提示電路設(shè)計聲音提示電路采用小蜂鳴器提示。蜂鳴器能夠根據(jù)脈沖信號,以與信號的頻率發(fā)出各種不同的聲音,這樣可以根據(jù)系統(tǒng)要求在密碼出入正確和密碼輸入錯誤時發(fā)出不同的聲音提示,已達(dá)到報警的要求。蜂鳴器電路,如圖5
8、所示。圖5 蜂鳴器電路3.2.4 顯示模塊設(shè)計本設(shè)計中,顯示電路采用1602A液晶顯示器顯示。如下所示,圖6為1602A液晶顯示器的接口示意圖,表1為接口說明。圖6 1602A液晶顯示器的接口示意圖表1 接口說明管腳序名稱電平功能描述1VSS0V接地2VCC5.0V電源輸入3V0LCD驅(qū)動電壓輸入4RSH/L寄存器選擇:RS=H,選擇數(shù)據(jù)寄存器;RS=L,選擇指令寄存器5R/WH/L讀寫信號線:R/W=H,讀操作;R/W=L,寫操作6EH,HL使能信號7DB0H/L數(shù)據(jù)線8DB1H/L數(shù)據(jù)線9DB2H/L數(shù)據(jù)線10DB3H/L數(shù)據(jù)線11DB4H/L數(shù)據(jù)線12DB5H/L數(shù)據(jù)線13DB6H/L數(shù)
9、據(jù)線14DB7H/L數(shù)據(jù)線15BLA5.0V背光電源正極16BLK0V背光電源負(fù)極本設(shè)計中液晶串口一共用到11根導(dǎo)線與單片機(jī)相連, 具體連接情況如表2顯示模塊與MCU連接說明所示。表2 顯示模塊與MCU連接說明序號1602A液晶顯示器引腳ADUC848單片機(jī)引腳1RS引腳P2.5(A13)2R/W引腳P2.6(A14)3E引腳P2.7(A15)4D0引腳P0.0(AD0)5D1引腳P0.1(AD1)6D2引腳P0.2(AD2)7D3引腳P0.3(AD3)8D4引腳P0.4(AD4)9D5引腳P0.5(AD5)10D6引腳P0.6(AD6)11D7引腳P0.7(AD7)四、程序設(shè)計與系統(tǒng)仿真4.
10、1 模塊介紹與硬件電路相關(guān)聯(lián),本系統(tǒng)軟件包括主程序模塊、密碼比較判斷模塊、鍵盤掃描模塊、修改密碼模塊、1602A液晶顯示模塊等。系統(tǒng)程序流程如圖9所示。開始系統(tǒng)初始化調(diào)用E2PROM密碼顯示主界面輸入密碼判斷密碼確定密碼開鎖模擬聲光鎖定鍵盤YN返回Y判斷次數(shù)N超過N次未超過N次再次輸入密碼密碼設(shè)置完畢N設(shè)置新密碼Y按鍵N判斷按鍵值返回主界面NY設(shè)置解碼次數(shù)產(chǎn)生隨XX碼輸入密碼N=0x84N=0x82N=0x11圖9 系統(tǒng)程序流程圖4.1.1 主程序模塊主程序主要用于定義全局變量,給全局變量賦初值,初始化E2PROM,啟動定時器以與從AT24C02中讀取密碼,為整個程序提供數(shù)據(jù);檢測按鍵;調(diào)用顯
11、示等功能。4.1.2 密碼比較判斷模塊該模塊的功能是將鍵盤輸入的密碼利用if語句與設(shè)定的密碼進(jìn)行逐個比較,若密碼完全正確則開鎖;若不正確,則開啟報警電路,復(fù)位后重新輸入密碼。其密碼輸入和比較判決流程圖如圖10所示。輸入密碼核對鍵盤鎖定,開啟報警電路開鎖,燈亮,可密碼修改NY復(fù)位圖10 密碼輸入和比較判決流程圖4.1.3 鍵盤掃描模塊鍵盤使用矩陣式鍵盤,由行和列組成,CPU對所有鍵盤進(jìn)行監(jiān)視,從而實現(xiàn)逐列掃描鍵盤確定被按鍵的具體位置、判斷鍵盤上有無鍵按下、消除去抖動、判斷閉合的鍵是否釋放等功能。如圖11所示,為鍵盤掃描流程圖。開始延時去抖動計算輸入鍵值鍵值送入單片機(jī)有按鍵輸入?有按鍵輸入?有按鍵
12、輸入?返回NNYY圖11 鍵盤掃描流程圖4.1.4 修改密碼模塊在密碼輸入正確情況下,可以按下“重置密碼”對密碼進(jìn)行重新設(shè)置,每設(shè)定一位就將密碼送給AT24C02存儲起來,當(dāng)設(shè)置6位密碼完畢后,系統(tǒng)將自動跳到程序開始,調(diào)用新設(shè)置的密碼。圖12為修改密碼流程圖。開始輸入原密碼密碼比較比較正確?輸入新密碼再次輸入新密碼調(diào)用AT24C02中密碼比較正確修改成功返回菜單鍵盤鎖定,啟動報警電路復(fù)位YN圖12 修改密碼流程圖五、系統(tǒng)功能本設(shè)計中系統(tǒng)可實現(xiàn)功能如下:(1)通過切換,對輸入的18位密碼進(jìn)行顯示或隱藏;(2)通過發(fā)光二極管和蜂鳴器,對解密正確或者錯誤進(jìn)行聲光報警;(3)18位密碼修改;(4)在密
13、碼遺失情況下,通過初始密碼進(jìn)行密碼再設(shè)置;(5)具有1-3次的解鎖次數(shù)任意設(shè)定功能;六設(shè)計總結(jié)作為一名電子信息工程的學(xué)生,通過本次課程設(shè)計,我很好的了解了單片機(jī)C語言設(shè)計的思考模式,熟悉了C語言的編程規(guī)則,知道了如何去運(yùn)用一個完全陌生的單片機(jī),會根據(jù)單片機(jī)的不同結(jié)構(gòu)來采用不同的命令實現(xiàn)功能。在此次課程設(shè)計中我負(fù)責(zé)的模塊出現(xiàn)了問題導(dǎo)致在數(shù)碼管上顯示狀態(tài)的時候混亂了,主要是因為延時上沒有處理好,Aduc848的定時器處理時是要加上一定的延時來防止沖突的。另外還有鍵盤的防抖模塊,一開是沒有考慮好,所以鍵盤按下后顯示會亂變。綜上而言,通過此次課程設(shè)計,我很好的學(xué)習(xí)了單片機(jī)的應(yīng)用以與其編程。七、附錄:源
14、程序#include <aduc848.h>#include<intrins.h>#define uint unsigned int#define uchar unsigned char /*狀態(tài)聲明*/#define opened 0#define new1 15#define new2 16#define succed 5#define fanin 10#define null 11#define error 12#define different 13#define tover 14/*按鍵聲明*/#define enter 10#define back 11#d
15、efine trevise 12#define revise 13#define cancel 14#define vain 15#define off 16#define end 17#define finish 18/*函數(shù)聲明*/void p_base();void p_revise();void p_new1();void p_new2();void p_trevise();void p_show(); uchar p_scan();void p_record();void p_delay(uint f_n);void p_state(uchar f_s);uchar p_compar
16、e(uchar *f_k1,uchar *f_k2);void p_copy(uchar *f_s,uchar *f_k);/*I/O口聲明*/sbit p00=P00;sbit p10=P10;sbit p11=P11;sbit p12=P12;sbit p13=P13;sbit p14=P14;sbit p15=P15;sbit p16=P16;sbit p17=P17;sbit p20=P20;sbit p21=P21;sbit p22=P22;sbit p23=P23;sbit p24=P24;sbit p25=P25;sbit p26=P26;sbit p27=P27;sbit p3
17、0=P30;sbit p31=P31;sbit p32=P32;sbit p33=P33;sbit p34=P34;sbit p35=P35;sbit p36=P36;sbit p37=P37;/*變量聲明*/uchar bot,key19,key29,save9,t4,s,min,h,mino,mint,ho,ht,n1=1,n2=1,lock,minu,sign,tov,state,n,sound,point=1, showlist=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0x71,0xff,0x21,0x85,0xe1,0x7f
18、,0x7d;uint ms; /*主函數(shù)*/void main()EA=1; /開總中斷ET0=1; /開部中斷0ET1=0;/關(guān)部中斷1TMOD=0x11;TH0=0xf9; /計數(shù)器0高八位TL0=0xdb; /計數(shù)器0低八位TR0=1; /計數(shù)器0開始計數(shù)I2CCON=0xe8;sound=0;tov=1; /超時計數(shù)置為1P1=0x00; /P1全置為0作為輸入if(sign!=1)p_new1(); /調(diào)用首次使用判斷函數(shù)p_base();/調(diào)用基礎(chǔ)解鎖函數(shù)/*基礎(chǔ)解鎖函數(shù)*/void p_base() n=0; /密碼數(shù)組置首位state=fanin; /指示管置為輸入狀態(tài)fani
19、nwhile(1) /無限循環(huán)if(n=0)state=fanin;elsestate=n; bot=p_scan();if(n!=0&&tov=0)/判斷密碼數(shù)組是不是在首位,超時計數(shù)是否為0 p_state(tover);/調(diào)用指示管狀態(tài)閃爍函數(shù),置為用超時狀態(tài)tovermain(); /調(diào)用主函數(shù)switch(bot)case vain:break;case enter:key1n=end; /把密碼后一位置為endif(p_compare(key1,save) /判斷輸入的密碼是否與原密碼一樣p_state(succed);/調(diào)用指示管狀態(tài)閃爍函數(shù),置為成功狀態(tài)succ
20、edlock=0;/鎖定鍵盤計數(shù)置為0point=1; /多次密碼輸入錯誤計數(shù)state=opened;/指示管置為輸入狀態(tài)openedwhile(1) bot=p_scan();switch(bot)case off:main();break;case back:while(1)bot=p_scan();switch(bot)case off:main();break;case enter:main();break; elsep_state(error);/調(diào)用指示管狀態(tài)閃爍函數(shù),置為用錯誤狀態(tài)errorp_record();/調(diào)用錯誤計數(shù)函數(shù)main(); /調(diào)用主函數(shù)break;case
21、 cancel:main();break;case back:if(n!=0) /判斷當(dāng)前密碼是否為首位key1n-=end;/當(dāng)前密碼位置end,密碼退位break;case revise:p_revise();break;case trevise:p_trevise();break; default:if(n+1=9)p_state(error);main();key1n+=bot; /*密碼修改模塊*/void p_revise() ET0=1;ET1=0;n=0;p_state(fanin);state=fanin;while(1)if(n=0)state=fanin;elsestat
22、e=n;bot=p_scan();if(tov=0) p_state(tover); main();switch(bot)case vain:break;case enter:key1n=end;if(p_compare(key1,save)lock=0;point=1;p_state(succed);p_new1();elsep_state(error);p_record();main(); break;case cancel:main();break;case back: if(n!=0)key1n-=end;break;case revise:p_revise();case off:br
23、eak;case trevise:p_trevise();break; default:if(n+1=9)p_state(error);main();key1n+=bot; /*首次使用設(shè)置密碼*/void p_new1() n=0;state=new1;while(1)if(n=0)state=new1;elsestate=n; if(tov=0&&sign=1)|(n!=0&&tov=0) p_state(tover); main();bot=p_scan();switch(bot)case vain:break;case enter:key1n=end;p
24、_new2();break;case cancel:main();break;case back:if(n!=0)key1n-=end;break;case revise:if(sign=1)p_revise();break;case trevise:p_trevise();break; default:if(n+1=9)p_state(error);main();key1n+=bot; /*首次使用二次確定密碼*/void p_new2() n=0;state=new2;while(1)if(n=0)state=new2;elsestate=n;bot=p_scan();if(tov=0)
25、p_state(tover); main();switch(bot)case vain:break;case enter:key2n=end;if(p_compare(key1,key2)sign=1;p_copy(save,key2);lock=0;p_state(succed);main();elsep_state(different);main();break;case cancel:main();break;case back: if(n!=0)key2n-=end;break;case revise:if(sign=1)p_revise();break;case off:break;
26、case trevise:p_trevise();break; default:if(n+1=9)p_state(error);main();key2n+=bot; /*鍵盤模塊*/uchar p_scan() uchar f_s=vain;P2=P2&0xf0;if(P1!=0xff)p_delay(10);if(P1!=0xff)tov=1;P2=P2&0xf0;P2=P2|0x07;switch(P1)case 0xfe:f_s=1;break;case 0xfd:f_s=4;break;case 0xfb:f_s=7;break;case 0xf7:f_s=back;b
27、reak;while(P1!=0xff)sound=1;sound=0;P2=P2&0xf0;P2=P2|0x0b;switch(P1)case 0xfe:f_s=2;break;case 0xfd:f_s=5;break;case 0xfb:f_s=8;break;case 0xf7:f_s=0;break;while(P1!=0xff)sound=1;sound=0;P2=P2&0xf0;P2=P2|0x0d;switch(P1)case 0xfe:f_s=3;break;case 0xfd:f_s=6;break;case 0xfb:f_s=9;break;case 0x
28、f7:f_s=enter;break;while(P1!=0xff)sound=1;sound=0;P2=P2&0xf0;P2=P2|0x0e;switch(P1)case 0xfe:f_s=cancel;break;case 0xfd:f_s=off;break;case 0xfb:f_s=revise;break;case 0xf7:f_s=trevise;break;while(P1!=0xff)sound=1;sound=0;p_delay(10);return f_s;void time() interrupt 1 /定時器0中斷子函數(shù)TH0=0xf9;TL0=0xdb;TR
29、0=1;ms+;ms=ms%1000;/1000毫秒后ms置為0p_show(); /調(diào)用顯示函數(shù)if(sound) /判斷聲音標(biāo)志sound是否為1p26=!p26; /蜂鳴器交替 p26取反if(ms=0) /判斷ms是否為0tov+; /超時計數(shù)tov加1tov=tov%11; /11秒后超時計數(shù)tov置為0s+; /秒計數(shù)s加1s=s%60; /60秒后秒計數(shù)s置為0if(s=0)/判斷秒計數(shù)s是否為0minu+;/鍵盤解鎖計時加1minu=minu%30; /30分鐘后鍵盤解鎖計時if(minu=0)lock=0;min+;min=min%60;mino=min%10;mint=mi
30、n/10;if(min=0)h+;h=h%24;ho=h%10;ht=h/10; /*顯示模塊*/void p_show() switch(n1)case 1:P3=0x80;P0=showlistht;n1+; break;case 2:P3=0x20;P0=showlistmint;n1+;break;case 3:P3=0x00;p24=1;P0=showliststate; n1+;p00=point;break; case 4:p24=0;P3=0x08;P0=showlistmino;n1+;break; case 5:P3=0x40;P0=showlistho;p00=0;n1=
31、1; /*時間修改模塊*/void p_trevise() n=3;n2=1;ET0=0;ET1=1;TH1=0xf9;TL1=0xdb;TR1=1;p24=0;P3=0x80;P0=showlistht;while(1)if(tov=0) P0=showlisttover;P3=0x00;while(n-)p24=1;sound=1;p_delay(99999);p24=0;sound=0;p_delay(99999);main();if(bot!=finish)bot=p_scan();switch(bot)case vain:break;case finish:if(t1+t0*10&g
32、t;=24|t3+t2*10>=60)P0=showlisterror;while(n-)p24=1;sound=1;p_delay(99999);p24=0;sound=0;p_delay(99999);bot=vain;p_trevise();ht=t0;ho=t1;mint=t2;mino=t3;h=ho+ht*10;min=mino+mint*10;s=1;main();break;case enter: break;case cancel:main();break;case back: break;case revise:if(sign=1)p_revise();break;c
33、ase off:break;case trevise:p_trevise();break; default:switch(n2) case 4:P3=0x08;P0=showlistbot;t3=bot;n2=1; bot=finish;p_delay(99999);P3=0x00;break;case 3: P3=0x20;P0=showlistbot;t2=bot;n2+;p_delay(99999);P0=showlistmino;P3=0x08;break;case 2:P3=0x40;P0=showlistbot;t1=bot;n2+;p_delay(99999);P0=showli
34、stmint;P3=0x20;break;case 1:P3=0x80;P0=showlistbot;t0=bot;n2+;p_delay(99999);P0=showlistho;P3=0x40;void atime() interrupt 3 /定時器1中斷TH1=0xf9;TL1=0xdb;TR1=1;ms+;if(sound)p26=!p26;ms=ms%1000;if(ms=0)tov+;tov=tov%11; /*錯誤記錄模塊*/void p_record() /三次解鎖錯誤則置狀態(tài)為errorlock+;/鍵盤鎖定計數(shù)加1minu=0; /鍵盤解鎖計時置0while(lock=3)/當(dāng)鍵盤鎖定計數(shù)為3時循環(huán)sound=1;point=0; /3次錯誤標(biāo)志置為0,表示邏輯1state=error;p_delay(99999);state=null;p_delay(99999); /*狀態(tài)顯示模塊*/void p_state(uchar f_s) /指示管狀態(tài)閃爍函數(shù)uchar f_n=3;while(f_n-)state=f_s;sound=1;p_delay(99999999);state=null;sound=0;p_delay(99999999);void p_delay(uint f_n) /延時子函數(shù)f_n=100*f_
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 財務(wù)課題申報書范文
- 課題申報書高校
- 申報課題的項目書
- 人文社科研究課題申報書
- 畜牧養(yǎng)殖課題申報書
- 課題申報書項目內(nèi)容
- 課題申報書人員分工
- 婦科課題立項申報書
- 橫向科研課題申報書
- 單縣新房購房合同范例
- 人教版九年級數(shù)學(xué)下冊《第二十六章反比例函數(shù)》測試卷單元測試卷-帶有參考答案
- 本科:交通管理專業(yè)培養(yǎng)方案(管理學(xué)院)
- 變電管理所SF6氣體泄漏應(yīng)急處置方案
- 環(huán)境污染刑事案件兩高司法解釋解 讀
- 養(yǎng)殖場滅鼠方案
- 《汽車電子電氣系統(tǒng)構(gòu)造與拆裝》課件 項目三 起動系統(tǒng)檢修
- 《安徒生童話》閱讀指導(dǎo)課件
- 沉淀滴定法(應(yīng)用化學(xué)課件)
- 室外道路及管網(wǎng)工程擬投入的主要施工機(jī)械設(shè)備及測量儀器表
- 07K506 多聯(lián)式空調(diào)機(jī)系統(tǒng)設(shè)計與施工安裝
- 腹部外傷護(hù)理查房記錄
評論
0/150
提交評論