版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題 目 基于單片機(jī)與GSM模塊的電子密碼鎖設(shè)計(jì)</p><p> 物理與信息工程 學(xué) 院 電子信息科學(xué)與技術(shù) 專(zhuān) 業(yè) 07級(jí) 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章 主要元器件說(shuō)明</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模塊說(shuō)明</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)越來(lái)越成為人們生活中不可或缺的安全防范利器。文章首先介紹了基于單片機(jī)和GSM模塊的密碼控制系
8、統(tǒng),然后簡(jiǎn)要描述了設(shè)計(jì)電子密碼鎖系統(tǒng)的意義。文章采用分塊模式,對(duì)整個(gè)系統(tǒng)的硬件與軟件設(shè)計(jì)進(jìn)行描述,其中硬件部分著重介紹了GSM模塊,單片機(jī)STC89C51作為MCU及其外圍電路,24C02 存儲(chǔ)電路,矩陣按鍵輸入電路,LCD顯示電路,GSM模塊與主控制板連接電路等。軟件部分用C語(yǔ)言編寫(xiě)主控制器與GSM模塊的發(fā)送接收,24C02的讀寫(xiě)。設(shè)計(jì)了一款可以多次修改密碼,自動(dòng)鎖定按鍵等功能的電子密碼鎖。 </p><p>
9、 【關(guān)鍵詞】:電子密碼鎖;單片機(jī);GSM;24C02;</p><p><b> 引言</b></p><p> 當(dāng)今世界科技不斷發(fā)展,人們的安全意識(shí)越來(lái)越高,安全成了我們共同的話題。在銀行、酒店、商場(chǎng)、航天等各行各業(yè),防盜報(bào)警更是至關(guān)重要的,對(duì)環(huán)境要進(jìn)行密切的監(jiān)視,以防止失竊的發(fā)生,當(dāng)發(fā)生失竊時(shí)能第一時(shí)間報(bào)警。這里我就介紹一下我自己做的一款基于51單片機(jī)和GS
10、M模塊的電子密碼鎖。</p><p> 傳統(tǒng)的機(jī)械鎖被撬的事件屢見(jiàn)不鮮,因?yàn)槠錁?gòu)造簡(jiǎn)單,功能單一,沒(méi)智能化,位置固定,不能隨意換位置。而電子鎖克服了機(jī)械式密碼鎖設(shè)置密碼量少、安全性能差的缺點(diǎn),并且其保密性高,使用靈活性好,密碼可變,安全系數(shù)高,使電子密碼鎖無(wú)論在技術(shù)上還是在方便性上都受到了廣大人們?nèi)罕姷挠H愛(ài)。隨著大規(guī)模集成電路的出現(xiàn),特別是單片機(jī)的問(wèn)世,出現(xiàn)了許多帶微處理器的智能密碼鎖。</p>
11、<p> 而我設(shè)計(jì)的電子密碼鎖是一種基于MCS-51和GSM模塊智能鎖的硬件和軟件設(shè)計(jì)及實(shí)現(xiàn)方案,綜合應(yīng)用了所學(xué)的單片機(jī)、通信原理、電路設(shè)計(jì)等方面的知識(shí)。特別適用于家庭、辦公室、服務(wù)、學(xué)生宿舍及賓館等場(chǎng)所等的文檔、財(cái)務(wù)等安全報(bào)警。電路設(shè)計(jì)具有按鍵輸入有效提示,輸入錯(cuò)誤提示,開(kāi)鎖電路,控制報(bào)警電路,修改密碼等多種功能,可在意外泄密的情況下隨時(shí)修改密碼6位數(shù)密碼,保密性強(qiáng),使用靈活性高。當(dāng)密碼連續(xù)3次輸入錯(cuò)誤時(shí)便會(huì)通過(guò)GSM模塊
12、自動(dòng)報(bào)警并且蜂鳴器響。它是通過(guò)按鍵輸入與存儲(chǔ)密碼進(jìn)行對(duì)比,從而控制電磁鎖的開(kāi)關(guān),具有推廣意義。</p><p> 本設(shè)計(jì)中采用了微處理器STC89C51芯片單片機(jī)為主控制芯片,采用LCD1602液晶顯示屏幕與矩陣式鍵盤(pán),方便手動(dòng)輸入與數(shù)字顯示。為了防止掉電等意外事件的發(fā)生,我們采用了AT24C02 作為掉電保護(hù)。用戶想打開(kāi)鎖必須通過(guò)鍵盤(pán)輸入正確的密碼。密碼輸入錯(cuò)誤有提示,為了提高安全性,當(dāng)輸入密碼連續(xù)3次錯(cuò)誤蜂
13、鳴器響起并通過(guò)GSM模塊報(bào)警。并且用戶可以隨時(shí)用手機(jī)向GSM模塊發(fā)出通信使密碼鎖處于鎖定狀態(tài)。鎖打開(kāi)后才能修改密碼,輸入新密碼時(shí)需要2次確認(rèn),以防止誤操作。這些人性化設(shè)計(jì)使其更安全可靠、通過(guò)GSM模塊和單片機(jī)的組合運(yùn)用使其具有一定的智能化,硬件電路簡(jiǎn)單、易于實(shí)現(xiàn)、可以通過(guò)軟件對(duì)系統(tǒng)進(jìn)行優(yōu)化,具有很好的市場(chǎng)推廣價(jià)值。</p><p> 電子密碼鎖的總體設(shè)計(jì)方案的選擇</p><p> 為
14、了使設(shè)計(jì)更具有針對(duì)性,可靠性更強(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)對(duì)鎖的控制。設(shè)置9個(gè)按鍵,其中4個(gè)是有效按鍵,其它的都是干擾按鍵,如果按下干擾鍵,鍵盤(pán)輸入自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶輸入密
15、碼的時(shí)間超過(guò)20秒(一般情況下,用戶不會(huì)超過(guò)40秒,若用戶覺(jué)得不便,還可以修改)電路將報(bào)警30秒,若電路連續(xù)報(bào)警三次,電路將鎖定鍵盤(pán)5分鐘,防止他人的非法操作。該系統(tǒng)外圍電路少,功能單一并且不能通過(guò)編程來(lái)實(shí)現(xiàn),密碼一旦忘記或掉電就無(wú)法開(kāi)鎖,輸入密碼無(wú)提示,準(zhǔn)確性和靈活性差。所以不采用[1]。</p><p> 1.2方案二:采用單片機(jī)為主控制器的方案。</p><p> 由于單片機(jī)種類(lèi)
16、多各種型號(hào)的功能不一,試用場(chǎng)合各不相同。因此要多加比較選擇一款適合做本設(shè)計(jì)的型號(hào)。我從以下幾個(gè)方面考慮:存儲(chǔ)器容量,指令系統(tǒng),串口通信,中斷系統(tǒng),此外還有中斷源優(yōu)先級(jí)個(gè)數(shù),工作電壓和溫度,時(shí)鐘震蕩等。再結(jié)合我們平時(shí)所學(xué)。以上各個(gè)因素我選擇89C51作為本設(shè)計(jì)的主控制器。利用其豐富的I/O口資源和靈活的程序設(shè)計(jì),實(shí)現(xiàn)密碼鎖的基本功能。它把CPU、存儲(chǔ)器、及I/O口集成到一個(gè)芯片上,只要加少許外圍器件就能夠成控制系統(tǒng)。這樣就可以節(jié)省硬件成本
17、,通過(guò)程序來(lái)實(shí)現(xiàn)各種功能。單片機(jī)外圍接4*4矩陣鍵盤(pán)作為密碼輸入和功能鍵,用LCD1602作顯示器[2]。24C02作為外部存儲(chǔ)芯片,用于密碼掉電保護(hù)。鍵盤(pán)由0-9十個(gè)數(shù)字鍵、啟動(dòng)、刪除、確認(rèn)、修改密碼共14個(gè)鍵組成。用戶輸入密碼正確則開(kāi)鎖,輸入錯(cuò)誤LCD則會(huì)提示。如果連續(xù)3次輸入錯(cuò)誤則蜂鳴器發(fā)出報(bào)警聲。用戶只有在輸入密碼正確時(shí)才能修改密碼,新密碼必須輸入2次以防止誤操作。</p><p> 1.3方案三:采用
18、單片機(jī)為主控制系統(tǒng),GSM模塊作為報(bào)警系統(tǒng)。</p><p> 在方案二的基礎(chǔ)上添加了GSM模塊,單片機(jī)通過(guò)RS-232與GSM模塊進(jìn)行串行通信。當(dāng)密碼3次輸入錯(cuò)誤時(shí)單片機(jī)通過(guò)串口控制GSM模塊向用戶手機(jī)發(fā)送信息,提醒用戶此時(shí)密碼鎖有危險(xiǎn)。用戶隨時(shí)可通過(guò)手機(jī)向密碼鎖發(fā)出信息將其鎖定,此時(shí)鍵盤(pán)被鎖定密碼鎖將無(wú)法打開(kāi),防止密碼鎖被打開(kāi)。</p><p> 方案三在方案二的基礎(chǔ)上運(yùn)用了移動(dòng)通
19、信技術(shù),使密碼鎖的安全性、可靠性、靈活性及可控制性得到了大大的提高,且有智能化的特點(diǎn),現(xiàn)實(shí)生活中運(yùn)用方便,因此選用方案三。</p><p> 第2章 主要元器件說(shuō)明</p><p> 2.1 MCS-51單片機(jī)介紹</p><p> MCS-51系列單片機(jī)是Intel公司繼MCS-48系列單片機(jī)之后開(kāi)發(fā)的一款8位單片機(jī)。它是一款高性能、高集成度、低功耗的單片機(jī)
20、,具有8位CPU,4K程序存儲(chǔ)器、128字節(jié)數(shù)據(jù)存儲(chǔ)器,外部可擴(kuò)張60K程序存儲(chǔ)器和64K數(shù)據(jù)存儲(chǔ)器,2個(gè)16位定時(shí)/記數(shù)器,5個(gè)中斷優(yōu)先級(jí),4個(gè)八位并行I/O口,最高時(shí)鐘頻率12MHZ。[3]在不連接外圍電路的情況下能實(shí)現(xiàn)很多邏輯功能,89C51單片機(jī)是一款不可多得的高性能單片機(jī),它不僅適合用于簡(jiǎn)單的測(cè)控,也適用于復(fù)雜的測(cè)控系統(tǒng)。</p><p> 2.1.1芯片STC89C51的性能及其常用參數(shù)的分析<
21、;/p><p> STC89C51內(nèi)部具有2KB字節(jié)快閃存存儲(chǔ)器,采用DIP封裝,是目前在中小系統(tǒng)中應(yīng)用最為普及的單片機(jī)。芯片引腳排列如圖3.1所示,8951單片機(jī)的端口都是準(zhǔn)雙向口,每個(gè)I/O口都能獨(dú)立輸入輸出。每個(gè)I/O口都有一個(gè)鎖存器,一個(gè)輸出驅(qū)動(dòng)器和輸入緩沖器。再無(wú)外部擴(kuò)展存儲(chǔ)器系統(tǒng)中,這四個(gè)端口都可以作為準(zhǔn)雙向I/O口使用。當(dāng)有擴(kuò)張外部存儲(chǔ)器時(shí),P2口送出高8位地址P0口分時(shí)復(fù)用做雙向總線,分時(shí)送出低八位
22、地址和數(shù)據(jù)的輸入/輸出;P3口是一個(gè)多功能端口各個(gè)引腳具有第二功能[4]。(P3.0為串行數(shù)據(jù)接受端,P3.1位串行數(shù)據(jù)發(fā)送端,P3.2為外部中斷0請(qǐng)求,P3.3為外部中斷1請(qǐng)求,P3.4為定時(shí)器/計(jì)數(shù)器0的外部事件計(jì)數(shù)輸入,P3.5為定時(shí)器/計(jì)數(shù)器1的外部事件計(jì)數(shù)輸入,P3.6位片外數(shù)據(jù)存儲(chǔ)器“寫(xiě)選通控制”輸出,P3.7為片外數(shù)據(jù)存儲(chǔ)器“讀選存儲(chǔ)器”輸出)。</p><p> 圖2.1 芯片引腳排列 &
23、lt;/p><p><b> 其主要功能特點(diǎn):</b></p><p> ?。?)4K可反復(fù)擦寫(xiě)的Flash ROM</p><p> ?。?)低功耗空閑和省電模式</p><p> ?。?)4.5-5.5V工作電壓,全靜態(tài)工作</p><p> ?。?)中斷喚醒省電模式</p>&l
24、t;p> (5)2個(gè)可編程定時(shí)/計(jì)數(shù)器</p><p> ?。?)3級(jí)程序存儲(chǔ)加密</p><p> ?。?)全雙工UART串行中斷口線</p><p> 可見(jiàn)STC89C51的功能齊全,體積小、可靠性高、成本低??捎?V電壓編程,不容易損壞器件,且擦寫(xiě)時(shí)間只有10ms。STC89C51芯片提供了三級(jí)程序存儲(chǔ)器加密,能完全保證程序或系統(tǒng)不被仿制。同時(shí),芯片
25、可降至0Hz靜態(tài)邏輯操作,并支持兩種省電模式。</p><p> 2.1.2 STC89C51引腳功能說(shuō)明[3]</p><p> 采用HMOS工藝的51系列單片機(jī)都采用40條引腳的雙列直插封裝(DIP)方式,這里只對(duì)DIP封裝各引腳功能簡(jiǎn)要說(shuō)明。</p><p> Vss(20腳):電路低電平。</p><p> Vcc(40腳):
26、正常運(yùn)行和編程校驗(yàn)時(shí)為+5V電源。</p><p> RST:震蕩器工作時(shí),由該引腳輸入2個(gè)機(jī)器周期的高電平時(shí)復(fù)位單片機(jī)。</p><p> ALE/PROG(30腳):ALE允許地址鎖存信號(hào)輸出。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),ALE信號(hào)的負(fù)跳變將P0口上的低8位地址送入鎖存器。在非訪問(wèn)外部存儲(chǔ)器期間,ALE仍以1/6震蕩頻率固定不變的速率輸出,因此它能作外部時(shí)鐘或定時(shí)信號(hào)用。當(dāng)訪問(wèn)外部數(shù)據(jù)存儲(chǔ)
27、器時(shí),將以1/2震蕩頻率輸出。PROG為編程脈沖輸入端。</p><p> PSEN(29腳):訪問(wèn)外部程序存儲(chǔ)器選通信號(hào),低電平有效。</p><p> Vpp/EA(31腳)):EA為訪問(wèn)內(nèi)部或外部程序存儲(chǔ)器選擇信號(hào)。當(dāng)EA保持高電平時(shí)訪問(wèn)內(nèi)部存儲(chǔ)器。</p><p> P0口:8位漏極開(kāi)路雙向并行I/O端口。當(dāng)訪問(wèn)外部存儲(chǔ)器時(shí),它是地址總線(低8位)和數(shù)
28、據(jù)總線復(fù)用;外部不擴(kuò)展而單片機(jī)應(yīng)用時(shí),則作雙向I/O口用;在進(jìn)行片內(nèi)程序效驗(yàn)期間,作指令代碼輸出。可接8個(gè)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)訪問(wèn)外部存儲(chǔ)器時(shí)做高8位地址總線用;不作外部功能擴(kuò)展(單片機(jī)應(yīng)用)時(shí),則作準(zhǔn)雙向I/O口用;在片內(nèi)程序效
29、驗(yàn)期間作高8位地址線。它可帶4個(gè)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請(qǐng)求。</p><p> P3.3為外部中斷1請(qǐng)求。</p><p> P3.4為定時(shí)器/計(jì)數(shù)器0的外部事件計(jì)數(shù)輸入。</p><p> P3.5為定時(shí)器/計(jì)數(shù)器1的外部事件計(jì)數(shù)輸入。</p><p> P3.6位片外數(shù)據(jù)存儲(chǔ)器“寫(xiě)選通控制”輸出。</p><p> P3.7為片外數(shù)據(jù)存儲(chǔ)器“讀選存儲(chǔ)
31、器”輸出。</p><p> 2.2 LCD1602顯示器介紹</p><p> LCD1602是一款專(zhuān)門(mén)用于顯示符號(hào)、數(shù)字、字母等點(diǎn)陣LCD顯示屏。它具有體積小、功耗低、顯示內(nèi)容豐富、性價(jià)比高等特點(diǎn)。它可以顯示2行16個(gè)字符,有8位并行數(shù)據(jù)線和RS、R/W、EN三個(gè)控制口。LCD1602有背光和不背光兩種型號(hào),且大部用HD44789作為控制器。背光的略厚些,是否背光在本設(shè)計(jì)中并無(wú)任何
32、差別。因此適合作為本設(shè)計(jì)的顯示模塊。</p><p> 圖2.2 LCD1602</p><p> 2.2.1 LCD1602各引腳說(shuō)明[5]</p><p> 1602LCD采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明如表:</p><p> 表1 LCD1602各引腳</p><p>
33、 2.2.2 LCD1602主要參數(shù)</p><p> 顯示容量:16×2個(gè)字符 </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ī)沒(méi)有掉電保護(hù)功能,在程序掉電的情況下,如果不加外部存儲(chǔ)器,那么掉電以后數(shù)據(jù)就會(huì)丟失。如果不加外部存儲(chǔ)器,密碼鎖一旦掉電就無(wú)法保存數(shù)據(jù),密碼鎖就無(wú)法實(shí)現(xiàn)修改密碼的功能(密碼一直是原始密碼)。所以我加了外部存儲(chǔ)芯片24C02,用來(lái)存儲(chǔ)密碼,無(wú)論是否掉電,數(shù)據(jù)一直保存在芯
35、片中永遠(yuǎn)不會(huì)丟失。這樣安全性又提高了一些。[8]圖2.3為24C02引腳說(shuō)明圖。</p><p> 圖2.3 24C02各引腳說(shuō)明圖</p><p> AT24C02的封裝為DIP-8,提供電可擦除串行1024位存儲(chǔ)或可編程只讀存儲(chǔ)器(E2PROM)128字節(jié)。</p><p> 2.3.1 I2C總線說(shuō)明[4]</p><p>
36、 I2C總線采用二線制傳輸,一根是數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL,所有I2C器件都連接在SDA和SCL上,每個(gè)器件有唯一的地址。【7】</p><p> SDA引腳通常要外部拉高,SDA上的數(shù)據(jù)只有在SCL低電平期間才能改變。數(shù)據(jù)線在SCL高電平期間改變定義為一個(gè)開(kāi)始或停止信號(hào)。</p><p> 起始狀態(tài):在SCL為高時(shí)SDA產(chǎn)生一個(gè)下降沿。</p><p&g
37、t; 停止?fàn)顟B(tài):在SCL為高時(shí)SDA產(chǎn)生一個(gè)上升沿。</p><p> 應(yīng)答:I2C協(xié)議規(guī)定,在每個(gè)字節(jié)傳輸完畢后,必須有一個(gè)應(yīng)答位。它由主機(jī)產(chǎn)生,發(fā)送設(shè)備把數(shù)據(jù)線SDA置為高電平;接收設(shè)備把數(shù)據(jù)線SDA置為低電平,并且在此期間保持低電平狀態(tài)?!?】</p><p> 2.4 GSM模塊說(shuō)明[9]</p><p> 該部分采用的是西門(mén)子TC35i的GSM
38、模塊,如圖6所示。以下是TC35i的主要性能。</p><p> 圖2.4 TC35模塊</p><p> 表1 需要注意的芯片引腳</p><p><b> 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 通過(guò)上面各主要芯片、器件的說(shuō)明,我們對(duì)系統(tǒng)的各個(gè)硬件部分有了一定的認(rèn)識(shí)。下面對(duì)系統(tǒng)的總體設(shè)計(jì)作簡(jiǎn)要說(shuō)明。<
39、/p><p> 3.1 系統(tǒng)硬件總設(shè)計(jì)</p><p> 本系統(tǒng)主要由89C51單片機(jī),矩陣按鍵,LCD1602顯示器,24C02存儲(chǔ)芯片,GSM模塊組成。用戶通過(guò)矩陣按鍵輸入密碼。按下啟動(dòng)鍵,輸入6位密碼,以確認(rèn)鍵結(jié)束,若密碼正確,則顯示屏提示W(wǎng)elcom!!!,表示向電磁鎖通電,門(mén)打開(kāi),若輸入的密碼錯(cuò)誤,則顯示屏提示重新輸入,若三次密碼錯(cuò)誤,則系統(tǒng)蜂鳴器間斷式地響30秒,此時(shí)不能對(duì)系統(tǒng)
40、進(jìn)行任何操作,同時(shí)單片機(jī)控制GSM模塊向用戶手機(jī)發(fā)送一條信息提醒用戶。用戶可以隨時(shí)通過(guò)手機(jī)向GSM模塊發(fā)送信息把密碼鎖置于鎖定狀態(tài),此時(shí)按鍵和顯示屏將被鎖定30分鐘,不能對(duì)系統(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從電腦上采集電源,所以會(huì)有雜波。因此在電源和地之間加上一個(gè)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十個(gè)數(shù)字鍵,還包括清除、確認(rèn)、啟動(dòng)、修改密碼四個(gè)功能鍵,其余2個(gè)為無(wú)用按鍵。與單片機(jī)的技法大致如圖3-3所示。[6]</p><p> 圖3-3 按鍵輸入原理圖</p><p> 3.4 單片機(jī)與GSM模塊串行通信部分</p&
43、gt;<p> TC35的數(shù)據(jù)輸入/輸出接口實(shí)際上是一個(gè)串行異步收發(fā)器,符合ITU-T RS232接口標(biāo)準(zhǔn)。它有固定的參數(shù):8位數(shù)據(jù)位和1位停止位,無(wú)校驗(yàn)位,波特率在300bps~115kbps之間可選,TC35模塊提供RS-232數(shù)據(jù)口,采用AT指令,內(nèi)置微控制器將GPS接收機(jī)和GSM模塊結(jié)合在一起。【9】為了方便設(shè)置波特率,我選用11.0592MHz的晶振作為單片機(jī)的外部晶振,波特率設(shè)置為9600。RS232串口原理
44、圖如下所示。</p><p> 圖3-4 RS232原理圖</p><p> 第四章 系統(tǒng)軟件設(shè)計(jì)</p><p> 系統(tǒng)的主任務(wù)是通過(guò)對(duì)按鍵輸入的掃描與存儲(chǔ)在24C02里的密碼進(jìn)行比對(duì),若連續(xù)輸入錯(cuò)誤3次則單片機(jī)控制GSM模塊通知用戶,用戶通過(guò)手機(jī)與GSM模塊聯(lián)系控制鎖定密碼鎖。軟件的重點(diǎn)在于單片機(jī)的編程和GSM模塊的通信。</p>&
45、lt;p> 4.1 主程序流程圖</p><p> 如圖4-1為主程序流程圖。單片機(jī)上電后按下啟動(dòng)鍵程序進(jìn)行初始化設(shè)定。按下按鍵輸入密碼,單片機(jī)根據(jù)對(duì)按鍵掃描,啟動(dòng)程序。如果密碼正確則啟動(dòng)程序,如果不正確則啟動(dòng)再輸入程序。如果連續(xù)三次不正確則啟動(dòng)報(bào)警程序。</p><p> 圖4-1 主程序流程圖</p><p> 4.2 按鍵功能流程圖&l
46、t;/p><p> 圖4-2為按鍵功能流程圖,按鍵分為0-9數(shù)字輸入按鍵、啟動(dòng)、刪除、確認(rèn)、設(shè)置按鍵。需要編寫(xiě)與其功能相對(duì)應(yīng)的程序,并按順序與輸入數(shù)值作比較。[11]</p><p> 圖4-2 按鍵功能流程圖</p><p> 4.3 密碼設(shè)置流程圖及報(bào)警流程圖</p><p> 圖4-3為密碼設(shè)置流程圖和報(bào)警流程圖,先按下啟動(dòng)鍵輸
47、入舊密碼,如果連續(xù)三次輸入錯(cuò)誤則報(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> 畫(huà)完原理圖和PCB圖后,把各個(gè)元件焊接到電路板上。然后先用萬(wàn)用表對(duì)
48、各個(gè)焊點(diǎn)進(jìn)行檢測(cè),看是否有短路、虛焊、斷路等問(wèn)題。特別是芯片各個(gè)引腳容易短路和虛焊,應(yīng)特別注意。還有就是要檢查按鍵是否損壞,有損壞應(yīng)即時(shí)跟換,負(fù)責(zé)會(huì)影響到后面的調(diào)試。芯片的正負(fù)極不能接反。在保證了焊點(diǎn)和各個(gè)元件之間的連接都沒(méi)錯(cuò)的情況下,才能上電檢測(cè)。</p><p> 然后給主控制板上電,導(dǎo)通開(kāi)關(guān)。過(guò)幾秒用手觸摸各個(gè)芯片,是否有發(fā)燙現(xiàn)象。若有說(shuō)明芯片的正負(fù)極接反了,應(yīng)及時(shí)斷電。此時(shí)芯片很可能已經(jīng)燒壞,應(yīng)及時(shí)跟換
49、。如果沒(méi)有異?,F(xiàn)象,則可以先下載一小斷編譯好的程序到單片機(jī)里。若下載成功,則說(shuō)明RS-232下載部分沒(méi)有問(wèn)題。</p><p> 對(duì)STC89C51單片機(jī)的檢測(cè)可以下載一段程序。例如下載一段檢測(cè)芯片引腳的程序,把芯片的引腳逐個(gè)的拉高,過(guò)幾秒再拉低,使其產(chǎn)生一個(gè)下降沿。然后用萬(wàn)用表檢查引腳電平的變化。如果沒(méi)有變化,可能是芯片沒(méi)連接好,也可能是芯片壞了。如果有變化,則說(shuō)明單片機(jī)基本沒(méi)問(wèn)題。</p>&
50、lt;p> 對(duì)24C02的檢測(cè)也是通過(guò)下載一段程序來(lái)檢測(cè)。例如下載一段24C02的讀寫(xiě)程序,先通過(guò)按鍵輸入幾個(gè)鍵碼寫(xiě)入24C02中。然后再下載一段讀24C02存儲(chǔ)器的程序,把存儲(chǔ)在24C02里的數(shù)據(jù)讀出來(lái),顯示在LCD1602上。這樣不僅檢測(cè)了24C02的電路,同時(shí)也檢測(cè)了按鍵掃描電路、LCD1602顯示電路。如果沒(méi)有讀出數(shù)據(jù),則可能是鍵盤(pán)或芯片問(wèn)題。先逐個(gè)檢查按鍵,是否有接錯(cuò),然后再檢測(cè)24C02外圍電路。若沒(méi)問(wèn)題可能是芯片壞
51、了。</p><p> 5.2 GSM模塊調(diào)試</p><p> 通過(guò)RS-232將GSM模塊和主控制板連接起來(lái)。這樣要注意要將RXD-RXD,TXD-TXD連接起來(lái),不要憑經(jīng)驗(yàn)交叉連接。</p><p> 這里我采用串口調(diào)試助手,通過(guò)RS-232與電腦連接來(lái)調(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ā)送英文,但其無(wú)需編碼,發(fā)送簡(jiǎn)單,所以我在測(cè)試時(shí)采用TEXT模式。</p><p> TEXT 發(fā)送模式:(相對(duì)簡(jiǎn)單很多。)</p><p><b>
53、 發(fā)送:AT<回車(chē)></b></p><p><b> 返回:AT<回車(chē)></b></p><p><b> OK</b></p><p> 發(fā)送:AT+CMGF=1<回車(chē)></p><p> 返回:AT+CMGF=1<回車(chē)>&l
54、t;/p><p><b> OK</b></p><p> 發(fā)送:AT+CSCA=+8613010130500<回車(chē)></p><p> 返回:AT+CSCA=+8613010130500<回車(chē)></p><p><b> OK</b></p><p&
55、gt; 發(fā)送:AT+CMGS=13132061066<回車(chē)></p><p> 返回:AT+CMGS=13132061066<回車(chē)></p><p><b> ></b></p><p> 發(fā)送:XXXXXX(0-9,A-Z)[XXXXX 是指阿拉伯?dāng)?shù)字0-9,英文26 個(gè)字母A-Z]</p>
56、<p> 返回:XXXXXX(0-9,A-Z)[XXXXX 是指阿拉伯?dāng)?shù)字0-9,英文26 個(gè)字母A-Z]</p><p> 發(fā)送:1A(十六進(jìn)制發(fā)送)<回車(chē)></p><p> 返回:+CMGS: XXX</p><p><b> OK</b></p><p> 以上為 TEXT 方式
57、發(fā)送截圖:</p><p> 如果不能正常發(fā)送,返回ERROR,則說(shuō)明需要格式化??梢园l(fā)送AT&F 命令格式化。</p><p> 發(fā)送:AT&F<回車(chē)></p><p> 返回:AT&F<回車(chē)>【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)過(guò)多次的修改完善,基本滿足設(shè)計(jì)要求。按下啟動(dòng)鍵,輸入6位密碼,以確認(rèn)鍵結(jié)束,若密碼正確,則顯示屏提示W(wǎng)elcom!!!,表示向電磁鎖通電,門(mén)打開(kāi),若輸入的密碼錯(cuò)誤,則顯示屏提示重新輸入,若三次
59、密碼錯(cuò)誤,則系統(tǒng)蜂鳴器間斷式地響30秒,此時(shí)不能對(duì)系統(tǒng)進(jìn)行任何操作,同時(shí)單片機(jī)控制GSM模塊向用戶手機(jī)發(fā)送一條信息提醒用戶。用戶可以隨時(shí)通過(guò)手機(jī)向GSM模塊發(fā)送信息把密碼鎖置于鎖定狀態(tài),此時(shí)按鍵和顯示屏將被鎖定30分鐘,不能對(duì)系統(tǒng)進(jìn)行任何操作。只有在密碼輸入正確后才能修改密碼。</p><p> 由于本人水平有限,此系統(tǒng)仍存在一些問(wèn)題。例如忘記密碼后將很難再打開(kāi)密碼鎖。我想這可以通過(guò)其他的辦法解決,但我還沒(méi)想到
60、。但是通過(guò)這次畢業(yè)設(shè)計(jì),讓我重新學(xué)習(xí)了單片機(jī)和電路方面的知識(shí),對(duì)之前所學(xué)有了更深刻的理解,特別是C語(yǔ)言有了比較深刻的理解。在自學(xué)GSM模塊的原理和編程過(guò)程中,掌握了一定的學(xué)習(xí)方法,也鍛煉了自己的意志,對(duì)今后的工作,生活有積極的意義。</p><p><b> 致謝</b></p><p> 衷心感謝*老師。本設(shè)計(jì)是在*老師精心指導(dǎo)下完成的,從論文的選題、設(shè)計(jì)方案選
61、擇、GSM模塊的選擇到系統(tǒng)的總體布局,各個(gè)方面都離不開(kāi)吳老師悉心教導(dǎo)。在這一個(gè)多月畢業(yè)設(shè)計(jì)的時(shí)間里,*老師認(rèn)真的工作態(tài)度,誠(chéng)信寬厚的為人處世態(tài)度,都給我留下了深刻的印象。老師多次問(wèn)我設(shè)計(jì)進(jìn)度,并且為我指點(diǎn)迷津,當(dāng)我遇到困難時(shí),老師總能引導(dǎo)我走出困境。</p><p> 大學(xué)四年的生活即將結(jié)束,我將告別我的學(xué)校、老師、同學(xué),在這里由衷的感謝大家陪我度過(guò)了這絢麗多彩的大學(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)品開(kāi)發(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; //定時(shí)器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;//開(kāi)串口終端</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延時(shí)</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讀寫(xiě)</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() //請(qǐng)輸入密碼</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()//請(qǐng)按確認(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()//請(qǐng)輸入管理者密碼</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()//請(qǐng)輸入管理者密碼</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()//請(qǐng)輸入新密碼</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()//請(qǐng)?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讀寫(xiě)*****************/</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. 本站所有資源如無(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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(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ī)電子密碼鎖畢業(yè)設(shè)計(jì)論文
- 單片機(jī)控制的電子密碼鎖設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 基于單片機(jī)的電子密碼鎖畢業(yè)設(shè)計(jì)(論文)開(kāi)題報(bào)告
- 畢業(yè)論文---基于單片機(jī)的電子密碼鎖設(shè)計(jì)
- 基于單片機(jī)的密碼鎖 畢業(yè)設(shè)計(jì)
- 基于單片機(jī)電子密碼鎖畢業(yè)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論