




已閱讀5頁(yè),還剩25頁(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)介
紅外遙控電子密碼鎖的設(shè)計(jì)研究一設(shè)計(jì)目的1、學(xué)習(xí)串行通信的原理和應(yīng)用。2、了解異步串行通信的特點(diǎn)。3、提高動(dòng)手能力和理論聯(lián)系實(shí)際能力。二、設(shè)計(jì)任務(wù)和要求設(shè)計(jì)并制作一個(gè)采用紅外遙控的電子密碼鎖,要求如下:1、能實(shí)現(xiàn)遙控開(kāi)鎖,遙控距離810m。2、具有修改密碼、加密和較強(qiáng)的抗干擾能力。擴(kuò)展功能:1、密碼輸入出錯(cuò)能立即報(bào)警。2、能實(shí)現(xiàn)本機(jī)鍵盤(pán)開(kāi)鎖。三系統(tǒng)構(gòu)成框圖系統(tǒng)以單片機(jī)AT89C51RC為核心。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。本系統(tǒng)的功能設(shè)計(jì)目標(biāo)應(yīng)該包括以下幾個(gè)方面:紅外發(fā)射功能模塊,紅外線接收轉(zhuǎn)換模塊、單片機(jī)模塊、蜂鳴器報(bào)警功能模塊、LED數(shù)碼管顯示模塊、按鍵功能模塊,開(kāi)鎖功能模塊等。其中紅外遙控和密碼功能實(shí)現(xiàn)部分系統(tǒng)結(jié)構(gòu)圖如圖1.1所示 :圖1 紅外遙控密碼鎖硬件結(jié)構(gòu)圖8051CPU紅外接收頭頭鍵盤(pán)紅外發(fā)射器顯示報(bào)警器復(fù)位晶振電磁鎖圖1.1 紅外遙控和密碼功能實(shí)現(xiàn)部分系統(tǒng)結(jié)構(gòu)圖 :四系統(tǒng)設(shè)計(jì)思想系統(tǒng)以單片機(jī)AT89C51RC為核心。功能設(shè)計(jì)目標(biāo)應(yīng)該包括以下幾個(gè)方面:紅外發(fā)射功能模塊,紅外線接收轉(zhuǎn)換模塊、單片機(jī)模塊、蜂鳴器報(bào)警功能模塊、LED數(shù)碼管顯示模塊、按鍵功能模塊,開(kāi)鎖功能模塊等。本系統(tǒng)采用單片機(jī)8051作為本設(shè)計(jì)的核心元件,利用紅外線遙控原理和單片機(jī)串行發(fā)射、接處等功能而設(shè)計(jì)的一款有本機(jī)開(kāi)鎖和遙控開(kāi)鎖的電子密碼鎖。五基本功能設(shè)計(jì)遙控密碼鎖的基本設(shè)計(jì)主要分為如下五個(gè)部分。1.選擇密碼:我們將編好的密碼程序存儲(chǔ)在EPROM中,用戶通過(guò)密碼選擇鍵-8051中的P1.5口上的按鍵進(jìn)行選擇,具體操作過(guò)程如下:首先按一下P1.5口上按鍵,然后再逐漸輸入號(hào)碼,最后按”#”號(hào)確信即可.比如現(xiàn)在用戶要是選擇了57618這組數(shù)字作為密碼,則用戶只有首先按一下P1.5上的按鍵,接著在本機(jī)鍵盤(pán)上一一輸入5、7、6、1、8、之后再按“#”號(hào)鍵即表示密碼被設(shè)置好了,那么下次用戶只要鍵入這組數(shù)據(jù)即可開(kāi)鎖。本設(shè)計(jì)中我們編入了兩密碼即:57618和81675。當(dāng)然我們還可根據(jù)需要在EPROM中存入更多的密碼,供用戶選擇。2.密碼輸入有效顯示:為了幫助用戶確信是否有鍵按下,我們特在電路中設(shè)置了模擬顯示電路;而為了防止密碼外泄;顯示時(shí),并不是顯示用戶按下的數(shù)字符號(hào)-而是以發(fā)光二極管的亮滅來(lái)提醒用戶是否有鍵按下。有鍵按下,發(fā)光二極管亮0.5秒,沒(méi)有鍵按下,發(fā)光二極管滅。這樣既巧妙地提醒了用戶又保護(hù)了用戶密碼,此本設(shè)計(jì)可靠性優(yōu)點(diǎn)之一。3.當(dāng)用戶鍵入正確密碼后,再按確認(rèn)鍵-“#”號(hào),便會(huì)自動(dòng)開(kāi)鎖。但用戶鍵入密碼時(shí)應(yīng)注意:數(shù)字與數(shù)字之間的間隔時(shí)間為3秒,例如密碼為57618,當(dāng)鍵入第一個(gè)數(shù)字5后應(yīng)在3秒內(nèi)鍵入第二個(gè)數(shù)字7,否則,就會(huì)視為無(wú)效。如果鍵入完密碼后不按“#”號(hào),系統(tǒng)會(huì)當(dāng)做放棄開(kāi)鎖處理。4.密碼錯(cuò)誤報(bào)警:當(dāng)用戶鍵入錯(cuò)誤密碼時(shí),系統(tǒng)就會(huì)報(bào)警,由揚(yáng)聲器發(fā)出5秒報(bào)警聲。當(dāng)連續(xù)三次出現(xiàn)密碼錯(cuò)誤時(shí),則系統(tǒng)會(huì)長(zhǎng)期報(bào)警不止。這時(shí)必須按復(fù)位方可停止。乃安全可靠性能之一。5.遙控開(kāi)鎖:當(dāng)此鎖用于私家車(chē)庫(kù)或倉(cāng)庫(kù)時(shí),用戶可以不上車(chē),只要手執(zhí)遙控器,鍵入正確密碼,便會(huì)自動(dòng)開(kāi)鎖;如果密碼錯(cuò)誤,同樣也會(huì)報(bào)警。這是本設(shè)計(jì)優(yōu)越性能之三。六核心部分工作原理說(shuō)明1.利用紅外線遙控原理 紅處線發(fā)射/接收控制電路均采用8051單片機(jī)來(lái)實(shí)現(xiàn),電路簡(jiǎn)單,輸出控制方式可選擇,實(shí)用性強(qiáng)。具體工作過(guò)程如下: 發(fā)射時(shí):如圖(A), 首先,將從串行發(fā)射口P3.1送出的數(shù)據(jù)反饋到P1.1口時(shí)行內(nèi)部調(diào)制,再?gòu)腜1.2口送出,再經(jīng)過(guò)紅外發(fā)射二極管發(fā)射出去,發(fā)射距離為10m 接收時(shí):如圖(B),采用與發(fā)射擊隊(duì)配套的紅外接收頭,將發(fā)射出的數(shù)據(jù)接收后送到串行口P3.0中,再由系統(tǒng)進(jìn)行確認(rèn)接收數(shù)據(jù)是否與發(fā)送數(shù)據(jù)是否相符,相符則開(kāi)鎖,以發(fā)光二極管D2亮來(lái)表示,不相符則放棄,以發(fā)光二極管滅來(lái)表示。2.遙控發(fā)射電路設(shè)計(jì) 遙控發(fā)射電路利用了通用的紅外發(fā)射管,如圖(A)所示圖(A)3.本機(jī)鍵開(kāi)鎖的工作原理 本機(jī)鍵開(kāi)鎖電路如圖(B)所示,8051作為本電路的核心,P0口與P1.0 P1.1 P1.2外接本機(jī)鍵盤(pán),P3.0口外接控接收頭,P1.3口外接報(bào)警信號(hào)放大器,用來(lái)放大報(bào)警信號(hào),驅(qū)動(dòng)揚(yáng)聲器,P1.7口外接開(kāi)鎖電磁驅(qū)動(dòng)電路,P1.5外接密碼選擇鍵,EPROM內(nèi)存有兩密碼,P2.0口用發(fā)光二極管顯示按鍵是否按下,本電路由遙控發(fā)射擊隊(duì)器、接收器、鍵盤(pán)、顯示器組成,本機(jī)采用了10個(gè)按鍵,作為密碼輸入鍵,同時(shí)也采用了遙控器開(kāi)鎖。有以下功能:1.當(dāng)沒(méi)有接收到遙控信號(hào)時(shí),這時(shí)由鍵盤(pán)輸入密碼,當(dāng)5位有效密碼輸入正確時(shí)按“#”號(hào)確認(rèn),P1.7口輸出高電平使電磁鎖動(dòng)作,完成開(kāi)鎖,同時(shí),電路進(jìn)入延時(shí)狀態(tài),延時(shí)5秒鐘后,電路將自動(dòng)恢復(fù)到初始閉鎖狀態(tài).圖(B) 2.當(dāng)5位有效密碼輸入正確,但沒(méi)有按”#”號(hào)鍵確認(rèn)時(shí),這時(shí)電路將自動(dòng)放棄,恢復(fù)到初始和閉鎖狀態(tài). 3.在輸入5位有效密碼時(shí),必須按照先后序輸入,如順序錯(cuò)誤或密碼不對(duì)時(shí),這時(shí)若不按”#”號(hào)確認(rèn),將無(wú)法開(kāi)鎖,并同時(shí)發(fā)出5秒鐘的報(bào)警信號(hào),用以提醒用戶. 4.若連續(xù)3次輸入錯(cuò)誤,系統(tǒng)會(huì)長(zhǎng)時(shí)間報(bào)警,這時(shí)必須按復(fù)位鍵恢復(fù)到初始化狀態(tài). 5.輸入密碼時(shí),首位密碼正確輸入后,電路將開(kāi)始自動(dòng)計(jì)時(shí),每位密碼數(shù)之間的輸入間隔應(yīng)在3秒內(nèi).否則將輸入超時(shí)處理,系統(tǒng)自動(dòng)放棄,恢復(fù)到初始狀態(tài).4.遙控開(kāi)鎖的工作原理 當(dāng)選擇遙控開(kāi)鎖時(shí),本機(jī)鍵便會(huì)被封鎖.這時(shí),用戶手執(zhí)遙控器8051上的P1.0口上的按鍵時(shí),便有數(shù)字從8051 的P1.2口發(fā)出,發(fā)送的過(guò)程如下:先將從P3.0送出5FH,然后將5FH反饋到P1.1口進(jìn)行內(nèi)部調(diào)制,調(diào)制的規(guī)則是”0”電平調(diào)制,”1”電平不調(diào)制,最后將調(diào)好的數(shù)據(jù)從P1.2口通過(guò)紅外發(fā)光二極管以波長(zhǎng)為940mm的紅外光發(fā)出紅外遙控信號(hào).然后,在本機(jī)控制電路中的8051的P3.0口接有與紅外發(fā)光二極管配套的接收頭,將接收的光信號(hào)轉(zhuǎn)換成電信號(hào)數(shù)據(jù).最后,通過(guò)系統(tǒng)與內(nèi)部原先設(shè)置的數(shù)據(jù)進(jìn)行比較確認(rèn),如果一致便可開(kāi)鎖,如果不一致放棄開(kāi)鎖.七系統(tǒng)硬件設(shè)計(jì)與實(shí)現(xiàn)(單元電路設(shè)計(jì))1電源部分設(shè)計(jì)本系統(tǒng)的電源部分使用LM7805芯片進(jìn)行穩(wěn)壓后提供單片機(jī)5V的電壓。其電源部分電路的設(shè)計(jì)如圖2所示。圖2 紅外遙控密碼電源部分的電路原理圖該電源部分電路,使用四個(gè)1N4004二極管構(gòu)成整流橋,可以輸入直流或是交流9V電源,然后再通過(guò)7805穩(wěn)定到5V供單片機(jī)工作。固定式三端穩(wěn)壓電源7805是由輸出腳Vo,輸入腳Vi和接地腳GND組成,它的穩(wěn)壓值為+5V,它屬于LM78XX系列的穩(wěn)壓器,輸入端接電容可以進(jìn)一步的濾波,輸出端也要接電容可以改善負(fù)載的瞬間影響,電路的穩(wěn)定性也比較好。2紅外接收頭部分紅外信號(hào)接收部分是使用KS38BL紅外接收頭實(shí)現(xiàn)的,其電路如圖3所示。 圖3是紅外線遙控器信號(hào)接收頭的簡(jiǎn)易電路,它可接收載波頻率從3357KHz的遙控器信號(hào)。100電阻起到限流的作用,470uF電容濾波減少干擾。以邏輯筆接觸紅外線接收模塊的信號(hào)輸出端(OUT),便可以偵測(cè)當(dāng)按下紅外線遙控器某一按鍵時(shí),紅外線數(shù)字信號(hào)的發(fā)射。若有發(fā)射紅外線數(shù)字信號(hào)則經(jīng)過(guò)紅外線接收模塊取出數(shù)字信號(hào)數(shù)據(jù),邏輯筆脈沖LED便會(huì)閃動(dòng)。這樣可以檢測(cè)到當(dāng)前有沒(méi)有紅外信號(hào)發(fā)射最簡(jiǎn)單的方法。圖3 紅外線接受部分3. 顯示部分如圖4所示,系統(tǒng)的顯示是使用MAX7219實(shí)現(xiàn)的8位穩(wěn)定靜態(tài)顯示,MAX7219是串行共陰極數(shù)碼管動(dòng)態(tài)掃描顯示驅(qū)動(dòng)芯片,僅使用3線串行接口傳送數(shù)據(jù),可直接與單片機(jī)接口,用戶還可以方便地修改其內(nèi)部參數(shù)以實(shí)現(xiàn)多位LED顯示,因此可以方便地使用單片機(jī)的串口送出顯示數(shù)據(jù),并且其占用的時(shí)間少,方便編程及對(duì)信號(hào)的檢測(cè)。圖4 利用MAX7219設(shè)計(jì)顯示部分4. 密碼存儲(chǔ)部分的電路設(shè)計(jì)為了保存用戶設(shè)置的密碼,該系統(tǒng)使用AT24C04用來(lái)保存用戶設(shè)置的密碼,單片機(jī)AT89C51RC的P3.6接AT24C04的SCLK口作為它的串行移位時(shí)鐘,AT89C51RC的P3.7接AT24C04的SDA口作為它的串行數(shù)據(jù)或地址輸入輸出。該電路要注意的是SCLK、SDA必須加上一上接電阻,阻值為10K。用戶設(shè)置的密碼存放在AT24C04中,當(dāng)需要更改或讀取用戶密碼時(shí),只需對(duì)AT24C04里的數(shù)據(jù)更改或讀取。由于主芯片AT89C51RC沒(méi)有I2C總線,故本系統(tǒng)采用軟件程序模擬I2C總線時(shí)序來(lái)完成AT89S51來(lái)與AT24C04的連接。5. 報(bào)警電路設(shè)計(jì)本系統(tǒng)設(shè)計(jì)時(shí)考慮到防盜而設(shè)計(jì)了報(bào)警電路,由蜂鳴器發(fā)聲進(jìn)行報(bào)警,蜂鳴器接在CPU的引腳P0.4上,通過(guò)PNP型三極管做電流放大,因此可以通過(guò)單片機(jī)控制蜂鳴器的頻率及蜂鳴時(shí)間。當(dāng)輸入錯(cuò)誤的密碼進(jìn)行開(kāi)鎖時(shí),系統(tǒng)會(huì)報(bào)警,由P0.4口輸出低電平使得PNP型三極管導(dǎo)通,蜂鳴器兩端加電,由蜂鳴器發(fā)出1秒的報(bào)警聲,當(dāng)連續(xù)三次出現(xiàn)密碼錯(cuò)誤時(shí),則系統(tǒng)會(huì)長(zhǎng)時(shí)間報(bào)警,此舉為了防止別人非法試探開(kāi)鎖。6. 本機(jī)處理與遙控處理功能選擇電路設(shè)計(jì)本系統(tǒng)設(shè)計(jì)了一個(gè)自鎖按鍵用來(lái)選擇本機(jī)處理或者遙控處理,在設(shè)置密碼時(shí)一定要處于本機(jī)處理狀態(tài)下,而開(kāi)鎖則可以選擇遙控開(kāi)鎖也可以選擇本機(jī)開(kāi)鎖,當(dāng)此按鍵按下時(shí),紅燈亮表示選擇了本機(jī)處理,此時(shí)可以設(shè)置密碼,修改密碼,也可以本機(jī)開(kāi)鎖,而不能遙控開(kāi)鎖;當(dāng)此開(kāi)關(guān)開(kāi)沒(méi)按下時(shí),紅燈滅選擇遙控開(kāi)鎖,此時(shí)可以通過(guò)遙控器輸入密碼進(jìn)行開(kāi)鎖,在遙控開(kāi)鎖時(shí)不能進(jìn)行本機(jī)開(kāi)鎖以及設(shè)置密碼。八. 系統(tǒng)軟件設(shè)計(jì)圖5 主流程圖本系統(tǒng)有遙控處理和本機(jī)處理兩種工作狀態(tài),兩種工作狀態(tài)相互獨(dú)立。通過(guò)自鎖開(kāi)關(guān)K可以選擇當(dāng)前工作狀態(tài),當(dāng)K閉合時(shí)選擇本機(jī)處理,斷開(kāi)時(shí)選擇遙控處理。遙控處理部分只有開(kāi)鎖功能,所以設(shè)計(jì)相對(duì)簡(jiǎn)單,而本機(jī)處理部分可以實(shí)現(xiàn)開(kāi)鎖、設(shè)置和修改密碼等所有的功能。要完成本系統(tǒng)功能,首先要需要解決對(duì)紅外信號(hào)的譯碼問(wèn)題,并在存儲(chǔ)式示波儀上觀察其具體波形,這就要要求了解其編碼規(guī)則。一般的編碼發(fā)射的一幀碼含有一個(gè)引導(dǎo)碼,用戶碼和鍵數(shù)據(jù)碼。引導(dǎo)碼由一個(gè)較長(zhǎng)的載波波形和一段關(guān)斷時(shí)間構(gòu)成,它作為隨后發(fā)射的碼的引導(dǎo)。用戶碼和鍵數(shù)據(jù)碼是由邏輯“0”和邏輯“1”組成的具有規(guī)定長(zhǎng)度的字符串。邏輯“0”和邏輯“1”是用高低電平的不同組合來(lái)表示的,那么可以用單片機(jī)的兩個(gè)定時(shí)計(jì)數(shù)器,對(duì)其高低電平進(jìn)行計(jì)數(shù),具體是這樣的:當(dāng)單片機(jī)檢測(cè)到第一個(gè)低電平,則定時(shí)計(jì)數(shù)器T0立即開(kāi)始計(jì)數(shù),等到檢測(cè)到高電平出現(xiàn),T0停止計(jì)數(shù),T1又立即開(kāi)始計(jì)數(shù),在T1計(jì)數(shù)的同時(shí),對(duì)T0的計(jì)數(shù)保存,再次出現(xiàn)低電平,T1停止計(jì)數(shù),T0又開(kāi)始計(jì)數(shù),在T0計(jì)數(shù)的同時(shí)保存T1的計(jì)數(shù),這樣就有了一組低和高的組合,通過(guò)判斷這個(gè)組合屬于哪個(gè)范圍即可譯碼“0”或者“1”,如此循環(huán),直到譯出所有的位。這樣我們就可以根據(jù)譯碼所得的值命令單片機(jī)系統(tǒng)去完成相應(yīng)的操作。要注意的是:只有鍵數(shù)據(jù)碼參與解碼,客戶碼是事先(由某公司或個(gè)人)規(guī)定好了的。軟件部分的設(shè)計(jì)基于匯編語(yǔ)言,采用模塊化設(shè)計(jì)思想。以主程序?yàn)楹诵脑O(shè)置了很多功能模塊子程序,是大量的功能在子程序中實(shí)現(xiàn)的主流程,如圖5所示。軟件工作流程包括6個(gè)部分:系統(tǒng)的初始化、AT24C04的讀寫(xiě)操作、校對(duì)開(kāi)鎖、出錯(cuò)報(bào)警處理、對(duì)接收的信號(hào)進(jìn)行譯碼。初始化主要包括: MAX7219芯片、中斷和定時(shí)器的初始化,以及系統(tǒng)參數(shù)等的初始化;對(duì)AT24C04的讀寫(xiě)操作主要完成對(duì)原先密碼進(jìn)行更改或相關(guān)設(shè)置的目的,然后將更新后的密碼保存到其中。校對(duì)開(kāi)鎖是要對(duì)輸入的密碼和保存在存儲(chǔ)器中的密碼相比較,相同著通過(guò),否則要進(jìn)入出錯(cuò)報(bào)警階段。出錯(cuò)報(bào)警主要處理輸入的密碼和保存在AT24C04中密碼不同時(shí)要進(jìn)行報(bào)警1秒鐘,如果報(bào)警后再次輸入密碼后再次報(bào)警達(dá)到3次,即3次都輸入的是錯(cuò)誤密碼,那么系統(tǒng)將長(zhǎng)時(shí)間報(bào)警并自鎖一個(gè)小時(shí)。譯碼部分主要完成在遙控處理狀態(tài)下對(duì)遙控器所發(fā)出的信號(hào)進(jìn)行解碼,以得到相應(yīng)到完成相應(yīng)功能的碼值。1、程序框圖串行口初始化開(kāi)始發(fā)射鍵按送數(shù)據(jù)到CPU串行口數(shù)據(jù)送完返回開(kāi)始串行口初始化接收數(shù)據(jù)數(shù)據(jù)是否接完接收數(shù)據(jù)正確進(jìn)入開(kāi)鎖程序不處理返回主程序 遙控發(fā)射程序框圖 遙控接收程序框圖2、紅外遙控電子密碼鎖程序ORG 0000H ;主程序CLR P1.7 ;清零MOV RO, #OOHCLR P1.3 ;關(guān)報(bào)警CLR P1.7 ;P1.7清零CLR P1.4 ;關(guān)報(bào)警MOV RO, #OOH ;串行口初始化MOV 52H, #02H ;將立即數(shù)02H送52HMOV TMOD , #20H ;設(shè)置T1工作方式2MOV TL1 ,#OF4H ;定時(shí)初始值送TL1MOV TH1 ,#OF4H ;定時(shí)初始值送TH1SETB TR1 ;啟動(dòng)定時(shí)器T1MOV SCON, #ODOH ;定義串行行工作方式3 MOV PCON , #OOHKEY: JNB P1.5 , KEP1 ;選擇密碼57618 LJMP KEP2*密碼57618程序KEP1: MOV P2 .#0FFH ;關(guān)顯示 MOV A , P0 判斷是否有鍵按下 CPL A ;對(duì)P0口的數(shù)據(jù)取反 ANL A , #OFFH ;立即數(shù)OFF 與PO的數(shù)據(jù)相與 JNZ JP ;有鍵按下轉(zhuǎn)至JP MOV A , P1 ;判斷是否有鍵盤(pán)按下 CPL A ;將P1口的數(shù)據(jù)取反 ANL A ,#O7H ;累加器數(shù)據(jù)為零轉(zhuǎn)遙控接收程序 JZ WAIT ACALL K10MS ;調(diào)用10秒延時(shí) MOV A , P1 CPL A ANL A ,#O7H JZ WAITPP1: CJNE A , #01H ,JP1 MOV P2 , #89H ;顯示字符”H” LJMP K0P1PP2: CJZE A , #02H ,JP2 MOV P2 , #89H ;顯示字符”H” LJMP KOP1JP2: CJNE A . #04H ,KY MOV P2 ,#89H ;顯示字符”H”JP3: MOV A , #O7H CJNE A , #07H ,JP3 LJMP LP1KOP1: MOV A ,P1 ANL A, #07H CJNE A , #07H ,KOP1 LJMP KEP1JP: LCALL D10MS MOV A , PO CPL A, ANL A, #OFFH JZ C6 CJZE A ,#01H ,KEY02 MOV P2, #89H LJMP KEY1KEY02: CJNE A ,#02H ,KEY03 MOV P2 ,#89H LJMP KJP1KEYO3: CJNE A , #04H, KEY04 MOV P2 ,#89 LJMP KJP1 KEY04: CJZE A , #08H, KEY05 MOV P2 ,#89H LJMP KJP1KEY05: CJZE A , #10H, KEY06 MOV P2 ,#89H LJMP KJP1KEY06: CJZE A , #08H, KEY07 MOV P2 ,#89H LJMP KJP1KEY07 CJZE A , #10H KEY08 MOV P2 ,#89H LJMP KJP1KEY08 CJZE A , #10H, C6 MOV P2 ,#89H LJMP KJP1KJP1: MOV A, P0 CJNE A , #OFFH ,KJP1 C6: LJMP WAIT*KEY1: LCALL MP CJNE A , #02H , KEY03 MOV P2 , #89HKEY2 LCALL MP CJNE A , #04 , KEY02 MOV P2 , #89HKEY3 LCALL MP CJNE A , #08 , KEY02 MOV P2 , #89HKEY4 LCALL MP CJNE A , #10H, KEY02 MOV P2 , #89HKEY5 MOV A ,P0 CJNE A , #0FFH, KEY5 MOV P2 , #OFFH MOV R5 ,#30HKEY6: MOV A , PO CPL A ANL A , #OFFH JNZ BB2 MOV A ,P1 CPL A ANL A , #O7H JZ BB1 LCALL D10MS MOV A , P1 CPL A ANL A ,#07H JZ CJNE A ,#04H ,B1 MOV P2 , #89H LJMP LP2B1: CJNE A, #01H ,BL1 MOV P2 ,#89H LJMP KOP1BL1: CJNE A , #02H ,BB1 MOV P2 , #89H LJMP KOP1BB2: LCALL D10MS MOV A , P0 CPL A ANL A , #OFFH JZ BB1 LJMP KEY02BB1: MOV R7 ,#OC8HBB4: MOV R6 ,#OF9H NOP NOP BB5: JNZ R6 ,BB5 DJNZ R7, BB4 DJNZ R5 , KEY6 LJMP WAIT*密碼81675程序KEP2: MOV P2 ,#OFFH ;關(guān)顯示 MOV A ,PO CPL A ANL A , #OFFH JNZ HP MOV A ,P1 CPL A ANL A , #07H JZ C9 LCALL D1OMS MOV A ,P1 CPL A ANL A ,#07H JZ C9 BB: CJNE A , #O1H ,HP1 MOV P2 ,#89H LJMP K1P1HP1: CJNE A ,#02H ,HP2 MOV P2 ,#89H LJMP K1P1HP2: CJNE A ,#04H ,C9 MOV P2, #89HHP3: MOV A ,P1 ANL A ,#07H CJNE A ,#07H ,HP3 MOV P2 ,#OFFH LJMP LP1K1P1 : MOV A ,P1 ANL A ,#O7H CJNE A ,#07H ,K1P1C9: LJMP WAITHP: LCALL D1OMS MOV A , PO CPL A ANL A ,#OFFH JZ C9 CJNE A , #1OH,K0Y02 MOV P2 ,#89H LJMP K0Y1K0Y02: CJNE A ,#01H ,K0Y03 MOV P2 ,#89H LJMP KUP1K0Y03 CJNE A ,#02H ,K0Y04 MOV P2 ,#89H LJMP KUP1K0Y04 CJNE A ,#04H ,K0Y05 MOV P2 ,#89H LJMP KUP1K0Y05 CJNE A ,#08H ,K0Y06 MOV P2 ,#89H LJMP KUP1K0Y06 CJNE A ,#20,K0Y07 MOV P2 ,#89H LJMP KUP1K0Y07 CJNE A ,#40,K0Y08 MOV P2 ,#89H LJMP KUP1K0Y08 CJNE A ,#80,U2 MOV P2 ,#89H LJMP KUP1KUP1: MOV A ,PO CJNE A ,#OFFH ,KUP1U2: LJMP WAITK0Y1: LCALL MP CJNE A #08H ,K0Y02 MOV P2 ,#89HK0Y2 LCALL MP CJNE A #04 ,K0Y02 MOV P2 ,#89HK0Y3 LCALL MP CJNE A #02 ,K0Y02 MOV P2 ,#89HK0Y4 LCALL MP CJNE A #01H ,K0Y02 MOV P2 ,#89HK0Y6: MOV A ,PO CPL A ANL A ,#OFFH JNZ PP2 MOV A , P1 CPL A ANL A ,#07H JZ PPL LCALL D10MS MOV A , P1 CPL A ANL A ,#07H JZ PP1 CJNE A ,#04H ,Y1 MOV P2 , 389H LJMP LP2Y1: CJNE A ,#01H ,Y11 MOV P2 ,#89H LJMP K1P1Y11: CJNE A , #02H ,PP1 MOV P2 ,#89H LJMP K1P1PP2: LCALL D10MS MOV A, PO CPL A ANL A ,#OFFH JZ PP1 LJMP K0Y02PP1: MOV R7 ,#OC8HPP4: MOV R6 , #OF9H NOP NOPPP5: DJNZ R6 ,PP5 DJNZ R7 ,PP4 DJNZ R5 ,K0Y6 LJMP WAIT*報(bào)警程序LP1: SETB P1.4 INC ROP019: MOV R3 ,#05HP020: MOV R7 ,#0A0HP018: SETB P1.3 LCALL P01A CLR P1.3 LCALL P01A DJNZ R7 ,P018 DJNZ R3 ,P020 CLR P1.3 CJNE R0 , #03H ,P017 LJMP P019P017: CLR P1.4 LJMP WAIT*開(kāi)鎖程序LP2: SETB P1.7 LCALL T5S CLR P1.7 MOV R0 ,#00H LJMP WAIT*判斷鍵是否釋放MP: MOV A ,PO CJNE A ,#OFFH ,MP MOV P2 ,#OFFHPM: MOV R5 ,#30H LCALL TP RET*判斷是否有鍵按下TP: MOV A ,PO CPL A ANL A , #OFFH JNZ AP MOV A ,P1 CPL A ANL A, #O7H JZ TP3 LCALL D10MS MOV A , P1 CPL A ANL A , #07H JZ TP3 LCALL D10MS MOV A ,P1 CPL A ANL A ,#07H JZ TP3K CJNE A, #04H ,C1 MOV P2 ,#89HC3: MOV A P1 ANL A , #07H CJNE A #07H ,C3 MOV P2 ,#0FFH LJMP LP1C1: CJNE A ,#01H ,C2 MOV P2 ,#OCOH LJMP KCP1C2: CJNE A ,#02 ,U11 MOV P2 ,#90HP LJMP KCP1KCP1: MOV A , P1 ANL A ,#07H CJNE A ,#07H ,KCP1U11: LJMP WAIT AP: LCALL D10MS MOV A ,P0 CPL A ANL A , #0FFH JZ TP3 RET *400M延時(shí)程序 TP3: MOV R7 ,#OC8H TP1: MOV R6 , #OF9H NOP NOPTP2: DJNZ R6 , TP2 DJNZ R7 ,TP1 DJNZ R5 ,TP ;10S LJMP WAIT*10延時(shí)程序D10MS : MOV R7 ,#05H LOOP1: MOV R6 ,#OF9H NOP NOPLOOP2: DJNZ R6 , LOOP2 DJNZ R7 ,LOOP1 RET*延時(shí)程序P01A: MOV R2 ,#06H LCALL DELY RETDELY: PUSH 02HDEL2 : PUSH 02HD
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 行政法學(xué)考前心理調(diào)備與調(diào)整:試題及答案
- 電氣火災(zāi)應(yīng)急預(yù)案內(nèi)容(3篇)
- 高考數(shù)學(xué)基礎(chǔ)知識(shí)點(diǎn)試題及答案
- 水電站火災(zāi)逃生應(yīng)急預(yù)案(3篇)
- 自我成長(zhǎng)的旅程2024年高考作文考試試題及答案
- 行政法學(xué)必背試題與答案清單
- 火災(zāi)應(yīng)急預(yù)案培訓(xùn)報(bào)道(3篇)
- 火災(zāi)應(yīng)急預(yù)案人員分工(3篇)
- 鹿泉小區(qū)火災(zāi)應(yīng)急預(yù)案(3篇)
- 機(jī)器學(xué)習(xí)的倫理問(wèn)題考核試題及答案
- 高校學(xué)生資助誠(chéng)信教育主題活動(dòng)
- 跨國(guó)公司海外人力資源外包與派遣管理合同
- LNG 加氣站防雷安全培訓(xùn)與應(yīng)急演練記錄 202505
- 普惠金融專員試題及答案
- 【課件】認(rèn)識(shí)民法典+課件統(tǒng)編版道德與法治七年級(jí)下冊(cè)
- 2025年航天知識(shí)競(jìng)賽題庫(kù)及答案
- 2025年人教版小學(xué)小升初科學(xué)模擬試卷(含答案解析)
- 《金屬疲勞與斷裂》課件
- 2025年《民法典》應(yīng)知應(yīng)會(huì)知識(shí)競(jìng)賽題庫(kù)(含各題型)
- 灸法完整版本
- 劇場(chǎng)協(xié)議合同范例
評(píng)論
0/150
提交評(píng)論