電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。電子密碼鎖的出現(xiàn)給人們帶來了極大的方便,有很廣闊的市場(chǎng)前景。現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核,通過編程來實(shí)現(xiàn)的。其性能和安全性已大大超過了機(jī)械鎖,特點(diǎn)有:保密性好,編碼量多。 隨機(jī)開鎖成功率幾乎為零。 密碼可變。用戶可以經(jīng)常更改密碼,防止密碼被盜,同時(shí)也可以避免因人員的更替而使鎖的密級(jí)下降。 誤碼輸入保護(hù)。當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng)。 操作簡(jiǎn)單易行,一學(xué)即會(huì)。
2 總體方案設(shè)計(jì)
2.1方案的提出與論證方案一:采用數(shù)字電路控制。 數(shù)字電路是用數(shù)字信號(hào)完成對(duì)數(shù)字量進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和邏輯處理功能,所以又稱數(shù)字邏輯電路。現(xiàn)代的數(shù)字電路由半導(dǎo)體工藝制成的若干數(shù)字集成器件構(gòu)造而成。邏輯門是數(shù)字邏輯電路的基本單元。存儲(chǔ)器是用來存儲(chǔ)二值數(shù)據(jù)的數(shù)字電路。 優(yōu)點(diǎn): 1.穩(wěn)定性號(hào)。數(shù)字電路不像模擬電路那樣易受噪聲的干擾。 2.可靠性高。數(shù)字電路中只需分辨出信號(hào)的有與無,故電路的組件參數(shù),可以允許有較大的變化(漂移)范圍。 3.能長(zhǎng)期存儲(chǔ)。數(shù)字信息可以利用某種媒介,如磁帶、磁盤、光盤等進(jìn)行長(zhǎng) 時(shí)期的存儲(chǔ)。 4.便于計(jì)算機(jī)處理。數(shù)字信號(hào)的輸出除了具有直觀、準(zhǔn)確的優(yōu)點(diǎn)外,最主要的還是便于利用電子計(jì)算機(jī)來進(jìn)行信息的處理。 5.便于高度集成化。由于數(shù)字電路中基本單元電路的結(jié)構(gòu)比較簡(jiǎn)單,而且又允許組件有較大的分散性,這就使我們不僅可把眾多的基本單元做在同一塊硅片上,同時(shí)又能達(dá)到大批量生產(chǎn)所需要的良率。 缺點(diǎn): 1.數(shù)字電路實(shí)現(xiàn)成本太高。 2.數(shù)字電路的靈活性較差。 3.控制的準(zhǔn)確性較差。 方案二:以AT89S52為核心的單片機(jī)控制方案。 選用單片機(jī)AT89S52 作為本設(shè)計(jì)的核心元件,利用單片機(jī)靈活的編程設(shè)計(jì)和豐富的IO端口,及其控制的準(zhǔn)確性,實(shí)現(xiàn)基本的密碼鎖功能。在單片機(jī)的外圍電路外接輸入鍵盤用于密碼的輸入和一些功能的控制,外接LCD1602顯示器用于顯示作用。其原理如下圖2.1所示: 
圖2.1單片機(jī)控制密碼鎖原理圖 2.2 方案論證選擇方案一設(shè)計(jì)簡(jiǎn)單但控制的準(zhǔn)確性和靈活性差。方案二控制靈活準(zhǔn)確性好且保密性強(qiáng)還具有擴(kuò)展功能,根據(jù)現(xiàn)實(shí)生活的需要此次設(shè)計(jì)采用此方案二。
3 單元模塊設(shè)計(jì)3.1 各單元模塊電路設(shè)計(jì)本設(shè)計(jì)以單片機(jī) AT89C52 為控制核心,采用模塊化設(shè)計(jì),共分以下幾個(gè)功能模塊: 單片機(jī)最小系統(tǒng)、矩陣按鍵電路、AT24C02 密碼存儲(chǔ)電路、LCD1602 液晶顯示電路、蜂鳴器模塊、繼電器驅(qū)動(dòng)模塊、 LED“模擬鎖”電路組成。該密碼鎖主要有修改密碼,存儲(chǔ)密碼等功能。 3.1.1 最小模塊設(shè)計(jì)單片機(jī)最小系統(tǒng)一般指晶振電路和復(fù)位電路,晶振電路一般由晶體振蕩器和電容組成。本次設(shè)計(jì)晶振采用12MHz,電容采用30pF。晶振部分的原理圖如圖所示。復(fù)位電路,單片機(jī)的復(fù)位操作有上電自動(dòng)復(fù)位和手動(dòng)按鍵復(fù)位兩種方式。手動(dòng)按鍵復(fù)位是在電源接通的條件下,用按鍵操作使單片機(jī)復(fù)位,其工作原理為:復(fù)位鍵按下后電容C3通過按鍵進(jìn)行放電,RST引腳變?yōu)楦唠娖剑瑔纹瑱C(jī)RST引腳接收到一段高電平脈沖后,會(huì)進(jìn)行一次復(fù)位。松開按鍵后,電容充電,RST引腳電位降低。本設(shè)計(jì)中 R=100R,C=1uF。保證高電平脈沖維持2個(gè)機(jī)器周期以上。最小模塊繪制結(jié)果如圖所示: 圖 3.1 最小模塊電路 圖 3.2晶振電路模塊 圖 3.3 復(fù)位電路模塊 3.1.2 矩陣按鍵電路設(shè)計(jì)本設(shè)計(jì)中采用的4*4矩陣共有16個(gè)鍵位,4根行線連PI口低4位,4根列線連PI口高4位。在按鍵未被按下時(shí),每條行線與列線的交叉處互不相通,當(dāng)莫格按鍵被按下后,該鍵所在的行線和列線連通。這樣PI口的高4位和低4位中各有一位互相連通。通過行列掃描檢測(cè)出這兩位,即可識(shí)別出被按下的鍵。矩陣按鍵的原理圖如圖所示: 圖 3.4 矩陣按鍵電路設(shè)計(jì) 3.1.3 AT24C02密碼存儲(chǔ)器電路設(shè)計(jì)使用AT24C02保存密碼,使密碼在單片機(jī)掉電之后仍能保存。AT24C02只需要串行時(shí)鐘SCL引腳接P3.4,串行數(shù)據(jù)哋址SDA引腳接P3.5,即可完成數(shù)據(jù)和指令的傳送,比起并行傳輸節(jié)省I/O 目資源。SCL和SDA各需接一個(gè)10K的上拉電陽。寫保護(hù)WP接地,使AT24C02 可進(jìn)行正常讀寫。 系統(tǒng)初始化時(shí),從AT24C02中讀出密碼信息存儲(chǔ)到單片機(jī)中,用戶修改密碼后再將新密碼寫入AT24C02。這樣即便單片機(jī)掉電,重啟后仍能讀取用戶密碼,從而達(dá)到掉電存儲(chǔ)的目的
圖 3.1.5 矩陣按鍵電路設(shè)計(jì) 3.1.4 LCD1602液晶顯示LCD1602液晶顯示器是廣泛使用的一種字符型液晶顯示模塊。它是由字符型液晶顯示屏(LCD)、控制驅(qū)動(dòng)主電路HD44780及其擴(kuò)展驅(qū)動(dòng)電路HD44100,以及少量電阻、電容元件和結(jié)構(gòu)件等裝配在PCB板上而組成。本次實(shí)驗(yàn)中,因?yàn)樾枰@示較多的內(nèi)容,所以使用了一個(gè)LCD1602液晶,用于顯示密碼和系統(tǒng)操作提示。 圖 3.6 LCD1602液晶顯示設(shè)計(jì) 3.1.5 蜂鳴器模塊蜂鳴器模塊部分的電路如圖,就是用P2.1口控制一個(gè)有源蜂鳴器發(fā)聲,作為提示音或報(bào)警音。程序設(shè)定為每當(dāng)識(shí)別到有一位按鍵被按下時(shí),蜂鳴器發(fā)聲0.1S;開鎖時(shí)停頓2S發(fā)聲2S,發(fā)聲3次;密碼錯(cuò)誤時(shí)每次停頓0.5S發(fā)聲IS,錯(cuò)誤5 次以內(nèi)時(shí)錯(cuò)N次發(fā)N聲,錯(cuò)誤5次及以上發(fā)聲10次。 蜂鳴器有兩個(gè)引腳,其中長(zhǎng)腳為正極,短腳為負(fù)極。其發(fā)聲原理是電流通過電磁線圈,使電磁線圈產(chǎn)生磁場(chǎng)來驅(qū)動(dòng)振動(dòng)膜發(fā)聲的,因此需要一定的電流才能驅(qū)動(dòng)它。由于單片機(jī)I/O引腳輸出的電流較小,基本上驅(qū)動(dòng)不了蜂鳴器,因此需要增加一個(gè)電流放大的電路,一般使用三極管來放大電流就可以了。本設(shè)計(jì)中使用三極管9012,P2.1口高電平時(shí)三極管截至,蜂鳴器不發(fā)聲;P2.1口低電平時(shí),三極管導(dǎo)通,這樣蜂鳴器的電流形成回路,發(fā)出聲音。因此,我們可以通過程序控制P2.1腳的電平來使蜂鳴器發(fā)出聲音和關(guān)閉。 圖 3.7 蜂鳴器模塊設(shè)計(jì) 3.1.6 繼電器驅(qū)動(dòng)模塊開鎖控制電路如圖,電路的功能就是在輸入正確的密碼后開鎖。系統(tǒng)使用單片機(jī)P2.0引腳發(fā)出信號(hào),經(jīng)三極管放大之后,由繼電器驅(qū)動(dòng)電磁閥將鎖打開。設(shè)計(jì)中用一個(gè)發(fā)光二極管模擬表現(xiàn)鎖的開關(guān),只有鎖打開之后,繼電器吸合至常開觸電,發(fā)光二極管才會(huì)亮起;實(shí)際應(yīng)用中用繼電器控制開鎖電路的開關(guān)。 在現(xiàn)代自動(dòng)控制設(shè)備中,都存在電子電路(弱電)與電氣電路(強(qiáng)電)的相互連接問題,一方面要使電子電路的控制信號(hào)能夠控制電氣電路的執(zhí)行元件(如電動(dòng)機(jī)、電磁鐵、電燈等),另一方面又要為電子線路的電氣電路提供良好的電隔離,以保護(hù)電子電路和工作人員的人身的安全。繼電器便能完成這一橋梁作用。繼電器實(shí)際上是用較小的電流去控制較大電流的一種“自動(dòng)開關(guān)”,在電路中起著自動(dòng)調(diào)節(jié)、安全保護(hù)、轉(zhuǎn)換電路等作用。在大多數(shù)情況下,繼電器就是一個(gè)電磁鐵,這個(gè)電磁鐵的銜鐵可以閉合或斷開一個(gè)、數(shù)個(gè)觸點(diǎn)。當(dāng)電磁鐵的繞組中有電流通過時(shí),銜鐵被電磁鐵吸引,因而就改變了觸點(diǎn)的狀態(tài)。 繼電器也是感性器件,所以不能用單片機(jī)的I/O口直接控制,而且必須在三極管等控制器件上加反相保護(hù)電路。本設(shè)計(jì)中單片機(jī)通過P2.0引腳連接一只作為電子開關(guān)的PNP型三極管9012來驅(qū)動(dòng)繼電器,繼電器的開、關(guān)完全由三極管的基極電平進(jìn)行控制。當(dāng)P2.0為高電平時(shí),PNP型三極管截止,繼電器不工作反之P2.0為低電平時(shí),三極管導(dǎo)通,繼電器得電吸合。 圖 3.8 繼電器驅(qū)動(dòng)模塊設(shè)計(jì) 3.1.7 LED“模擬鎖”電路本次設(shè)計(jì)目的是密碼鎖,使用 LED 的亮滅兩種狀態(tài)代表鎖的開關(guān)狀態(tài),原理圖如圖: 圖 3.9 LED“模擬鎖”電路模塊設(shè)計(jì)
4 軟件設(shè)計(jì)
4.1系統(tǒng)主程序主程序是整個(gè)程序運(yùn)行的中心,單片機(jī)始終運(yùn)行在主程序中,單片機(jī)開始運(yùn)行后,對(duì)LCD1602液晶初始化,程序中用的的數(shù)據(jù)變量進(jìn)行初始 化,同時(shí)讀取 AT24C02 中保存的密碼及密碼標(biāo)志位,判斷是否需要密碼初始化等操作。再之后,為主函數(shù)的循環(huán)部分,這個(gè)部分是單片機(jī)一致循環(huán)運(yùn)行的程序,主要是矩陣按鍵的檢測(cè)和 LCD1602 的顯示刷新,關(guān)于密碼的相關(guān)函數(shù),是放在矩陣按鍵函數(shù)內(nèi)進(jìn)行處理的,因?yàn)橹挥形覀儼聪掳存I后,去判斷密碼才有實(shí)際作用,因此暫未體現(xiàn)在主函數(shù)中。主程序流圖如圖4.1所示: 圖4.1 主程序流程圖 4.1.1 初始化及按鍵識(shí)別系統(tǒng)的初始化包括堆棧起始地址的設(shè)定,兩個(gè)定時(shí)/計(jì)數(shù)器的設(shè)定,液晶顯示模式的設(shè)定,密碼緩沖區(qū)的初始化,一些自定義數(shù)據(jù)空間的初始化,蜂鳴器初始化發(fā)聲等操作。 如果AT24C02里沒有存儲(chǔ)密碼,或者讀取AT24C02失敗,則載入系統(tǒng)初始化密碼;如果AT24C02里有掉電存儲(chǔ)的密碼,則會(huì)讀出該密碼。 系統(tǒng)初始化并讀取密碼完成后,液晶顯示"Password:”,提示用戶可以輸入密碼。此時(shí)程序即不斷測(cè)試按鍵,檢査是否有按鍵被按下。如果有,則進(jìn)行按鍵識(shí)別:行列掃描法識(shí)別出的鍵位與對(duì)應(yīng)BUFF的值。 如果沒有按鍵按下,或者按下的按鍵沒有被識(shí)別,BUFF賦值0FFH,并跳轉(zhuǎn)至按鍵測(cè)試。實(shí)際程序運(yùn)行時(shí),絕大部分時(shí)間都在測(cè)試按鍵,等待用戶輸入。 圖4.2初始化及按鍵識(shí)別流程圖 4.1.2 按鍵重復(fù)位之所以要進(jìn)行按鍵重定位,是因?yàn)榘存I識(shí)別子程序的功能只限于確認(rèn)某個(gè)按鍵被按下,不包括確認(rèn)按鍵的意義。識(shí)別出的按鍵排列不符合用戶使用習(xí)慣,也不利于程序的后續(xù)處理,需要重新定位。對(duì)BUFF重新賦值,按鍵左3列仿照手機(jī)的9空格按鍵,便于用戶輸入密碼。根據(jù)不同的按鍵,程序跳轉(zhuǎn)至不同的程序段,進(jìn)行對(duì)應(yīng)按鍵處理,具體流程可見圖4.3。 程序開始時(shí),先驅(qū)動(dòng)蜂鳴器發(fā)聲0.1秒,提示用尸程序已經(jīng)檢測(cè)到剛才的按鍵。然后根據(jù)BUFF的初始值進(jìn)行一系列的對(duì)比。 如果BUFF的值是0,1,2,4,5,6,8,9,D中的一個(gè),則按鍵是屬于數(shù)字噩。分別將BUFF重賦值為1,2,3,4,5,6,7,8,9,0。然后程序跳轉(zhuǎn)至保存密碼部分,將數(shù)字密碼保存至密碼緩沖區(qū)。 圖4.3按鍵重復(fù)位流程圖 4.1.3 保存密碼該程序段的功能是將密碼信息保存至對(duì)應(yīng)的緩沖區(qū)。程序設(shè)置了一個(gè)16字節(jié)的密碼緩沖區(qū)(PS1~PS16)和一個(gè)16字節(jié)緩沖區(qū)存儲(chǔ)正確的密碼(AT1~AT16)°為便于比較,第一次輸入的密碼保存至PS1,第二次輸入的密碼保存至PS2,依此類推。后面沒有輸入的側(cè)充默認(rèn)值OFFH。 為保密起見,輸入的密碼不能在液晶顯示器上顯示出來,而以“*”號(hào)代替。每輸入一位密碼,增加一位星號(hào),便于用戶直觀察覺已經(jīng)輸入的密碼位數(shù)。 圖4.4保存密碼流程圖 4.1.4 改密鍵處理如圖4.1.6可以看出,改密鍵的處理流程跟開鎖鍵類似,都需檢査密碼i腳的標(biāo)志位只有PSW_F被置1才可以進(jìn)行改密。不同之處在于,如果密碼正確,程序會(huì)將新密碼第一次的標(biāo)志位PS_NEW1置位,這樣在下一次按確認(rèn)鍵時(shí),程序可以判別出此次輸入的密碼是新密碼第一次。
圖4.5 改密鍵處理流程圖 4.2 系統(tǒng)相關(guān)子程序4.2.1 按鍵識(shí)別子程序按鍵識(shí)別子程序的功能是行列掃描矩陣鍵盤并識(shí)別按鍵送入BUFF值,如圖 4.2.1所示。盡管進(jìn)入子程序的前提條件是按鍵檢測(cè)子程序檢測(cè)到有按鍵被按下,但掃描前仍再次調(diào)用按鍵檢測(cè)子程序:因?yàn)槿藶榘存I的速度再快也會(huì)持續(xù)幾十毫秒,遠(yuǎn)遠(yuǎn)低于程序的處理速度,所以若是用戶正常按下按鍵,此處的按鍵檢測(cè)子程序仍可檢測(cè)到。此處調(diào)用按鍵檢測(cè)子程序可以防止因按鍵抖動(dòng)產(chǎn)生的不必要識(shí)別。 圖4.6 按鍵識(shí)別子程序 4.2.2 液晶顯示子程序液晶顯示子程序在每次更新顯示內(nèi)容時(shí)都會(huì)被調(diào)用,其流程如圖4-2-2所示。 每次更新顯示內(nèi)容前,需清顯示清空LCD原先的顯示內(nèi)容,淸屏指令的指令碼為01H,即將P0口賦值01H,然后寫入指令寄存器IR。 LCD1602要顯示的內(nèi)容是根據(jù)其控制器內(nèi)置的字符碼表,事先列出要顯示的ASCII字符串。每次送一個(gè)字符的ASCII碼入P0口,然后寫入數(shù)據(jù)寄存器DR,最后將字符地址加一,LCD1602會(huì)將寫入的ASCII碼對(duì)應(yīng)的字符依次顯示出來。由于顯示字符串的長(zhǎng)度不盡相同,約定每串字符以00H結(jié)尾;程序檢測(cè)到字符碼為00H時(shí),即停止寫入,返回。LCD顯示的內(nèi)容在下次更新前會(huì)一直保持。 圖4.7 液晶顯示子程序 4.2.3 AT24C02子程序AT24C02的子程序包括從AT24C02中讀取信息和將信息寫入AT24C02,首先介紹AT24C02的讀程序。 如圖4.2.3所示,單片機(jī)作為主器件,發(fā)送起始信號(hào)和要尋址的從器件的地址:因?yàn)榇藭r(shí)即隨后的發(fā)送讀取地址操作都是單片機(jī)往AT24C02寫入控制信息,所以R/W要置0。本設(shè)計(jì)中只用一個(gè)AT24C02,從器件地址為0,對(duì)應(yīng)代碼為0A0H。AT24C02接收到信號(hào)后,發(fā)送應(yīng)答信號(hào)。單片機(jī)接收到應(yīng)答信號(hào)后,再發(fā)送要讀取信息在從器件上的地址:本設(shè)計(jì)中從0地址開始讀,則送00H。再次接收到從器件的應(yīng)答信號(hào)后,單片機(jī)重新發(fā)送起始信號(hào)和讀模式信號(hào),將R/W位置1,對(duì)應(yīng)代碼為0AIH.正式開始讀取信息。本設(shè)計(jì)中需要連續(xù)讀取16字節(jié)的信息,所以選擇連續(xù)讀方式即是單片機(jī)每接收到一字節(jié)的信息后,存入正確密碼緩沖區(qū)(AT1~AT16),然后產(chǎn)生一個(gè)應(yīng)答信號(hào),告知AT24C02要求更多的數(shù)據(jù)。當(dāng)單片機(jī)不發(fā)送應(yīng)答信號(hào)而發(fā)送停止信號(hào)時(shí)表示讀取結(jié)束。 圖4.8 讀AT24C02子程序流程圖 寫入AT24C02的子程序流程如圖4-2-3所示。單片機(jī)發(fā)送起始信號(hào),接著發(fā)送從器件AT24C02所在地址(OAOH)。這里與讀AT24C02子程序不同的是,從開始到結(jié)束都是單片機(jī)控制AT24C02寫入信息,所以R/W置1無需更改。對(duì)應(yīng)地址上的從器件AT24C02接收到地址信號(hào)后發(fā)送應(yīng)答信號(hào)。主器件在接收到應(yīng)答信號(hào)后,發(fā)送要寫入信息欲保存在從器件上的地址,本設(shè)計(jì)中從0地址開始保存,故地址為00H。單片機(jī)再次接收到從器件的應(yīng)答信號(hào)后即可開始寫入信息。本設(shè)計(jì)中采用字節(jié)寫模式,即AT24C02在每接收一個(gè)8位字節(jié)之后響應(yīng)一個(gè)應(yīng)答信號(hào),單片機(jī)在接收到應(yīng)答信號(hào)后認(rèn)為該字節(jié)成功寫入,便準(zhǔn)備下一字節(jié)的數(shù)據(jù)。直到所有數(shù)據(jù)發(fā)送完畢,單片機(jī)發(fā)送停止信號(hào),結(jié)束寫操作。 5 系統(tǒng)調(diào)試與驗(yàn)證5.1 系統(tǒng)仿真平臺(tái)及功能單片機(jī)應(yīng)用系統(tǒng)仿真平臺(tái)有兩個(gè)常用的工具軟件:Keil uVision4和Proteus 7.8。前者主要用于單片機(jī)C語言源程序的編輯、編譯、鏈接以及調(diào)試;后者主要用于單片機(jī)硬件電路原理的設(shè)計(jì)以及單片機(jī)應(yīng)用系統(tǒng)的硬、軟件聯(lián)合仿真調(diào)試。 1.單片機(jī)軟件仿真工具Keil C51 與匯編語言相比,C 語言在功能、結(jié)構(gòu)性、可讀性、可維護(hù)性上都具有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過匯編語言在使用C語言開發(fā),體會(huì)更加深刻。Keil uVision4是美國Keil Software公司推出的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng),它具有豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面,可以完成從工程建立和管理、編譯、鏈接、目標(biāo)代碼生成、軟件仿真調(diào)試等完整的開發(fā)流程。 利用Keil uVision4編譯后生成的代碼,在準(zhǔn)確性和效率方面都達(dá)到了較高的水平,是單片機(jī)C語言軟件開發(fā)的理想工具。尤其是在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語言的優(yōu)勢(shì)。 2.單片機(jī)原路圖作圖工具Altium Designer Altium Designer是原Protel軟件開發(fā)商Altium公司推出的一體化的電子產(chǎn)品開發(fā)系統(tǒng),主要運(yùn)行在Windows操作系統(tǒng)。這套軟件通過把原理圖設(shè)計(jì)、電路仿真、PCB繪制編輯、拓?fù)溥壿嬜詣?dòng)布線、信號(hào)完整性分析和設(shè)計(jì)輸出等技術(shù)的完美融合,為設(shè)計(jì) 者提供了全新的設(shè)計(jì)解決方案,使設(shè)計(jì)者可以輕松進(jìn)行設(shè)計(jì),熟練使用這一軟件使電路 設(shè)計(jì)的質(zhì)量和效率大大提高。ltium Designer除了全面繼承包括Protel 99SE、Protel DXP 在內(nèi)的先前一系列版本的功能和優(yōu)點(diǎn)外,還增加了許多改進(jìn)和很多高端功能。該平臺(tái)拓寬了板級(jí)設(shè)計(jì)的傳統(tǒng)界面,全面集成了FPGA設(shè)計(jì)功能和SOPC設(shè)計(jì)實(shí)現(xiàn)功能,從而允許工程設(shè)計(jì)人員能將系統(tǒng)設(shè)計(jì)中的FPGA與PCB設(shè)計(jì)及嵌入式設(shè)計(jì)集成在一起。由于Altium Designer在繼承先前Protel軟件功能的基礎(chǔ)上,綜合了FPGA設(shè)計(jì)和嵌入式系統(tǒng)軟件設(shè)計(jì)功能,Altium Designer對(duì)計(jì)算機(jī)的系統(tǒng)需求比先前的版本要高一些。 3.單片機(jī)硬件仿真工具Proteus 7.8 Proteus 7.8是英國Lab Center Electronics公司推出的用于仿真單片機(jī)及其外圍設(shè)備的EDA工具軟件。Proteus和Keil uVision4配合使用,可以在不需要硬件投入的情況下,完成單片機(jī)C語言應(yīng)用系統(tǒng)的仿真開發(fā),從而縮短實(shí)際系統(tǒng)的研發(fā)周期,降低開發(fā)成本。Proteus具有高級(jí)原理布圖。混合模式仿真(PROSPICE)、PCB設(shè)計(jì)以及自動(dòng)布線(ARES)等功能,Proteus的虛擬仿真技術(shù)(VSM)第一次真正實(shí)現(xiàn)了在物理原型出來之前對(duì)單片機(jī)應(yīng)用系統(tǒng)進(jìn)行設(shè)計(jì)開發(fā)和測(cè)試。 5.2 仿真調(diào)試1.開啟電路 點(diǎn)擊proteus軟件下方最左邊按鈕,使電路開始運(yùn)行,如圖5.3.1所示。圖5.3.2為電路運(yùn)行后狀態(tài),LCD1602液晶顯示出正確密碼(可以程序設(shè)計(jì)不顯示),右上角顯示的輸入密碼數(shù)字的個(gè)數(shù)。同時(shí) LED“鎖”沒有亮,代表處于上鎖狀態(tài)。 圖5.2.1電路運(yùn)行指示圖 圖5.2.2 開啟電路 2.輸入錯(cuò)誤密碼 通過矩陣按鍵,輸入數(shù)據(jù),會(huì)顯示在LCD液晶上,按C按鍵可以刪除上個(gè)輸入數(shù)字。連續(xù)輸入6個(gè)數(shù)后,按“#”系統(tǒng)自動(dòng)判斷密碼的對(duì)錯(cuò),如圖 5.3.3,輸入錯(cuò)誤密碼后,會(huì)提示密碼錯(cuò)誤,并提示點(diǎn)擊任意按鍵退出,返回輸入密碼界面,如圖 5.3.4,是點(diǎn)擊任意按鍵后,回到了主界面。 圖 5.2.3 輸入密碼錯(cuò)誤提示 3.輸入正確密碼 按鍵輸入123456后,LCD液晶會(huì)顯示密碼正確,同時(shí)LED“鎖”被打開,LED發(fā)光,如圖5.3.5所示。 圖5.2.5 輸入正確密碼提示 4.修改密碼 在開鎖狀態(tài)下,再次輸入正確的密碼并按下“#”(確認(rèn))鍵,此時(shí)聽到兩聲提示,輸入新的六位密碼并按“D”(重設(shè))鍵,再重復(fù)輸入一次新密碼并按“D”,會(huì)聽到兩聲提示音,表示重設(shè)密碼成功,內(nèi)部保存新密碼并存儲(chǔ)到AT24C02。(如兩次輸入的新密碼不一樣,則重設(shè)密碼失敗)。 圖 5.2.6 修改密碼界面 圖 5.2.7 修改密碼成功提示
附錄1 設(shè)計(jì)原理圖附錄2 設(shè)計(jì)仿真圖
以上內(nèi)容的Word格式文檔51黑下載地址(和網(wǎng)頁上一模一樣,不含仿真與程序):
|