畢業(yè)設(shè)計(jì)_基于51單片機(jī)電子密碼鎖設(shè)計(jì)說(shuō)明_第1頁(yè)
畢業(yè)設(shè)計(jì)_基于51單片機(jī)電子密碼鎖設(shè)計(jì)說(shuō)明_第2頁(yè)
畢業(yè)設(shè)計(jì)_基于51單片機(jī)電子密碼鎖設(shè)計(jì)說(shuō)明_第3頁(yè)
畢業(yè)設(shè)計(jì)_基于51單片機(jī)電子密碼鎖設(shè)計(jì)說(shuō)明_第4頁(yè)
畢業(yè)設(shè)計(jì)_基于51單片機(jī)電子密碼鎖設(shè)計(jì)說(shuō)明_第5頁(yè)
已閱讀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)介

1、 . PAGE28 / NUMPAGES30目錄 TOC o 1-3 h z u HYPERLINK l _Toc2607376201 緒論 PAGEREF _Toc260737620 h 1HYPERLINK l _Toc2607376211.1 引言 PAGEREF _Toc260737621 h 1HYPERLINK l _Toc2607376221.2 電子密碼鎖的背景 PAGEREF _Toc260737622 h 1HYPERLINK l _Toc2607376231.3 電子鎖設(shè)計(jì)的意義的本設(shè)計(jì)特點(diǎn) PAGEREF _Toc260737623 h 2HYPERLINK l _To

2、c2607376242.系統(tǒng)設(shè)計(jì) PAGEREF _Toc260737624 h 3HYPERLINK l _Toc2607376252.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖 PAGEREF _Toc260737625 h 3HYPERLINK l _Toc2607376262.2開鎖機(jī)構(gòu)設(shè)計(jì) PAGEREF _Toc260737626 h 3HYPERLINK l _Toc2607376272.2.1主控芯片AT89C51單片機(jī)的簡(jiǎn)介 PAGEREF _Toc260737627 h 4HYPERLINK l _Toc2607376283系統(tǒng)硬件設(shè)計(jì) PAGEREF _Toc260737628 h 7HYPER

3、LINK l _Toc2607376293.1鍵盤設(shè)計(jì) PAGEREF _Toc260737629 h 7HYPERLINK l _Toc2607376303.2系統(tǒng)電路設(shè)計(jì): PAGEREF _Toc260737630 h 8HYPERLINK l _Toc2607376313.2.1 晶振時(shí)鐘電路 PAGEREF _Toc260737631 h 8HYPERLINK l _Toc2607376323.2.2復(fù)位電路設(shè)計(jì) PAGEREF _Toc260737632 h 9HYPERLINK l _Toc2607376333.2.3串口引腳功能介紹 PAGEREF _Toc260737633

4、h 9HYPERLINK l _Toc2607376343.2.4 其它引腳 PAGEREF _Toc260737634 h 9HYPERLINK l _Toc2607376353.3電路圖的繪制 PAGEREF _Toc260737635 h 9HYPERLINK l _Toc2607376363.3.1 PROTEL 99 SE簡(jiǎn)介: PAGEREF _Toc260737636 h 12HYPERLINK l _Toc2607376373.4原器件采購(gòu) PAGEREF _Toc260737637 h 14HYPERLINK l _Toc2607376383.5電路焊接 PAGEREF _T

5、oc260737638 h 14HYPERLINK l _Toc2607376394.軟件設(shè)計(jì) PAGEREF _Toc260737639 h 17HYPERLINK l _Toc2607376404.1 系統(tǒng)軟件設(shè)計(jì)整體思路 PAGEREF _Toc260737640 h 17HYPERLINK l _Toc2607376414.2系統(tǒng)軟件設(shè)計(jì)流程圖 PAGEREF _Toc260737641 h 18HYPERLINK l _Toc2607376425 程序調(diào)試 PAGEREF _Toc260737642 h 19HYPERLINK l _Toc2607376435.1 程序調(diào)試用到的軟件

6、與工具 PAGEREF _Toc260737643 h 19HYPERLINK l _Toc2607376445.2 KEIL C51簡(jiǎn)介 PAGEREF _Toc260737644 h 19HYPERLINK l _Toc2607376455.3 調(diào)試過(guò)程 PAGEREF _Toc260737645 h 19HYPERLINK l _Toc2607376466 設(shè)計(jì)總結(jié)與展望 PAGEREF _Toc260737646 h 22HYPERLINK l _Toc260737647致 PAGEREF _Toc260737647 h 23HYPERLINK l _Toc260737648參考文獻(xiàn)

7、PAGEREF _Toc260737648 h 24HYPERLINK l _Toc260737649附錄 PAGEREF _Toc260737649 h 25(1)系統(tǒng)設(shè)置4位密碼,密碼通過(guò)鍵盤輸入,若密碼正確,則將鎖打開。(2)密碼由用戶自己設(shè)定,在開鎖狀態(tài)下,用戶可自行修改密碼。(3)具有自動(dòng)報(bào)警功能。自動(dòng)報(bào)警分現(xiàn)場(chǎng)報(bào)警和遠(yuǎn)程報(bào)警兩種?,F(xiàn)場(chǎng)報(bào)警由揚(yáng)聲器發(fā)出報(bào)警聲。(4)兩種情況下可報(bào)警:一是密碼輸入錯(cuò)誤3次,則報(bào)警;二是非正常開門,如破門而入的情況,可通過(guò)系統(tǒng)的紅外監(jiān)視裝置監(jiān)測(cè),同時(shí)報(bào)警,保證了系統(tǒng)的安全性。系統(tǒng)工作時(shí),用戶通過(guò)按鍵輸入4位密碼,單片機(jī)將輸入密碼與設(shè)定密碼進(jìn)行比較,若密碼

8、正確,則發(fā)出開鎖信號(hào),將門打開,系統(tǒng)不報(bào)警;若密碼不正確,則有相應(yīng)的指示燈閃動(dòng),并要求重新輸入密碼,重新輸入密碼的次數(shù)不能超過(guò)3次,若3次輸入的密碼都不正確,則發(fā)出報(bào)警信號(hào)。2.系統(tǒng)設(shè)計(jì)2.1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖數(shù)碼管與LED燈顯示單片機(jī)時(shí)鐘電路單片機(jī)AT89C51密碼輸入設(shè)備開鎖機(jī)構(gòu)圖2-1系統(tǒng)總設(shè)計(jì)結(jié)構(gòu)圖 本設(shè)計(jì)由主控芯片51單片機(jī),單片機(jī)時(shí)鐘電路,鍵盤,和開鎖電路組成。單片負(fù)責(zé)控制整個(gè)系統(tǒng)的執(zhí)行過(guò)程。3系統(tǒng)硬件設(shè)計(jì)3.1鍵盤設(shè)計(jì)為了使本電路更加簡(jiǎn)潔,本電子鎖的密碼鎖采用簡(jiǎn)單易學(xué)但不為多數(shù)人知道的摩期碼作為電路的密碼輸入。鍵盤硬件設(shè)備只需要一個(gè)按即可實(shí)現(xiàn)密碼的輸入與更改。關(guān)于摩斯碼的介紹如下:

9、摩斯密碼是20世紀(jì)使用較為廣泛的電報(bào)傳輸使用的一種編碼。電報(bào)最早是由美國(guó)的摩爾斯在1844年發(fā)明的,故也被叫做摩爾斯電碼。它由一個(gè)輸入按鍵在輸入時(shí)按住的間隔時(shí)間長(zhǎng)短組成來(lái)決定你的輸入:短促的點(diǎn)信號(hào) ,讀 嘀 (Di);保持一定時(shí)間的長(zhǎng)信號(hào),讀嗒 (Da)。間隔時(shí)間:嘀1t;嗒3t;滴嗒間1t;字母間3t;字間5t。表31字符摩斯碼對(duì)照表字符摩斯碼字符摩斯碼字符摩斯碼A. _M_ _ Y_ . _ _B_ . . .N_ .Z _ _ . .C_ . _ .O_ _ _1 . _ _ _ _D_ . .P. _ _ .2 . . _ _ E.Q_ _ . _ 3 . . . _ _F. . _

10、.R. _ .4 . . . . _G_ _ .S. . .5 . . . . .H. . . .T_ 6_ . . . .I. .U. . _7_ _ . . .J. _ _ _V. . . _ 8_ _ _ . .K_ . _ W. _ _9_ _ _ _ .L. _ . .X_ . . _0_ _ _ _ _注:摩斯碼用在數(shù)字電路中“”表示1,“.”表示0,如0翻譯成二進(jìn)制數(shù)為11111H,十六進(jìn)制數(shù)為1FH。本電路設(shè)計(jì)只取09數(shù)字作密碼有效數(shù)字,如果輸入其它字符則無(wú)效。表32 本設(shè)計(jì)用到的數(shù)字的摩斯碼和二進(jìn)制對(duì)照數(shù)字0123456789摩斯碼1111101111001110001100

11、00100000100001100011100111102進(jìn)制111110111100111000110000100000100001100011100111103.2系統(tǒng)電路設(shè)計(jì):本系統(tǒng)電路主芯片AT89C51,晶振和兩個(gè)電容組成的時(shí)鐘脈沖,一個(gè)電阻和一個(gè)電解電容和一個(gè)按鍵組成的復(fù)位電路,一個(gè)8段數(shù)碼管構(gòu)成的密碼顯示器,一個(gè)蜂鳴器,5個(gè)LED,一個(gè)NPN三極管加上一個(gè)繼電器組成的驅(qū)動(dòng)電路構(gòu)成了系統(tǒng)電路。3.2.1 晶振時(shí)鐘電路單片機(jī)XIAL1和XIAL2分別接30PF的電容,中間再并個(gè)12MHZ的晶振,形成單片機(jī)的晶振電路。圖31 晶振電路3.2.2復(fù)位電路設(shè)計(jì)圖32 復(fù)位電路3.2.3串口

12、引腳功能介紹單片的P1口外接1位8段數(shù)碼管,作為密碼輸入顯示器;INT0外接蜂鳴器,當(dāng)INT0被置0時(shí),蜂鳴器發(fā)出聲音;P0口外接發(fā)光二極管用作系統(tǒng)工作狀態(tài)提示。3.2.4 其它引腳 ALE引腳懸空,復(fù)位引腳接到復(fù)位電路、VCC接電源、VSS接地、EA接電源3.3電路圖的繪制用PROTEL 99 SE繪制的完整電路圖如下:圖33 系統(tǒng)電路圖八段數(shù)碼管顯示你的摩斯按鍵是否正確對(duì)應(yīng)你要輸入的數(shù)字密碼。由于采取上電設(shè)置密碼的編程方法復(fù)位鍵即密碼修改鍵設(shè)置在門后,要打開門才能修改密碼。設(shè)置密碼后若輸入密碼不對(duì)的前兩次5秒報(bào)警,最后一次10分鐘報(bào)警,摩斯按發(fā)錯(cuò)誤除外(但有兩秒報(bào)警,并且須全部密碼重新輸入

13、)。本電路設(shè)置四位密碼,由于每位數(shù)字鍵均由五位摩斯碼構(gòu)成則要輸入20次摩斯碼鍵!p0.0(綠色)“滴”顯示,p0.2(黃色)“嗒”音顯示,p0.4(紅色)摩斯碼按法錯(cuò)誤或密碼錯(cuò)誤,p0.6(藍(lán)色)表示該電路已設(shè)置了密碼,等待輸入密碼進(jìn)行比較。PROTEL繪制的PCB板:圖34 系統(tǒng)PCB板PROTEL系統(tǒng)3D仿真:3.4元器件采購(gòu)1.元器件清單表33 元器件清單原件名稱備注單片機(jī)AT89C51電阻R1,R210K,100K各一只電解電容C3100F無(wú)極電容C1,C230VF數(shù)碼管一只5V蜂鳴器一只晶振12MHZ三極管9014一個(gè)按健S1,S2各一個(gè)12V繼電器一個(gè)LED D1,D2,D3,D4

14、綠,黃,紅,藍(lán)各一個(gè)2極管40041只萬(wàn)能電路板1塊經(jīng)采購(gòu)繼電器沒(méi)有買到,所以原電路的輸出電路3極管的繼電器改為L(zhǎng)ED燈,只要電路IC經(jīng)密碼輸入后能點(diǎn)亮LED燈則電路設(shè)計(jì)要求達(dá)到。3.5電路焊接1.焊接所需工具工具名稱數(shù)量焊烙鐵50W1只帶松香焊絲若干萬(wàn)用表一個(gè)表34焊接所需工具電路焊接實(shí)物圖如下:圖36 電路正面接線實(shí)物圖圖37 電路背面接線實(shí)物圖4.軟件設(shè)計(jì)4.1 系統(tǒng)軟件設(shè)計(jì)整體思路一個(gè)應(yīng)用系統(tǒng)要完成各項(xiàng)功能,首先必須有較完善的硬件作保證。同時(shí)還必須得到相應(yīng)設(shè)計(jì)合理的軟件的支持,尤其是微機(jī)應(yīng)用高速發(fā)展的今天,許多由硬件完成的工作,都可通過(guò)軟件編程而代替。甚至有些必須采用很復(fù)雜的硬件電路才

15、能完成的工作,用軟件編程有時(shí)會(huì)變得很簡(jiǎn)單,如數(shù)字濾波,信號(hào)處理等。因此充分利用其部豐富的硬件資源和軟件資源,采用與C51系列單片機(jī)相對(duì)應(yīng)的51匯編語(yǔ)言和結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行軟件編程。程序設(shè)計(jì)語(yǔ)言有三種:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言。機(jī)器語(yǔ)言是機(jī)器唯一能“懂”的語(yǔ)言,用匯編語(yǔ)言或高級(jí)語(yǔ)言編寫的程序(稱為源程序)最終都必須翻譯成機(jī)器語(yǔ)言的程序(成為目標(biāo)程序),計(jì)算機(jī)才能“看懂”,然后逐一執(zhí)行。高級(jí)語(yǔ)言是面向問(wèn)題和計(jì)算過(guò)程的語(yǔ)言,它可通過(guò)于各種不同的計(jì)算機(jī),用戶編程時(shí)不必仔細(xì)了解所用的計(jì)算機(jī)的具體性能與指令系統(tǒng),而且語(yǔ)句的功能強(qiáng),常常一個(gè)語(yǔ)句已相當(dāng)于很多條計(jì)算機(jī)指令,于是用高級(jí)語(yǔ)言編制程序的速度比

16、較快,也便于學(xué)習(xí)和交流,但是本系統(tǒng)卻選用了匯編語(yǔ)言。原因在于,本系統(tǒng)是編制程序工作量不大、規(guī)模較小的單片機(jī)微控制系統(tǒng),使用匯編語(yǔ)言可以不用像高級(jí)語(yǔ)言那樣占用較多的存儲(chǔ)空間,適合于存儲(chǔ)容量較小的系統(tǒng)。4.2系統(tǒng)軟件設(shè)計(jì)流程圖糸統(tǒng)返回否是密碼錯(cuò)誤主人是否要修改密碼開門輸入正確密碼保存后糸統(tǒng)返回輸入新密碼報(bào)警輸入錯(cuò)誤滿3次輸入錯(cuò)誤未滿3次密碼比較開始系統(tǒng)喚醒上電密碼輸入完畢系統(tǒng)等待密碼輸入圖41 系統(tǒng)程序設(shè)計(jì)結(jié)構(gòu)圖5 程序調(diào)試把也寫好的匯編語(yǔ)言程序的載入軟件調(diào)試工具,檢查軟件是否有設(shè)法錯(cuò)誤,再根據(jù)軟件提示對(duì)本程序進(jìn)行修改,直到?jīng)]有錯(cuò)誤再生成單片機(jī)能運(yùn)行的機(jī)器碼,再用51開發(fā)板或其它單怎機(jī)寫入工具把機(jī)

17、器碼寫入單片機(jī)進(jìn)行實(shí)際的程序調(diào)試,根據(jù)實(shí)際情況再對(duì)程序的不足加以修改,直到滿足設(shè)計(jì)要求。5.1 程序調(diào)試用到的軟件與工具調(diào)試本程序需要用到KEIL C51,與51開發(fā)板一塊與其配套的下載燒錄軟件5.2 KEIL C51簡(jiǎn)介Keil C51是美國(guó)Keil Software公司出品的51系列兼容單片機(jī)C語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C來(lái)開發(fā),體會(huì)更加深刻。Keil C51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil

18、C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 C51工具包的整體結(jié)構(gòu): uVision與Ishell分別是C51 for Windows和for Dos的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE本身或其它編輯器編輯C或匯編源文件。然后分別由C51與A51編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS文件由OH51轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex文件,以供調(diào)試器dScope51或tScope

19、51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM中。5.3 調(diào)試過(guò)程首先打開KEIL C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語(yǔ)法錯(cuò)誤,經(jīng)反復(fù)檢查無(wú)誤后匯編,生成51單片機(jī)可執(zhí)行的HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機(jī)。圖51 keil c51調(diào)試介面圖52 單片機(jī)燒錄軟件介面6 設(shè)計(jì)總結(jié)與展望實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),當(dāng)然也是檢驗(yàn)學(xué)習(xí)成果的標(biāo)準(zhǔn)。在經(jīng)過(guò)一段時(shí)間的學(xué)習(xí)之后,我們需要了解自己的所學(xué)應(yīng)該如何應(yīng)用在實(shí)踐中,因?yàn)槿魏沃R(shí)都源于實(shí)踐,歸于實(shí)踐,所以要將所學(xué)的知識(shí)在實(shí)踐中來(lái)檢驗(yàn)。在做畢業(yè)設(shè)計(jì)

20、期間,在老師的指導(dǎo)下,通過(guò)自身的不斷努力,無(wú)論是思想上,學(xué)習(xí)上,都取得了長(zhǎng)足的發(fā)展和巨大的收獲,現(xiàn)將工作總結(jié)如下:思想上,學(xué)會(huì)了用科學(xué)的精神去解決問(wèn)題。很多事情看起來(lái)是很簡(jiǎn)單的問(wèn)題,但實(shí)際做起來(lái)去會(huì)發(fā)現(xiàn)有許多奧妙!這是因?yàn)槠渲刑N(yùn)含著許多科學(xué)的問(wèn)題。運(yùn)用科學(xué)的方法去解決問(wèn)題,這是我這次實(shí)訓(xùn)給我?guī)?lái)的思想上的改變。學(xué)習(xí)上,使自已在大學(xué)所以的知識(shí)在這次得到實(shí)踐,學(xué)到一些書本上無(wú)法學(xué)到的經(jīng)驗(yàn),對(duì)電子元件有了進(jìn)一步的認(rèn)識(shí)。電子鎖是信息化時(shí)代發(fā)展的產(chǎn)物,應(yīng)時(shí)而生,我相信隨著科技的不斷發(fā)展,將來(lái)的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。致 在本次論文設(shè)計(jì)過(guò)程中,老師對(duì)該論文從選題,構(gòu)思到最后定稿

21、的各個(gè)環(huán)節(jié)給予細(xì)心指引與教導(dǎo),使我得以最終完成畢業(yè)論文設(shè)計(jì),在此表示衷心的感。此外在學(xué)習(xí)中,老師嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度、豐富淵博的知識(shí)、敏銳的學(xué)術(shù)思維、精益求精的工作態(tài)度以與侮人不倦的師者風(fēng)是我終生學(xué)習(xí)的楷模。另外在完成畢業(yè)設(shè)計(jì)的過(guò)程中,還得到眾多朋友的關(guān)心支持和幫助,在此,謹(jǐn)向老師同學(xué)和朋友致以衷心的感和崇高的敬意!最后,我要向百忙之中抽時(shí)間對(duì)本文進(jìn)行審閱,評(píng)議和參與本人論文答辯的各位老師表示感參考文獻(xiàn)1 朝青.單片機(jī)原理與接口技術(shù)(簡(jiǎn)明修訂版)M.:航空航天大學(xué),19982 全利.單片機(jī)原理與接口技術(shù)M.高等教育,20033 PROTEL99 SE電路設(shè)計(jì)與制板M.機(jī)械工業(yè),20074 將新,華軍

22、,到駿等.單片機(jī)程序設(shè)計(jì)與應(yīng)用(從基礎(chǔ)到實(shí)踐)J電子工業(yè),20065 Steven F.Barrett.Daneil J.Pack.Embedded SystemM.:電子工業(yè),20066 周立功.LPC900系列Flash單片機(jī)應(yīng)用技術(shù)J.航空航天大學(xué), 20047 黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程M.:電子工業(yè), 2005附錄本設(shè)計(jì)的程序:hc0 equ 4ah ;延時(shí)緩存區(qū)hc1 equ 4bhhc2 equ 4chhc3 equ 4dhhc4 equ 4ehxs_0 equ 50h ;顯示緩存區(qū)xs_1 equ 51hxs_2 equ 52hxs_3 equ 53hxs_4 eq

23、u 54hxs_5 equ 55hxs_6 equ 56hxs_7 equ 57hxs_8 equ 58hxs_9 equ 59hps1 equ 5ah ;設(shè)置密碼緩存區(qū)ps2 equ 5bhps3 equ 5chps4 equ 5dhmmbz equ 5fh ;密碼輸入次數(shù)at1 equ 60h ;輸入密碼緩存區(qū)at2 equ 61hat3 equ 62hat4 equ 63h ;初始化org 00hajmp main1org 30hmain1: mov ps1 ,#00h mov ps2 ,#00h mov ps3 ,#00h mov ps4 ,#00h mov at1 ,#00h mov

24、 at2 ,#00h mov at3 ,#00h mov at4 ,#00hmain:mov xs_0 ,#1fh ;顯示0的摩斯值 mov xs_1 ,#0fh ;顯示1的摩斯值 mov xs_2 ,#07h ;顯示2的摩斯值 mov xs_3 ,#03h ;顯示3的摩斯值 mov xs_4 ,#01h ;顯示4的摩斯值 mov xs_5 ,#00h ;顯示5的摩斯值 mov xs_6 ,#10h ;顯示6的摩斯值 mov xs_7 ,#18h ;顯示7的摩斯值 mov xs_8 ,#1ch ;顯示8的摩斯值 mov xs_9 ,#1eh ;顯示9的摩斯值 clr p3.0 ;RXD置0 m

25、ov a ,#00h ;密碼緩存 mov r2 ,#04h ;四位密碼 mov r1 ,#00h mov r0 ,#ps1 mov r7 ,#05h ;摩斯次數(shù),由于數(shù)字為5次 clr p2.7start:mov p0 ,#0ffh mov p1 ,#0ffh setb p2.4 ;按鍵位 p2.4 ,start ;2.4為1轉(zhuǎn)start lcall delay500ms p2.4 ,startok: ;嘀的音 clr p0.0 lcall delay500ms jnb p2.4 ,daa ;是否去嗒音cun: ; setb p0.2 setb p0.0 rl a add a ,r1 ;存入一

26、位摩斯碼 djnz r7 ,yanshi ;是否夠五位摩斯碼 ajmp xianshiyanshi: ;輸入一位摩斯碼停頓1t lcall delay500ms p2.4 ,main ajmp okdaa: ;嗒的音 lcall delay500ms p2.4 ,stop setb p0.0 clr p0.2 lcall delay500ms setb p0.2 jnb p2.4 ,stop mov r1 ,#01h ajmp cunstop: ;摩斯輸入錯(cuò)誤 clr p0.4 lcall delay2s setb p0.4 ajmp maincunchu:mov r0 ,a inc r0 m

27、ov a ,#00h mov r1 ,#00h mov r7 ,#05h djnz r2 ,yanshi clr p0.6 lcall delay2s setb p0.6 ajmp shuruxianshi:cjne a ,xs_0 ,next1 ;夠五位摩斯碼顯示0 mov p1 ,#0c0h clr p3.2 ;報(bào)警器 lcall delay1s setb p3.2 ;報(bào)警器 mov p1 ,#0ffh ajmp cunchunext1:cjne a ,xs_1 ,next2 ;夠五位摩斯碼顯示1 mov p1 ,#0f9h clr p3.2 lcall delay1s setb p3.2

28、 mov p0 ,#0ffh ajmp cunchunext2:cjne a ,xs_2 ,next3 ;夠五位摩斯碼顯示2 mov p1 ,#0a4h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext3: cjne a ,xs_3 ,next4 ;夠五位摩斯碼顯示3 mov p1 ,#0b0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext4: cjne a ,xs_4 ,next5 ;夠五位摩斯碼顯示4 mov p1 ,#99h clr

29、p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext5: cjne a ,xs_5 ,next6 ;夠五位摩斯碼顯示5 mov p1 ,#92h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext6: cjne a ,xs_6 ,next7 ;夠五位摩斯碼顯示6 mov p1 ,#7dh clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext7: cjne a ,xs_7 ,next8 ;

30、夠五位摩斯碼顯示7 mov p1 ,#0f8h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext8: cjne a ,xs_8 ,next9 ;夠五位摩斯碼顯示8 mov p1 ,#080h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchunext9: cjne a ,xs_9 ,cw ;夠五位摩斯碼顯示9 mov p1 ,#90h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchucw

31、: clr p3.2 clr p0.4 lcall delay5s clr p0.4 setb p3.2 ajmp main1shuru: ;開門復(fù)位 mov mmbz ,#03 ;錯(cuò)誤密碼次數(shù) mov at1 ,#00h mov at2 ,#00h mov at3 ,#00h mov at4 ,#00h shuru2: clr p0.6 mov a ,#00h ;密碼緩存 mov r2 ,#04h ;四位密碼 mov r1 ,#00h mov r0 ,#at1 mov r7 ,#05hstart1: p2.4 ,start1 lcall delay500ms p2.4 ,start1ok1:

32、 ;滴音 setb p3.0 ;開門后再按鍵1t以上關(guān)門 setb p0.6 clr p0.0 lcall delay500ms jnb p2.4 ,daaacun1: setb p0.2 setb p0.0 rl a add a ,r1 djnz r7 ,yanshi1 ajmp xianshi1yanshi1: ;每個(gè)摩斯碼之間延時(shí)1t lcall delay500ms p2.4 ,stop1 ajmp ok1daaa: ;嗒音 lcall delay500ms p2.4 ,stop1 setb p0.0 clr p0.2 lcall delay500ms setb p0.2 jnb p2

33、.4 ,stop1 mov r1 ,#01h ajmp cun1stop1: ;摩斯碼錯(cuò)誤處理 clr p0.4 lcall delay2s setb p0.4 ajmp shuru2cunchu2: mov r0 ,a inc r0 mov a ,#00h mov r1 ,#00h mov r7 ,#05h djnz r2 ,yanshi1 ajmp bijiaoxianshi1: ;顯示處理 cjne a ,xs_0 ,next1_1 mov p1 ,#0c0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next1

34、_1: cjne a ,xs_1 ,next2_2 mov p1 ,#0f9h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next2_2: cjne a ,xs_2 ,next3_3 mov p1 ,#0a4h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next3_3: cjne a ,xs_3 ,next4_4 mov p1 ,#0b0h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp

35、cunchu2next4_4: cjne a ,xs_4 ,next5_5 mov p1 ,#99h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next5_5: cjne a ,xs_5 ,next6_6 mov p1 ,#92h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next6_6: cjne a ,xs_6 ,next7_7 mov p1 ,#82h clr p3.2 lcall delay1s setb p3.2 mov p1 ,#0ffh ajmp cunchu2next7_7: cjne a ,xs_7 ,next8_8 mov

溫馨提示

  • 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)論