




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于51單片機(jī)的電子密碼鎖設(shè)計(jì) 摘要:本文設(shè)計(jì)了一種基于單片機(jī)的電子密碼鎖,由單片機(jī)系統(tǒng)、矩陣鍵盤(pán)、LED顯示和報(bào)警系統(tǒng)組成。系統(tǒng)能完成開(kāi)鎖、超次鎖定、報(bào)警、修改用戶(hù)密碼基本的密碼鎖的功能。除上述基本的密碼鎖功能外,還具有掉電存儲(chǔ)、聲光提示等功能。本密碼鎖具有安全性高、成本低、功耗低、易操作、記住密碼即可開(kāi)鎖等優(yōu)點(diǎn)。關(guān)鍵詞:STC89C52;電子密碼鎖;矩陣鍵盤(pán)1緒論1.1 課題背景 隨著人們生活水平的提高和安全意識(shí)的加強(qiáng),對(duì)安全的要求也就越來(lái)越高。鎖自古以來(lái)就是把守護(hù)門(mén)的鐵將軍,人們對(duì)它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來(lái)研制的主題。隨著電子技術(shù)的發(fā)展,各類(lèi)電子產(chǎn)
2、品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開(kāi)始了,在一些特殊場(chǎng)所早就有所應(yīng)用。這種鎖是通過(guò)鍵盤(pán)輸入一組密碼完成開(kāi)鎖過(guò)程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無(wú)需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來(lái)越多的人所欣賞。電子鎖的種類(lèi)繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。1.2 課題設(shè)計(jì)目標(biāo)本設(shè)計(jì)采用STC89C52單片機(jī)為主控芯片,通過(guò)軟件程序組成電子密碼鎖系統(tǒng),能夠?qū)崿F(xiàn)
3、:(1) 密碼輸入錯(cuò)誤,蜂鳴器報(bào)警。(2) 密碼為6位,可以隨意更改,(3) 采用矩陣按鍵輸入。(4) 通過(guò)LCD1602液晶顯示。(5) 有開(kāi)鎖指示燈。(6)查閱有關(guān)文獻(xiàn)與資料,深入學(xué)習(xí)單片機(jī)硬件原理圖及軟件編程相關(guān)知識(shí)。2系統(tǒng)方案論證 系統(tǒng)將從主控部分和密碼輸入方式兩方面進(jìn)行論證。2.1 主控部分的選擇方案一:采用數(shù)字電路控制 用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶(hù)輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶(hù)輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶(hù)不會(huì)
4、超過(guò)10秒,若用戶(hù)覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)確性和靈活性差。故不采用。 方案二:采用以單片機(jī)為核心的控制方案 選用單片機(jī)作為系統(tǒng)的核心部件,實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有資源豐富、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)及其引腳資源,外接液晶顯示(LCD),鍵盤(pán)輸入等實(shí)現(xiàn)數(shù)據(jù)的處理傳輸和顯示功能,基本上能實(shí)現(xiàn)設(shè)計(jì)指標(biāo),可以看出方案二控制靈活準(zhǔn)確性好且保密性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要綜合考慮,此次設(shè)計(jì)采用此方案。2.2
5、密碼輸入方式的選擇方案一:指紋輸入識(shí)別 指紋識(shí)別技術(shù)主要涉及四個(gè)功能:讀取指紋圖像、提取特征、保存數(shù)據(jù)和比對(duì)。通過(guò)指紋讀取設(shè)備讀取到人體指紋的圖像,然后要對(duì)原始圖像進(jìn)行初步的處理,使之更清晰,再通過(guò)指紋辨識(shí)軟件建立指紋的特征數(shù)據(jù)。軟件從指紋上找到被稱(chēng)為"節(jié)點(diǎn)"(minutiae)的數(shù)據(jù)點(diǎn),即指紋紋路的分叉、終止或打圈處的坐標(biāo)位置,這些點(diǎn)同時(shí)具有七種以上的唯一性特征。通常手指上平均具有70個(gè)節(jié)點(diǎn),所以這種方法會(huì)產(chǎn)生大約490個(gè)數(shù)據(jù)。這些數(shù)據(jù),通常稱(chēng)為模板。通過(guò)計(jì)算機(jī)模糊比較的方法,把兩個(gè)指紋的模板進(jìn)行比較,計(jì)算出它們的相似程度,最終得到兩個(gè)指紋的匹配結(jié)果,從而判斷輸入結(jié)果的正
6、確與否??紤]到本方案軟硬件太過(guò)復(fù)雜,而且成本也高,故不采用。方案二:矩陣鍵盤(pán)輸入識(shí)別 由各按鍵組成的矩陣鍵盤(pán)每條行線和列線都對(duì)應(yīng)一條I/O口線,鍵位設(shè)在行線和列線的交叉點(diǎn),當(dāng)一個(gè)鍵按下就會(huì)有某一條行線與某一條列線接觸,只要確定接觸的是哪兩條線,即哪兩個(gè)I/O口線,就可以確定哪一個(gè)鍵被觸動(dòng)。行線設(shè)計(jì)成上拉口線,初始時(shí)被置高電位,列線懸空,初始置低。通過(guò)不斷讀行線口線,或者中斷方式觸發(fā)鍵位掃描。當(dāng)發(fā)現(xiàn)有鍵按下,將列線逐一置低,其他列線置高,讀行線口線。當(dāng)某條列線置低時(shí),某條行線也被拉低,則確定這兩條線的交點(diǎn)處的按鈕被按下。每個(gè)按鍵都可通過(guò)程序賦予功能,從而完成密碼識(shí)別。本方案簡(jiǎn)單易行,故采用。3
7、硬件電路設(shè)計(jì)3.1 硬件系統(tǒng)總體電路設(shè)計(jì) 本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶(hù)通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶(hù)輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可。系統(tǒng)整體框圖如圖1所示。 中央控制芯片 AT89C52 電源電路 密碼保護(hù) 鍵盤(pán)輸入電路 顯示電路 報(bào)警電路 圖1 系統(tǒng)結(jié)構(gòu)框圖各模塊功能如下: 矩陣鍵盤(pán)輸入模塊:分為密碼輸入按鍵與功能按鍵,用
8、于完成密碼鎖輸入功能。 顯示模塊:用于完成對(duì)系統(tǒng)狀態(tài)顯示及操作提示功能。 報(bào)警電路:用于完成輸錯(cuò)密碼時(shí)候的警報(bào)功能。 密碼存儲(chǔ)模塊:用于完成掉電存儲(chǔ)功能,使修改的密碼斷電后仍能保存。 電源模塊:用于對(duì)系統(tǒng)電路提供+5V的直流電壓。3.2 單片機(jī)最小系統(tǒng)模塊電路設(shè)計(jì) 由STC89C52,復(fù)位電路,時(shí)鐘產(chǎn)生電路組成。STC89C52是美國(guó)Atmel公司生產(chǎn)的低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫(xiě)的只讀程序存儲(chǔ)器(PEROM)和256bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),STC89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中
9、斷口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,2個(gè)讀寫(xiě)口線。主要功能特性: ·8k可反復(fù)擦寫(xiě)(>1000次)Flash ROM,32個(gè)雙向I/O口,256x8bit內(nèi)部RAM,時(shí)鐘頻率0-24MHz,可編程UART串行通道。 ·3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷,2個(gè)串行中斷,2個(gè)外部中斷源,共6個(gè)中斷源,2個(gè)讀寫(xiě)中斷口線。引腳功能如下: ·P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口用時(shí),每位能吸收電流的方式驅(qū)動(dòng)8個(gè)TTL邏輯門(mén)電路,對(duì)端口P0寫(xiě)“1”時(shí),可作為高阻抗輸入端用。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器
10、時(shí),這組口線分時(shí)轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。 ·P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。 ·P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)端口P2寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻
11、,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流(IIL)。在訪問(wèn)8位地址的外部數(shù)據(jù)存儲(chǔ)器(如執(zhí)行MOVXRI指令)時(shí),P2口輸出P2鎖存器的內(nèi)容。Flash編程或校驗(yàn)時(shí),P2亦接收高位地址和一些控制信號(hào)。 ·P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門(mén)電路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上位電阻拉高并可作為輸入端口。此時(shí),被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。 ·RST:復(fù)位輸入 。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使
12、單片復(fù)位。 ·ALE/PROG:當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí),ALE(地址鎖存允許)輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時(shí)鐘振蕩頻率的1/6輸出固定的脈沖信號(hào),因此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目的。要注意的是:每當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。 ·EA/VPP:外部訪問(wèn)允許。欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000HFFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上+12V的
13、編程允許電源VPP,當(dāng)然這必須是該器件是使用12V編程電壓VPP。 ·XTAL1:振蕩器反相放大器的及內(nèi)部時(shí)鐘發(fā)生器的輸入端。 ·XTAL2:振蕩器反相放大器的輸出端。 引腳XTAL1 和XTAL2 分別是該放大器的輸入端和輸出端。這個(gè)放大器與作為反饋元件的片外石英晶體或陶瓷諧振器一起構(gòu)成自激振蕩器。當(dāng)單片機(jī)的復(fù)位引腳RST(全稱(chēng)RESET)出現(xiàn)2個(gè)機(jī)器周期以上的高電平時(shí),單片機(jī)就執(zhí)行復(fù)位操作。如果RST持續(xù)為高電平,單片機(jī)就處于循環(huán)復(fù)位狀態(tài)。根據(jù)應(yīng)用的要求,復(fù)位操作通常有兩種基本形式:上電復(fù)位和開(kāi)關(guān)復(fù)位。其原理圖如圖2所示。圖2 最小系統(tǒng)電路原理圖3.3 電源輸入模塊電路
14、設(shè)計(jì) 密碼鎖主控制部分電源需要用5V直流電源供電,把頻率為50Hz、有效值為220V的單相交流電壓轉(zhuǎn)換為幅值穩(wěn)定的5V直流電壓。其主要原理是把單相電經(jīng)過(guò)電源變壓器、整流電路、濾波電路、穩(wěn)壓電路轉(zhuǎn)換成穩(wěn)定的直流電壓。由于輸入電壓為電網(wǎng)電壓,一般情況下所需直流電壓的數(shù)值和電網(wǎng)電壓的有效值相差較大,因而電源變壓器的作用顯現(xiàn)出來(lái)起到降壓作用。降壓后還是交流電壓,所以需要整流電路把交流電壓轉(zhuǎn)換成直流電壓。由于經(jīng)整流電路整流后的電壓含有較大的交流分量,會(huì)影響到負(fù)載電路的正常工作。需通過(guò)低通濾波電路濾波,使輸出電壓平滑。穩(wěn)壓電路的功能是使輸出直流電壓基本不受電網(wǎng)電壓波動(dòng)和負(fù)載電阻變化的影響,從而獲得穩(wěn)定性足
15、夠高的直流壓。本電路使用充電器解決電源穩(wěn)壓?jiǎn)栴}。3.4 鍵盤(pán)輸入模塊電路設(shè)計(jì) 本設(shè)計(jì)就采用行列式鍵盤(pán),同時(shí)也能減少鍵盤(pán)與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按鍵比較多的時(shí)候,通常采用這樣方法。每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個(gè)按鍵的鍵盤(pán)。在這種行列式矩陣鍵盤(pán)非鍵盤(pán)編碼的單片機(jī)系統(tǒng)中,鍵盤(pán)處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。 4×4矩陣鍵盤(pán)的工作原理: 在鍵盤(pán)中按鍵數(shù)量較多時(shí),為了減少I(mǎi)/O口的占用,通常將按鍵排列成矩陣形式,如圖3所示。在矩陣式鍵盤(pán)中
16、,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤(pán)多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤(pán),而直接用端口線則只能多出一鍵(9鍵)。由此可見(jiàn),在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤(pán)是合理的。掃描原理: 把每個(gè)鍵都分成水平和垂直的兩端接入,比如說(shuō)掃描碼是從垂直的入,那就代表那一行所接收到的掃描碼是同一個(gè)bit,而讀入掃描碼的則是水平,掃描的動(dòng)作是先輸入掃描碼,再去讀取輸入的值,經(jīng)過(guò)比對(duì)之后就可知道是哪個(gè)鍵被按下。 比如說(shuō)掃描碼送入01111111,前面的0111是代
17、表此時(shí)掃描第一行P1.0列,而后面的1111是讓讀取的4行接腳先設(shè)為VDD,若此時(shí)第一行的第三列按鍵被按下,那讀取的結(jié)果就會(huì)變成01111101(注意1111變成1101),其中LSB的第三個(gè)bit會(huì)由1變成0,這是因?yàn)檫@個(gè)按鍵被按下之后,會(huì)被垂直的掃描碼電位short,而把讀取的LSB的bit電位拉到0,此即為掃描原理。 由於這種按鍵是機(jī)械式的開(kāi)關(guān),當(dāng)按鍵被按下時(shí),鍵會(huì)震動(dòng)一小段時(shí)間才穩(wěn)定,為了避免讓8051誤判為多次輸入同一按鍵,我們必須在偵測(cè)到有按鍵被按下,就Delay一小段時(shí)間,使鍵盤(pán)以達(dá)穩(wěn)定狀態(tài),再去判讀所按下的鍵,就可以讓鍵盤(pán)的輸入穩(wěn)定。鍵盤(pán)整體電路圖如圖3所示。 圖3 鍵盤(pán)整體模
18、框圖3.5 密碼存儲(chǔ)模塊電路設(shè)計(jì) 用EPROM芯片AT24C02存儲(chǔ)密碼。AT24C02是美國(guó)Atmel公司的低功耗CMOS型EPROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬(2.55.5 V)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小等特點(diǎn)。而且他是采用了I2C總線式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行器件,占用很少的資源和I/O線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。AT24C02中帶有的片內(nèi)地址寄存器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址寄存器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫(xiě)。所有字節(jié)均以單一操作方式讀取。為降低總的寫(xiě)入時(shí)
19、間,一次操作可寫(xiě)入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于I2C器件之間連接的二線制總線。他通過(guò)SDA(串行數(shù)據(jù)線)及SCL(串行時(shí)鐘線)兩根線在 連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。 AT24C02正是運(yùn)用了I2C規(guī)程,使用主/從機(jī)雙向通信,主機(jī)(通常為單片機(jī))和從機(jī)(AT24C02)均可工作于接收器和發(fā)送器狀態(tài)。主機(jī)產(chǎn)生串行時(shí)鐘信號(hào)(通過(guò)SCL引腳)并發(fā)出控制字,控制總線的傳送方向,并產(chǎn)生開(kāi)始和停止的條件。無(wú)論是主機(jī)還是從機(jī),接收到一個(gè)字節(jié)后必須發(fā)出一個(gè)確認(rèn)信號(hào)ACK。AT24C02的控制字由8位二進(jìn)制數(shù)構(gòu)成,在開(kāi)始信號(hào)發(fā)出以后,主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳
20、送的方向。管腳功能如下: SCL 為串行時(shí)鐘:串行時(shí)鐘輸入管腳用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘這是一個(gè)輸入管腳。SDL 為串行數(shù)據(jù)/地址:雙向串行數(shù)據(jù)/地址管腳用于器件所有數(shù)據(jù)的發(fā)送或接收SDL,是一個(gè)開(kāi)漏輸出管腳可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線或。A0、A1、A2 為器件地址輸入端:當(dāng)使用24C02 時(shí)最大可級(jí)聯(lián)8個(gè)器件,如果只有一個(gè)24C02被總線尋址,這三個(gè)地址輸入腳A0、A1、A2可懸空或連接到Vss。WP為寫(xiě)保護(hù):如果WP 管腳連接到Vcc 所有的內(nèi)容都被寫(xiě)保護(hù)只能讀當(dāng)WP, 管腳連接到Vss 或懸空,允許器件進(jìn)行正常的讀/寫(xiě)操作。管腳圖如圖4所示。圖4 AT24C02引腳
21、圖3.6 顯示模塊電路設(shè)計(jì) 為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示部分由液晶顯示器LCD1602取代普通的數(shù)碼管來(lái)完成。LCD1602中所謂的1602即是16字符*2行的字符型LCD顯示器,它由32個(gè)字符點(diǎn)陣塊組成,每個(gè)字符點(diǎn)陣塊由5×7或5×10個(gè)點(diǎn)陣組成,可以顯示ASCII碼表中的所有可視的字符。它內(nèi)置了字符產(chǎn)生器ROM(CGROM)、字符產(chǎn)生器RAM(CGRAM)和顯示數(shù)據(jù)RAM(DDRAM)。CGROM中內(nèi)置了192個(gè)常用字符的字模,CGRAM包含8個(gè)字節(jié)的RAM,可存放用戶(hù)自定義的字符,DDRAM就是用來(lái)寄存待顯示的字符代碼。 1602液晶顯示器以其微功耗
22、、體積小、顯示內(nèi)容豐富、超薄輕巧的諸多優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到越來(lái)越廣泛的應(yīng)用本系統(tǒng)也將用到。1602引腳及其具體功能如表1所示。表1 1602引腳及功能編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2Data I/O2VDD電源正極10D3Data I/O3VL液晶顯示偏壓信號(hào)11D4Data I/O4RS數(shù)據(jù)/命令選擇端(H/L)12D5Data I/O5R/W讀/寫(xiě)選擇端(H/L)13D6Data I/O6E使能信號(hào)14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極 1)讀操作時(shí)序圖如圖5所示。圖5 讀操作時(shí)序
23、圖 2)寫(xiě)操作時(shí)序圖如圖6所示。圖6 寫(xiě)操作時(shí)序圖 3)時(shí)序參數(shù)表如表2所示。表2 時(shí)序參數(shù)表時(shí)序參數(shù)符號(hào)極限值單位測(cè)試條件最小值典型值最大值E信號(hào)周期tc400-ns引腳EE脈沖寬度tpw ,tF150-nsE上升/下降沿時(shí)間tR-25ns地址建立時(shí)間tsp130-ns引腳E、RS、R/W地址保持時(shí)間tHD110-ns數(shù)據(jù)建立時(shí)間(讀操作)tD-100ns引腳DB0DB7數(shù)據(jù)保持時(shí)間(讀操作)tHD220-ns數(shù)據(jù)建立時(shí)間(寫(xiě)操作)tsp240-ns數(shù)據(jù)保持時(shí)間(寫(xiě)操作)tHD210-ns注意:對(duì)控制器每次進(jìn)行讀寫(xiě)操作之前,都必須進(jìn)行讀寫(xiě)檢測(cè),確保STA7=0 顯示器一直處于初始狀態(tài),當(dāng)需要
24、對(duì)密碼鎖進(jìn)行開(kāi)鎖時(shí),按下鍵盤(pán)上的開(kāi)鎖按鍵后利用鍵盤(pán)上的數(shù)字鍵09輸入密碼,每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)鍵,如果輸入的密碼正確的話(huà), LCD子顯示“RIGHT”,LCD顯示屏?xí)@示“ERROR”,P2.0輸出的是低電平,電子密碼鎖不能被打開(kāi)。通過(guò)LCD顯示屏,可以清楚的判斷出鎖所處狀態(tài) 。其顯示部分引腳接口如圖7所示。圖7 顯示電路原理圖3.7 報(bào)警部分 報(bào)警部分由喇叭電路組成,當(dāng)有鍵按下時(shí),每按一下,喇叭koi響一次,當(dāng)密碼輸入錯(cuò)誤時(shí),單片機(jī)的P2.1引腳為低電平,喇叭發(fā)出噪鳴聲報(bào)警。如圖8所示:圖8 報(bào)警電路原理圖3.8 開(kāi)鎖機(jī)
25、構(gòu) 用戶(hù)通過(guò)LCD提示信息,用鍵盤(pán)輸入正確密碼,從而達(dá)到開(kāi)鎖的目的。當(dāng)用戶(hù)輸入的密碼正確并且是在按下確定鍵的話(huà),單片機(jī)便輸出開(kāi)門(mén)信號(hào),送到開(kāi)鎖驅(qū)動(dòng) 電路,然后驅(qū)動(dòng)電磁鎖,達(dá)到開(kāi)門(mén)的目的。電路驅(qū)動(dòng)和開(kāi)鎖兩級(jí)組成。由D5、R1、T10組成驅(qū)動(dòng)電路,其中T10可以選擇普通的小功率三極管如9014、9018都可以滿(mǎn)足要求。D5作為開(kāi)鎖的提示;由D6、C24、T11組成。其中D6、C24是為了消除電磁鎖可能產(chǎn)生的反向高電壓以及可能產(chǎn)生的電磁干擾。T11可選用中功率的三極管如8050,電磁鎖的選用要視情況而定,但是吸合力要足夠且由一定的余量。 4 軟件設(shè)計(jì)4.1 軟件設(shè)計(jì)原理 本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)
26、、液晶顯示器和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶(hù)通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶(hù)輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當(dāng)然也可以用繼電器的常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。本系統(tǒng)共有兩部分構(gòu)成,即硬件部分與軟件部分。其中硬件部分由電源輸入部分、鍵盤(pán)輸入部分、密碼存儲(chǔ)部分、顯示部分、報(bào)警部分組成,軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、鍵功
27、能程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。流程圖如圖9所示。開(kāi)始初始化模式選擇識(shí)別按鍵密碼輸入手動(dòng)清除密碼比較開(kāi)門(mén)舊密碼輸入新密碼輸入存入緩存區(qū)再次輸入密碼重新輸入設(shè)置完畢返回NANBY圖9 主程序的流程圖4.2 LED顯示子程序 LED顯示流程圖如圖10所示。圖10 LED顯示流程圖4.3 鍵盤(pán)掃描及識(shí)別子程序 鍵盤(pán)采用查詢(xún)的方式,放在主程序中,當(dāng)沒(méi)有按鍵按下的時(shí)候,單片機(jī)循環(huán)主程序,一旦有按鍵按下,便轉(zhuǎn)向相應(yīng)的子程序處理,處理結(jié)束再返回。其程序流程如圖11所示。圖11 鍵盤(pán)掃描程序流程圖4.4 系統(tǒng)模塊密碼設(shè)置子程序 由于設(shè)計(jì)是分模塊化進(jìn)行,所以子程序是整體軟件系統(tǒng)的組成
28、部分,子程序不但可以使程序化整為零,使其復(fù)雜簡(jiǎn)單化,同時(shí)也方便閱讀,修改等,每個(gè)功能模塊都有它自己的子程序,在本設(shè)計(jì)中是用LCD顯示數(shù)據(jù),所以就要用到顯示子程序。設(shè)計(jì)中用的是矩陣鍵盤(pán),所以就用到鍵盤(pán)掃描子程序,例如還有顯示初始化子程序、LCD忙檢測(cè)子程序、關(guān)閉狀態(tài)顯示子程序、開(kāi)鎖狀態(tài)顯示子程序、密碼輸入及修改狀態(tài)顯示子程序、密碼輸入錯(cuò)誤后的提示子程序等。密碼修改子程序流程圖如下圖12所示。選擇模式舊密碼輸入新密碼輸入存入緩存再次輸入密碼比較密碼重新輸入返回YN是否大于3次鎖定NY圖12 設(shè)置密碼子程序5 系統(tǒng)制作及調(diào)試分析5.1焊接注意事項(xiàng)LCD的注意事項(xiàng)1. 采用焊接方法將金屬基P
29、IN安裝于LCD時(shí),從玻璃末端到PCB的焊接位置的長(zhǎng)度至少5mm,焊接溫度必須在260以下,且焊接時(shí)間必須在10秒以?xún)?nèi),以免焊接過(guò)程中對(duì)裝置的損壞,確保焊接性能。在230,30秒條件下,90%的焊料須緊密附著于PIN上。2. 對(duì)LCD基板或基PIN焊接位置的調(diào)整必須在安裝前完成。嚴(yán)禁猛烈移動(dòng)基PIN,否則會(huì)機(jī)械地破壞LCD屏與基PIN之間的連接點(diǎn)。焊接時(shí)平放LCD,盡量不讓LCD受力。3. 焊接LCD基板時(shí),將其小心、平衡地插入PCB插槽,以避免損壞基PIN或LCD基板。4. 焊接時(shí),LCD基板不應(yīng)長(zhǎng)時(shí)間置于焊錫蒸汽中,清洗PCB時(shí),必須避免污染LCD基板,否則可
30、能損壞顯示器表面的偏光片及封口膠。5. 顯示器表面的保護(hù)膜直到焊接完成才可揭掉,禁止手指及其它硬物接觸偏光片,禁止水和其他化學(xué)物質(zhì)沾污裝置,因?yàn)檫@些物質(zhì)會(huì)污染顯示器表面。單片機(jī)焊接注意事項(xiàng):80s51單片機(jī)與其它單片機(jī),dsp,arm芯片相比較而言是脆弱的,如果焊接時(shí)不小心就很可能把芯片損壞!建議用比較好的恒溫可調(diào)的烙鐵,功率在30瓦左右,溫度控制在260到300度,建議采用點(diǎn)焊而不用拉焊,焊接時(shí)烙鐵放在每個(gè)引腳的時(shí)間不能太長(zhǎng)(最好低于3秒)。上邊提到的方法還不能確保芯片完好,對(duì)芯片有危害的還有帶電烙鐵的靜電感應(yīng)!烙鐵質(zhì)量不是太好的,焊接時(shí)可以把烙鐵電源插頭拔掉。其他的電子器件焊接須
31、知:一般分四步驟進(jìn)行。準(zhǔn)備焊接:清潔被焊元件處的積塵及油污,再將被焊元器件周?chē)脑骷笥谊魂?讓電烙鐵頭可以觸到被焊元器件的焊錫處,以免烙鐵頭伸向焊接處時(shí)燙壞其他元器件。焊接新的元器件時(shí),應(yīng)對(duì)元器件的引線鍍錫。加熱焊接:將沾有少許焊錫和松香的電烙鐵頭接觸被焊元器件約幾秒鐘。若是要拆下印刷板上的元器件,則待烙鐵頭加熱后,用手或銀子輕輕拉動(dòng)元器件,看是否可以取下。清理焊接面:若所焊部位焊錫過(guò)多,可將烙鐵頭上的焊錫甩掉(注意不要燙傷皮膚,也不要甩到印刷電路板上!),用光烙錫頭"沾"些焊錫出來(lái)。若焊點(diǎn)焊錫過(guò)少、不圓滑時(shí),可以用電烙鐵頭"蘸"些焊錫對(duì)焊點(diǎn)進(jìn)行補(bǔ)
32、焊。檢查焊點(diǎn):看焊點(diǎn)是否圓潤(rùn)、光亮、牢固,是否有與周?chē)骷B焊的現(xiàn)象。電子密碼鎖的硬件聯(lián)接原理圖按下列順序依次焊接: (1)焊接單片機(jī)的晶振電路、復(fù)位電路等單片機(jī)的最小系統(tǒng)的外圍電路。 (2)焊接LCD的相應(yīng)管腳并把LCD的管腳單片機(jī)相連接。 (3)焊接鍵盤(pán)的按鍵電路。 (4)焊接電子密碼鎖的密碼輸入錯(cuò)誤的報(bào)警電路。 (5)焊接密碼鎖的開(kāi)鎖機(jī)構(gòu)電路。 (6)焊接其他接口及輔助電路。 (7)焊接接地及高電平。5.2軟件調(diào)試 在硬件支持的環(huán)境下,用proteus設(shè)計(jì)好的電路,Keil編好的程序編譯成芯片可識(shí)別的文件,利用PC機(jī)寫(xiě)進(jìn)proteus程序圖芯片內(nèi)進(jìn)行仿真測(cè)試,并對(duì)其出現(xiàn)的錯(cuò)誤進(jìn)行修改,
33、由圖13圖14可看出最終調(diào)試成功。 圖13 keil編譯程序成功圖4.7 仿真成功密碼正確5.3 硬件調(diào)試 電源、晶振電路和復(fù)位電路都無(wú)異常。 Lcd焊接時(shí)的問(wèn)題:(1)接通電源后lcd無(wú)反應(yīng),各個(gè)引腳均屬正常。推斷可能是初始化程序出現(xiàn)問(wèn)題。(2)接通電源開(kāi)門(mén)燈和報(bào)警電路就會(huì)工作,分析原因是單片機(jī)剛開(kāi)始各個(gè)管腳輸出高電平。6 心得體會(huì)課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí),發(fā)現(xiàn),提出,分析和解決實(shí)際問(wèn)題,鍛煉實(shí)踐能力的重要環(huán)節(jié),是對(duì)學(xué)生實(shí)際工作能力的具體訓(xùn)練和考察過(guò)程.隨著科學(xué)技術(shù)發(fā)展的日新日異,單片機(jī)已經(jīng)成為當(dāng)今計(jì)算機(jī)應(yīng)用中空前活躍的領(lǐng)域, 在生活中可以說(shuō)得是無(wú)處不在。因此作為二十一世
34、紀(jì)的大學(xué)來(lái)說(shuō)掌握單片機(jī)的開(kāi)發(fā)技術(shù)是十分重要的?;仡櫰鸫舜螁纹瑱C(jī)課程設(shè)計(jì),至今我仍感慨頗多,的確,從選題到定稿,從理論到實(shí)踐,在整整兩星期的日子里,可以說(shuō)得是苦多于甜,但是可以學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過(guò)的知識(shí),而且學(xué)到了很多在書(shū)本上所沒(méi)有學(xué)到過(guò)的知識(shí)。通過(guò)這次課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來(lái),從理論中得出結(jié)論,才能真正為社會(huì)服務(wù),從而提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。在設(shè)計(jì)的過(guò)程中遇到問(wèn)題,可以說(shuō)得是困難重重,這畢竟第一次做的,難免會(huì)遇到過(guò)各種各樣的問(wèn)題,同時(shí)在設(shè)計(jì)的過(guò)程中發(fā)現(xiàn)了自己的不足之
35、處,對(duì)以前所學(xué)過(guò)的知識(shí)理解得不夠深刻,掌握得不夠牢固,對(duì)單片機(jī)匯編語(yǔ)言掌握得不好,通過(guò)這次課程設(shè)計(jì)之后,一定把以前所學(xué)過(guò)的知識(shí)重新溫故。這次課程設(shè)計(jì)終于順利完成了,在設(shè)計(jì)中遇到了很多編程問(wèn)題,在同學(xué)的幫助下,終于游逆而解。非常感謝!參考文獻(xiàn)01 何宏主編. 單片機(jī)原理與接口技術(shù). 北京:國(guó)防工業(yè)出版社. 2006.0702 楊西明, 朱騏主編 . 單片機(jī)編程與應(yīng)用入門(mén). 北京:機(jī)械工業(yè)出版社 .2004.06 03 先鋒工作室編著. 單片機(jī)程序設(shè)計(jì)實(shí)例. 北京: 清華大學(xué)出版社 .2003.0104 謝宜仁主編 . 單片機(jī)實(shí)用技術(shù)問(wèn)答. 北京:
36、 人民郵電出版社 . 2003.0205 房小翠,王金鳳編著. 單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù). 北京: 國(guó)防工業(yè)出版社 . 1999.0606 各種網(wǎng)絡(luò)教程及其他07 王寬仁. 可靠安全的智能密碼鎖. 電子技術(shù)應(yīng)用 , 200118 董繼成. 能防止多次試探密碼的單片機(jī)密碼鎖.國(guó)外電子元器件 , 2004, 3 09趙益丹,徐曉林,周振峰編著.電子密碼鎖的系統(tǒng)原理、設(shè)計(jì)程序及流程圖.嘉興學(xué)院學(xué)報(bào),2003,1510 張培仁. 基于 C語(yǔ)言編程 MCS- 51單片機(jī)原理與應(yīng)用. 北京: 清華大學(xué)出版社 , 2002.1211 李朝清. PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù). 北京:北京航空航
37、天大學(xué)出版社 , 1999.12 劉文濤.MCS-51單片機(jī)培訓(xùn)教程(C51)版.電子工業(yè)出版社,2005.8 附錄 電子密碼鎖整體設(shè)計(jì)圖附錄 電子密碼鎖程序源代碼#include <REG51.h>#include<intrins.h>#define LCM_Data P0#define uchar unsigned char #define uint unsigned int#define w 6sbit lcd1602_rs=P26;sbit lcd1602_en=P27;sbit Scl=P34;sbit Sda=P35;sbit ALAM = P21;sbit
38、 KEY = P36;sbit YY = P24; sbit open_led=P22;bit operation=0;bit pass=0;bit ReInputEn=0;bit s3_keydown=0;bit key_disable=0;unsigned char countt0,second;void Delay5Ms(void);unsigned char code a=0xFE,0xFD,0xFB,0xF7; unsigned char code start_line= "password: "unsigned char code name = "Co
39、ded Management" unsigned char code Correct = " correct " unsigned char code Error = " error "unsigned char code codepass= " pass " unsigned char code LockOpen= " true "unsigned char code SetNew = "SetNewWordEnable"unsigned char code Input = &quo
40、t;input: " unsigned char code ResetOK = "ResetPasswordOK "unsigned char code initword= "Init password."unsigned char code Er_try= "error,try again!"unsigned char code again= "input again "unsigned char InputData6;unsigned char CurrentPassword6=1,3,1,4,2,0
41、; unsigned char TempPassword6;unsigned char N=0;unsigned char ErrorCont;unsigned char CorrectCont;unsigned char ReInputCont; unsigned char num,flag=0;unsigned char code initpassword6=1,2,3,4,5,6;void Delay5Ms(void)unsigned int TempCyc = 5552;while(TempCyc-);void Delay400Ms(void) unsigned char TempCy
42、cA = 5; unsigned int TempCycB; while(TempCycA-) TempCycB=7269; while(TempCycB-); /=void mDelay(uint t) uchar i; while(t-) for(i=0;i<125;i+) ; void Nop(void) _nop_(); _nop_(); _nop_(); _nop_();void Start(void) Sda=1; Scl=1; Nop(); Sda=0; Nop();void Stop(void) Sda=0; Scl=1; Nop(); Sda=1; Nop();void
43、 Ack(void)Sda=0;Nop();Scl=1;Nop();Scl=0;void NoAck(void) Sda=1; Nop(); Scl=1; Nop(); Scl=0;void Send(uchar Data) uchar BitCounter=8; uchar temp; do temp=Data; Scl=0; Nop(); if(temp&0x80)=0x80) Sda=1; else Sda=0; Scl=1; temp=Data<<1; Data=temp; BitCounter-; while(BitCounter); Scl=0;uchar Re
44、ad(void) uchar temp=0;uchar temp1=0;uchar BitCounter=8;Sda=1;doScl=0;Nop();Scl=1;Nop();if(Sda)temp=temp|0x01;elsetemp=temp&0xfe;if(BitCounter-1)temp1=temp<<1;temp=temp1;BitCounter-;while(BitCounter);return(temp);void WrToROM(uchar Data,uchar Address,uchar Num) uchar i; uchar *PData; PData=
45、Data; for(i=0;i<Num;i+) Start(); Send(0xa0); Ack(); Send(Address+i); Ack(); Send(*(PData+i); Ack(); Stop(); mDelay(20); void RdFromROM(uchar Data,uchar Address,uchar Num) uchar i; uchar *PData; PData=Data; for(i=0;i<Num;i+) Start(); Send(0xa0); Ack(); Send(Address+i); Ack(); Start(); Send(0xa1
46、); Ack(); *(PData+i)=Read(); Scl=0; NoAck(); Stop(); #define yi 0x80 #define er 0x80+0x40 void delay(uint xms)uint x,y;for(x=xms;x>0;x-) for(y=110;y>0;y-);write_1602com(uchar com)lcd1602_rs=0;P0=com;delay(1);lcd1602_en=1;delay(1);lcd1602_en=0;write_1602dat(uchar dat)lcd1602_rs=1;P0=dat;delay(1
47、);lcd1602_en=1; delay(1);lcd1602_en=0; void lcd_init(void)write_1602com(0x38);write_1602com(0x0c);write_1602com(0x06);write_1602com(0x01);/=unsigned char coding(unsigned char m) unsigned char k;switch(m)case (0x18): k=1;break;case (0x28): k=2;break;case (0x48): k=3;break;case (0x88): k='A'br
48、eak;case (0x14): k=4;break;case (0x24): k=5;break;case (0x44): k=6;break;case (0x84): k='B'break;case (0x12): k=7;break;case (0x22): k=8;break;case (0x42): k=9;break;case (0x82): k='C'break;case (0x11): k='*'break;case (0x21): k=0;break;case (0x41): k='#'break;case (0
49、x81): k='D'break;return(k);/=unsigned char keynum(void) unsigned char row,col,i; P1=0xf0; if(P1&0xf0)!=0xf0) Delay5Ms(); Delay5Ms(); if(P1&0xf0)!=0xf0) row=P10xf0; i=0;P1=ai; while(i<4) if(P1&0xf0)!=0xf0) col=(P1&0xff); break; else i+; P1=ai; else return 0;while(P1&0xf0)!=0xf0);return (row|col); else return 0; /=void OneAlam(void)AL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全生產(chǎn)及崗位操作資格證明書(shū)(7篇)
- 2025年中學(xué)教師資格《綜合素質(zhì)》教育研究方法基礎(chǔ)理論與案例分析試題解析試卷
- 養(yǎng)殖禽畜繁育與產(chǎn)品銷(xiāo)售協(xié)議
- 家用燃?xì)庠O(shè)備安全監(jiān)測(cè)合作協(xié)議
- 2025年勞動(dòng)爭(zhēng)議處理與勞動(dòng)關(guān)系協(xié)調(diào)員(中級(jí))考試試卷
- 2025美甲師(美甲行業(yè)可持續(xù)發(fā)展)考試試卷分析
- 一次難忘的集體出游作文15篇范文
- 2025年洗板機(jī)項(xiàng)目提案報(bào)告
- 農(nóng)村社區(qū)生態(tài)保護(hù)補(bǔ)償協(xié)議
- 經(jīng)典古詩(shī)文閱讀感悟作文(14篇)
- 2023年陜西韓城象山中學(xué)高一物理第二學(xué)期期末聯(lián)考試題(含答案解析)
- DB4401-T 102.1-2020 建設(shè)用地土壤污染防治+第1部分:污染狀況調(diào)查技術(shù)規(guī)范-(高清現(xiàn)行)
- 倉(cāng)庫(kù)組長(zhǎng)崗位說(shuō)明書(shū)
- 農(nóng)業(yè)產(chǎn)業(yè)園可行性研究報(bào)告
- 實(shí)驗(yàn)2:基本數(shù)據(jù)類(lèi)型、運(yùn)算符與表達(dá)式
- 常州建筑水電安裝施工專(zhuān)項(xiàng)方案
- 增強(qiáng)教師職業(yè)認(rèn)同感、榮譽(yù)感、幸福感-課件
- Q∕GDW 12130-2021 敏感用戶(hù)接入電網(wǎng)電能質(zhì)量技術(shù)規(guī)范
- 幼兒園大班繪本:《沒(méi)有牙齒的大老虎》 PPT課件
- 黑龍江省龍東地區(qū)中考地理真題試題含答案
- 部編版四年級(jí)語(yǔ)文下冊(cè)《親愛(ài)的漢修先生》整本書(shū)導(dǎo)讀課件(共38張PPT)
評(píng)論
0/150
提交評(píng)論