版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGEPAGE1《單片機(jī)實(shí)訓(xùn)》仿真設(shè)計(jì)說明書 專業(yè)名稱:電子信息工程 班級(jí):11班 學(xué)號(hào):2010 姓名: 指導(dǎo)教師: 日期:201目錄一、設(shè)計(jì)的目的和意義 -3-1、設(shè)計(jì)背景 -3-2、設(shè)計(jì)的目的及意義 -3-二、設(shè)計(jì)原理及規(guī)模 -5-1、器件的簡介 -5-(1)AT89C51的簡介 -5-(2)LCD顯示屏簡介 -7-2、軟件程序設(shè)計(jì) -9-三、正文 -10-1、方案的論證 -10-2、主要參數(shù)的計(jì)算 -10-3、功能的實(shí)現(xiàn) -11-(1)硬件部分 -11-①矩陣鍵盤 -11-②LCD顯示電路 -12-③鍵盤的消抖 -13-④仿真電路 -13-(2)軟件部分 -13-①LCD顯示模塊 -14-②密碼判斷模塊 -14-③密碼重置模塊 -17-④密碼鎖復(fù)位模塊 -18-⑤密碼安全提示模塊 -19-四、結(jié)論 -20-五、參考書目 -21-六、附錄 -22-一、設(shè)計(jì)的目的和意義1、設(shè)計(jì)背景在現(xiàn)今社會(huì)中,安全防盜已經(jīng)成為嚴(yán)重的社會(huì)問題,鎖具自古以來就是防盜的重要工具。目前國內(nèi)很多人都還在使用傳統(tǒng)的機(jī)械鎖,機(jī)械鎖存在很大的弊端。所以新型的電子密碼鎖有了更大的發(fā)展空間。從現(xiàn)在的技術(shù)水平和市場認(rèn)可度上來分析,目前使用最為廣泛的按鍵式電子密碼鎖。電子密碼鎖一般用于保險(xiǎn)柜,取款機(jī)等重要地方。由于電子密碼鎖的實(shí)用,涌現(xiàn)出了更多的電子智能密碼鎖,如:指紋識(shí)別的電子密碼鎖等高科技含量的鎖具。但是此類密碼鎖在公共場所容易損壞,成本也比較高,所以鍵盤式的電子密碼鎖依然是防盜的主流產(chǎn)品。鍵盤式電子密碼鎖突出的優(yōu)點(diǎn)是密碼在授權(quán)人的腦袋里記著,即準(zhǔn)確有可靠。很難丟失。此外電子密碼鎖還有很多特點(diǎn)。如:密碼可變。用戶可以隨時(shí)的更改密碼。防止密碼泄露。誤碼輸入保護(hù),當(dāng)密碼輸入錯(cuò)誤時(shí),系統(tǒng)會(huì)自動(dòng)報(bào)警。電子密碼鎖不同于機(jī)械鎖。電子密碼鎖沒有活動(dòng)零件,不會(huì)磨損,壽命長,電子密碼鎖的操作也非常簡單?,F(xiàn)在鎖具在原有鎖的基礎(chǔ)上充分運(yùn)用了現(xiàn)代科技,出現(xiàn)了磁控鎖,聲控鎖,遙控鎖,紅外鎖,電子卡片鎖,超聲波鎖,電磁波鎖,指紋鎖等高科技含量的鎖具。大大提高了鎖的安全性,可靠性。2、設(shè)計(jì)的目的及意義(1)設(shè)計(jì)目的①掌握單片機(jī)控制知識(shí),學(xué)習(xí)擴(kuò)展外部設(shè)備的基本技能。②通過設(shè)計(jì)學(xué)以致用,加強(qiáng)單片機(jī)的實(shí)踐操作能力。(2)設(shè)計(jì)意義在現(xiàn)代文明社會(huì),隨著人們生活水平和自身防范意識(shí)的提高,個(gè)人財(cái)產(chǎn)安全和人身安全的問題也越來越受到人們的重視,擁有一把能夠有效保證居民財(cái)產(chǎn)安全和人身安全的鎖具也越發(fā)的重要起來。鎖具的起源可以追朔到人類社會(huì)財(cái)產(chǎn)私有化的出現(xiàn),鎖具從其出現(xiàn)到發(fā)展至今天的高科技化、信息化,已經(jīng)有若干年的歷史了。經(jīng)過若干年的使用和研究,人們對(duì)鎖具的結(jié)構(gòu)、機(jī)理也了解得相當(dāng)透徹了,因此,不使用鑰匙就能將鎖打開的方法也層出不窮。特別是傳統(tǒng)的機(jī)械鎖,由于其構(gòu)造簡單,在慣偷面前,甚至能夠只用一根鐵絲就直接將其打開,使其失去了保障用戶個(gè)人財(cái)產(chǎn)安全的意義。在信息現(xiàn)代化的今天,鎖具也應(yīng)該向高精度、高安全性的智能化、信息化發(fā)展。自20世紀(jì)70年代第一塊單片機(jī)芯片TMS-1000于美國德克薩斯儀器公司面世以來,基于其體積小、價(jià)格低廉、個(gè)性突出等特點(diǎn),越來越多的電子產(chǎn)品開始采用單片機(jī)芯片作為核心控制部件。在這樣的大環(huán)境下,基于單片機(jī)的電子密碼鎖也應(yīng)運(yùn)而生。這種電子密碼鎖是以單片機(jī)為核心,配以相應(yīng)的硬件電路和軟件程序,實(shí)現(xiàn)密碼的設(shè)置、存貯、識(shí)別和顯示,以及報(bào)警信號(hào)的接收和發(fā)送等功能,具有操作快、修改密碼簡單、安全性高、功耗低等優(yōu)點(diǎn)?;趩纹瑱C(jī)的電子密碼鎖的面世使人們的自身財(cái)產(chǎn)安全有了更多的保障,同時(shí)也促進(jìn)了安全信息系統(tǒng)的發(fā)展,是安全信息系統(tǒng)的一大進(jìn)步?;趩纹瑱C(jī)的電子密碼鎖的出現(xiàn),在一定程度上解決了用戶私人財(cái)產(chǎn)安全的問題。但是,時(shí)代在發(fā)展,社會(huì)在進(jìn)步,任何事物只有不斷地進(jìn)步才能適應(yīng)時(shí)代發(fā)展的需求。電子密碼鎖雖然有安全性高、操作簡單等優(yōu)點(diǎn),因此,研究基于單片機(jī)的電子密碼鎖的設(shè)計(jì)是很有必要且具有現(xiàn)實(shí)意義的。二、設(shè)計(jì)原理及規(guī)模在本次實(shí)驗(yàn)中,使用了單片機(jī)和數(shù)字電路兩種仿真方式設(shè)計(jì)出了較為合理的密碼鎖方案,我們也對(duì)傳統(tǒng)密碼鎖進(jìn)行了適當(dāng)改進(jìn),使其更適應(yīng)當(dāng)今復(fù)雜多變社會(huì)的防盜環(huán)境。通過AT89C51單片機(jī)進(jìn)行模擬控制,LCD顯示屏和發(fā)光二極管進(jìn)行時(shí)間和狀態(tài)的顯示,實(shí)現(xiàn)智能密碼鎖的控制。1、器件的簡介(1)AT89C51的簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。AT89C2051是一種帶2K字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器的單片機(jī)。單片機(jī)的可擦除只讀存儲(chǔ)器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲(chǔ)器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲(chǔ)器組合在單個(gè)芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。與MCS-51兼容,4K字節(jié)可編程閃爍存儲(chǔ)器,壽命:1000寫/擦循環(huán),數(shù)據(jù)保留時(shí)間:10年,全靜態(tài)工作:0Hz-24Hz,三級(jí)程序存儲(chǔ)器鎖定,128*8位內(nèi)部RAM,32可編程I/O線,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,5個(gè)中斷源(兩個(gè)外部中斷源和3個(gè)內(nèi)部中斷源),可編程串行通道,低功耗的閑置和掉電模式,片內(nèi)振蕩器和時(shí)鐘電路。管腳說明:VCC:供電電壓。GND:接地。P0口:P0口為一個(gè)8位漏級(jí)開路雙向I/O口,當(dāng)P0口的管腳第一次寫1時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)地址的低八位。在FIASH編程時(shí),P0口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼,此時(shí)P0外部必須接上拉電阻。P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為低八位地址接收。P2口:P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門電流,當(dāng)P2口被寫“1”時(shí),其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時(shí),P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉優(yōu)勢,當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。P3口:P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(計(jì)時(shí)器0外部輸入)P3.5T1(計(jì)時(shí)器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.7/RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。ALE/PROG:當(dāng)訪問外部存儲(chǔ)器時(shí),地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取指期間,每個(gè)機(jī)器周期兩次/PSEN有效。EA/VPP:當(dāng)/EA保持低電平時(shí),則在此期間外部程序存儲(chǔ)器(0000H-FFFFH),不管是否有內(nèi)部程序存儲(chǔ)器。注意加密方式1時(shí),/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時(shí),此間內(nèi)部程序存儲(chǔ)器。XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。引腳圖如圖1所示:圖1AT89C51引腳圖(2)LCD顯示屏簡介1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它由若干個(gè)5X7或者5X11等點(diǎn)陣字符位組成,每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符,每位之間有一個(gè)點(diǎn)距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因?yàn)槿绱怂运荒芎芎玫仫@示圖形(用自定義CGRAM,顯示效果也不好)。1602LCD是指顯示的內(nèi)容為16X2,即可以顯示兩行,每行16個(gè)字符液晶模塊(顯示字符和數(shù)字)。目前市面上字符液晶大多數(shù)是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780寫的控制程序可以很方便地應(yīng)用于市面上大部分的字符型液晶。LCD1602引腳說明第1腳:VSS為電源地第2腳:VCC接5V電源正極第3腳:V0為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度)。第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。第5腳:RW為讀寫信號(hào)線,高電平(1)時(shí)進(jìn)行讀操作,低電平(0)時(shí)進(jìn)行寫操作。第6腳:E(或EN)端為使能(enable)端,高電平(1)時(shí)讀取信息,負(fù)跳變時(shí)執(zhí)行指令。第7~14腳:D0~D7為8位雙向數(shù)據(jù)端。第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。顯示屏引腳圖如圖2所示:圖2LCD顯示屏引腳圖2、軟件程序設(shè)計(jì)硬件設(shè)計(jì)完畢后,根據(jù)電路圖以及程序設(shè)計(jì)流程進(jìn)行程序編寫,編寫時(shí)大至可分為四個(gè)模塊,第一個(gè)模塊為密碼輸入及LCD返現(xiàn),第二個(gè)模塊為密碼判斷識(shí)別,第三個(gè)模塊為密碼修改,第四個(gè)模塊為密碼鎖復(fù)位設(shè)置。設(shè)計(jì)第一個(gè)模塊時(shí),通過Key_Input(),Key_Num_Recognize()兩個(gè)函數(shù)密碼輸入及返現(xiàn),通過Clear_Func()函數(shù)進(jìn)行密碼清除設(shè)置;設(shè)計(jì)第二個(gè)模塊時(shí),首先通過編寫一個(gè)函數(shù)PassWord_Safe()對(duì)密碼進(jìn)行檢驗(yàn),如果密碼太簡單則提示更改,然后編寫Cipher_Judge()將輸入的密碼與開始設(shè)置的密碼進(jìn)行對(duì)比,從而完成對(duì)密碼的判斷,最后編寫Lock_Func()函數(shù)對(duì)三次密碼輸入錯(cuò)誤采取措施;設(shè)計(jì)第三個(gè)模塊時(shí),通過編寫Cipher_Reset()函數(shù)進(jìn)行密碼更改;設(shè)計(jì)第四個(gè)模塊,通過編寫Restoration()函數(shù)完成。最后建立主函數(shù)將以上函數(shù)串聯(lián)起來完成設(shè)計(jì)。三、正文1、方案的論證根據(jù)設(shè)計(jì)的基本要求,經(jīng)過多方面的查證與對(duì)比,以充分發(fā)揮資源和提高系統(tǒng)性價(jià)比為原則,本系統(tǒng)采用AT89C51單片機(jī)為控制電路,使用LCD液晶顯示屏及蜂鳴器電路來實(shí)現(xiàn)功能。具體設(shè)計(jì)方案的論證如下:方案一:采用數(shù)字電路控制用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,將密碼保存在JK觸發(fā)器中,與輸入密碼通過比較器比較,判斷結(jié)果是否相符合。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡單,但控制的準(zhǔn)確性和靈活性差,故不采用。方案二:采用以單片機(jī)為核心的控制方案選用單片機(jī)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有資源豐富、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)及其引腳資源,外接液晶顯示(LCD),鍵盤輸入等實(shí)現(xiàn)數(shù)據(jù)的處理傳輸和顯示功能,具有較好的靈活性,基本上能實(shí)現(xiàn)設(shè)計(jì)指標(biāo)。因此綜合考慮,本系統(tǒng)采用方案二。2、主要參數(shù)的計(jì)算本設(shè)計(jì)涉及的主要計(jì)算為鍵盤輸入后系統(tǒng)解析為數(shù)字的計(jì)算。首先掃描按下按鍵在矩陣的位置然后通過程序計(jì)算將其轉(zhuǎn)換為相應(yīng)數(shù)字。鍵盤掃描應(yīng)用了反轉(zhuǎn)法,通過兩次更改AT89C51的I/O口電平,然后與按下按鍵后的電平相異或得到按鍵在矩陣的地址。通過switch語句將其變?yōu)橄鄳?yīng)數(shù)字。計(jì)算程序如下:tem=P1^0x0f; switch(tem) { case1:Key_Num=0;break; case2:Key_Num=3;break; case4:Key_Num=6;break; case8:Key_Num=9;break; } P1=0xf0; Delay(2); tem=(P1>>4)^0x0f; switch(tem) { case1:Key_Num+=1;break; case2:Key_Num+=2;break; case4:Key_Num+=3;break; } 3、功能的實(shí)現(xiàn)(1)硬件部分①矩陣鍵盤由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤。采用的是矩陣式按鍵鍵盤,它由行線和列線組成,也稱行列式鍵盤,按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤輸入完成,與獨(dú)立式按鍵鍵盤相比,要節(jié)省很多I/O口。本設(shè)計(jì)中使用的這個(gè)鍵盤不但能完成密碼的輸入還能作特別功能鍵使用。鍵盤的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置。其大體功能(看鍵盤按鍵上的標(biāo)記)及與單片機(jī)引腳接法如圖3所示:圖3矩陣鍵盤②LCD顯示電路本設(shè)計(jì)的顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管來完成。當(dāng)需要對(duì)密碼鎖進(jìn)行開鎖時(shí),按下鍵盤上的開鎖按鍵后利用鍵盤上的數(shù)字鍵0-9輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話,LCD子顯示“Right”,亮綠色LED,如果密碼不正確,LCD顯示屏?xí)@示“ERROR”,亮紅色LED.顯示電路如圖4所示:圖4顯示電路③鍵盤的消抖鍵盤實(shí)質(zhì)上是一組按鍵開關(guān)的集合。通常,鍵盤開關(guān)利用了機(jī)械觸點(diǎn)的合、斷作用。鍵的閉合與否,反映在行線輸出電壓上就是呈高電平或低電平,如果高電平表示鍵斷開,低電平則表示鍵閉合,反之也可。通過對(duì)行線電平高低狀態(tài)的檢測,便可確認(rèn)按鍵按下與否。為了確保CPU對(duì)一次按鍵動(dòng)作只確認(rèn)一次按鍵有效,還必須消除抖動(dòng)鍵盤的消抖常用的方法有兩種,一是用軟件延時(shí)來消除按鍵抖動(dòng),基本思想是:在檢測到有按鍵按下時(shí),該鍵所對(duì)應(yīng)的行線為低電平,執(zhí)行一段延時(shí)10ms的子程序后,確認(rèn)該行線是否仍為低電平,如果仍為低電平,則確認(rèn)該行確實(shí)有按鍵按下。當(dāng)松開按鍵時(shí),行線的低電平變?yōu)楦唠娖?,?zhí)行一次延時(shí)10ms的子程序后,檢測該行線為高電平,說明按鍵確實(shí)已經(jīng)松開。二是采用專用鍵盤/顯示器接口芯片,這類芯片都有自動(dòng)去抖動(dòng)的硬件電路。④仿真電路圖5仿真電路(2)軟件部分程序編寫應(yīng)用的軟件為KeiluVision4。KeilC51是美國KeilSoftware公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢,因而易學(xué)易用。Keil提供了包括C編譯器、宏匯編、連接器、庫管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過一個(gè)集成開發(fā)環(huán)境將這些部分組合在一起。運(yùn)行Keil軟件需要WIN98、NT、WIN2000、WINXP等操作系統(tǒng)。本設(shè)計(jì)在程序編寫時(shí)主要依靠以下幾個(gè)模塊:①LCD顯示模塊設(shè)計(jì)時(shí)為了方便編寫,將該模塊編寫為頭文件函數(shù)LCD1602.H,在編寫其余主要程序時(shí)只需用include語句便可使用。該模塊的重點(diǎn)是指定地址顯示,通過LcdOutput函數(shù)完成,x設(shè)定為地址,y設(shè)定為行數(shù)。voidLcdOutput(unsignedcharx,unsignedchary,unsignedchar*str){ if(y) x|=0x40; x|=0x80; LcdWrite(LCD_COMMAND,x);while(*str!='\0') { LcdWrite(LCD_DATA,*str); str++; }}②密碼判斷模塊本模塊為設(shè)計(jì)的重點(diǎn),通過Cipher_Judge函數(shù)完成。定義count為密碼輸入錯(cuò)誤次數(shù),通過strcmp語句進(jìn)行密碼對(duì)比,然后判讀密碼是否正確,密碼錯(cuò)誤次數(shù)超過3次會(huì)觸發(fā)密碼3次不正確處理函數(shù)。voidCipher_Judge(void){ uchara=500,k,x=3; uintms=25; count++; k=strcmp(PassWord,PassWord_First); if(k!=0) { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Error); LED_RED=~LED_RED; Speaker_Func(5); while(ms--) { Delay(900); } if(count==1) { LED_RED=~LED_RED; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Input_Again); } elseif(count==2) { LED_RED=~LED_RED; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Input_Last); } elseif(count==3) { count=0; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); Lock_Func(); } } elseif(k==0) { if(Reset_Lock==0) { Lock=0; LED_GREEN=0; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Right); while(a--) { Delay(40000); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); LED_GREEN=1; count=0; } else { PassWord_First[5]='\0'; First_Set=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,New_PassWord); Reset_Lock=0; Reset=0; LED_YELLOW=~LED_YELLOW; } }}③密碼重置模塊重置時(shí)首先判斷密碼鎖是否因三次密碼錯(cuò)誤被鎖定,如果沒有則判斷改密碼鎖是否設(shè)置初始密碼,如果沒有則提示設(shè)置初始密碼;如果已設(shè)置,則在更改密碼時(shí)需輸入正確密碼,然后才可以更改新的密碼。voidCipher_Reset(void){if(Lock==0) { LED_YELLOW=~LED_YELLOW; if(PassWord_First[5]=='\0') { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,New_PassWord); Reset=0; LED_YELLOW=~LED_YELLOW; } else { Reset_Lock=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); } }}④密碼鎖復(fù)位模塊密碼鎖復(fù)位定義發(fā)生在密碼錯(cuò)誤三次的情況下,首先需要輸入系統(tǒng)密碼,然后函數(shù)判斷密碼是否正確,如果正確則密碼鎖復(fù)位,即重新設(shè)置初始密碼;系統(tǒng)密碼輸入次數(shù)不限。voidRestoration(void){ uchara,c,b=0; uintms=25; if(Lock==1) { for(a=0;a<11;a++) { c=(God_Num[a]^God_Num_Input[a])<<4; b=b|c; } if(b==0) { Lock=0; KeyPad_Lock=0; Res_Lock=0; TR0=0; Time=1; LED_RED=~LED_RED; PassWord_First[5]='\0'; First_Set=1; Cipher_Reset(); } else { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Error); while(ms--) { Delay(900); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,"InputAGAIN"); } }}⑤密碼安全提示模塊該模塊主要是為了防止輸入的初始密碼太過于簡單,比如六位密碼相同,或者類似000001,00200等。通過六位密碼的異或相加,根據(jù)最后的結(jié)果判斷密碼是否過于簡單。voidPassWord_Safe(void){ uinta,b=0,ms=25; for(a=1;a<6;a++) { b+=PassWord_First[a]^PassWord_First[a-1]; } if(b<4) { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Youqingtishi1); LcdOutput(0,1,Youqingtishi2); Delay(200); PassWord_First[5]='\0'; First_Set=1; LED_YELLOW=0; Speaker_Func(3); } else { LED_YELLOW=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,"Success!"); while(ms--) { Delay(1000); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); }}四、結(jié)論本設(shè)計(jì)運(yùn)行結(jié)果:1、第一次啟動(dòng)需先設(shè)置初始密碼,鍵盤輸入設(shè)置了防止因長時(shí)間按下數(shù)字連續(xù)輸入的功能。輸入密碼后系統(tǒng)會(huì)進(jìn)行判斷,如果密碼過于簡單,系統(tǒng)會(huì)提示,并有黃燈亮起以及蜂鳴器警報(bào)提示;若密碼設(shè)置成功會(huì)在LCD顯示“Success”。2、密碼輸入三次機(jī)會(huì),輸入正確,綠燈亮起表示解鎖成功;輸入錯(cuò)誤,紅燈亮起并有蜂鳴器警報(bào)提示;一旦三次全部錯(cuò)誤,系統(tǒng)會(huì)自動(dòng)鎖定,鎖定時(shí)間為1小時(shí),期間只能進(jìn)行系統(tǒng)復(fù)位功能。3、密碼鎖被鎖定后可以輸入系統(tǒng)密碼,系統(tǒng)會(huì)判定是否正確,正確則系統(tǒng)復(fù)位,密碼重置;不正確可繼續(xù)輸入,系統(tǒng)密碼無輸入次數(shù)限制。4、密碼鎖可進(jìn)行密碼重置,如果沒有設(shè)置初始密碼則直接進(jìn)入更改密碼界面;如果已設(shè)置了密碼,則須輸入正確密碼后才能進(jìn)入更改密碼的界面進(jìn)行密碼更改。5、輸入密碼可以被按位清除,即每按清除鍵一次可清除一位。五、參考書目[1]葉啟明.單片機(jī)制作的新型安全密碼鎖[J].家庭電子.2000,第六期:24-27[2]胡漢才.單片機(jī)原理及其接口技術(shù)(第2版)[M].北京:清華大學(xué)出版社,2004[3]江志紅.51單片機(jī)技術(shù)與應(yīng)用系統(tǒng)開發(fā)[M].清華大學(xué)出版社,2008[4]何力民.I2C總線應(yīng)用系統(tǒng)設(shè)計(jì)[M].北京航空航天大學(xué)出版社.2004[5]黃子強(qiáng).液晶顯示原理[J].國防工業(yè)出版社.2008[6]任艷艷.基于AT89C51單片機(jī)多功能密碼鎖的研究[J].重慶職業(yè)技術(shù)學(xué)院學(xué)報(bào).2008.5[7]周鑫,何建新,劉琥.基于單片機(jī)的電子密碼鎖控制電路設(shè)計(jì)[J]成都信息工程學(xué)院學(xué)報(bào).2009,(08)六、附錄頭文件LCD1602.h:#ifndef_LCD_1602_H_#define_LCD_1602_H_#include<intrins.h>#defineBusyBit0x80#defineLcd_DataP0#defineLCD_COMMAND0#defineLCD_DATA1#defineLCD_CLEAR_SCREEN0X01#defineLCD_SHOW0x04#defineLCD_NO_CURSOR0x00#defineLCD_AC_UP0x02#defineLCD_NO_MOVE0x00sbitLcd_RS=P2^0;sbitLcd_RW=P2^1;sbitLcd_E=P2^2;unsignedcharLcdRead(){ Lcd_RS=0; Lcd_RW=1; _nop_(); Lcd_E=1; _nop_(); //while(Lcd_Data&BusyBit); Lcd_E=0; returnLcd_Data;}voidLcdWrite(bitmode,unsignedcharcmd){ Lcd_E=0; Lcd_RS=mode; Lcd_RW=0; _nop_(); Lcd_Data=cmd; _nop_(); Lcd_E=1; _nop_(); Lcd_E=0; _nop_(); LcdRead();}voidLcdInit(){ Lcd_E=0; LcdWrite(LCD_COMMAND,0x38); LcdWrite(LCD_COMMAND,0x38); LcdWrite(LCD_COMMAND,0x08|LCD_SHOW|LCD_NO_CURSOR); LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdWrite(LCD_COMMAND,0x04|LCD_AC_UP|LCD_NO_MOVE);}voidLcdOutput(unsignedcharx,unsignedchary,unsignedchar*str){ if(y) x|=0x40; x|=0x80; LcdWrite(LCD_COMMAND,x); while(*str!='\0') { LcdWrite(LCD_DATA,*str); str++; }}#endif密碼鎖程序:#include<reg51.h>#include<lcd1602.h>#include<string.h>#defineucharunsignedchar#defineuintunsignedintsbitLED_RED=P3^0;sbitLED_GREEN=P3^1;sbitLED_YELLOW=P3^2;sbitSPK=P3^5;uintKey_Num,count=0,Code_count=0,Lock=0,KeyPad_Lock=0,Res_Key=0,Res_Lock=0,Reset_Lock=0,First_Set=1,Reset;ucharTime=1,add=0;ucharcodeXianshi1[]={"SetPassword"};ucharcodeXianshi2[]={"InputPassword"};ucharcodeXianshi3[]={"INPUTSYSTEM"};ucharcodeXianshi4[]={"PASSWORD"};ucharcodeError[]={"ERROR!"};ucharcodeInput_Again[]={"THESECONDTIME"};ucharcodeInput_Last[]={"THELASTTIME"};ucharcodeRight[]={"RIGHT!"};ucharcodeNew_PassWord[]={"NewPassword"};ucharcodeYouqingtishi1[]={"ItisnotSAFE"};ucharcodeYouqingtishi2[]={"PLEASECHANGE"};ucharPassWord_First[7]={'\0'};ucharPassWord[7]={'\0'};ucharGod_Num[12]={'2','0','1','0','0','3','0','2','0','0','8'};ucharGod_Num_Input[12]={'\0'};voidClear_Func(void);voidRestoration(void);voidCipher_Reset(void);voidKey_Num_Recognize(void);voidDelay(ucharx){ uchary; for(;x>0;x--) { for(y=500;y>0;y--) {;} }}voidDelayMs(uintc){ while(--c);}voidSpeaker_Func(uintm){ uinti; while(m--) { for(i=0;i<260;i++) { DelayMs(80); SPK=!SPK; } SPK=1; DelayMs(30000); }}voidKey_Input(void)//密碼輸入//{ uinttem; if(P1!=0x0f) { Delay(10); if(P1!=0x0f) { tem=P1^0x0f; switch(tem) { case1:Key_Num=0;break; case2:Key_Num=3;break; case4:Key_Num=6;break; case8:Key_Num=9;break; } P1=0xf0; Delay(2); tem=(P1>>4)^0x0f; switch(tem) { case1:Key_Num+=1;break; case2:Key_Num+=2;break; case4:Key_Num+=3;break; } } if(Key_Num==10) { Reset=100; while(Reset--) { Delay(60000); } if(P1!=0xf0) { Cipher_Reset(); } } while(P1!=0xf0); if((Key_Num>0)&&(Key_Num<10)) { Key_Num_Recognize(); } if(Key_Num==11) { Key_Num=0; Key_Num_Recognize(); } if(Key_Num==12) { Delay(10); if(P1!=0X0B) { Clear_Func(); } } }}voidClear_Func(void)//清除一位//{ if(Code_count!=0) { add--; Code_count--; LcdOutput(add,1,""); } else { add=0; Code_count=0; }}voidRestoration(void)//復(fù)位//{ uchara,c,b=0; uintms=25; if(Lock==1) { for(a=0;a<11;a++) { c=(God_Num[a]^God_Num_Input[a])<<4; b=b|c; } if(b==0) { Lock=0; KeyPad_Lock=0; Res_Lock=0; TR0=0; Time=1; LED_RED=~LED_RED; PassWord_First[5]='\0'; First_Set=1; Cipher_Reset(); } else { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Error); while(ms--) { Delay(900); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,"InputAGAIN"); } }}voidCipher_Reset(void)//密碼重置//{ if(Lock==0) { LED_YELLOW=~LED_YELLOW; if(PassWord_First[5]=='\0') { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,New_PassWord); Reset=0; LED_YELLOW=~LED_YELLOW; } else { Reset_Lock=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); } }}voidLock_Func(void)//密碼三次不正確處理函數(shù)//{ TR0=1; Lock=1; KeyPad_Lock=1; Res_Lock=1; LED_RED=0; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,"YouFail!"); LcdOutput(0,1,"Waitonehour"); Delay(200); Speaker_Func(4); if(Time%72000==0) { Lock=0; KeyPad_Lock=0; Res_Lock=0; LED_RED=1; TR0=0; Time=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); }}voidCipher_Judge(void)//密碼判斷//{ uchara=500,k,x=3; uintms=25; count++; k=strcmp(PassWord,PassWord_First); if(k!=0) { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); Delay(200); LcdOutput(0,0,Error); LED_RED=~LED_RED; Speaker_Func(5); while(ms--) { Delay(900); } if(count==1) { LED_RED=~LED_RED; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Input_Again); } elseif(count==2) { LED_RED=~LED_RED; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Input_Last); } elseif(count==3) { count=0; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); Lock_Func();//密碼三次不正確處理函數(shù)// } } elseif(k==0) { if(Reset_Lock==0) { Lock=0; LED_GREEN=0; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Right); while(a--) { Delay(40000); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); LED_GREEN=1; count=0; } else { PassWord_First[5]='\0'; First_Set=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,New_PassWord); Reset_Lock=0; Reset=0; count=0; LED_YELLOW=~LED_YELLOW; } }}voidPassWord_Safe(void)//不安全密碼提示//{ uinta,b=0,ms=25; for(a=1;a<6;a++) { b+=PassWord_First[a]^PassWord_First[a-1]; } if(b<4) { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Youqingtishi1); LcdOutput(0,1,Youqingtishi2); Delay(200); PassWord_First[5]='\0'; First_Set=1; LED_YELLOW=0; Speaker_Func(3); } else { LED_YELLOW=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,"Success!"); while(ms--) { Delay(1000); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi2); }}voidKey_Num_Recognize(void)//密碼輸入方式識(shí)別//{ if(PassWord_First[5]=='\0'&&First_Set==1) { PassWord_First[Code_count]=Key_Num; if(add==0) { LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi1); } LcdOutput(add,1,"*"); add++; Code_count++; Delay(500); if(Code_count==6) { First_Set=0; add=0; Code_count=0; PassWord_Safe(); } } else { if(KeyPad_Lock==0) { PassWord[Code_count]=Key_Num; LcdOutput(add,1,"*"); add++; Code_count++; Delay(500); if(Code_count==6) { add=0; Code_count=0; Cipher_Judge(); } } if(KeyPad_Lock==1&&Res_Key==1) { God_Num_Input[Code_count]=Key_Num; LcdOutput(add,1,"*"); add++; Code_count++; Delay(500); if(Code_count==11) { add=0; Code_count=0; Restoration(); } } } }voidTimer0_Contral(void)interrupt1{ TH0=0x3C; TL0=0xAF; Time++;}voidmain(){ uintms; P3=0xff; TMOD=0x01; TH0=0x3C; TL0=0xAF; EA=1;ET0=1; LcdInit(); LcdOutput(0,0,Xianshi1); while(1) { P1=0X0f; Key_Input(); if((Lock==1)&&(Key_Num==12)&&(Res_Lock==1)) { Delay(600); Res_Key=1; LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); LcdOutput(0,0,Xianshi3); LcdOutput(0,1,Xianshi4); ms=25; while(ms--) { Delay(1000); } LcdWrite(LCD_COMMAND,LCD_CLEAR_SCREEN); Res_Lock=0; } }基于C8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川省涼山彝族自治州(2024年-2025年小學(xué)六年級(jí)語文)部編版競賽題(下學(xué)期)試卷及答案
- 2021醫(yī)藥護(hù)士工作年終總結(jié)范文
- 贊美教師演講稿(15篇)
- 軍訓(xùn)活動(dòng)學(xué)生總結(jié)10篇
- 共青團(tuán)建團(tuán)100周年心得感言(5篇)
- 2024年年托育項(xiàng)目申請(qǐng)報(bào)告
- 2024年強(qiáng)振加速度儀項(xiàng)目規(guī)劃申請(qǐng)報(bào)告模板
- 輔導(dǎo)工作計(jì)劃4篇
- 鋼屋面工程施工吊裝方案
- 2024年左旋肉堿項(xiàng)目提案報(bào)告
- 2024年煙草知識(shí)考試題庫
- 常州大學(xué)《數(shù)據(jù)采集與清洗》2021-2022學(xué)年期末試卷
- 餐飲服務(wù)電子教案 學(xué)習(xí)任務(wù)4 雞尾酒調(diào)制
- 定金協(xié)議書范文范本簡單一點(diǎn)
- 幼兒園教育活動(dòng)設(shè)計(jì)與指導(dǎo)學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 2024秋期國家開放大學(xué)《政治學(xué)原理》一平臺(tái)在線形考(形考任務(wù)四)試題及答案
- TSG51-2023起重機(jī)械安全技術(shù)規(guī)程
- 智慧物流第4套理論題附有答案
- GB/T 44325-2024工業(yè)循環(huán)冷卻水零排污技術(shù)規(guī)范
- 餐飲管理招聘面試題與參考回答(某大型央企)
- DB62-T 4886-2024 肉用種羊選育技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論