秋霞电影网午夜鲁丝片无码,真人h视频免费观看视频,囯产av无码片毛片一级,免费夜色私人影院在线观看,亚洲美女综合香蕉片,亚洲aⅴ天堂av在线电影猫咪,日韩三级片网址入口

電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)

上傳人:r****d 文檔編號(hào):124577716 上傳時(shí)間:2022-07-25 格式:DOC 頁數(shù):63 大小:87KB
收藏 版權(quán)申訴 舉報(bào) 下載
電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)_第1頁
第1頁 / 共63頁
電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)_第2頁
第2頁 / 共63頁
電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)_第3頁
第3頁 / 共63頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì)(63頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、【電子信息工程畢業(yè)設(shè)計(jì)+文獻(xiàn)綜述+開題報(bào)告】紅外遙控電子密碼鎖設(shè)計(jì)—軟件設(shè)計(jì) (20_ _屆) 本科畢業(yè)設(shè)計(jì) 紅外遙控電子密碼鎖設(shè)計(jì)―軟件設(shè)計(jì) 摘 要 目前,具有報(bào)警功能的電子密碼鎖,正逐步取代傳統(tǒng)的機(jī)械密碼鎖。電子密碼鎖在性能和技術(shù)方面都有了很大的進(jìn)展,例如:克服了傳統(tǒng)的機(jī)械密碼鎖密碼少,可靠性不足和操作不方便等缺點(diǎn)。本文設(shè)計(jì)了一種基于單片機(jī)STC89C52的紅外遙控電子密碼鎖。在該設(shè)計(jì)中,采用了紅外線作為傳輸介質(zhì),因?yàn)樗哂行畔鬏斂煽?,抗干擾能力強(qiáng)等特點(diǎn)。這種密碼鎖有兩種類型的輸入設(shè)備,一個(gè)是安裝在電子密碼

2、鎖上的4 * 4矩陣鍵盤,另一個(gè)是紅外遙控器。具有開鎖和更改所設(shè)定的密碼等功能。操作時(shí),LCD1602可以顯示有關(guān)信息。在介紹了紅外遙控編碼和解碼的原理,4*4矩陣鍵盤的工作原理,STC89C52內(nèi)部EEPROM的應(yīng)用以及LCD1602顯示屏的初始化和工作原理等的基礎(chǔ)上,本文詳細(xì)敘述了軟件的設(shè)計(jì)要點(diǎn)以及方法,同時(shí)給出了主程序和幾個(gè)主要子程序的流程圖和代碼。子程序主要包括紅外遙控子程序和4*4矩陣鍵盤子程序。 關(guān)鍵詞:單片機(jī) 電子密碼鎖 紅外遙控 The Design of Electronic Code Locks Based on Infrared Remote ControlSoft

3、ware Design Abstract 碼At present, key-pad electronic code lock with alarming function is to gradually replace the traditional mechanical code lock. Key- pad electronic code lock makes a great progress in terms of performance and technology, for instance, overcoming the shortcoming of the tradition

4、al mechanical code lock which contain few password , lack of reliability and inconvenient operation. This paper introduces a type of remote-controlled electronic code lock based on the chip of 80C52. This code lock have two input devices, one is a 4*4 matrix keyboard installed on the code lock. Anot

5、her is a remote controller . In the design, we adopt the infrared ray as the medium, because of the reliable transmission of information,and the strong anti-interference ability. We can use either of them to open the lock or change the password we have set. when you are operating, LCD1602 could disp

6、lay the information. This paper first introduce the encoding and decoding theory of infrared remote control, the working principle of the 4*4 matrix keyboard, STC89C52 internal EEPROM applications, and LCD1602 initialization and working principle, and so on .Then the design of software is described

7、in detail. The flowchart and code of the main program and major subroutine such as infrared remote control subroutine and 4 * 4 matrix keyboard subroutine are shown. Keywords: MCU Electronic code lock Infrared Remote-control 目錄 摘 要 III Abstract IV 1 緒論 1 1.1課題的來源 1 1.2課題的意義 1 1.3國內(nèi)外發(fā)展現(xiàn)狀

8、1 1.4課題研究的主要內(nèi)容 2 2方案設(shè)計(jì)與總體設(shè)計(jì) 3 2.1總體方案的設(shè)計(jì) 3 2.1.1總體方案的硬件設(shè)計(jì) 3 2.1.2總體方案的軟件設(shè)計(jì) 4 2.2硬件設(shè)計(jì)簡述 5 2.2.1單片機(jī)主控模塊 5 2.2.2 紅外遙控模塊 5 2.2.3 4*4矩陣鍵盤模塊 6 2.2.4 LCD1602液晶顯示模塊 6 2.2.5 報(bào)警模塊 7 2.2.6 電源模塊 7 2.3方案評價(jià) 7 3系統(tǒng)軟件設(shè)計(jì) 9 3.1主程序設(shè)計(jì) 9 3.2紅外遙控模塊軟件設(shè)計(jì) 9 3.2.1 紅外通信基本原理及標(biāo)準(zhǔn) 9 3.2.2 紅外遙控系統(tǒng)及原理 10 3.3 LCD160

9、2液晶顯示模塊軟件設(shè)計(jì) 13 3.4 STC單片機(jī)內(nèi)部EEPROM及ISP的應(yīng)用 14 3.4.1 EEPROM存儲(chǔ)器 14 3.4.2 ISP特殊功能寄存器 15 3.5 4*4矩陣鍵盤模塊軟件設(shè)計(jì) 16 3.5.1 4*4矩陣鍵盤的流程圖及功能 16 3.5.2 4*4矩陣鍵盤的工作原理 17 3.6 報(bào)警器模塊軟件設(shè)計(jì) 17 3.7 系統(tǒng)調(diào)試 18 3.7.1 程序編譯 18 3.7.2 程序下載 18 4結(jié)論 20 參考文獻(xiàn) 21 致謝 22 附錄 23 附錄圖1 電路原理圖 23 附錄圖2 PCB板 24 附錄圖3 實(shí)物圖 25 附錄4 程序 26

10、 1 緒論 隨著人們生活的提高和安全意識(shí)的加強(qiáng),在日常生活中出現(xiàn)了各式各樣的密碼鎖。社會(huì)科技在不斷地地進(jìn)步,密碼鎖也經(jīng)歷了一代又一代。密碼鎖已經(jīng)從傳統(tǒng)的機(jī)械鎖發(fā)展到了磁性鎖,電子鎖,聲控鎖等等,這些鎖是在傳統(tǒng)機(jī)械鎖的基礎(chǔ)上,加上了不同的密碼,不同的磁場,不同的聲音等來控制鎖的開啟。這些密碼鎖保密性高,使用靈活性強(qiáng),安全系數(shù)高,在很大程度上克服了傳統(tǒng)機(jī)械鎖的缺點(diǎn),使得人們對自身的財(cái)產(chǎn)安全有了更多的保障。但是這些密碼鎖不能很好的實(shí)現(xiàn)遠(yuǎn)距離遙控控制,比如聲控鎖在進(jìn)行遠(yuǎn)距離遙控時(shí)穩(wěn)定性不高,不能進(jìn)行很正確的遠(yuǎn)距離控制,一定程度上限制了這些密碼鎖在日常生活中普及和推廣。為了解決遠(yuǎn)距離控制的問題,

11、紅外遙控電子密碼鎖的研究普遍受到人們的重視和關(guān)注。紅外遙控電子密碼鎖在一定程度上可以解決傳統(tǒng)機(jī)械鎖和一般電子密碼鎖存在的問題,具有很大的研究價(jià)值。 1.2課題的意義 紅外遙控是目前使用最廣泛的一種通信和遙控手段,采用紅外線作為傳輸媒介進(jìn)行數(shù)據(jù)通信是一種既方便又經(jīng)濟(jì)實(shí)用的選擇,在小型移動(dòng)設(shè)備中得到了廣泛的應(yīng)用。在許多單片機(jī)應(yīng)用系統(tǒng)中,常常利用非電信號(hào)傳送信息以實(shí)現(xiàn)遙控的功能。而紅外通信具有傳輸可靠性高、實(shí)施方便、控制簡單等特點(diǎn),是一種較為常用的通信方式。 該系統(tǒng)以單片機(jī)為核心,結(jié)合紅外遙控技術(shù),配以相應(yīng)的硬件電路,由各模塊共同作用實(shí)現(xiàn)各種功能。紅外遙控電子密碼鎖解決了傳統(tǒng)密碼鎖和一般的電

12、子密碼鎖的不足,操作方便,提高密碼鎖的可靠性和安全性,實(shí)現(xiàn)了遠(yuǎn)距離控制技術(shù),并且能夠很穩(wěn)定的實(shí)現(xiàn)遠(yuǎn)距離控制技術(shù),還具有密碼預(yù)置、誤碼報(bào)警、耗電省等功能,基本可以滿足用戶的需要,起到防盜的作用,非常適合辦公室、住宅等用鎖的要求,具有很好的開發(fā)和研究價(jià)值。 密碼鎖的發(fā)展大致可以分為四個(gè)階段:1、木質(zhì)鎖;2、機(jī)械鎖;3、普通的電子密碼鎖、磁片密碼鎖、EP卡鎖;4、未來的家用電子密碼鎖、遙控電子密碼鎖、以及用于特定場合的安全密碼鎖。 目前,在日常安全范圍領(lǐng)域,具有防盜報(bào)警功能的電子密碼鎖逐漸替代了傳統(tǒng)機(jī)械鎖,在性能上和技術(shù)上都大大提高了。隨著大規(guī)模集成電路技術(shù)的發(fā)展,特別是單片機(jī)的出現(xiàn)以后,它

13、在保留了電子密碼鎖原有的一些功能的同時(shí),對這些電子鎖進(jìn)行了智能化管理,這樣的產(chǎn)品體積大大減小了,成本也大大降低了,也進(jìn)一步提高了密碼鎖的 安全性、可靠性。 紅外遙控技術(shù)在遙控方式上大體經(jīng)歷了從有線到無線的超聲波、從振動(dòng)子到紅外線、再到使用總線的微機(jī)紅外遙控這樣幾個(gè)階段,紅外遙控技術(shù)慢慢變得成熟,運(yùn)用在各方面。目前,紅外線遙控是使用最廣泛的一種通信和遙控手段,采用紅外線作為傳輸媒介進(jìn)行數(shù)據(jù)通信是一種既方便又經(jīng)濟(jì)實(shí)用的選擇,在小型移動(dòng)設(shè)備中得到了廣泛的應(yīng)用。 紅外遙控電子密碼鎖系統(tǒng)大致以單片機(jī)為核心,結(jié)合紅外遙控技術(shù),配以相應(yīng)的硬件電路,實(shí)現(xiàn)了電子密碼鎖密碼的顯示、存儲(chǔ)、修改以及驅(qū)動(dòng)報(bào)

14、警等功能,同時(shí)實(shí)現(xiàn)了遠(yuǎn)程遙控,具有更好的密碼保護(hù)以及更完善的功能系統(tǒng)。 課題主要關(guān)于紅外遙控電子密碼鎖的設(shè)計(jì)研究。該系統(tǒng)以單片機(jī)為核心,結(jié)合紅外遙控技術(shù),配以相應(yīng)的硬件電路(矩陣鍵盤、報(bào)警模塊、顯示模塊等),預(yù)期實(shí)現(xiàn)電子密碼的密碼顯示、修改、存儲(chǔ)以及驅(qū)動(dòng)報(bào)警等功能,同時(shí),采用的紅外遙控技術(shù)可以實(shí)現(xiàn)遠(yuǎn)程遙控。結(jié)合硬件電路,通過軟件設(shè)計(jì),主要完成以下幾點(diǎn)內(nèi)容:1、紅外遙控信號(hào)的接收(遙控距離達(dá)到8-10米);2、鍵盤輸入、本機(jī)設(shè)置的鍵盤信息管理功能;3、單人電控鎖開鎖、關(guān)鎖的控制功能;4、報(bào)警功能。主要完成主程序結(jié)構(gòu)設(shè)計(jì)及其程序編寫和子程序結(jié)構(gòu)設(shè)計(jì)及其程序編寫。 軟件是整個(gè)系統(tǒng)的核

15、心內(nèi)容,在硬件電路已經(jīng)確定的情況下,不同程序可以實(shí)現(xiàn)不同的功能。該課題的設(shè)計(jì)基于C語言,使用KeiluVision編輯、調(diào)試、編譯通過。采用模塊化設(shè)計(jì),自頂而下的設(shè)計(jì)思路,這樣的設(shè)計(jì)有利于程序代碼的優(yōu)化,而且便于設(shè)計(jì)、調(diào)試和維護(hù)。以主程序?yàn)楹诵脑O(shè)置了多個(gè)功能模塊子程序。程序大致可以分為系統(tǒng)初始化程序、紅外遙控模塊子程序、密碼判斷子程序、顯示子程序、鍵盤掃描中斷服務(wù)程序等。其中主程序主要起到一個(gè)決策和導(dǎo)向作用,系統(tǒng)的各個(gè)功能模塊主要通過調(diào)用具體的子程序來實(shí)現(xiàn)。系統(tǒng)初始化主要包括:定時(shí)器、中斷、1602芯片以及系統(tǒng)參數(shù)等的初始化;往EEPROM寫入初始化密碼主要是完成對原先密碼進(jìn)行更改或者進(jìn)行相關(guān)

16、設(shè)置的任務(wù),然后將更新后的密碼保存到EEPROM中。 2方案設(shè)計(jì)與總體設(shè)計(jì) 根據(jù)設(shè)計(jì)要求,本系統(tǒng)的設(shè)計(jì)思路如下:以單片機(jī)STC89C52控制為中心,分為紅外遙控,單片機(jī)控制,蜂鳴器報(bào)警,LCD1602液晶顯示,4*4鍵盤輸入以及電源。總體設(shè)計(jì)方案如圖2-1所示。 圖2-1系統(tǒng)總體設(shè)計(jì)方案 各個(gè)功能模塊的功能大致如下: 紅外遙控模塊:紅外遙控器按有鍵被按下時(shí),就輸出一定數(shù)量被調(diào)制的脈沖信號(hào)。當(dāng)接收器收到發(fā)射器發(fā)射的紅外指令信號(hào)時(shí),它將紅外指令信號(hào)變成TTL電平信號(hào),再經(jīng)過放大、解調(diào)、整形、解碼處理后送入單片機(jī),由單片機(jī)進(jìn)行識(shí)別處理,從而控制電子密碼鎖的工作。

17、單片機(jī)模塊:主控電路模塊主要采用以單片機(jī)STC89C52為核心的主控電路。紅外線接收器把接收到的信號(hào)傳送給單片機(jī),單片機(jī)對信號(hào)進(jìn)行識(shí)別,將信號(hào)識(shí)別成指令,利用這些指令控制電子密碼鎖的工作。 蜂鳴器報(bào)警功能模塊:若3次輸入密碼錯(cuò)誤,報(bào)警模塊報(bào)警。 LCD1602液晶顯示模塊:此模塊采用單片機(jī)向液晶顯示屏的串口發(fā)送數(shù)據(jù)指令,當(dāng)串口接收到一串?dāng)?shù)據(jù)后,LCD1602液晶顯示屏能實(shí)現(xiàn)數(shù)據(jù)的顯示、清屏操作和光標(biāo)的設(shè)置等操作。 4*4矩陣鍵盤模塊:該模塊可以實(shí)現(xiàn)輸入密碼,設(shè)置新密碼等功能。 軟件是整個(gè)控制系統(tǒng)的核心,在硬件結(jié)構(gòu)一定的情況下,只要改變軟件就能實(shí)現(xiàn)一些不同的功

18、能。對于51系列單片機(jī),現(xiàn)有四種語言支持,即匯編、PL/M,C和BASIC。匯編語言最接近機(jī)器語言,利用匯編語言時(shí),單片機(jī)的資源利用效率較高,但是這要求對單片機(jī)的指令系統(tǒng)非常了解,對單片機(jī)的存儲(chǔ)器結(jié)構(gòu)也要有一定的了解。PL/M是Intel從8080微處理器系列開始為其系列產(chǎn)品開發(fā)的編程語言,對于51系列的單片機(jī)而言,PL/M不支持復(fù)雜的算術(shù)運(yùn)算、無豐富的庫函數(shù)支持。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼,對單片機(jī)的指令系統(tǒng)不要求了解,僅要求對51系列單片機(jī)的存儲(chǔ)器結(jié)構(gòu)有初步了解。BASIC通常附在PC機(jī)上,是初學(xué)編程的第一種語言,主要用于要求編程簡單而對

19、運(yùn)行速度和編程效率要求都不高的場合,現(xiàn)在已經(jīng)很少用到BASIC語言了。 經(jīng)過上述的比較后,該課題的設(shè)計(jì)選擇基于C語言,使用KeiluVision編輯、調(diào)試、編譯通過。采用模塊化設(shè)計(jì),自頂而下的設(shè)計(jì)思路,這樣的設(shè)計(jì)有利于程序代碼的優(yōu)化,而且便于設(shè)計(jì)、調(diào)試和維護(hù)。以主程序?yàn)楹诵脑O(shè)置了多個(gè)功能模塊子程序。程序大致可以分為系統(tǒng)初始化程序、紅外遙控模塊子程序、密碼判斷子程序、顯示子程序、鍵盤服務(wù)程序等。主程序流程圖如下: 圖2-2主程序流程圖 本設(shè)計(jì)中我們選用的單片機(jī)控制芯片是STC89C52芯片,相較于AT系列的單片

20、機(jī),STC89C52可在線編程,燒制程序簡單,工作穩(wěn)定高,兼容性好且抗干擾性強(qiáng)。模塊圖如圖2-3。 圖2-3 單片機(jī)主控模塊 2.2.2 紅外遙控模塊 紅外遠(yuǎn)程遙控模塊由發(fā)射和接受兩部分組成,電路如圖2-4。遙控發(fā)射器采用型號(hào)TC9012芯片,TC9012芯片是一塊用于東芝系列紅外遙控系統(tǒng)中的專用發(fā)射集成電路,采用 CMOS 工藝制造。而遙控接收器采用HS0038B型號(hào)的紅外一體化接收頭,HS0038B的管腳分布如圖2-5所示,2腳、3腳分別為地電源和地,1腳是解調(diào)信號(hào)輸出口,其電平與TTL兼容。 圖2-

21、4 紅外遙控模塊電路圖 圖2-5 HS0038B 2.2.3 4*4矩陣鍵盤模塊 因?yàn)楸鞠到y(tǒng)需要用到10個(gè)數(shù)字按鍵以及幾個(gè)系統(tǒng)功能鍵,需要用到的按鍵數(shù)量比較多,由于單片機(jī)的I/O口是有限的,選擇使用4*4的矩陣鍵盤來作為輸入,這樣一個(gè)8位的I/O口就可以驅(qū)動(dòng)16個(gè)鍵盤,大大提升了I/0口的利用率。矩陣鍵盤硬件電路圖如圖2-6所示。 圖2-6 4*4矩陣鍵盤電路圖 2.2.4 LCD1602液晶顯示模塊 液晶顯示模塊采用應(yīng)用比較廣泛的LCD1602,是通用型的雙行16字符點(diǎn)陣液晶

22、模塊,內(nèi)含數(shù)字、字母、符號(hào)192種(無漢字)字符庫,可通過8位或4位的單片機(jī)進(jìn)行顯示字符的控制,通過編程可實(shí)現(xiàn)字行的上下滾頁,左右移動(dòng),通過硬件連線可控制背景燈的對比度,背景燈的開關(guān)。LCD1602與STC89C52單片機(jī)的電路引腳連接圖如圖2-7所示。 圖2-7 1602液晶顯示模塊電路引腳圖 2.2.5 報(bào)警模塊 本次研究課題是紅外電子密碼鎖,目的是良好保護(hù)財(cái)產(chǎn),因此我們需要在設(shè)計(jì)中加入報(bào)警模塊,在密碼連續(xù)3次錯(cuò)誤時(shí)就報(bào)警。如圖2-8。 圖2-7 報(bào)警模塊電路圖 2.2.6 電源模塊 該模塊是用來控制系統(tǒng)在工作

23、時(shí)的電源,上述采用的芯片所需的電壓基本都在5V左右,所以系統(tǒng)在工作時(shí)采用5V的工作電壓。如圖2-8。 圖2-8 電源模塊圖 對于51系列單片機(jī),現(xiàn)有四種語言支持,即匯編、PL/M,C和BASIC。匯編語言最接近機(jī)器語言,利用匯編語言時(shí),單片機(jī)的資源利用效率較高,但是這要求對單片機(jī)的指令系統(tǒng)非常了解,對單片機(jī)的存儲(chǔ)器結(jié)構(gòu)也要有一定的了解。PL/M是Intel從8080微處理器系列開始為其系列產(chǎn)品開發(fā)的編程語言,對于51系列的單片機(jī)而言,PL/M不支持復(fù)雜的算術(shù)運(yùn)算、無豐富的庫函數(shù)支持。C語言是一種源于編寫UNIX操作系統(tǒng)的語言,它是一種結(jié)構(gòu)化語言,可產(chǎn)生壓縮代碼,對單

24、片機(jī)的指令系統(tǒng)不要求了解,僅要求對51系列單片機(jī)的存儲(chǔ)器結(jié)構(gòu)有初步了解。BASIC通常附在PC機(jī)上,是初學(xué)編程的第一種語言,主要用于要求編程簡單而對運(yùn)行速度和編程效率要求都不高的場合,現(xiàn)在已經(jīng)很少用到BASIC語言了。 C語言有以下幾個(gè)優(yōu)點(diǎn):1、C語言是編譯型語言,不僅有高級語言的特點(diǎn),還具備匯編語言簡潔、可控制硬件的特點(diǎn);2、可移植性好;3、有豐富的庫函數(shù);4、表達(dá)能力好,易于編程,可讀性強(qiáng);5、寄存器的分配由編譯器完成;6、可以模塊化設(shè)計(jì),只要將各模塊之間的接口確定好就可以了;7、開發(fā)周期短;8、有實(shí)時(shí)多任務(wù)操作系統(tǒng),可以合理地分配CPU的時(shí)間和單片機(jī)的資源。 經(jīng)過比較之后,采用C語言

25、來完成該系統(tǒng)的設(shè)計(jì)。 3系統(tǒng)軟件設(shè)計(jì) 本設(shè)計(jì)采用模塊化設(shè)計(jì),自頂而下的誰思路。主程序的內(nèi)容主要涵蓋了各子程序的內(nèi)容。主程序的流程圖在第二章中已經(jīng)給出。從流程圖中可以看出,主程序主要包括這些內(nèi)容:初始化定時(shí)器和中斷,采用定時(shí)器0和外部中斷0,并且定時(shí)器0工作在工作方式2;初始化LCD1602和EEPROM;設(shè)置初始密碼;判斷紅外和4*4矩陣鍵盤是否有鍵按下,如果紅外有鍵按下,則紅外接收頭接收數(shù)據(jù),外部中斷響應(yīng),單片機(jī)產(chǎn)生中斷,進(jìn)入數(shù)據(jù)處理階段,最后根據(jù)按鍵流程圖輸出響應(yīng)的結(jié)果,如果矩陣鍵盤有鍵按下,直接進(jìn)入按鍵處理程序。按鍵處理程序包含了報(bào)警和LCD1602顯示。

26、對紅外遙控模塊進(jìn)行系統(tǒng)設(shè)計(jì),必須先了解一些相關(guān)的原理和標(biāo)準(zhǔn),如:紅外通信基本原理,紅外遙控器編碼和解碼原理,紅外數(shù)據(jù)協(xié)會(huì)標(biāo)準(zhǔn),紅外遙控器原理等,這樣才能有一個(gè)比較清楚系統(tǒng)的設(shè)計(jì)方案。 3.2.1 紅外通信基本原理及標(biāo)準(zhǔn) 紅外通信是利用紅外技術(shù)實(shí)現(xiàn)兩點(diǎn)間的近距離保密通信和信息轉(zhuǎn)發(fā)。它一般由紅外發(fā)射和紅外接收兩部分組成。發(fā)射系統(tǒng)對一個(gè)紅外輻射源進(jìn)行調(diào)制后發(fā)射紅外信號(hào),而接收系統(tǒng)用光學(xué)裝置和紅外探測器進(jìn)行接收,就構(gòu)成紅外通信系統(tǒng)。紅外通信的基本原理是發(fā)送端將基帶二進(jìn)制信號(hào)調(diào)制為一系列的脈沖串信號(hào)(載波信號(hào)),通過紅外發(fā)射管發(fā)射紅外信號(hào)。常用的有通過脈沖寬度來實(shí)現(xiàn)信號(hào)調(diào)制的脈寬調(diào)制(PWM)和通過

27、脈沖串之間的時(shí)間間隔來實(shí)現(xiàn)信號(hào)調(diào)制的脈時(shí)調(diào)制(PPM)兩種方法。 1993年,由HP、COMPAQ、INTEL等二十多家公司發(fā)起成立了紅外數(shù)據(jù)協(xié)會(huì)(Infrared Data Association,簡稱IRDA),1993年6月28日,來自50多家企業(yè)的120多位代表出席了紅外數(shù)據(jù)協(xié)會(huì)的首次會(huì)議,并在建立統(tǒng)一的紅外通訊標(biāo)準(zhǔn)問題上達(dá)成了一致。 IRDA1.0簡稱為SIR(Serial InfraRed),是基于HP-SIR開發(fā)出來的一種異步的、半雙工的紅外通訊方式。SIR以系統(tǒng)的異步通訊收發(fā)器(UART)為依托,通過對串行數(shù)據(jù)脈沖的波形壓縮和對所接收的光信號(hào)電脈沖的波形擴(kuò)展這一編碼和解碼過

28、程實(shí)現(xiàn)紅外數(shù)據(jù)信號(hào)傳輸。由于受到UART通訊速率的限制,SIR的最高通訊速率只能達(dá)到115.2kbps。IRDA標(biāo)準(zhǔn)包括三個(gè)基本的協(xié)議和規(guī)范:物理層規(guī)范(Physical Layer Link Specification),鏈接建立協(xié)議(ink Access Protocol:IRLAP),鏈接管理協(xié)議(Link Management Protocol: IRLMP)。 3.2.2 紅外遙控系統(tǒng)及原理 通用紅外遙控系統(tǒng)由發(fā)射和接收兩大部分組成,應(yīng)用編碼和解碼專用集成電路芯片來進(jìn)行控制操作,如圖3-1所示。發(fā)射部分包括鍵盤、編碼調(diào)制、LED紅外發(fā)送器;接收部分包括光/電轉(zhuǎn)換放大器、解調(diào)、解碼

29、電路。 遙控發(fā)射器 遙控接收器 圖3-1紅外遙控系統(tǒng) 1、遙控發(fā)射器及編碼 遙控發(fā)射器專用芯片很多,該系統(tǒng)中采用了TC9012芯片。TC9012芯片是一塊用于東芝系列紅外遙控系統(tǒng)中的專用發(fā)射集成電路,采用 CMOS 工藝制造。它可外接32個(gè)按鍵,提供8種用戶編碼,另外還具有 3 種雙重按鍵功能。 當(dāng)發(fā)射器按鍵按下時(shí)即有遙控碼發(fā)出,所按的鍵不同遙控編碼也不一樣。TC9012芯片采用脈沖位置調(diào)制方式(PPM)。TC9012 的一幀數(shù)據(jù)中含有 32 位碼,包括兩個(gè)8位用戶碼,8 位數(shù)據(jù)碼和8位數(shù)據(jù)碼的反碼及最后位的同步位。引導(dǎo)碼由

30、4.5ms的載波和4.5ms的載波關(guān)斷波形所構(gòu)成。用戶碼和數(shù)據(jù)碼的發(fā)射都是低位在前,高位在后。發(fā)射碼格式如圖3-2: 圖3-2 發(fā)射碼格式 脈沖位置調(diào)制方式(PPM):“1”和“0”的區(qū)分取決于脈沖之間的時(shí)間 。脈寬為0.565ms、間隔0.56ms、周期為1.125ms,占空比大約為1:1的組合表示二進(jìn)制的“0”,如圖2-6;以脈寬為0.565ms、間隔1.685ms、周期為2.25ms,占空比大約為1:3的組合表示二進(jìn)制的“1”,如圖3-3。 圖3-3 遙控碼的“0”和“1” 2、遙控接收器及解碼

31、 一體化紅外線接收頭是一種集紅外線接收和放大于一體的器件,不需要外接任何其它元件,就能實(shí)現(xiàn)紅外線接收,輸出與TTL電平信號(hào)兼容的所有工作,體積和一般的塑料三極管大小一樣,它適合于各種紅外遙控和紅外線數(shù)據(jù)傳輸。 HS0038B有許多優(yōu)點(diǎn):穩(wěn)定性好,抗干擾能力很強(qiáng),外圍電路非常簡潔,成本低,適用于各種紅外遙控和紅外數(shù)據(jù)傳輸,是替代其它紅外接器的理想元件。所以在該設(shè)計(jì)中采用了HS0038B型號(hào)的一體化紅外接收器。HS0038B的信號(hào)電平為:38KHz紅外發(fā)射接收到時(shí):低電平輸出;38KHz紅外發(fā)射接收不到時(shí):高電平輸出。HS0038B接收器可以實(shí)現(xiàn)紅外信號(hào)接收的一系列功能,如解調(diào)、濾波等功能,所以

32、采用一體化紅外接收器的信號(hào)輸出引腳直接與單片機(jī)的中斷引腳(INT0)相連,來實(shí)現(xiàn)紅外信號(hào)的解碼。在設(shè)計(jì)中采用下降沿觸發(fā),若檢測到低電平則引起中斷,進(jìn)入中斷程序。外部中斷程序如下: void INT0init void EA 1; IT0 1;//下降沿觸發(fā)方式 EX0 1; 解碼的關(guān)鍵是如何識(shí)別“0”和“1”,由圖2-6可以發(fā)現(xiàn)“0”、“1”均以0.56ms的高電平開始,不同的是低電平寬度不同,“0”為0.56ms,“1”為1.68ms,所以必須根據(jù)低電平的寬度區(qū)別“0”和“1”,也就是判斷時(shí)間為1.25ms還是2.25ms,如果時(shí)間是1.25ms,收到的就

33、是“0”,如果時(shí)間是2.25ms,收到的就是“1”。 在該系統(tǒng)中,對紅外發(fā)射器發(fā)射出的數(shù)據(jù)處理的代碼如下: void irpros void uchar k 1,i,j; uchar value; for j 0;j 4;j++ //四個(gè)碼(2個(gè)用戶碼,數(shù)據(jù)碼和數(shù)據(jù)反碼) for i 0;i 8;i++ value value 1;//執(zhí)行7次,右移一位(低位在前,高位在后) if irdata[k] 6 //執(zhí)行8次,判斷發(fā)射的數(shù)據(jù)是否為“1” v

34、alue value|0x80; //高位置1 k++; ircode[j] value; irprosok 1;//紅外接收OK 遙控器功能鍵 該設(shè)計(jì)定義了遙控器的一些功能鍵,通過遙控器的輸入對已設(shè)密碼進(jìn)行寫入,修改和清空,實(shí)現(xiàn)上鎖和開鎖的功能。遙控器主要有數(shù)字鍵0-9,開鎖鍵,上鎖鍵,設(shè)置密碼鍵,保存密碼鍵和清空密碼鍵。遙控器按鍵分配如圖3-4所示: 圖 3-4 遙控器按鍵分配圖 紅處接收控制電路采用STC89C52單片機(jī)來實(shí)現(xiàn),輸出控制方式可選擇,實(shí)用性強(qiáng)。紅外按鍵部分的流程圖和4*4

35、鍵盤的按鍵處理流程圖是一樣的。紅外遙控模塊的流程圖如圖3-5: 圖3-5 紅外遙控模塊流程圖 3.3 LCD1602液晶顯示模塊軟件設(shè)計(jì) LCD1602液晶屏的主要功能有:1、40個(gè)通道點(diǎn)陣LCD驅(qū)動(dòng);2、輸入、輸出信號(hào);3、可選擇當(dāng)作列驅(qū)動(dòng)或者行驅(qū)動(dòng);4、通過單片機(jī)控制將所測的數(shù)據(jù)顯示出來。 LCD1602的初始化設(shè)置: 顯示模式設(shè)置: 指令碼 功能 0 0 1 1 1 0 0 0 設(shè)置16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口 2、顯示開/關(guān)和光標(biāo)設(shè)置 指令碼 功能 0 0 0 0 1 D C B D 0 關(guān)顯示 ;D 1

36、開顯示 C 0 不顯示光標(biāo) ;C 1 顯示光標(biāo) B 0 光標(biāo)不閃爍 ;B 1 光標(biāo)閃爍 0 0 0 0 0 1 N C N 0 當(dāng)讀或?qū)懸粋€(gè)字符后地址指針減一,且光標(biāo)減一 N 1 當(dāng)讀或?qū)懸粋€(gè)字符后地址指針加一,且光標(biāo)加一 S 0 當(dāng)寫一個(gè)字符,整屏顯示不移動(dòng) S 1 當(dāng)寫一個(gè)字符,整屏顯示左移或者右移,以得到光標(biāo)不移動(dòng)但屏幕移動(dòng)的效果 3、數(shù)據(jù)指針設(shè)置 設(shè)置數(shù)據(jù)指針地址:80H+地址碼。 清屏設(shè)置:01H。包括數(shù)據(jù)指針清零和所有顯示清零。 RAM地址映射圖:控制器內(nèi)部帶有80*8位的RAM緩沖區(qū),對應(yīng)的圖如圖3-6。 圖3-6 RAM地址映射圖 寫操作時(shí)序圖: 綜

37、上所述,LCD1602的初始化程序如下: void init_1602 //1602初始化函數(shù) lcden 0; write_com 0x38 ; //顯示模式設(shè)置 write_com 0x0c ; //顯示開 不顯示光標(biāo) 光標(biāo)不顯示 write_com 0x06 ; //顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位 write_com 0x01 ; //清屏 Display_string table,0x80 ;

38、 //在第一行顯示 Display_string "Lock ok! ",0x80+0X40 ; //在第二行顯示 3.4 STC單片機(jī)內(nèi)部EEPROM及ISP的應(yīng)用 3.4.1 EEPROM存儲(chǔ)器 在STC單片機(jī)中有2KB的EEPROM存儲(chǔ)器,分為8個(gè)扇區(qū),每個(gè)扇區(qū)有512B寫入的數(shù)據(jù)可以保存的有效時(shí)間長達(dá)100年,擦寫次數(shù)可長達(dá)10萬次以上。片內(nèi)EEPROM地址如表3-1所示。與采用片外EEPROM相比,采用單片機(jī)內(nèi)部的EEPROM保存密碼的可靠性和安全性都較高,這種方法也廣泛用于家居和辦公等智能控制系統(tǒng)中。 EEPROM存儲(chǔ)器有串口和

39、并口兩種,串口的部分電路電路還支持下載線。在該系統(tǒng)中采用EEPROM來完成密碼的讀寫和保存。 表3-1 片內(nèi)EEPROM地址 第一扇區(qū) 第二扇區(qū) 第三扇區(qū) 第四扇區(qū) 起始 地址 結(jié)束 地址 起始地址 結(jié)束 地址 起始 地址 結(jié)束 地址 起始 地址 結(jié)束 地址 2000H 21FFH 2200H 23FFH 2400H 25FFH 2600H 27FFH 第五扇區(qū) 第六扇區(qū) 第七扇區(qū) 第八扇區(qū) 起始 地址 結(jié)束 地址 起始地址 結(jié)束 地址 起始 地址 結(jié)束 地址 起始 地址 結(jié)束 地址 2800H 29FFH

40、2A00H 2BFFH 2C00H 2DFFH 2E00H 2FFFH 3.4.2 ISP特殊功能寄存器 ISP是in system programable的縮寫 ,是指在線系統(tǒng)編程,也就是說不用將板子取下,可以簡單地對其進(jìn)行編程。IAP是in application programable 的縮寫,是指在線應(yīng)用編程,也就是單片機(jī)提供了一系列的機(jī)制,當(dāng)單片機(jī)在運(yùn)行時(shí)可以提供一種改變flash數(shù)據(jù)的方法,這種方法的典型應(yīng)用是用一小段代碼來實(shí)現(xiàn)程序的下載。事實(shí)上,單片機(jī)的ISP功能是通過IAP技術(shù)來實(shí)現(xiàn)的。 下面介紹一下ISP特殊功能寄存器的含義: ISP_DATA: ISP操作時(shí)的數(shù)

41、據(jù)寄存器,從FLASH中讀出數(shù)據(jù)和向FLASH中寫數(shù)據(jù)都應(yīng)該放在此處; ISP_ADDRH: ISP操作時(shí)的地址寄存器高八位; ISP_ADDRL:ISP操作時(shí)的地址寄存器低八位; ISP_CMD: ISP操作時(shí)的命令模式寄存器,須命令觸發(fā)寄存器觸發(fā)方可生效。 ISP_TRIG: ISP操作時(shí)的命令觸發(fā)寄存器。在ISPEN ISP_TRIG.7 1時(shí),對ISP_TRIG先寫入46H,再寫入B9H,ISP命令才會(huì)生效。 ISP_CONTR: ISP控制寄存器。 定義ISP功能寄存器地址的代碼如下: //定義ISP功能寄存器地址 sfr ISP_DATA 0xE2;

42、 //定義ISP的數(shù)據(jù)寄存器地址 sfr ISP_ADDRH 0xE3; //定義EEPROM地址寄存器的高8位 sfr ISP_ADDRL 0xE4; //定義EEPROM地址寄存器的低8位 sfr ISP_CMD 0xE5; //定義ISP的命令寄存器地址 sfr ISP_TRIG 0xE6; //定義ISP命令觸發(fā)寄存器地址 sfr ISP_CONTR 0xE7; //定義ISP控制寄存器地址 3.5 4*4矩陣鍵盤模塊軟件設(shè)計(jì) 由于單片機(jī)的I/O口數(shù)量有限,該系統(tǒng)采用4*4矩陣鍵盤。這樣用一個(gè)8位的I/O口就可以驅(qū)動(dòng)16個(gè)

43、鍵盤。每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過一個(gè)按鍵來連通。從附錄圖1中可以看出鍵盤的連線方式,由行線和列線共同來決定哪一個(gè)按鍵被按下。4*4矩陣鍵盤的按鍵功能和紅外遙控模塊的按鍵功能是一樣的,包括15個(gè)按鍵:數(shù)字鍵0-9,開鎖鍵,上鎖鍵,設(shè)置密碼鍵,保存密碼鍵和清空密碼鍵。 3.5.1 4*4矩陣鍵盤的流程圖及功能 矩陣鍵盤的流程圖如圖3-6。下面對流程圖進(jìn)行具體的介紹: 當(dāng)沒有接收到遙控信號(hào)時(shí),這時(shí)由鍵盤輸入密碼,當(dāng)6位有效密碼輸入正確時(shí)開鎖鍵確認(rèn),完成開鎖,1602顯示open ok!。 開鎖完成后,如果需要再把鎖鎖上,可以按下上鎖鍵,此時(shí)鎖又重新鎖上,160

44、2顯示Lock ok!。 在輸入6位有效密碼時(shí),必須按照先后序輸入,如順序錯(cuò)誤或密碼不對時(shí),1602顯示器會(huì)提示錯(cuò)誤,若連續(xù)3次輸入錯(cuò)誤,系統(tǒng)會(huì)長時(shí)間報(bào)警,這時(shí)必須按復(fù)位鍵恢復(fù)到初始化狀態(tài)。 在輸入密碼的過程中,若發(fā)現(xiàn)錯(cuò)誤了可以按下清空鍵,清空已輸入的密碼,然后重新輸入密碼。 當(dāng)鎖處于開鎖狀態(tài)時(shí),可以設(shè)置新密碼,先按下設(shè)置密碼鍵,輸入新密碼,然后按下保存密碼鍵,此時(shí)新密碼已保存,同時(shí)鎖被重新鎖上。 圖3-7鍵盤功能按鍵分布圖 圖3-6 矩陣鍵盤流程圖 3.5.2 4*4矩陣鍵盤的工作原理 一個(gè)按鍵是否被按下有行線和列線共同決定。判斷鍵盤中有無鍵按下:將

45、全部行線置低電平(0000),然后檢測列線的狀態(tài),只要有一個(gè)列線的電平為低, 就表示鍵盤中有按鍵被按下,而且被按下的鍵是低電平列線和4根行線交叉的4個(gè)按鍵之中的其中一個(gè),若所有列線均為高電平(1111),則表示鍵盤中沒有鍵被按下;接著判斷被按下的按鍵所在的位置:在知道有按鍵被按下后,就要確定到底是哪個(gè)按鍵被按下。方法是:依次將行線置為低電平,就是在置某根行線為低電平時(shí),剩余行線為高電平,當(dāng)確定某一根行線為低電平后,再依次檢測各列線的電平狀態(tài),若某一根列線為低電平,則該列線與置為低電平的行線交叉處的按鍵就是閉合的按鍵。 3.6 報(bào)警器模塊軟件設(shè)計(jì) 該功能為當(dāng)輸入密碼錯(cuò)誤時(shí),實(shí)現(xiàn)報(bào)警功能,從而

46、提高其安全性。該模塊比較簡單,就是在用4*4矩陣鍵盤或者紅外遙控器輸入密碼時(shí),若果連續(xù)3次輸入的密碼都是錯(cuò)誤,此時(shí)蜂鳴器就會(huì)進(jìn)入長時(shí)間報(bào)警,必須按復(fù)位鍵,蜂鳴器才會(huì)停止報(bào)警。 3.7 系統(tǒng)調(diào)試 3.7.1 程序編譯 本設(shè)計(jì)采用C語言來完成,同時(shí)也決定了編譯器的選擇,采用KEIL編譯器來完成整個(gè)程序的編譯。KEIL是德國KEIL公司開發(fā)的單片機(jī)編譯器,是目前最好的51系列單片機(jī)開發(fā)工具之一,提供了豐富的庫函數(shù)和集成開發(fā)調(diào)試工具,全windows界面。KEIL已被完全集成到uVision3的集成開發(fā)環(huán)境中,本設(shè)計(jì)的程序就是在uVision3的集成開發(fā)環(huán)境中編譯的,這個(gè)開發(fā)環(huán)境包括以下幾個(gè)部分

47、:匯編器、編譯器、項(xiàng)目管理器、實(shí)時(shí)操作系統(tǒng)和調(diào)試器。 在uVision3的集成開發(fā)環(huán)境中操作的步驟為先新建一個(gè)project,填寫好保存路徑,在file菜單里新建text文本,在text里寫入程序,保存,最后把text添加到source group1里,這樣就可以對程序進(jìn)行編譯了,若沒有錯(cuò)誤就可以生產(chǎn)HEX文件了。由于程序比較長,在軟件調(diào)試時(shí),本設(shè)計(jì)采用先模塊調(diào)試然后再進(jìn)行系統(tǒng)調(diào)試。在調(diào)試的過程中紅外遙控模塊的程序經(jīng)常出現(xiàn)錯(cuò)誤,紅外通信只能工作于半雙工方式,另外,通信波特率比較低,編程時(shí)應(yīng)注意等待時(shí)間。在編譯時(shí)采用單步編譯,逐一找出錯(cuò)誤的地方并改正直至編譯正確。編譯正確后的界面如3-8。

48、 圖3-8 編譯正確后的界面 程序編譯成功,生產(chǎn)了HEX文件后,就可以把程序下載到STC89C52單片機(jī)中了。在下載程序時(shí),要用一個(gè)轉(zhuǎn)換器將單片機(jī)和電腦連接起來。本設(shè)計(jì)下載程序時(shí)采用了RS-232轉(zhuǎn)換器。下載時(shí)硬件連接是這樣的:單片機(jī)RXD(P3.0)引腳――RS-232轉(zhuǎn)換器――電腦TXD;單片機(jī)TXD(P3.1)引腳――RS-232轉(zhuǎn)換器――電腦RXD;單片機(jī)GND――電腦GND。連接圖如圖3-9。 圖3-9 串口連接圖 STC系列的單片機(jī)相比AT系列的單片機(jī)的優(yōu)點(diǎn)是可以在線編程,而且速度快,

49、STC提供了ISP下載工具STC-ISP.exe軟件。在連接好單片機(jī)和電腦之后就可以運(yùn)行STC-ISP.exe軟件進(jìn)行程序下載了。打開軟件進(jìn)行參數(shù)設(shè)置。下載時(shí)都要先點(diǎn)下載再上電。下載界面圖如圖3-10。 圖3-10 下載界面圖 4結(jié)論 通過上面軟件的分析和設(shè)計(jì),本系統(tǒng)完全是可行的。在設(shè)計(jì)和實(shí)驗(yàn)的基礎(chǔ)上,和設(shè)計(jì)硬件部分的同學(xué)一起做出了實(shí)物。 本設(shè)計(jì)利用STC89C52單片機(jī)芯片控制基于單片機(jī)的紅外遙控密碼鎖,選擇C語言來完成整個(gè)軟件的設(shè)計(jì)。實(shí)現(xiàn)了紅外遙控和鍵盤雙

50、輸入控制,密碼儲(chǔ)存部分采用STC89C52單片機(jī)芯片內(nèi)部的EEPROM實(shí)現(xiàn),可以實(shí)現(xiàn)輸入密碼開鎖,對密碼鎖進(jìn)行上鎖,還有設(shè)置新密碼等多種功能。顯示部分采用1602LCD液晶顯示屏,在報(bào)警模塊部分設(shè)計(jì)了蜂鳴器在密碼輸入錯(cuò)誤三次后蜂鳴器報(bào)警的功能。任何個(gè)項(xiàng)目都不是十全十美的,該系統(tǒng)也有一些不足的地方。沒有考慮到外部因素對系統(tǒng)的影響,比如密碼丟失,誤操作對系統(tǒng)的影響。報(bào)警功能做得不夠完善,只有一個(gè)蜂鳴器,在嘈雜的地方就不一定能感覺到蜂鳴器的報(bào)警聲音。紅外遙控有時(shí)也不太穩(wěn)定,在調(diào)試的時(shí)候發(fā)現(xiàn)用遙控器輸入密碼時(shí),感應(yīng)不是太靈敏,要多輸幾次才可以,它實(shí)際的有效距離也沒有進(jìn)行系統(tǒng)的理論論證。 參考文獻(xiàn)

51、[1] 石晶晶 李亞梅.新型紅外遙控密碼鎖的研究與設(shè)計(jì)[J].中國科技信息2008 19 :134-136. [2] 王曉東,劉春紅,于鑫.單片機(jī)和計(jì)算機(jī)的串口通信[J].應(yīng)用科技,2003(30) 1:14-16. [3] 何小艇主編.電子系統(tǒng)設(shè)計(jì)[M].浙江大學(xué)出版社,1998.12. [4] 曹開田. 基于單片機(jī)的紅外遙控密碼鎖的設(shè)計(jì)與實(shí)現(xiàn)[J].中國儀器儀表,2006 3 :93-94. [5] 于會(huì)山,崔學(xué)禮.一種新型紅外線遙控智能密碼鎖[M].電子技術(shù),2005.10. [6] 曹巧媛.單片機(jī)原理及應(yīng)用[M].北京:電子工業(yè)出版社,200[7] 牛翌光.單片機(jī)原

52、理及接口技術(shù)[M].北京:電子工業(yè)出版社,200[8] 楊路明.C語言程序設(shè)計(jì)[M].北京:北京郵電大學(xué)出版社,2005IrDA 紅外通信在導(dǎo)航儀中的應(yīng)用[J]. 2000 10 :54-56. [10] 尹學(xué)鋒.紅外線遙控密碼鎖的研究[M].安防科技研究與探索,2008.3. [11] 李明等.C語言程序設(shè)計(jì)教程[M].上海.上海交通大學(xué)出版社,2008. [12] 馬冬梅,屈 霞.一種簡易紅外遙控密碼鎖設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2010 13 :159-162. [13] 程院蓮,盧飛躍,基于AT89S51單片機(jī)的電子密碼鎖的設(shè)計(jì)[J].福建電腦,2010 6 :58-61.

53、 [14] 王金國. 采用單片機(jī)的電子密碼鎖控制電路[J] . 山東煤炭科技,2000 3 :30 - 33. [15] 朱純益 .單片機(jī)用作通用紅外遙控接收器的設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用 ,2002 [16] Jimemez Petal. Improved PPM schemes for infrared wireless LAN [J].Electronics Lettrs.1996.10. [17] Serial Infrared Link Access Protocol IrLAP ,Version 1.1. June 16,1996,IBM Corpora

54、tion , Hewlett-Packard Company, Apple Computer, Inc.,Counterpoint Systems Foundry, Inc. [18] 黃耀軍,周云,嚴(yán)國萍.計(jì)算機(jī)紅外無線互連的設(shè)計(jì)幾實(shí)現(xiàn)[J].2000.2. [19] 張毅坤,陳善久,裘雪紅.單片微型計(jì)算機(jī)原理及應(yīng)用[M].西安:西安科技大學(xué)出社,1998.8. [20] 謝平.USB與紅外組合通信系統(tǒng)的研究與實(shí)踐[J] .微計(jì)算機(jī)信息,2009 附錄 附錄圖1 電路原理圖 附錄圖2 PCB板 附錄圖3 實(shí)物圖

55、 附錄4 程序 #include #include //字符串 #include #define uint unsigned int #define uchar unsigned char // //定義ISP功能寄存器地址 sfr ISP_DATA 0xE2; //定義ISP的數(shù)據(jù)寄存器地址 sfr ISP_ADDRH 0xE3; //定義EEPROM地址寄存器的高8位 sfr ISP_ADDRL

56、 0xE4; //定義EEPROM地址寄存器的低8位 sfr ISP_CMD 0xE5; //定義ISP的命令寄存器地址 sfr ISP_TRIG 0xE6; //定義ISP命令觸發(fā)寄存器地址 sfr ISP_CONTR 0xE7; //定義ISP控制寄存器地址 //定義ISP操作模式選擇 ISP_CMD #define ISP_BYTE_READ 0x01 //讀字節(jié)指令碼 #define ISP_BYTE_PROGRAM 0x02 //寫字節(jié)指令碼,前提是該字節(jié)是空的,所以建議先擦除該字節(jié)所在扇區(qū) #define ISP_

57、BYTE_ERASE 0x03 //扇區(qū)擦除指令碼,EEPROM沒有字節(jié)擦除指令碼 //定義ISP等待時(shí)間指令碼 ISP_CONTR,ISP_CONTR.7是ISP功能允許位ISPEN,0禁止,1允許 #define ENABLE_ISP 0x81 //晶振20MHZ以下 //定義EEPROM的起始扇區(qū)地址 #define FLASH_START_ADDRESS 0x2000 //STC89C51/52RC //定義全局變量 uchar DataMemery; //IspRead 函數(shù)返回字節(jié)數(shù)據(jù)的中轉(zhuǎn)變量 //

58、 sbit lcden P2^5; sbit rw P2^6; sbit rs P2^7; sbit beep P2^3; uchar num,flag; //flag:密碼真確的標(biāo)志位 uchar table1[6] 0 ; //存初始密碼 uchar table2[16] " "; //放*的數(shù)組 uchar table3[16] "

59、 "; //清除一個(gè) uchar userpassword[6] 0 ; //放密碼的數(shù)組 uchar code table4[6] "012345"; //初始密碼 uchar code table[] "your password..."; //紅外設(shè)置 uchar bitnum;// uchar startflag; //是否開始接受的標(biāo)志 uchar irtime; //紅外時(shí)間 uchar bitime,irreceok;

60、 //irreceok紅外接收是否OK的標(biāo)志 uchar irprosok; //紅外處理數(shù)據(jù)是否OK的標(biāo)志 uchar irdata[33];//引導(dǎo)碼1位,用戶碼16位,數(shù)據(jù)碼8位,數(shù)據(jù)碼反碼8位,共33位 uchar ircode[4];//該數(shù)組用于存儲(chǔ)解碼后的數(shù)據(jù), 四個(gè)字節(jié) 除去引導(dǎo)碼 void delay uint z //1ms延時(shí) uint x,y; for x z;x 0;x-- for y 110;y 0;y-- ; void write_com uchar

61、com //寫命令函數(shù) rs 0; rw 0; P0 com; delay 5 ; lcden 1; delay 5 ; lcden 0; void write_date uchar date //寫數(shù)據(jù)函數(shù) rs 1; rw 0; P0 date; delay 5 ; lcden 1; delay 5 ; lcden 0; void prints uchar *string //顯示字符串 while *string write_date *string ;

62、string++; void Display_string uchar *string,uchar com uchar i; write_com com ; //prints string ; for i 0;i 16;i++ write_date string[i] ; void init_1602 //1602初始化函數(shù) lcden 0; write_com 0x38 ; //顯示模式設(shè)置 write_com 0x0c ; //顯示開 不顯示光標(biāo) 光

63、標(biāo)不顯示 write_com 0x06 ; //顯示地址遞增,即寫一個(gè)數(shù)據(jù)后,顯示位置右移一位 write_com 0x01 ; //清屏 Display_string table,0x80 ; Display_string "Lock ok! ",0x80+0X40 ; /**************************************** 函數(shù)功能:清空密碼 ****************************************/ void clear uchar i,j;

64、 for i 0;i 6;i++ userpassword[i] ' '; for j 0;j 16;j++ table4[j] ' '; // //函數(shù)名稱:void TriggerIsp void //函數(shù)功能:觸發(fā)ISP命令寄存器 //輸入輸出:空 //

65、 void TriggerIsp void //EA 0; ISP_TRIG 0x46; ISP_TRIG 0xb9; _nop_ ; //EA 1; // //函數(shù)名稱:void DisableIsp void //函數(shù)功能:對操作后的EEPROM善后處理 //輸入輸出:空 //

66、 void DisableIsp void ISP_CONTR 0x00; ISP_CMD 0x00; ISP_TRIG 0x00; ISP_ADDRH 0x00; ISP_ADDRL 0x00; // //函數(shù)名稱:void IspRead uchar Address //函數(shù)功能:從EEPROM中讀取一字節(jié)數(shù)據(jù) //輸入輸出:輸入:EEPROM的扇區(qū)地址 // 輸出:DataMemery,讀取到的數(shù)據(jù)內(nèi)容 // void IspRead uint Address uchar Addrh,Addrl; ISP_C

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!