版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 裝 訂 線2013-2014學(xué)年第 2學(xué)期 物電 學(xué)院期末考試卷計(jì)算機(jī)控制技術(shù) 學(xué)號(hào): 201172020143 姓名: 張淑英 班級(jí): 電子信息工程一班 成績(jī):評(píng)語(yǔ):(考試題目及要求)密碼鎖的研究與設(shè)計(jì)通過(guò)對(duì)計(jì)算機(jī)控制課程的學(xué)習(xí),結(jié)合課程中對(duì)單片機(jī)知識(shí)的復(fù)習(xí)以及對(duì)計(jì)算機(jī)控制的基本原理的理解,完成了該設(shè)計(jì)。該課程作業(yè)主要是對(duì)密碼鎖的研究與設(shè)計(jì)。本控制器AT89C51單片機(jī)為核心鍵盤、顯示電路,輸出控制電路,告警提示電路等構(gòu)成。利用目前使用的微處理器AT89C51 作為控制元件設(shè)計(jì)了一種電子密碼鎖。其具有可設(shè)置多 組密碼、多次改寫和保存密碼的優(yōu)點(diǎn),克服了普通鎖需要隨身攜帶鑰匙且易丟失、保密 性
2、差的缺點(diǎn),在賓館、辦公大樓、倉(cāng)庫(kù)、保險(xiǎn)柜和家庭普遍適用。 目錄一、課題背景及意義- 3 -二、設(shè)計(jì)要求- 4 -三、設(shè)計(jì)思路及設(shè)計(jì)方案- 4 -(一)設(shè)計(jì)方案選擇- 4 -(二)總體方案思路- 6 -(三)系統(tǒng)硬件設(shè)計(jì)- 6 -1.鍵盤設(shè)計(jì)- 6 -2. LED顯示設(shè)計(jì)- 7 -3.開鎖電路- 7 -4.報(bào)警電路- 8 -(四)軟件設(shè)計(jì)- 8 -1.鍵盤的讀取- 8 -2.LED顯示程序- 9 -3.密碼比較和報(bào)警程序- 9 -四、 程序調(diào)試- 11 -(一)KEIL C51簡(jiǎn)介- 11 -(二)調(diào)試過(guò)程- 11 -五、設(shè)計(jì)總結(jié)- 12 -參考文獻(xiàn)- 13 -附錄- 14 -摘 要本論文詳細(xì)地
3、論述了以單片機(jī)為處理器的密碼鎖自動(dòng)控制器的硬件、軟件設(shè)計(jì)和系統(tǒng)編程的問(wèn)題。本控制器AT89C51單片機(jī)為核心鍵盤、顯示電路,輸出控制電路,告警提示電路等構(gòu)成。利用目前使用的微處理器AT89C51 作為控制元件設(shè)計(jì)了一種電子密碼鎖。其具有可設(shè)置多組密碼、多次改寫和保存密碼的優(yōu)點(diǎn),克服了普通鎖需要隨身攜帶鑰匙且易丟失、保密性差的缺點(diǎn),在賓館、辦公大樓、倉(cāng)庫(kù)、保險(xiǎn)柜和家庭普遍適用。關(guān)鍵詞: AT89C51 鍵盤 液晶顯示 電子密碼鎖 一、課題背景及意義隨著科技和人們的生活水平的提高,如何實(shí)現(xiàn)家庭防盜這一問(wèn)題也變的尤其的突出,傳統(tǒng)機(jī)械鎖由于構(gòu)造簡(jiǎn)單,被撬事件屢見不鮮;電子鎖由于其保密性高,使用靈活性好
4、,安全系數(shù)高,受到了廣大用戶的青睞。鎖是置于可啟閉的器物上,用以關(guān)住某個(gè)確定的空間范圍或某種器具的,必須以鑰匙或暗碼打開的扣件。鎖具發(fā)展到現(xiàn)在已有若干年的歷史了,人們對(duì)它的結(jié)構(gòu)、機(jī)理也研究得很透徹,因此,不用鑰匙就能打開的方法和工具也層出不窮?,F(xiàn)代人類文明社會(huì)里,由于社會(huì)中各種矛盾沖突十分劇烈,人們的思想道德觀念,價(jià)值觀念,文化修養(yǎng)水平等差異,群眾中良莠不齊,善良的人們能夠自覺(jué)規(guī)范自已的行為,“非禮不為”,雖無(wú)鑰匙亦不會(huì)亂闖。然而,那些毫無(wú)道德觀念的盜賊卻想方設(shè)法利用高科技手段撬門開鎖,使廣大居民防不勝防。為什么會(huì)出現(xiàn)這種情況呢?因?yàn)閭鹘y(tǒng)鎖具都存在致命的弱點(diǎn):第一、 鎖芯采用常見的銅、鋁、鋅等
5、材料,抵抗不了強(qiáng)力破壞;第二、 鎖具制作工藝,技術(shù)落后,無(wú)法阻止技術(shù)手段的開啟。目前,市場(chǎng)上很多國(guó)內(nèi)外的鎖具,實(shí)際上都不具備真正的防盜功能。在慣偷面前,兩根鋼絲或幾件簡(jiǎn)單的工具就可以把這些鎖打開,有的慣偷甚至公開揚(yáng)言:“沒(méi)有我打不開的鎖。”其實(shí),不是他們多高明,而是一般鎖具技術(shù)原理太過(guò)簡(jiǎn)單。面對(duì)這一殘酷的現(xiàn)狀,新時(shí)代提出了鎖具必須革命的迫切的要求。因此,許多電子智能鎖(指紋識(shí)別、IC卡辨認(rèn))已在國(guó)內(nèi)外相繼面世。但是這些產(chǎn)品的特點(diǎn)是針對(duì)特定的指紋和有效卡,只能適用于保密要求的箱、柜、門等。而且指紋識(shí)識(shí)別器若在公共場(chǎng)所使用存在容易機(jī)械損壞,IC卡還存在容易丟失、損壞等特點(diǎn)。加上其成本較高,一定程度
6、上限制了這類產(chǎn)品的普及和推廣。鑒于目前的技術(shù)水平與市場(chǎng)的接收程度,電子密碼鎖是這類電子防盜產(chǎn)品的主流。隨著電子技術(shù)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,單片機(jī)性能不斷完善,性能價(jià)格比顯著提高,技術(shù)日趨完善。由于單片機(jī)具有體積小、重量輕、價(jià)格便宜、功耗低、控制功能強(qiáng)及運(yùn)算速度快等特點(diǎn),因而在國(guó)民經(jīng)濟(jì)建設(shè)、軍事及家用電器等各個(gè)領(lǐng)域均得到了廣泛的應(yīng)用。本設(shè)計(jì)以AT89C51為主控芯片,帶有一個(gè)密碼輸入鍵盤、外圍時(shí)鐘復(fù)位電路、電磁閥等實(shí)現(xiàn)電子鎖的鎖閉和打開。該鎖要求結(jié)構(gòu)簡(jiǎn)單,成本低,安全性高,易于主人隨時(shí)更新密碼,在一定程度上具有較大的市場(chǎng)競(jìng)爭(zhēng)力。要求完成電子鎖的控制系統(tǒng)的實(shí)物演示模型。根據(jù)51單片機(jī)之間的串行通信
7、原理,這便于對(duì)密碼信息的隨機(jī)加密和保護(hù)。而且采用鍵盤輸入的電子密碼鎖具有較高的優(yōu)勢(shì)。采用數(shù)字信號(hào)編碼和二次調(diào)制方式,不僅可以實(shí)現(xiàn)多路信息的控制,提高信號(hào)傳輸?shù)目垢蓴_性,減少錯(cuò)誤動(dòng)作,而且功率消耗低;反應(yīng)速度快、傳輸效率高、工作穩(wěn)定可靠等。軟件設(shè)計(jì)采用自上而下的模塊化設(shè)計(jì)思想,以使系統(tǒng)朝著分布式、小型化方向發(fā)展,增強(qiáng)系統(tǒng)的可擴(kuò)展性和運(yùn)行的穩(wěn)定性。測(cè)試結(jié)果表明,本系統(tǒng)各項(xiàng)功能已達(dá)到本設(shè)計(jì)的所有要求。二、設(shè)計(jì)要求(1)密碼通過(guò)鍵盤輸入,若密碼正確,則將鎖打開。 (2)報(bào)警、鎖定鍵盤功能。密碼輸入錯(cuò)誤數(shù)碼顯示器會(huì)出現(xiàn)錯(cuò)誤提示,若密碼輸入錯(cuò)誤次數(shù)超過(guò) 3 次,蜂鳴器報(bào)警并且鎖定鍵盤。 (3)密碼清除功能
8、:當(dāng)按下清除鍵時(shí),清除前面輸入的所有值,并清除所有顯示。 (4)密碼可以由用戶自己修改設(shè)定(只支持6位密碼),修改密碼之前必須再次輸入密碼,在輸入新密碼時(shí)候需要二次確認(rèn),以防止誤操作 。三、設(shè)計(jì)思路及設(shè)計(jì)方案(一)設(shè)計(jì)方案選擇方案一:采用數(shù)字電路控制。用以74LS112雙JK觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制,共設(shè)了9個(gè)用戶輸入鍵,其中只有4個(gè)是有效的密碼按鍵,其它的都是干擾按鍵,若按下干擾鍵,鍵盤輸入電路自動(dòng)清零,原先輸入的密碼無(wú)效,需要重新輸入;如果用戶輸入密碼的時(shí)間超過(guò)10秒(一般情況下,用戶不會(huì)超過(guò)10秒,若用戶覺(jué)得不便,還可以修改)電路將報(bào)警20秒,若電路連續(xù)報(bào)警三次,電路
9、將鎖定鍵盤2分鐘,防止他人的非法操作。電路由兩大部分組成:密碼鎖電路和備用電源(UPS),其中設(shè)置UPS電源是為了防止因?yàn)橥k娫斐傻拿艽a鎖電路失效,使用戶免遭麻煩。密碼鎖電路包含:鍵盤輸入、密碼修改、密碼檢測(cè)、開鎖電路、執(zhí)行電路、報(bào)警電路、鍵盤輸入次數(shù)鎖定電路。如圖1.圖1.采用數(shù)字電路控制方案二:采用一種是用以AT89C51為核心的單片機(jī)控制方案。選用單片機(jī)AT89C51 作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理圖2所示:圖
10、2.以AT89C51為核心的單片機(jī)設(shè)計(jì)方案通過(guò)比較以上兩種方案,采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)確性和靈活性差。單片機(jī)方案有較大的活動(dòng)空間,不但能實(shí)現(xiàn)所要求的功能而且能在很大的程度上擴(kuò)展功能,而且還可以方便的對(duì)系統(tǒng)進(jìn)行升級(jí),所以我們采用后一種方案。(二)總體方案思路本方案采用一種是用以89C51為核心的單片機(jī)控制方案。利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的I/O端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。輸入密碼用矩形鍵盤,包括數(shù)字鍵和功能鍵。LED數(shù)碼管顯示輸入密碼,用74JS247驅(qū)動(dòng)數(shù)碼管發(fā)光顯示數(shù)碼,用74LS138控制各位顯示器分時(shí)進(jìn)行顯示。用發(fā)光二極管代替開鎖的電路,發(fā)
11、光表示開鎖。輸入密碼錯(cuò)誤次數(shù)超過(guò)3次,系統(tǒng)報(bào)警。打開電源后,顯示器顯示“000000”,設(shè)原始密碼為“123456”,只要輸入此密碼便了開門。這樣可預(yù)防停電后再來(lái)電時(shí)無(wú)密碼可用。按“C”鍵,清除顯示器為“000000”。欲重新設(shè)定密碼,先輸入密碼在案“*”。輸入密碼,再按“D”確認(rèn)鍵。若密碼與設(shè)定密碼相同,則開門。否則顯示器清為“000000”。硬件的設(shè)計(jì)主要包括鍵盤的輸入,LED顯示電路,開鎖電路,報(bào)警電路。軟件的設(shè)計(jì)主要包括鍵盤鍵值的讀取,LED顯示程序,密碼比較程序和報(bào)警程序。(三)系統(tǒng)硬件設(shè)計(jì)1.鍵盤設(shè)計(jì)本設(shè)計(jì)就采用行列式鍵盤,同時(shí)也能減少鍵盤與單片機(jī)接口時(shí)所占用的I/O線的數(shù)目,在按
12、鍵比較多的時(shí)候,通常采用這樣方法。 每一條水平(行線)與垂直線(列線)的交叉處不相通,而是通過(guò)一個(gè)按鍵來(lái)連通,利用這種行列式矩陣結(jié)構(gòu)只需要N條行線和M條列線,即可組成具有N×M個(gè)按鍵的鍵盤。 在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。 4×4矩陣鍵盤的工作原理 在鍵盤中按鍵數(shù)量較多時(shí),為了減少I/O口的占用,通常將按鍵排列成矩陣形式,如圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過(guò)一個(gè)按鍵加以連接。這樣,一個(gè)端口(如P1口)就可以構(gòu)成4*4=16個(gè)按鍵,比之直接將端口線用于鍵盤多出了一倍,而
13、且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構(gòu)成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時(shí),采用矩陣法來(lái)做鍵盤是合理的。如圖3所示。圖3 .4*4鍵盤的工作原理2. LED顯示設(shè)計(jì)本系統(tǒng)設(shè)計(jì)的顯示電路是為了給使用者以提示而設(shè)置的。本系統(tǒng)的顯示采用串行顯示的方式,只使用單片機(jī)的一個(gè)串行口,利用74LS247驅(qū)動(dòng)數(shù)碼管發(fā)光顯示數(shù)碼和74LS138控制位選信號(hào),就可以完成單片機(jī)的顯示功能。3.開鎖電路在本次設(shè)計(jì)中,基于節(jié)省材料的原則,暫時(shí)用發(fā)光二極管代替電磁鎖,發(fā)光管亮,表示開鎖;滅,表示沒(méi)有開鎖。當(dāng)P2.0口輸出低電平時(shí),二極管發(fā)光,表示開鎖。4.報(bào)警電路
14、報(bào)警模塊由蜂鳴器和單片機(jī)組成。選擇一只壓電式蜂鳴器,壓電式蜂鳴器工作時(shí)約需要100mA驅(qū)動(dòng)電流。蜂鳴器電路如圖3.4所示。當(dāng)89C51的P2.1口輸出為低電平時(shí),蜂鳴器產(chǎn)生蜂鳴音,89C51輸出為高電平時(shí),蜂鳴器不發(fā)聲。(四)軟件設(shè)計(jì)1.鍵盤的讀取在這種行列式矩陣鍵盤非鍵盤編碼的單片機(jī)系統(tǒng)中,鍵盤處理程序首先執(zhí)行等待按鍵并確認(rèn)有無(wú)按鍵按下的程序段。當(dāng)確認(rèn)有按鍵按下后,下一步就要識(shí)別哪一個(gè)按鍵按下。對(duì)鍵的識(shí)別通常有兩種方法:一種是常用的逐行掃描查詢法;另一種是速度較快的線反轉(zhuǎn)法。首先辨別鍵盤中有無(wú)鍵按下,有單片機(jī)I/O口向鍵盤送全掃描字,然后讀入行線狀態(tài)來(lái)判斷。方法是:向行線輸出全掃描字00H,
15、把全部列線置為低電平,然后將列線的電平狀態(tài)讀入累加器A中。如果有按鍵按下,總會(huì)有一根行線電平被拉至低電平從而使行線不全為1。判斷鍵盤中哪一個(gè)鍵被按下使通過(guò)將列線逐列置低電平后,檢查行輸入狀態(tài)來(lái)實(shí)現(xiàn)的。方法是:依次給列線送低電平,然后查所有行線狀態(tài),如果全為1,則所按下的鍵不在此列;如果不全為1,則所按下的鍵必在此列,而且是在與零電平行線相交的交點(diǎn)上的那個(gè)鍵。2.LED顯示程序圖4 LED顯示程序流程圖3.密碼比較和報(bào)警程序電子密碼鎖工作的主要過(guò)程是LED數(shù)碼管提示開始輸入密碼,通過(guò)鍵盤輸入密碼,同時(shí)LED顯示密碼輸入情況,按下確認(rèn)鍵后判斷密碼的正確性,作出開鎖或報(bào)警處理。當(dāng)輸入密碼連續(xù)輸入錯(cuò)誤
16、3次時(shí),系統(tǒng)報(bào)警。密碼的設(shè)定,在此程序中密碼是固定40H45H中,假設(shè)預(yù)設(shè)的密碼為"123456"共6位密碼。由于采用兩個(gè)按鍵來(lái)完成密碼的輸入,那么其中一個(gè)按鍵為功能鍵,另一個(gè)按鍵為數(shù)字鍵。在輸入過(guò)程中,首先輸入密碼的長(zhǎng)度,接著根據(jù)密碼的長(zhǎng)度輸入密碼的位數(shù),直到所有長(zhǎng)度的密碼都已經(jīng)輸入完畢;或者輸入確認(rèn)功能鍵之后,才能完成密碼的輸入過(guò)程。進(jìn)入密碼的判斷比較處理狀態(tài)并給出相應(yīng)的處理過(guò)程。開始否是密碼錯(cuò)誤主人是否要修改密碼開門輸入正確密碼保存后系統(tǒng)返回輸入新密碼報(bào)警輸入錯(cuò)誤滿3次輸入錯(cuò)誤未滿3次密碼比較系統(tǒng)喚醒上電密碼輸入完畢系統(tǒng)等待密碼輸入系統(tǒng)返回流程圖如下所示:圖5 密碼比
17、較和報(bào)警程序流程圖4、 程序調(diào)試調(diào)試本程序需要用到KEIL C51,及51開發(fā)板一塊及其配套的下載燒錄軟件(一)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 C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)
18、更能體現(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或tScope51使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如
19、EPROM中。(二)調(diào)試過(guò)程首先打開KEIL C51主程序,新建工程,新建文本框?qū)懭氤绦?,保存,檢查是否有語(yǔ)法錯(cuò)誤,經(jīng)反復(fù)檢查無(wú)誤后匯編,生成51單片機(jī)可執(zhí)行的HEX文件。然后用51開發(fā)板相匹配的燒錄軟件把HEX文件寫入單片機(jī)。圖6 keil c51調(diào)試介面五、設(shè)計(jì)總結(jié)通過(guò)這學(xué)期對(duì)計(jì)算機(jī)控制這門課程的學(xué)習(xí),結(jié)合以前的單片機(jī)知識(shí)完成了該設(shè)計(jì)。通過(guò)這次設(shè)計(jì)我懂得了實(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)。在做設(shè)計(jì)期間,在老師的指導(dǎo)下,通過(guò)自身的不斷努
20、力,無(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)的電子鎖一定更加完美,更加人性化,更加便宜,更加安全。計(jì)算機(jī)控制發(fā)展是自動(dòng)化技術(shù)的熱門研究課題,它們的發(fā)展與進(jìn)步將是實(shí)施CIPS的保證。CIPS利用計(jì)算
21、機(jī)技術(shù)對(duì)整個(gè)企業(yè)的運(yùn)作和過(guò)程進(jìn)行綜合管理和控制,它包括市場(chǎng)營(yíng)銷、生產(chǎn)計(jì)劃調(diào)度、原料選擇、產(chǎn)品分配、成本管理,以及工藝過(guò)程的控制、優(yōu)化和管理的全過(guò)程。分布式控制系統(tǒng),先進(jìn)過(guò)程控制以及網(wǎng)絡(luò)技術(shù),數(shù)據(jù)庫(kù)技術(shù)是實(shí)現(xiàn)CIPS的重要基礎(chǔ)。可以預(yù)計(jì),通過(guò)廣大學(xué)者與工程技術(shù)人員的努力,今后我國(guó)會(huì)在過(guò)程工業(yè)的計(jì)算機(jī)粲成過(guò)程系統(tǒng)中取得更多的進(jìn)展與成果。參考文獻(xiàn)1 李朝青.單片機(jī)原理及接口技術(shù).北京:北京航空航天大學(xué)出版社,19982 李全利.單片機(jī)原理及接口技術(shù).高等教育出版社,20033 何宏主編. 單片機(jī)原理與接口技術(shù). 北京:國(guó)防工業(yè)出版社. 2006.074 楊將新,李華軍,劉到駿等.單片機(jī)程序設(shè)計(jì)及應(yīng)用
22、電子工業(yè)出版社,20065 黃智偉.全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽訓(xùn)練教程M.北京:電子工業(yè)出版社,2005附錄- 18 -本設(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 equ 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
23、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 at2 ,#00h mov at3 ,#00h mov at4 ,#00hmain:mov xs_0 ,#1fh ;顯示0的摩斯值mov xs_1 ,#0fh ;顯示1的摩斯值mov xs_2 ,#07h ;顯示2的摩斯
24、值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置0mov a ,#00h ;密碼緩存mov r2 ,#04h ;四位密碼mov r1 ,#00hmov r0 ,#ps1mov r7 ,#05h ;摩斯次數(shù),由于數(shù)字為5次clr p2.7start:mov p0 ,#0ffhmov p1 ,#0f
25、fhsetb p2.4 ;按鍵位jb p2.4 ,start ;2.4為1轉(zhuǎn)startlcall delay500msjb p2.4 ,startok: ;嘀的音clr p0.0lcall delay500msjnb p2.4 ,daa ;是否去嗒音cun: ;setb p0.2setb p0.0rl aadd a ,r1 ;存入一位摩斯碼djnz r7 ,yanshi ;是否夠五位摩斯碼ajmp xianshiyanshi: ;輸入一位摩斯碼停頓1tlcall delay500ms jb p2.4 ,mainajmp okdaa: ;嗒的音lcall delay500msjb p2.4 ,s
26、topsetb p0.0clr p0.2lcall delay500mssetb 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 mov 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 mo
27、v 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 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 cunchune
28、xt3: 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 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
29、 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 ;夠五位摩斯碼顯示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
30、 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: 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
31、 mov at4 ,#00h shuru2: clr p0.6 mov a ,#00h ;密碼緩存 mov r2 ,#04h ;四位密碼 mov r1 ,#00h mov r0 ,#at1 mov r7 ,#05hstart1: jb p2.4 ,start1 lcall delay500ms jb p2.4 ,start1ok1: ;滴音 setb p3.0 ;開門后再按鍵1t 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
32、ajmp xianshi1yanshi1: ;每個(gè)摩斯碼之間延時(shí)1t lcall delay500ms jb p2.4 ,stop1 ajmp ok1daaa: ;嗒音 lcall delay500ms jb p2.4 ,stop1 setb p0.0 clr p0.2 lcall delay500ms setb p0.2 jnb p2.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 m
33、ov 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_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 m
34、ov 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 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 p1 ,#0f8h clr p3.2
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年西安學(xué)區(qū)房交易風(fēng)險(xiǎn)評(píng)估及保障合同3篇
- 工程管理人員合同(2篇)
- 裝修水電施工方案
- 2025年度個(gè)人房產(chǎn)租賃合同解除協(xié)議范本4篇
- 中國(guó)航空運(yùn)輸行業(yè)展望2025年1月 -中誠(chéng)信
- 二零二五年度面包烘焙原料種植基地訂購(gòu)合同4篇
- 2025年度合伙企業(yè)股份轉(zhuǎn)讓及管理服務(wù)協(xié)議3篇
- 初二學(xué)業(yè)規(guī)劃講座模板
- 二零二五年度苗圃苗木病蟲害防治藥劑研發(fā)與供應(yīng)合同4篇
- 2025年度個(gè)人購(gòu)房綠色家居設(shè)計(jì)合同4篇
- 軟件項(xiàng)目應(yīng)急措施及方案
- 2025河北邯鄲經(jīng)開國(guó)控資產(chǎn)運(yùn)營(yíng)管理限公司招聘專業(yè)技術(shù)人才5名高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年民法典知識(shí)競(jìng)賽考試題庫(kù)及答案(共50題)
- 2025老年公寓合同管理制度
- 2024-2025學(xué)年人教版數(shù)學(xué)六年級(jí)上冊(cè) 期末綜合卷(含答案)
- 2024中國(guó)汽車后市場(chǎng)年度發(fā)展報(bào)告
- 鈑金設(shè)備操作培訓(xùn)
- 感染性腹瀉的護(hù)理查房
- 天津市部分區(qū)2023-2024學(xué)年高二上學(xué)期期末考試 物理 含解析
- 水利工程招標(biāo)文件樣本
- 第17課 西晉的短暫統(tǒng)一和北方各族的內(nèi)遷(說(shuō)課稿)-2024-2025學(xué)年七年級(jí)歷史上冊(cè)素養(yǎng)提升說(shuō)課稿(統(tǒng)編版2024)
評(píng)論
0/150
提交評(píng)論