單片機(jī)課程設(shè)計(jì)報(bào)告-基于單片機(jī)的電子密碼鎖設(shè)計(jì)_第1頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-基于單片機(jī)的電子密碼鎖設(shè)計(jì)_第2頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-基于單片機(jī)的電子密碼鎖設(shè)計(jì)_第3頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-基于單片機(jī)的電子密碼鎖設(shè)計(jì)_第4頁(yè)
單片機(jī)課程設(shè)計(jì)報(bào)告-基于單片機(jī)的電子密碼鎖設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 本科學(xué)生單片機(jī)課程設(shè)計(jì)報(bào)告題 目 基于單片機(jī)的電子密碼鎖設(shè)計(jì)F題 姓 名 學(xué) 號(hào) 院 系 專業(yè)、年級(jí) 指導(dǎo)教師 課程設(shè)計(jì)成績(jī)?cè)u(píng)定表工程評(píng)分依據(jù)總分值得分設(shè)計(jì)作品電路板焊接工藝10功能完整20性能指標(biāo)10程序運(yùn)行可靠20人機(jī)交互友好,操作方便10設(shè)計(jì)報(bào)告內(nèi)容完整10寫(xiě)作標(biāo)準(zhǔn)10設(shè)計(jì)報(bào)告篇幅符合要求10實(shí)評(píng)總分 指導(dǎo)教師簽名 目 錄1、 引言12、 設(shè)計(jì)要求23、 硬件電路設(shè)計(jì) 3 3.1 設(shè)計(jì)方案的選擇 3 3.2 主要元器件簡(jiǎn)介 43.3 硬件系統(tǒng)結(jié)構(gòu) 84、 程序設(shè)計(jì) 135、 總結(jié) 15參考文獻(xiàn) 16附件一:電路原理圖及作品實(shí)物圖 17附件二:程序清單 181、引言1.1 單片機(jī)密碼鎖課

2、程設(shè)計(jì)報(bào)告摘要隨著電子產(chǎn)品向智能化和微型化的不斷開(kāi)展,單片機(jī)已成為電子產(chǎn)品研制和開(kāi)發(fā)中首選的控制器。隨著人們生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,平安性能低,無(wú)法滿足人們的需要。針對(duì)這些鎖具給人們帶來(lái)的不便假設(shè)使用機(jī)械式鑰匙開(kāi)鎖,為滿足人們對(duì)鎖的使用要求,增加其平安性,用密碼代替鑰匙的密碼鎖應(yīng)運(yùn)而生。電子密碼鎖是一種通過(guò)密碼輸入來(lái)控制電路或是芯片工作,從而控制機(jī)械開(kāi)關(guān)的閉合,完成開(kāi)鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比擬高的產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過(guò)編程來(lái)實(shí)現(xiàn)的。其性能和平安性已大大

3、超過(guò)了機(jī)械鎖。其特點(diǎn)如下:1) 保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖。隨機(jī)開(kāi)鎖成功率幾乎為零。2) 密碼可變,用戶可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以防止因人員的更替而使鎖的密級(jí)下降。3) 誤碼輸入保護(hù),當(dāng)輸入密碼屢次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。4) 無(wú)活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng)。5) 使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開(kāi)鎖。6) 電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。隨著電子元件的進(jìn)一步開(kāi)展,電子密碼鎖也出現(xiàn)了很多的種類,功能日益強(qiáng)大,使用更加方便,平安保密性更強(qiáng),由以前的單密碼輸入開(kāi)展到現(xiàn)在的,密碼加感應(yīng)元件,實(shí)現(xiàn)了真真的電子加密,用戶只有密碼或電子鑰匙中的一樣,是打不開(kāi)鎖的,隨著電子

4、元件的開(kāi)展及人們對(duì)保密性需求的提高出現(xiàn)了越來(lái)越多的電子密碼鎖。由于數(shù)字、字符、圖形圖像、人體生物特征和時(shí)間等要素均可成為鑰匙的電子信息,組合使用這些信息能夠使電子防盜鎖獲得高度的保密性,如防范森嚴(yán)的金庫(kù),需要使用復(fù)合信息密碼的電子防盜鎖,這樣對(duì)盜賊而言是“道高一尺、魔高一丈。組合使用信息也能夠使電子防盜鎖獲得無(wú)窮擴(kuò)展的可能,使產(chǎn)品多樣化,對(duì)用戶而言是“千挑百選、自得其所??梢钥闯鼋M合使用電子信息是電子密碼鎖以后開(kāi)展的趨勢(shì)。本系統(tǒng)由單片機(jī)系統(tǒng)、矩陣鍵盤(pán)、LED顯示和報(bào)警系統(tǒng)組成。系統(tǒng)能完成開(kāi)鎖、超次鎖定、管理員解密、修改用戶密碼的功能。除上述根本的密碼鎖功能外,還具有掉電存儲(chǔ)、聲光提示等功能,依

5、據(jù)實(shí)際的情況還可以添加其他功能。本系統(tǒng)本錢低廉,功能實(shí)用。1.2 關(guān)鍵詞單片機(jī) 密碼鎖 課程設(shè)計(jì) 報(bào)警2、設(shè)計(jì)要求2.1 設(shè)計(jì)任務(wù) 設(shè)計(jì)一種基于單片機(jī)的密碼鎖。2.2 設(shè)計(jì)要求1密碼用鍵盤(pán)輸入48位;2用戶可預(yù)置密碼48位,并永久保存;3用LED數(shù)碼管或LCD顯示密碼值,密碼設(shè)置成功或開(kāi)鎖后顯示“*;4密碼輸入成功后,開(kāi)鎖用綠色的LED亮;密碼輸入錯(cuò)誤時(shí)數(shù)碼管或LCD提示錯(cuò)誤信息,并且紅色的LED亮;三次輸入錯(cuò)誤后,揚(yáng)聲器報(bào)警;2.3 設(shè)計(jì)報(bào)告要求說(shuō)明設(shè)計(jì)作品的功能、特點(diǎn)、應(yīng)用范圍;方案比照,確定方案。電路設(shè)計(jì)、電路工作原理、技術(shù)指標(biāo)測(cè)試;編程方法、程序框圖及關(guān)鍵程序清單。課程設(shè)計(jì)總結(jié)。3、硬

6、件電路設(shè)計(jì)3.1 設(shè)計(jì)方案的選擇 方案一:采用數(shù)字電路控制用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,假設(shè)按下干擾鍵,鍵盤(pán)輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過(guò)10秒一般情況下,用戶不會(huì)超過(guò)10秒,假設(shè)用戶覺(jué)得不便,還可以修改電路將報(bào)警20秒,假設(shè)電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)2分鐘,防止他人的非法操作。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)確性和靈活性差。故不采用。 方案二:采用以單片機(jī)為核心的控制方案由于單片機(jī)種類繁多,各種型號(hào)都有其一定的應(yīng)

7、用環(huán)境,因此在選用時(shí)要多加比擬,合理選擇,以期獲得最正確的性價(jià)比。一般來(lái)說(shuō)在選取單片機(jī)時(shí)從下面幾個(gè)方面考慮:性能、存儲(chǔ)器、運(yùn)行速度、I/O口、定時(shí)/計(jì)數(shù)器、串行接口、模擬電路功能、工作電壓、功耗、封裝形式、抗干擾性、保密性,除了以上的一些的還有一些最根本的比方:中斷源的數(shù)量和優(yōu)先級(jí)、工作溫度范圍、有沒(méi)有低電壓檢測(cè)功能、單片機(jī)內(nèi)有無(wú)時(shí)鐘振蕩器、有無(wú)上電復(fù)位功能等。在開(kāi)發(fā)過(guò)程中單片機(jī)還受到:開(kāi)發(fā)工具、編程器、開(kāi)發(fā)本錢、開(kāi)發(fā)人員的適應(yīng)性、技術(shù)支持和效勞等等因素?;谝陨弦蛩乇驹O(shè)計(jì)選用單片機(jī)STC89C52作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)根本的密

8、碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤(pán)用于密碼的輸入和一些功能的控制,外接AT24C02芯片用于密碼的存儲(chǔ),外接LCD1602顯示器用于顯示作用。當(dāng)用戶需要開(kāi)鎖時(shí),先按鍵盤(pán)開(kāi)鎖鍵之后按鍵盤(pán)的數(shù)字鍵09輸入密碼。密碼輸完后按下確認(rèn)鍵,如果密碼輸入正確那么開(kāi)鎖,不正確顯示密碼錯(cuò)誤重新輸入密碼,當(dāng)三次密碼錯(cuò)誤那么發(fā)出報(bào)警;當(dāng)用戶需要修改密碼時(shí),先按下鍵盤(pán)設(shè)置鍵后可以設(shè)置新密碼。新密碼輸入無(wú)誤后按確認(rèn)鍵使新密碼將得到存儲(chǔ),密碼修改成功??梢钥闯龇桨付刂旗`活準(zhǔn)確性好且保密性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此次設(shè)計(jì)采用此方案。3.2 主要元器件簡(jiǎn)介 主控芯片 單片機(jī)STC89C52 1、宏基公司生

9、產(chǎn)的STC89系列單片機(jī),高速、低功耗、新增在系統(tǒng)在應(yīng)用可編程(ISP,IAP)功能。2、特點(diǎn):40個(gè)引腳,8k Bytes Flash片內(nèi)程序存儲(chǔ)器,512 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM,32個(gè)外部雙向輸入/輸出I/O口,5個(gè)中斷優(yōu)先級(jí)2層中斷嵌套中斷,2個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,片內(nèi)時(shí)鐘振蕩器。STC89C52設(shè)計(jì)和配置了振蕩頻率可為0Hz并可通過(guò)軟件設(shè)置省電模式??臻e模式下,CPU暫停工作,而RAM定時(shí)計(jì)數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復(fù)位。STC89C52芯片引腳3、STC89C

10、52引腳功能說(shuō)明:Vcc:電源電壓GND:地P0口:P0口是一組8位漏極開(kāi)路型雙向I/O口,也即地址/數(shù)據(jù)總線復(fù)用口,作為輸出口用時(shí),每位能驅(qū)動(dòng)8個(gè)TTL邏輯門電路,對(duì)端口寫(xiě)“1”可作為高阻抗輸入端口。在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器或程序存儲(chǔ)器時(shí),這組口線分時(shí)轉(zhuǎn)換地址低8位和數(shù)據(jù)總線復(fù)用,在訪問(wèn)期間激活內(nèi)部上拉電阻。在Flash編程時(shí),P0口接收指令字節(jié),而在程序校驗(yàn)時(shí),輸出指令字節(jié),校驗(yàn)時(shí),要求外接上拉電阻。P1口:P1是一個(gè)帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口。作輸入口使用時(shí),因

11、為內(nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)校驗(yàn)期間,P1接收低8位地址。P2口:P2是一個(gè)帶有內(nèi)部上拉電阻的8位雙向I/O口,P2的輸出緩沖級(jí)可驅(qū)動(dòng)4個(gè)TTL邏輯門電路。對(duì)端口寫(xiě)“1”,通過(guò)內(nèi)部的上拉電阻把端口拉到高電平,此時(shí)可作輸入口,作輸入口使用時(shí),因?yàn)閮?nèi)部存在上拉電阻,某個(gè)引腳被外部信號(hào)拉低時(shí)會(huì)輸出一個(gè)電流I。在訪問(wèn)位地址的外部數(shù)據(jù)存儲(chǔ)器如執(zhí)行:MOVX Ri 指令時(shí),P2口線上的內(nèi)也即特殊功能存放器,在整個(gè)訪問(wèn)期間不改變。Flash 編程或校驗(yàn)時(shí),P2也接收高位地址和其它控制信號(hào)。P3口:P3口是一組帶有內(nèi)部上拉電阻的8位雙向I/O口。P3口輸出緩沖級(jí)可驅(qū)動(dòng)吸收或輸出電流4個(gè)TTL邏輯門電

12、路。對(duì)P3口寫(xiě)入“1”時(shí),它們被內(nèi)部上拉電阻拉高并可作為輸入端口。作輸入端口時(shí),被外部拉低的P3口將用上拉電阻輸出電流I。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能。RST:復(fù)位輸入。當(dāng)振蕩工作時(shí),RST引腳出現(xiàn)兩個(gè)機(jī)器周期上高電平將使單片機(jī)復(fù)位。WDT益出將使該引腳輸出高電平,設(shè)置SFR AUXR 的 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é)。即使不訪問(wèn)外部存儲(chǔ)器,ALE仍以時(shí)鐘振蕩頻率的1/6輸出的正脈沖信號(hào),因

13、此它可對(duì)外輸出時(shí)鐘或用于定時(shí)目地,要注意的是:第當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí)將跳過(guò)一個(gè)ALE脈沖。如有必要,可通過(guò)對(duì)特殊功能存放器SFR區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位禁位后,只有一條MOVX 和MOVC指令A(yù)LE才會(huì)被激活。此外,該引腳伎被微弱拉高,單片機(jī)執(zhí)行外部程序時(shí),應(yīng)設(shè)置ALE無(wú)效。PSEN:程序儲(chǔ)存允許PSEN輸出是外部程序存儲(chǔ)器的讀選通信號(hào),當(dāng)STC89C52由外部程序存儲(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ǔ)器地址0000HFFFFH,

14、EA端必須保持低電平接地。需注意的是:如果加密位LB1被編程,復(fù)位時(shí)內(nèi)部會(huì)鎖存EA端狀態(tài)。如EA端為高電平接Vcc端,CPU那么執(zhí)行內(nèi)部程序存儲(chǔ)器中的指令。Flash存儲(chǔ)器編程時(shí),該引腳加上12V的編程電壓Vpp。XTAL1:振蕩器反相放大器及內(nèi)部時(shí)鐘發(fā)生器的輸入端。XTAL2:振蕩器反相放大器的輸出端。 外部存儲(chǔ)芯片 AT24C02(ATMLU830) HYPERLINK :/ dzsc /icstock/145/AT24C02.html t _blank AT24C02是美國(guó)Atmel公司的低功耗CMOS型E2PROM,內(nèi)含2568位存儲(chǔ)空間,具有工作電壓寬(2.55.5 V)、擦寫(xiě)次數(shù)多

15、(大于10000次)、寫(xiě)入速度快(小于10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易喪失、體積小等特點(diǎn)。而且他是采用了I2C總線式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行器件,占用很少的資源和IO線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。 HYPERLINK :/ dzsc /icstock/145/AT24C02.html t _blank AT24C02中帶有的片內(nèi)地址存放器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址存放器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀寫(xiě)。所有字節(jié)均以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過(guò)SDA(串行數(shù)據(jù)線)

16、及SCL(串行時(shí)鐘線)兩根線在連到總線上的器件之間傳送信息,并根據(jù)地址識(shí)別每個(gè)器件。 HYPERLINK :/ dzsc /icstock/145/AT24C02.html t _blank AT24C02正是運(yùn)用了I2C規(guī)程,使用主從機(jī)雙向通信,主機(jī)(通常為單片機(jī))和從機(jī)( HYPERLINK :/ dzsc /icstock/145/AT24C02.html t _blank 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。 HYPE

17、RLINK :/ dzsc /icstock/145/AT24C02.html t _blank AT24C02的控制字由8位二進(jìn)制數(shù)構(gòu)成,在開(kāi)始信號(hào)發(fā)出以后,主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳送的方向。注:本設(shè)計(jì)采用的是同功能芯片ATMLU830,只命名方式不同,其功能與24C02完全相同。AT24C02引腳圖管腳描述A0 A1 A2:器件地址選擇SDA:串行數(shù)據(jù)/地址SCL:串行時(shí)鐘WP:寫(xiě)保護(hù)Vcc:+1.8V 6.0V 工作電壓GND:地AT24C02的1、2、3腳是三條地址線,用于確定芯片的硬件地址。在STC89C52的作品板上,第8腳和第4腳分別為正、負(fù)電源。第5腳SDA為

18、串行數(shù)據(jù)輸入/輸出,數(shù)據(jù)通過(guò)這條雙向I2C總線串行傳送,和單片機(jī)的連接。第6腳SCL為串行時(shí)鐘輸入線,和單片機(jī)的P3.4連接。SDA和SCL都需要和正電源間各接一個(gè)K的電阻上拉。第7腳需要接地。 顯示器件 LCD1602液晶顯示器現(xiàn)在的字符型液晶模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件了。1602型LCD顯示模塊具有體積小,功耗低,顯示內(nèi)容豐富等特點(diǎn)。1602型LCD可以顯示2行16個(gè)字符,有8位數(shù)據(jù)總線D0D7和RS,R/W,EN三個(gè)控制端口,工作電壓為5V,并且具有字符比照度調(diào)節(jié)和背光功能。1602型LCD的接口信號(hào)說(shuō)明編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明1VSS電源地9D2Data I

19、/O2VDD電源正極10D3Data I/O3V0液晶顯示偏壓信號(hào)11D4Data I/O4RS數(shù)據(jù)/命令選擇端H/L12D5Data I/O5R/W讀寫(xiě)選擇端H/L13D6Data I/O6E使能信號(hào)14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data I/O16BLK背光源負(fù)極1602型LCD的主要技術(shù)參數(shù)如下表所示: 1602型LCD的主要技術(shù)參數(shù)顯示容量16X2個(gè)字符芯片工作電壓工作電流2.0mA5.0V模塊最正確工作電壓字符尺寸2.95X4.35(WXH)mm根本操作程序:讀狀態(tài):輸入:RS=L,RW=L, E=H 輸出:D0D7=狀態(tài)字讀數(shù)據(jù):輸入:RS

20、=H,RW=H, E=H 輸出:無(wú)寫(xiě)指令:輸入:RS=L,RW=L, D0D7=指令碼,E=高脈沖 輸出:D0D7=數(shù)據(jù)寫(xiě)數(shù)據(jù):輸入:RS=H,RW=L, D0D7=數(shù)據(jù), E=高脈沖 輸出:無(wú) 硬件系統(tǒng)結(jié)構(gòu) 設(shè)計(jì)原理本設(shè)計(jì)主要由單片機(jī)、矩陣鍵盤(pán)、液晶顯示器和密碼存儲(chǔ)等局部組成。其中矩陣鍵盤(pán)用于輸入數(shù)字密碼和進(jìn)行各種功能的實(shí)現(xiàn)。由用戶通過(guò)連接單片機(jī)的矩陣鍵盤(pán)輸入密碼,后經(jīng)過(guò)單片機(jī)對(duì)用戶輸入的密碼與自己保存的密碼進(jìn)行比照,從而判斷密碼是否正確,然后控制引腳的上下電平傳到開(kāi)鎖電路或者報(bào)警電路控制開(kāi)鎖還是報(bào)警,當(dāng)然也可以用繼電器的常開(kāi)觸點(diǎn)去控制電磁鐵吸合線圈。本系統(tǒng)共有兩局部構(gòu)成,即硬件局部與軟件局

21、部。其中硬件局部由電源輸入局部、鍵盤(pán)輸入局部、密碼存儲(chǔ)局部、復(fù)位局部、晶振局部、顯示局部、報(bào)警局部、開(kāi)鎖局部組成,軟件局部對(duì)應(yīng)的由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、啟動(dòng)程序、關(guān)閉程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。STC89C52鍵盤(pán)輸入復(fù)位電路密碼存儲(chǔ)電路晶振電路電源輸入顯示電路報(bào)警電路開(kāi)鎖電路 單片機(jī)電子密碼鎖原理框圖 硬件總體構(gòu)成在確定了選用什么型號(hào)的單片機(jī)后,就要確定在外圍電路,其外圍電路包括電源輸入局部、鍵盤(pán)輸入局部、密碼存儲(chǔ)局部、復(fù)位局部、晶振局部、顯示局部、報(bào)警局部、開(kāi)鎖局部組成,根據(jù)實(shí)際情況鍵盤(pán)輸入局部選擇4*4矩陣鍵盤(pán),顯示局部選擇字符型

22、液晶顯示LCD1602,密碼存儲(chǔ)局部選用AT24C02芯片來(lái)完成。其原理圖如附錄一所示。.1 電源局部密碼鎖主控制局部電源需要用5V直流電源供電,本設(shè)計(jì)直接留出電源端提供外置電源輸入接口,可以使用外置5V穩(wěn)壓直流電源供電,亦可以使用電腦USB接口供電。.2 鍵盤(pán)輸入局部由于本設(shè)計(jì)所用到的按鍵數(shù)量較多而不適合用獨(dú)立按鍵式鍵盤(pán)。采用的是矩陣式按鍵鍵盤(pán),它由行線和列線組成,也稱行列式鍵盤(pán),按鍵位于行列的交叉點(diǎn)上,密碼鎖的密碼由鍵盤(pán)輸入完成,與獨(dú)立式按鍵鍵盤(pán)相比,要節(jié)省很多I/O口。本設(shè)計(jì)中使用的這個(gè)4*4鍵盤(pán)不但能完成密碼的輸入還能作特別功能鍵使用,設(shè)置功能等。鍵盤(pán)的每個(gè)按鍵功能在程序設(shè)計(jì)中設(shè)置。其

23、大體功能看鍵盤(pán)按鍵上的標(biāo)記及與單片機(jī)引腳接法如下列圖所示:鍵盤(pán)輸入局部原理圖3.3 密碼外存局部用EPROM芯片AT24C02存儲(chǔ)密碼。AT24C02是美國(guó)Atmel公司的低功耗CMOS型E2PROM,內(nèi)含2568位存儲(chǔ)空間,具有工作電壓寬(2.55.5 V)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于10 ms)、抗干擾能力強(qiáng)、數(shù)據(jù)不易喪失、體積小等特點(diǎn)。而且他是采用了I2C總線式進(jìn)行數(shù)據(jù)讀寫(xiě)的串行器件,占用很少的資源和IO線,并且支持在線編程,進(jìn)行數(shù)據(jù)實(shí)時(shí)的存取十分方便。AT24C02中帶有的片內(nèi)地址存放器。每寫(xiě)入或讀出一個(gè)數(shù)據(jù)字節(jié)后,該地址存放器自動(dòng)加1,以實(shí)現(xiàn)對(duì)下一個(gè)存儲(chǔ)單元的讀

24、寫(xiě)。所有字節(jié)均以單一操作方式讀取。為降低總的寫(xiě)入時(shí)間,一次操作可寫(xiě)入多達(dá)8個(gè)字節(jié)的數(shù)據(jù)。I2C總線是一種用于IC器件之間連接的二線制總線。他通過(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ā)出以后,

25、主機(jī)便會(huì)發(fā)出控制字,以選擇從機(jī)并控制總線傳送的方向 。其接線如下列圖所示: 密碼存儲(chǔ)電路原理圖.4 復(fù)位局部單片機(jī)復(fù)位是使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)開(kāi)始工作,例如復(fù)位后PC0000H,使單片機(jī)從第個(gè)單元取指令。無(wú)論是在單片機(jī)剛開(kāi)始接上電源時(shí),還是斷電后或者發(fā)生故障后都要復(fù)位。在復(fù)位期間即RST為高電平期間,P0口為高組態(tài),P1P3口輸出高電平;外部程序存儲(chǔ)器讀選通信號(hào)PSEN無(wú)效。地址鎖存信號(hào)ALE也為高電平。根據(jù)實(shí)際情況選擇如圖4-6所示的復(fù)位電路。該電路在最簡(jiǎn)單的復(fù)位電路下增加了手動(dòng)復(fù)位按鍵,在接通電源瞬間,電容C1上的電壓很小,復(fù)位下拉電阻 上的電

26、壓接近電源電壓,即RST為高電平,在電容充電的過(guò)程中RST端電壓逐漸下降,當(dāng)RST端的電壓小于某一數(shù)值后,CPU脫離復(fù)位狀態(tài),由于電容C1足夠大,可以保證RST高電平有效時(shí)間大于24個(gè)振蕩周期,CPU能夠可靠復(fù)位。增加手動(dòng)復(fù)位按鍵是為了防止死機(jī)時(shí)無(wú)法可靠復(fù)位。當(dāng)復(fù)位按鍵按下后電容C1通過(guò)R放電。當(dāng)電容C1放電結(jié)束后,RST端的電位為高電平。由于RST為高電平,CPU處于復(fù)位狀態(tài),松手后,電容C1充電,RST端電位下降,CPU脫離復(fù)位狀態(tài)。R5的作用在于限制按鍵按下瞬間電容C1的放電電流,防止產(chǎn)生火花,以保護(hù)按鍵觸電。復(fù)位電路原理圖.5 晶振局部STC89C52引腳XTAL1和XTAL2與晶體振

27、蕩器及電容C按下列圖所示方式連接。晶振、電容C1C2及片內(nèi)與非門作為反應(yīng)、放大元件構(gòu)成了電容三點(diǎn)式振蕩器,振蕩信號(hào)頻率與晶振頻率及電容C1、C2的容量有關(guān),但主要由晶振頻率決定,范圍在033MHz之間,電容C1、C2取值范圍在530pF之間。根據(jù)實(shí)際情況,本設(shè)計(jì)中采用12MHZ做為系統(tǒng)的外部晶振。電容取值為30pF。晶振電路原理圖.6 顯示局部為了提高密碼鎖的密碼顯示效果能力。本設(shè)計(jì)的顯示局部由液晶顯示器LCD1602取代普通的數(shù)碼管來(lái)完成。只有接通電源后,顯示器才處于開(kāi)啟狀態(tài)。否那么顯示器將一直處于初始狀態(tài),當(dāng)需要對(duì)密碼鎖進(jìn)行開(kāi)鎖時(shí),按下鍵盤(pán)上的OPEN按鍵后利用鍵盤(pán)上的數(shù)字鍵09輸入密碼,

28、每按下一個(gè)數(shù)字鍵后在顯示器上顯示一個(gè)*,輸入多少位就顯示多少個(gè)*。當(dāng)密碼輸入完成時(shí),按下確認(rèn)OK鍵,然后用LCD顯示相關(guān)的提示信息。以下是顯示局部接線圖。顯示電路原理圖.7 受控開(kāi)鎖局部此處利用聲光模擬密碼鎖電路得控制效果,當(dāng)密碼輸入正確時(shí),綠燈亮,反之那么紅燈亮,連續(xù)輸入錯(cuò)誤那么蜂鳴器鳴叫報(bào)警。在實(shí)際應(yīng)用中可將綠燈換成電磁閥來(lái)實(shí)現(xiàn)電能向動(dòng)能的轉(zhuǎn)換來(lái)實(shí)現(xiàn)實(shí)際的問(wèn)題。 聲光指示電路4、程序設(shè)計(jì)本系統(tǒng)軟件設(shè)計(jì)由主程序、初始化程序、LCD顯示程序、鍵盤(pán)掃描程序、鍵功能程序、密碼設(shè)置程序、EEPROM讀寫(xiě)程序和延時(shí)程序等組成。主要程序設(shè)計(jì)流程圖如下所示:4.1 主程序流程圖開(kāi)始初始化鍵盤(pán)掃描啟動(dòng)程序鍵

29、盤(pán)掃描鍵功能程序結(jié)束關(guān)閉程序4.2 密碼操作流程圖設(shè)置程序初始化按下設(shè)置鍵輸入密碼確認(rèn)程序設(shè)置成功 初始化按開(kāi)鎖鍵輸入密碼確認(rèn)程序輸入正確?Y開(kāi)鎖成功開(kāi)鎖程序輸入次數(shù)加1次數(shù)3?報(bào)警程序返回NYNY密碼設(shè)置流程圖 開(kāi)鎖操作流程圖4.3 按鍵功能流程圖鍵功能程序鍵值09?鍵值開(kāi)鎖?鍵值設(shè)置?鍵值確認(rèn)?密碼輸入程序設(shè)置程序開(kāi)鎖程序確認(rèn)程序YYYYNNN返回N5、總結(jié)本設(shè)計(jì)從經(jīng)濟(jì)實(shí)用的角度出發(fā),采用宏基公司生產(chǎn)的STC89系列STC89C52單片機(jī)與低功耗CMOS型E2PROM HYPERLINK :/ dzsc /icstock/145/AT24C02.html t _blank AT24C02作

30、為主控芯片與數(shù)據(jù)存儲(chǔ)器單元,結(jié)合外圍的鍵盤(pán)輸入、顯示、報(bào)警、開(kāi)鎖等電路并用C語(yǔ)言編寫(xiě)主控芯片的控制程序,設(shè)計(jì)了一款可以屢次更改密碼具有報(bào)警功能的電子密碼鎖。設(shè)計(jì)根本可行可以到達(dá)設(shè)計(jì)目地。使用單片機(jī)制作的電子密碼鎖具有軟硬件設(shè)計(jì)簡(jiǎn)單,易于開(kāi)發(fā),本錢較低,平安可靠,操作方便等特點(diǎn),可應(yīng)用于住宅、辦公室的保險(xiǎn)箱及檔案柜等需要防盜的場(chǎng)所,有一定的實(shí)用性。該電路設(shè)計(jì)還具有按鍵有效提示,輸入錯(cuò)誤提示,控制開(kāi)鎖電平,控制報(bào)警電路,修改密碼等多種功能。由于設(shè)計(jì)此電路的時(shí)間較倉(cāng)促,其中還有些許未考慮周全的因素,還需要繼續(xù)的改良和完善。參考文獻(xiàn)1 石文軒,宋薇.基于單片機(jī)MCS一51的智能密碼鎖設(shè)計(jì)M.武漢工程職

31、業(yè)技術(shù)學(xué)院學(xué)報(bào),2004,(01);2 祖龍起,劉仁杰.一種新型可編程密碼鎖J.大連輕工業(yè)學(xué)院學(xué)報(bào),2002,(01);3 葉啟明.單片機(jī)制作的新型平安密碼鎖J.家庭電子,2005,(10);4 郭海英.基于單片機(jī)的電子平安密碼鎖的設(shè)計(jì)M.現(xiàn)代電子技術(shù),2005,(13);5 李明喜.新型電子密碼鎖的設(shè)計(jì)J.機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2004,(03);6 董繼成.一種新型平安的單片機(jī)密碼鎖J.電子技術(shù),2004,(03);7 祖龍起,劉仁杰,孫乃凌.一種新穎的電子密碼鎖J.電子世界,2001,(10);8 李明喜.新型電子密碼鎖的設(shè)計(jì)J.機(jī)電產(chǎn)品開(kāi)發(fā)與創(chuàng)新,2004,(03);9 楊茂濤.一種電子

32、密碼鎖的實(shí)現(xiàn)J.福建電腦,2004,(08);10 瞿貴榮.實(shí)用電子密碼鎖J.家庭電子,2000,(07);8L-8AC,2006,(01);12 Wireless World,1998,vol、84,No、1509,p69;13 王千.實(shí)用電子電路大全M,電子工業(yè)出版社,2001,p101;14 何立民.單片機(jī)應(yīng)用技術(shù)選編M,北京:北京航空大學(xué)出版社,1998;15 李華.MCS-51系列單片機(jī)使用接口技術(shù)M,北京航空航天大學(xué)出版社,1993;典型系統(tǒng)設(shè)計(jì)實(shí)例精講M,北京:電子工業(yè)出版社,2006;17 潘永雄.新編單片機(jī)原理與應(yīng)用M,西安:西安電子科技大學(xué)出版社,2003;18 童詩(shī)白,華

33、成英,模擬電子技術(shù)根底M,北京:高等教育出版社,2000;19 閻石主.數(shù)字電子技術(shù)根底M,北京:高等教育出版社,1998;20 樊昌信,曹麗娜.通信原理M,北京:國(guó)防工業(yè)出版社,2007;21 李瀚蓀.電路分析根底M,北京:高等教育出版社1991;附件一:電路原理圖作品實(shí)物圖 1、電路原理圖2、作品實(shí)物圖附件三:程序清單主程序/*家庭電子鎖 */*C語(yǔ)言版*/*2021年 1月*/#include #include #include #include #include #includeuchar code a0=Password Setting;uchar code a1=welcome t

34、o here ;uchar code a2=input password:;uchar code a4=input length:;uchar code a5=wait for .;uchar code a6=secret is saving;uchar code a7=wait for .;uchar code a8=secret is OK;uchar code a9 =Setting completed;uchar code a10 =secret is ERROR;uchar code a11 =setting serect;uchar code b1=Families lock;uc

35、har code b2=Password;uchar code c1=Open the door ;uchar code c2=Welcome host ;uchar code c3=who are you ? ;uchar code c4=I dont know you;uchar code c5=Password ERROR!;bit FLAG1,FLAG2,FLAG3,FALG4;uchar idata set111=0,0,0,0,0,0,0,0,0,0,0;uchar idata set211=0,0,0,0,0,0,0,0,0,0,0; enum jianenter=10,canc

36、el,open,setserect ;/用戶密碼設(shè)置user(); / 密碼輸入 inputserect / 開(kāi)鎖顯示 OPENLOCK()/密碼讀入readserect()/*密碼讀入 void readserect() int i; for(i=0;iread_random(20);i+) set1i= read_random(i) ; void yanzh1() clear(); write1602(0,0,a8); write1602(0,1,a5); delay(1000); clear(); write1602(0,0,c1); write1602(0,1,c2); delay(1

37、000); delay(1000);clear(); void yanzh2() write1602(0,0,a10); write1602(0,1,a5); delay(1000); write1602(0,0,c3); write1602(0,1,c4); delay(1000); delay(1000);clear(); void clear1() int i; for(i=0;i16;i+) wcom(0 xc0+i); wdata(0 x20); / 開(kāi)鎖函數(shù) void openlock()uchar i=0,m,j=0; m=read_random(20) ;readserect(

38、);next: key=18;i=0;j+; while(key=18) /矩陣鍵盤(pán) while(flag) keydown(); flag=1; if(key!=18) wcom(0 xc0+i);/顯示輸入密碼 wdata(*); set2i=key+0 x30; i+; if(key=enter) key=0;i=0; else key=18; for(i=0;im;i+) if(set1i!=set2i&j!=3) for(i=0;im;i+) set2i=0; RED=0; GREEN=1; clear(); write1602( 0,0, c5); delay(1000);clea

39、r(); write1602( 0,0, a2); goto next; if(j=3) j=0;clear(); yanzh2();BEEP=0;RED=0; GREEN=1; else yanzh1(); GREEN=0;RED=1;/useserect()uchar i=0 ;write1602(0,0,a0); write1602(0,1,a5);delay(1000);clear();write1602(0,0,a2); key=18; while(key=18) /矩陣鍵盤(pán) while(flag) keydown(); flag=1; if(key!=18) wcom(0 xc0+

40、i);/顯示輸入密碼 wdata(key+0 x30); write_byte(i,key+0 x30); /密碼存儲(chǔ) i+; write_byte(20,i-1); /密碼存儲(chǔ) if(key=enter) key=0; else key=18; clear(); write1602(0,0,a6); write1602(0,1,a7);delay(1000);clear();/ void main() /顯初始化 init();while(1) write1602(0,0,b1);write1602(0,1,a1); while(flag) keydown(); flag=1;switch(

41、key) case open: clear(); write1602( 0,0, a2); openlock(); break; case setserect : useserect(); break; 單片機(jī)引腳定義:sbit RS = P10; /RS數(shù)據(jù)命令選擇端,高電平數(shù)據(jù),低電平命令sbit RW = P11; /RW讀寫(xiě)選擇端,高電平讀操作,低電平寫(xiě)操作sbit E = P12; /E使能控制端,E高電平跳變?yōu)榈碗娖綍r(shí)LCD執(zhí)行命令sbit SDA = P35; sbit SCL = P34; sbit date1602 =P0;sbit k1= P36; sbit k2= P37

42、; sbit k3= P15; sbit BEEP=P13; /報(bào)警器 sbit RED=P15;sbit GREEN=P14;24C02存取程序C代碼: #include #define uchar unsigned char #define uint unsigned int #define OP_WRITE 0 xa0 / 器件地址以及寫(xiě)入操作 #define OP_READ 0 xa1 / 器件地址以及讀取操作 void delayNOP() _nop_();_nop_();_nop_();_nop_(); void delayms(uint ms) / 延時(shí)子程序 uchar k;

43、while(ms-) for(k = 0; k 90; k+); /*/ void start() /開(kāi)始位 SDA = 1; SCL = 1; delayNOP(); SDA = 0; delayNOP(); SCL = 0; /*/ void stop() / 停止位 SDA = 0; delayNOP(); SCL = 1; delayNOP(); SDA = 1; /*寫(xiě)操作*/ uchar shin() / 從AT24C02移出數(shù)據(jù)到MCU uchar i,read_data; for(i = 0; i 8; i+) SCL = 1; read_data = 1; read_data

44、 |= SDA; SCL = 0; return(read_data); /*讀操作*/ bit shout(uchar write_data) / 從MCU移出數(shù)據(jù)到AT24C02 uchar i; bit ack_bit; for(i = 0; i 8; i+) / 循環(huán)移入8個(gè)位 SDA = (bit)(write_data & 0 x80); _nop_(); SCL = 1; delayNOP(); SCL = 0; write_data = 1; SDA = 1; / 讀取應(yīng)答 delayNOP(); SCL = 1; delayNOP(); ack_bit = SDA; SCL

45、= 0; return ack_bit; / 返回AT24C02應(yīng)答位 /*/ void write_byte(uchar addr, uchar write_data) / 在指定地址addr處寫(xiě)入數(shù)據(jù)write_data start(); shout(OP_WRITE); shout(addr); shout(write_data); stop(); delayms(10); / 寫(xiě)入周期 /*/ /*/ uchar read_current() / 在當(dāng)前地址讀取 uchar read_data; start(); shout(OP_READ); read_data = shin();

46、stop(); return read_data; /*/ uchar read_random(uchar random_addr) / 在指定地址讀取 start(); shout(OP_WRITE); shout(random_addr); return(read_current(); /* void write_byte( uchar addr, uchar write_data); /在任意地址傳送數(shù)據(jù) void fill_byte(uchar fill_size,uchar fill_data); /填充數(shù)據(jù)初始化 uchar read_random(uchar random_add

47、r);/ 在指定地址讀取*/1602根本操作頭文件:/*LCD1602根本操作函數(shù)*/*/#define uchar unsigned char delay(int x)int tt ,i;for(tt=1;tt=x;tt+)for(i=1;i125;i+); /寫(xiě)指令 void wcom(char com)RS=0;RW=0;E=1;P0 =com;delay(5);E=0;/寫(xiě)數(shù)據(jù) void wdata(char data1)RS=1;RW=0;E=1;P0=data1;delay(5);E=0; void clear() wcom (0 x01);void rehome() wcom(0

48、 x02); void mode(bit x) if(x=1)wcom(0 x38); /兩行5*8 mode else wcom(0 x34); /一行5*10 modevoid on_off(bit x) if(x=1)wcom(0 x0f); /顯示開(kāi),光標(biāo)開(kāi),光標(biāo)閃爍 else wcom(0 x0c); /顯示開(kāi),光標(biāo)關(guān)/按指定位置顯示一個(gè)字符void OutputInformation(uchar X, uchar Y, uchar DData) Y &= 0 x1; X &= 0 xF; if (Y) X = X |0 x40; X = X |0 x80; wcom(X); wda

49、ta(DData); void writeone(uchar X ) wcom(0 xc0+X); wdata(*); /按指定位置顯示一串字符 void write1602(uchar X, uchar Y, uchar code *DData) uchar ListLength,j; ListLength = strlen(DData); Y &= 0 x1; X &= 0 xF; if (X = 0 xF) for(j=0;jListLength;j+) OutputInformation(X, Y, DDataj); X+; void init()clear(); /清屏 rehome

50、();mode(1); /模式設(shè)置on_off(0); /顯示設(shè)置wcom(0 x06); /移動(dòng)方式 鍵盤(pán)掃描模塊程序: /鍵盤(pán)掃描4*4#include #define uchar unsigned char #define uint unsigned int uchar lk=0;uchar key=0,key1=0,key2=0,key3=0,flag=1;unsigned char code key_code= 0 xee,0 xed,0 xeb,0 xe7,0 xde,0 xdd,0 xdb,0 xd7,0 xbe,0 xbd,0 xbb,0 xb7,0 x7e,0 x7d,0 x

51、7b,0 x77 ;uchar keyscan()uchar scan1,scan2,keycode,j;P2=0 xf0;scan1=P2; if(scan1&0 xf0)!=0 xf0) /判鍵是否按下 BEEP=0; delayms(30); /延時(shí)30ms scan1=P2; if(scan1&0 xf0)!=0 xf0) /二次判鍵是否按下 P2=0 x0f; scan2=P2; keycode=scan1|scan2; /組合成鍵編碼 for(j=0;j=15;j+) if(keycode= key_codej) /查表得鍵值 scan1=P2; while(scan1!=0 x0f)scan1=P2;flag=0; BEEP=1; return(j); else P2=0 xff;return (16); void keydown()uchar temp; P2=0 x0f; temp =P2;if(temp&0 x0f)!=0 x0f)k

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論