版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題 目 基于單片機(jī)與GSM模塊的電子密碼鎖設(shè)計(jì)</p><p> 物理與信息工程 學(xué) 院 電子信息科學(xué)與技術(shù) 專 業(yè) 07級 1 班</p><p><b> 目 錄</b></p><p><b
2、> 摘要</b></p><p><b> 引言</b></p><p> 第1章 電子密碼鎖的總體設(shè)計(jì)方案的選擇</p><p> 第1.1節(jié) 方案一:采用數(shù)字控制電路</p><p> 第1.2節(jié) 方案二:采用單片機(jī)為主控制器的方案</p><p> 第1.
3、3節(jié) 方案三:采用單片機(jī)為主控制系統(tǒng),GSM模塊作為報(bào)警系統(tǒng)</p><p> 第2章 主要元器件說明</p><p> 第2.1節(jié) MCS-51單片機(jī)介紹</p><p> 第2.2節(jié) LCD1602顯示器介紹</p><p> 第2.3節(jié) AT24C02 串行EPROM介紹</p><p> 第
4、2.4節(jié) GSM模塊說明</p><p> 第3章 系統(tǒng)硬件設(shè)計(jì)</p><p> 第3.1節(jié) 系統(tǒng)硬件總設(shè)計(jì)</p><p><b> 第3.2節(jié) 電源</b></p><p> 第3.3節(jié) 按鍵輸入部分</p><p> 第3.4節(jié) 單片機(jī)與GSM模塊串行通信部分<
5、/p><p> 第4章 系統(tǒng)軟件設(shè)計(jì)</p><p> 第4.1節(jié) 主程序流程圖</p><p> 第4.2節(jié) 按鍵功能流程圖</p><p> 第4.3節(jié) 密碼設(shè)置流程圖及報(bào)警流程圖</p><p> 第5章 系統(tǒng)軟件設(shè)計(jì)</p><p> 第4.1節(jié) 主控制板的調(diào)試<
6、;/p><p> 第4.2節(jié) GSM模塊調(diào)試</p><p><b> 總結(jié)</b></p><p><b> 參考文獻(xiàn)</b></p><p><b> 致謝</b></p><p><b> 附錄圖</b><
7、;/p><p> 基于單片機(jī)與GSM的電子密碼鎖的設(shè)計(jì)</p><p> 物理與信息工程學(xué)院 電子信息科學(xué)與技術(shù) </p><p><b> 指導(dǎo)老師 </b></p><p> 【摘要】:隨著科學(xué)技術(shù)的發(fā)展,電子密碼鎖已經(jīng)越來越成為人們生活中不可或缺的安全防范利器。文章首先介紹了基于單片機(jī)和GSM模塊的密碼控制系
8、統(tǒng),然后簡要描述了設(shè)計(jì)電子密碼鎖系統(tǒng)的意義。文章采用分塊模式,對整個系統(tǒng)的硬件與軟件設(shè)計(jì)進(jìn)行描述,其中硬件部分著重介紹了GSM模塊,單片機(jī)STC89C51作為MCU及其外圍電路,24C02 存儲電路,矩陣按鍵輸入電路,LCD顯示電路,GSM模塊與主控制板連接電路等。軟件部分用C語言編寫主控制器與GSM模塊的發(fā)送接收,24C02的讀寫。設(shè)計(jì)了一款可以多次修改密碼,自動鎖定按鍵等功能的電子密碼鎖。 </p><p>
9、 【關(guān)鍵詞】:電子密碼鎖;單片機(jī);GSM;24C02;</p><p><b> 引言</b></p><p> 當(dāng)今世界科技不斷發(fā)展,人們的安全意識越來越高,安全成了我們共同的話題。在銀行、酒店、商場、航天等各行各業(yè),防盜報(bào)警更是至關(guān)重要的,對環(huán)境要進(jìn)行密切的監(jiān)視,以防止失竊的發(fā)生,當(dāng)發(fā)生失竊時能第一時間報(bào)警。這里我就介紹一下我自己做的一款基于51單片機(jī)和GS
10、M模塊的電子密碼鎖。</p><p> 傳統(tǒng)的機(jī)械鎖被撬的事件屢見不鮮,因?yàn)槠錁?gòu)造簡單,功能單一,沒智能化,位置固定,不能隨意換位置。而電子鎖克服了機(jī)械式密碼鎖設(shè)置密碼量少、安全性能差的缺點(diǎn),并且其保密性高,使用靈活性好,密碼可變,安全系數(shù)高,使電子密碼鎖無論在技術(shù)上還是在方便性上都受到了廣大人們?nèi)罕姷挠H愛。隨著大規(guī)模集成電路的出現(xiàn),特別是單片機(jī)的問世,出現(xiàn)了許多帶微處理器的智能密碼鎖。</p>
11、<p> 而我設(shè)計(jì)的電子密碼鎖是一種基于MCS-51和GSM模塊智能鎖的硬件和軟件設(shè)計(jì)及實(shí)現(xiàn)方案,綜合應(yīng)用了所學(xué)的單片機(jī)、通信原理、電路設(shè)計(jì)等方面的知識。特別適用于家庭、辦公室、服務(wù)、學(xué)生宿舍及賓館等場所等的文檔、財(cái)務(wù)等安全報(bào)警。電路設(shè)計(jì)具有按鍵輸入有效提示,輸入錯誤提示,開鎖電路,控制報(bào)警電路,修改密碼等多種功能,可在意外泄密的情況下隨時修改密碼6位數(shù)密碼,保密性強(qiáng),使用靈活性高。當(dāng)密碼連續(xù)3次輸入錯誤時便會通過GSM模塊
12、自動報(bào)警并且蜂鳴器響。它是通過按鍵輸入與存儲密碼進(jìn)行對比,從而控制電磁鎖的開關(guān),具有推廣意義。</p><p> 本設(shè)計(jì)中采用了微處理器STC89C51芯片單片機(jī)為主控制芯片,采用LCD1602液晶顯示屏幕與矩陣式鍵盤,方便手動輸入與數(shù)字顯示。為了防止掉電等意外事件的發(fā)生,我們采用了AT24C02 作為掉電保護(hù)。用戶想打開鎖必須通過鍵盤輸入正確的密碼。密碼輸入錯誤有提示,為了提高安全性,當(dāng)輸入密碼連續(xù)3次錯誤蜂
13、鳴器響起并通過GSM模塊報(bào)警。并且用戶可以隨時用手機(jī)向GSM模塊發(fā)出通信使密碼鎖處于鎖定狀態(tài)。鎖打開后才能修改密碼,輸入新密碼時需要2次確認(rèn),以防止誤操作。這些人性化設(shè)計(jì)使其更安全可靠、通過GSM模塊和單片機(jī)的組合運(yùn)用使其具有一定的智能化,硬件電路簡單、易于實(shí)現(xiàn)、可以通過軟件對系統(tǒng)進(jìn)行優(yōu)化,具有很好的市場推廣價值。</p><p> 電子密碼鎖的總體設(shè)計(jì)方案的選擇</p><p> 為
14、了使設(shè)計(jì)更具有針對性,可靠性更強(qiáng),在做設(shè)計(jì)之前我想了2種不同的設(shè)計(jì)方案。</p><p> 1.1方案一:采用數(shù)字控制電路(基于用以74LS112)。</p><p> 利用雙JK觸發(fā)器74LS112構(gòu)成數(shù)字邏輯電路控制, 555電路等實(shí)現(xiàn)對鎖的控制。設(shè)置9個按鍵,其中4個是有效按鍵,其它的都是干擾按鍵,如果按下干擾鍵,鍵盤輸入自動清零,原先輸入的密碼無效,需要重新輸入;如果用戶輸入密
15、碼的時間超過20秒(一般情況下,用戶不會超過40秒,若用戶覺得不便,還可以修改)電路將報(bào)警30秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤5分鐘,防止他人的非法操作。該系統(tǒng)外圍電路少,功能單一并且不能通過編程來實(shí)現(xiàn),密碼一旦忘記或掉電就無法開鎖,輸入密碼無提示,準(zhǔn)確性和靈活性差。所以不采用[1]。</p><p> 1.2方案二:采用單片機(jī)為主控制器的方案。</p><p> 由于單片機(jī)種類
16、多各種型號的功能不一,試用場合各不相同。因此要多加比較選擇一款適合做本設(shè)計(jì)的型號。我從以下幾個方面考慮:存儲器容量,指令系統(tǒng),串口通信,中斷系統(tǒng),此外還有中斷源優(yōu)先級個數(shù),工作電壓和溫度,時鐘震蕩等。再結(jié)合我們平時所學(xué)。以上各個因素我選擇89C51作為本設(shè)計(jì)的主控制器。利用其豐富的I/O口資源和靈活的程序設(shè)計(jì),實(shí)現(xiàn)密碼鎖的基本功能。它把CPU、存儲器、及I/O口集成到一個芯片上,只要加少許外圍器件就能夠成控制系統(tǒng)。這樣就可以節(jié)省硬件成本
17、,通過程序來實(shí)現(xiàn)各種功能。單片機(jī)外圍接4*4矩陣鍵盤作為密碼輸入和功能鍵,用LCD1602作顯示器[2]。24C02作為外部存儲芯片,用于密碼掉電保護(hù)。鍵盤由0-9十個數(shù)字鍵、啟動、刪除、確認(rèn)、修改密碼共14個鍵組成。用戶輸入密碼正確則開鎖,輸入錯誤LCD則會提示。如果連續(xù)3次輸入錯誤則蜂鳴器發(fā)出報(bào)警聲。用戶只有在輸入密碼正確時才能修改密碼,新密碼必須輸入2次以防止誤操作。</p><p> 1.3方案三:采用
18、單片機(jī)為主控制系統(tǒng),GSM模塊作為報(bào)警系統(tǒng)。</p><p> 在方案二的基礎(chǔ)上添加了GSM模塊,單片機(jī)通過RS-232與GSM模塊進(jìn)行串行通信。當(dāng)密碼3次輸入錯誤時單片機(jī)通過串口控制GSM模塊向用戶手機(jī)發(fā)送信息,提醒用戶此時密碼鎖有危險。用戶隨時可通過手機(jī)向密碼鎖發(fā)出信息將其鎖定,此時鍵盤被鎖定密碼鎖將無法打開,防止密碼鎖被打開。</p><p> 方案三在方案二的基礎(chǔ)上運(yùn)用了移動通
19、信技術(shù),使密碼鎖的安全性、可靠性、靈活性及可控制性得到了大大的提高,且有智能化的特點(diǎn),現(xiàn)實(shí)生活中運(yùn)用方便,因此選用方案三。</p><p> 第2章 主要元器件說明</p><p> 2.1 MCS-51單片機(jī)介紹</p><p> MCS-51系列單片機(jī)是Intel公司繼MCS-48系列單片機(jī)之后開發(fā)的一款8位單片機(jī)。它是一款高性能、高集成度、低功耗的單片機(jī)
20、,具有8位CPU,4K程序存儲器、128字節(jié)數(shù)據(jù)存儲器,外部可擴(kuò)張60K程序存儲器和64K數(shù)據(jù)存儲器,2個16位定時/記數(shù)器,5個中斷優(yōu)先級,4個八位并行I/O口,最高時鐘頻率12MHZ。[3]在不連接外圍電路的情況下能實(shí)現(xiàn)很多邏輯功能,89C51單片機(jī)是一款不可多得的高性能單片機(jī),它不僅適合用于簡單的測控,也適用于復(fù)雜的測控系統(tǒng)。</p><p> 2.1.1芯片STC89C51的性能及其常用參數(shù)的分析<
21、;/p><p> STC89C51內(nèi)部具有2KB字節(jié)快閃存存儲器,采用DIP封裝,是目前在中小系統(tǒng)中應(yīng)用最為普及的單片機(jī)。芯片引腳排列如圖3.1所示,8951單片機(jī)的端口都是準(zhǔn)雙向口,每個I/O口都能獨(dú)立輸入輸出。每個I/O口都有一個鎖存器,一個輸出驅(qū)動器和輸入緩沖器。再無外部擴(kuò)展存儲器系統(tǒng)中,這四個端口都可以作為準(zhǔn)雙向I/O口使用。當(dāng)有擴(kuò)張外部存儲器時,P2口送出高8位地址P0口分時復(fù)用做雙向總線,分時送出低八位
22、地址和數(shù)據(jù)的輸入/輸出;P3口是一個多功能端口各個引腳具有第二功能[4]。(P3.0為串行數(shù)據(jù)接受端,P3.1位串行數(shù)據(jù)發(fā)送端,P3.2為外部中斷0請求,P3.3為外部中斷1請求,P3.4為定時器/計(jì)數(shù)器0的外部事件計(jì)數(shù)輸入,P3.5為定時器/計(jì)數(shù)器1的外部事件計(jì)數(shù)輸入,P3.6位片外數(shù)據(jù)存儲器“寫選通控制”輸出,P3.7為片外數(shù)據(jù)存儲器“讀選存儲器”輸出)。</p><p> 圖2.1 芯片引腳排列 &
23、lt;/p><p><b> 其主要功能特點(diǎn):</b></p><p> ?。?)4K可反復(fù)擦寫的Flash ROM</p><p> (2)低功耗空閑和省電模式</p><p> ?。?)4.5-5.5V工作電壓,全靜態(tài)工作</p><p> ?。?)中斷喚醒省電模式</p>&l
24、t;p> ?。?)2個可編程定時/計(jì)數(shù)器</p><p> ?。?)3級程序存儲加密</p><p> ?。?)全雙工UART串行中斷口線</p><p> 可見STC89C51的功能齊全,體積小、可靠性高、成本低。可用5V電壓編程,不容易損壞器件,且擦寫時間只有10ms。STC89C51芯片提供了三級程序存儲器加密,能完全保證程序或系統(tǒng)不被仿制。同時,芯片
25、可降至0Hz靜態(tài)邏輯操作,并支持兩種省電模式。</p><p> 2.1.2 STC89C51引腳功能說明[3]</p><p> 采用HMOS工藝的51系列單片機(jī)都采用40條引腳的雙列直插封裝(DIP)方式,這里只對DIP封裝各引腳功能簡要說明。</p><p> Vss(20腳):電路低電平。</p><p> Vcc(40腳):
26、正常運(yùn)行和編程校驗(yàn)時為+5V電源。</p><p> RST:震蕩器工作時,由該引腳輸入2個機(jī)器周期的高電平時復(fù)位單片機(jī)。</p><p> ALE/PROG(30腳):ALE允許地址鎖存信號輸出。當(dāng)訪問外部存儲器時,ALE信號的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪問外部存儲器期間,ALE仍以1/6震蕩頻率固定不變的速率輸出,因此它能作外部時鐘或定時信號用。當(dāng)訪問外部數(shù)據(jù)存儲
27、器時,將以1/2震蕩頻率輸出。PROG為編程脈沖輸入端。</p><p> PSEN(29腳):訪問外部程序存儲器選通信號,低電平有效。</p><p> Vpp/EA(31腳)):EA為訪問內(nèi)部或外部程序存儲器選擇信號。當(dāng)EA保持高電平時訪問內(nèi)部存儲器。</p><p> P0口:8位漏極開路雙向并行I/O端口。當(dāng)訪問外部存儲器時,它是地址總線(低8位)和數(shù)
28、據(jù)總線復(fù)用;外部不擴(kuò)展而單片機(jī)應(yīng)用時,則作雙向I/O口用;在進(jìn)行片內(nèi)程序效驗(yàn)期間,作指令代碼輸出。可接8個LSTTL負(fù)載[7]。</p><p> P1口:8位準(zhǔn)雙向并行I/O口。在片內(nèi)編程和程序效驗(yàn)期間,作為低8位地址總線用。</p><p> P2口:8位準(zhǔn)雙向并行I/O端口。當(dāng)訪問外部存儲器時做高8位地址總線用;不作外部功能擴(kuò)展(單片機(jī)應(yīng)用)時,則作準(zhǔn)雙向I/O口用;在片內(nèi)程序效
29、驗(yàn)期間作高8位地址線。它可帶4個LSTTL負(fù)載。</p><p> P3口:具有內(nèi)部上拉電路的8位并行準(zhǔn)雙向口。它還提供特殊的第2功能。它的每一位均可獨(dú)立定義為第一功能I/O口或第二功能。第二特殊功能具體含義為:</p><p> P3.0為串行數(shù)據(jù)接受端。</p><p> P3.1位串行數(shù)據(jù)發(fā)送端。</p><p> P3.2為外
30、部中斷0請求。</p><p> P3.3為外部中斷1請求。</p><p> P3.4為定時器/計(jì)數(shù)器0的外部事件計(jì)數(shù)輸入。</p><p> P3.5為定時器/計(jì)數(shù)器1的外部事件計(jì)數(shù)輸入。</p><p> P3.6位片外數(shù)據(jù)存儲器“寫選通控制”輸出。</p><p> P3.7為片外數(shù)據(jù)存儲器“讀選存儲
31、器”輸出。</p><p> 2.2 LCD1602顯示器介紹</p><p> LCD1602是一款專門用于顯示符號、數(shù)字、字母等點(diǎn)陣LCD顯示屏。它具有體積小、功耗低、顯示內(nèi)容豐富、性價比高等特點(diǎn)。它可以顯示2行16個字符,有8位并行數(shù)據(jù)線和RS、R/W、EN三個控制口。LCD1602有背光和不背光兩種型號,且大部用HD44789作為控制器。背光的略厚些,是否背光在本設(shè)計(jì)中并無任何
32、差別。因此適合作為本設(shè)計(jì)的顯示模塊。</p><p> 圖2.2 LCD1602</p><p> 2.2.1 LCD1602各引腳說明[5]</p><p> 1602LCD采用標(biāo)準(zhǔn)的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如表:</p><p> 表1 LCD1602各引腳</p><p>
33、 2.2.2 LCD1602主要參數(shù)</p><p> 顯示容量:16×2個字符 </p><p> 芯片工作電壓:4.5—5.5V </p><p> 工作電流:2.0mA(5.0V) </p><p> 模塊最佳工作電壓:5.0V </p><p> 字符尺寸:2.95×4.35(W
34、×H)mm</p><p> 2.3 AT24C02 串行EPROM介紹</p><p> 因?yàn)?9C51單片機(jī)沒有掉電保護(hù)功能,在程序掉電的情況下,如果不加外部存儲器,那么掉電以后數(shù)據(jù)就會丟失。如果不加外部存儲器,密碼鎖一旦掉電就無法保存數(shù)據(jù),密碼鎖就無法實(shí)現(xiàn)修改密碼的功能(密碼一直是原始密碼)。所以我加了外部存儲芯片24C02,用來存儲密碼,無論是否掉電,數(shù)據(jù)一直保存在芯
35、片中永遠(yuǎn)不會丟失。這樣安全性又提高了一些。[8]圖2.3為24C02引腳說明圖。</p><p> 圖2.3 24C02各引腳說明圖</p><p> AT24C02的封裝為DIP-8,提供電可擦除串行1024位存儲或可編程只讀存儲器(E2PROM)128字節(jié)。</p><p> 2.3.1 I2C總線說明[4]</p><p>
36、 I2C總線采用二線制傳輸,一根是數(shù)據(jù)線SDA,另一根是時鐘線SCL,所有I2C器件都連接在SDA和SCL上,每個器件有唯一的地址?!?】</p><p> SDA引腳通常要外部拉高,SDA上的數(shù)據(jù)只有在SCL低電平期間才能改變。數(shù)據(jù)線在SCL高電平期間改變定義為一個開始或停止信號。</p><p> 起始狀態(tài):在SCL為高時SDA產(chǎn)生一個下降沿。</p><p&g
37、t; 停止?fàn)顟B(tài):在SCL為高時SDA產(chǎn)生一個上升沿。</p><p> 應(yīng)答:I2C協(xié)議規(guī)定,在每個字節(jié)傳輸完畢后,必須有一個應(yīng)答位。它由主機(jī)產(chǎn)生,發(fā)送設(shè)備把數(shù)據(jù)線SDA置為高電平;接收設(shè)備把數(shù)據(jù)線SDA置為低電平,并且在此期間保持低電平狀態(tài)。【4】</p><p> 2.4 GSM模塊說明[9]</p><p> 該部分采用的是西門子TC35i的GSM
38、模塊,如圖6所示。以下是TC35i的主要性能。</p><p> 圖2.4 TC35模塊</p><p> 表1 需要注意的芯片引腳</p><p><b> 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 通過上面各主要芯片、器件的說明,我們對系統(tǒng)的各個硬件部分有了一定的認(rèn)識。下面對系統(tǒng)的總體設(shè)計(jì)作簡要說明。<
39、/p><p> 3.1 系統(tǒng)硬件總設(shè)計(jì)</p><p> 本系統(tǒng)主要由89C51單片機(jī),矩陣按鍵,LCD1602顯示器,24C02存儲芯片,GSM模塊組成。用戶通過矩陣按鍵輸入密碼。按下啟動鍵,輸入6位密碼,以確認(rèn)鍵結(jié)束,若密碼正確,則顯示屏提示W(wǎng)elcom!!!,表示向電磁鎖通電,門打開,若輸入的密碼錯誤,則顯示屏提示重新輸入,若三次密碼錯誤,則系統(tǒng)蜂鳴器間斷式地響30秒,此時不能對系統(tǒng)
40、進(jìn)行任何操作,同時單片機(jī)控制GSM模塊向用戶手機(jī)發(fā)送一條信息提醒用戶。用戶可以隨時通過手機(jī)向GSM模塊發(fā)送信息把密碼鎖置于鎖定狀態(tài),此時按鍵和顯示屏將被鎖定30分鐘,不能對系統(tǒng)進(jìn)行任何操作。只有在密碼輸入正確后才能修改密碼。圖3-1為硬件設(shè)計(jì)總體原理圖。[5]</p><p> 圖3-1 硬件設(shè)計(jì)原理圖</p><p><b> 3.2 電源</b></p
41、><p> 89C51單片機(jī)需要+5V直流電源供電,我采用USB從電腦上采集電源,所以會有雜波。因此在電源和地之間加上一個22UF的電解電容和磁片電容104用于濾去雜波。其電路圖如圖3-2所示。</p><p> 3-2 電源部分電路</p><p> 3.3 按鍵輸入部分</p><p> 因?yàn)楸驹O(shè)計(jì)使用到的按鍵比較多,若用獨(dú)自式按
42、鍵則需要占用大量I/O口資源。為了節(jié)省I/O口資源,我采用4*4矩陣式按鍵。矩陣式按鍵由行線和列線組成,按鍵位于行線和列線的交叉點(diǎn)上。按鍵包括0-9十個數(shù)字鍵,還包括清除、確認(rèn)、啟動、修改密碼四個功能鍵,其余2個為無用按鍵。與單片機(jī)的技法大致如圖3-3所示。[6]</p><p> 圖3-3 按鍵輸入原理圖</p><p> 3.4 單片機(jī)與GSM模塊串行通信部分</p&
43、gt;<p> TC35的數(shù)據(jù)輸入/輸出接口實(shí)際上是一個串行異步收發(fā)器,符合ITU-T RS232接口標(biāo)準(zhǔn)。它有固定的參數(shù):8位數(shù)據(jù)位和1位停止位,無校驗(yàn)位,波特率在300bps~115kbps之間可選,TC35模塊提供RS-232數(shù)據(jù)口,采用AT指令,內(nèi)置微控制器將GPS接收機(jī)和GSM模塊結(jié)合在一起?!?】為了方便設(shè)置波特率,我選用11.0592MHz的晶振作為單片機(jī)的外部晶振,波特率設(shè)置為9600。RS232串口原理
44、圖如下所示。</p><p> 圖3-4 RS232原理圖</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p> 系統(tǒng)的主任務(wù)是通過對按鍵輸入的掃描與存儲在24C02里的密碼進(jìn)行比對,若連續(xù)輸入錯誤3次則單片機(jī)控制GSM模塊通知用戶,用戶通過手機(jī)與GSM模塊聯(lián)系控制鎖定密碼鎖。軟件的重點(diǎn)在于單片機(jī)的編程和GSM模塊的通信。</p>&
45、lt;p> 4.1 主程序流程圖</p><p> 如圖4-1為主程序流程圖。單片機(jī)上電后按下啟動鍵程序進(jìn)行初始化設(shè)定。按下按鍵輸入密碼,單片機(jī)根據(jù)對按鍵掃描,啟動程序。如果密碼正確則啟動程序,如果不正確則啟動再輸入程序。如果連續(xù)三次不正確則啟動報(bào)警程序。</p><p> 圖4-1 主程序流程圖</p><p> 4.2 按鍵功能流程圖&l
46、t;/p><p> 圖4-2為按鍵功能流程圖,按鍵分為0-9數(shù)字輸入按鍵、啟動、刪除、確認(rèn)、設(shè)置按鍵。需要編寫與其功能相對應(yīng)的程序,并按順序與輸入數(shù)值作比較。[11]</p><p> 圖4-2 按鍵功能流程圖</p><p> 4.3 密碼設(shè)置流程圖及報(bào)警流程圖</p><p> 圖4-3為密碼設(shè)置流程圖和報(bào)警流程圖,先按下啟動鍵輸
47、入舊密碼,如果連續(xù)三次輸入錯誤則報(bào)警。若輸入正確可以修改密碼。新密碼必須輸入兩次,防止誤操作。</p><p> 第五章 系統(tǒng)調(diào)試</p><p> 系統(tǒng)調(diào)試主要分為主控制板的調(diào)試和GSM模塊的調(diào)試。</p><p> 5.1 主控制板的調(diào)試</p><p> 畫完原理圖和PCB圖后,把各個元件焊接到電路板上。然后先用萬用表對
48、各個焊點(diǎn)進(jìn)行檢測,看是否有短路、虛焊、斷路等問題。特別是芯片各個引腳容易短路和虛焊,應(yīng)特別注意。還有就是要檢查按鍵是否損壞,有損壞應(yīng)即時跟換,負(fù)責(zé)會影響到后面的調(diào)試。芯片的正負(fù)極不能接反。在保證了焊點(diǎn)和各個元件之間的連接都沒錯的情況下,才能上電檢測。</p><p> 然后給主控制板上電,導(dǎo)通開關(guān)。過幾秒用手觸摸各個芯片,是否有發(fā)燙現(xiàn)象。若有說明芯片的正負(fù)極接反了,應(yīng)及時斷電。此時芯片很可能已經(jīng)燒壞,應(yīng)及時跟換
49、。如果沒有異?,F(xiàn)象,則可以先下載一小斷編譯好的程序到單片機(jī)里。若下載成功,則說明RS-232下載部分沒有問題。</p><p> 對STC89C51單片機(jī)的檢測可以下載一段程序。例如下載一段檢測芯片引腳的程序,把芯片的引腳逐個的拉高,過幾秒再拉低,使其產(chǎn)生一個下降沿。然后用萬用表檢查引腳電平的變化。如果沒有變化,可能是芯片沒連接好,也可能是芯片壞了。如果有變化,則說明單片機(jī)基本沒問題。</p>&
50、lt;p> 對24C02的檢測也是通過下載一段程序來檢測。例如下載一段24C02的讀寫程序,先通過按鍵輸入幾個鍵碼寫入24C02中。然后再下載一段讀24C02存儲器的程序,把存儲在24C02里的數(shù)據(jù)讀出來,顯示在LCD1602上。這樣不僅檢測了24C02的電路,同時也檢測了按鍵掃描電路、LCD1602顯示電路。如果沒有讀出數(shù)據(jù),則可能是鍵盤或芯片問題。先逐個檢查按鍵,是否有接錯,然后再檢測24C02外圍電路。若沒問題可能是芯片壞
51、了。</p><p> 5.2 GSM模塊調(diào)試</p><p> 通過RS-232將GSM模塊和主控制板連接起來。這樣要注意要將RXD-RXD,TXD-TXD連接起來,不要憑經(jīng)驗(yàn)交叉連接。</p><p> 這里我采用串口調(diào)試助手,通過RS-232與電腦連接來調(diào)試。把串口波特率設(shè)置為9600,效驗(yàn)為設(shè)置為NONE,數(shù)據(jù)位8位,停止位1位</p>
52、<p> 圖5-1 串口助手</p><p> 模塊有兩種發(fā)送方式:TEXT模式和PDU模式。PDU模式可以用Unicode編碼發(fā)送英文、漢字。采用PDU模式比較復(fù)雜,TEXT模式雖然只能發(fā)送英文,但其無需編碼,發(fā)送簡單,所以我在測試時采用TEXT模式。</p><p> TEXT 發(fā)送模式:(相對簡單很多。)</p><p><b>
53、 發(fā)送:AT<回車></b></p><p><b> 返回:AT<回車></b></p><p><b> OK</b></p><p> 發(fā)送:AT+CMGF=1<回車></p><p> 返回:AT+CMGF=1<回車>&l
54、t;/p><p><b> OK</b></p><p> 發(fā)送:AT+CSCA=+8613010130500<回車></p><p> 返回:AT+CSCA=+8613010130500<回車></p><p><b> OK</b></p><p&
55、gt; 發(fā)送:AT+CMGS=13132061066<回車></p><p> 返回:AT+CMGS=13132061066<回車></p><p><b> ></b></p><p> 發(fā)送:XXXXXX(0-9,A-Z)[XXXXX 是指阿拉伯?dāng)?shù)字0-9,英文26 個字母A-Z]</p>
56、<p> 返回:XXXXXX(0-9,A-Z)[XXXXX 是指阿拉伯?dāng)?shù)字0-9,英文26 個字母A-Z]</p><p> 發(fā)送:1A(十六進(jìn)制發(fā)送)<回車></p><p> 返回:+CMGS: XXX</p><p><b> OK</b></p><p> 以上為 TEXT 方式
57、發(fā)送截圖:</p><p> 如果不能正常發(fā)送,返回ERROR,則說明需要格式化??梢园l(fā)送AT&F 命令格式化。</p><p> 發(fā)送:AT&F<回車></p><p> 返回:AT&F<回車>【10】</p><p><b> OK</b></p>
58、<p> 圖5-2 TEXT調(diào)試</p><p><b> 總結(jié)</b></p><p> 以上為畢業(yè)設(shè)計(jì)期間我所設(shè)計(jì)的基于單片機(jī)和GSM模塊的電子密碼鎖,經(jīng)過多次的修改完善,基本滿足設(shè)計(jì)要求。按下啟動鍵,輸入6位密碼,以確認(rèn)鍵結(jié)束,若密碼正確,則顯示屏提示W(wǎng)elcom!!!,表示向電磁鎖通電,門打開,若輸入的密碼錯誤,則顯示屏提示重新輸入,若三次
59、密碼錯誤,則系統(tǒng)蜂鳴器間斷式地響30秒,此時不能對系統(tǒng)進(jìn)行任何操作,同時單片機(jī)控制GSM模塊向用戶手機(jī)發(fā)送一條信息提醒用戶。用戶可以隨時通過手機(jī)向GSM模塊發(fā)送信息把密碼鎖置于鎖定狀態(tài),此時按鍵和顯示屏將被鎖定30分鐘,不能對系統(tǒng)進(jìn)行任何操作。只有在密碼輸入正確后才能修改密碼。</p><p> 由于本人水平有限,此系統(tǒng)仍存在一些問題。例如忘記密碼后將很難再打開密碼鎖。我想這可以通過其他的辦法解決,但我還沒想到
60、。但是通過這次畢業(yè)設(shè)計(jì),讓我重新學(xué)習(xí)了單片機(jī)和電路方面的知識,對之前所學(xué)有了更深刻的理解,特別是C語言有了比較深刻的理解。在自學(xué)GSM模塊的原理和編程過程中,掌握了一定的學(xué)習(xí)方法,也鍛煉了自己的意志,對今后的工作,生活有積極的意義。</p><p><b> 致謝</b></p><p> 衷心感謝*老師。本設(shè)計(jì)是在*老師精心指導(dǎo)下完成的,從論文的選題、設(shè)計(jì)方案選
61、擇、GSM模塊的選擇到系統(tǒng)的總體布局,各個方面都離不開吳老師悉心教導(dǎo)。在這一個多月畢業(yè)設(shè)計(jì)的時間里,*老師認(rèn)真的工作態(tài)度,誠信寬厚的為人處世態(tài)度,都給我留下了深刻的印象。老師多次問我設(shè)計(jì)進(jìn)度,并且為我指點(diǎn)迷津,當(dāng)我遇到困難時,老師總能引導(dǎo)我走出困境。</p><p> 大學(xué)四年的生活即將結(jié)束,我將告別我的學(xué)校、老師、同學(xué),在這里由衷的感謝大家陪我度過了這絢麗多彩的大學(xué)生活!謝謝!</p><
62、p><b> 參考文獻(xiàn)</b></p><p> [1] 孟慶濤 鄭鳳翼。電子控制電路,人民郵電出版社,2006.1</p><p> [2] 周立功等,增強(qiáng)型89C51單片機(jī)速成與實(shí)戰(zhàn),北京航空大學(xué)出版社,2003.7</p><p> [3] 孫育才等,單片微型計(jì)算機(jī)及其應(yīng)用,東南大學(xué)出版社,2009.6</p>
63、<p> [4] 段晨東等,單片機(jī)原理及接口技術(shù),清華大學(xué)出版社,2008.7</p><p> [5] 李明喜,新型電子密碼鎖的設(shè)計(jì)[J],機(jī)電產(chǎn)品開發(fā)與創(chuàng)新2004(3)</p><p> [6] 董繼成,一種新型單片機(jī)安全密碼鎖[J],電子技術(shù)2004(3)</p><p> [7] 楊茂濤,一種電子密碼鎖的實(shí)現(xiàn)[J],福建電腦,2004(
64、08).</p><p> [8] 王千,實(shí)用電子電路大全[M],電子工業(yè)出版社,2001.5</p><p> [11] 譚浩強(qiáng).C程序設(shè)計(jì)(第三版)[M].清華大學(xué)出版社.2005.7</p><p> Based on MCU and GSM electronic combination lock design</p><p>
65、 【abstract】: with the development of science and technology, electronic combination lock has become an increasingly people essential to life security tool. This paper firstly introduces the GSM module based on microcontr
66、oller and password control system, and briefly describes design electronic combination lock system significance. This paper adopts block mode, the whole system hardware and software design, including hardware part descri
67、be introduces emphatically the GSM module, microcontroller ST</p><p> 【keyword】: electronic combination lock; microcontroller; GSM; 24C02;</p><p><b> 附錄一:總原理圖</b></p><p&
68、gt;<b> 附錄三:實(shí)物圖</b></p><p><b> 附錄二:程序</b></p><p> #include<reg52.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned
69、int</p><p> uchar code at[] = "AT\r";</p><p> uchar code cmgf[]="AT+CMGF=1\r";</p><p> uchar code csca[]="AT+CSCA=+8613890595500\r";</p><
70、p> uchar code cmgs[]="AT+CMGS=15260369536\r";</p><p> uchar code atd[]="ATD115260369536;\r";</p><p> uchar code af[]="AT&F"; </p><p> uchar
71、 code adata[]="!!!!woring!!!!";</p><p> uchar code adata1[]="ok!!";</p><p> uchar code table1[]="Please enter the"; </p><p> uchar code table2[]=&qu
72、ot;password:";</p><p> uchar code table3[]="Please press the";</p><p> uchar code table4[]="confirm key";</p><p> uchar code table5[]="Your passwor
73、d is"; </p><p> uchar code table6[]="incorrect";</p><p> uchar code table7[]="Welcome !!!" ;</p><p> uchar code table8[]="*****";</p>&l
74、t;p> uchar code table9[]={1,2,3,4,5,6};</p><p> uchar code table10[]={0,7,0,3,0,3,0,4,0};</p><p> uchar code table11[]="Senior Password"; </p><p> uchar code table1
75、2[]="new password:";</p><p> uchar code table13[]="password again:";</p><p> uchar code table14[]="Password changed"; </p><p> uchar code table15[]=
76、"successfully";</p><p> uchar code table16[]="********";</p><p> sbit sda=P0^1;</p><p> sbit scl=P0^0;</p><p> sbit lcdrs=P3^7;</p><p
77、> sbit lcdrw=P3^6;</p><p> sbit lcden=P3^5;</p><p> sbit fmq=P0^7;</p><p> bit flag,flag1,flag2,flag3,flag4,flag5,ok,ttt=0;</p><p> uchar kk,k=0; </p>&l
78、t;p> uchar num,num1,num2,num3,num4;</p><p> uchar aa[6],bb[9],cc[6],dd[6];</p><p> void send_c(uchar cc) //串口發(fā)送字符</p><p><b> { </b></p><p> SBUF
79、 =cc; </p><p> while(!TI ); </p><p><b> TI = 0; </b></p><p><b> } </b></p><p> void uart_init() //串口初始化</p><p>&
80、lt;b> {</b></p><p> SCON=0x50; //允許接收</p><p> PCON=0x00; //波特率不加倍</p><p> TMOD=0x20; //定時器1方式2</p><p> TH1=0xfd; // 波特率設(shè)置為9600</p><p>&
81、lt;b> TL1=0xfd;</b></p><p><b> TR1=1;</b></p><p> ES=1;//開串口終端</p><p><b> }</b></p><p> void delay_1(uint z)</p><p>&
82、lt;b> {</b></p><p><b> uint x,y;</b></p><p> for(x=z;x>0;x--)for(y=110;y>0;y--);</p><p><b> }</b></p><p> void send(uchar
83、*tab) //串口發(fā)送字符串</p><p><b> { </b></p><p> while((*tab)!= '\0')</p><p><b> { </b></p><p> SBUF =*tab; </p><p> whil
84、e(!TI ); </p><p><b> TI = 0; </b></p><p><b> tab++; </b></p><p><b> } </b></p><p> send_c(0x0d);</p><p> send_c(
85、0x0a);</p><p><b> }</b></p><p> void delay() //At24c02延時</p><p><b> { ;; }</b></p><p> void delay1(uint i) </p>
86、<p><b> {</b></p><p><b> uint j;</b></p><p> for(;i>0;i--)</p><p> for(j=100;j>0;j--);</p><p><b> }</b></p>
87、<p> void write_com(uchar com) //lcd1602讀寫</p><p><b> {</b></p><p><b> lcdrs=0;</b></p><p><b> lcden=0;</b></p><p><
88、;b> P1=com;</b></p><p> delay1(5);</p><p><b> lcden=1;</b></p><p> delay1(5);</p><p><b> lcden=0;</b></p><p><b>
89、; }</b></p><p> void write_data(uchar dat)</p><p><b> {</b></p><p><b> lcdrs=1;</b></p><p><b> lcden=0;</b></p>&l
90、t;p><b> P1=dat;</b></p><p> delay1(5);</p><p><b> lcden=1;</b></p><p> delay1(5);</p><p><b> lcden=0;</b></p><p&g
91、t;<b> }</b></p><p> void lcall1() //請輸入密碼</p><p><b> { </b></p><p> write_com(0x01);</p><p> write_com(0x89);</p><p> for(nu
92、m=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table1[num]);</p><p> delay1(20);</p><p><b> }</b></p><p> write_com(
93、0xc4);</p><p> for(num=0;num<9;num++)</p><p><b> {</b></p><p> write_data(table2[num]);</p><p> delay1(20);</p><p><b> }</b>
94、;</p><p><b> }</b></p><p> void lcall2()//請按確認(rèn)鍵</p><p><b> { </b></p><p> write_com(0x01);</p><p> write_com(0x89);</p>
95、<p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table3[num]);</p><p> delay1(20);</p><p><b> }</b></p>&l
96、t;p> write_com(0xc2);</p><p> for(num=0;num<11;num++)</p><p><b> {</b></p><p> write_data(table4[num]);</p><p> delay1(20);</p><p>&
97、lt;b> }</b></p><p><b> }</b></p><p> void lcall3()//你輸入的密碼有誤</p><p><b> { </b></p><p> write_com(0x01);</p><p> wri
98、te_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table5[num]);</p><p> delay1(20);</p><p><b> }&
99、lt;/b></p><p> write_com(0xc3);</p><p> for(num=0;num<9;num++)</p><p><b> {</b></p><p> write_data(table6[num]);</p><p> delay1(20);
100、</p><p><b> }</b></p><p><b> }</b></p><p> void lcall4() //歡迎光臨</p><p><b> { </b></p><p> write_com(0x01);</p&
101、gt;<p> write_com(0x82);</p><p> for(num=0;num<11;num++)</p><p><b> {</b></p><p> write_data(table7[num]);</p><p> delay1(20);</p><
102、;p><b> }</b></p><p><b> }</b></p><p> /* void lcall5()//請輸入管理者密碼</p><p><b> { </b></p><p> write_com(0x01);</p><
103、p> write_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table1[num]);</p><p> delay1(20);</p><p><
104、;b> }</b></p><p> write_com(0xc0);</p><p> for(num=0;num<15;num++)</p><p><b> {</b></p><p> write_data(table11[num]);</p><p>
105、 delay1(20);</p><p><b> }</b></p><p><b> } */</b></p><p> void lcall5()//請輸入管理者密碼</p><p><b> { </b></p><p> writ
106、e_com(0x01);</p><p> write_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table1[num]);</p><p> delay1(
107、20);</p><p><b> }</b></p><p> write_com(0xc0);</p><p> for(num=0;num<15;num++)</p><p><b> {</b></p><p> write_data(table11[
108、num]);</p><p> delay1(20);</p><p><b> }</b></p><p><b> EA=1;</b></p><p><b> RI=0;</b></p><p> delay1(2);</p>
109、<p> delay1(2);</p><p><b> } </b></p><p> void lcall6()//請輸入新密碼</p><p><b> { </b></p><p> write_com(0x01);</p><p> wr
110、ite_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table1[num]);</p><p> delay1(20);</p><p><b> }
111、</b></p><p> write_com(0xc2);</p><p> for(num=0;num<13;num++)</p><p><b> {</b></p><p> write_data(table12[num]);</p><p> delay1(2
112、0);</p><p><b> }</b></p><p><b> }</b></p><p> void lcall7()//請?jiān)佥斎胍淮?lt;/p><p><b> { </b></p><p> write_com(0x01);<
113、;/p><p> write_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table1[num]);</p><p> delay1(20);</p>
114、<p><b> }</b></p><p> write_com(0xc2);</p><p> for(num=0;num<15;num++)</p><p><b> {</b></p><p> write_data(table13[num]);</p>
115、;<p> delay1(20);</p><p><b> }</b></p><p><b> }</b></p><p> void lcall8()//密碼已修改成功</p><p><b> { </b></p><p&g
116、t; write_com(0x01);</p><p> write_com(0x89);</p><p> for(num=0;num<16;num++)</p><p><b> {</b></p><p> write_data(table14[num]);</p><p>
117、 delay1(20);</p><p><b> }</b></p><p> write_com(0xc2);</p><p> for(num=0;num<12;num++)</p><p><b> {</b></p><p> write_data
118、(table15[num]);</p><p> delay1(20);</p><p><b> }</b></p><p><b> }</b></p><p> void lcall9()//5*</p><p><b> { </b>
119、</p><p> write_com(0x01);</p><p> write_com(0x89);</p><p> for(num=0;num<5;num++)</p><p><b> {</b></p><p> write_data(table8[num]);<
120、/p><p> delay1(20);</p><p><b> }</b></p><p><b> }</b></p><p> void lcall10()//8*</p><p><b> { </b></p><p&
121、gt; write_com(0x01);</p><p> write_com(0x89);</p><p> for(num=0;num<8;num++)</p><p><b> {</b></p><p> write_data(table16[num]);</p><p>
122、 delay1(20);</p><p><b> }</b></p><p><b> }</b></p><p> /*********************at24c02讀寫*****************/</p><p> void starti2c()</p>
123、<p><b> {sda=1;</b></p><p><b> scl=1;</b></p><p><b> delay();</b></p><p><b> sda=0;</b></p><p><b> dela
124、y();</b></p><p><b> scl=0;</b></p><p><b> }</b></p><p> void stopi2c()</p><p><b> {sda=0;</b></p><p><b>
125、; scl=1;</b></p><p><b> delay();</b></p><p><b> sda=1;</b></p><p><b> delay();</b></p><p><b> scl=0;</b></
126、p><p><b> }</b></p><p> void mack()</p><p><b> { sda=0;</b></p><p><b> scl=1;</b></p><p><b> delay();</b>
127、</p><p><b> scl=0;</b></p><p><b> sda=1;</b></p><p><b> }</b></p><p> void mnack()</p><p><b> {sda=1;</b&
128、gt;</p><p><b> scl=1;</b></p><p><b> delay();</b></p><p><b> scl=0;</b></p><p><b> }</b></p><p> bit c
129、ack()</p><p> { bit ack;</p><p><b> sda=1;</b></p><p><b> scl=1;</b></p><p><b> delay();</b></p><p><b> ack
130、=sda;</b></p><p><b> scl=0;</b></p><p> return (ack);</p><p><b> }</b></p><p> void write_byteack(uchar dat)</p><p> {uc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的電子密碼鎖畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電子密碼鎖
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)-- 基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)----基于單片機(jī)的電子密碼鎖
- 畢業(yè)設(shè)計(jì)--基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的電子密碼鎖的畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---基于單片機(jī)的電子密碼鎖的設(shè)計(jì)
- 基于單片機(jī)控制的電子密碼鎖畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的紅外遙控電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)論文--基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 畢業(yè)論文---基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的紅外遙控電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 單片機(jī)控制的電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)論文
- 基于單片機(jī)的密碼鎖設(shè)計(jì)【畢業(yè)設(shè)計(jì)】
- 基于單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子密碼鎖畢業(yè)設(shè)計(jì)(論文)開題報(bào)告
評論
0/150
提交評論