基于DSP密碼鎖的課程設(shè)計(jì)_第1頁(yè)
基于DSP密碼鎖的課程設(shè)計(jì)_第2頁(yè)
基于DSP密碼鎖的課程設(shè)計(jì)_第3頁(yè)
基于DSP密碼鎖的課程設(shè)計(jì)_第4頁(yè)
基于DSP密碼鎖的課程設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 DSP原理與應(yīng)用課程大作業(yè)題 目: 基于TM320LF240X的掉電不丟失密碼鎖設(shè)計(jì) 院系名稱(chēng): 電氣工程 專(zhuān)業(yè)班級(jí): 自動(dòng)化1002 學(xué)生姓名: 秦凱新 學(xué) 號(hào): 201046820427 指導(dǎo)教師: 張世杰 設(shè)計(jì)題目基于TM320LF240X的掉電不丟失密碼鎖設(shè)計(jì)設(shè)計(jì)內(nèi)容和要求密碼鎖的功能鍵設(shè)計(jì):S1-S10表示:數(shù)字鍵0-9S11-更改密碼S12-更改密碼完畢后確認(rèn)S13-重試密碼、重新設(shè)定S14-關(guān)閉密碼鎖初始密碼:000000 密碼位數(shù):6位程序功能: 本程序結(jié)合了24C02存儲(chǔ)器的存儲(chǔ)功能,可以掉電保存密碼。 1、開(kāi)鎖: 下載程序后,直接按六次S7(即代表數(shù)字1),鎖被打開(kāi),輸入

2、密碼時(shí), 六位數(shù)碼管依次顯示小橫杠。 2、更改密碼: 首先按下更改密碼鍵S11,然后設(shè)置相應(yīng)密碼,此時(shí)六位數(shù)碼管會(huì)顯示設(shè)置密碼對(duì)應(yīng) 的數(shù)字。最后設(shè)置完六位后,按下S12確認(rèn)密碼更改,此后新密碼即生效。 3、重試密碼: 當(dāng)輸入密碼時(shí),密碼輸錯(cuò)后按下鍵S13,可重新輸入六位密碼。 當(dāng)設(shè)置密碼時(shí),設(shè)置中途想更改密碼,也可按下此鍵重新設(shè)置。 4、關(guān)閉密碼鎖: 按下S14即可將打開(kāi)的密碼鎖關(guān)閉。報(bào)告主要章節(jié)一TM320LF240X內(nèi)部資源二 IIC模塊介紹三 程序流程圖四 系統(tǒng)總原理圖五 密碼鎖程序源碼六 附錄(參考文獻(xiàn))一TM320LF240X內(nèi)部資源1.1TM320LF240X簡(jiǎn)介數(shù)字信號(hào)處理(Di

3、gital Signal Processing,簡(jiǎn)稱(chēng)DSP)是一門(mén)涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來(lái),隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。數(shù)字信號(hào)處理是一種通過(guò)使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息,來(lái)處理現(xiàn)實(shí)信號(hào)的方法,這些信號(hào)由數(shù)字序列表示。在過(guò)去的二十多年時(shí)間里,數(shù)字信號(hào)處理已經(jīng)在通信等領(lǐng)域得到極為廣泛的應(yīng)用。德州儀器、Freescale等半導(dǎo)體廠商在這一領(lǐng)域擁有很強(qiáng)的實(shí)力。 DSP (digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號(hào)來(lái)處理大量信息的器件。其工作原理是接收模擬信號(hào),轉(zhuǎn)換為0或

4、l的數(shù)字信號(hào)。再對(duì)數(shù)字信號(hào)進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時(shí)運(yùn)行速度可達(dá)每秒數(shù)以千萬(wàn)條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過(guò)通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱(chēng)道的兩大特色。1.2TM320LF240X資源介紹 2407開(kāi)發(fā)板分為T(mén)I 2000-011 DSP2407增強(qiáng)型、DSP2407+CPLD開(kāi)發(fā)板、SHX-DSP2407A開(kāi)發(fā)板。引DSP2407+CPLD開(kāi)發(fā)板套件是一套基TMS320LF2407A+EPM240的DSP+CPLD的學(xué)習(xí)開(kāi)發(fā)平臺(tái),充分發(fā)揮DSP2407

5、和ALTERA MAX II的靈活性和功能強(qiáng)大,用戶(hù)手冊(cè)詳實(shí)易懂,大量源碼輕松上手(分DSP和CPLD兩部分),我們?yōu)橛脩?hù)提供一個(gè)完整的IP核通過(guò)CPLD進(jìn)行系統(tǒng)資源分配,用戶(hù)可以根據(jù)需要進(jìn)行裁剪或追加功能。由于我們的外設(shè)都是通過(guò)CPLD連接與DSP連接進(jìn)行電平轉(zhuǎn)換、隔離和總線(xiàn)。仲裁等先進(jìn)技術(shù),所以使用極為方便靈活、簡(jiǎn)潔、并且運(yùn)行及其穩(wěn)定。這種結(jié)構(gòu)可以充分利用了CPLD的靈活性和功能強(qiáng)大的IP核進(jìn)行功能更強(qiáng)的系統(tǒng)應(yīng)用。是初學(xué)者和從事開(kāi)發(fā)的科研工作者學(xué)習(xí)2407和CPLD的首選之品。 本開(kāi)發(fā)板供初學(xué)者學(xué)習(xí)使用,也可作為系統(tǒng)板嵌入到用戶(hù)的產(chǎn)品供用戶(hù)進(jìn)行二次開(kāi)發(fā)以便縮短產(chǎn)品開(kāi)發(fā)周期。SHX-DSP2

6、407A開(kāi)發(fā)板是DSP 2407系列產(chǎn)品中的重要一員。它的最大優(yōu)點(diǎn)是直觀簡(jiǎn)單明了,極為適于初學(xué)者。此棋板采用統(tǒng)一的系統(tǒng)結(jié)構(gòu)、模塊結(jié)構(gòu)和機(jī)械結(jié)構(gòu),以多種典型DSP處理器構(gòu)成的DSP基本系統(tǒng)、標(biāo)準(zhǔn)總線(xiàn)和相同物理尺寸的DSP嵌入式控制模板,將2407的功能發(fā)揮的淋漓盡致,為學(xué)習(xí)者提供了強(qiáng)大、有效的學(xué)習(xí)平臺(tái)。用戶(hù)手冊(cè)詳實(shí)易懂,大量源碼輕松上手(分DSP和CPLD兩部分),我們?yōu)橛脩?hù)提供一個(gè)完整的IP核通過(guò)CPLD進(jìn)行系統(tǒng)資源分配,用戶(hù)可以根據(jù)需要進(jìn)行裁剪或追加功能。1.3TM320LF240X引腳介紹TMS320LF2407系列有多達(dá)41個(gè)通用、雙向的數(shù)字I/O(GPIO)引腳,其中大多數(shù)是基本功能和

7、一般I/O復(fù)用引腳,TMS320LF2407系列的大多數(shù)都可以用來(lái)實(shí)現(xiàn)其他功能。數(shù)字I/O端口模塊采用了一種靈活的方法,以控制專(zhuān)用I/O和復(fù)用I/O引腳的功能,所有I/O和復(fù)用引腳的功能可以通過(guò)9個(gè)16位控制寄存器來(lái)設(shè)置,這些寄存器可以分為兩類(lèi):I/O口復(fù)用控制寄存器(MCRx):用來(lái)控制選擇I/O引腳作為基本功能或一般I/O引腳功能。數(shù)據(jù)和方向控制寄存器(PxDATDIR):當(dāng)I/O引腳作為一般I/O引腳功能時(shí),用數(shù)據(jù)和方向控制寄存器可控制數(shù)據(jù)和I/O引腳的數(shù)據(jù)方向,這些寄存器直接和I/O引腳相連。給出了TMS320LF2407系列I/O端口復(fù)用引腳配置簡(jiǎn)圖,從圖上可以看出一些寄存器單元的配

8、置對(duì)應(yīng)于實(shí)際I/O引腳的內(nèi)部結(jié)構(gòu)之間的聯(lián)系。1.4 I/0控制寄存器介紹 數(shù)字?jǐn)?shù)字I/O模塊控制寄存器地址地址存儲(chǔ)寄存器說(shuō)明7090hMCRAI/O復(fù)用控制寄存器A7092hMCRBI/O復(fù)用控制寄存器B7094hMCRCI/O復(fù)用控制寄存器C7098hPADATDIRI/O端口A數(shù)據(jù)和方向寄存器709AhPBDATDIRI/O端口B數(shù)據(jù)和方向寄存器709ChPCDATDIRI/O端口C數(shù)據(jù)和方向寄存器709EhPDDATAIRI/O端口D數(shù)據(jù)和方向寄存器7095hPEDATAIRI/O端口E數(shù)據(jù)和方向寄存器7096hPEDATDIRI/O端口F數(shù)據(jù)和方向寄存器下面介紹I/O口復(fù)用輸出控制寄存

9、器。下面描述了I/O口復(fù)用控制寄存器A(MCRA)I/O口復(fù)用控制寄存器B(MCRB),I/O口復(fù)用控制寄存器C(MCRC),其中表2是I/O口復(fù)用控制寄存器A(MCRA)的配置,對(duì)寄存器的每個(gè)位的值做了詳細(xì)的描述;表3是I/O口復(fù)用控制寄存器B(MCRB)的配置,對(duì)寄存器的每個(gè)位的值做了詳細(xì)的描述。表4是I/O口復(fù)用控制寄存器C(MCRC)的配置,對(duì)寄存器的每個(gè)位的值做了詳細(xì)的描述。I/O口復(fù)用控制寄存器A(MCRA)地址7090h注:R=可讀,W=可寫(xiě),_0=復(fù)位后的值I/O口復(fù)用控制寄存器A(MCRA)的配置I/O口復(fù)用控制寄存器B(MCRB地址7092h)注:R=可讀,W=可寫(xiě),_0=

10、復(fù)位后的值I/O口復(fù)用控制寄存器B(MCRB)的配置二IIC模塊介紹2.0 24C02的圖示 圖2.0 2.1 24C02的讀寫(xiě)操作I2C(Inter Integrated Circuit)總線(xiàn)是一種由Philips公司開(kāi)發(fā)的兩線(xiàn)式串行總線(xiàn),用于連接微控制器及其外圍設(shè)備。I2C總線(xiàn)產(chǎn)生于在80年代,最初為音頻和視頻設(shè) 備開(kāi)發(fā)。由于其簡(jiǎn)單性,如今方泛用于微控制器與各種功能模塊的連接,可以說(shuō)是學(xué)單片機(jī)的人,入門(mén)之后,必定要涉及到的。I2C 總線(xiàn)實(shí)際上已經(jīng)成為一個(gè)國(guó)際標(biāo)準(zhǔn)在超過(guò)100 種不同的IC 上實(shí)現(xiàn),而且得到超過(guò)50 家公司的許可,正因?yàn)槠浜?jiǎn)單和應(yīng)用廣泛,因此其功能也越來(lái)不滿(mǎn)足人們的要求,其速

11、度也從原來(lái)的100Kbit/S,增加了快速模式,其速度達(dá) 400Kbit/S,再后來(lái)也增加了高速模式,其速度更達(dá)3.4Mbit/S。二.功能和特點(diǎn)I2C 總線(xiàn)是一種用于IC器件之間連接的雙向二線(xiàn)制總線(xiàn),所謂總線(xiàn)它上面可以?huà)於嗌倨骷⑶彝▊€(gè)兩根線(xiàn)連接,占用空間非常的小,總線(xiàn)的長(zhǎng)度可高達(dá)25英尺,并 且能夠以10Kbps的最大傳輸速率支持4個(gè)組件。它的另一優(yōu)點(diǎn)是多主控,只要能夠進(jìn)行接收和發(fā)送的設(shè)備都可以成為主控制器,當(dāng)然多個(gè)主控不能同一時(shí)間 工作。I2C總線(xiàn)有兩根信號(hào)線(xiàn),一根為SDA(數(shù)據(jù)線(xiàn)),一根為SCL(時(shí)鐘線(xiàn))。任何時(shí)候時(shí)鐘信號(hào)都是由主控器件產(chǎn)生。I2C總線(xiàn)在傳送數(shù)據(jù)的過(guò)程中,主要有三種控

12、制信號(hào):起始信號(hào),結(jié)不信號(hào),應(yīng)答信號(hào)起始信號(hào):當(dāng)SCL為高電平時(shí),SDA由高電平轉(zhuǎn)為低電平時(shí),開(kāi)始傳送數(shù)據(jù)結(jié)束信號(hào):當(dāng)SCL為高電平時(shí),SDA由低電平轉(zhuǎn)為高電平時(shí),結(jié)束數(shù)據(jù)傳送應(yīng)答信號(hào):接收數(shù)據(jù)的器件在接收到8bit數(shù)據(jù)后,向發(fā)送數(shù)據(jù)的器件發(fā)出低電平信號(hào),表示已收到數(shù)據(jù)。這個(gè)信號(hào)可以是主控器件發(fā)出,也可以是從動(dòng)器件發(fā)出。總之由接收數(shù)據(jù)的器件發(fā)出。這些信號(hào)中,起始信號(hào)是必需的,結(jié)束信號(hào)和應(yīng)答信號(hào),都可以不要。下面我們以ATMEL公司的AT24C02來(lái)介紹I2C的基本操作AT24C02是美國(guó)ATMEL公司的低功耗CMOS串行EEPROM,它是內(nèi)含256×8bit存儲(chǔ)空間,具有工作電壓寬(

13、2.55.5V)、擦寫(xiě)次數(shù)多(大于10000次)、寫(xiě)入速度快(小于10ms)等特點(diǎn)。他在系統(tǒng)中始終為從動(dòng)器件。對(duì)AT24C02的操作主要有:字節(jié)讀,字節(jié)寫(xiě),頁(yè)面讀,頁(yè)面寫(xiě)首先發(fā)送起始信號(hào),如下圖,起始信號(hào)后必須是控制字,控制字格式如下,其中高四位為器件類(lèi)型識(shí)別符(不同的芯片類(lèi)型有不同的定義,EEPROM一般應(yīng)為1010),接著三位為片選,也就是三個(gè)地址位,最后一位為讀寫(xiě)控制位,當(dāng)為1(Input)時(shí)為讀操作,為0(Output)時(shí)為寫(xiě)操作。控制字后就是相應(yīng)的操作,讀或?qū)?,一定不要結(jié)束,因?yàn)檫@個(gè)操作還沒(méi)有完成,如果結(jié)束就等于放棄操作。先 來(lái)看寫(xiě)操作,寫(xiě)操作分為字節(jié)寫(xiě)和頁(yè)面寫(xiě)兩種操作,對(duì)于頁(yè)面寫(xiě)根

14、據(jù)芯片的一次裝載的字節(jié)不同有所不同,AT24C02為8字節(jié),每寫(xiě)一個(gè)字節(jié)后,地址自動(dòng)加 1。關(guān)于頁(yè)面寫(xiě)的地址、應(yīng)答和數(shù)據(jù)傳送的時(shí)序參見(jiàn)圖3,字節(jié)寫(xiě)可以看成是只有一個(gè)字節(jié)的頁(yè)面寫(xiě),也就是寫(xiě)一個(gè)數(shù)據(jù)后停止。注意:寫(xiě)一次需要一定時(shí)間,一般 為10ms,要等侍這個(gè)操作完成。時(shí)序如下圖:說(shuō)明:對(duì)于AT24C02,在控制字后還必須寫(xiě)入地址,這個(gè)地址是以后讀寫(xiě)的起始地址。讀 操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。三種操作方法類(lèi)似,只是讀的數(shù)據(jù)個(gè)數(shù)不同,可連續(xù)讀8個(gè)字節(jié),圖4給出的是順序讀的時(shí)序圖,圖中共讀了 四個(gè)數(shù)據(jù),需要注意的是當(dāng)前的地址,如果不是想要的,可以用寫(xiě)操作,重新寫(xiě)入地址。非常重要的是

15、,每讀一個(gè)數(shù)據(jù)后,必須置低SDA,作為應(yīng)答,否則,只能 讀一個(gè)數(shù)據(jù),后面的數(shù)據(jù),因?yàn)槭盏讲粦?yīng)答信號(hào),AT24C02就會(huì)認(rèn)為出錯(cuò),停止操作。特別提醒的是,當(dāng)SCL為低電平時(shí),數(shù)據(jù)是可變的,因些只有SCL 為高電平時(shí),才能讀數(shù)。三 程序流程圖 圖3.1 程序流程圖程序執(zhí)行時(shí),首先進(jìn)行鍵盤(pán)掃描,判斷是否開(kāi)鎖,程序執(zhí)行流程如上圖所示:1、開(kāi)鎖: 下載程序后,直接按六次S7(即代表數(shù)字1),8位LED亮,鎖被打開(kāi),輸入密碼時(shí), 六位數(shù)碼管依次顯示小橫杠。 2、更改密碼: 首先按下更改密碼鍵S11,然后設(shè)置相應(yīng)密碼,此時(shí)六位數(shù)碼管會(huì)顯示設(shè)置密碼對(duì)應(yīng) 的數(shù)字。最后設(shè)置完六位后,按下S12確認(rèn)密碼更改,此后新

16、密碼即生效。 3、重試密碼: 當(dāng)輸入密碼時(shí),密碼輸錯(cuò)后按下鍵S13,可重新輸入六位密碼。 當(dāng)設(shè)置密碼時(shí),設(shè)置中途想更改密碼,也可按下此鍵重新設(shè)置。 4、關(guān)閉密碼鎖: 按下S14即可將打開(kāi)的密碼鎖關(guān)閉。四 系統(tǒng)原理圖 圖4.1 系統(tǒng)原理圖 系統(tǒng)原理圖包含了顯示模塊,矩陣鍵盤(pán)模塊 ,以及24C02密碼值存儲(chǔ)模塊,其分模塊就不再粘貼出來(lái),因?yàn)槎际巧鲜瞿K的分解.另外關(guān)于鍵盤(pán)就是矩陣鍵盤(pán),包含了0-9的鍵值,另外還有特殊功能鍵如下: S11:更改鍵 S12:確認(rèn)鍵 S13:重試鍵 S14:關(guān)閉鍵正是通過(guò)上述的特殊功能鍵來(lái)實(shí)現(xiàn)特殊的操作。從而實(shí)現(xiàn)密碼識(shí)別,鍵盤(pán)掃描,數(shù)密碼,密碼驗(yàn)證,和更改密碼操作的。

17、五 密碼鎖程序源碼#include "register"#include<ioports.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charuchar old1,old2,old3,old4,old5,old6; /原始密碼000000uchar new1,new2,new3,new4,new5,new6; /每次MCU采集到的密碼輸入uchar a=16,b=16,c=16,d=16,e=16,f=16; /送入數(shù)碼管顯示的變量uchar wei,ke

18、y,temp;char allow,genggai,ok,wanbi,retry,close; /各個(gè)狀態(tài)位#define LEDData PBDATDIR;#define LEDcs PFDATDIR;unsigned char code table=0xFF3f,0xFF06,0xFF5b,0xFF4f,0xFF66,0xFF6d,0xFF7d,0xFF07,0xFF7f,0xFF6f,0xFF77,0xFF7c,0xFF39,0xFF5e,0xFF79,0xFF71,0xFF00,0xFF40;/24C02讀寫(xiě)驅(qū)動(dòng)程序/void delay1(unsigned int m)unsigne

19、d int n; for(n=0;n<m;n+);void init() MCRA=MCRA&OXFFFB; MCRB=MCRB&0XFEFF; MCRC=MCRC&OXFFFE; PADATDIR=PADATDIR|0x0400; PADATDIR=PADATDIR|0X0100; PBDATDIR=PBDATDIR|0XFFFF; PFDATDIR=PFDATDIR|0XFFFF; asm(“setc INTM”); asm(“setc SXM”); asm(“clrc OVM”); asm(“clrc CNF”); WDCR=0X0E8;SCSR1=0X81

20、FE; IMR=0X0000;IFR=0X0FFFF; /從24c02的地址address中讀取一個(gè)字節(jié)數(shù)據(jù)/Void Start() PADATDIR= PADATDIR&0XFFFB;PEDATDIR =PEDATDIR|0X0100;PEDATDIR =PEDATDIR|0X0001; PADATDIR= PADATDIR&0X0004; delay(30); PEDATDIR =PEDATDIR|0Xfffe; delay(30);PEDATDIR =PEDATDIR|0xfffb;delay(30); PEDATDIR =PEDATDIR|0X0001;void St

21、op() PADATDIR= PADATDIR&0XFFFB;PEDATDIR =PEDATDIR|0X0100;PEDATDIR =PEDATDIR|0Xfffe; PADATDIR= PADATDIR&0X0004; delay(30); PEDATDIR =PEDATDIR|0X0001; delay(30);PEDATDIR =PEDATDIR|0xfffb;delay(30); PEDATDIR =PEDATDIR|0Xfffb;Void I2CSendByte(int data)int flag,sz,k;for(flag=0x0080;flag!=0x00;fla

22、g=flag/2) PADATDIR= PADATDIR&0XFFFB;for(k=0x06;k>=0;k-)k=k;sz=data&flag; PEDATDIR =PEDATDIR|0xfffb;else PEDATDIR =PEDATDIR|0x0001; PADATDIR= PADATDIR&0X0004;for(k=0x06;k>=0;k-)k=k; PADATDIR= PADATDIR&0Xfffb; Void I2CRecByte(int data)int flag,sz,k;PEDATDIR =PEDATDIR|0xFEFF PADAT

23、DIR= PADATDIR&0XFFFB;for(flag=0x0080;flag!=0x00;flag=flag/2) PADATDIR= PADATDIR&0X0004;sz= PADATDIR &flag; if(sz=flag) k=k|flag; PADATDIR= PADATDIR&0Xfffb; return k;unsigned char read24c02(unsigned char address) unsigned char i;Start();I2CSendByte(0xa0);I2CSendByte(address); Start();

24、 writebyte(0xa1); i=readbyte(); Stop(); delay(10); return(i);/向24c02的address地址中寫(xiě)入一字節(jié)數(shù)據(jù)info/void write24c02(unsigned char address,unsigned char dat) Start(); I2CSendByte (0xa0);I2CSendByte (address);I2CSendByte (dat); Stop(); delay(30);/*密碼鎖程序模塊*/void delay(unsigned char i)uchar j,k; for(j=i;j>0;j

25、-) for(k=125;k>0;k-);void LED_display(uchar cs,uchar num) LEDcs=cs;LEDData=LED_Tablenum; void display(uchar a,uchar b,uchar c,uchar d,uchar e,uchar f) PBDATDIR=0XFFFF; PBDATDIR=0XFFFF; LED_display(0x0eff,a); delay1(5); LED_display(0x0dff,b); delay1(5); LED_display(0x0bff,c); delay1(5); LED_displa

26、y(0x07ff,d); delay1(5);void keyscan() PEDATDIR=0X0FFF;/高四位為輸入,低四位為輸出; PEDATDIR=0xfeFF;/高四位上拉輸入 temp= PEDATDIR; temp=temp&0x00f0; if(temp!=0xf0) delay(10); if(temp!=0x00f0) temp=P3; switch(temp) case 0x00ee: key=0; wei+; break; case 0x00de: key=1; wei+; break; case 0x00be: key=2; wei+; break; cas

27、e 0x007e: key=3; wei+; break; while(temp!=0x00f0) temp=PEDATDIR; temp=temp&0xf0; PEDATDIR=0xfdFF; temp=PEDATDIR; temp=temp&0x00f0; if(temp!=0x00f0) delay(10); if(temp!=0x00f0) temp=PTEDFF; switch(temp) case 0x00ed: key=4; wei+; break; case 0x00dd: key=5; wei+; break; case 0x00bd: key=6; wei+

28、; break; case 0x007d: key=7; wei+; break; while(temp!=0x00f0) temp= PEDATDIR; temp=temp&0x00f0; PEDATDIR =0xfbFF; temp= PEDATDIR; temp=temp&0x00f0; if(temp!=0x00f0) delay(10); if(temp!=0xf0) temp= PEDATDIR; switch(temp) case 0x00eb: key=8; wei+; break; case 0x00db: key=9; wei+; break; case 0

29、x00bb: genggai=1; wei=0; break; case 0x007b: if(allow) ok=1; break; while(temp!=0x00f0) temp= PEDATDIR; temp=temp&0x00f0; PEDATDIR=0xf7FF; temp= PEDATDIR; temp=temp&0x00f0; if(temp!=0x00f0) delay(10); if(temp!=0x00f0) temp=PEDATDIR; switch(temp) case 0x00e7: retry=1; break; case 0x00d7: clos

30、e=1; break; while(temp!=0x00f0) temp= PEDATDIR; temp=temp&0x00f0; beep=0; void shumima()/對(duì)按鍵采集來(lái)的數(shù)據(jù)進(jìn)行分配if(!wanbi)switch(wei)case 1:new1=key; if(!allow)a=17; else a=key;break;case 2:new2=key;if(a=17) b=17;else b=key;break;case 3:new3=key; if(a=17) c=17;else c=key;break;case 4:new4=key;if(a=17) d=1

31、7;else d=key;break;case 5:new5=key; if(a=17) e=17;else e=key;break;case 6:new6=key; if(a=17) f=17;else f=key;wanbi=1;break;void yanzheng() /驗(yàn)證密碼是否正確if(wanbi) /只有當(dāng)六位密碼均輸入完畢后方進(jìn)行驗(yàn)證if(new1=old1)&(new2=old2)&(new3=old3)&(new4=old4)&(new5=old5)&(new6=old6)allow=1;/當(dāng)輸入的密碼正確,會(huì)得到allowe置一void main() init(); old1=read24c02(110); old2=read24c02(111);old3=read24c02(112);old4=read24c02(113);old5=read24c02(114);old6=read24c02(115);while(1)keyscan();shumima();yanzheng();if(allow) /

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論