版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè):基于單片機(jī)的電子密碼鎖畢業(yè)設(shè)計(jì)(完整版)資料(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)
畢業(yè):基于單片機(jī)的電子密碼鎖畢業(yè)設(shè)計(jì)(完整版)資料(可以直接使用,可編輯優(yōu)秀版資料,歡迎下載)本科畢業(yè)設(shè)計(jì)(論文)題目基于單片機(jī)的電子密碼鎖設(shè)計(jì)院(系部)河北大學(xué)專業(yè)名稱電子信息工程年級(jí)班級(jí)學(xué)生姓名指導(dǎo)教師2021年月日摘要本課題設(shè)計(jì)了一種基于單片機(jī)的數(shù)字電子密碼鎖,這種數(shù)字電子密碼鎖以單片機(jī)作為數(shù)據(jù)處理主控芯片。電子密碼鎖的設(shè)計(jì)主要由四部分組成:4×4矩陣鍵盤接口電路、以AT89S52芯片為核心的密碼鎖的數(shù)據(jù)處理及控制電路、掉電情況下依然能保存密碼的EEPROM存儲(chǔ)器芯片,輸出七段顯示電路。另外系統(tǒng)還有LED提示燈,報(bào)警蜂鳴器,單片機(jī)復(fù)位電路等。電子密碼鎖設(shè)計(jì)的關(guān)鍵問(wèn)題是實(shí)現(xiàn)密碼的輸入、清除、開(kāi)鎖、更改等功能。同時(shí)該密碼鎖具有設(shè)計(jì)方法合理,簡(jiǎn)單易行,成本低,安全實(shí)用等特點(diǎn),符合住宅,辦公室等場(chǎng)所的用鎖要求,具有推廣價(jià)值。關(guān)鍵詞單片機(jī)密碼鎖4*4矩陣鍵盤EEPROM存儲(chǔ)芯片實(shí)用經(jīng)濟(jì)AbstractThisprojectdesignedadigitalelectroniclockwhichusedaMCUasdataprocessandcontrolchip.Themainfunctionsdigitalelectroniclockareasfollows:Thedesignoftheelectronicpasswordlockismainlymadeupoffourparts:4×4matrixkeyboardinterfacecircuit,dataprocessingandcontrolcircuit,eeprommemorychipthatisusedtokeeppasswordwhenthelocklosespoweranddisplaycircuit.InadditionthesystemalsoconsistsofLEDlights,alarmbuzzers,single-chipresetcircuitandsoon..Thekeyquestionoftheelectroniclockdesigningistherealizationoffunctions,suchastheinputpassword,clearpassword,unlock,changepasswordandotherfunctions.Andthedesignedcipherlockischaracterizedbyitsreasonabledesigningmethods,simpleoperation,lowcostandpropertyofsafetyandpracticality.Besides,itworkswellasaresidencelockandhasgreatpotentialforcommercialdevelopment.Keywords:SCMCipherlock4*4matrixkeyboardEEPROMPracticaleconomy目錄1緒論 11.1國(guó)內(nèi)外研究綜述 11.2選題的目的和意義 21.3本論文的任務(wù) 32電子密碼鎖總體設(shè)計(jì) 42.1系統(tǒng)總體設(shè)計(jì) 42.2單片機(jī) 52.3密碼存儲(chǔ)芯片選擇 62.4鍵盤輸入方案比較 82.5顯示方案比較 103電子密碼鎖的硬件設(shè)計(jì) 123.1系統(tǒng)結(jié)構(gòu)框圖 123.2主控部分 133.3顯示部分 133.4鍵盤輸入部分 143.5密碼存儲(chǔ)部分 153.6電源部分 163.7其它功能部分 183.8電子密碼鎖的電路原理圖 214電子密碼鎖的軟件組成 224.1系統(tǒng)軟件設(shè)計(jì)流程 224.2KeiluVision2軟件介紹 234.3各主要部分的功能實(shí)現(xiàn)程序設(shè)計(jì) 24初始化程序設(shè)計(jì) 24按鍵處理程序設(shè)計(jì) 27密碼更改程序設(shè)計(jì) 315系統(tǒng)仿真 345.1系統(tǒng)仿真過(guò)程 345.2仿真調(diào)試中遇到的問(wèn)題及解決辦法 35總結(jié) 36致謝 37參考文獻(xiàn) 38附錄 391緒論1.1國(guó)內(nèi)外研究綜述在電子鎖出現(xiàn)以前人們廣泛的使用機(jī)械鎖,但是隨著時(shí)間的推移機(jī)械鎖已不能滿足人們的要求,于是電子鎖應(yīng)用而生。以前由于電子器件所限,開(kāi)發(fā)的電子密碼鎖種類不多,保密性差,最基本的就是只依靠最簡(jiǎn)單的模擬電子開(kāi)關(guān)來(lái)實(shí)現(xiàn)的,制作雖簡(jiǎn)單但很不安全。現(xiàn)在電子鎖的技術(shù)可以說(shuō)是時(shí)時(shí)的在進(jìn)步,出現(xiàn)了很多性能強(qiáng),安全可靠的新型電子鎖。如:遙控式電子密碼鎖,卡式電子鎖,生物特征電子鎖等。但是應(yīng)用廣泛的還是鍵盤式電子密碼鎖。遙控式電子密碼鎖:優(yōu)點(diǎn)是傳輸信息量可以很大、速度極快、人眼識(shí)別不出來(lái),又無(wú)法在光路徑上用儀器捕獲信號(hào)進(jìn)行復(fù)制,因此保密性極高。缺點(diǎn)是需要隨身保管遙控器即鑰匙,對(duì)于某些方面來(lái)說(shuō)不是很實(shí)用??ㄊ矫艽a鎖:能夠在卡中存儲(chǔ)大量的個(gè)人信息,即容量非常的大,并且可以實(shí)現(xiàn)一卡多用。但是卡式密碼鎖也有很大的缺陷,開(kāi)鎖用的卡很可能受到一些電子產(chǎn)品的磁干擾,出現(xiàn)“失效”;同時(shí)卡也很容易被丟失,丟失了卡就需要盡快的取消卡的授權(quán),一面?zhèn)€人的重要信息丟失,這個(gè)過(guò)程也是相當(dāng)麻煩的。生物特征電子鎖:人的某些與生俱來(lái)的個(gè)性特征(如手、眼睛、聲音的特征)幾乎不可重復(fù),作為“鑰匙”就是唯一的。但是生物特征電子鎖需要大量的個(gè)人身體上的信息,這就使其處理上會(huì)變得復(fù)雜,這也確定了生物特征電子鎖目前僅適用于極個(gè)別的行業(yè)。鍵盤式電子鎖:主要依靠的是鍵盤輸入密碼驗(yàn)證,不需要攜帶專一的“鑰匙”,只需要記住密碼即可。鍵盤式電子鎖有采用數(shù)字電路控制的,但控制的準(zhǔn)確性和靈活性比較的差;有以單片機(jī)為核心的鍵盤式電子鎖,它的性能比較的穩(wěn)定,而且性價(jià)比也比較的高,受到了廣泛的關(guān)注。盡管新式電子防盜鎖層出不窮,但鍵盤式電子密碼鎖仍然“老樹(shù)發(fā)新芽”,在市場(chǎng)上居于主流地位。伴隨著科學(xué)技術(shù)的發(fā)展,電子的應(yīng)用技術(shù)的提高,又出現(xiàn)了一些帶有微型處理器的智能電子鎖,它除了具有電子密碼鎖的功能外,還引入了智能化管理的功能,從而使電子密碼鎖具有更高的安全性和可靠性。目前發(fā)達(dá)國(guó)家大規(guī)模使用的智能門禁系統(tǒng),就是一種使用多種更加安全,可靠方法來(lái)實(shí)現(xiàn)大門管理的新型電子密碼鎖。發(fā)達(dá)國(guó)家的電子密碼鎖技術(shù)已經(jīng)相當(dāng)?shù)某墒?,智能化、集成化程度很高。而我?guó)的應(yīng)用還不是很廣泛,一般應(yīng)用在一些高級(jí)的場(chǎng)所之中,例如銀行的保險(xiǎn)柜、保險(xiǎn)箱、高級(jí)酒店等,家居應(yīng)用很少。我國(guó)的電子密碼鎖的技術(shù)也是比較落后的,不是很成熟。開(kāi)發(fā)的密碼鎖大多采用的是普通的數(shù)字電路設(shè)計(jì)生產(chǎn)的,與機(jī)械鎖相比較的確存在著很多的優(yōu)點(diǎn),但智能化的程度不高,編碼的組合很少。1.2選題的目的和意義在我們的日常生活中,經(jīng)常會(huì)遇到一些地方需要進(jìn)行防護(hù),而這些地方的防護(hù)多是以使用各種各樣的鎖來(lái)進(jìn)行的。常見(jiàn)的大致有兩個(gè)大的方面,一種是機(jī)械鎖,一種是電子密碼鎖鎖。傳統(tǒng)簡(jiǎn)單的機(jī)械鎖一般是結(jié)構(gòu)比較的簡(jiǎn)單,很容易遭到外部的破壞,而機(jī)密復(fù)雜的大型機(jī)械鎖又比較的笨重,不適合大眾的需要。在科學(xué)技術(shù)不斷發(fā)展的今天,電子密碼鎖已經(jīng)受到了越來(lái)越多的關(guān)注。電子密碼鎖具有保密性高,無(wú)靈活零件,不會(huì)磨損,壽命長(zhǎng),靈活性好等特點(diǎn)。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。但是電子密碼鎖也存在著缺陷1.價(jià)格比較的昂貴;2推廣性不強(qiáng)?,F(xiàn)在采用單片機(jī)制作的電子鎖就克服了這些缺陷。單片機(jī)具有體積小、功能強(qiáng),性價(jià)比高等特點(diǎn),廣泛應(yīng)用于電子產(chǎn)品?;趩纹瑱C(jī)的電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。本次選題的就是設(shè)計(jì)一種基于單片機(jī)控制的具有本機(jī)開(kāi)鎖和報(bào)警功能的電子密碼鎖,在電子密碼鎖的顯示和鍵盤輸入有方案的比較,使電子密碼鎖更加的實(shí)用經(jīng)濟(jì),能夠?qū)嶋H生活中得到廣泛的應(yīng)用。用單片機(jī)制作的電子鎖有以下的特點(diǎn):1.保密性好,采用的是多位密碼輸入。2.破解保護(hù),能夠及時(shí)的鎖定鍵盤報(bào)警。3.界面簡(jiǎn)潔,密碼操作也非常簡(jiǎn)單。1.3本論文的任務(wù)本設(shè)計(jì)的電子密碼鎖的實(shí)現(xiàn)是基于單片機(jī)的,任務(wù)及工作如下:1、在Proteus軟件環(huán)境中進(jìn)行硬件電路圖的設(shè)計(jì)。2、在Keil軟件環(huán)境中進(jìn)行系統(tǒng)的軟件編程,并進(jìn)行程序源文件的編譯和調(diào)試,最后生成.hex文件。此.hex文件是硬件電路運(yùn)行實(shí)現(xiàn)的源代碼來(lái)源。3、把.hex文件加載到單片機(jī)芯片,然后在Proteus軟件環(huán)境中運(yùn)行硬件電路。2電子密碼鎖總體設(shè)計(jì)2.1系統(tǒng)總體設(shè)計(jì)本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤、LED數(shù)碼管顯示和密碼存儲(chǔ)等部分組成。其中矩陣鍵盤用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過(guò)連接單片機(jī)的矩陣鍵盤輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行對(duì)比,從而判斷密碼是否正確,然后控制引腳的高低電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,實(shí)際使用時(shí)只要將單片機(jī)的負(fù)載由繼電器換成電子密碼鎖的電磁鐵吸合線圈即可,當(dāng)然也可以用繼電器的常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。其設(shè)計(jì)原理框圖如圖2.1所示:?jiǎn)纹瑱C(jī)單片機(jī)顯示部分其它部分鍵盤輸入部分密碼存儲(chǔ)部分圖2.1原理框圖單片機(jī):本部分的功能包括寫入和讀取各種控制命令及數(shù)據(jù)處理,同時(shí)還要對(duì)各執(zhí)行單元進(jìn)行控制。單片機(jī)是整個(gè)系統(tǒng)的控制核心及數(shù)據(jù)處理核心。鍵盤部分:本部分由用戶通過(guò)鍵盤輸入各種信息送入到單片機(jī)進(jìn)行處理。顯示部分:本部分完成的是單片機(jī)處理后的數(shù)據(jù)和信息的顯示以及系統(tǒng)提示信息的顯示。密碼存儲(chǔ)部分:本部分完成存儲(chǔ)原始密碼和用戶更改密碼數(shù)據(jù)的功能。其它部分:本部分的目的是為了提高系統(tǒng)的可用性和實(shí)用性。主要包括電源部分、復(fù)位部分、晶振部分、開(kāi)鎖部分和報(bào)警部分。電源部分主要的功能是為單片機(jī)提供適當(dāng)?shù)墓ぷ麟娫?,同時(shí)也為其它的部分提供電源。復(fù)位部分功能是使單片機(jī)在出現(xiàn)故障時(shí)進(jìn)行成功的復(fù)位。晶振部分功能是給單片機(jī)提供時(shí)鐘。開(kāi)鎖部分主要是根據(jù)單片機(jī)數(shù)據(jù)處理的結(jié)果驅(qū)動(dòng)繼電器控制開(kāi)鎖的操作。報(bào)警部分主要的功能就是在錯(cuò)誤操作下實(shí)現(xiàn)報(bào)警提示。2.2單片機(jī)選擇單片機(jī)的種類繁多,各種型號(hào)都有其一定的應(yīng)用環(huán)境,因此在選用時(shí)要多加比較,合理選擇,以期獲得最佳的性價(jià)比。在多數(shù)的電子設(shè)計(jì)中,基于性價(jià)比的考慮,8位單片機(jī)為首選。8位單片機(jī)中以MCS-51系列單片機(jī)及其兼容機(jī)所占的份額最大。MCS-51的硬件結(jié)構(gòu)決定了其指令系統(tǒng)不會(huì)發(fā)生變化。因此在對(duì)不同公司的單片機(jī)進(jìn)行選型時(shí),只需要比較芯片內(nèi)部資源即可。在以前的電子設(shè)計(jì)中,應(yīng)用比較廣泛的是AT89C51單片機(jī),但是該單片機(jī)存在著致命的缺陷不支持ISP功能。Atmel公司現(xiàn)在已停止了AT89C51的生產(chǎn),而加上了ISP功能的AT89S51、AT89S52誕生了。AT89S系列單片機(jī)在工藝上進(jìn)行了改進(jìn),采用了0.35mm的新工藝,不但降低了成本,而且增加了功能,提升了單片機(jī)的性能,提高了市場(chǎng)競(jìng)爭(zhēng)力。AT89S系列單片機(jī)新增了許多功能,性能也有了較大的提升,但是價(jià)格仍舊與AT89C系列的價(jià)格相差不大。新增的功能之中最具影響力的就是ISP在線編程功能,這個(gè)功能的優(yōu)勢(shì)在于,改寫單片機(jī)Flash存儲(chǔ)器內(nèi)的程序時(shí)不需要把芯片從工作環(huán)境中剝離,是一個(gè)強(qiáng)大易用的功能。顯然,AT89S系列單片機(jī)在性能上要比AT89C系列的單片機(jī)優(yōu)良的多,而且價(jià)格也沒(méi)有什么提高。所以選擇AT89S系列作為本系統(tǒng)的的主控部分。而AT89S系列中的89S51和89S52在實(shí)際應(yīng)用中最多,本設(shè)計(jì)中軟件部分需要大量的程序編程,89S51內(nèi)的程序存儲(chǔ)器太小,不能滿足要求,因此選擇AT89S系列的AT89S52作為本設(shè)計(jì)的主控部分。AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用Atmel公司高密度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,AT89S52可降至0Hz靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。AT89S52引腳圖如圖2.2所示:圖2.2AT89S52引腳圖AT89S52引腳功能說(shuō)明如下:VCC:電源電壓GND:地P0口:P0口是一個(gè)8位漏極開(kāi)路的雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。當(dāng)訪問(wèn)外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0內(nèi)部上拉電阻被激活。在flash編程時(shí),P0口也用來(lái)接收指令字節(jié);在程序校驗(yàn)時(shí),輸出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。P1口:P1口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P1輸出緩沖器能驅(qū)動(dòng)(吸收或輸出電流)4個(gè)TTL邏輯門電平。對(duì)P1端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。P1端口引腳的第二功能如表1所示表1P1端口引腳的第二功能端口引腳第二功能P1.0T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出P1.1T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制)P1.5MOSI(在系統(tǒng)編程用)P1.6MISO(在系統(tǒng)編程用)P1.7SCK(在系統(tǒng)編程用)P2口:P2口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P2端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問(wèn)外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX@DPTR)時(shí),P2口送出高八位地址。在這種應(yīng)用中,P2口使用很強(qiáng)的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX@RI)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。P3口:P3口是一個(gè)具有內(nèi)部上拉電阻的8位雙向I/O口,P3輸出緩沖器能驅(qū)動(dòng)4個(gè)TTL邏輯電平。對(duì)P3端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(TTL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。如表2所示:表2端口引腳第二功能端口引腳第二功能P3.0RXD(串行輸入口)P3.4TO(定時(shí)/計(jì)數(shù)器0)P3.1TXD(串行輸出口)P3.5T1(定時(shí)/計(jì)數(shù)器1)P3.2INTO(外中斷0)P3.6WR(外部數(shù)據(jù)存儲(chǔ)器寫選通)P3.3INT1(外中斷1)P3.7RD(外部數(shù)據(jù)存儲(chǔ)器讀選通)此外,P3口還接收一些用于FLASH閃存編程和程序校驗(yàn)的控制信號(hào)。RST——復(fù)位輸入。當(dāng)振蕩器工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期以上高電平將使單片機(jī)復(fù)位。WDT溢出將使該引腳輸出高電平,設(shè)置SFRAUXR的DISRTO位(地址8EH)可打開(kāi)或關(guān)閉該功能。DISRTO位缺省為RESET輸出高電平打開(kāi)狀態(tài)。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脈沖。如有必要,可通過(guò)對(duì)特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會(huì)被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE禁止位無(wú)效。PSEN——程序儲(chǔ)存允許(PSEN)輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)AT89S52由外部程序存儲(chǔ)器取指令(或數(shù)據(jù))時(shí),每個(gè)機(jī)器周期兩次PSEN有效,即輸出兩個(gè)脈沖,在此期間,當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器,將有兩次有效的PSEN信號(hào)。EA/VPP——外部訪問(wèn)允許,欲使CPU僅訪問(wèn)外部程序存儲(chǔ)器(地址為0000H-FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內(nèi)部程序存儲(chǔ)器的指令。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。2.3密碼存儲(chǔ)芯片選擇本部分主要是論證密碼存儲(chǔ)芯片的選型。存儲(chǔ)器的類型按功能分只讀存儲(chǔ)器(Read-OnlyMemory,簡(jiǎn)稱ROM)和隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,簡(jiǎn)稱RAM)。隨機(jī)存取存儲(chǔ)器與只讀存儲(chǔ)器的根本區(qū)別在于:隨機(jī)存儲(chǔ)器在正常工作狀態(tài)時(shí)可隨時(shí)向存儲(chǔ)器里寫入數(shù)據(jù)或從中讀出數(shù)據(jù),在存儲(chǔ)器斷電后信息全部丟失。只讀存儲(chǔ)器又分為固定掩膜存儲(chǔ)器和可編程存儲(chǔ)器。固定掩膜存儲(chǔ)器在生產(chǎn)時(shí)就根據(jù)用戶的要求把數(shù)據(jù)和程序固化其中,其中的內(nèi)容用戶不可以再修改,只能讀出。而可編程存儲(chǔ)器便于用戶根據(jù)自己的需要來(lái)寫入特定的信息,根據(jù)存儲(chǔ)矩陣中存儲(chǔ)單元電路的結(jié)構(gòu)不同,可編程的ROM有PROM、EPROM和EEPROM等三種。PROM的編程是由用戶而不是生產(chǎn)廠家完成,增加了靈活性,但編程是一次性的,且可靠性較差,目前已很少使用。EPROM作為一種可以多次擦除和重寫的ROM,克服了掩膜式ROM和PROM只能一次性寫入的缺點(diǎn),滿足了實(shí)際工作中需要多次修改程序或數(shù)據(jù)的可能,前提條件是存儲(chǔ)矩陣中現(xiàn)有的程序或數(shù)據(jù)必須首先擦除。EPROM的擦除和編程寫入是采用專門的編程器設(shè)備完成的,并且擦除的周期比較的長(zhǎng)。電可擦除可編程只讀存儲(chǔ)器EEPROM也稱E2PROM。與EPROM擦除時(shí)把整個(gè)芯片的內(nèi)容全變成“1”不同,EEPROM的擦除可以按字節(jié)分別進(jìn)行,且字節(jié)的編程和擦除都只需10ms,并且不需要將芯片從機(jī)器上拔下以及諸如用紫外線光源照射等特殊操作,可以在線進(jìn)行擦除和編程寫入。因此根據(jù)設(shè)計(jì)的要求,采用的是EEPROM。常見(jiàn)的EEPROM芯片有28256、AT24C系列,28256的EEPROM引腳比較多,功能比較的多,且容量太大,而本設(shè)計(jì)的存儲(chǔ)器只是存儲(chǔ)密碼數(shù)據(jù),不需要很多的功能和很大的容量,因而選用的是AT24C系列的EEPROM。常用的AT24C系列如下表3所示:表3AT24C系列EEPROM對(duì)比表EEPROM型號(hào)AT24C02AT24C08AT24C16容量(bytes)2K8K16K頁(yè)大小(bytes)81616總頁(yè)面數(shù)3264128地址位(bits)888本設(shè)計(jì)中存儲(chǔ)的數(shù)據(jù)不多,因此選用AT24C02即可滿足要求。AT24C02是美國(guó)Atmel公司的低功耗CMOS型EEPROM,內(nèi)含256×8位存儲(chǔ)空間,具有工作電壓寬(2.5~5.5V)、擦寫次數(shù)多(大于10000次)、寫入速度快(小于10ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易丟失、體積小、掉電情況下可以繼續(xù)保存數(shù)據(jù)等特點(diǎn)。AT24C02芯片作為系統(tǒng)的從器件,它與主器件之間的通信遵循I2C總線協(xié)議,I2C總線協(xié)議規(guī)定,任何將數(shù)據(jù)傳送到總線的器件作為發(fā)送器。任何從總線接受數(shù)據(jù)的器件為接收器。數(shù)據(jù)傳送是由產(chǎn)生串行時(shí)鐘和所有起始停止信號(hào)的主器件控制的。主器件和從器件都可以作為發(fā)送器或者是接收器。AT24C02的引腳如圖2.3所示:圖2.3AT24C02的引腳引腳的功能:串行時(shí)鐘(SCL):用于產(chǎn)生器件所有數(shù)據(jù)發(fā)送或接收的時(shí)鐘。串行數(shù)據(jù)/地址(SDA):用于器件所有數(shù)據(jù)的發(fā)送或接收,SDA是一個(gè)開(kāi)漏輸出管腳,可與其它開(kāi)漏輸出或集電極開(kāi)路輸出進(jìn)行線。器件地址輸入端(A0、A1和A2):用于多個(gè)器件級(jí)聯(lián)時(shí)設(shè)置器件地址,當(dāng)有多個(gè)從器件連接在I2C總線上時(shí),此端口用于選擇不同的從器件。本次設(shè)計(jì)中三個(gè)引腳全部接地。寫保護(hù)(WP):如果WP管腳連接到VCC,所有的內(nèi)容都被寫保護(hù)(只能讀)。當(dāng)WP管腳連接地線或懸空,允許器件進(jìn)行正常的讀/寫操作。2.4鍵盤輸入方案比較鍵盤輸入是現(xiàn)階段電子設(shè)計(jì)中最常用、最實(shí)用的輸入設(shè)備。設(shè)計(jì)中常用的鍵盤輸入方案有兩種:獨(dú)立式鍵盤、矩陣式鍵盤。獨(dú)立式鍵盤獨(dú)立式按鍵是指直接用I/O口線構(gòu)成的單個(gè)按鍵的電路。每個(gè)獨(dú)立式按鍵單獨(dú)占有一根I/O口線,每個(gè)按鍵的工作狀態(tài)都是獨(dú)立的不會(huì)影響到其他的按鍵的工作狀態(tài)。獨(dú)立式按鍵的電路如圖2.4所示:圖2.4獨(dú)立式按鍵電路原理圖通常獨(dú)立式鍵盤的按鍵輸入都采用低電平有效,上拉電阻保證了按鍵的斷開(kāi),I/O口線有確定的高電平。獨(dú)立式按鍵電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,但是每個(gè)按鍵都需要獨(dú)立的I/O口,如果按鍵的數(shù)量較多的時(shí)候,I/O就會(huì)造成極大的浪費(fèi)。矩陣式鍵盤行列式鍵盤又叫矩陣式鍵盤。用I/O口線組成行列結(jié)構(gòu),按鍵位于行列的交點(diǎn)位置上。矩陣式鍵盤電路原理如圖2.5所示:圖2.5矩陣式鍵盤電路原理圖本次設(shè)計(jì)中電子密碼鎖的鍵盤中,出去0-9的數(shù)字鍵外,還需要一些輔助的功能鍵,總體上來(lái)說(shuō)按鍵的數(shù)量是相當(dāng)?shù)亩嗟?。采用?dú)立式按鍵的方案,會(huì)對(duì)單片機(jī)的I/O口造成很大的浪費(fèi);采用矩陣式的按鍵方案就比較的適用于本次設(shè)計(jì)。2.5顯示方案比較設(shè)計(jì)中常用的輸出顯示設(shè)備有兩種:數(shù)碼管和LCDLCD顯示方案LCD是一種被動(dòng)式的顯示器,利用液晶能改變光線通過(guò)方向的特性,來(lái)達(dá)到顯示的目的。LCD顯示清晰美觀,具有功能低、抗干擾能力強(qiáng)的優(yōu)點(diǎn),廣泛應(yīng)用于儀器儀表、控制系統(tǒng)等。液晶顯示器的驅(qū)動(dòng)方式由電極引線的選擇方式確定,選擇了液晶顯示器之后便無(wú)法改變驅(qū)動(dòng)的方式。當(dāng)LCD顯示筆端上兩個(gè)電極電壓相位相同時(shí),兩電極之間的電位差為0,該字段就不顯示;當(dāng)兩個(gè)電極電壓的相位相反時(shí),兩電極之間的電位差為兩倍的方波電壓,該字段顯示。其原理電路如圖2.6所示:圖2.6原理電路數(shù)碼管顯示方案七段數(shù)碼管顯示器是有8個(gè)發(fā)光二極管組成的(a,b,c,d,e,f,g),LED七段數(shù)碼管的顯示即相應(yīng)的發(fā)光二極管導(dǎo)通或者是截?cái)?不同的組合等到的字符顯示不一樣的。數(shù)碼管顯示的數(shù)據(jù)內(nèi)容比較的直觀,一個(gè)數(shù)碼管可以顯示一位,多個(gè)數(shù)碼管就可以顯示多位,且程序設(shè)計(jì)和外圍電路設(shè)計(jì)都十分的簡(jiǎn)單。數(shù)碼管顯示的每一位都需要有一個(gè)8位輸出口控制,當(dāng)需要較多的數(shù)碼管顯示的時(shí)候,單片機(jī)如果要直接控制各個(gè)數(shù)碼管的顯示是不可能的,因?yàn)闆](méi)有足夠的I/O口線進(jìn)行控制。通常采用串口發(fā)送數(shù)據(jù),然后用串行輸入并行輸出的移位寄存器來(lái)驅(qū)動(dòng)數(shù)碼顯示器。實(shí)際應(yīng)用中,簡(jiǎn)單的可以使用三極管來(lái)驅(qū)動(dòng),但是本設(shè)計(jì)為了使顯示更加的穩(wěn)定,采用的是74HC164串行移位寄存器來(lái)驅(qū)動(dòng)。本次設(shè)計(jì),顯示的東西不需要很復(fù)雜,信息也較少,用數(shù)碼管顯示完全可以滿足要求,而使用LCD顯示成本可能會(huì)比較的高,所以采用數(shù)碼管顯示。3電子密碼鎖的硬件設(shè)計(jì)本部分主要介紹基于AT89S52單片機(jī)的電子密碼鎖的硬件設(shè)計(jì)。系統(tǒng)的硬件部分由鍵盤輸入部分、密碼存儲(chǔ)部分、顯示部分、電源輸入部分、復(fù)位部分、晶振部分、報(bào)警部分、開(kāi)鎖部分組成。3.1系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)以AT89S52單片機(jī)作為數(shù)據(jù)和控制部分;以矩陣鍵盤輸入作為鍵盤輸入部分的方式;數(shù)碼管顯示作為數(shù)據(jù)輸出顯示部分;由繼電器控制電磁閥動(dòng)作的開(kāi)鎖電路作為開(kāi)鎖部分;蜂鳴器作為報(bào)警部分,系統(tǒng)的硬件結(jié)構(gòu)框圖如圖3.1所示:AT89S52鍵盤輸入復(fù)位電路密碼存儲(chǔ)電路晶振電路AT89S52鍵盤輸入復(fù)位電路密碼存儲(chǔ)電路晶振電路電源輸入顯示電路報(bào)警電路開(kāi)鎖電路圖3.1系統(tǒng)的硬件結(jié)構(gòu)圖3.2主控部分本次設(shè)計(jì)中,選用Ateml公司的51系列單片機(jī)AT89S52芯片作為電子密碼鎖的數(shù)據(jù)處理及操作控制芯片。只有單片機(jī)芯片是無(wú)法完成數(shù)據(jù)處理及控制功能的,必須有附加的電路,使單片機(jī)芯片組成一個(gè)可運(yùn)行的系統(tǒng)才能實(shí)現(xiàn)其功能。本次設(shè)計(jì),由AT89S52單片機(jī)連同附加電路構(gòu)成的單片機(jī)最小系統(tǒng)作為主控。電路圖如圖3.2所示:圖3.2最小系統(tǒng)3.3顯示部分電子密碼鎖采用數(shù)碼管進(jìn)行顯示,經(jīng)過(guò)單片機(jī)處理過(guò)的數(shù)據(jù)信息都由數(shù)碼管進(jìn)行顯示。單片機(jī)數(shù)據(jù)傳輸采用串行方式,數(shù)據(jù)通過(guò)單片機(jī)的串行數(shù)據(jù)口P3.0(RXD)進(jìn)行發(fā)送,接著應(yīng)用74HC164串行移位寄存器把串行的數(shù)據(jù)轉(zhuǎn)換成8位的并行數(shù)據(jù),驅(qū)動(dòng)LED數(shù)碼管。74HC164芯片中,沒(méi)有數(shù)據(jù)鎖存器,使串行數(shù)據(jù)每到達(dá)一位,直接就被送到數(shù)碼管中,造成數(shù)據(jù)顯示不穩(wěn)定。為了使數(shù)據(jù)顯示穩(wěn)定,在移位寄存器和數(shù)碼管之間加入數(shù)據(jù)鎖存器,來(lái)穩(wěn)定數(shù)碼管的數(shù)據(jù)顯示。顯示部分如圖3.3所示:圖3.3顯示部分電路圖3.4鍵盤輸入部分在電子密碼鎖中各種信息的輸入都是通過(guò)鍵盤輸入部分完成的。把單個(gè)按鍵按照4*4組成鍵盤,四條行線連接到單片機(jī)的P1.0-P1.3四條I/O口線上,四條列線連接到單片機(jī)的P1.4-P1.7四條I/O口線上,運(yùn)行的時(shí)候,單片機(jī)通過(guò)控制P1口得高低電平,然后根據(jù)變化進(jìn)行判斷。單片機(jī)向行線輸入高電平,向列線輸入低電平,按鍵未被按下之前保持電平給定不變,按鍵按下,行線的高電平變成低電平。同樣對(duì)列線進(jìn)行判定,即可判斷所輸入的信息。鍵盤部分的電路連接如圖3.4所示:圖3.4鍵盤部分電路圖3.5密碼存儲(chǔ)部分在電子密碼鎖中,存入的密碼是需要永久的保存的。在設(shè)計(jì)中采用了在掉電的情況下依然能夠保存數(shù)據(jù)的EEPROM存儲(chǔ)芯片24C02存儲(chǔ)密碼。設(shè)計(jì)的密碼鎖因?yàn)橹恍枰鎯?chǔ)6位密碼,數(shù)據(jù)量很小,所以24C02的地址選擇端口直接接地,時(shí)鐘輸入端口(SCK)和數(shù)據(jù)輸入端口(SDA)和單片機(jī)的相連即可。電路連接如圖3.5所示:圖3.5密碼存儲(chǔ)部分電路圖3.6電源部分密碼鎖主控制部分電源需要用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)定性足夠高的直流電壓。為了防止停電情況的發(fā)生,本電路后備了UPS電源,它包括市電供電電路,停電檢測(cè)電路,電子開(kāi)關(guān)切換電路,蓄電池充電電路和蓄電池組成。主電源如圖3.6所示:圖3.6主電路圖220V市電通過(guò)變壓器降壓成12V的交流電,再經(jīng)過(guò)整流橋整流,7805穩(wěn)壓到5V送往電子切換電路,由于本電路功耗較少,所以選用10W的小型變壓器。由R2,R3,R4,R5及J1構(gòu)成電壓比較器,正常情況下,V+<V-J1輸出高電平,繼電器的常閉觸點(diǎn)和市電相連;當(dāng)市電斷開(kāi),V+>V-J6時(shí),由Q1,Q2構(gòu)成的達(dá)林頓管使繼電器K1開(kāi)啟,將其常開(kāi)觸電將蓄電池和電路相連,實(shí)現(xiàn)市電和蓄電池供電的切換,保證電子密碼鎖的正常工作(視電池容量而定持續(xù)時(shí)間)。Q3,Q4構(gòu)成的蓄電池自動(dòng)充電電路,它在電池充滿后自動(dòng)停止充電,其中D5亮為正在充電,D7為工作指示。由R8,R11,Q4構(gòu)成電壓檢測(cè)電路,蓄電池電壓低,則Q3,Q4導(dǎo)通,實(shí)現(xiàn)對(duì)其充電;充滿后,Q3,Q4截止,停止充電,同時(shí)D5熄滅,電路中C6的作用是濾除干擾信號(hào)。如圖3.7、3.8所示:圖3.7停電檢測(cè)及電子開(kāi)關(guān)切換電路圖3.8蓄電池自動(dòng)充放電電路3.7其它功能部分密碼鎖系統(tǒng)中主要的為以上的幾個(gè)部分,但是為了使系統(tǒng)更加的完善,還需要一些附加的部分。復(fù)位部分單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其它功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,單片機(jī)剛開(kāi)始接上電源,斷電或者是發(fā)生故障時(shí)都需要復(fù)位。單片機(jī)的復(fù)位輸入RST腳持續(xù)兩個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位。復(fù)位部分如圖3.9所示:圖3.9復(fù)位部分電路報(bào)警部分報(bào)警部分是由陶瓷壓電發(fā)聲裝置及外圍電路組成。當(dāng)密碼輸入不正確是會(huì)發(fā)出警報(bào)。報(bào)警電路如圖3.10所示:圖3.10報(bào)警電路晶振部分本部分是為單片機(jī)提供時(shí)鐘控制信號(hào),采用的電路是外接晶振和電容組成的并聯(lián)諧振回路。AT89S52引腳XTAL1和XTAL2與晶體振蕩器及電容C2、C1按圖4-7所示方式連接。晶振、電容C1、C2及片內(nèi)與非門(作為反饋、放大元件)構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在0~33MHz之間,電容C1、C2取值范圍在5~30pF之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ做為系統(tǒng)的外部晶振。電容取值為20pF。如圖3.11所示:圖3.11晶振部分電路開(kāi)鎖部分當(dāng)輸入正確的密碼的時(shí)候,單片機(jī)的其中一個(gè)引腳線發(fā)出信號(hào),經(jīng)過(guò)三極管放大后,由繼電器驅(qū)動(dòng)電磁閥動(dòng)作將鎖打開(kāi)。同時(shí)綠色的指示燈將會(huì)點(diǎn)亮。開(kāi)鎖電路如圖3.12所示:圖3.12開(kāi)鎖電路3.8電子密碼鎖的電路原理圖根據(jù)系統(tǒng)所需要實(shí)現(xiàn)的功能,進(jìn)行的原理圖設(shè)計(jì)如圖3.13所示:圖3.13電子密碼鎖的電路原理圖4電子密碼鎖的軟件組成4.1系統(tǒng)軟件設(shè)計(jì)流程本設(shè)計(jì)的軟件程序設(shè)計(jì)主要有(1)初始化程序(2)按鍵功能實(shí)現(xiàn)程序(3)密碼修改程序(4)報(bào)警程序等組成。系統(tǒng)的總體流程圖如圖4.1所示:開(kāi)始開(kāi)始初始化,設(shè)置密碼等待輸入計(jì)算鍵值是CLR?是否是確認(rèn)鍵?否存鍵值首次按鍵?已輸6位?是否否密碼右移是計(jì)數(shù)值減1報(bào)警是是否比較密碼正確?開(kāi)鎖密碼左移計(jì)數(shù)值加1圖4.1系統(tǒng)的總體流程圖4.2KeiluVision2軟件介紹單片機(jī)開(kāi)發(fā)中除必要的硬件外,同樣離不開(kāi)軟件,本系統(tǒng)的軟件編程設(shè)計(jì)是在Keil軟件環(huán)境中完成的。我們寫的C語(yǔ)言、匯編語(yǔ)言源程序要變?yōu)镃PU可以執(zhí)行的機(jī)器碼有兩種方法,一種是手工匯編,另一種是機(jī)器匯編,目前已極少使用手工匯編的方法了。機(jī)器匯編是通過(guò)匯編軟件將源程序變?yōu)闄C(jī)器碼,用于MCS-51單片機(jī)的匯編軟件有早期的A51,隨著單片機(jī)開(kāi)發(fā)技術(shù)的不斷發(fā)展,從普遍使用匯編語(yǔ)言到逐漸使用高級(jí)語(yǔ)言開(kāi)發(fā),單片機(jī)的開(kāi)發(fā)軟件也在不斷發(fā)展,Keil軟件是目前最流行開(kāi)發(fā)51系列單片機(jī)的軟件,這從近年來(lái)各仿真機(jī)廠商紛紛宣布全面支持Keil即可看出。Keil提供了包括C編譯器、宏匯編、連接器、庫(kù)管理和一個(gè)功能強(qiáng)大的仿真調(diào)試器等在內(nèi)的完整開(kāi)發(fā)方案,通過(guò)一個(gè)集成開(kāi)發(fā)環(huán)境(uVision)將這些部份組合在一起。掌握這一軟件的使用對(duì)于使用51系列單片機(jī)的愛(ài)好者來(lái)說(shuō)是十分必要的,如果使用C語(yǔ)言編程,那么Keil幾乎就是不二之選。即使不使用C語(yǔ)言而僅用匯編語(yǔ)言編程,其方便易用的集成環(huán)境、強(qiáng)大的軟件仿真調(diào)試工具也會(huì)令人事半功倍。KeilC51是美國(guó)KeilSoftware公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開(kāi)發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開(kāi)發(fā),體會(huì)更加深刻。KeilC51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到KeilC51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。4.3各主要部分的功能實(shí)現(xiàn)程序設(shè)計(jì)初始化程序設(shè)計(jì)電子密碼鎖系統(tǒng)在接通電源后,首先要對(duì)系統(tǒng)進(jìn)行初始化。初始化過(guò)程包括密碼鎖上鎖,密碼的讀入,LED數(shù)碼管的顯示內(nèi)容初始化,設(shè)定系統(tǒng)狀態(tài)指示等。流程圖如圖4.2所示:初始化開(kāi)始初始化開(kāi)始載入預(yù)設(shè)密碼至系統(tǒng)內(nèi)存系統(tǒng)上鎖并設(shè)定狀態(tài)指示燈設(shè)定顯示器為等待輸入狀態(tài)用戶輸入密碼區(qū)清零初始化定時(shí)器0圖4.2初始化程序設(shè)計(jì)流程圖初始化程序如下:ORG 0000HLJMP FIRSTORG 000BHLJMP INT_T0ORG 0100HFIRST: MOV SET_TIMES,#0 ;新密碼輸入次數(shù)清零從24C01C中讀數(shù)據(jù),數(shù)據(jù)送AT89CMOV SLA,#0A0H ;寫入控制字MOV SUBA,#00H ;目標(biāo)地址MOV NUMBYTE,#6 ;寫入的字節(jié)數(shù)LCALL IRDNBYTE ;開(kāi)始寫數(shù)據(jù)BEGIN:MOV CNT_ERROR,#00H ;密碼錯(cuò)誤次數(shù)清零START:CLR LED_YELLOW ;上鎖指示燈SETB LED_GREEN ;開(kāi)鎖指示燈滅SETB LED_RED ;密碼錯(cuò)誤指示燈滅MOV KEY_CNT_SET,#00HMOV CNT_A,#00H MOV CNT_B,#00HMOV KEY_CNT,#00HMOV LINE,#00HMOV ROW,#00HMOV VAL,#00HMOV WORD_ADRESS,#4CHMOV LED_BIT_1,#0AH ;數(shù)碼管全"-"MOV LED_BIT_2,#0AHMOV LED_BIT_3,#0AHMOV LED_BIT_4,#0AHMOV LED_BIT_5,#0AHMOV LED_BIT_6,#0AHMOV KEY_1,#00H ;輸入密碼存儲(chǔ)區(qū)清0MOV KEY_2,#00HMOV KEY_3,#00HMOV KEY_4,#00HMOV KEY_5,#00HMOV KEY_6,#00HMOV TMOD,#01H ;初始化定時(shí)器T0MOV TH0,#(65536-700)/256MOV TL0,#(65536-700)MOD 256 MOV IE,#82H 按鍵處理程序設(shè)計(jì)(介紹)鍵功能程序鍵功能程序鍵值=‘0-9’?鍵值=‘開(kāi)鎖’?鍵值=‘清除’?鍵值=‘設(shè)置’?鍵值=‘確認(rèn)’?密碼輸入程序設(shè)置程序清除程序開(kāi)鎖程序確認(rèn)程序是是是是是否否否否返回否圖4.3按鍵處理程序流程圖按鍵處理程序如下:A0: NOPLSCAN: MOV P1,#0F0H;掃描行碼,把四條“行”線置成低電平 L1: JNB P1.0,L2;檢測(cè)第一行是否有鍵按下 LCALL DLY_S;消除鍵盤抖動(dòng) JNB P1.0,L2;確認(rèn)第一行有鍵按下 MOV LINE,#00H;把值送到指定內(nèi)存,等待計(jì)算 LJMP RSCAN;跳轉(zhuǎn)到鍵值計(jì)算部分 L2: JNB P1.1,L3 LCALL DLY_S JNB P1.1,L3 MOV LINE,#01H LJMP RSCAN L3: JNB P1.2,L4 LCALL DLY_SJNB P1.2,L4 MOV LINE,#02H LJMP RSCAN L4: JNB P1.3,a0 LCALL DLY_S JNB P1.3,a0 MOV LINE,#03HRSCAN: MOV P1,#0FH ;掃描列碼 C1: JNB P1.4,C2 MOV ROW,#00H LJMP CALCU C2: JNB P1.5,C3 MOV ROW,#01H LJMP CALCU C3: JNB P1.6,C4 MOV ROW,#02H LJMP CALCU C4: JNB P1.7,C1 MOV ROW,#03H LJMP CALCUCALCU: MOV A,LINE ;計(jì)算鍵值 MOV B,#04H MUL AB ADD A,ROW MOV VAL,A;把鍵值存入VAL單元CJNE A,#0AH,J1 ;是否為"CLR"鍵 JNB LED_GREEN,CLR_KEY;檢測(cè)是否已開(kāi)鎖MOV R1,KEY_CNT CJNE R1,#00H,J2;判斷已按鍵次數(shù)為零? LCALL ALARM_1;調(diào)用報(bào)警子程序LCALLFALSE;數(shù)碼管顯示“FALSE”LJMP STARTCLR_KEY:LCALL ALARM_1;鎖開(kāi)狀態(tài)下,按CLR的處理方法,調(diào)用報(bào)警子程序 LCALL FALSE;顯示“FALSE”LJMP A1 J2:LCALL SHIFTR;顯示內(nèi)容右移一位 DEC KEY_CNTLCALL BCD LCALL DISP ;等待按鍵抬起 W00:LCALL DLY_1S MOV A,P1 CJNE A,#0FH,W01 LJMP A0 W01:MOV A,P1 CJNE A,#0F0H,W02 LJMP A0 W02:SJMP W00 J1:MOV A,VAL CJNE A,#0CH,J11 ;是否為SET鍵 LCALL DLY_SJB LED_GREEN,SET_ERROR……J11:MOV A,VALCJNE A,#0DH,J22 ;是否為L(zhǎng)OCK鍵LCALL DLY_SJNB LED_GREEN,LOCK……J22:MOV A,VAL CJNE A,#0BH,J3_TEMP;是否為"ENTER"鍵 LJMP TTTTTTJ3_TEMP:LJMP J3……密碼更改程序設(shè)計(jì)密碼鎖的密碼就相當(dāng)于我們?nèi)粘I钪杏玫降蔫€匙,而電子密碼鎖可以根據(jù)用戶的需要,隨時(shí)更改原有的密碼,來(lái)提高密碼鎖的安全性,密碼修改功能是保證密碼鎖有效的重要保障。在密碼修改子程序中,用戶只有在開(kāi)鎖狀態(tài)下才能進(jìn)行修改,即要求用戶知道原有的密碼,否則無(wú)法打開(kāi)密碼鎖,更無(wú)法修改其密碼??驁D如圖4.4所示:有按鍵按下?有按鍵按下?操作錯(cuò)誤,報(bào)警否是否是否計(jì)算鍵值,存儲(chǔ)新密碼輸入完??jī)纱屋斎氩⒁恢??是存?chǔ)密碼圖4.4密碼更改程序設(shè)計(jì)流程圖密碼更改程序如下:SET_P:CLR LED_GREEN ;更改系統(tǒng)狀態(tài)及屏幕顯示內(nèi)容 SETB LED_YELLOW SETB LED_REDMOV LED_BIT_1,#0CH ;關(guān)閉全部數(shù)碼管 MOV LED_BIT_2,#0CH MOV LED_BIT_3,#0CH MOV LED_BIT_4,#0CH MOV LED_BIT_5,#0CH MOV LED_BIT_6,#0CH LCALL BCD LCALL DISPA0_SET: NOP ;按鍵檢測(cè)并計(jì)算鍵值存放在VAL單元……. ;按鍵處理部分CJNE A,#02H,TIMES1 ;判斷是否已輸入兩次新密碼LCALL DLY_1S MOV A,WORD_6 ;逐位比較密碼,不一致則重新設(shè)置 CJNE A,KEY_1,J_RSET MOV R0,#59H MOV @R0,#33H MOV A,WORD_5 CJNE A,KEY_2,J_RSET MOV A,WORD_4 CJNE A,KEY_3,J_RSET MOV A,WORD_3 CJNE A,KEY_4,J_RSET MOV A,WORD_2 CJNE A,KEY_5,J_RSET MOV A,WORD_1 CJNE A,KEY_6,J_RSET向24C01C中寫數(shù)據(jù),數(shù)據(jù)存放在24C ……TIMES1:MOV R0,#WORD_1SET ;第一次新密碼暫存內(nèi)存中 MOV WORD_1,@R0 MOV R0,#WORD_2SET MOV WORD_2,@R0 MOV R0,#WORD_3SET MOV WORD_3,@R0 MOV R0,#WORD_4SET MOV WORD_4,@R0 MOV R0,#WORD_5SET MOV WORD_5,@R0 MOV R0,#WORD_6SET MOV WORD_6,@R0 LCALLDLY_1S ;加延時(shí)程序 ……5系統(tǒng)仿真5.1系統(tǒng)仿真過(guò)程開(kāi)始時(shí)的數(shù)碼管顯示“”,等待輸入密碼。如圖5.1所示:圖5.1數(shù)碼管顯示密碼輸入時(shí)顯示F并依次左移,如密碼輸入錯(cuò)誤可以使用“clr”鍵進(jìn)行清除,然后可以從新輸入。如圖5.2所示:圖5.2數(shù)碼管顯示F密碼輸入正確時(shí),數(shù)碼管顯示簡(jiǎn)單的便是“pass”,同時(shí)綠色指示燈亮起,開(kāi)鎖電路運(yùn)行,鎖被打開(kāi)。如圖5.3所示:圖5.3數(shù)碼管顯pass本次設(shè)計(jì)的密碼鎖的密碼為數(shù)6位,當(dāng)密碼的位數(shù)少于或者多于6位的時(shí)候,數(shù)碼管上將提示“false”。如圖5.4所示:圖5.4密碼是輸入錯(cuò)誤時(shí),數(shù)碼管提示“error1”,如果繼續(xù)輸入第二次、第三次錯(cuò)誤的時(shí),數(shù)碼管將提示“error2”和“error3”,同時(shí)報(bào)警器報(bào)警提示,紅色指示燈閃爍,鍵盤鎖死,防止繼續(xù)操作。如圖5.5所示:圖5.5當(dāng)需要關(guān)閉密碼鎖的時(shí)候,直接按下鍵盤上的“l(fā)ock”鍵即可鎖定。數(shù)碼管恢復(fù)初始“”,黃色指示燈亮起。如圖5.6所示:圖5.65.2仿真調(diào)試中遇到的問(wèn)題及解決辦法1問(wèn)題描述:密碼在未輸入6位的情況下,摁下“enter”鍵,數(shù)碼管顯示“false”,無(wú)法返回初始輸入界面“”。解決辦法:“enter”鍵跳轉(zhuǎn)時(shí),跳轉(zhuǎn)到開(kāi)始即可。2問(wèn)題描述:密碼正確輸入,“enter”鍵確認(rèn)后,數(shù)碼管顯示“pass”,這時(shí)直接按“clr”鍵,屏幕上顯示“error1”原因及解決辦法:“clr”的后面跳轉(zhuǎn)不對(duì),需要加一個(gè)標(biāo)志位使數(shù)碼管的顯示恢復(fù)“pass”。3問(wèn)題描述:在系統(tǒng)正常運(yùn)行后,如果密碼鎖被用戶打開(kāi),此時(shí)用戶可以按下“l(fā)ock”鍵對(duì)其重新上鎖,但在運(yùn)行過(guò)程中,雖然系統(tǒng)可以重新上鎖,但會(huì)在重新上鎖前,出現(xiàn)報(bào)警,并且數(shù)碼管顯示“error1”原因及解決辦法:因?yàn)橄到y(tǒng)運(yùn)行的速度較快,按鍵還沒(méi)有復(fù)原,鍵盤的檢測(cè)便又一次檢測(cè)到了該按鍵,重復(fù)的操作了“l(fā)ock”鍵,系統(tǒng)提示錯(cuò)誤。所以應(yīng)在檢測(cè)按鍵時(shí),等待按鍵的復(fù)原,再進(jìn)行跳轉(zhuǎn)執(zhí)行該按鍵的程序指令??偨Y(jié)本次設(shè)計(jì)經(jīng)過(guò)一個(gè)月的時(shí)間終于完成,在這期間使我對(duì)大學(xué)的知識(shí)又進(jìn)行了一次學(xué)習(xí)、了解,特別是對(duì)一些以前學(xué)習(xí)過(guò)或者說(shuō)是接觸過(guò)的應(yīng)用軟件加深了了解,并且通過(guò)網(wǎng)上和書本上的學(xué)習(xí)很成功的運(yùn)用這些軟件對(duì)設(shè)計(jì)的硬件電路和軟件程序測(cè)試成功實(shí)現(xiàn)。雖然運(yùn)用的還不是很熟練,一些功能還不是很了解,但是通過(guò)同學(xué)和老師的幫助,還是得到了很好的解決。本次設(shè)計(jì)的目標(biāo)均得到了實(shí)現(xiàn),具體如下:(1)產(chǎn)品性能穩(wěn)定,可靠。(2)加電后,數(shù)碼顯示管顯示;(3)輸入密碼時(shí),只逐位顯示F,以防止密碼泄漏;(4)在任何掉電情況下,原設(shè)定密碼保持不變。(5)輸入密碼的過(guò)程中,如果不小心出現(xiàn)輸入的密碼錯(cuò)誤,可以清除,然后繼續(xù)的進(jìn)行密碼的輸入??梢栽陂_(kāi)鎖后進(jìn)行密碼的修改,但需要兩次輸入確認(rèn)。(6)當(dāng)密碼輸入完畢按下確認(rèn)鍵時(shí),單片機(jī)將輸入的密碼與設(shè)定的密碼比較,若密碼正確,則密碼鎖打開(kāi);若密碼不正確,則密碼鎖無(wú)法打開(kāi),在密碼輸入錯(cuò)誤次數(shù)到達(dá)預(yù)設(shè)值時(shí),啟動(dòng)報(bào)警程序報(bào)警。但是由于水平和時(shí)間的關(guān)系,有些地方的設(shè)計(jì)還不進(jìn)人意。而這些地方還有待今后一一的去解決。致謝本文從開(kāi)題到定稿,歷時(shí)一個(gè)多月。在本論文完成之際,首先要向我的指導(dǎo)老師石軍亮老師致以誠(chéng)摯的謝意。在論文的寫作過(guò)程中,她給了我許許多多的幫助和關(guān)懷。同時(shí)她對(duì)工作的積極熱情、認(rèn)真負(fù)責(zé)、有條不紊、實(shí)事求是的態(tài)度,給我留下了深刻的印象,使我受益非淺。在此我向石老師致以真誠(chéng)的謝意。同時(shí)還要感謝各科的老師,你們的辛勤栽培使我獲得了今天的成績(jī),謝謝老師們。當(dāng)然,我還要感謝我周圍的同學(xué),他們?cè)谶@次設(shè)計(jì)中給予了我很多的幫助,沒(méi)有他們的幫助,在這短短的一個(gè)多月時(shí)間內(nèi),我是不可能這么好的完成我的設(shè)計(jì)的。尤其是對(duì)一些應(yīng)用軟件的運(yùn)用,開(kāi)始基本上是不會(huì)用,但是經(jīng)過(guò)了大家的幫助,我學(xué)會(huì)了基本的操作。同時(shí)感謝寢室的兄弟給予我的鼓勵(lì)和支持,感謝他們的陪伴?,F(xiàn)在即將離開(kāi)學(xué)校、老師、同學(xué),還有我四年的大學(xué)生活,雖然依依不舍,但是對(duì)未來(lái)的路,我充滿了信心。最后,感謝在大學(xué)期間認(rèn)識(shí)我和我認(rèn)識(shí)的所有人,有你們伴隨,才有了我豐富多彩的大學(xué)生活。參考文獻(xiàn)[1]余發(fā)山,王福忠.單片機(jī)原理及應(yīng)用技術(shù)[M].徐州:中國(guó)礦業(yè)大學(xué)出版社,2021[2]康華光.電子技術(shù)基礎(chǔ)(模擬部分)[M].北京:高等教育出版社,2006[3]康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].北京:高等教育出版社,2006[4]潘永雄.新編單片機(jī)原理及應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2003[5]張毅剛.MCS51單片機(jī)應(yīng)用設(shè)計(jì)[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2004[6]周潤(rùn)景,張麗娜,丁莉.基于Proteus的電路及單片機(jī)設(shè)計(jì)與仿真(第2版)[M].北京:北京航空航天大學(xué)出版社[7]李廣第等.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001.[8]彭為.單片機(jī)典型系統(tǒng)設(shè)計(jì)實(shí)例精講[M].北京:電子工業(yè)出版社,2006.附錄電子密碼鎖PCB圖源程序(部分):*******************************************************;以下6個(gè)字節(jié)存放6位需要數(shù)碼管顯示的數(shù)據(jù)LED_BIT_1 EQU 30H LED_BIT_2 EQU 31HLED_BIT_3 EQU 32HLED_BIT_4 EQU 33HLED_BIT_5 EQU 34HLED_BIT_6 EQU 35H;以下6個(gè)字節(jié)存放初始密碼WORD_1EQU 38HWORD_2 EQU 39HWORD_3 EQU 3AHWORD_4 EQU 3BHWORD_5 EQU 3CHWORD_6 EQU 3DH;以下6個(gè)字節(jié)存放用戶輸入的6位密碼KEY_1 EQU 3EHKEY_2 EQU 3FHKEY_3 EQU 40HKEY_4 EQU 41HKEY_5 EQU 42HKEY_6 EQU 43H;************************************CNT_A EQU 44HCNT_B EQU 45HKEY_CNT EQU 46H ;已輸出的密碼位數(shù)LINE EQU 47H ;按鍵行號(hào)ROW EQU 48H ;按鍵列號(hào)VAL EQU 49H ;鍵值CNT_ERROR EQU 4AHWORD_ADRESS EQU 4BH;以下6個(gè)字節(jié)存放用戶新設(shè)的密碼WORD_1SET EQU 4CHWORD_2SET EQU 4DHWORD_3SET EQU 4EHWORD_4SET EQU 4FHWORD_5SET EQU 50HWORD_6SET EQU 51HKEY_CNT_SET EQU 36H ;存放用戶設(shè)置密碼時(shí)輸入的位數(shù);以下為讀寫I2C芯片時(shí)用到的暫存單元ACK BIT 00H ;應(yīng)答標(biāo)志位SLA DATA 54H ;器件地址字SUBA DATA 55H ;器件子地址NUMBYTE DATA56H ;讀/寫字節(jié)數(shù)SDA BIT P3.7SCL BIT P3.6 ;I2C總線定義MTD EQU 4CH ;發(fā)送數(shù)據(jù)緩存區(qū)首地址(4CH-51H)MRD EQU 38H ;接收數(shù)據(jù)緩存區(qū)首地址(38H-3DH)SET_TIMES EQU 37H;定義狀態(tài)指示燈LED_GREEN BIT P3.4LED_RED BIT P3.5LED_YELLOW BIT P3.2;以下為初始化程序,包括數(shù)據(jù)存儲(chǔ)空間初始化,設(shè)置初始密碼 ORG 0000H LJMP FIRST ORG 000BH LJMP INT_T0 ORG 0100HFIRST: MOV SET_TIMES,#0 MOV WORD_1SET,#01H ;設(shè)置初始密碼為"123456" MOV WORD_2SET,#02H MOV WORD_3SET,#03H MOV WORD_4SET,#04H MOV WORD_5SET,#05H MOV WORD_6SET,#06H;向24C01C中寫數(shù)據(jù),數(shù)據(jù)存放在24C MOV SLA,#0A0H ;24C01C MOV SUBA,#00H ;目標(biāo)地址 MOV NUMBYTE,#6 ;字節(jié)數(shù) LCALL IWRNBYTE ;寫數(shù)據(jù) ;***************************************************; LCALLDIY_LS ;加延時(shí)程序;**************************************************;;從24C01C中讀數(shù)據(jù),數(shù)據(jù)送AT89C MOV SLA,#0A0H ;24C01C MOV SUBA,#00H ;目標(biāo)地址 MOV NUMBYTE,#6 ;字節(jié)數(shù) LCALL IRDNBYTE ;寫數(shù)據(jù);****************************************************; BEGIN: MOV CNT_ERROR,#00H START: CLR LED_YELLOW ;上鎖指示燈 SETB LED_GREEN ;開(kāi)鎖指示燈滅 SETB LED_RED ;密碼錯(cuò)誤指示燈滅 MOV KEY_CNT_SET,#00H MOV CNT_A,#00H ;程序初始化 MOV CNT_B,#00H MOV KEY_CNT,#00H MOV LINE,#00H MOV ROW,#00H MOV VAL,#00H MOV WORD_ADRESS,#4CHMOV LED_BIT_1,#0AH ;led燈全"-" MOV LED_BIT_2,#0AH MOV LED_BIT_3,#0AH MOV LED_BIT_4,#0AH MOV LED_BIT_5,#0AH MOV LED_BIT_6,#0AH MOV KEY_1,#00H ;輸入密碼存儲(chǔ)區(qū)清0 MOV KEY_2,#00H MOV KEY_3,#00H MOV KEY_4,#00H MOV KEY_5,#00H MOV KEY_6,#00HMOV TMOD,#01H ;定時(shí)器T0選擇方式1 MOV TH0,#(65536-700)/256 MOV TL0,#44h ;#(65536-700)MOD 256 MOV IE,#82H ;CPU開(kāi)中斷,定時(shí)器1開(kāi)中斷 ;以下為程序循環(huán)部分 LCALL BCD LCALL DISP;以下為鍵盤掃描程序,計(jì)算鍵值并存入VALA0:NOPLSCAN: MOV P1,#0F0H ;掃描行碼 L1: JNB P1.0,L2 LCALL DLY_S JNB P1.0,L2 MOV LINE,#00H LJMP RSCAN L2: JNB P1.1,L3 LCALL DLY_S JNB P1.1,L3 MOV LINE,#01H LJMP RSCAN L3: JNB P1.2,L4 LCALL DLY_SJNB P1.2,L4 MOV LINE,#02H LJMP RSCAN L4: JNB P1.3,A0 LCALL DLY_S JNB P1.3,A0 MOV LINE,#03HRSCAN: MOV P1,#0FH ;掃描列碼 C1: JNB P1.4,C2 MOV ROW,#00H LJMP CALCU C2: JNB P1.5,C3 MOV ROW,#01H LJMP CALCU C3: JNB P1.6,C4 MOV ROW,#02H LJMP CALCU C4: JNB P1.7,C1 MOV ROW,#03H LJMP CALCUCALCU: MOV A,LINE ;計(jì)算鍵值 MOV B,#04H MUL AB ADD A,ROW MOV VAL,A;以下為按鍵處理程序,對(duì)不同的按鍵作出響應(yīng) CJNE A,#0AH,J1 ;是否為"CLR"鍵 JNB LED_GREEN,CLR_KEY MOV R1,KEY_CNT CJNE R1,#00H,J2 LCALL ALARM_1LCALLFALSELJMP STARTCLR_KEY:LCALL ALARM_1 LCALLFALSE LJMP A1 J2: LCALL SHIFTR DEC KEY_CNT LCALL BCD LCALL DISP ;等待按鍵抬起 W00:LCALL DLY_1S MOV A,P1 CJNE A,#0FH,W01 LJMP A0 W01:MOV A,P1 CJNE A,#0F0H,W02 LJMP A0 W02:SJMP W00 J1:MOV A,VAL CJNE A,#0CH,J11 ;是否為SET鍵 LCALL DLY_S JB LED_GREEN,SET_ERROR W00_SET: LCALL DLY_S MOV A,P1 CJNE A,#0FH,W01_SET LJMP SET_P W01_SET: MOV A,P1 CJNE A,#0F0H,W02_SET LJMP SET_P W02_SET: SJMP W00_SETSET_ERROR:LCALL ALARM_1 LCALLFALSE LJMP BEGINJ11:MOV A,VALCJNE A,#0DH,J22 ;是否為L(zhǎng)OCK鍵LCALL DLY_SJNB LED_GREEN,LOCKLOCK_ERROR:LCALL ALARM_1LCALLFALSELOCK:NOPW00_LOCK:LCALL DLY_S MOV A,P1 CJNE A,#0FH,W01_LOCK LJMP BEGIN W01_LOCK: MOV
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四塔吊設(shè)備購(gòu)置與銷售專項(xiàng)合同范本3篇
- 二零二四年家電銷售顧問(wèn)聘用與售后服務(wù)合同3篇
- 二零二五版出租車承包合同綠色出行推廣合作2篇
- 二零二五版豪華度假酒店承包經(jīng)營(yíng)合同規(guī)范范本3篇
- 二零二五版公益勞動(dòng)服務(wù)基地共建與社區(qū)公共服務(wù)拓展合同3篇
- 年度營(yíng)養(yǎng)型輸液競(jìng)爭(zhēng)策略分析報(bào)告
- 年度智能兒童成長(zhǎng)儀市場(chǎng)分析及競(jìng)爭(zhēng)策略分析報(bào)告
- 2024年鋼材交易:居間代理全套合同
- 二零二五版水利工程承包居間代理服務(wù)合同2篇
- 2025年變壓器智能化升級(jí)采購(gòu)及技術(shù)支持合同3篇
- 安徽省合肥市包河區(qū)2023-2024學(xué)年九年級(jí)上學(xué)期期末化學(xué)試題
- 《酸堿罐區(qū)設(shè)計(jì)規(guī)范》編制說(shuō)明
- PMC主管年終總結(jié)報(bào)告
- 售樓部保安管理培訓(xùn)
- 倉(cāng)儲(chǔ)培訓(xùn)課件模板
- 2025屆高考地理一輪復(fù)習(xí)第七講水循環(huán)與洋流自主練含解析
- GB/T 44914-2024和田玉分級(jí)
- 2024年度企業(yè)入駐跨境電商孵化基地合作協(xié)議3篇
- 《形勢(shì)與政策》課程標(biāo)準(zhǔn)
- 2023年海南省公務(wù)員錄用考試《行測(cè)》真題卷及答案解析
- 橋梁監(jiān)測(cè)監(jiān)控實(shí)施方案
評(píng)論
0/150
提交評(píng)論